:root{--bg:#faf9f7;--card:#fff;--line:#e6e3de;--ink:#2b2b2b;--mut:#8a857d;--ok:#2e9e5b;--miss:#c99a2e;--accent:#3b6ea5}*{box-sizing:border-box}html,body{margin:0;height:100%}body{font:14px/1.45 system-ui,Segoe UI,sans-serif;color:var(--ink);background:var(--bg)}header{display:flex;gap:14px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--card);position:sticky;top:0;z-index:5}header h1{font-size:15px;margin:0;font-weight:700}.counts,.site{color:var(--mut);font-size:13px}.bar{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.bar input{padding:6px 10px;border:1px solid var(--line);border-radius:8px;min-width:200px}.chip{padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:var(--card);cursor:pointer;font-size:13px}.chip.on{background:var(--accent);color:#fff;border-color:var(--accent)}.wrap{display:grid;grid-template-columns:minmax(320px,440px) 1fr;height:calc(100vh - 53px)}.list{overflow:auto;border-right:1px solid var(--line)}.row{display:flex;gap:10px;align-items:center;padding:9px 14px;border-bottom:1px solid var(--line);cursor:pointer}.row:hover{background:#f2efe9}.row.sel{background:#e9f0f8}.dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}.dot.ok{background:var(--ok)}.dot.miss{background:var(--miss)}.row .t{font-weight:800;font-size:14.5px}.row .s{color:var(--mut);font-size:12px}.detail{overflow:auto;padding:22px 26px}.muted{color:var(--mut)}.small{font-size:12px}.k{font-size:12px;color:var(--mut);text-transform:uppercase;letter-spacing:.04em;margin:14px 0 4px}h2{margin:0 0 2px}textarea,.detail input{width:100%;padding:8px;border:1px solid var(--line);border-radius:8px;font:inherit}textarea{min-height:70px}.drop{margin-top:8px;border:2px dashed var(--line);border-radius:12px;padding:26px;text-align:center;color:var(--mut);background:var(--card)}.prev{margin-top:10px;max-width:100%;border:1px solid var(--line);border-radius:10px;background:#fff}.btn{padding:7px 14px;border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:8px;cursor:pointer}.btn.ghost{background:#fff;color:var(--accent)}.btn.danger{background:#c0392b;border-color:#c0392b;color:#fff}.pick{color:var(--accent);cursor:pointer;text-decoration:underline}.empty{display:flex;height:100%;align-items:center;justify-content:center;color:var(--mut)}
