@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:light;--ink:#192a36;--muted:#70818b;--line:#dae2e7;--line-soft:#edf0f2;--brand:#167d8f;--brand-strong:#105f6d;--sidebar:#102330;--sidebar-2:#152d3b;--paper:#fff;--surface:#f4f6f8;--danger:#aa3541}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;font:14px "DM Sans",system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--surface);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,p{margin-top:0}
h1,h2,h3,.sidebar-brand,.brand-mark{font-family:"Manrope","DM Sans",sans-serif}
h1{font-size:30px;line-height:1.18;letter-spacing:-1px}
h2{font-size:18px;line-height:1.25;letter-spacing:-.4px}
h3{font-size:15px;line-height:1.3}
p{line-height:1.6}
button,input,textarea,select{font:inherit}
button{border-radius:0;cursor:pointer;transition:background .16s,border-color .16s,color .16s}
button:disabled{opacity:.46;cursor:not-allowed}
a{color:var(--brand-strong)}
[hidden]{display:none!important}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #47b5cd;outline-offset:2px}
.brand-mark{display:grid;place-items:center;flex:none;width:42px;height:42px;border:1px solid #7fbdc7;background:var(--brand);color:white;font-size:25px;font-weight:800;letter-spacing:-2px}
.eyebrow,.signin-secure,.page-eyebrow,.sidebar-workspace,.nav-group,.sidebar-footer-title{font-weight:800;font-size:10px;letter-spacing:1.7px;text-transform:uppercase}
.status-dot{width:7px;height:7px;border-radius:50%;background:#32c5a6;display:inline-block;box-shadow:0 0 0 3px rgba(50,197,166,.12)}
.muted{color:var(--muted)}
/* Single, private, employee-only login */
.signin-layout{min-height:100vh;display:grid;grid-template-columns:1.03fr .97fr;background:var(--paper)}
.signin-intro{background:var(--sidebar);color:#f1f7f8;padding:44px clamp(30px,6vw,92px) 30px;display:flex;flex-direction:column;position:relative;isolation:isolate;overflow:hidden}
.signin-intro:before{content:"";position:absolute;inset:-10% -40% -20% -15%;z-index:-1;opacity:.45;background:repeating-linear-gradient(0deg,transparent 0,transparent 49px,#335365 50px),repeating-linear-gradient(90deg,transparent 0,transparent 49px,#335365 50px);transform:perspective(480px) rotateX(15deg) rotateZ(-18deg);mask-image:linear-gradient(100deg,transparent,#000)}
.signin-intro:after{content:"";position:absolute;bottom:-160px;right:-260px;width:560px;height:560px;border:1px solid #2d6474;border-radius:50%;box-shadow:0 0 0 90px rgba(39,108,127,.07),0 0 0 180px rgba(39,108,127,.05);z-index:-1}
.signin-brand{display:flex;align-items:center;gap:13px;font-family:"Manrope",sans-serif;font-weight:800;font-size:15px;letter-spacing:2.3px}
.signin-brand small{font-size:9px;color:#74a6b2;margin-left:6px}
.signin-intro-body{margin:auto 0;max-width:620px;padding:64px 0}
.signin-intro .eyebrow{color:#6ac4d3;margin-bottom:20px}
.signin-intro h1{font-size:clamp(42px,5vw,68px);line-height:1.09;font-weight:800;letter-spacing:-2.6px;margin:0 0 24px}
.intro-accent{color:#5ac9d6}
.signin-intro-body>p{font-size:16px;line-height:1.9;color:#acc0c9;max-width:520px}
.signin-principles{margin-top:56px;max-width:485px;border-top:1px solid rgba(195,216,223,.22)}
.signin-principles>div{display:flex;gap:20px;align-items:center;min-height:57px;border-bottom:1px solid rgba(195,216,223,.16);font-weight:500;color:#d7e4e8}
.principle-no{font:11px "Manrope",sans-serif;font-weight:800;letter-spacing:1px;color:#68bece;min-width:26px}
.signin-foot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:#77929f;font-size:10px;letter-spacing:1.2px;font-weight:700}
.signin-auth{min-height:100vh;padding:36px clamp(26px,6vw,105px);display:flex;flex-direction:column;justify-content:center;align-items:center}
.signin-panel{width:100%;max-width:440px}
.signin-secure{display:inline-flex;gap:12px;align-items:center;color:#536d7b;margin-bottom:35px}
.signin-panel h2{font-size:39px;letter-spacing:-1.7px;font-weight:800;margin:0 0 15px;color:#152631}
.signin-help{font-size:15px;color:#6c7f8a;max-width:390px;line-height:1.8;margin-bottom:39px}
.signin-panel form{display:grid;gap:0;max-width:none}
.signin-panel label{font-size:12px;letter-spacing:.1px;font-weight:700;color:#273c48;margin-bottom:10px}
.signin-panel input{width:100%;height:52px;padding:0 15px;border:1px solid #cdd8de;color:#182d36;background:#fff;outline:none;border-radius:0;margin-bottom:21px}
.signin-panel input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(32,141,157,.09)}
.signin-panel input::placeholder{color:#9eabb3}
.pin-wrap{position:relative}
.pin-wrap input{padding-right:70px}
.pin-wrap button{position:absolute;right:5px;top:6px;font-size:12px;height:40px;padding:0 13px;border:0;background:#fff;color:#627782}
.sign-in-submit{height:52px;width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 20px;font-weight:700;margin:10px 0 12px}
.sign-in-submit span{font-size:20px;font-weight:400}
.auth-message{margin:4px 0 0;font-size:12px;min-height:18px;color:var(--danger)}
.signin-disclaimer{border-top:1px solid var(--line);margin-top:42px;padding-top:23px;display:flex;align-items:flex-start;gap:11px;font-size:12px;line-height:1.7;color:#7a8a94}
.shield-icon{font-size:21px;color:var(--brand)}
.signin-auth-footer{position:absolute;bottom:22px;text-align:center;font-size:10px;letter-spacing:1.1px;color:#a6b1b8;font-weight:700;margin:0}
.primary,button.primary{background:var(--brand-strong);color:#fff;border:1px solid var(--brand-strong);font-weight:700;padding:11px 16px}
.primary:hover,button.primary:hover{background:#0f4c57}
.secondary-btn{border:1px solid var(--line);padding:10px 16px;background:#fff;color:#344c59;font-weight:700;font-size:12px}
.secondary-btn:hover{background:#e6f0f2;border-color:#9ec9d0}
button:not(.primary):not(.active):hover{border-color:#9bc3cb}
/* Authenticated workspace layout */
.workspace-shell{min-height:100vh;display:flex}
.workspace-sidebar{display:flex;flex-direction:column;flex:none;position:sticky;top:0;height:100vh;width:255px;background:var(--sidebar);color:#d8e5e9;z-index:20;border-right:1px solid #263e4a}
.sidebar-brand{height:78px;padding:17px 22px;display:flex;align-items:center;gap:13px;border-bottom:1px solid #2a4350}
.sidebar-brand .brand-mark{width:39px;height:39px;font-size:22px}
.sidebar-brand strong{display:block;color:#f5fafb;font-size:14px;font-weight:800;letter-spacing:1.5px}
.sidebar-brand span:not(.brand-mark){display:block;font-size:10px;color:#8babb8;letter-spacing:.1px;margin-top:4px}
.sidebar-workspace{padding:28px 24px 11px;display:flex;justify-content:space-between;color:#638291}
.workspace-indicator{width:6px;height:6px;border-radius:50%;background:#49c3b7}
.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:4px 10px 24px;scrollbar-color:#476271 transparent;scrollbar-width:thin}
.nav-group{margin:17px 12px 9px;color:#7494a3;font-size:9px}
.sidebar-nav button{display:flex;align-items:center;gap:12px;width:100%;min-height:39px;border:0;border-left:2px solid transparent;padding:8px 11px;color:#afc4cd;background:transparent;text-align:left;font-size:12px;font-weight:600}
.sidebar-nav button:hover{color:white;background:#193442;border-color:transparent}
.sidebar-nav button.active{border-left-color:#5fd1d9;background:#1d414e;color:#f4fafb}
.sidebar-nav .nav-glyph{font-size:10px;flex:none;display:grid;place-items:center;width:23px;height:23px;background:#203846;color:#a3c5ce;font-weight:800;letter-spacing:-.2px}
.sidebar-nav button.active .nav-glyph{background:#205d69;color:#d9fcff}
.sidebar-footer{padding:20px 23px;border-top:1px solid #284350;color:#83a0ab}
.sidebar-footer-title{color:#72b9c4;letter-spacing:1.1px;font-size:9px}
.sidebar-footer p{font-size:10px;margin:8px 0 0}
.workspace-frame{display:flex;flex:1;min-width:0;flex-direction:column}
.workspace-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:78px;padding:12px 35px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:12}
.header-left,.header-right{display:flex;align-items:center;gap:20px}
.header-right{gap:16px;min-width:0}
.header-path{display:flex;align-items:center;gap:13px;letter-spacing:1.1px;font-size:10px;color:#8fa1aa;font-weight:700}
.header-path strong{color:#375463;font-weight:800}
.path-separator{color:#c7d2d6}
.workspace-status{display:flex;align-items:center;gap:9px;color:#718994;font-size:9px;letter-spacing:.9px;font-weight:800;white-space:nowrap}
.header-identity{font-size:11px;max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#42606d;font-weight:600;border-left:1px solid var(--line);padding-left:17px}
.logout-btn{padding:9px 13px;background:transparent;border:1px solid var(--line);font-size:11px;font-weight:700;color:#314958;white-space:nowrap}
.icon-btn{border:1px solid var(--line);padding:8px 11px;background:#fff;display:none;color:#39515c}
.workspace-content{padding:34px clamp(20px,3vw,48px) 70px;min-height:calc(100vh - 78px);max-width:1800px;width:100%;margin:0 auto}
.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding-bottom:28px;border-bottom:1px solid var(--line)}
.page-eyebrow{color:var(--brand-strong);font-size:10px;margin-bottom:9px}
.page-heading h1{font-weight:800;font-size:28px;letter-spacing:-1px;margin:0 0 9px}
.page-heading p{margin:0;color:#748590;font-size:13px;line-height:1.6}
.page-toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap}
.role-switch{display:grid;gap:5px;color:#708692;font-size:9px;font-weight:800;letter-spacing:1px}
.role-switch select{font-size:11px;min-width:155px;max-width:285px;height:36px;padding:7px 26px 7px 10px}
.operations-content{margin-top:22px}
.operations-content>.panel:first-child,.operations-content>.hero:first-child{margin-top:0}
.operations-content .hero{background:#0f2936;color:#eef6f7;border-left:3px solid #3aa6ba;padding:25px 28px;margin:0 0 17px}
.operations-content .hero h1{font-size:20px;letter-spacing:-.7px;margin:0 0 6px}
.operations-content .hero p{font-size:12px;color:#a9c0ca;line-height:1.8;margin:0}
.panel{background:var(--paper);border:1px solid var(--line);padding:22px 25px;margin:16px 0 0;box-shadow:0 1px 2px rgba(18,46,60,.018)}
.panel h2{font-size:15px;font-weight:800;margin:0 0 18px;letter-spacing:-.3px;color:#233946}
.panel h3{margin:15px 0 10px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:13px;margin:0 0 17px}
.grid>.panel{margin:0!important}
.metric{font-size:26px;letter-spacing:-.9px;font-family:"Manrope",sans-serif;font-weight:800;color:#234556}
.metric small{display:block;color:#738793;font:10px "DM Sans",sans-serif;letter-spacing:.3px;margin-top:11px}
.metric.panel{min-height:119px;padding:21px 22px;border-top:3px solid #a6c8d0}
.operations-content .panel .grid{margin-bottom:0}
.row{padding:13px 0;border-bottom:1px solid var(--line-soft);line-height:1.65}
.row:last-child{border:0}
.row strong{font-size:12px;font-weight:700}
.row .muted{font-size:12px;margin-top:3px}
.pill{font-size:10px;letter-spacing:.2px;padding:3px 7px;background:#e9f3f5;color:#255967;font-weight:800;margin-left:9px}
.empty{font-size:12px;border:1px dashed #d7e0e5;padding:24px;background:#f8fafb;color:#7a8c97}
.ok,.error{padding:13px 15px;line-height:1.6;font-size:12px;overflow-wrap:anywhere;border-left:3px solid}
.ok{background:#eaf7f2;color:#225c49;border-color:#35a786}
.error{background:#fff0f0;color:#a43741;border-color:#d34d55}
code{font-family:ui-monospace,monospace;font-size:12px;overflow-wrap:anywhere}
form{display:grid;gap:13px;max-width:830px}
form label{display:grid;gap:7px;color:#405969;font-size:11px;font-weight:800;letter-spacing:.2px}
form input,form textarea,form select{width:100%;border:1px solid #ccd8dd;background:white;min-height:39px;border-radius:0;padding:9px 11px;font-size:12px;color:#223945;outline:none}
form textarea{min-height:105px;resize:vertical}
form input:focus,form select:focus,form textarea:focus{border-color:#2598aa;box-shadow:0 0 0 2px rgba(37,152,170,.1)}
form button:not(.primary){padding:10px 13px;border:1px solid #c5d5db;background:#edf4f5;color:#255c6b;font-size:12px;font-weight:700}
form button[type="submit"]{justify-self:start}
.panel>button,.operations-content .row button,.operations-content td button{padding:7px 10px;margin:2px;border:1px solid #b9cdd5;background:#eff6f7;color:#1b6370;font-size:11px;font-weight:700}
.operations-content table{border-collapse:collapse;width:100%;min-width:590px;font-size:11px}
.operations-content table thead{background:#f6f8f9}
.operations-content table th{padding:12px 14px;text-align:left;color:#667d88;font-size:9px;text-transform:uppercase;letter-spacing:.65px;white-space:nowrap;font-weight:800;border-bottom:1px solid #d7e2e6}
.operations-content table td{padding:13px 14px;border-bottom:1px solid #edf1f2;vertical-align:middle;color:#314b59;font-size:11px;line-height:1.5}
.operations-content table tbody tr:hover{background:#f8fbfc}
.operations-content table tbody tr:last-child td{border-bottom:0}
.operations-content .panel>div[style*="overflow:auto"]{overflow:auto}
.operations-content .panel .form-result{font-size:12px;color:#677e8a}
.sidebar-scrim{position:fixed;inset:0;background:#0c192a77;z-index:18}
body.sidebar-open{overflow:hidden}
@media(min-width:1500px){.workspace-sidebar{width:270px}.workspace-header{padding-left:43px;padding-right:43px}}
@media(max-width:1180px){.workspace-status{display:none}.workspace-sidebar{width:235px}.workspace-header{padding:12px 24px}.workspace-content{padding:30px 22px 55px}.header-identity{max-width:210px}}
@media(max-width:920px){.workspace-sidebar{position:fixed;top:0;left:0;height:100vh;transform:translateX(-100%);transition:transform .18s ease;width:260px;box-shadow:8px 0 24px #09141b1c}.sidebar-open .workspace-sidebar{transform:translateX(0)}.icon-btn{display:block}.workspace-content{padding:25px 17px 50px}.workspace-header{min-height:65px;padding:9px 17px}.header-identity{display:none}.page-heading{align-items:flex-start;flex-direction:column}.page-toolbar{width:100%;align-items:center}.signin-layout{grid-template-columns:1fr}.signin-intro{min-height:260px;padding:25px 32px}.signin-intro-body{padding:24px 0 10px}.signin-intro h1{font-size:38px;margin-bottom:13px}.signin-intro-body>p{font-size:13px;line-height:1.6}.signin-principles,.signin-foot{display:none}.signin-auth{min-height:auto;padding:50px 24px 80px}.signin-auth-footer{position:static;margin-top:34px}.signin-secure{margin-bottom:22px}}
@media(max-width:600px){.page-heading h1{font-size:25px}.workspace-header{gap:10px}.header-left{gap:8px}.header-right{gap:8px}.header-path{gap:6px;font-size:9px}.workspace-header .logout-btn{font-size:10px;padding:8px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.panel{padding:17px 14px}.metric{font-size:22px}.metric.panel{padding:17px 13px}.operations-content .hero{padding:19px}.role-switch{max-width:100%;flex:1}.role-switch select{width:100%;min-width:0}.signin-panel h2{font-size:31px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* Communications login: deliberately only the essential controls. */
.simple-login{min-height:100dvh;display:grid;place-items:center;padding:22px;background:#f3f6f8}
.simple-login-card{width:min(100%,380px);padding:35px 32px 30px;background:#fff;border:1px solid #dfe7eb}
.simple-brand{display:flex;align-items:center;gap:9px;font-family:"Manrope",system-ui,sans-serif;font-size:13px;font-weight:800;letter-spacing:1.5px;color:#183541}
.simple-mark{width:31px;height:31px;display:grid;place-items:center;background:#126a7a;color:white;font-size:18px;font-weight:800}
.simple-login-card h1{margin:32px 0 29px;font-size:27px;font-weight:800;letter-spacing:-1px}
.simple-login-card form{max-width:none;display:block}
.simple-login-card label{display:block;font-size:12px;font-weight:700;color:#3e5661;letter-spacing:0;margin:0 0 8px}
.simple-login-card input{width:100%;height:45px;padding:0 12px;border:1px solid #c7d4da;background:#fff;border-radius:0;font-size:13px;color:#233c48;margin:0 0 19px}
.simple-login-card input:focus{outline:2px solid #9cced6;outline-offset:0;border-color:#1f8b9c}
.simple-login-card button[type="submit"]{width:100%;height:46px;text-align:center;padding:0 16px;font-size:13px;font-weight:700;margin-top:7px}
.simple-login-card .auth-message{min-height:0;margin:12px 0 0;color:#af3140;font-size:12px;line-height:1.6}
.simple-login-card .auth-message:empty{display:none}
@media(max-width:480px){.simple-login{padding:16px}.simple-login-card{padding:29px 23px}}
