:root{--oly-green:#10d473;--oly-green-strong:#0a7a43;--oly-green-soft:#e3f8ed;--oly-on-green:#05241a;--oly-ink:#10201a;--oly-ink-muted:#4b5d55;--oly-surface:#fff;--oly-bg:#f2f5f3;--oly-line:#d9e1dd;--oly-danger:#b3261e;--oly-danger-soft:#fdecea;--oly-font:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--oly-radius:8px;--oly-shadow-sm:0 1px 2px #10201a14;--oly-menu-width:248px;--oly-bar-height:56px}*,:before,:after{box-sizing:border-box}html,body{margin:0}body{background:var(--oly-bg);color:var(--oly-ink);font:16px/1.5 var(--oly-font);overflow-x:hidden}h1{letter-spacing:-.01em;margin:0 0 .5rem;font-size:1.5rem;line-height:1.2}h2{margin:0 0 .25rem;font-size:1.05rem}p{max-width:62ch;margin:0 0 1rem}.muted{color:var(--oly-ink-muted)}:focus-visible{outline:3px solid var(--oly-green-strong);outline-offset:2px}.shell{grid-template-columns:var(--oly-menu-width) minmax(0, 1fr);grid-template-rows:var(--oly-bar-height) 1fr;min-height:100vh;display:grid}.topbar{background:var(--oly-surface);border-bottom:1px solid var(--oly-line);grid-column:1/-1;align-items:center;gap:.75rem;min-width:0;padding:0 1rem;display:flex}.topbar-spacer{flex:1}.menu-toggle{white-space:nowrap}.sidebar{background:var(--oly-surface);border-right:1px solid var(--oly-line);padding:1rem .75rem}.content{min-width:0;padding:1.5rem}.menu-toggle{display:none}.brand{align-items:center;gap:.5rem;font-weight:700;display:inline-flex}.brand-halo{background:var(--oly-green-soft);width:32px;height:32px;color:var(--oly-green-strong);box-shadow:0 0 0 4px var(--oly-green-soft);border-radius:50%;place-items:center;display:inline-grid}.nav-group+.nav-group{margin-top:1.25rem}.nav-group-title{color:var(--oly-ink-muted);margin:0 0 .25rem .5rem;font-size:.8rem;font-weight:600}.nav-group ul{margin:0;padding:0;list-style:none}.nav-link{border-radius:var(--oly-radius);color:var(--oly-ink);padding:.5rem .75rem;text-decoration:none;display:block}.nav-link:hover{background:var(--oly-bg)}.nav-link.active{background:var(--oly-green-soft);color:var(--oly-green-strong);font-weight:600}.who{color:var(--oly-ink-muted);white-space:nowrap;text-overflow:ellipsis;max-width:16ch;font-size:.9rem;overflow:hidden}.company-tag{background:var(--oly-green-soft);color:var(--oly-green-strong);white-space:nowrap;border-radius:999px;padding:.15rem .6rem;font-size:.85rem;font-weight:600}.company-switch{align-items:center;gap:.5rem;font-size:.9rem;display:flex}.btn{border:1px solid var(--oly-green-strong);border-radius:var(--oly-radius);background:var(--oly-green);min-height:40px;color:var(--oly-on-green);font:inherit;cursor:pointer;justify-content:center;align-items:center;padding:0 1rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{filter:brightness(.95)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{border-color:var(--oly-line);color:var(--oly-ink);background:0 0}.btn-danger{background:var(--oly-surface);border-color:var(--oly-danger);color:var(--oly-danger)}.form{gap:1rem;max-width:420px;display:grid}.form label{gap:.25rem;font-size:.95rem;font-weight:600;display:grid}input,select,textarea{border:1px solid var(--oly-line);border-radius:var(--oly-radius);background:var(--oly-surface);width:100%;min-height:40px;color:var(--oly-ink);font:inherit;padding:0 .75rem;font-weight:400}input[readonly]{background:var(--oly-bg);color:var(--oly-ink-muted)}textarea{resize:vertical;padding:.5rem .75rem}input[type=checkbox]{width:auto;min-height:0}.company-switch select{width:auto;max-width:14rem}.note-ok,.note-error{border-radius:var(--oly-radius);margin:0;padding:.6rem .8rem}.note-ok{background:var(--oly-green-soft);color:var(--oly-green-strong)}.note-error{background:var(--oly-danger-soft);color:var(--oly-danger)}.cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:1rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.card{background:var(--oly-surface);border:1px solid var(--oly-line);border-radius:var(--oly-radius);box-shadow:var(--oly-shadow-sm);padding:1rem}.rows{gap:.5rem;max-width:760px;margin:1rem 0 0;padding:0;list-style:none;display:grid}.row{background:var(--oly-surface);border:1px solid var(--oly-line);border-radius:var(--oly-radius);flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.75rem 1rem;display:flex}.row>div{flex:14rem;min-width:0}.badge{background:var(--oly-bg);border-radius:999px;margin:0;padding:.1rem .6rem;font-size:.85rem;font-weight:600;display:inline-block}.badge-active{background:var(--oly-green-soft);color:var(--oly-green-strong)}.badge-revoked,.badge-expired{color:var(--oly-ink-muted)}.stack{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;display:flex}.actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.row>.actions{flex:0 auto}.row-detail{border-top:1px solid var(--oly-line);flex:100%;gap:.75rem;padding-top:.75rem;display:grid}.row-detail p{margin:0}.chips{flex-wrap:wrap;gap:.35rem;margin:.35rem 0;display:flex}.chips .badge{margin:0}.checks{border:1px solid var(--oly-line);border-radius:var(--oly-radius);gap:.5rem;margin:0;padding:.5rem .75rem .75rem;display:grid}.checks legend{padding:0 .25rem;font-size:.95rem;font-weight:600}.checks label,.inline-check{align-items:flex-start;gap:.5rem;font-weight:400;display:flex}.checks input[type=checkbox],.inline-check input{margin-top:.3rem}.inline-check{margin:0 0 .5rem}.field{gap:.25rem;max-width:280px;font-size:.95rem;font-weight:600;display:grid}.hint{color:var(--oly-ink-muted);font-size:.85rem;font-weight:400}.section{margin-top:1.5rem}.panel{background:var(--oly-surface);border:1px solid var(--oly-line);border-radius:var(--oly-radius);max-width:560px;margin:0 0 1rem;padding:1rem}.plain{gap:.15rem;margin:.25rem 0 0;padding:0;font-size:.9rem;list-style:none;display:grid}details summary{cursor:pointer;color:var(--oly-green-strong);margin-top:.25rem;font-size:.9rem}.badge-off{color:var(--oly-ink-muted)}.badge-warn,.badge-bad{background:var(--oly-danger-soft);color:var(--oly-danger)}.summary{flex-wrap:wrap;gap:.5rem;display:flex}.summary .badge{margin:0}.filters{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));align-items:end;gap:.75rem;max-width:900px;margin-bottom:1rem;display:grid}.filters label{gap:.25rem;font-size:.9rem;font-weight:600;display:grid}.filters .actions{grid-column:1/-1}.table-scroll{border:1px solid var(--oly-line);border-radius:var(--oly-radius);background:var(--oly-surface);max-width:100%;overflow-x:auto}.table-scroll table{border-collapse:collapse;width:100%;font-size:.9rem}.table-scroll th,.table-scroll td{text-align:left;border-bottom:1px solid var(--oly-line);white-space:nowrap;padding:.5rem .75rem}.table-scroll th{background:var(--oly-bg);font-weight:600}.dialog{border:1px solid var(--oly-line);border-radius:var(--oly-radius);background:var(--oly-surface);max-width:min(92vw,460px);color:var(--oly-ink);padding:1.25rem;box-shadow:0 8px 32px #10201a40}.dialog::backdrop{background:#10201a73}.dialog-body p{margin:0 0 .75rem}a.btn{text-decoration:none}.gate{justify-items:start;gap:.75rem;max-width:420px;margin:12vh auto 0;padding:0 1rem;display:grid}.narrow{max-width:460px;margin:8vh auto 0;padding:0 1rem}@media (width<=900px){.shell{grid-template-columns:minmax(0,1fr)}.menu-toggle{border:1px solid var(--oly-line);border-radius:var(--oly-radius);background:var(--oly-surface);min-height:40px;font:inherit;cursor:pointer;padding:0 .75rem;display:inline-flex}.sidebar{border-right:0;border-bottom:1px solid var(--oly-line);grid-column:1;display:none}.shell-open .sidebar{display:block}.topbar{gap:.5rem;padding:0 .75rem}.who,.brand-name{display:none}.content{padding:1rem}.company-switch span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.company-switch select{max-width:9rem}}@media (prefers-reduced-motion:no-preference){.btn,.nav-link{transition:background-color .12s,filter .12s}}.field-wide{gap:.25rem;font-size:.95rem;font-weight:600;display:grid}.form .hint,.form .field-error{font-size:.85rem;font-weight:400}.field-error{color:var(--oly-danger)}input[aria-invalid=true]{border-color:var(--oly-danger)}.form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:.75rem;display:grid}.facts{grid-template-columns:max-content minmax(0,1fr);gap:.25rem 1rem;max-width:560px;margin:1rem 0 0;display:grid}.facts dt{color:var(--oly-ink-muted);font-size:.9rem}.facts dd{overflow-wrap:anywhere;margin:0}.dialog .field-wide{margin-bottom:.75rem}.field-group{gap:.25rem;display:grid}.field-group label{font-size:.95rem;font-weight:600}.filters .field-group label{font-size:.9rem}.form~.panel,.filters~.panel{margin-top:1rem}.summary{margin-bottom:1rem}.content p>a{color:var(--oly-green-strong)}
