:root{--bg:#030812;--panel:#071426;--line:#173354;--blue:#079cff;--cyan:#22d3ee;--text:#f4f8ff;--muted:#91a4bd}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 50% 0,#0a2444 0,#030812 38%,#02050b 100%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;min-height:100vh}.topbar{height:72px;padding:0 clamp(18px,5vw,72px);display:flex;align-items:center;border-bottom:1px solid #153252;background:#030812d9;backdrop-filter:blur(14px);position:sticky;top:0;z-index:20}.brand-mark{width:46px;height:46px;object-fit:cover;border-radius:10px}.brand-copy{display:flex;flex-direction:column;margin-left:12px}.brand-copy strong{letter-spacing:.16em}.brand-copy span{font-size:11px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.menu{margin-left:auto;background:none;border:0;color:white;font-size:24px}.hero{text-align:center;min-height:690px;padding:54px 20px 72px;display:flex;flex-direction:column;align-items:center;justify-content:center}.hero-logo{width:min(460px,78vw);max-height:270px;object-fit:contain;mix-blend-mode:screen}.eyebrow{color:#27b8ff;font-size:12px;font-weight:800;letter-spacing:.28em;margin:22px 0 12px}.hero h1{font-size:clamp(42px,7vw,82px);line-height:.96;letter-spacing:-.05em;margin:0}.hero h1 span{background:linear-gradient(90deg,#eaf7ff,#2fbaff);-webkit-background-clip:text;color:transparent}.intro{max-width:670px;color:#a8b8cc;font-size:18px;line-height:1.7;margin:24px auto}.actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.actions button,.roles button{border-radius:9px;padding:14px 22px;font-weight:800;cursor:pointer}.primary{background:linear-gradient(135deg,#057be8,#16c6f4);color:#fff;border:1px solid #41d5ff;box-shadow:0 0 30px #008cff3d}.secondary{background:#0a1626;color:#dcecff;border:1px solid #27435f}.status-panel,.modules{max-width:1180px;margin:0 auto;padding:72px 24px}.status-panel{border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px}.section-heading .eyebrow{margin-top:0}.section-heading h2,.modules h2{font-size:clamp(28px,4vw,42px);margin:0}.live{font-size:11px;letter-spacing:.13em;color:#91f7c3}.live i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#39e58c;box-shadow:0 0 12px #39e58c;margin-right:8px}.stats,.module-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:34px}.stats article,.module-grid article{background:linear-gradient(145deg,#0a192b,#050d18);border:1px solid #173653;border-radius:14px;padding:24px}.stats span{color:#a9b8c9;font-size:13px}.stats strong{display:block;font-size:36px;margin:10px 0}.stats small{color:#667c96}.module-grid b{color:#1ab8ff;font-size:12px}.module-grid h3{font-size:20px}.module-grid p{color:#879bb2;line-height:1.55;font-size:14px}.modal{position:fixed;inset:0;background:#01050bd9;backdrop-filter:blur(12px);z-index:50;display:grid;place-items:center;padding:20px}.modal[hidden]{display:none}.modal-card{position:relative;width:min(520px,100%);background:#07111f;border:1px solid #24517a;border-radius:20px;padding:34px;text-align:center;box-shadow:0 0 80px #0077ff2e}.modal-logo{width:105px;height:105px;object-fit:cover;border-radius:18px}.close{position:absolute;right:18px;top:12px;border:0;background:none;color:#91a4bd;font-size:30px;cursor:pointer}.roles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0}.roles button{background:#0b1b2e;border:1px solid #234d73;color:white}.roles button:first-child{border-color:#1baeff;box-shadow:inset 0 0 20px #0876d929}.coming{font-size:12px;color:#71869e}footer{max-width:1180px;margin:30px auto 0;padding:28px 24px 40px;border-top:1px solid #10263e;color:#637991;font-size:12px;display:flex;justify-content:space-between}@media(max-width:760px){.brand-copy span{display:none}.hero{min-height:620px;padding-top:35px}.hero-logo{width:90vw}.stats,.module-grid{grid-template-columns:1fr 1fr}.section-heading{align-items:start;flex-direction:column}.roles{grid-template-columns:1fr}footer{flex-direction:column;gap:8px}}@media(max-width:430px){.stats,.module-grid{grid-template-columns:1fr}.hero h1{font-size:44px}.intro{font-size:16px}.actions{width:100%}.actions button{width:100%}}
/* Theme control */
.theme-toggle{margin-left:auto;margin-right:10px;width:58px;height:34px;border:1px solid #284d70;border-radius:18px;background:#081524;color:#d9e9f7;display:flex;align-items:center;justify-content:space-around;cursor:pointer;padding:3px;font-size:15px}.theme-toggle .moon{background:#126fc0;color:#fff;width:26px;height:26px;border-radius:50%;display:grid;place-items:center}.theme-toggle .sun{width:22px;text-align:center;color:#728ba4}body.light{--text:#132b43;--muted:#58738c;background:#dce7ef;color:#132b43;background-image:linear-gradient(#7898ae20 1px,transparent 1px),linear-gradient(90deg,#7898ae18 1px,transparent 1px)}body.light .topbar{background:linear-gradient(180deg,#eef4f8f2,#d4e1eaf2);border-color:#9eb6c8;box-shadow:0 8px 30px #24435b24}body.light .brand-copy strong{color:#102a43}body.light .brand-copy span{color:#526e85}body.light .hero{background:radial-gradient(ellipse at 50% 16%,#eaf4fa 0,#c9dbe7 50%,#b9cedc 100%);border-color:#9fb9ca}body.light .hero h1{color:#102a43;text-shadow:0 1px #fff}body.light .hero h1 span{background:linear-gradient(90deg,#183f62,#087fc5);-webkit-background-clip:text;color:transparent}body.light .intro{color:#49677f}body.light .eyebrow{color:#087fbe}body.light .primary{box-shadow:0 5px 20px #087fc538}body.light .secondary{background:linear-gradient(145deg,#eef5f9,#cbdce7);color:#183852;border-color:#91acbf;box-shadow:inset 0 1px #fff}body.light .status-panel,body.light .modules{color:#102a43}body.light .stats article,body.light .module-grid article{background:linear-gradient(145deg,#eef4f8,#c7d8e3);border-color:#9db6c8;box-shadow:inset 0 1px #fff,0 8px 22px #36566c16}body.light .stats span,body.light .module-grid p{color:#506c83}body.light .stats small{color:#71889b}body.light .module-grid h3{color:#17334c}body.light .theme-toggle{background:linear-gradient(145deg,#edf4f8,#c8d9e4);border-color:#91acbf;box-shadow:inset 0 1px #fff}body.light .theme-toggle .sun{background:linear-gradient(145deg,#ffd86a,#dba129);color:#fff;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;box-shadow:0 2px 8px #8e6b2440}body.light .theme-toggle .moon{background:transparent;color:#5c758a}body.light .modal-card{background:linear-gradient(145deg,#edf4f8,#c8d9e4);border-color:#8faec4;color:#102a43}body.light .roles button{background:#d7e5ee;border-color:#91afc4;color:#183852}body.light footer{color:#526e85;border-color:#9fb8c9}
.hero-logo-wrap{display:block;width:min(460px,78vw)}.hero-logo-wrap .hero-logo{width:100%;max-height:270px}body.light .hero-logo{mix-blend-mode:normal;filter:none}@media(max-width:760px){.hero-logo-wrap{width:90vw}}

/* Company account onboarding */
.onboarding-card{width:min(720px,100%);text-align:left;max-height:92vh;overflow:auto}.onboarding-card .modal-logo{display:block;margin:0 auto}.onboarding-card>.eyebrow,.onboarding-card>h2,.onboarding-card>.form-intro{text-align:center}.form-intro{color:var(--muted);line-height:1.55;margin:8px auto 24px;max-width:540px}.account-form{display:grid;gap:16px}.account-form label{display:grid;gap:7px;color:#c6d6e6;font-size:12px;font-weight:700;letter-spacing:.04em}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.account-form input:not([type=radio]):not([type=checkbox]){width:100%;border:1px solid #244765;border-radius:9px;background:#06111f;color:#f4f8ff;padding:13px 14px;font:inherit;outline:none}.account-form input:focus{border-color:#18aef0;box-shadow:0 0 0 3px #079cff1c}.account-form fieldset{border:0;padding:0;margin:3px 0}.account-form legend{font-size:12px;font-weight:800;color:#c6d6e6;margin-bottom:9px}.role-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px}.role-choice label{display:flex;align-items:flex-start;gap:10px;padding:14px;border:1px solid #244765;border-radius:11px;background:#081727;cursor:pointer}.role-choice input{margin-top:3px;accent-color:#079cff}.role-choice span{display:grid;gap:4px}.role-choice small{color:#8298ad;font-weight:400;line-height:1.4}.terms{display:flex!important;grid-template-columns:none!important;align-items:center;gap:9px!important;color:#8fa5b9!important;font-weight:500!important}.terms input{accent-color:#079cff}.form-submit{width:100%;border-radius:9px;padding:14px 22px;font-weight:800;cursor:pointer}.onboarding-card>.coming{text-align:center;margin-bottom:0}body.light .account-form label,body.light .account-form legend{color:#27465f}body.light .account-form input:not([type=radio]):not([type=checkbox]){background:#edf4f8;color:#132b43;border-color:#9db6c8}body.light .role-choice label{background:#d6e4ed;border-color:#9db6c8}body.light .role-choice small{color:#58738c}body.light .terms{color:#58738c!important}@media(max-width:620px){.onboarding-card{padding:28px 20px}.field-row,.role-choice{grid-template-columns:1fr}}

/* Company details onboarding */
.onboarding-step[hidden]{display:none}.step-heading{text-align:left;border-bottom:1px solid #18344e;padding-bottom:14px;margin-bottom:2px}.step-heading .eyebrow{margin-bottom:6px}.step-heading h3{margin:0 0 6px;font-size:22px}.step-heading p:last-child{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.optional{font-weight:400;color:#71889b;letter-spacing:0}.account-form select{width:100%;border:1px solid #244765;border-radius:9px;background:#06111f;color:#f4f8ff;padding:13px 14px;font:inherit;outline:none}.account-form select:focus{border-color:#18aef0;box-shadow:0 0 0 3px #079cff1c}.account-form input[type=file]{padding:10px!important}.logo-preview{display:flex;align-items:center;gap:12px;padding:10px;border:1px dashed #315878;border-radius:10px;color:var(--muted);font-size:12px}.logo-preview[hidden]{display:none}.logo-preview img{width:54px;height:54px;object-fit:contain;border-radius:8px;background:#dce7ef}.form-navigation{display:grid;grid-template-columns:1fr 2fr;gap:10px}.form-navigation button{padding:14px;border-radius:9px;font-weight:800;cursor:pointer}body.light .step-heading{border-color:#a7bdcc}body.light .account-form select{background:#edf4f8;color:#132b43;border-color:#9db6c8}body.light .logo-preview{border-color:#9db6c8}@media(max-width:620px){.form-navigation{grid-template-columns:1fr}}

/* Workspace onboarding */
.workspace-address{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch}.workspace-address input{border-radius:9px 0 0 9px!important}.workspace-address span{display:flex;align-items:center;padding:0 13px;border:1px solid #244765;border-left:0;border-radius:0 9px 9px 0;background:#0c2033;color:#7e9bb4;font-size:12px;font-weight:800}.field-help{color:#71889b;font-size:11px;font-weight:400;letter-spacing:0}.slug-status{display:flex;align-items:center;gap:8px;color:#75cda4;font-size:12px}.slug-status i{width:8px;height:8px;border-radius:50%;background:#36d88b;box-shadow:0 0 8px #36d88b}.slug-status.unavailable{color:#ef8e8e}.slug-status.unavailable i{background:#ef5656;box-shadow:0 0 8px #ef5656}.workspace-preview{padding:18px;border:1px solid #244765;border-radius:11px;background:#071421;text-align:center;display:grid;gap:7px}.workspace-preview span{font-size:10px;letter-spacing:.15em;color:#71889b;font-weight:800}.workspace-preview strong{color:#33b9f2;font-size:17px;overflow-wrap:anywhere}body.light .workspace-address span{background:#d6e4ed;border-color:#9db6c8;color:#526e85}body.light .workspace-preview{background:#d6e4ed;border-color:#9db6c8}body.light .workspace-preview strong{color:#087fbe}@media(max-width:480px){.workspace-address{grid-template-columns:1fr}.workspace-address input{border-radius:9px 9px 0 0!important}.workspace-address span{border-left:1px solid #244765;border-top:0;border-radius:0 0 9px 9px;padding:9px 13px}body.light .workspace-address span{border-left-color:#9db6c8}}

/* First site onboarding */
.account-form textarea{width:100%;resize:vertical;min-height:86px;border:1px solid #244765;border-radius:9px;background:#06111f;color:#f4f8ff;padding:13px 14px;font:inherit;outline:none}.account-form textarea:focus{border-color:#18aef0;box-shadow:0 0 0 3px #079cff1c}.site-note{display:grid;gap:4px;padding:13px 14px;border:1px solid #244765;border-radius:10px;background:#081727}.site-note strong{color:#33b9f2;font-size:12px}.site-note span{color:#8298ad;font-size:12px;line-height:1.45}.skip-step{border:0;background:transparent;color:#8298ad;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font:inherit;font-size:12px;padding:2px}body.light .account-form textarea{background:#edf4f8;color:#132b43;border-color:#9db6c8}body.light .site-note{background:#d6e4ed;border-color:#9db6c8}body.light .site-note strong{color:#087fbe}body.light .site-note span,body.light .skip-step{color:#58738c}

/* Role-based team onboarding */
.invite-builder{display:grid;gap:13px;padding:15px;border:1px solid #244765;border-radius:11px;background:#071421}.add-invite{padding:11px;border-radius:9px;font-weight:800;cursor:pointer}.invite-list{display:grid;gap:8px}.empty-invites{margin:0;padding:14px;border:1px dashed #315878;border-radius:9px;text-align:center;color:#71889b;font-size:12px}.invite-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid #244765;border-radius:9px;background:#081727}.invite-item div{display:grid;gap:3px}.invite-item strong{font-size:13px}.invite-item span{font-size:11px;color:#8298ad}.invite-item button{border:0;background:transparent;color:#ef8e8e;font-size:22px;cursor:pointer}.role-guide{display:grid;gap:7px;padding:13px 14px;border-left:3px solid #079cff;background:#071421;border-radius:0 9px 9px 0}.role-guide>strong{color:#33b9f2;font-size:12px;margin-bottom:2px}.role-guide span{color:#8298ad;font-size:11px}.role-guide b{color:#c6d6e6}body.light .invite-builder,body.light .invite-item,body.light .role-guide{background:#d6e4ed;border-color:#9db6c8}body.light .empty-invites{border-color:#9db6c8;color:#58738c}body.light .invite-item span,body.light .role-guide span{color:#58738c}body.light .role-guide>strong{color:#087fbe}body.light .role-guide b{color:#27465f}

/* Operations setup onboarding */
.ops-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.setup-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.setup-options label{display:flex;align-items:flex-start;gap:10px;padding:13px;border:1px solid #244765;border-radius:10px;background:#081727;cursor:pointer}.setup-options input{margin-top:3px;accent-color:#079cff}.setup-options span{display:grid;gap:4px}.setup-options strong{color:#c6d6e6;font-size:12px}.setup-options small{color:#8298ad;font-weight:400;line-height:1.4}.setup-note{display:grid;gap:4px;padding:13px 14px;border-left:3px solid #079cff;background:#071421;border-radius:0 9px 9px 0}.setup-note strong{color:#33b9f2;font-size:12px}.setup-note span{color:#8298ad;font-size:11px;line-height:1.45}body.light .setup-options label,body.light .setup-note{background:#d6e4ed;border-color:#9db6c8}body.light .setup-options strong{color:#27465f}body.light .setup-options small,body.light .setup-note span{color:#58738c}body.light .setup-note strong{color:#087fbe}@media(max-width:620px){.ops-grid,.setup-options{grid-template-columns:1fr}}

/* Review and launch onboarding */
.review-step[hidden]{display:none}.review-step{display:grid;gap:16px}.review-summary{display:grid;grid-template-columns:1fr 1fr;gap:9px}.review-summary article{display:grid;gap:5px;padding:14px;border:1px solid #244765;border-radius:10px;background:#081727}.review-summary span{color:#71889b;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.review-summary strong{color:#f4f8ff;font-size:14px;overflow-wrap:anywhere}.review-summary small{color:#8298ad;font-size:11px}.launch-checklist{display:grid;gap:8px;padding:14px;border:1px solid #244765;border-radius:10px;background:#071421}.launch-checklist>strong{color:#33b9f2;font-size:12px;margin-bottom:2px}.launch-checklist span{position:relative;padding-left:20px;color:#8298ad;font-size:12px}.launch-checklist span:before{content:'○';position:absolute;left:0;color:#60788e}.launch-checklist span.done:before{content:'✓';color:#36d88b}.launch-checklist span.done{color:#c6d6e6}.launch-note{display:grid;gap:4px;padding:13px 14px;border-left:3px solid #079cff;background:#071421;border-radius:0 9px 9px 0}.launch-note strong{color:#33b9f2;font-size:12px}.launch-note span{color:#8298ad;font-size:11px;line-height:1.5}.launch-button{box-shadow:0 0 24px #079cff2b}body.light .review-summary article,body.light .launch-checklist,body.light .launch-note{background:#d6e4ed;border-color:#9db6c8}body.light .review-summary strong,body.light .launch-checklist span.done{color:#27465f}body.light .review-summary span,body.light .review-summary small,body.light .launch-checklist span,body.light .launch-note span{color:#58738c}body.light .launch-checklist>strong,body.light .launch-note strong{color:#087fbe}@media(max-width:620px){.review-summary{grid-template-columns:1fr}}

/* Sites management */
.module-action{cursor:pointer;transition:transform .18s,border-color .18s}.module-action:hover,.module-action:focus{transform:translateY(-2px);border-color:#1ab8ff;outline:none}.sites-page{min-height:70vh}.sites-intro{text-align:left;margin:14px 0 26px}.sites-list{display:grid;gap:12px}.site-card{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:18px;align-items:center;padding:20px;border:1px solid #173653;border-radius:14px;background:linear-gradient(145deg,#0a192b,#050d18)}.site-card h3{margin:0 0 5px}.site-card p,.site-card small{margin:0;color:#879bb2}.site-card .site-meta{display:grid;gap:4px}.site-status{text-transform:uppercase;font-size:11px;letter-spacing:.12em;color:#33b9f2}.site-card button{padding:10px 15px;border-radius:8px;cursor:pointer}.empty-sites{padding:32px;border:1px dashed #315878;border-radius:14px;text-align:center;color:#71889b}body.light .site-card{background:linear-gradient(145deg,#eef4f8,#c7d8e3);border-color:#9db6c8}body.light .site-card p,body.light .site-card small{color:#506c83}@media(max-width:760px){.site-card{grid-template-columns:1fr}.sites-page .section-heading .actions{width:100%;justify-content:flex-start}}

/* Team invitations and roles */
.team-card{grid-template-columns:1.4fr 1fr 1fr auto}.team-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.team-actions button{padding:9px 12px}.team-card .site-status{color:#8fe4ff}.team-card strong{font-size:14px}.role-guide{margin-top:2px}@media(max-width:760px){.team-card{grid-template-columns:1fr}.team-actions{justify-content:flex-start}}

/* Platform superadmin */
.superadmin-launch{margin-left:auto;padding:9px 13px;border-radius:8px;cursor:pointer}.superadmin-launch[hidden]{display:none}.superadmin-section{padding-top:28px}.admin-alert-list,.admin-company-list{display:grid;gap:12px;margin-top:24px}.admin-alert{display:grid;grid-template-columns:160px 1fr auto;gap:16px;align-items:center;padding:16px 18px;border:1px solid #173653;border-radius:12px;background:linear-gradient(145deg,#0a192b,#050d18)}.admin-alert strong{color:#33b9f2}.admin-alert span,.admin-alert small{color:#879bb2}.admin-company{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:18px;padding:20px;border:1px solid #173653;border-radius:14px;background:linear-gradient(145deg,#0a192b,#050d18)}.admin-company h3{margin:0 0 5px}.admin-company p,.admin-company small{margin:0;color:#879bb2}.admin-company div{display:grid;gap:4px}.admin-company .company-metrics{grid-template-columns:repeat(3,auto);gap:14px}.admin-company .company-metrics strong{font-size:20px}.admin-company .company-metrics span{font-size:10px;color:#879bb2;text-transform:uppercase}.admin-status{text-transform:uppercase;color:#33b9f2;font-size:11px;letter-spacing:.1em}body.light .admin-alert,body.light .admin-company{background:linear-gradient(145deg,#eef4f8,#c7d8e3);border-color:#9db6c8}body.light .admin-alert span,body.light .admin-alert small,body.light .admin-company p,body.light .admin-company small{color:#506c83}@media(max-width:760px){.admin-alert,.admin-company{grid-template-columns:1fr}.admin-company .company-metrics{grid-template-columns:repeat(3,1fr)}.superadmin-launch{margin-left:auto}}

/* Signed-in header identity */
.header-spacer{flex:1}.topbar .theme-toggle{margin-left:18px;margin-right:0}.topbar .superadmin-launch{margin-left:0}.user-account{display:flex;align-items:center;gap:9px;margin-left:10px;min-width:0}.user-account[hidden]{display:none}.user-avatar{width:36px;height:36px;flex:0 0 36px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#057be8,#16c6f4);border:1px solid #41d5ff;color:#fff;font-size:12px;font-weight:900;letter-spacing:.04em}.user-copy{display:grid;line-height:1.15;max-width:190px}.user-copy strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-copy small{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar .menu{margin-left:14px}body.light .user-avatar{color:#fff}@media(max-width:760px){.topbar{padding:0 14px}.topbar .theme-toggle{margin-left:10px}.user-copy{display:none}.user-account{margin-left:7px}.superadmin-launch{font-size:11px;padding:8px 9px}.topbar .menu{margin-left:8px}.brand-copy strong{font-size:13px}}@media(max-width:480px){.brand-copy{display:none}.topbar .theme-toggle{margin-left:8px}.superadmin-launch{max-width:92px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}

/* Superadmin user directory */
.user-filters{display:flex;gap:10px;flex-wrap:wrap}.user-filters select{min-width:170px;padding:10px 12px;border:1px solid #173653;border-radius:8px;background:#071323;color:var(--text)}.directory-count{margin:14px 0;color:var(--muted);font-size:12px}.admin-user-list{display:grid;gap:10px}.admin-user{display:grid;grid-template-columns:auto 1.4fr 1fr 1fr 1fr auto;gap:16px;align-items:center;padding:15px 18px;border:1px solid #173653;border-radius:12px;background:linear-gradient(145deg,#0a192b,#050d18)}.admin-user>div{display:grid;gap:3px;min-width:0}.admin-user small{color:#879bb2;font-size:10px}.admin-user strong,.admin-user span{overflow:hidden;text-overflow:ellipsis}.admin-user .user-avatar{margin:0}body.light .user-filters select{background:#eef4f8;color:#15293a;border-color:#9db6c8}body.light .admin-user{background:linear-gradient(145deg,#eef4f8,#c7d8e3);border-color:#9db6c8}body.light .admin-user small{color:#506c83}@media(max-width:760px){.user-filters{width:100%}.user-filters select{flex:1;min-width:140px}.admin-user{grid-template-columns:auto 1fr auto}.admin-user>div:nth-of-type(n+2){grid-column:2/4}.admin-user>.admin-status{grid-column:3;grid-row:1}.admin-user-list .user-avatar{display:grid}}

.user-account{position:relative}.user-trigger{display:flex;align-items:center;gap:10px;background:transparent;border:0;color:var(--text);cursor:pointer;padding:7px 9px;border-radius:10px}.user-trigger:hover,.user-trigger:focus-visible{background:#0a1626}.user-chevron{color:var(--muted);font-size:12px}.profile-menu{position:absolute;right:0;top:100%;margin-top:0;width:260px;padding:10px;background:#071426;border:1px solid #27435f;border-radius:12px;box-shadow:0 18px 45px #0009;z-index:80}.profile-summary{display:flex;flex-direction:column;padding:10px 10px 12px;border-bottom:1px solid var(--line);margin-bottom:6px}.profile-summary span{font-size:12px;color:var(--muted);margin-top:3px}.profile-summary small{font-size:11px;color:#7f95ad;margin-top:4px}.profile-menu>button{width:100%;text-align:left;background:transparent;border:0;color:var(--text);padding:11px 10px;border-radius:7px;cursor:pointer}.profile-menu>button:hover,.profile-menu>button:focus-visible{background:#0d2035}.profile-menu #profileSignOut{color:#ffb2b2}.profile-menu[hidden]{display:none!important}
@media(max-width:700px){.user-trigger .user-copy,.user-chevron{display:none}.profile-menu{right:0;width:min(280px,calc(100vw - 28px))}}

.user-trigger{padding:5px 8px;text-align:left}.user-trigger .user-copy{display:flex!important;flex-direction:column;align-items:flex-start}.user-trigger .user-copy strong{font-size:13px;line-height:1.2}.user-trigger .user-copy small{font-size:10px;color:var(--muted);line-height:1.3}@media(max-width:700px){.user-trigger .user-copy{display:flex!important}.user-chevron{display:inline!important}}

/* Profile menu/editor theme and responsive form corrections */
body.light .user-trigger{color:#15293a}
body.light .user-trigger:hover,body.light .user-trigger:focus-visible{background:#d9e7f0}
body.light .profile-menu{background:#f4f8fb;border-color:#9db6c8;box-shadow:0 18px 45px #47627440}
body.light .profile-summary strong,body.light .profile-menu>button{color:#15293a}
body.light .profile-summary span,body.light .profile-summary small{color:#506c83}
body.light .profile-menu>button:hover,body.light .profile-menu>button:focus-visible{background:#dce8f0}
body.light .profile-menu #profileSignOut{color:#a12d2d}
#profileEditor .modal-card{width:min(520px,calc(100vw - 28px))}
#profileForm{display:grid;gap:14px}
#profileForm label{display:grid;gap:7px;color:var(--text);font-size:13px}
#profileForm input{width:100%;padding:12px 13px;border:1px solid #27435f;border-radius:8px;background:#071323;color:var(--text);font:inherit}
#profileForm input[readonly]{opacity:.72;cursor:not-allowed}
#profileForm .form-actions{display:flex;justify-content:flex-end;margin-top:4px}
#profileForm .form-actions button{padding:12px 18px;border-radius:8px}
body.light #profileEditor .modal-card{background:#eef4f8;color:#15293a}
body.light #profileForm label{color:#15293a}
body.light #profileForm input{background:#fff;color:#15293a;border-color:#9db6c8}
@media(max-width:700px){#profileEditor .modal-card{padding:22px 18px}#profileForm .form-actions button{width:100%}}

.platform-users-page{min-height:calc(100vh - 92px);padding-bottom:28px}.platform-users-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px}.platform-users-toolbar h2{margin:3px 0;font-size:clamp(30px,4vw,48px)}.sticky-user-filters{position:sticky;top:72px;z-index:20;padding:12px 0;background:var(--bg);align-items:center}.sticky-user-filters input,.sticky-user-filters select{min-width:160px;padding:11px 12px;border:1px solid #173653;border-radius:8px;background:#071323;color:var(--text)}.sticky-user-filters input{flex:1;min-width:220px}.sticky-user-filters .directory-count{margin:0 0 0 auto;white-space:nowrap}.platform-user-scroll{padding-bottom:30px}body.light .sticky-user-filters{background:var(--bg)}body.light .sticky-user-filters input,body.light .sticky-user-filters select{background:#fff;color:#15293a;border-color:#9db6c8}@media(max-width:760px){.platform-users-toolbar{align-items:flex-start;flex-direction:column}.sticky-user-filters{top:64px}.sticky-user-filters input,.sticky-user-filters select{flex:1 1 100%;width:100%;min-width:0}.sticky-user-filters .directory-count{margin:0}}

.module-link{cursor:pointer}.shifts-page{min-height:calc(100vh - 100px)}.shift-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0}.shift-stats article,.shift-card,.shift-calendar article{border:1px solid #173653;border-radius:12px;padding:16px;background:#071323}.shift-stats strong{display:block;font-size:28px}.shift-toolbar{display:flex;gap:10px;align-items:center;margin:18px 0}.shift-toolbar input{margin-left:auto;padding:10px;border:1px solid #173653;border-radius:8px;background:#071323;color:var(--text)}.shift-list{display:grid;gap:10px}.shift-card{display:grid;grid-template-columns:minmax(220px,2fr) 80px 2fr auto;gap:16px;align-items:center}.shift-card h3{margin:4px 0}.shift-assignees{display:flex;gap:6px;flex-wrap:wrap}.shift-assignees span{padding:5px 8px;border-radius:12px;background:#10253a}.shift-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.shift-calendar article{min-height:110px}.shift-calendar article span{display:block;margin-top:8px;font-size:12px}.shift-card .admin-status{justify-self:end}@media(max-width:760px){.shift-stats{grid-template-columns:1fr 1fr 1fr}.shift-card{grid-template-columns:1fr auto}.shift-assignees{grid-column:1/-1}.shift-calendar{grid-template-columns:1fr 1fr}.shift-toolbar{flex-wrap:wrap}.shift-toolbar input{margin-left:0}}

.manage-shift{justify-self:end}.shift-manage-assignments{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 10px}.shift-manage-assignments span{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid #173653;border-radius:18px}.remove-assignment{border:0;background:transparent;color:#ef6b6b;cursor:pointer;font-weight:700}

.iss-confirm{z-index:1200}.iss-confirm-card{width:min(440px,calc(100vw - 32px));padding:24px;border:1px solid #1f557d;border-radius:16px;background:#071323;box-shadow:0 24px 70px #000b}.iss-confirm-brand{display:flex;align-items:center;gap:10px;margin-bottom:18px}.iss-confirm-brand strong{font-size:20px;letter-spacing:.18em;color:#36bfff}.iss-confirm-brand span{font-size:10px;letter-spacing:.12em;color:#8da6b8}.iss-confirm-card h3{margin:0 0 8px;font-size:22px}.iss-confirm-card p{white-space:pre-line;color:#b8c8d5;line-height:1.5}.iss-confirm-card .actions{justify-content:flex-end;margin-top:22px}.danger{border:1px solid #b53b47;background:#8f2632;color:#fff;border-radius:8px;padding:11px 18px;font-weight:700;cursor:pointer}.danger:hover{background:#ad3040}.shift-delete-left{display:block;margin-top:14px;margin-right:auto}body.light .iss-confirm-card{background:#fff;color:#15293a}body.light .iss-confirm-card p{color:#4c6577}

#shiftRepeatUntilWrap[hidden]{display:none}

.officer-availability{display:grid;gap:8px;margin-top:-6px}.officer-unavailable{display:flex;justify-content:space-between;gap:12px;padding:9px 11px;border:1px solid rgba(148,163,184,.18);border-radius:8px}.officer-unavailable small{opacity:.72}.officer-unavailable a,.shift-manage-assignments a{color:inherit;text-decoration:underline;text-underline-offset:2px}.available-count{opacity:.75}@media(max-width:640px){.officer-unavailable{flex-direction:column;gap:3px}}

.shift-card-staffed{border-left:5px solid #27a65a;background:linear-gradient(90deg,rgba(39,166,90,.13),rgba(39,166,90,.025) 32%,transparent)}.shift-card-vacant{border-left:5px solid #d44848;background:linear-gradient(90deg,rgba(212,72,72,.14),rgba(212,72,72,.025) 32%,transparent)}.shift-assignees-expand summary{cursor:pointer;font-weight:700}.shift-assignees-expand div{display:grid;gap:5px;margin-top:8px}.shift-assignees-expand span{display:block}

.public-header-actions{display:flex;gap:8px;align-items:center}.public-header-actions .primary,.public-header-actions .secondary{padding:9px 13px;white-space:nowrap}@media(max-width:720px){.public-header-actions .primary{display:none}.public-header-actions .secondary{padding:8px 11px}}

/* Weekly operations calendar */
.week-controls{display:flex;align-items:center;gap:8px;margin-left:auto}.week-controls strong{min-width:150px;text-align:right;font-size:13px}.week-grid{display:grid;grid-template-columns:92px repeat(7,minmax(150px,1fr));min-width:1140px;border:1px solid #173653;border-radius:12px;overflow:hidden;background:#071323}.shift-calendar{display:block;overflow-x:auto}.week-corner,.week-day-head,.week-row-label,.week-cell{border-right:1px solid #173653;border-bottom:1px solid #173653}.week-corner,.week-day-head{padding:12px;background:#0b1a2b}.week-corner{font-size:11px;letter-spacing:.12em;color:#8da6b8}.week-day-head{display:flex;justify-content:space-between;align-items:center}.week-day-head span{font-size:20px;font-weight:800}.week-row-label{padding:14px 10px;background:#0b1a2b}.week-row-label strong,.week-row-label small{display:block}.week-row-label small{margin-top:4px;color:#8da6b8}.week-cell{min-height:180px;padding:8px;display:grid;align-content:start;gap:8px}.week-shift{position:relative;padding:10px;border:1px solid #24465f;border-radius:9px;background:#0c1d2e;overflow:hidden}.week-shift-staffed{border-left:4px solid #27a65a;background:linear-gradient(90deg,rgba(39,166,90,.18),#0c1d2e 42%)}.week-shift-vacant{border-left:4px solid #d44848;background:linear-gradient(90deg,rgba(212,72,72,.2),#0c1d2e 42%)}.week-shift-head{display:grid;gap:3px}.week-shift-head strong{font-size:13px}.week-shift-head small{color:#a9bdcc}.week-staffing{display:inline-block;margin:8px 0 4px;font-size:10px;font-weight:800;letter-spacing:.05em}.week-shift details{position:relative;z-index:2;margin-top:4px}.week-shift summary{cursor:pointer;font-size:11px;font-weight:700}.week-assignees{display:grid;gap:4px;margin-top:6px;font-size:10px}.week-assignees span{line-height:1.35}.week-shift-open{position:absolute;inset:0;z-index:1;border:0;background:transparent;cursor:pointer}.week-shift-book{position:relative;z-index:3;margin-top:8px;padding:5px 8px;border:1px solid #397ba7;border-radius:6px;background:#102d43;color:var(--text);font-size:10px;font-weight:800;cursor:pointer}.week-booked{display:block;margin-top:7px;color:#66d48b;font-weight:800}.week-empty{align-self:center;justify-self:center;color:#607b8f;font-size:11px}.shift-calendar .week-grid article{min-height:0;padding:10px}body.light .week-grid{background:#fff}body.light .week-corner,body.light .week-day-head,body.light .week-row-label{background:#eaf2f7}body.light .week-shift{background:#fff;color:#15293a}body.light .week-shift-staffed{background:linear-gradient(90deg,rgba(39,166,90,.14),#fff 42%)}body.light .week-shift-vacant{background:linear-gradient(90deg,rgba(212,72,72,.14),#fff 42%)}@media(max-width:760px){.week-controls{order:3;width:100%;margin-left:0}.week-controls strong{margin-left:auto}.shift-calendar{margin-left:-8px;margin-right:-8px;padding-bottom:8px}.week-grid{grid-template-columns:76px repeat(7,minmax(140px,1fr));min-width:1060px}}


/* Calendar today marker and Moon-mode scrollbars */
.week-day-head.week-today{background:#102a40;box-shadow:inset 0 3px 0 #5f87a5}.week-cell.week-today{background:rgba(76,116,145,.12);box-shadow:inset 2px 0 0 rgba(95,135,165,.72),inset -2px 0 0 rgba(95,135,165,.35)}.today-label{display:inline-block;margin-left:5px;padding:2px 5px;border:1px solid #5f87a5;border-radius:8px;color:#a9c6da;font-size:8px;letter-spacing:.08em;vertical-align:1px}.shift-calendar{scrollbar-width:thin;scrollbar-color:#54748c #091522}.shift-calendar::-webkit-scrollbar{height:10px;width:10px}.shift-calendar::-webkit-scrollbar-track{background:#091522;border-radius:10px}.shift-calendar::-webkit-scrollbar-thumb{background:#54748c;border:2px solid #091522;border-radius:10px}.shift-calendar::-webkit-scrollbar-thumb:hover{background:#6689a3}body.light .week-day-head.week-today{background:#dcebf4;box-shadow:inset 0 3px 0 #4d7896}body.light .week-cell.week-today{background:#edf5f9;box-shadow:inset 2px 0 0 #7ca0b8,inset -2px 0 0 #b8cedc}body.light .today-label{color:#355c77;border-color:#6f94ac}body.light .shift-calendar{scrollbar-color:#8ba6b8 #e4edf2}body.light .shift-calendar::-webkit-scrollbar-track{background:#e4edf2}body.light .shift-calendar::-webkit-scrollbar-thumb{background:#8ba6b8;border-color:#e4edf2}body.light .shift-calendar::-webkit-scrollbar-thumb:hover{background:#7899ae}


/* Compact operations dashboard and cross-module navigation */
.compact-modules{margin-top:24px!important;padding-top:0!important}.compact-modules h2{margin:0 0 18px}.module-nav{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:0 0 26px;padding-bottom:14px;border-bottom:1px solid #173653}.module-nav-btn{border:1px solid #24465f;border-radius:8px;background:#091727;color:#9db4c6;padding:8px 11px;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.module-nav-btn:hover,.module-nav-btn:focus-visible{background:#10263a;color:var(--text);border-color:#3e6682}.module-nav-btn.active{background:#15344c;color:#d9edf9;border-color:#5f87a5;box-shadow:inset 0 -2px 0 #6d97b5}body.light .module-nav{border-color:#b7cbd8}body.light .module-nav-btn{background:#edf4f8;color:#48667a;border-color:#b0c6d4}body.light .module-nav-btn:hover,body.light .module-nav-btn:focus-visible{background:#dfeaf1;color:#183449}body.light .module-nav-btn.active{background:#d4e5ef;color:#17384f;border-color:#789bb1}@media(max-width:700px){.module-nav{gap:5px;margin-bottom:20px}.module-nav-btn{padding:7px 9px;font-size:10px}.compact-modules{margin-top:18px!important}}


/* Compact dashboard summary and single-row operations cards */
.company-dashboard{padding-bottom:24px}.company-dashboard .stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:24px}.company-dashboard .stats article{padding:18px}.company-dashboard .stats strong{font-size:29px;margin:7px 0}.compact-modules{margin-top:0!important;padding-top:16px!important}.compact-modules h2{font-size:30px;margin-bottom:14px}.compact-modules .module-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:0}.compact-modules .module-grid article{padding:16px;min-height:126px}.compact-modules .module-grid h3{font-size:16px;margin:12px 0 8px}.compact-modules .module-grid p{font-size:12px;line-height:1.4;margin:0}@media(max-width:900px){.company-dashboard .stats{grid-template-columns:repeat(3,1fr)}.compact-modules .module-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:620px){.company-dashboard .stats,.compact-modules .module-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:430px){.company-dashboard .stats,.compact-modules .module-grid{grid-template-columns:1fr}}


/* Day / Week / Month calendar */
.calendar-view-switch{display:flex;gap:6px}.calendar-view-switch .secondary{padding:8px 13px}.calendar-view-switch .active{background:#15344c;border-color:#5f87a5;color:#d9edf9}.day-calendar{display:grid;grid-template-columns:1fr 1fr;gap:14px;position:relative}.day-calendar-section{border:1px solid #173653;border-radius:12px;background:#071323;padding:16px}.day-calendar-section h3{margin:0 0 14px}.day-calendar-section h3 small{color:#7890a5;font-size:11px}.day-calendar-list{display:grid;gap:10px}.calendar-empty{padding:30px;text-align:center;color:#607b8f;border:1px dashed #24465f;border-radius:9px}.calendar-today-panel{border-top:2px solid #5f87a5;padding-top:14px}.month-calendar{min-width:780px;border:1px solid #173653;border-radius:12px;overflow:hidden}.month-weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.month-weekdays strong{padding:10px;text-align:center;background:#0b1a2b;border-right:1px solid #173653;font-size:11px}.month-cell{min-height:118px;padding:10px;border:0;border-right:1px solid #173653;border-top:1px solid #173653;background:#071323;color:var(--text);text-align:left;display:flex;flex-direction:column;gap:8px;cursor:pointer}.month-cell:hover{background:#0d2032}.month-cell.week-today{background:#102a40;box-shadow:inset 0 3px 0 #5f87a5}.month-cell strong{font-size:12px;margin-top:auto}.month-cell small{color:#70879b;font-size:10px}.month-cell .month-open{color:#e27a7a}.month-cell .month-full{color:#66d48b}.month-date{font-size:15px;font-weight:800}.month-outside{cursor:default;background:#050d17}body.light .calendar-view-switch .active{background:#d4e5ef;color:#17384f}body.light .day-calendar-section,body.light .month-cell{background:#fff}body.light .month-weekdays strong{background:#eaf2f7}body.light .month-cell:hover{background:#edf5f9}body.light .month-cell.week-today{background:#dcebf4}@media(max-width:760px){.calendar-view-switch{width:100%;margin-top:8px}.calendar-view-switch button{flex:1}.day-calendar{grid-template-columns:1fr}.month-calendar{min-width:700px}}


/* Native shift date/time picker affordance */
.native-picker{cursor:pointer;color-scheme:dark}.native-picker::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.85;filter:none}.native-picker:hover::-webkit-calendar-picker-indicator{opacity:1}body.light .native-picker{color-scheme:light}


/* Duty Rota month navigation */
.rota-month-toolbar{justify-content:flex-end}.rota-month-toolbar .rota-month-arrow{width:42px;height:42px;padding:0;font-size:24px;line-height:1}.rota-month-label{min-width:150px;text-align:center;font-size:15px;letter-spacing:.02em;color:var(--text)}body.light .rota-month-label{color:#17334c}@media(max-width:520px){.rota-month-toolbar{justify-content:center}.rota-month-label{min-width:130px}}


/* Light-mode Duty Rota summary cards */
body.light .shift-stats article{background:linear-gradient(145deg,#eef4f8,#c7d8e3);border-color:#9db6c8;color:#102a43;box-shadow:inset 0 1px #fff,0 8px 22px #36566c16}
body.light .shift-stats article span{color:#506c83}
body.light .shift-stats article strong{color:#102a43}

/* Shift report */
.reports-page{max-width:1600px}.report-filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:20px 0}.report-filters label{display:grid;gap:6px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.report-filters input,.report-filters select{min-width:180px;padding:10px 12px;border:1px solid #173653;border-radius:8px;background:#071323;color:var(--text)}.report-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.report-meta{display:flex;justify-content:space-between;gap:16px;margin:24px 0 10px;padding-bottom:10px;border-bottom:1px solid var(--line)}.report-meta span{color:var(--muted)}.report-table-wrap{overflow:auto}.report-table{width:100%;border-collapse:collapse;min-width:850px}.report-table th,.report-table td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:top}.report-table th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.report-status{display:inline-block;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:700}.report-status.full{background:#123d2d;color:#a9f4c8}.report-status.under{background:#4b2227;color:#ffc2c7}.report-empty{text-align:center!important;color:var(--muted);padding:30px!important}body.light .report-filters input,body.light .report-filters select{background:#f4f8fb;color:#15293a;border-color:#9db6c8}body.light .report-status.full{background:#dff5e8;color:#185b39}body.light .report-status.under{background:#fde5e7;color:#8c2631}@media(max-width:700px){.report-stats{grid-template-columns:1fr 1fr}.report-filters label,.report-filters input,.report-filters select{width:100%}.report-meta{flex-direction:column}}
@media print{header,#reportsView .module-nav,#reportsView .section-heading .actions,.report-filters{display:none!important}body{background:#fff!important;color:#111!important}#reportsView{display:block!important}.reports-page{box-shadow:none!important;border:0!important;background:#fff!important;color:#111!important;margin:0!important;padding:0!important}.report-stats article{background:#fff!important;color:#111!important;border:1px solid #bbb!important;box-shadow:none!important}.report-stats article span,.report-stats article strong,.report-meta span,.report-table th,.report-table td{color:#111!important}.report-table th,.report-table td{border-color:#bbb!important}.report-table-wrap{overflow:visible}.report-table{min-width:0}.report-status{border:1px solid #777;background:#fff!important;color:#111!important}}

/* Site coverage report */
.report-switch{display:flex;gap:8px;margin:16px 0 4px}.report-switch .active{border-color:#4d8dbd;background:#102b43}.coverage-site-list{display:grid;gap:12px;margin-top:18px}.coverage-site{border:1px solid #173653;border-radius:12px;background:#071323;overflow:hidden}.coverage-site>summary{display:grid;grid-template-columns:minmax(180px,1fr) 2fr;gap:18px;align-items:center;padding:16px;cursor:pointer;list-style:none}.coverage-site>summary::-webkit-details-marker{display:none}.coverage-site>summary h3{margin:0 0 4px}.coverage-site>summary span{color:var(--muted);font-size:12px}.coverage-metrics{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:8px;text-align:center}.coverage-metrics span{padding:9px;border:1px solid var(--line);border-radius:8px}.coverage-metrics b{display:block;color:var(--text);font-size:16px}.coverage-metrics .coverage-open{border-color:#71363d}.coverage-metrics .coverage-full{border-color:#245b43}.coverage-body{padding:0 16px 16px;border-top:1px solid var(--line)}.coverage-totals{display:flex;gap:20px;flex-wrap:wrap;padding:14px 0}.coverage-totals span{color:var(--muted)}.coverage-totals b{color:var(--text)}.coverage-exceptions h4{margin:8px 0 10px}.coverage-exceptions article{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:11px 12px;margin-top:7px;border:1px solid #71363d;border-radius:8px;background:#1d1118}.coverage-exceptions article>div{display:grid;gap:3px}.coverage-exceptions article span{font-size:12px;color:var(--muted)}.coverage-exceptions article>div:last-child{text-align:right}.coverage-exceptions article>div:last-child b{font-size:18px;color:#ffb2b2}.coverage-clear{padding:12px;border:1px solid #245b43;border-radius:8px;background:#0c2019;color:#a9f4c8}body.light .report-switch .active{background:#d9e7f0;border-color:#789ab1;color:#15293a}body.light .coverage-site{background:#f4f8fb;border-color:#9db6c8}body.light .coverage-exceptions article{background:#fdeff0;border-color:#d7a5aa}body.light .coverage-exceptions article>div:last-child b{color:#8c2631}body.light .coverage-clear{background:#e7f6ed;color:#185b39;border-color:#9bc9ad}@media(max-width:800px){.coverage-site>summary{grid-template-columns:1fr}.coverage-metrics{grid-template-columns:1fr 1fr}}@media print{.report-switch{display:none!important}.coverage-site{background:#fff!important;color:#111!important;border-color:#aaa!important;break-inside:avoid}.coverage-site>summary span,.coverage-metrics b,.coverage-totals b,.coverage-totals span,.coverage-exceptions article span{color:#111!important}.coverage-site[open] .coverage-body{display:block}.coverage-exceptions article,.coverage-clear{background:#fff!important;color:#111!important;border-color:#aaa!important}}

/* Staff activity report */
.staff-activity-card>summary{grid-template-columns:minmax(220px,1fr) 2.2fr}.staff-metrics{grid-template-columns:repeat(4,minmax(100px,1fr))}.staff-duty-history h4{margin:14px 0 10px}.staff-duty-history article{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:11px 12px;margin-top:7px;border:1px solid var(--line);border-radius:8px;background:#0a1828}.staff-duty-history article>div{display:grid;gap:3px}.staff-duty-history article span{font-size:12px;color:var(--muted)}.staff-duty-history article>div:last-child{text-align:right}.staff-duty-history article>div:last-child b{font-size:17px}.staff-unassigned{padding:12px;border:1px solid #4c5360;border-radius:8px;color:var(--muted)}body.light .staff-duty-history article{background:#eef4f8;border-color:#b4c8d5}@media(max-width:800px){.staff-activity-card>summary{grid-template-columns:1fr}.staff-metrics{grid-template-columns:1fr 1fr}}@media print{.staff-duty-history article,.staff-unassigned{background:#fff!important;color:#111!important;border-color:#aaa!important}.staff-duty-history article span{color:#111!important}}

/* Client service summary */
.client-sites-filter{grid-column:1/-1;border:1px solid var(--line);border-radius:10px;padding:10px 12px}.client-sites-filter legend{padding:0 6px;color:var(--muted);font-size:12px}.client-sites-filter>div{display:flex;gap:8px;flex-wrap:wrap}.client-sites-filter label{display:flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid var(--line);border-radius:8px}.client-report{margin-top:20px;display:grid;gap:22px}.client-report-header{display:flex;justify-content:space-between;gap:20px;align-items:end;padding-bottom:16px;border-bottom:2px solid var(--line)}.client-report-header>div{display:grid;gap:3px}.client-report-header>div strong{font-size:18px;letter-spacing:.05em}.client-report-header>div span{font-size:11px;color:var(--muted);letter-spacing:.14em}.client-report-header h3{margin:0}.client-report-intro,.client-overview,.client-personnel{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.client-report-intro div,.client-overview article,.client-personnel article{display:grid;gap:5px;padding:12px;border:1px solid var(--line);border-radius:9px;background:#081727}.client-report-intro span,.client-overview span,.client-personnel span{font-size:11px;color:var(--muted)}.client-overview strong,.client-personnel strong{font-size:20px}.client-site-summary,.client-exceptions{display:grid;gap:8px}.client-site-summary article,.client-exceptions article{display:flex;justify-content:space-between;gap:16px;padding:12px;border:1px solid var(--line);border-radius:9px}.client-site-summary article>div,.client-exceptions article>div{display:grid;gap:3px}.client-site-summary span,.client-exceptions span{font-size:11px;color:var(--muted)}.client-site-summary article>div:last-child,.client-exceptions article>div:last-child{text-align:right}.client-exceptions article{border-color:#71363d;background:#1d1118}.management-comments textarea{width:100%;resize:vertical}.client-report #clientCommentsPrint{display:none;white-space:pre-wrap}.client-report section>h3{margin:0 0 10px}body.light .client-report-intro div,body.light .client-overview article,body.light .client-personnel article{background:#eef4f8;border-color:#b4c8d5}body.light .client-exceptions article{background:#fdeff0;border-color:#d7a5aa}@media print{.client-report-header{border-color:#222}.client-report-intro div,.client-overview article,.client-personnel article,.client-site-summary article,.client-exceptions article{background:#fff!important;color:#111!important;border-color:#aaa!important;break-inside:avoid}.client-report-intro span,.client-overview span,.client-personnel span,.client-site-summary span,.client-exceptions span,.client-report-header span{color:#333!important}.management-comments textarea{display:none!important}.client-report #clientCommentsPrint{display:block!important;border:1px solid #aaa;padding:12px;min-height:60px}.client-report{color:#111!important}}

/* Incident form and accountable timeline */
.incident-list{display:grid;gap:10px;margin-top:18px}.incident-card{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:15px;border:1px solid #173653;border-radius:12px;background:#071323;cursor:pointer}.incident-card:hover{border-color:#3d759d}.incident-card>div:first-child{display:grid;gap:4px}.incident-card span,.incident-card small{color:var(--muted)}.incident-card-status{display:grid;gap:6px;text-align:right}.incident-priority{padding:4px 8px;border-radius:999px;font-size:11px;text-transform:uppercase}.incident-priority.low{background:#153b2b}.incident-priority.medium{background:#493c16}.incident-priority.high,.incident-priority.critical{background:#5b2027}.incident-editor-card{max-width:760px}.incident-record-card{max-width:820px;max-height:90vh;overflow:auto}.incident-record-meta{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 18px}.incident-record-meta span{padding:5px 9px;border:1px solid var(--line);border-radius:999px}.incident-details{display:grid;grid-template-columns:150px 1fr;gap:8px 16px}.incident-details dt{color:var(--muted);font-size:12px}.incident-details dd{margin:0;white-space:pre-wrap}.incident-timeline{margin-top:24px;border-top:1px solid var(--line);padding-top:16px}.incident-timeline article{display:flex;gap:12px;padding:9px 0}.incident-timeline i{width:10px;height:10px;border-radius:50%;background:currentColor;margin-top:5px;flex:0 0 auto}.incident-timeline article div{display:grid;gap:3px}.incident-timeline span{font-size:11px;color:var(--muted)}.incident-update-form{margin-top:18px;border-top:1px solid var(--line);padding-top:16px}body.light .incident-card{background:#eef4f8;border-color:#9db6c8}@media(max-width:650px){.incident-card{align-items:flex-start}.incident-details{grid-template-columns:1fr}.incident-details dt{margin-top:8px}}

/* Recruitment application and applicant dashboard */
.recruitment-public{max-width:900px;margin:30px auto}.recruitment-brand{display:flex;align-items:center;gap:18px;margin-bottom:24px}.recruitment-brand img{width:72px;height:72px;object-fit:contain}.recruitment-form{display:grid;gap:18px}.recruitment-form section{border:1px solid var(--line);border-radius:12px;padding:18px}.recruitment-form section h3{margin-top:0}.recruitment-checks{display:flex;gap:18px;flex-wrap:wrap;margin:10px 0}.recruitment-checks label,.declaration{display:flex!important;align-items:center;gap:8px}.recruitment-checks input,.declaration input{width:auto}.applicant-list{display:grid;gap:10px;margin-top:18px}.applicant-card{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:15px;border:1px solid #173653;border-radius:12px;background:#071323;cursor:pointer}.applicant-card:hover{border-color:#3d759d}.applicant-card>div{display:grid;gap:4px}.applicant-card span,.applicant-card small,.applicant-status span{color:var(--muted)}.applicant-status{text-align:right}.applicant-status b{font-size:12px;text-transform:uppercase}.applicant-record-card{max-width:820px;max-height:90vh;overflow:auto}body.light .applicant-card{background:#eef4f8;border-color:#9db6c8}@media(max-width:650px){.recruitment-brand{align-items:flex-start}.applicant-card{align-items:flex-start;flex-direction:column}.applicant-status{text-align:left}}

/* Standalone public recruitment route */
body.public-recruitment-mode>.topbar,body.public-recruitment-mode>footer{display:none!important}
body.public-recruitment-mode>main:not(#recruitmentApplyView){display:none!important}
body.public-recruitment-mode #recruitmentApplyView{display:block!important;min-height:100vh;padding:32px 18px}
body.public-recruitment-mode .recruitment-public{margin:0 auto;max-width:900px}
.recruitment-company-name{display:block;font-size:1.15rem;margin:2px 0 6px}
.recruitment-brand #recruitmentCompanyLogo{width:92px;height:92px;object-fit:contain;border-radius:12px}
.recruitment-logo-preview{display:flex;align-items:center;justify-content:center;min-height:140px;border:1px solid var(--line);border-radius:12px;padding:16px}
.recruitment-logo-preview img{max-width:180px;max-height:110px;object-fit:contain}
@media(max-width:650px){body.public-recruitment-mode #recruitmentApplyView{padding:18px 12px}.recruitment-brand #recruitmentCompanyLogo{width:72px;height:72px}}

/* Header hamburger settings menu */
.header-menu-wrap{position:relative}
.header-menu-panel{position:absolute;right:0;top:calc(100% + 10px);z-index:120;min-width:190px;padding:8px;background:#07111e;border:1px solid #173653;border-radius:12px;box-shadow:0 18px 42px rgba(0,0,0,.35)}
.header-menu-panel button{display:block;width:100%;padding:11px 12px;border:0;border-radius:8px;background:transparent;color:var(--text);text-align:left;cursor:pointer;font:inherit}
.header-menu-panel button:hover{background:rgba(64,171,235,.12)}
body.light .header-menu-panel{background:#fff;border-color:#b9c9d5}

.company-logo-field{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:12px}
.company-logo-field>label{margin:0}
.company-logo-field>small{opacity:.72}
.company-logo-field input[type=file]{display:block;width:100%;margin-top:7px}
.company-logo-actions{display:flex;justify-content:center}


/* Company-branded public recruitment landing page */
body.public-recruitment-mode{background:radial-gradient(circle at 50% 0,rgba(29,120,184,.16),transparent 42%),var(--bg)}
body.public-recruitment-mode #recruitmentApplyView{padding:0!important}
.recruitment-landing{min-height:100vh}.recruitment-hero{min-height:72vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:72px 24px 64px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(9,29,49,.82),rgba(5,11,22,.96))}.recruitment-hero #recruitmentCompanyLogo{width:150px;height:150px;object-fit:contain;border-radius:20px;margin-bottom:22px}.recruitment-hero .recruitment-company-name{font-size:1.3rem;margin-bottom:10px}.recruitment-hero h1{max-width:850px;font-size:clamp(2.4rem,7vw,5rem);line-height:1.02;margin:10px auto 18px}.recruitment-hero>p:not(.eyebrow){max-width:720px;font-size:1.15rem;line-height:1.7;color:var(--muted)}.recruitment-cta{margin-top:24px;min-width:180px}.recruitment-content{max-width:1100px;margin:auto;padding:28px 20px 70px}.recruitment-copy-section{padding:56px 18px;border-bottom:1px solid var(--line)}.recruitment-copy-section>h2{font-size:clamp(1.7rem,4vw,2.6rem);margin:8px 0 16px}.recruitment-copy-section>p:not(.eyebrow){max-width:820px;line-height:1.75;color:var(--muted);font-size:1.05rem}.recruitment-pitch{padding-left:clamp(18px,6vw,70px);border-left:3px solid var(--accent)}.recruitment-company-link{display:inline-block;margin-top:14px;color:var(--accent);font-weight:700}.recruitment-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}.recruitment-info-grid article{padding:22px;border:1px solid var(--line);border-radius:14px;background:rgba(8,24,40,.7)}.recruitment-info-grid strong{display:block;font-size:1.05rem;margin-bottom:8px}.recruitment-info-grid p{margin:0;color:var(--muted);line-height:1.55}.recruitment-form-heading{margin-bottom:22px}.recruitment-public{max-width:none!important;margin:34px 0 0!important}.company-settings-card{max-height:92vh;overflow:auto}.recruitment-editor-fields{display:grid;gap:14px;margin-top:8px;padding-top:20px;border-top:1px solid var(--line)}.settings-section-heading p{margin:5px 0 0;color:var(--muted);line-height:1.5}.recruitment-editor-fields label small{display:block;margin:4px 0 6px;color:var(--muted);font-weight:400}body.light .recruitment-hero{background:linear-gradient(180deg,#e7f3fa,#f7fbfd)}body.light .recruitment-info-grid article{background:#eef4f8}
@media(max-width:720px){.recruitment-hero{min-height:62vh;padding:48px 18px}.recruitment-hero #recruitmentCompanyLogo{width:112px;height:112px}.recruitment-info-grid{grid-template-columns:1fr}.recruitment-copy-section{padding:38px 8px}.recruitment-pitch{padding-left:18px}.recruitment-content{padding:18px 12px 50px}}
