:root{--bg:#f3efe6;--bg-elev:#fffdf8;--ink:#1c1914;--muted:#6b6458;--line:#d9d0c0;--accent:#0f6b5c;--accent-ink:#f4fffb;--warn:#9a3412;--ok:#166534;--danger:#991b1b;--shadow:0 18px 50px rgba(28,25,20,.08);--font-display:"Fraunces","Iowan Old Style",Georgia,serif;--font-body:"Source Sans 3","Segoe UI",sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;background:radial-gradient(1200px 500px at 10% -10%,#e7f2ee 0,transparent 55%),radial-gradient(900px 400px at 100% 0,#f7e7d6 0,transparent 50%),var(--bg);color:var(--ink);font-family:var(--font-body)}a{color:var(--accent)}button,input,select,textarea{font:inherit}.shell{max-width:960px;margin:0 auto;padding:2rem 1.25rem 4rem}.brand{font-family:var(--font-display);font-weight:600;font-size:1.75rem;letter-spacing:-.02em;margin:0}.sub{color:var(--muted);margin:.35rem 0 0}.card{background:var(--bg-elev);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:1.25rem 1.35rem}.filters{display:flex;flex-wrap:wrap;gap:.65rem;margin:1.5rem 0 1rem}.filters input,.filters select,.login-form input{border:1px solid var(--line);background:#fff;border-radius:10px;padding:.55rem .75rem;min-width:8rem}.btn{border:none;border-radius:999px;padding:.55rem 1rem;background:var(--accent);color:var(--accent-ink);cursor:pointer;font-weight:600}.btn.secondary{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn:disabled{opacity:.5;cursor:not-allowed}.gap-list{display:grid;grid-gap:1rem;gap:1rem}.gap-card h2{font-family:var(--font-display);font-size:1.2rem;margin:0 0 .35rem}.meta{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.85rem}.chip{font-size:.75rem;border-radius:999px;padding:.2rem .55rem;border:1px solid var(--line);color:var(--muted);background:#fff}.chip.open{border-color:#86b7ae;color:var(--accent)}.chip.answered{border-color:#86b48a;color:var(--ok)}.chip.failed{border-color:#e7a1a1;color:var(--danger)}.answer-row{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;margin-top:.85rem}.answer-row input[type=date],.answer-row input[type=number],.answer-row input[type=text],.answer-row select,.answer-row textarea{border:1px solid var(--line);border-radius:10px;padding:.5rem .7rem;min-width:12rem;background:#fff}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.login-form{width:min(420px,100%);display:grid;grid-gap:.85rem;gap:.85rem}.error{color:var(--danger);font-size:.9rem}.empty{color:var(--muted);padding:2rem 0;text-align:center}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem}