:root{--ink:#17242b;--ink-2:#405159;--muted:#64757d;--bg:#f5f6f4;--card:#fff;--line:#dfe3e0;--brand:#0f5c63;--brand-2:#0b464c;--ok:#1f7a4d;--warn:#8a4b00;--danger:#a32323;--radius:12px}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:400 15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Noto Sans,sans-serif}a{color:var(--brand)}:focus-visible{outline-offset:2px;outline:3px solid #b6893b}.shell{grid-template-columns:1fr;min-height:100vh;display:grid}@media (min-width:64rem){.shell{grid-template-columns:15rem 1fr}}.side{background:var(--ink);color:#dfe8eb;padding:1rem}.side a{color:#fff;border-radius:8px;padding:.45rem .6rem;text-decoration:none;display:block}.side a:hover{background:#ffffff14}.side .who{color:#b8c7cc;margin:.5rem .6rem 1rem;font-size:.85rem}.side nav{flex-wrap:wrap;gap:.1rem;display:flex}@media (min-width:64rem){.side nav{flex-direction:column}}.side .grp{text-transform:uppercase;letter-spacing:.06em;color:#8fa4ab;width:100%;margin:.9rem .6rem .2rem;font-size:.72rem}.main{width:100%;max-width:78rem;padding:1rem}@media (min-width:64rem){.main{padding:1.5rem 2rem}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}h1{margin:0;font-size:1.5rem}h2{margin:0 0 .6rem;font-size:1.1rem}h3{margin:.8rem 0 .4rem;font-size:1rem}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:1rem;padding:1rem}.card-warn{background:#fffaf0;border-color:#f0d9a8}.card-ok{background:#f4fbf7;border-color:#bfe3cf}.grid{gap:1rem;display:grid}@media (min-width:48rem){.grid.two{grid-template-columns:1fr 1fr}.grid.three{grid-template-columns:repeat(3,1fr)}.grid.four{grid-template-columns:repeat(4,1fr)}}table{border-collapse:collapse;width:100%;font-size:.92rem}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.5rem .45rem}th{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.8rem;font-weight:600}.table-wrap{overflow-x:auto}.badge{color:var(--brand-2);white-space:nowrap;background:#e7eef0;border-radius:999px;padding:.1rem .5rem;font-size:.78rem;font-weight:600;display:inline-block}.badge-warn{color:var(--warn);background:#fff0d6}.badge-ok{color:var(--ok);background:#def3e7}.badge-muted{color:var(--muted);background:#eceeed}.badge-danger{color:var(--danger);background:#fbe3e3}.btn{border:1px solid var(--brand);background:var(--brand);color:#fff;min-height:2.5rem;font:inherit;cursor:pointer;border-radius:8px;align-items:center;gap:.4rem;padding:.45rem .9rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{background:var(--brand-2)}.btn-secondary{color:var(--brand);background:#fff}.btn-secondary:hover{background:#eef5f5}.btn-danger{color:var(--danger);border-color:var(--danger);background:#fff}.inline{display:inline}.row{flex-wrap:wrap;align-items:flex-end;gap:.5rem;display:flex}.field{flex-direction:column;flex:1;gap:.25rem;min-width:12rem;margin-bottom:.6rem;display:flex}.field label{font-size:.88rem;font-weight:600}.field small{color:var(--muted)}input,select,textarea{font:inherit;background:#fff;border:1px solid #b9c1bd;border-radius:8px;min-height:2.5rem;padding:.45rem .55rem}.flash{border-radius:8px;margin:0 0 1rem;padding:.7rem .9rem;font-weight:600}.flash-ok{color:var(--ok);background:#e3f4ea}.flash-error{color:var(--danger);background:#fbe3e3}.empty{color:var(--muted);font-style:italic}.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem}.kpi-value{font-size:1.5rem;font-weight:700}.kpi-label{color:var(--ink-2);font-size:.88rem}.kpi-hint{color:var(--muted);margin-top:.2rem;font-size:.78rem}.timeline{border-left:2px solid var(--line);margin:0;padding:0;list-style:none}.timeline li{padding:.2rem 0 .8rem 1rem;position:relative}.timeline li:before{content:"";background:var(--brand);border-radius:50%;width:.7rem;height:.7rem;position:absolute;top:.55rem;left:-.42rem}.timeline .when{color:var(--muted);font-size:.82rem}.muted{color:var(--muted)}.login{max-width:24rem;margin:10vh auto}.code{letter-spacing:.08em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.warnbar{color:var(--warn);background:#fff0d6;padding:.5rem 1rem;font-size:.85rem}
