:root{--bg:#f6f7f9;--surface:#fff;--border:#e3e6ea;--text:#1a1d21;--muted:#6b7280;--accent:#06c755;--accent-text:#fff;--danger:#d64545;--high:#d64545;--medium:#c58a1a;--low:#6b7280;--radius:10px}@media (prefers-color-scheme:dark){:root{--bg:#16181c;--surface:#1e2126;--border:#2e333a;--text:#e8eaed;--muted:#9aa3af;--accent:#06c755;--accent-text:#06210f;--danger:#ef6b6b;--high:#ef6b6b;--medium:#e0b352;--low:#9aa3af}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,Noto Sans TC,PingFang TC,Microsoft JhengHei,sans-serif;line-height:1.6}.shell{max-width:880px;margin:0 auto;padding:1rem 1rem 4rem}.nav{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.25rem;margin-bottom:1.25rem;padding:.75rem 0;display:flex}.nav-brand{color:var(--text);margin-right:auto;font-weight:700;text-decoration:none}.nav a{color:var(--muted);border-radius:var(--radius);padding:.35rem .6rem;font-size:.92rem;text-decoration:none}.nav a:hover{background:var(--surface);color:var(--text)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.75rem;padding:1rem}.card-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.stack{flex-direction:column;gap:.5rem;display:flex}.row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.muted{color:var(--muted);font-size:.88rem}.empty{color:var(--muted);text-align:center;border:1px dashed var(--border);border-radius:var(--radius);padding:2.5rem 1rem}.grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.75rem;display:grid}input,textarea,select,button{font:inherit;color:inherit}input[type=text],input[type=date],input[type=time],textarea,select{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);width:100%;padding:.55rem .7rem}label{color:var(--muted);margin-bottom:.25rem;font-size:.85rem;display:block}button,.btn{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;padding:.5rem .9rem;font-size:.92rem;text-decoration:none;display:inline-block}button:hover,.btn:hover{border-color:var(--muted)}.btn-primary{background:var(--accent);color:var(--accent-text);border-color:#0000;font-weight:600}.btn-danger{color:var(--danger)}.badge{border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:999px;padding:.1rem .5rem;font-size:.75rem;display:inline-block}.badge-high{color:var(--high);border-color:currentColor}.badge-medium{color:var(--medium);border-color:currentColor}.badge-low{color:var(--low)}.done{color:var(--muted);text-decoration:line-through}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.stat-value{font-size:1.7rem;font-weight:700;line-height:1.2}.bar{background:var(--bg);border:1px solid var(--border);border-radius:999px;height:8px;overflow:hidden}.bar>span{background:var(--accent);height:100%;display:block}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.5rem .4rem;font-size:.92rem}.scroll-x{overflow-x:auto}
