:root{--bg:#f4f6f9;--card:#fff;--fg:#1c2733;--mut:#66727f;--line:#dde3ea;--acc:#1f4fd8;--acc-fg:#fff;--bad:#c0392b;--ok:#1a7f4b;--sel:#eaf0ff}
@media (prefers-color-scheme:dark){:root{--bg:#10151b;--card:#18202a;--fg:#e6ebf1;--mut:#9aa7b5;--line:#2b3644;--acc:#6e93ff;--acc-fg:#0b1220;--bad:#ff7b6b;--ok:#4fcf8f;--sel:#1f2b45}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:14px/1.5 'Pretendard','Malgun Gothic','Apple SD Gothic Neo',sans-serif}
.wrap{max-width:980px;margin:0 auto;padding:24px 16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:20px}
h1{font-size:20px;margin:0 0 4px}h2{font-size:16px;margin:0 0 12px}
.mut{color:var(--mut)}
label{display:block;font-weight:600;margin:12px 0 4px}
input,select{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:7px;background:var(--bg);color:var(--fg);font:inherit}
button{padding:9px 14px;border:1px solid var(--line);border-radius:7px;background:var(--card);color:var(--fg);font:inherit;cursor:pointer}
button.pri{background:var(--acc);color:var(--acc-fg);border-color:var(--acc);font-weight:600}
button.sm{padding:4px 9px;font-size:12px}
button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--acc);outline-offset:1px}
.err{color:var(--bad);min-height:20px;margin-top:8px}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.tabs{display:flex;gap:4px;margin:16px 0}
.tabs button{border-radius:7px}.tabs button.on{background:var(--sel);border-color:var(--acc);font-weight:600}
table{width:100%;border-collapse:collapse}
th,td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
th{font-size:12px;color:var(--mut);font-weight:600}
.tbl{overflow-x:auto}
.pill{display:inline-block;padding:1px 8px;border-radius:99px;font-size:12px;background:var(--sel)}
.pill.off{background:transparent;border:1px solid var(--line);color:var(--mut)}
.note{background:var(--sel);border-radius:8px;padding:10px 12px;margin:12px 0}
.pw{font:600 16px ui-monospace,Consolas,monospace;letter-spacing:.5px;user-select:all}
.lv-숨김{color:var(--bad)}.lv-수정{color:var(--ok);font-weight:600}
td select{width:auto;min-width:72px;padding:4px 6px}
.row input,.row select{width:auto;flex:1 1 150px}
.row button{flex:0 0 auto}
td .row{flex-wrap:nowrap}
