:root { --fg:#1d2433; --muted:#5b6475; --bg:#f4f6fa; --card:#fff; --line:#e1e5ee; --accent:#1f6feb; --ok:#137333; --warn:#b3261e; }
@media (prefers-color-scheme: dark) { :root { --fg:#e6e9f0; --muted:#9aa3b5; --bg:#11151c; --card:#1a2029; --line:#2c3441; --accent:#4c8dff; --ok:#5fc27a; --warn:#ff8a80; } }
* { box-sizing:border-box; }
body { margin:0; font:16px/1.5 system-ui,-apple-system,Segoe UI,Arial,sans-serif; color:var(--fg); background:var(--bg); padding:24px 16px; }
.card { max-width:640px; margin:0 auto; background:var(--card); border:1px solid var(--line); border-radius:10px; padding:28px; }
h1 { margin:.2em 0 .6em; font-size:1.6rem; } h2 { font-size:1.1rem; margin-top:1.4em; }
.biz { color:var(--muted); margin:0; font-weight:600; }
dl { display:grid; grid-template-columns:auto 1fr; gap:4px 16px; } dt { color:var(--muted); } dd { margin:0; }
.due { font-size:1.2rem; } .ok { color:var(--ok); font-weight:600; } .warn { color:var(--warn); font-weight:600; }
.small { font-size:.9rem; color:var(--muted); }
button { background:var(--accent); color:#fff; border:0; border-radius:6px; padding:14px 26px; font-size:1rem; font-weight:600; cursor:pointer; margin-top:12px; }
button.link { background:none; color:var(--accent); padding:0; font-weight:400; }
input { font:inherit; padding:10px; border:1px solid var(--line); border-radius:6px; background:var(--card); color:var(--fg); display:block; margin-top:4px; width:100%; max-width:320px; }
input[type=checkbox] { width:auto; display:inline; }
label { display:block; margin:12px 0; }
table { width:100%; border-collapse:collapse; } th,td { text-align:left; padding:8px 6px; border-bottom:1px solid var(--line); }
.num { text-align:right; }
footer { text-align:center; color:var(--muted); font-size:.8rem; margin-top:20px; }
a { color:var(--accent); }
