:root{--bg:#f5f2ea;--surface:#fff;--ink:#1b1b18;--ink2:#6b6a63;--line:#e3dfd3;--brand:#064734;--on-brand:#fff9ef;--danger:#c0352b;--fill:#efebe0}@media (prefers-color-scheme:dark){:root{--bg:#12130f;--surface:#1c1d18;--ink:#f1eee4;--ink2:#9b9a90;--line:#2c2d26;--brand:#7fd1ae;--on-brand:#0c1f17;--danger:#ff7b70;--fill:#26271f}}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:15px/1.45 -apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif}button,input,select,textarea{font:inherit;color:inherit}header{border-bottom:1px solid var(--line);background:var(--surface);align-items:center;gap:12px;padding:14px 24px;display:flex}header h1{flex:1;margin:0;font-size:17px}header h1 span{color:var(--ink2);font-weight:400}main{grid-template-columns:280px 1fr;gap:24px;max-width:1200px;margin:0 auto;padding:24px;display:grid}@media (max-width:760px){main{grid-template-columns:1fr;padding:16px}}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px}.card h2{text-transform:uppercase;letter-spacing:.04em;color:var(--ink2);margin:0;padding:14px 16px 6px;font-size:13px}.sector{text-align:left;cursor:pointer;border:0;border-top:1px solid var(--line);background:0 0;align-items:center;gap:8px;width:100%;padding:11px 16px;display:flex}.sector:first-of-type{border-top:0}.sector.sel{background:var(--fill);font-weight:600}.sector .t{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pill{background:var(--fill);color:var(--ink2);border-radius:99px;padding:1px 8px;font-size:12px}.pill.off{border:1px solid var(--line);background:0 0}.btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:8px;padding:7px 12px}.btn.primary{background:var(--brand);color:var(--on-brand);border-color:#0000}.btn.danger{color:var(--danger)}.btn:disabled{opacity:.5;cursor:default}.body{padding:8px 16px 16px}.row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}label{color:var(--ink2);margin-bottom:4px;font-size:13px;display:block}.field{flex:1;min-width:160px;margin-bottom:12px}input[type=text],input[type=number],input[type=url],input[type=password],select,textarea{border:1px solid var(--line);background:var(--bg);border-radius:8px;width:100%;padding:8px 10px}textarea{resize:vertical;min-height:80px}table{border-collapse:collapse;width:100%}th{text-align:left;color:var(--ink2);padding:6px 16px;font-size:12px;font-weight:500}td{border-top:1px solid var(--line);vertical-align:top;padding:10px 16px}td .sub{color:var(--ink2);font-size:13px}.thumb{object-fit:cover;background:var(--fill);border-radius:8px;width:44px;height:44px;display:block}.actions{white-space:nowrap;text-align:right}.empty{color:var(--ink2);text-align:center;padding:24px 16px}.err{color:var(--danger);min-height:1.2em;margin:0 0 12px}.login{max-width:360px;margin:14vh auto;padding:24px}.login h1{margin:0 0 4px;font-size:22px}.login p{color:var(--ink2);margin:0 0 16px}dialog{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:14px;width:min(560px,94vw);padding:20px}dialog::backdrop{background:#0006}dialog h3{margin:0 0 14px;font-size:18px}.foot{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.check{align-items:center;gap:8px;margin:4px 0 12px;display:flex}.check input{width:auto}.check label{color:var(--ink);margin:0}.hint{color:var(--ink2);margin-top:4px;font-size:12px}.list{max-height:70vh;overflow-y:auto}
