:root{--bg:#fafaf8;--fg:#1d1d1b;--muted:#6b6b66;--line:#e2e1dc;--accent:#2f6f4f;--warn:#a23b2a;--card:#fff}@media (prefers-color-scheme:dark){:root{--bg:#151514;--fg:#ecebe6;--muted:#9a9993;--line:#33322f;--accent:#6cc093;--warn:#e07a66;--card:#1d1d1b}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;font:14px/1.45 -apple-system,system-ui,sans-serif}header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:12px 20px;display:flex}header>a{color:var(--fg);font-weight:600;text-decoration:none}nav{align-items:center;gap:16px;display:flex}nav form{margin:0}main{max-width:1200px;margin:0 auto;padding:16px 20px 48px}a{color:var(--accent)}h1{margin:8px 0 16px;font-size:22px}h2{margin:28px 0 8px;font-size:16px}h3{margin:16px 0 6px;font-size:14px}.muted{color:var(--muted)}.warn{color:var(--warn)}.wrap{overflow-x:auto}table{border-collapse:collapse;background:var(--card);width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:5px 8px}th{color:var(--muted);font-size:12px;font-weight:600}td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}code{font:12px ui-monospace,Menlo,monospace}.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:12px}.stat{font-size:26px;font-weight:600}.chart svg{width:100%;height:auto;display:block}.chart .axis{stroke:var(--line)}.chart .line{stroke:var(--accent);fill:none;stroke-width:2px}.chart .dot{fill:var(--accent)}.chart text{fill:var(--muted);font-size:10px}.banner{border:1px solid var(--warn);color:var(--warn);border-radius:6px;margin-bottom:12px;padding:8px 12px}.ok{border:1px solid var(--accent);color:var(--accent);border-radius:6px;margin-bottom:12px;padding:8px 12px}button,input,textarea,select{font:inherit}button{border:1px solid var(--line);background:var(--card);color:var(--fg);cursor:pointer;border-radius:6px;padding:4px 10px}button.approve{border-color:var(--accent);color:var(--accent)}button.reject{border-color:var(--warn);color:var(--warn)}textarea{background:var(--card);width:100%;min-height:48px;color:var(--fg);border:1px solid var(--line);border-radius:6px;padding:6px}.review{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}.review img{border:1px solid var(--line);border-radius:6px;max-width:100%}@media (max-width:720px){.review{grid-template-columns:1fr}main{padding:12px 16px 40px}}.login{max-width:360px;margin:64px auto}.login input{border:1px solid var(--line);background:var(--card);width:100%;color:var(--fg);border-radius:6px;margin:8px 0;padding:8px}
