:root{--ink:#17211b;--muted:#526158;--paper:#f6f4ed;--surface:#fff;--line:#c9cec9;--accent:#176b45;--accent-dark:#0e5133;--danger:#a12727;--warning:#fff3c4;--focus:#f0a202;font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0}a{color:var(--accent-dark);text-underline-offset:.18em}button,.button,input,select,textarea,summary{font:inherit}.button,button{min-height:44px;padding:.6rem .9rem;border:1px solid var(--ink);border-radius:4px;background:var(--surface);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer}.primary{background:var(--accent);border-color:var(--accent);color:#fff}.danger{background:var(--danger);border-color:var(--danger);color:#fff}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;z-index:20;background:#fff;padding:.7rem}.top{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem;background:var(--ink);color:#fff}.brand{color:#fff;font-weight:750;text-decoration:none}.menu{display:none}nav{position:fixed;inset:64px auto 0 0;width:220px;padding:1rem;background:#e7e8e1;border-right:1px solid var(--line)}nav a,.nav-button{display:flex;width:100%;min-height:44px;align-items:center;padding:.55rem .75rem;border:0;background:transparent;color:var(--ink);text-decoration:none;border-radius:0}nav a[aria-current=page]{font-weight:750;border-left:4px solid var(--accent)}main{margin-left:220px;max-width:1100px;padding:clamp(1rem,3vw,2.5rem)}.login-main{margin:0;max-width:none;min-height:100dvh;display:grid;place-items:center;padding:1rem}.login-card{width:min(100%,420px);padding:2rem;background:var(--surface);border:1px solid var(--line);border-top:6px solid var(--accent)}.product{font-weight:750;color:var(--accent-dark)}h1{font-size:clamp(1.7rem,4vw,2.35rem);line-height:1.15;margin:.2rem 0}h2{font-size:1.2rem}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.75rem}.page-head p{margin:.4rem 0;color:var(--muted)}form label:not(.check){font-weight:650}input,select,textarea{width:100%;min-height:44px;padding:.6rem .7rem;border:1px solid #657069;border-radius:3px;background:#fff;color:var(--ink)}textarea{min-height:110px;resize:vertical}.form-grid{display:grid;grid-template-columns:minmax(130px,220px) 1fr;gap:.9rem 1.2rem;align-items:start}.form-grid small,.form-grid .actions,.form-grid fieldset{grid-column:2}.panel{padding:1.25rem;background:var(--surface);border:1px solid var(--line)}.actions{display:flex;flex-wrap:wrap;gap:.65rem}.actions form{margin:0}.notice{padding:.85rem 1rem;margin:1rem 0;border:1px solid}.error{border-color:var(--danger);background:#fff0f0}.success{border-color:var(--accent);background:#eaf6ef}.warning{border-color:#8b6b00;background:var(--warning)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);margin:1.5rem 0 2rem}.metrics div{padding:1rem;border-right:1px solid var(--line)}.metrics div:last-child{border:0}.metrics strong,.metrics span{display:block}.metrics strong{font-size:1.8rem}.metrics span{color:var(--muted)}.table-wrap{max-width:100%;overflow-x:auto;border:1px solid var(--line);background:#fff}table{width:100%;border-collapse:collapse;min-width:650px}caption{text-align:left;font-weight:750;padding:1rem}th,td{text-align:left;padding:.75rem;border-top:1px solid var(--line);vertical-align:top}th{background:#eceee8}.empty{padding:2rem 0;border-block:1px solid var(--line)}.tree details,.confirm{margin:.7rem 0;border:1px solid var(--line);background:#fff}.tree summary{padding:.8rem;font-weight:700;cursor:pointer}.check{display:flex;gap:.6rem;align-items:flex-start;padding:.7rem}.check input{width:22px;min-height:22px}.column{padding:.2rem .8rem .8rem 2rem;border-top:1px solid #e7e9e5}.sticky-save{position:sticky;bottom:0;padding:.8rem;background:var(--ink);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:1rem}.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.facts div{padding:1rem;background:#fff;min-width:0}.facts dt{font-weight:700}.facts dd{margin:.2rem 0;overflow-wrap:anywhere}pre{padding:1rem;overflow:auto;background:#202822;color:#f4f5ef;border-radius:3px}.secret{font-size:1.05rem}.filters{display:grid;grid-template-columns:auto minmax(120px,1fr) auto minmax(120px,1fr);gap:.7rem;align-items:center;margin:1rem 0}.filters button,.filters .button{width:auto}.htmx-indicator{display:none}.htmx-request .htmx-indicator{display:block}.pagination{display:flex;gap:.6rem;margin-top:1rem}@media(max-width:899px){.top{position:sticky;top:0;z-index:10}.menu{display:inline-flex;background:transparent;color:#fff;border-color:#fff}nav{display:none;position:static;width:auto;padding:.5rem 1rem;border:0}nav.open{display:block}main{margin:0;padding:1rem}.page-head{display:block}.page-head>.button{margin-top:1rem}.metrics{grid-template-columns:repeat(2,1fr)}.metrics div:nth-child(2){border-right:0}.form-grid{display:block}.form-grid>*{margin-bottom:.6rem}.actions>*{flex:1 1 100%}.actions button,.actions .button{width:100%}.facts{grid-template-columns:1fr}.filters{display:block}.filters>*{margin-bottom:.5rem}.filters button,.filters .button{width:100%}.sticky-save{margin-inline:-1rem}.login-card{padding:1.25rem}.table-wrap{overscroll-behavior-inline:contain}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}