:root{--bg:#f6f3ec;--card:#fffdf8;--ink:#1d2a22;--muted:#6a736c;--line:#e3ddd0;--accent:#2f5d46;--ok:#2f7d4f;--soon:#b7791f;--urgent:#c0392b}@media (prefers-color-scheme:dark){:root{--bg:#151a17;--card:#1d2420;--ink:#eef1ec;--muted:#9aa59d;--line:#2c352f;--accent:#6fb08a}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);margin:0;font:17px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}main{max-width:560px;margin:0 auto;padding:20px 16px 96px}h1{margin:8px 0 4px;font-size:26px}.sub{color:var(--muted);margin:0 0 16px}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;margin:10px 0;padding:14px 16px}.row{justify-content:space-between;align-items:center;gap:12px;display:flex}.dot{border-radius:50%;flex:none;width:12px;height:12px}.ok{background:var(--ok)}.soon{background:var(--soon)}.urgent,.expired{background:var(--urgent)}.name{font-weight:600}.meta{color:var(--muted);font-size:14px}label{margin:14px 0 4px;font-weight:600;display:block}input,select{border:1px solid var(--line);background:var(--card);width:100%;color:var(--ink);font:inherit;border-radius:10px;padding:12px}button,.btn{background:var(--accent);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:10px;padding:12px 18px;font-weight:600;text-decoration:none;display:inline-block}button.ghost{color:var(--accent);border:1px solid var(--line);background:0 0;padding:8px 12px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:2px}nav{background:var(--card);border-top:1px solid var(--line);justify-content:space-around;padding:10px 0 14px;display:flex;position:fixed;bottom:0;left:0;right:0}nav a{color:var(--muted);padding:6px 14px;font-weight:600;text-decoration:none}nav a[aria-current=page]{color:var(--accent)}.disclaimer{color:var(--muted);margin-top:28px;font-size:13px}.empty{text-align:center;color:var(--muted);padding:36px 8px}.total{color:var(--muted);font-size:15px}.chips{flex-wrap:wrap;gap:8px;margin:8px 0 12px;display:flex}.chip{border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:14px}.chip[aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent)}
