:root{--bg:#f3f6f5;--surface:#fff;--fg:#172b35;--muted:#526774;--border:#d7e1e2;--primary:#006b63;--soft:#e7f3ef;--danger:#a52d32;--warning:#865009;--blue:#285e9b}*{box-sizing:border-box}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--fg);line-height:1.55;font-size:16px}h1,h2,h3{line-height:1.2;letter-spacing:-.025em;margin:0 0 1rem}h1{font-size:clamp(1.65rem,3vw,2.15rem)}h2{font-size:1.3rem}h3{font-size:1.05rem}p{margin:.65rem 0}a{color:var(--primary);text-underline-offset:3px}button,input,select,textarea{font:inherit}.btn,button{min-height:44px;padding:.65rem 1rem;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--primary);font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.45rem}button:disabled{opacity:.55;cursor:not-allowed}.btn-primary,button.primary{background:var(--primary);border-color:var(--primary);color:white}.btn-danger{color:var(--danger)}input:not([type=hidden]):not([type=checkbox]):not([type=radio]),select,textarea{min-height:44px;width:100%;padding:.65rem .75rem;border:1px solid var(--border);border-radius:7px;background:white;color:var(--fg)}input[type=checkbox],input[type=radio]{width:20px;height:20px;accent-color:var(--primary)}label{display:block;font-size:.9rem;font-weight:550;margin-bottom:.4rem}fieldset{border:0;padding:0;margin:0;min-width:0}legend{font-weight:650;margin-bottom:1rem}summary{cursor:pointer;color:var(--primary);font-weight:600;min-height:44px;padding:.65rem 0}details[open]>summary{margin-bottom:.5rem}:focus-visible{outline:3px solid var(--blue);outline-offset:3px}table{border-collapse:collapse;width:100%;background:white}th{text-align:left;font-size:.8rem;color:var(--muted);background:#edf2f1}td,th{padding:.8rem;border-bottom:1px solid var(--border);vertical-align:top}td a{font-weight:600}.table-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:9px}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere}.muted{color:var(--muted)}.small{font-size:.85rem}.mono{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.actions{display:flex;gap:.65rem;flex-wrap:wrap;align-items:center}.stack>*+*{margin-top:1rem}.grid{display:grid;grid-gap:1rem;gap:1rem}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1.25rem}.page-heading{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap}.page-heading p{color:var(--muted);margin:0}.badge{display:inline-flex;align-items:center;padding:.3rem .7rem;border-radius:20px;background:var(--soft);color:var(--primary);font-size:.8rem;font-weight:600}.badge-warning{background:#fbf0dc;color:var(--warning)}.badge-danger{background:#fae8e9;color:var(--danger)}.badge-muted{background:#e7ecee;color:var(--muted)}.badge-info{background:#eaf0f8;color:var(--blue)}.notice{padding:1rem;border-radius:8px;background:var(--soft);border:1px solid var(--border)}.notice-error{color:var(--danger);background:#fae8e9}.notice-warning{color:var(--warning);background:#fbf0dc}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:1rem;gap:1rem;margin:1rem 0 1.5rem}.stat{background:white;border:1px solid var(--border);border-radius:9px;padding:1rem}.stat strong{display:block;font-size:1.9rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat span{color:var(--muted);font-size:.85rem}.skip-link{position:fixed;top:-100px;left:1rem;z-index:100;background:white;padding:1rem}.skip-link:focus{top:1rem}.app-sidebar{position:fixed;inset:0 auto 0 0;width:224px;background:var(--fg);color:white;display:flex;flex-direction:column;padding:1.5rem 1rem;z-index:20;overflow-y:auto}.brand{font-size:1.55rem;font-weight:800;letter-spacing:.03em;text-decoration:none;color:inherit}.brand-caption{font-size:.65rem;letter-spacing:.12em;color:#b6cdd2;margin:.2rem 0 2rem}.app-sidebar nav{display:grid;grid-gap:.35rem;gap:.35rem}.app-sidebar nav a{min-height:44px;display:flex;align-items:center;padding:.7rem .8rem;color:#d7e5e7;text-decoration:none;border-radius:7px;font-size:.9rem}.app-sidebar nav a[aria-current=page]{background:var(--primary);color:white;font-weight:650}.nav-group{color:#b6cdd2;font-size:.65rem;letter-spacing:.1em;margin:1.6rem .8rem .5rem}.sidebar-user{margin-top:auto;padding:.8rem}.sidebar-user p{font-size:.85rem}.sidebar-user button{background:transparent;color:#d7e5e7;border-color:#526774}.app-frame{margin-left:224px}.app-topbar{background:white;border-bottom:1px solid var(--border);padding:1rem 1.5rem;display:flex;align-items:center;gap:1.25rem;justify-content:space-between}.search-entry{display:flex;gap:.4rem;max-width:440px;flex:1 1}.search-entry input{background:var(--bg)!important}.recording-context{display:flex;align-items:center;gap:.65rem;font-size:.85rem}.recording-context label{margin:0;white-space:nowrap;color:var(--primary)}.recording-context select{max-width:250px}.app-main{padding:2rem;max-width:1500px;margin:0 auto}.mobile-brand,.mobile-nav{display:none}.stepper{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:.6rem;gap:.6rem;margin:1.25rem 0}.stepper span{font-size:.85rem;padding:.65rem;border-radius:7px;background:white;border:1px solid var(--border)}.stepper [aria-current=step]{background:var(--soft);color:var(--primary);font-weight:650;border-color:var(--primary)}.identity-strip{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;padding:1rem;background:white;border:1px solid var(--border);border-radius:8px;margin:1rem 0}.choice{display:block;text-align:left;padding:1rem;width:100%;color:var(--fg)}.choice[aria-pressed=true]{border:2px solid var(--primary);background:var(--soft)}.choice span,.choice strong{display:block}.choice span{color:var(--muted);font-weight:400;font-size:.85rem;margin-top:.35rem}.field{margin-bottom:1rem}.review-grid{display:grid;grid-template-columns:140px 1fr;grid-gap:.65rem;gap:.65rem}.form-footer{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-top:1.5rem}.login-page{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr}.login-brand{background:var(--fg);color:white;padding:clamp(2rem,7vw,7rem);display:flex;flex-direction:column;justify-content:center}.login-brand h1{font-size:clamp(2rem,4vw,3.5rem);margin-top:3rem}.login-card{align-self:center;width:min(100% - 3rem,440px);margin:2rem auto}.login-card form{padding:2rem}.timeline{list-style:none;padding:0;margin:0}.timeline li{border-left:2px solid var(--border);padding:0 0 1.5rem 1rem;margin-left:.4rem;position:relative}.timeline li:before{content:"";position:absolute;left:-5px;top:7px;width:8px;height:8px;border-radius:50%;background:var(--primary)}.tabs{gap:.5rem;margin:1rem 0}.tabs a{padding:.6rem .9rem;min-height:44px;border:1px solid var(--border);border-radius:22px;text-decoration:none;background:white}.tabs a[aria-current=page]{background:var(--soft);border-color:var(--primary)}.work-card{margin-bottom:1rem}.work-card .page-heading{margin-bottom:.5rem}.work-card h2{margin:0}.data-list{grid-gap:1rem}.data-list,.data-row{display:grid;gap:1rem}.data-row{grid-template-columns:1.5fr 1fr 1fr 1fr;grid-gap:1rem;align-items:center;padding:1rem;border-bottom:1px solid var(--border)}.data-row:last-child{border-bottom:0}.data-label{display:block;font-size:.75rem;color:var(--muted)}.screen-reader{position:absolute;width:1px;height:1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%)}@media(max-width:1100px){.app-sidebar{width:192px}.app-frame{margin-left:192px}.app-main{padding:1.4rem}.app-topbar{flex-wrap:wrap}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.app-sidebar{display:none}.app-frame{margin:0}.app-main{padding:1.2rem 1rem 6rem}.app-topbar{padding:.8rem 1rem;gap:.75rem}.mobile-brand{display:block;font-weight:800}.search-entry{order:3;max-width:none;flex-basis:100%}.recording-context{margin-left:auto;max-width:80%}.recording-context select{max-width:180px;font-size:.8rem}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;justify-content:space-around;border-top:1px solid var(--border);background:white;padding:.35rem .25rem max(.35rem,env(safe-area-inset-bottom))}.mobile-nav a{display:flex;min-width:48px;min-height:48px;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;font-size:.7rem;color:var(--muted)}.mobile-nav a[aria-current=page]{color:var(--primary);font-weight:700}.grid-2,.grid-3{grid-template-columns:1fr}.panel{padding:1rem}.stepper{gap:.3rem}.stepper span{font-size:.7rem;padding:.6rem .35rem}.review-grid{grid-template-columns:1fr;gap:.2rem}.review-grid dd{margin-bottom:.7rem}.data-row{grid-template-columns:1fr 1fr}.login-page{grid-template-columns:1fr}.login-brand{padding:1.5rem}.login-brand h1{font-size:1.7rem;margin:1.2rem 0}.login-card{width:calc(100% - 2rem)}.login-card form{padding:1.2rem}.form-footer{flex-wrap:wrap}.form-footer button{flex:1 1}.identity-strip{gap:.5rem}.page-heading{align-items:flex-start}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation:none!important;transition:none!important}}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:12px;gap:12px;margin:20px 0}.metric{background:var(--surface,#fff);border:1px solid var(--border);padding:18px;border-radius:10px;display:flex;flex-direction:column;gap:6px}.metric strong{font-size:28px}.two-column{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}.filter-row{display:flex;flex-wrap:wrap;align-items:end;gap:14px}.filter-row label{display:grid;grid-gap:6px;gap:6px}.table-scroll{overflow:auto;max-width:100%}.tabs{display:flex;flex-wrap:wrap;gap:6px;margin:20px 0}.tabs a{padding:9px 14px;border-radius:7px}.tabs a[aria-current=page]{background:#d9efeb;color:#155e53;font-weight:700}.audit-json{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.timeline article{display:grid;grid-template-columns:180px 1fr;grid-gap:18px;gap:18px;padding:12px 0;border-bottom:1px solid var(--border)}.timeline time{font-size:12px;color:var(--muted)}.panel article{border-bottom:1px solid var(--border);padding:10px 0}.button-primary{background:#17695e!important;color:white!important}.badge.warning{background:#fff0d5;color:#8b520c}@media(max-width:767px){.two-column{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr}.timeline article{grid-template-columns:1fr;gap:4px}.filter-row input,.filter-row label,.filter-row select{width:100%}}html{text-size-adjust:100%}.app-main,.data-row,.identity-strip,.metric,.panel{min-width:0}.table-scroll{-webkit-overflow-scrolling:touch}.table-scroll td>a{display:inline-flex;align-items:center;min-height:44px}[tabindex],button,input,select,summary,textarea{scroll-margin-bottom:6rem}@media(max-width:767px){.app-main{padding:1.2rem 1rem calc(6rem + env(safe-area-inset-bottom))}.app-topbar{align-items:flex-start}.recording-context{width:100%;max-width:none;margin-left:0;flex-wrap:wrap}.recording-context select{max-width:none;min-width:0;flex:1 1 12rem}}@media(max-width:420px){.stepper{grid-template-columns:repeat(2,minmax(0,1fr))}.data-row,.metrics,.stats{grid-template-columns:1fr}.form-footer{align-items:stretch}.form-footer button{width:100%}}@supports selector(body:has(input:focus)){@media(max-width:767px){body:has(input:focus:not([type=checkbox]):not([type=radio]),select:focus,textarea:focus) .mobile-nav{display:none}body:has(input:focus:not([type=checkbox]):not([type=radio]),select:focus,textarea:focus) .app-main{padding-bottom:1.2rem}}}.tablet-nav{display:none}@media(min-width:768px) and (max-width:1199px){.app-sidebar{display:none}.app-frame{margin-left:0}.tablet-nav{display:block;position:relative;flex:0 0 auto}.tablet-nav>summary{display:flex;align-items:center;justify-content:center;min-height:44px;padding:.65rem 1rem;margin:0;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--primary);font-weight:650;cursor:pointer;list-style:none}.tablet-nav>summary::-webkit-details-marker{display:none}.tablet-nav-panel{position:absolute;top:calc(100% + .55rem);left:0;z-index:40;width:min(320px,calc(100vw - 2rem));max-height:calc(100vh - 7rem);overflow:auto;padding:1rem;border:1px solid var(--border);border-radius:9px;background:var(--surface);box-shadow:0 12px 32px rgba(23,43,53,.18)}.tablet-nav-panel nav{display:grid;grid-gap:.3rem;gap:.3rem}.tablet-nav-panel nav a{display:flex;align-items:center;min-height:44px;padding:.65rem .75rem;border-radius:7px;text-decoration:none}.tablet-nav-panel nav a[aria-current=page]{background:var(--soft);color:var(--primary);font-weight:650}.tablet-nav-panel .nav-group{margin:1rem .75rem .35rem;color:var(--muted)}.tablet-nav-panel form{margin-top:1rem}}.renewal-primary{grid-template-columns:repeat(3,minmax(0,1fr))}.home-renewals{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:767px){.home-renewals,.renewal-primary{grid-template-columns:repeat(2,minmax(0,1fr))}}.worklist-contact-status{max-width:100%;white-space:normal;overflow-wrap:anywhere;border:1px solid;font-weight:700;letter-spacing:.025em}.import-steps{display:flex;flex-wrap:wrap;gap:.75rem 2rem;padding-left:1.4rem;color:var(--muted)}.import-steps [aria-current=step]{font-weight:700;color:var(--primary)}.import-mapping{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));grid-gap:1rem;gap:1rem}.import-mapping label{min-width:0}.import-mapping small{display:block;overflow-wrap:anywhere}.import-confirm{display:flex;align-items:flex-start;gap:.75rem}.import-confirm input{flex-shrink:0}.metrics [aria-current=page]{border-color:var(--primary)}.navigation-brand{display:flex;align-items:center;justify-content:space-between;gap:1rem}.navigation-brand .brand-caption{margin:.2rem 0 1.25rem;text-transform:uppercase}.navigation-content{display:flex;flex-direction:column;flex:1 1;min-height:0}.navigation-create{margin-bottom:1rem;flex-shrink:0}.app-sidebar .navigation-links{display:flex;flex-direction:column;gap:.25rem}.app-sidebar .navigation-group summary{color:#d7e5e7;padding:.7rem .8rem;font-size:.9rem;border-radius:7px}.navigation-group[open]>summary{margin-bottom:0}.navigation-children{display:grid;border-left:1px solid #526774;margin-left:.8rem;padding-left:.4rem}.app-sidebar .navigation-group:has([aria-current=page])>summary{color:white;font-weight:700}.app-sidebar .sidebar-user{padding-top:1.5rem;overflow-wrap:anywhere}.navigation-toggle{display:none}@media(max-width:1199px){.app-sidebar{display:flex;position:relative;inset:auto;width:100%;padding:.75rem 1rem;overflow:visible}.app-frame{margin-left:0}.navigation-brand .brand-caption{margin:0;font-size:.6rem}.navigation-toggle{display:inline-flex;background:transparent;color:white;border-color:#526774}.navigation-content{display:none}.navigation-content[data-open=true]{display:flex;max-height:calc(100dvh - 6rem);overflow-y:auto;padding-top:1rem}.app-main{padding-bottom:1.5rem}}.navigation-links a{display:flex;align-items:center;min-height:44px;padding:.65rem .8rem;text-decoration:none;border-radius:7px}.navigation-links a[aria-current=page]{background:var(--soft);font-weight:650}.renewal-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1rem 1.25rem;margin-bottom:.9rem;display:grid;grid-gap:.65rem;gap:.65rem;min-width:0;overflow-wrap:anywhere}.renewal-card p{margin:0}.renewal-identity h3{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem;margin:0 0 .35rem;font-size:1.15rem}.renewal-service{font-size:.8rem;font-weight:700;background:var(--bg);border:1px solid var(--border);border-radius:5px;padding:.2rem .5rem}.renewal-expiry{display:flex;gap:.3rem 1rem;flex-wrap:wrap;align-items:baseline}.renewal-expired{color:#b91c1c}.renewal-history{display:flex;gap:.3rem 1rem;flex-wrap:wrap;color:var(--muted)}.renewal-contact-history{display:grid;grid-gap:.4rem;gap:.4rem}.renewal-contact-history>.badge{justify-self:start}.renewal-contact{min-width:0}.renewal-contact-actions>span{font-weight:700;overflow-wrap:anywhere}.renewal-contact button{max-width:100%;white-space:normal}.renewal-follow-up,.renewal-reminder{border-top:1px solid var(--border);margin-top:.5rem;min-width:0}.renewal-reminder .stack{max-width:40rem;padding-bottom:.5rem;min-width:0}.renewal-reminder select{min-width:0;max-width:100%}.renewal-reminder .stack>button{justify-self:start}.renewal-date-ranges{margin-top:.75rem}.renewal-date-ranges>summary{font-weight:700;font-size:1.1rem}@media(max-width:600px){.renewal-card{padding:1rem}.renewal-history{display:grid}.renewal-contact-actions>span{flex-basis:100%}.renewal-follow-up label{width:100%;min-width:0!important}.renewal-follow-up input,.renewal-follow-up select{min-width:0!important;max-width:100%}}.staff-policy-details{display:flex;flex-wrap:wrap;gap:.5rem 2rem;margin:0}.staff-policy-details div{min-width:0;overflow-wrap:anywhere}.staff-policy-details dt{font-size:.8rem;color:var(--muted)}.staff-policy-details dd{margin:0}.staff-month-total{font-size:2rem}.staff-renewed-list{padding:0;list-style:none}.staff-renewed-list li{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.6rem 0;border-bottom:1px solid var(--border);overflow-wrap:anywhere}