:root{--bg:#f6f7f9;--card:#fff;--tx:#1d2330;--mut:#667085;--bd:#e3e6ec;--m:#dbeafe;--mt:#1e40af;--e:#ede9fe;--et:#5b21b6;--o:#e5e7eb;--ot:#374151;--l:#ffedd5;--lt:#9a3412;--bad:#dc2626;--ac:#2563eb;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){color-scheme:dark;--bg:#12151b;--card:#1b2029;--tx:#e8ebf1;--mut:#9aa3b2;--bd:#2d3441;--m:#1e3a6e;--mt:#bfdbfe;--e:#3b2a6b;--et:#ddd6fe;--o:#343b48;--ot:#d1d5db;--l:#5a2e10;--lt:#fed7aa;--ac:#60a5fa}}
:root[data-theme="dark"]{color-scheme:dark;--bg:#12151b;--card:#1b2029;--tx:#e8ebf1;--mut:#9aa3b2;--bd:#2d3441;--m:#1e3a6e;--mt:#bfdbfe;--e:#3b2a6b;--et:#ddd6fe;--o:#343b48;--ot:#d1d5db;--l:#5a2e10;--lt:#fed7aa;--ac:#60a5fa}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--tx);font:14px/1.4 system-ui,-apple-system,"Segoe UI",sans-serif;padding:16px}
.wrap{max-width:1100px;margin:auto}h1{font-size:20px;margin:0 0 4px}.sub{color:var(--mut);margin:0 0 14px}
.bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;align-items:center}
button{font:inherit;cursor:pointer;border:1px solid var(--bd);background:var(--card);color:var(--tx);border-radius:8px;padding:6px 12px}
button:hover{border-color:var(--ac)}
.leg{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}
.sc{overflow-x:auto;border:1px solid var(--bd);border-radius:12px;background:var(--card)}
table{border-collapse:collapse;width:100%;min-width:760px;table-layout:fixed}th:first-child{width:110px}
th,td{padding:10px;border-bottom:1px solid var(--bd);vertical-align:top;text-align:left}
th{background:var(--bg);font-size:13px;position:sticky;top:0}th small{display:block;color:var(--mut);font-weight:400}
tr:last-child td{border-bottom:0}td.d{font-weight:600;width:110px}
.cell{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.chip{max-width:100%;overflow-wrap:anywhere;display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:99px;font-size:13px;border:1px solid transparent}
.chip.m{background:var(--m);color:var(--mt)}.chip.e{background:var(--e);color:var(--et)}.chip.o{background:var(--o);color:var(--ot)}
.chip.l{background:var(--l);color:var(--lt);border:1px dashed var(--lt);font-style:italic}
.chip.warn{border-color:var(--bad)}
.chip b{cursor:pointer;opacity:.6;font-weight:400}.chip b:hover{opacity:1}
.add{border-style:dashed;padding:2px 9px;color:var(--mut);font-size:13px}
.cnt{font-size:12px;color:var(--mut);margin-left:2px}
#pop{position:fixed;display:none;z-index:9;background:var(--card);border:1px solid var(--bd);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.2);width:250px;max-height:340px;overflow:auto;padding:6px}
#pop .it{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:6px}
#pop .it:hover{background:var(--bg)}#pop .it.dis{opacity:.45}
#pop .it label{flex:1;display:flex;gap:8px;align-items:center;cursor:pointer}
#pop .lv{font-size:11px;padding:1px 7px}#pop .lv.on{background:var(--l);color:var(--lt);border-color:var(--lt)}
#pop .hd{font-size:12px;color:var(--mut);padding:4px 8px}
.ros{margin-top:16px;border:1px solid var(--bd);border-radius:12px;background:var(--card);padding:12px;display:none}
.ros.show{display:block}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:8px}
.grid input{width:100%;padding:6px 8px;border:1px solid var(--bd);border-radius:8px;background:var(--bg);color:var(--tx);font:inherit}
.note{color:var(--mut);font-size:12px;margin-top:10px}
.chip.o{background:#fee2e2;color:#b91c1c}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .chip.o{background:#5b1c1c;color:#fecaca}}
:root[data-theme="dark"] .chip.o{background:#5b1c1c;color:#fecaca}
select,input[type=date]{padding:6px 8px;border:1px solid var(--bd);border-radius:8px;background:var(--bg);color:var(--tx);font:inherit}
#lvp{margin:0 0 12px}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;max-width:340px}.cal i{font-style:normal;font-size:11px;color:var(--mut);text-align:center}.cal button{padding:6px 0}.cal button.on{background:var(--l);color:var(--lt);border-color:var(--lt)}.cal button.st{outline:2px solid var(--ac)}.ll{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.rw input:first-child{flex:3}.rw input:nth-child(2){flex:2}.chip small,#pop small{opacity:.7;font-size:11px}
.fb{display:flex;flex-wrap:wrap;gap:4px;padding:4px 6px}.fc{padding:2px 8px;font-size:12px}.fc.on{background:var(--ac);color:#fff;border-color:var(--ac)}.chip.rg{background:var(--bg);color:var(--tx);border:1px solid var(--bd)}
.rw{display:flex;gap:4px}.rw button{padding:2px 8px;color:var(--mut)}.rw button:hover{color:var(--bad);border-color:var(--bad)}
