:root{--bg:#f6f7f4;--surface:#fff;--text:#1d2320;--muted:#5f6b64;--border:#d5dbd4;--primary:#2f6f3e;--primary-text:#fff;--done:#0ca30c;--partial:#fab219;--empty:#e4e8e3;--danger:#b3261e;--warn-bg:#fff4d6;--radius:10px;--tap:52px;color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px}:root[data-theme=sunlight]{--bg:#fff;--surface:#fff;--text:#000;--muted:#1a1a1a;--border:#000;--primary:#000;--done:#006b1f;--partial:#c98a00;--empty:#fff;--warn-bg:#ffe98a;font-size:18px;font-weight:500}:root[data-theme=sunlight] button,:root[data-theme=sunlight] input,:root[data-theme=sunlight] select,:root[data-theme=sunlight] textarea,:root[data-theme=sunlight] .card{border-width:2px}*{box-sizing:border-box}body{background:var(--bg);min-height:100dvh;margin:0}h1,h2,h3{margin:0 0 .5rem;line-height:1.2}h1{font-size:1.5rem}h2{font-size:1.2rem}h3{font-size:1rem}p{margin:0 0 .75rem}a{color:var(--primary)}main{max-width:1000px;margin:0 auto;padding:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:16px}button,.button{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-height:44px;color:var(--text);font:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-weight:600;text-decoration:none;display:inline-flex}button:active,.button:active{transform:translateY(1px)}button.primary,.button.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}button.danger{color:var(--danger);border-color:var(--danger)}button:disabled{opacity:.45;cursor:default}button.small{min-height:34px;padding:0 10px;font-size:.9rem}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;width:100%;min-height:44px;padding:8px 10px}input[type=checkbox],input[type=radio]{width:22px;height:22px;min-height:0;accent-color:var(--primary);flex:none;margin:0}textarea{min-height:90px}label{margin-bottom:12px;font-size:.9rem;font-weight:600;display:block}label>input,label>select,label>textarea{margin-top:4px;font-weight:400}label.check{align-items:center;gap:8px;font-weight:500;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.grid2{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0 12px;display:grid}.spacer{flex:1}.muted{color:var(--muted);font-size:.9rem}.error{color:var(--danger);white-space:pre-line}.notice{background:var(--warn-bg);border:1px solid var(--partial);border-radius:var(--radius);margin-bottom:16px;padding:10px 14px}.badge{background:var(--warn-bg);border:1px solid var(--partial);border-radius:999px;padding:2px 8px;font-size:.8rem;font-weight:700;display:inline-block}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:6px 8px}.table-wrap{overflow-x:auto}dialog{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);width:100%;max-width:min(96vw,900px);padding:16px}dialog::backdrop{background:#00000073}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:16px;display:flex;overflow-x:auto}.tabs button{background:0 0;border:none;border-bottom:3px solid #0000;border-radius:0}.tabs button.active{border-bottom-color:var(--primary);color:var(--primary)}@media print{.no-print{display:none!important}body,main{background:#fff;max-width:none;padding:0}}
