:root{--navy:#0b2346;--navy2:#123968;--blue:#1769e8;--bg:#f5f7fb;--surface:#fff;--text:#18263a;--muted:#64748b;--line:#dce4ef;--danger:#c83a35;--shadow:0 14px 38px rgba(15,35,70,.08)}
html,body{background:var(--bg)!important;color:var(--text)}
body{min-height:100vh}.hero{display:none!important}
.top{height:72px;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);box-shadow:0 4px 18px rgba(15,35,70,.04);padding:0 clamp(16px,4vw,42px)}
.brand img{width:42px;height:42px}.brand b{font-size:18px}.brand small{font-size:12px}
main{max-width:1440px!important;padding:28px clamp(14px,3vw,32px) 54px!important}
#auth{max-width:980px;margin:22px auto 0!important;border-radius:22px;box-shadow:var(--shadow);padding:30px}
#auth h2{font-size:28px}.help-card{background:#f8fafc}
#portal{display:grid;grid-template-columns:250px minmax(0,1fr);gap:22px;align-items:start}
#portal>.portal-head{grid-column:2;margin:0 0 0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 20px;box-shadow:0 8px 24px rgba(15,35,70,.05)}
#portal>.cards{grid-column:1;grid-row:1/span 30;position:sticky;top:92px;display:flex!important;flex-direction:column;gap:7px;background:linear-gradient(180deg,var(--navy),#0d315f);border-radius:20px;padding:16px;min-height:calc(100vh - 124px);box-shadow:var(--shadow)}
#portal>.cards .card{padding:0;border:0;background:transparent;box-shadow:none;border-radius:12px;color:#fff}
#portal>.cards .card .icon{display:none}#portal>.cards .card h3{display:none}#portal>.cards .card p{display:none}
#portal>.cards .card button{width:100%;text-align:left;background:transparent;color:#dce9f8;border:0;padding:12px;border-radius:12px}
#portal>.cards .card button:hover,#portal>.cards .card button:focus{background:rgba(255,255,255,.12);color:#fff}
#portal>.drawer{grid-column:2;margin-top:16px!important;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 30px rgba(15,35,70,.05)}
#passwordSetup{grid-column:2}
.drawer h3{font-size:20px}.drawer>p{color:var(--muted)}
.messages{height:min(48vh,480px);min-height:300px;background:#f7f9fc;border:1px solid #e6ebf2}
.bubble{box-shadow:0 3px 9px rgba(15,35,70,.04)}
#chatForm{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(180px,220px) auto;gap:8px;align-items:end;margin-top:12px}
#chatForm input[type=file]{padding:9px;background:#fff}
#chatUploadStatus{grid-column:1/-1;margin:0!important;min-height:18px}
.file-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:10px;background:#edf4ff;color:#155cb8;font-weight:750;text-decoration:none}
.primary{background:var(--blue)!important}.outline{border-color:#c7d4e4!important;color:#205aa7!important}.danger{background:var(--danger)!important}
input,select,textarea{border-color:#cad5e2!important}input:focus,select:focus,textarea:focus{border-color:var(--blue)!important;box-shadow:0 0 0 3px rgba(23,105,232,.12)!important}
#staffPortal{display:grid;grid-template-columns:240px minmax(0,1fr);gap:22px;align-items:start}
#staffPortal>.portal-head{grid-column:2;margin:0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 20px;box-shadow:0 8px 24px rgba(15,35,70,.05)}
#staffPortal>.admin-nav{grid-column:1;grid-row:1/span 30;position:sticky;top:92px;display:flex!important;flex-direction:column;gap:7px;background:linear-gradient(180deg,var(--navy),#0d315f);border-radius:20px;padding:16px;min-height:calc(100vh - 124px);box-shadow:var(--shadow)}
#staffPortal>.admin-nav button{width:100%;text-align:left;background:transparent;color:#dce9f8;border:0;padding:12px;border-radius:12px}
#staffPortal>.admin-nav button.active,#staffPortal>.admin-nav button:hover{background:rgba(255,255,255,.12);color:#fff}
#staffPortal>.admin-tab{grid-column:2;margin-top:16px}
.tech-grid{grid-template-columns:minmax(300px,.8fr) minmax(0,1.5fr)!important}
.staff-ticket{width:100%;display:block;text-align:left;border:1px solid var(--line);background:#fff;border-radius:13px;padding:13px;margin:8px 0;cursor:pointer}
.staff-ticket:hover,.staff-ticket.active{border-color:#8ab2ef;background:#f7faff}
.staff-ticket strong,.staff-ticket small,.staff-ticket span{display:block}.staff-ticket small{color:var(--muted)}
.status-pill{display:inline-flex!important;width:auto;padding:3px 8px;border-radius:999px;background:#edf3fb;color:#315b8d;font-size:11px;font-weight:800;margin-top:7px}
#staffChatForm{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(170px,220px) auto;gap:8px;align-items:end;margin-top:12px}
#staffChatFile{padding:9px}#staffChatUploadStatus{grid-column:1/-1;margin:0;min-height:18px}
.empty-state{padding:24px;text-align:center;color:var(--muted);border:1px dashed #ced8e4;border-radius:14px}
@media(max-width:860px){#portal,#staffPortal{grid-template-columns:1fr}#portal>.portal-head,#portal>.drawer,#passwordSetup,#staffPortal>.portal-head,#staffPortal>.admin-tab{grid-column:1}#portal>.cards,#staffPortal>.admin-nav{grid-column:1;grid-row:auto;position:static;min-height:0;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}.tech-grid{grid-template-columns:1fr!important}#chatForm,#staffChatForm{grid-template-columns:1fr}#chatUploadStatus,#staffChatUploadStatus{grid-column:auto}}

/* Public login v11 */
.public-auth{max-width:980px!important;margin:42px auto 0!important;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)!important;gap:28px!important}
.public-auth>div:first-child{max-width:none!important}
.public-auth h2{margin:8px 0 6px!important;font-size:30px}
.login-card{background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:24px;align-self:start}
.login-card h3{font-size:22px;margin:8px 0 4px}.login-card p{color:var(--muted);margin-top:0}
.login-card .primary,.public-auth .primary{width:100%;margin-top:12px}
.public-auth .eyebrow,.login-card .eyebrow{color:#1769e8}
@media(max-width:760px){.public-auth{grid-template-columns:1fr!important;margin-top:18px!important;padding:20px!important}.login-card{padding:20px}}
