:root{color:#1f2b24;font-synthesis:none;background:#f3f5f1;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #f2b84b}button:disabled{cursor:not-allowed;opacity:.62}.shell{grid-template-columns:17rem minmax(0,1fr);width:100%;min-width:0;min-height:100vh;display:grid}.sidebar{color:#fff;background:#073d29;width:100%;min-width:0;height:100vh;padding:1.5rem;position:sticky;top:0;overflow-y:auto}.brand{filter:brightness(0)invert();width:12rem}.surface{color:#a9d4bd;letter-spacing:.12em;text-transform:uppercase;margin:1.5rem 0 1.75rem;font-size:.78rem;font-weight:800}.nav{gap:1.25rem;min-width:0;display:grid}.nav-group{gap:.45rem;min-width:0;display:grid}.nav-group-label{color:#82b79a;letter-spacing:.12em;text-transform:uppercase;margin:0;padding:0 .9rem;font-size:.68rem;font-weight:850}.nav-items{gap:.3rem;min-width:0;display:grid}.nav button{color:#dcebe3;overflow-wrap:anywhere;text-align:left;background:0 0;border:0;border-radius:.65rem;min-width:0;padding:.68rem .9rem}.nav button.active,.nav button:hover{color:#fff;background:#ffffff1f}.sidebar-logout{color:#fff;background:0 0;border:1px solid #ffffff3d;border-radius:.65rem;width:100%;margin-top:1.75rem;padding:.7rem}.content{min-width:0;padding:clamp(1.5rem,4vw,3.5rem)}.page{width:100%;min-width:0;max-width:76rem;margin:0 auto}.page-header{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.5rem;display:flex}.page-header--stacked{display:block}.page-header-main{gap:.75rem;min-width:0;display:grid}.page-header-row{justify-content:space-between;align-items:end;gap:1rem;min-width:0;display:flex}.eyebrow{color:#087245;letter-spacing:.1em;text-transform:uppercase;margin:0 0 .35rem;font-size:.76rem;font-weight:800}h1{letter-spacing:-.04em;margin:0;font-size:clamp(1.8rem,4vw,2.8rem)}.muted{color:#66736b}.button{color:#fff;background:#087245;border:1px solid #0b6b43;border-radius:.65rem;padding:.7rem 1rem;font-weight:750}.button.secondary{color:#164d35;background:#fff}.button.danger{background:#a63232;border-color:#a63232}.toolbar{flex-wrap:wrap;align-items:end;gap:.75rem;margin-bottom:1rem;display:flex}.grow{flex:1}.field{gap:.35rem;display:grid}.field label{color:#44534a;font-size:.82rem;font-weight:700}.field input,.field select{background:#fff;border:1px solid #cbd4cd;border-radius:.6rem;width:100%;padding:.72rem .8rem}.field input[aria-invalid=true],.field select[aria-invalid=true]{border-color:#a63232}.field-error{color:#922f2f!important;font-size:.78rem!important}.card .field+.field,.card>.button{margin-top:1rem}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.card{background:#fff;border:1px solid #dce3dd;border-radius:1rem;padding:1.25rem;box-shadow:0 .5rem 2rem #143d280d}.table{border-collapse:collapse;background:#fff;border-radius:1rem;width:100%;overflow:hidden}.table-wrap{border-radius:1rem;width:100%;overflow-x:auto}.table th,.table td{text-align:left;border-bottom:1px solid #e8ece8;padding:.9rem 1rem}.table th{color:#5d6b62;text-transform:uppercase;font-size:.75rem}.table tr:hover td{background:#f7faf7}.link{color:#087245;background:0 0;border:0;font-weight:750}.danger-text{color:#a63232}.row-actions{flex-wrap:wrap;gap:.5rem;display:flex}.badge{color:#17653f;background:#e7f4eb;border-radius:999px;padding:.28rem .55rem;font-size:.76rem;font-weight:800;display:inline-flex}.badge.suspended,.badge.closed{color:#8b2929;background:#fbeaea}.empty,.error,.loading{color:#657169;text-align:center;background:#fff;border:1px dashed #c8d2ca;border-radius:1rem;padding:2rem}.error{color:#922f2f;border-color:#e2b9b9}.feedback{border:1px solid;border-radius:.65rem;margin:1rem 0;padding:.8rem 1rem}.feedback.success{color:#17653f;background:#ecf8f0;border-color:#afd1ba}.feedback.warning{color:#76520c;background:#fff8e6;border-color:#e8cf8e}.feedback.error{color:#922f2f;background:#fff1f1;border-color:#e2b9b9}.actions{flex-wrap:wrap;gap:.65rem;margin-top:1.25rem;display:flex}.client-actions{flex-wrap:wrap;gap:.65rem;margin-top:1rem;display:flex}.breadcrumb{color:#66736b;flex-wrap:wrap;align-items:center;gap:.35rem;min-width:0;margin-bottom:.85rem;font-size:.86rem;display:flex}.page-header .breadcrumb{margin-bottom:0}.breadcrumb-item{align-items:center;gap:.35rem;min-width:0;display:inline-flex}.breadcrumb .link{text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:.15rem 0;overflow:hidden}.back-link{color:#087245;background:0 0;border:0;align-items:center;gap:.4rem;margin:0 0 .85rem;padding:.35rem 0;font-weight:750;display:inline-flex}.page-header .back-link{margin:0}.client-workspace-header{margin-bottom:1rem}.client-context-name{color:#66736b;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.55rem 0 0;display:flex}.client-workspace-tabs{scrollbar-width:thin;background:#fff;border:1px solid #dce3dd;border-radius:.8rem;gap:.35rem;width:100%;min-width:0;margin-bottom:1.5rem;padding:.3rem;display:flex;overflow-x:auto}.client-workspace-tabs button{color:#315341;white-space:nowrap;background:0 0;border:0;border-radius:.55rem;flex:none;padding:.62rem .78rem;font-weight:750}.client-workspace-tabs button:hover{background:#edf5f0}.client-workspace-tabs button.active{color:#fff;background:#087245}.client-workspace-content,.route-content{min-width:0}.route-error{text-align:left}.route-error h1{font-size:clamp(1.5rem,3vw,2.2rem)}.route-error .actions{justify-content:center}.pagination{justify-content:flex-end;gap:.65rem;margin-top:1rem;display:flex}.section-title{margin:2rem 0 1rem}.section-card{margin-top:1rem}.form-card{max-width:42rem}.compact-form{padding:1rem}.check{align-items:center;gap:.55rem;margin:1rem 0;display:flex}.permission-list{gap:.5rem;padding-left:1.2rem;display:grid}code{overflow-wrap:anywhere}.indicator-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1rem;display:grid}.indicator-card{background:#fff;border:1px solid #dce3dd;border-radius:1rem;align-content:space-between;min-height:12rem;padding:1.25rem;display:grid;box-shadow:0 .5rem 2rem #143d280d}.indicator-card>span{color:#66736b;font-size:.82rem;font-weight:750}.indicator-card>strong{color:#153d29;font-size:2.4rem}.indicator-card small{color:#768179;line-height:1.4}.indicator-card.compact{min-height:8rem}.indicator-card.compact>strong{font-size:2rem}.health{font-size:1.5rem!important}.health.online{color:#087245}.health.attention{color:#8a5e00}.admin-modules{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem;display:grid}.admin-modules .card{flex-direction:column;align-items:start;min-height:16rem;display:flex}.admin-modules h2{margin:0 0 .7rem;font-size:1.35rem}.admin-modules .button,.admin-modules .badge{margin-top:auto}.admin-modules a.button{text-decoration:none;display:inline-flex}.planned-module{background:linear-gradient(145deg,#fff,#f3f7f3)}.recovery-codes{margin-bottom:1rem}.recovery-codes ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;padding:0;list-style:none;display:grid}.recovery-codes code{text-align:center;background:#eef3ef;border-radius:.45rem;padding:.55rem;display:block}.auth-layout{background:#f3f5f1;grid-template-columns:minmax(18rem,.8fr) minmax(20rem,1.2fr);min-height:100vh;display:grid}.auth-brand{color:#fff;text-align:center;background:radial-gradient(circle at 20% 10%,#17885a,#063a27 58%,#03271a);align-content:center;justify-items:center;padding:clamp(2rem,6vw,5rem);display:grid}.auth-brand img{width:min(18rem,78%)}.auth-brand--framed-logo img{border:1px solid #ffffff3d;border-radius:1.5rem;box-shadow:0 1.4rem 3.5rem #00180e3d}.auth-brand p{color:#d8eee1;max-width:24rem;margin-top:2rem;font-size:1.08rem;line-height:1.6}.auth-panel{align-content:center;justify-items:center;padding:clamp(1.25rem,5vw,4rem);display:grid}.auth-mobile-logo{width:min(12rem,58vw);display:none}.auth-card{background:#fff;border:1px solid #dce4dd;border-radius:1.2rem;width:min(100%,30rem);padding:clamp(1.4rem,4vw,2.25rem);box-shadow:0 1.4rem 4rem #173c271a}.auth-card h1{margin-bottom:.8rem}.auth-card form{gap:1rem;margin-top:1.4rem;display:grid}.auth-submit{width:100%;margin-top:.35rem}.auth-link{text-align:center;width:100%;margin-top:1.1rem;padding:.55rem;display:block}.segmented{background:#edf2ee;border-radius:.75rem;grid-template-columns:1fr 1fr;gap:.25rem;margin:1.25rem 0;padding:.25rem;display:grid}.segmented button{color:#546158;background:0 0;border:0;border-radius:.55rem;padding:.65rem}.segmented button.active{color:#075936;background:#fff;font-weight:750;box-shadow:0 .2rem .7rem #1e462d1a}.secret-box{overflow-wrap:anywhere;background:#edf5f0;border-radius:.75rem;gap:.35rem;margin:1.2rem 0;padding:1rem;display:grid}.secret-box span{color:#56665c;font-size:.8rem;font-weight:750}.enrollment-qr{text-align:center;justify-items:center;gap:.8rem;margin-top:1.2rem;display:grid}.enrollment-qr p{color:#56665c;max-width:24rem;margin:0;line-height:1.45}.enrollment-qr-frame{background:#fff;border:1px solid #d5dfd7;border-radius:.85rem;padding:.75rem;display:grid;box-shadow:0 .6rem 1.8rem #173c2714}.enrollment-qr-frame svg{width:min(12.5rem,62vw);height:auto}@media (width<=760px){.shell{grid-template-columns:minmax(0,1fr);width:100%;max-width:100%;overflow-x:clip}.sidebar{height:auto;padding:1rem;position:static}.surface{margin-bottom:1.25rem}.nav{grid-template-columns:1fr;gap:1rem}.nav-items{grid-template-columns:repeat(2,minmax(0,1fr))}.nav button{text-align:center}.content{width:100%;min-width:0;padding:1rem}.grid,.indicator-grid,.admin-modules{grid-template-columns:1fr}.page-header,.page-header-row{flex-direction:column;align-items:start}.page-header>*,.page-header .button{max-width:100%}.client-workspace-tabs{margin-inline:0}.table{display:block;overflow-x:auto}.toolbar{flex-direction:column;align-items:stretch}.auth-layout{grid-template-columns:1fr}.auth-brand{display:none}.auth-panel{gap:clamp(1.5rem,5vh,2.5rem);min-height:100vh}.auth-mobile-logo{display:block}.recovery-codes ul{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
