:root{--background:#f6f7f5;--surface:#fff;--text:#1f2a24;--text-muted:#5b6760;--accent:#2f6b4f;--border:#dde3df;--danger:#9b2c2c;--radius:6px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--background);color:var(--text);margin:0;font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--accent)}code{color:var(--text-muted);font-size:.85em}.shell{grid-template-columns:220px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--accent);color:#fff;padding:1.25rem 1rem}.brand{letter-spacing:.02em;margin:0 0 1.5rem;font-weight:700}.brand span{opacity:.8;font-weight:400}.sidebar ul{margin:0;padding:0;list-style:none}.sidebar li>*{border-radius:var(--radius);color:#fff;padding:.4rem .5rem;text-decoration:none;display:block}.sidebar a:hover{background:#ffffff1f}.sidebar [aria-disabled=true]{opacity:.5;cursor:not-allowed}.content{max-width:960px;padding:2rem clamp(1rem,4vw,3rem)}.lead{color:var(--text-muted);font-size:1.05rem}.stats{flex-wrap:wrap;gap:1rem;margin:1.5rem 0;display:flex}.stats div{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:8rem;padding:.75rem 1.25rem}.stats dt{color:var(--text-muted);font-size:.85rem}.stats dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.6rem;font-weight:600}.geo-tree,.geo-tree ul{padding-left:1.25rem;list-style:none}.geo-tree{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1rem 1rem .5rem}.geo-tree summary{cursor:pointer;padding:.2rem 0}.count{color:var(--text-muted);margin-left:.5rem;font-size:.85rem}.alert{color:var(--danger);border-left:3px solid var(--danger);padding-left:.75rem}.empty{color:var(--text-muted)}@media (max-width:720px){.shell{grid-template-columns:1fr}}.sidebar{flex-direction:column;display:flex}.user-menu{border-top:1px solid #ffffff40;margin-top:auto;padding-top:1rem;font-size:.9em}.user-menu p{margin:0 0 .25rem}.user-name{font-weight:600}.user-roles{opacity:.8}.sidebar .user-menu button{border-radius:var(--radius);color:#fff;font:inherit;cursor:pointer;background:0 0;border:1px solid #fff9;margin-top:.5rem;padding:.35rem .6rem}.sidebar .user-menu button:hover{background:#ffffff1f}.auth-screen{text-align:center;max-width:32rem;margin:20vh auto 0;padding:0 1rem}button{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;padding:.35rem .7rem}button:disabled{opacity:.5;cursor:not-allowed}button.primary{border-color:var(--accent);background:var(--accent);color:#fff}button.danger{border-color:var(--danger);color:var(--danger)}input,select{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;padding:.35rem .5rem}.toolbar{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.toolbar input[type=search]{flex:14rem}.panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin:1rem 0;padding:1rem 1.25rem}.panel h2{margin-top:0;font-size:1.1rem}.notice{border-left:4px solid var(--accent)}.notice .password{align-items:center;gap:.75rem;display:flex}.notice .password code{color:var(--text);letter-spacing:.05em;font-size:1.1rem}.user-form{gap:.75rem;max-width:40rem;display:grid}.user-form>label{gap:.25rem;display:grid}.user-form fieldset{border:1px solid var(--border);border-radius:var(--radius)}label.inline{align-items:center;gap:.35rem;margin:.15rem 1rem .15rem 0;display:inline-flex}.site-picker{max-height:16rem;margin-top:.5rem;overflow:auto}.site-group{color:var(--text-muted);margin:.5rem 0 .15rem;font-size:.85rem}.actions,.row-actions{flex-wrap:wrap;gap:.4rem;display:flex}.data-table{border-collapse:collapse;background:var(--surface);width:100%}.data-table th,.data-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.5rem .6rem}.data-table tr.muted td{color:var(--text-muted)}.pager{align-items:center;gap:.75rem;margin-top:1rem;display:flex}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:720px){.data-table thead{display:none}.data-table tr,.data-table td{display:block}}
