:root{--bg: #f4f5f7;--panel: #ffffff;--ink: #1c2430;--muted: #64707f;--line: #dde2e8;--accent: #14563f;--accent-ink: #ffffff;--warn-bg: #fdf3e3;--warn-ink: #8a5a12;--bad-bg: #fbeaea;--bad-ink: #9c2b2b;--ok-bg: #e8f3ee;--ok-ink: #14563f;font-family:Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:15px}a{color:var(--accent)}.layout{display:flex;min-height:100vh}.sidebar{width:220px;background:#0f2a20;color:#cfe0d8;padding:18px 0;flex-shrink:0;display:flex;flex-direction:column}.sidebar .brand{font-weight:700;font-size:18px;color:#fff;padding:0 20px 14px;letter-spacing:.5px}.sidebar .org{padding:0 20px 16px;font-size:12px;color:#8fb0a3;border-bottom:1px solid #1d4032;margin-bottom:10px}.sidebar nav a{display:block;padding:9px 20px;color:#cfe0d8;text-decoration:none;font-size:14px}.sidebar nav a.active,.sidebar nav a:hover{background:#1d4032;color:#fff}.sidebar .spacer{flex:1}.sidebar .foot{padding:12px 20px;font-size:12px;color:#8fb0a3}.sidebar .foot button{background:none;border:1px solid #2c5949;color:#cfe0d8;padding:5px 10px;border-radius:4px;cursor:pointer}.main{flex:1;padding:26px 34px;max-width:1200px}h1{font-size:22px;margin:0 0 4px}h2{font-size:16px;margin:22px 0 8px}.sub{color:var(--muted);font-size:13px;margin-bottom:18px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px 18px;margin-bottom:16px}.panel h2{margin-top:0}.grid{display:grid;gap:14px}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}.stat{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px 16px}.stat .n{font-size:26px;font-weight:700}.stat .l{font-size:12px;color:var(--muted);margin-top:2px}.stat.money .n{color:var(--accent)}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.4px;padding:8px 10px;border-bottom:1px solid var(--line)}td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}tr:last-child td{border-bottom:none}.badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600}.badge.ok{background:var(--ok-bg);color:var(--ok-ink)}.badge.warn{background:var(--warn-bg);color:var(--warn-ink)}.badge.bad{background:var(--bad-bg);color:var(--bad-ink)}.badge.mut{background:#eceff2;color:var(--muted)}.note{background:var(--warn-bg);color:var(--warn-ink);border-radius:6px;padding:10px 14px;font-size:13px;margin:10px 0}.note.ok{background:var(--ok-bg);color:var(--ok-ink)}.note.bad{background:var(--bad-bg);color:var(--bad-ink)}form.stack{display:flex;flex-direction:column;gap:10px;max-width:460px}label.f{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}input,select,textarea{padding:8px 10px;border:1px solid var(--line);border-radius:6px;font-size:14px;font-family:inherit;background:#fff;color:var(--ink)}textarea{min-height:80px}button.primary{background:var(--accent);color:var(--accent-ink);border:none;padding:9px 16px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;align-self:flex-start}button.primary:disabled{opacity:.5;cursor:default}button.ghost{background:none;border:1px solid var(--line);color:var(--ink);padding:6px 12px;border-radius:6px;font-size:13px;cursor:pointer}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.err{color:var(--bad-ink);font-size:13px}.mono{font-family:Consolas,monospace;font-size:13px}pre.tpl{background:#f7f8f9;border:1px solid var(--line);border-radius:6px;padding:12px;white-space:pre-wrap;font-size:13px}.checkline{display:flex;gap:8px;align-items:flex-start;font-size:14px;color:var(--ink)}.checkline input{margin-top:3px}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center}.auth-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:30px 34px;width:400px}.auth-card h1{color:var(--accent)}.tabs{display:flex;gap:6px;margin-bottom:14px}.tabs button{background:none;border:1px solid var(--line);padding:6px 14px;border-radius:20px;cursor:pointer;font-size:13px}.tabs button.on{background:var(--accent);color:#fff;border-color:var(--accent)}.muted{color:var(--muted);font-size:13px}.small{font-size:12px}details.hist summary{cursor:pointer;color:var(--muted);font-size:12px}
