@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-variable.ttf') format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
:root{--ink:#132d37;--teal:#137d83;--muted:#687b83;--line:#e0e7e9;--paper:#fff;--wash:#f7faf9}
*{box-sizing:border-box}html{font-family:Manrope,Arial,sans-serif;color:var(--ink);background:var(--paper)}body{margin:0}button,input{font:inherit}button{cursor:pointer}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--teal);outline-offset:3px}.wordmark{display:inline-flex;align-items:center;gap:.65rem;font-size:1.25rem;font-weight:800;letter-spacing:-.06em;text-decoration:none}.wordmark-mark{display:grid;place-items:center;width:2rem;height:2rem;border-radius:.48rem;background:var(--teal);color:#fff;font-size:1.2rem}.wordmark-accent{color:var(--teal)}.eyebrow{margin:0 0 1rem;color:var(--teal);font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.heading-stop{color:var(--teal)}.muted,.field-help,.page-heading p,.login-intro p{color:var(--muted);line-height:1.7}.login-page{min-height:100svh;display:flex;flex-direction:column;padding:0 clamp(1.5rem,5vw,5rem)}.login-header,.login-footer{display:flex;align-items:center;justify-content:space-between;min-height:6rem;border-bottom:1px solid var(--line)}.login-header-note,.login-footer{font-size:.78rem;color:var(--muted)}.login-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(19rem,27rem);gap:clamp(2rem,8vw,9rem);align-items:center;flex:1;width:min(100%,76rem);margin:auto;padding:4rem 0}.login-intro h1,.page-heading h1{margin:0;font-size:clamp(2.8rem,5vw,5.2rem);font-weight:500;letter-spacing:-.075em;line-height:1.08}.login-intro>p:last-child{max-width:27rem;margin-top:1.6rem;font-size:1.08rem}.login-panel{padding:2.2rem;border:1px solid var(--line);border-radius:.6rem;background:var(--paper)}.login-panel h2{margin:0;font-size:1.5rem;font-weight:600;letter-spacing:-.05em}.login-panel .muted{margin:.5rem 0 2rem;font-size:.9rem}.login-panel label,.drawer-body label:not(.check-row){display:block;margin:1.25rem 0 .45rem;font-size:.83rem;font-weight:700}.login-panel input:not([type=hidden]),.drawer-body input:not([type=checkbox]):not([type=hidden]),.notice input{display:block;width:100%;padding:.9rem 1rem;border:1px solid #cbd7da;border-radius:.32rem;background:#fff;color:var(--ink)}.login-panel input:focus,.drawer-body input:focus{border-color:var(--teal)}.button-primary,.button-danger{display:inline-flex;justify-content:space-between;align-items:center;gap:1.5rem;min-height:2.85rem;padding:.75rem 1.1rem;border:1px solid var(--brand-primary,var(--teal));border-radius:.32rem;background:var(--brand-primary,var(--teal));color:var(--brand-on-primary,#fff);font-weight:700;text-decoration:none}.login-panel .button-primary{width:100%;margin-top:1.8rem}.button-primary:hover{background:var(--brand-hover,var(--teal))}.button-danger{border-color:#a24141;background:#a24141}.form-error{padding:.85rem 1rem;border-left:3px solid #a24141;background:#fff3f1;color:#7f2525;font-size:.85rem}.login-footer{min-height:4.7rem;border-top:1px solid var(--line);border-bottom:0;gap:1rem}.field-help{font-size:.8rem}.portal-header{display:flex;align-items:center;gap:2rem;min-height:5.2rem;padding:0 clamp(1.5rem,3vw,3rem);border-bottom:1px solid var(--line)}.portal-company{margin-left:auto;color:var(--muted);font-size:.86rem}.portal-layout{display:grid;grid-template-columns:13rem minmax(0,1fr);min-height:calc(100svh - 5.2rem)}.portal-nav{display:flex;flex-direction:column;gap:.3rem;padding:2rem 1rem;border-right:1px solid var(--line)}.portal-nav a{padding:.7rem 1rem;border-radius:.25rem;text-decoration:none;color:var(--muted);font-size:.86rem;font-weight:650}.portal-nav a:hover,.portal-nav a[aria-current=page]{background:#eaf4f3;color:var(--teal)}.portal-main{min-width:0;padding:clamp(2rem,4vw,4rem);max-width:92rem;width:100%}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:3rem}.page-heading h1{font-size:clamp(2.5rem,4vw,4rem)}.page-heading p:last-child{margin-bottom:0}.metric-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.metric-strip>div{display:flex;flex-direction:column;gap:.9rem;padding:1.6rem 1.2rem 1.8rem;border-right:1px solid var(--line)}.metric-strip>div:first-child{padding-left:0}.metric-strip>div:last-child{border-right:0}.metric-strip span{font-size:.8rem;color:var(--muted)}.metric-strip strong{font-size:clamp(2rem,3vw,3.1rem);font-weight:500;letter-spacing:-.07em}.section-block{margin-top:3rem;max-width:38rem}.section-block h2{font-size:1.2rem}.section-block p,.privacy-note{color:var(--muted);line-height:1.7}.table-wrap{overflow:auto;border-top:1px solid var(--line)}table{border-collapse:collapse;width:100%;min-width:45rem;text-align:left}th,td{padding:1rem .8rem;border-bottom:1px solid var(--line);font-size:.8rem;vertical-align:top}th{color:var(--muted);font-weight:700}td:first-child,th:first-child{padding-left:0}td:last-child,th:last-child{padding-right:0}.empty-state{padding:3rem!important;text-align:center;color:var(--muted)}.text-button,.icon-button{border:0;background:none;color:var(--teal);font-weight:700}.text-button:hover{text-decoration:underline}.notice{max-width:48rem;margin:0 0 2rem;padding:1.2rem 1.5rem;border-left:3px solid var(--teal);background:var(--wash)}.notice p{margin:.4rem 0 1rem;color:var(--muted)}.notice input{font-size:.8rem}.side-drawer{position:fixed;inset:0 0 0 auto;max-width:min(100%,32rem);width:100%;height:100%;max-height:100%;margin:0;padding:0;border:0;border-left:1px solid var(--line);background:#fff;color:var(--ink);box-shadow:-1rem 0 3rem #132d3720;transform:translateX(100%);transition:transform .28s ease;overflow:auto}.side-drawer[open]{transform:translateX(0)}.side-drawer::backdrop{background:#132d375c}.drawer-head{display:flex;justify-content:space-between;align-items:start;gap:1rem;padding:2rem;border-bottom:1px solid var(--line)}.drawer-head h2{margin:0;font-size:1.55rem;font-weight:600;letter-spacing:-.05em}.icon-button{font-size:2rem;line-height:1}.drawer-body{padding:2rem}.drawer-body>p{margin-top:0;color:var(--muted);line-height:1.7}.drawer-body fieldset{margin:1.7rem 0;padding:0;border:0}.drawer-body legend{margin-bottom:.7rem;font-weight:700}.check-row{display:flex;align-items:center;gap:.8rem;padding:.75rem 0;border-bottom:1px solid var(--line);font-size:.9rem}.check-row input{accent-color:var(--teal);width:1rem;height:1rem}.drawer-body .button-primary{margin-top:.5rem}
@media(max-width:760px){.login-content{grid-template-columns:1fr;gap:2rem;padding:3rem 0}.login-intro h1{font-size:3.5rem}.login-panel{padding:1.5rem}.login-footer{align-items:start;flex-direction:column;justify-content:center;padding:.8rem 0}.portal-layout{display:block}.portal-nav{flex-direction:row;overflow:auto;padding:1rem;border-right:0;border-bottom:1px solid var(--line)}.portal-nav a{white-space:nowrap}.portal-main{padding:2rem 1.5rem}.page-heading{align-items:start;flex-direction:column}.metric-strip{grid-template-columns:repeat(2,1fr)}.metric-strip>div:nth-child(2){border-right:0}.metric-strip>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.portal-company{display:none}}
@media(prefers-reduced-motion:reduce){.side-drawer{transition:none}}
.login-header{--login-header-height:6rem;min-height:var(--login-header-height)}
.login-header-brand{display:flex;align-items:center;min-width:0;max-width:min(55vw,32rem);height:calc(var(--login-header-height) - 10px);color:var(--ink);text-decoration:none}
.login-header-brand .staff-auth-logo{display:block;width:auto;max-width:100%;max-height:calc(var(--login-header-height) - 30px);margin:0;object-fit:contain}
.login-header-brand .wordmark{white-space:nowrap}
.login-page .button-primary{color:var(--brand-on-primary,#fff)}
.login-page .button-primary:hover{filter:none}
.staff-invitation-details{display:grid;gap:.65rem;margin:1.25rem 0;font:inherit}
.staff-invitation-details>div{display:grid;grid-template-columns:minmax(8rem,11rem) minmax(0,1fr);gap:1rem;align-items:baseline}
.staff-invitation-details dt,.staff-invitation-details dd{margin:0;font:inherit;line-height:1.55}
.staff-invitation-details dt{color:var(--muted)}
.staff-invitation-details dd{color:var(--ink);font-weight:650;overflow-wrap:anywhere}
@media(max-width:760px){.login-header-brand{max-width:58vw}.login-header-note{font-size:.7rem;text-align:right}.staff-invitation-details>div{grid-template-columns:minmax(6rem,8rem) minmax(0,1fr);gap:.65rem}}
.factor-option{padding-top:1.3rem;margin-top:1.3rem;border-top:1px solid var(--line)}.factor-option h3{margin:0;font-size:1rem}.factor-option p{color:var(--muted);font-size:.82rem;line-height:1.6}.factor-option .button-primary{margin-top:1.3rem}.notice-inline{padding:.7rem 1rem;background:#eaf4f3;color:var(--teal)!important}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.settings-section{padding:1.5rem 0;border-top:1px solid var(--line)}.settings-head{display:flex;align-items:start;justify-content:space-between;gap:1rem}.settings-head h2{margin:0;font-size:1.2rem}.settings-head p{color:var(--muted);font-size:.84rem;line-height:1.6}.status-pill{padding:.25rem .55rem;background:#eaf4f3;border-radius:2rem;color:var(--teal);font-size:.72rem;font-weight:800}.settings-section>.button-primary,.settings-section>form>.button-primary{margin-top:1rem}.settings-section>.text-button{margin:1rem}.settings-section input:not([type=hidden]){padding:.7rem;border:1px solid var(--line);border-radius:.3rem}.settings-section label{display:block;margin:1rem 0 .4rem;font-size:.82rem;font-weight:700}.passkey-list{padding:0;list-style:none}.passkey-list li{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line);font-size:.82rem}.passkey-list small{color:var(--muted)}.passkey-status{min-height:1.5rem;color:#a24141!important;font-size:.82rem}@media(max-width:760px){.settings-grid{grid-template-columns:1fr}}
