
:root { --portal-line: var(--line, #22364d); }
.portal-main { width:min(1160px, calc(100% - 40px)); margin:0 auto; padding:clamp(44px,7vw,88px) 0 80px; }
.portal-intro { max-width:790px; margin:0 auto 34px; text-align:center; }
.portal-intro .eyebrow { justify-content:center; }
.portal-intro h1,.dashboard-welcome h1 { font-family:Manrope,sans-serif; font-size:clamp(2.2rem,5vw,4rem); line-height:1.08; letter-spacing:-.045em; margin:18px 0; }
.portal-intro p,.dashboard-welcome p { max-width:690px; margin:0 auto; color:var(--muted,#a8bbd2); font-size:1.06rem; line-height:1.7; }
.portal-points { display:flex; justify-content:center; flex-wrap:wrap; gap:10px 22px; margin-top:24px; color:var(--text,#eef5ff); font-weight:600; font-size:.9rem; }
.portal-points > span:first-letter { color:#53b8ff; }
.auth-card,.portal-card,.customer-id-card { background:var(--card,#0e2034); border:1px solid var(--portal-line); border-radius:22px; box-shadow:0 22px 70px rgba(0,0,0,.12); }
.auth-card { width:min(100%,560px); margin:0 auto; overflow:hidden; }
.auth-tabs { display:grid; grid-template-columns:1fr 1fr; padding:8px; gap:8px; background:rgba(70,130,190,.08); border-bottom:1px solid var(--portal-line); }
.auth-tab { background:transparent; color:var(--muted,#a8bbd2); border:0; border-radius:12px; padding:14px 10px; font:inherit; font-weight:700; cursor:pointer; }
.auth-tab.active { color:var(--text,#f2f7ff); background:#147fe5; box-shadow:0 8px 20px rgba(20,127,229,.2); }
.auth-panel { padding:clamp(22px,5vw,38px); }
.auth-panel h2,.portal-card h2 { font-family:Manrope,sans-serif; margin:0 0 8px; font-size:1.45rem; letter-spacing:-.025em; }
.auth-panel > p { color:var(--muted,#a8bbd2); line-height:1.55; margin:0 0 24px; }
.auth-panel form,.portal-form { display:grid; gap:10px; }
.auth-panel label,.portal-form label { font-size:.9rem; font-weight:700; margin-top:7px; }
.auth-panel input,.portal-form input,.portal-form select,.portal-form textarea { width:100%; min-width:0; border:1px solid #304963; background:var(--input-bg,#071426); color:var(--text,#eef5ff); border-radius:10px; padding:13px 14px; font:inherit; }
.auth-panel input:focus,.portal-form input:focus,.portal-form select:focus,.portal-form textarea:focus { outline:2px solid #3aa8ff; outline-offset:1px; }
.auth-panel small { color:var(--muted,#a8bbd2); line-height:1.55; }
.auth-submit { width:100%; margin-top:12px; }
.auth-foot { display:flex; gap:12px; align-items:flex-start; border-top:1px solid var(--portal-line); padding:18px 24px; color:var(--muted,#a8bbd2); font-size:.8rem; line-height:1.55; background:rgba(70,130,190,.06); }
.security-mark { color:#53b8ff; }
.consent-line { display:flex; gap:10px; align-items:flex-start; margin-top:15px!important; font-weight:500!important; line-height:1.55; }
.consent-line input { width:18px; height:18px; margin-top:3px; flex:0 0 auto; }
.privacy-link { margin:0!important; font-size:.85rem; }
.privacy-link a,.footer-bottom a { color:#59b8ff; }
.form-note { min-height:1.2em; color:var(--muted,#a8bbd2); font-size:.85rem; line-height:1.5; margin:8px 0 0; overflow-wrap:anywhere; }
.form-note.error,.portal-alert.error { color:#ffb4b4; }
.form-note.success,.portal-alert.success { color:#70e1b1; }
.account-nav { display:flex; align-items:center; gap:clamp(10px,2vw,24px); }
.account-nav button { cursor:pointer; }
.theme-toggle,.language-toggle { border:1px solid #29435d; border-radius:12px; padding:10px 13px; background:#10263d; color:var(--text,#eef5ff); font:inherit; font-weight:700; }
.dashboard-main { padding-top:52px; }
.dashboard-welcome { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:32px; }
.dashboard-welcome h1 { font-size:clamp(2rem,4vw,3.25rem); }
.dashboard-welcome p { margin:0; }
.customer-id-card { padding:20px 22px; min-width:240px; display:flex; flex-direction:column; gap:10px; }
.customer-id-card small { color:var(--muted,#a8bbd2); font-weight:700; letter-spacing:.08em; font-size:.68rem; }
.customer-id-card strong { color:#63bdff; font-size:1.22rem; letter-spacing:.035em; overflow-wrap:anywhere; }
.customer-id-card button { align-self:flex-start; }
.dashboard-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(270px,.85fr); gap:22px; align-items:start; }
.dashboard-main-column,.dashboard-side { display:grid; gap:22px; min-width:0; }
.portal-card { padding:clamp(20px,3vw,30px); min-width:0; }
.section-card-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:16px; }
.eyebrow-mini { display:block; color:#55b9ff; font-size:.7rem; letter-spacing:.12em; font-weight:800; margin-bottom:10px; }
.card-icon { color:#5bbcff; font-size:1.8rem; }
.muted { color:var(--muted,#a8bbd2); line-height:1.6; }
.portal-form { margin-top:20px; }
.portal-form textarea { resize:vertical; }
.portal-form button { margin-top:10px; }
.requests-list { display:grid; gap:12px; }
.request-item { border:1px solid var(--portal-line); border-radius:14px; padding:16px; background:rgba(90,150,210,.04); }
.request-item-top { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.request-item strong { overflow-wrap:anywhere; }
.request-item small { color:var(--muted,#a8bbd2); }
.request-item p { margin:10px 0 0; color:var(--muted,#a8bbd2); line-height:1.5; overflow-wrap:anywhere; }
.status-pill { display:inline-flex; border-radius:999px; padding:5px 10px; background:rgba(83,184,255,.13); color:#73c6ff; font-size:.75rem; font-weight:800; }
.profile-card { text-align:center; }
.profile-card .eyebrow-mini { text-align:left; }
.profile-avatar { width:64px; height:64px; border-radius:20px; display:grid; place-items:center; margin:14px auto; font:800 1.8rem Manrope,sans-serif; background:linear-gradient(145deg,#117be0,#55c4ff); color:white; box-shadow:0 12px 30px rgba(30,135,220,.25); }
.profile-card h2 { overflow-wrap:anywhere; }
.profile-card p { overflow-wrap:anywhere; margin:7px 0; }
.profile-footnote { border-top:1px solid var(--portal-line); margin-top:18px; padding-top:16px; color:var(--muted,#a8bbd2); font-size:.82rem; line-height:1.55; text-align:left; }
.button-full { width:100%; margin-top:16px; }
.safety-card h3 { margin:8px 0 12px; font-family:Manrope,sans-serif; }
.safety-card ul { padding-left:20px; margin-bottom:0; color:var(--muted,#a8bbd2); line-height:1.7; font-size:.88rem; }
.portal-alert { border:1px solid var(--portal-line); border-radius:12px; padding:14px 16px; margin:-8px 0 22px; line-height:1.5; }
[hidden] { display:none!important; }
:root[data-theme="light"] .auth-card,body.light-theme .portal-card,body.light-theme .customer-id-card { background:#fff; border-color:#d6e1ec; box-shadow:0 16px 42px rgba(26,55,85,.08); }
:root[data-theme="light"] .auth-panel input,body.light-theme .portal-form input,body.light-theme .portal-form select,body.light-theme .portal-form textarea { background:#f8fbff; color:#12253b; border-color:#cbd8e5; }
:root[data-theme="light"] .auth-tabs,body.light-theme .auth-foot { background:#f4f8fc; }
:root[data-theme="light"] .auth-tab { color:#4c6076; }
:root[data-theme="light"] .auth-tab.active { color:#fff; }
:root[data-theme="light"] .theme-toggle,body.light-theme .language-toggle { background:#f1f6fb; color:#172b42; border-color:#ccd9e6; }
:root[data-theme="light"] .request-item { background:#f8fbff; }
@media(max-width:800px) { .dashboard-welcome { align-items:stretch; flex-direction:column; } .customer-id-card { min-width:0; } .dashboard-grid { grid-template-columns:1fr; } .account-nav { gap:8px; } .account-nav>a:not(:last-child) { display:none; } }
@media(max-width:480px) { .portal-main { width:calc(100% - 26px); padding-top:34px; } .portal-points { align-items:flex-start; flex-direction:column; margin-left:12%; } .auth-panel { padding:22px 18px; } .customer-id-card { padding:17px; } .dashboard-welcome h1 { font-size:2rem; } }

.admin-status-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.admin-status-row select{flex:1;min-width:180px;border:1px solid #304963;background:var(--input-bg,#071426);color:var(--text,#eef5ff);border-radius:10px;padding:11px 12px;font:inherit}.admin-status-row button{cursor:pointer} :root[data-theme="light"] .admin-status-row select{background:#f8fbff;color:#12253b;border-color:#cbd8e5}
