/* Shared login / register modal — AryanCAD theme */
.ac-auth-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 20, 0.48);
    backdrop-filter: blur(6px);
    z-index: 12000;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.ac-auth-overlay.is-open {
    display: flex;
}

.ac-auth-card {
    width: 100%;
    max-width: 420px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.22);
    direction: rtl;
    font-family: 'IRANSans', Tahoma, Arial, sans-serif;
    overflow: hidden;
}

.ac-auth-head {
    padding: 20px 22px 12px;
    border-bottom: 1px solid #eef2f0;
}

.ac-auth-head h2 {
    margin: 0 0 6px;
    font-size: 18px;
    color: #065f46;
}

.ac-auth-head p {
    margin: 0;
    font-size: 13px;
    color: #6b7280;
    line-height: 1.6;
}

.ac-auth-tabs {
    display: flex;
    gap: 8px;
    padding: 12px 22px 0;
}

.ac-auth-tab {
    flex: 1;
    border: 1px solid #d1fae5;
    background: #f0fdf4;
    color: #047857;
    border-radius: 10px;
    padding: 8px 10px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    font-family: inherit;
}

.ac-auth-tab.active {
    background: #059669;
    border-color: #059669;
    color: #fff;
}

.ac-auth-body {
    padding: 16px 22px 22px;
}

.ac-auth-field {
    margin-bottom: 12px;
}

.ac-auth-field label {
    display: block;
    margin-bottom: 5px;
    font-size: 12px;
    font-weight: 700;
    color: #374151;
}

.ac-auth-field input,
.ac-auth-field select {
    width: 100%;
    box-sizing: border-box;
    padding: 10px 12px;
    border: 1px solid #d1d5db;
    border-radius: 10px;
    font-size: 13px;
    font-family: inherit;
}

.ac-auth-field input:focus,
.ac-auth-field select:focus {
    outline: none;
    border-color: #059669;
    box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.15);
}

.ac-pass-wrap {
    position: relative;
}

.ac-pass-wrap input {
    padding-left: 42px;
}

.ac-pass-wrap input::-ms-reveal,
.ac-pass-wrap input::-ms-clear {
    display: none;
}

.ac-pass-toggle {
    position: absolute;
    left: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    border: none;
    background: transparent;
    color: #6b7280;
    cursor: pointer;
    display: inline-grid;
    place-items: center;
    border-radius: 8px;
    padding: 0;
    transition: color 0.15s ease, background-color 0.15s ease;
}

.ac-pass-toggle:hover {
    color: #059669;
    background: rgba(5, 150, 105, 0.08);
}

.ac-pass-toggle:focus-visible {
    outline: 2px solid #059669;
    outline-offset: 1px;
}

.ac-pass-toggle svg {
    display: block;
    grid-area: 1 / 1;
    pointer-events: none;
}

.ac-pass-toggle .ac-eye-off {
    display: none;
}

.ac-pass-toggle.is-shown .ac-eye-open {
    display: none;
}

.ac-pass-toggle.is-shown .ac-eye-off {
    display: block;
}

.ac-remember {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 6px 0 14px;
    font-size: 13px;
    font-weight: 500;
    color: #334155;
    cursor: pointer;
    user-select: none;
}

.ac-remember input {
    width: 17px;
    height: 17px;
    accent-color: #059669;
    cursor: pointer;
    margin: 0;
}

.ac-remember:hover span {
    color: #0f172a;
}

.ac-auth-msg {
    display: none;
    margin-bottom: 12px;
    padding: 8px 10px;
    border-radius: 8px;
    font-size: 12px;
}

.ac-auth-msg.error {
    display: block;
    background: #fef2f2;
    color: #b91c1c;
}

.ac-auth-msg.success {
    display: block;
    background: #ecfdf5;
    color: #047857;
}

.ac-auth-actions {
    display: flex;
    gap: 8px;
    margin-top: 8px;
}

.ac-auth-btn {
    flex: 1;
    border: none;
    border-radius: 10px;
    padding: 11px 12px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    font-family: inherit;
}

.ac-auth-btn.primary {
    background: #059669;
    color: #fff;
}

.ac-auth-btn.primary:disabled {
    opacity: 0.65;
    cursor: default;
}

.ac-auth-btn.ghost {
    background: #f3f4f6;
    color: #374151;
}

.ac-auth-link {
    display: block;
    width: 100%;
    margin-top: 12px;
    padding: 0;
    border: none;
    background: none;
    text-align: center;
    font-size: 12px;
    font-family: inherit;
    color: #059669;
    text-decoration: none;
    cursor: pointer;
}

.ac-auth-card.is-forgot .ac-auth-tabs {
    display: none;
}

.ac-auth-pane {
    display: none;
}

.ac-auth-pane.active {
    display: block;
}
/* Compact account forms use the hub's own surfaces, spacing and controls. */
.ac-auth-card { max-height: 92dvh; overflow-y: auto; scrollbar-width: thin; }
.ac-profile-overlay { z-index: 14000; padding: 16px; }
.ac-profile-card { max-width: 540px; }
.ac-auth-card.is-register { max-width: 420px; }
.ac-profile-card .ac-auth-head, .ac-auth-card.is-register .ac-auth-head { padding: 14px 18px 10px; }
.ac-profile-card .ac-auth-head h2, .ac-auth-card.is-register .ac-auth-head h2 { margin: 0; font-size: 16px; }
.ac-profile-card .ac-auth-body, .ac-auth-card.is-register .ac-auth-body { padding: 12px 18px 16px; }
.ac-auth-card.is-register .ac-auth-tabs { padding: 10px 18px 0; }
.ac-profile-fields { display: grid; gap: 10px; }
.ac-profile-row { display: flex; gap: 10px; align-items: flex-start; }
.ac-profile-row > * { flex: 1; min-width: 0; }
.ac-profile-card .ac-auth-field { margin: 8px 0; }
.ac-profile-fields .ac-auth-field, .ac-auth-card.is-register .ac-auth-field { margin: 0; }
.ac-profile-fields .ac-auth-field label, .ac-profile-card .ac-auth-field label, .ac-auth-card.is-register .ac-auth-field label { margin: 0 0 4px; font-size: 11px; line-height: 16px; font-weight: 500; }
.ac-profile-fields input:not([type=checkbox]):not([type=radio]), .ac-profile-card .ac-auth-field input, .ac-auth-card.is-register .ac-auth-field input, .ac-auth-card.is-register .ac-auth-field select {
    height: 38px; padding: 7px 10px; border-radius: 7px; font-size: 12px; line-height: 20px;
}
.ac-field-note { color: var(--hub-muted, #777); font-size: 10px; font-weight: 400; margin-inline-start: 4px; }
.ac-profile-hint { margin: 0; font-size: 11px; line-height: 1.6; color: var(--hub-muted, #6b7280); }
.ac-profile-check { display: flex; gap: 7px; align-items: center; align-self: flex-end; min-height: 38px; margin: 20px 0 0; padding: 0 8px; border: 1px solid var(--hub-line-2, #d1d5db); border-radius: 7px; font-size: 11px; cursor: pointer; }
.ac-profile-check input { width: 15px; height: 15px; flex: 0 0 15px; margin: 0; accent-color: #0d66d0; }
.ac-license-row > .ac-auth-field { flex: 1.35; }
.ac-profile-kind { border: 0; padding: 0; margin: 0; font-size: 11px; }
.ac-profile-kind legend { padding: 0; margin-bottom: 4px; line-height: 16px; color: var(--hub-muted, #6b7280); }
.ac-profile-segment { display: flex; height: 38px; padding: 3px; gap: 3px; background: var(--hub-search, #f3f4f6); border: 1px solid var(--hub-line-2, #d1d5db); border-radius: 7px; }
.ac-profile-segment label { position: relative; display: flex; flex: 1; margin: 0; cursor: pointer; }
.ac-profile-segment input { position: absolute; width: 1px; height: 1px; opacity: 0; margin: 0; }
.ac-profile-segment span { display: grid; place-items: center; width: 100%; border-radius: 4px; color: var(--hub-muted, #6b7280); font-size: 11px; }
.ac-profile-segment input:checked + span { background: var(--hub-active, #e2ebfa); color: var(--hub-text-strong, #0d66d0); box-shadow: 0 1px 3px #0002; }
.ac-profile-segment input:focus-visible + span { outline: 2px solid #0d66d0; outline-offset: 1px; }
.ac-profile-address { position: relative; }
.ac-profile-address textarea { display: block; box-sizing: border-box; width: 100%; min-height: 58px; max-height: 120px; padding: 8px 10px; padding-inline-end: 48px; border: 1px solid #d1d5db; border-radius: 7px; font: inherit; font-size: 12px; line-height: 20px; resize: vertical; }
.ac-office-open { position: absolute; inset-inline-end: 6px; top: 9px; display: grid; place-items: center; width: 34px; height: 34px; padding: 6px; border-radius: 5px; }
.ac-profile-region .ac-auth-field label { font-size: 10px; margin-bottom: 3px; }
.ac-profile-region input[readonly] { height: 32px; padding: 5px 9px; color: var(--hub-muted, #6b7280); cursor: default; }
.ac-office-status { margin-top: -4px; }
.ac-office-region-inline { display: flex; gap: 7px; align-items: center; min-height: 34px; padding: 7px 9px; border: 1px solid var(--hub-line-2, #d1d5db); border-radius: 7px; color: var(--hub-muted, #6b7280); font-size: 11px; background: var(--hub-search, #f7f7f8); }
.ac-office-region-label { flex: 0 0 auto; color: var(--hub-text, #333); font-weight: 600; }
.ac-profile-fields [hidden] { display: none !important; }
#acRegisterStep1 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
#acRegisterStep1 > .ac-profile-fields, #acRegisterStep1 > .ac-auth-actions { grid-column: 1 / -1; }
#acRegisterStep1 > .ac-profile-fields { order: 0; }
#acRegisterStep1 > .ac-profile-row { grid-column: 1 / -1; }
#acRegisterStep1 > .ac-auth-field:has(#acRegPassword), #acRegisterStep1 > .ac-auth-field:has(#acRegConfirm) { grid-column: 1 / -1; }
#acRegisterStep1 > .ac-auth-field:has(#acRegPhone) { order: 2; }
#acRegisterStep1 > .ac-auth-field:has(#acRegPassword) { order: 4; }
#acRegisterStep1 > .ac-auth-field:has(#acRegConfirm) { order: 5; }
#acRegisterStep1 > .ac-auth-actions { order: 6; margin-top: 2px; }
.ac-register-reward { margin-bottom: 12px; padding: 10px 12px; border: 1px solid #d7e7ff; border-radius: 8px; background: #f4f8ff; }
.ac-register-reward-title { margin: 0 0 3px; color: #0d66d0; font-size: 13px; font-weight: 700; }
.ac-register-section-title { margin: 0 0 9px; color: var(--hub-text, #222); font-size: 13px; font-weight: 700; }
.ac-profile-check b, .ac-auth-field label b { color: #d83a3a; }
#acRegisterStep3 .ac-profile-names { display: none; }
#acRegisterStep3 .ac-profile-identity > .ac-auth-field { display: none; }
#acRegisterStep3 .ac-profile-identity { display: none; }
#acRegisterStep3 .ac-profile-check { margin-top: 0; }
#acRegisterStep3 .ac-profile-fields { gap: 10px; }
#acRegisterStep3 .ac-auth-actions { margin-top: 12px; }
.ac-auth-card.is-register .ac-pass-wrap input { padding-left: 40px; }
.ac-profile-card .ac-auth-btn { padding: 9px 12px; border-radius: 7px; font-size: 12px; }
.ac-profile-card .ac-auth-actions { align-items: center; gap: 8px; margin-top: 10px; }
.ac-profile-card .ac-auth-actions > .ac-auth-link { flex: 1; width: auto; margin: 0; padding: 9px 12px; }
.ac-profile-card .ac-auth-actions > .ac-auth-btn { min-width: 120px; }
.ac-profile-card .ac-auth-body > .ac-profile-hint { margin: 8px 0; }
.ac-profile-card #acEditMessage:empty { display: none; }
.ac-profile-card #acEditMessage { margin: 8px 0; font-size: 12px; line-height: 1.6; }
.ac-map-search { box-sizing: border-box; width: 100%; height: 38px; padding: 7px 10px; border: 1px solid #d1d5db; border-radius: 7px; font: inherit; font-size: 12px; }
.ac-map-find { flex: 0 0 auto; }
.ac-office-map { position: relative; height: 300px; direction: ltr; overflow: hidden; background: #ddd; border-radius: 8px; touch-action: none; cursor: crosshair; }
.ac-office-map > img { position: absolute; width: 256px; height: 256px; max-width: none; user-select: none; pointer-events: none; }
.ac-map-pin { position: absolute; transform: translate(-50%, -100%); color: #e44343; cursor: grab; z-index: 2; }
.ac-map-pin svg { width: 36px; height: 42px; fill: #fff; filter: drop-shadow(0 2px 3px #555); }
.ac-map-controls { display: flex; gap: 6px; margin-top: 8px; }
.ac-map-message { margin: 6px 0; font-size: 11px; line-height: 1.6; }
.ac-map-message:empty { display: none; }
.ac-map-result { display: block; width: 100%; border: 0; border-bottom: 1px solid var(--hub-line-2, #bbb); padding: 8px; text-align: right; background: transparent; color: inherit; font: inherit; font-size: 12px; cursor: pointer; }
.ac-map-results { max-height: 130px; overflow-y: auto; margin: 6px 0; }
.ac-map-results:empty { margin: 4px 0; }
.ac-profile-card a { color: #2784e9; }
body.hub-app .ac-auth-card textarea { background: var(--hub-search); border-color: var(--hub-line-2); color: var(--hub-text); }
body.hub-app .ac-profile-card { background: var(--hub-surface); color: var(--hub-text); }
body.hub-app .ac-profile-card .ac-auth-head { border-color: var(--hub-line-2); }
body.hub-app .ac-profile-card .ac-auth-head h2 { color: var(--hub-text-strong); }
body.hub-app .ac-profile-card .ac-auth-field label { color: var(--hub-muted); }
body.hub-app .ac-profile-card input:not([type=checkbox]):not([type=radio]), body.hub-app .ac-profile-card textarea { background: var(--hub-search); border-color: var(--hub-line-2); color: var(--hub-text); }
body.hub-app .ac-profile-card .ac-auth-btn.ghost { background: var(--hub-surface-2); color: var(--hub-text); }
body.hub-app .ac-profile-card .ac-office-open { background: var(--hub-active); }
 .ac-profile-sms { align-items: flex-end; margin: 8px 0; }
.ac-profile-sms .ac-auth-field { margin: 0; }
.ac-profile-sms #acEditSms { flex: 0 0 auto; height: 38px; padding: 7px 14px; }
#acEditCode { direction: ltr; text-align: center; letter-spacing: 3px; }
#acEditCode::placeholder { letter-spacing: normal; }
@media(max-width: 480px) {
    .ac-profile-overlay { padding: 10px; }
    .ac-profile-row { gap: 8px; }
    .ac-profile-fields, #acRegisterStep1 { gap: 9px; }
    .ac-profile-card .ac-auth-body, .ac-auth-card.is-register .ac-auth-body { padding: 10px 14px 14px; }
    .ac-profile-card .ac-auth-head, .ac-auth-card.is-register .ac-auth-head { padding: 12px 14px 9px; }
    .ac-auth-card.is-register .ac-auth-tabs { padding: 8px 14px 0; }
    .ac-profile-check { font-size: 10px; gap: 5px; padding: 0 6px; }
    .ac-office-map { height: 260px; }
}
/* Account dialogs inherit the app typography, including native form controls. */
body.hub-app .ac-auth-card, .ac-profile-overlay .ac-auth-card { font-family: inherit; }
.ac-profile-overlay button, .ac-profile-overlay input, .ac-profile-overlay textarea, .ac-profile-overlay select,
body.hub-app .ac-auth-card button, body.hub-app .ac-auth-card input, body.hub-app .ac-auth-card textarea, body.hub-app .ac-auth-card select { font-family: inherit; }
.ac-profile-card [hidden] { display: none !important; }
.ac-profile-card .ac-otp-field { margin: 18px 0; }
.ac-otp-digits { display: grid; grid-template-columns: repeat(var(--otp-count), minmax(0, 1fr)); gap: 7px; width: 100%; max-width: calc(var(--otp-count) * 46px + (var(--otp-count) - 1) * 7px); margin: 10px auto; direction: ltr; }
.ac-auth-card .ac-otp-digits > input { box-sizing: border-box; width: 100%; min-width: 0; height: 46px; padding: 0; border: 1px solid var(--hub-line-2, #d1d5db); border-radius: 7px; font-size: 20px; text-align: center; direction: ltr; background: var(--hub-search, #f9fafb); color: var(--hub-text, #222); }
.ac-auth-card .ac-otp-digits > input:focus { border-color: #0d66d0; outline: none; box-shadow: 0 0 0 2px #0d66d026; }
.ac-profile-card #acEditVerifyMessage { margin: 10px 0; font-size: 12px; line-height: 1.7; }
.ac-profile-card .ac-profile-region input:disabled { opacity: .8; -webkit-text-fill-color: var(--hub-muted, #6b7280); }
.ac-profile-fields input:disabled,.ac-profile-fields textarea:disabled,.ac-profile-fields select:disabled { background:#f3f4f6; color:#6b7280; -webkit-text-fill-color:#6b7280; opacity:1; cursor:not-allowed; }
.ac-profile-fields button:disabled { opacity:.55; cursor:not-allowed; }
.ac-edit-access-request { display:grid; gap:10px; margin-top:16px; }
.ac-edit-access-request textarea { width:100%; padding:10px 12px; border:1px solid #d1d5db; border-radius:10px; font:inherit; resize:vertical; }
.ac-edit-access-request textarea.ac-field-invalid { border-color:#dc2626; }

/* Account editor keeps status and actions visible while only its fields scroll. */
.ac-profile-card.ac-profile-editor { display:flex; flex-direction:column; max-height:calc(100dvh - 32px); overflow:hidden; }
.ac-profile-editor > .ac-auth-head { flex:0 0 auto; }
.ac-profile-editor > .ac-auth-body { flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.ac-profile-editor .ac-profile-footer { flex:0 0 auto; padding:12px 18px; border-top:1px solid #e5e7eb; background:#fff; }
.ac-profile-editor .ac-profile-footer .ac-auth-actions { margin:0; }
.ac-profile-editor [hidden] { display:none !important; }
.ac-profile-editor .ac-profile-footer .ac-auth-btn { min-width:0; border:1px solid transparent; }
.ac-profile-editor .ac-profile-footer .ac-auth-btn.ghost { border-color:#d1d5db; background:#f3f4f6; color:#374151; }
.ac-profile-editor .ac-profile-footer .ac-auth-btn:disabled { opacity:.5; cursor:default; }
.ac-profile-editor .ac-auth-head .ac-identity-note { margin:8px 0 0; padding:8px 10px; border:1px solid rgba(59,130,246,.25); border-radius:9px; background:rgba(59,130,246,.08); color:#2563eb; font-size:12px; line-height:1.7; }
.ac-profile-editor .ac-auth-head .ac-identity-note.is-rejected { background:rgba(239,68,68,.08); color:#ef4444; }
.ac-access-label { display:block; margin-bottom:8px; font-size:13px; font-weight:600; }
.ac-access-dialog textarea { box-sizing:border-box; width:100%; min-height:120px; resize:vertical; padding:12px; border:1px solid #d1d5db; border-radius:10px; font:inherit; line-height:1.8; }
body.hub-app .ac-profile-editor .ac-profile-footer { background:var(--hub-card); border-color:var(--hub-line-2); }
body.hub-app .ac-profile-editor .ac-profile-footer .ac-auth-btn.ghost { background:var(--hub-surface); color:var(--hub-text-strong); border-color:var(--hub-line-2); }
body.hub-app .ac-access-dialog textarea { background:var(--hub-surface); color:var(--hub-text-strong); border-color:var(--hub-line-2); }
.ac-access-dialog textarea.ac-field-invalid { border-color:#ef4444; }
.ac-profile-editor .ac-profile-footer .ac-auth-actions { flex-wrap:wrap; }
.ac-profile-editor .ac-profile-footer .ac-auth-actions > .ac-auth-link { flex-basis:100%; padding:6px; }
@media (max-width:600px) { .ac-profile-editor .ac-profile-footer { padding:10px 14px; } }
.ac-office-map { user-select: none; -webkit-user-select: none; overscroll-behavior: contain; }
@media(max-width:480px) { .ac-otp-digits { gap: 5px; } .ac-auth-card .ac-otp-digits > input { height: 42px; font-size: 18px; } }
.ac-license-employment { display: grid; gap: 6px; margin-top: 9px; }
.ac-profile-fields .ac-license-employment select { box-sizing: border-box; width: 100%; min-width: 0; height: 38px; padding: 7px 9px; border-radius: 7px; font: inherit; font-size: 11px; }
.ac-license-status { margin: 0; }
.ac-profile-fields input[name="engineering_license"] { direction: ltr; text-align: left; }
body.hub-app .ac-profile-card select { background: var(--hub-search); border-color: var(--hub-line-2); color: var(--hub-text); }
.ac-signature-field { margin-top: 12px; }
.ac-signature-preview { display: block; width: 100%; max-width: 320px; aspect-ratio: 70 / 44; background: white; border: 1px solid #dbe2e8; border-radius: 12px; margin: 8px auto; }
.ac-profile-overlay .ac-auth-card.ac-signature-card { max-width: 780px; width: min(780px, calc(100vw - 24px)); }
.ac-signature-canvas { width: 100%; height: min(62dvh, 560px); background: #fff; border: 1px solid #dbe2e8; border-radius: 12px; overflow: hidden; touch-action: none; user-select: none; cursor: crosshair; }
.ac-signature-canvas svg { display: block; width: 100%; height: 100%; pointer-events: none; }
.ac-signature-canvas, .ac-signature-canvas * { user-select: none !important; -webkit-user-select: none !important; -webkit-touch-callout: none; }
.ac-signature-canvas.is-free-drawing { outline: 2px solid #3b82f6; }
.ac-signature-canvas.is-panning { cursor: grabbing; }
.ac-signature-card .ac-auth-head { display: flex; align-items: center; gap: 10px; padding: 12px 16px; flex-wrap: wrap; }
.ac-signature-card .ac-auth-head h2 { margin: 0; }
.ac-signature-tools { display: flex; gap: 5px; margin-inline-start: auto; }
.ac-signature-tools .ac-auth-btn { flex: 0 0 auto; min-width: 30px; padding: 6px 8px; font-size: 11px; margin: 0; }
.ac-signature-field [hidden] { display: none !important; }
@media (max-width: 600px) { .ac-signature-card .ac-auth-body { padding: 10px; } .ac-signature-card .ac-auth-head { padding: 10px; gap: 6px; } .ac-signature-card .ac-auth-head h2 { font-size: 13px; } .ac-signature-tools .ac-auth-btn { padding: 5px; font-size: 10px; } .ac-signature-canvas { border-radius: 8px; } }
.ac-auth-card .ac-form-message { color: #dc2626; margin: 6px 0 0; font-size: 12px; line-height: 1.6; }
.ac-auth-card .ac-form-message.success { color: #15803d; }
.ac-auth-card input.ac-field-invalid, .ac-auth-card textarea.ac-field-invalid, .ac-auth-card button.ac-field-invalid { border-color: #dc2626 !important; box-shadow: 0 0 0 1px #dc262620; }
.ac-auth-card input.ac-field-valid, .ac-auth-card textarea.ac-field-valid, .ac-auth-card button.ac-field-valid { border-color: #16a34a !important; box-shadow: 0 0 0 1px #16a34a20; }
.ac-required-star { color: #dc2626; }
.ac-signature-card .ac-signature-message { flex-basis: 100%; color: #dc2626; margin: 0; }
#acAuthOverlay .ac-auth-card { display: flex; flex-direction: column; max-height: min(92dvh, calc(100dvh - 40px)); overflow: hidden; }
#acAuthOverlay .ac-auth-head, #acAuthOverlay .ac-auth-tabs { flex: 0 0 auto; }
#acAuthOverlay .ac-auth-body { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; padding: 0; overflow: hidden; }
#acAuthOverlay .ac-auth-pane.active, #acAuthOverlay .ac-auth-step-panel { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; gap: 0; overflow: hidden; }
#acAuthOverlay .ac-auth-step-panel[hidden] { display: none; }
#acAuthOverlay .ac-auth-pane.ac-auth-step-panel:not(.active) { display: none; }
#acAuthOverlay .ac-auth-fields-scroll { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; padding: 16px 22px 12px; }
#acAuthOverlay .ac-auth-footer { flex: 0 0 auto; padding: 10px 22px 16px; border-top: 1px solid var(--hub-line-2, #eef2f0); }
#acAuthOverlay .ac-auth-footer .ac-auth-actions { margin: 0; }
#acAuthOverlay #acRegisterStep1 > .ac-auth-fields-scroll { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
#acAuthOverlay #acRegisterStep1 > .ac-auth-fields-scroll > .ac-profile-row,
#acAuthOverlay #acRegisterStep1 > .ac-auth-fields-scroll > .ac-auth-field:has(#acRegPassword),
#acAuthOverlay #acRegisterStep1 > .ac-auth-fields-scroll > .ac-auth-field:has(#acRegConfirm) { grid-column: 1 / -1; }
@media (max-width: 600px) {
    #acAuthOverlay .ac-auth-fields-scroll { padding: 10px 14px; }
    #acAuthOverlay .ac-auth-footer { padding: 10px 14px 14px; }
}
.ac-auth-card .ac-auth-head .ac-form-message.error,
.ac-auth-card .ac-auth-head .ac-signature-message { color: #ef4444 !important; }
.ac-identity-note { margin: 0 0 10px; padding: 9px; border: 1px solid #eab308; border-radius: 8px; font-size: 12px; line-height: 1.7; color: var(--hub-text, #333); }
.ac-identity-note.is-rejected { border-color: #ef4444; color: #ef4444; }
