:root{--ink:#15181C;--red:#CE1141;--orange:#F2A007;--navy:#3B41A8;--bg:#f4f3ef;--line:#dcd9d2;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;padding:0 16px}
.card{max-width:380px;margin:12vh auto;background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px}
.wide{max-width:1000px;margin:32px auto}header{display:flex;justify-content:space-between;align-items:baseline}
h1{font-size:22px;margin:0 0 4px}h2{font-size:16px;margin:28px 0 10px}.sub{color:#666;margin:0 0 18px;font-size:13px}
label{display:block;font-size:13px;color:#444;margin:12px 0}input,select{display:block;width:100%;margin-top:4px;padding:10px;border:1px solid var(--line);border-radius:8px;font:inherit;background:#fff}
button{margin-top:14px;padding:10px 14px;border:0;border-radius:8px;background:var(--ink);color:#fff;font:inherit;cursor:pointer}button:disabled{opacity:.5}
button.danger{background:var(--red)}.msg{color:var(--red);min-height:1.2em;font-size:13px}
table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;font-size:13px}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:middle}th{background:#faf9f6;font-weight:600}
td button{margin:0 6px 0 0;padding:6px 10px;font-size:12px}td select,td input{width:auto;display:inline-block;margin:0 6px 0 0;padding:6px}
.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.row input,.row select{width:auto;flex:1 1 140px;margin:0}.row button{margin:0}
a{color:var(--navy)}section{overflow-x:auto}
.alt{margin-top:16px;text-align:center}.msg.ok{color:#2E7D32}.badge{display:inline-block;font-size:12px;font-weight:600;background:var(--red);color:#fff;border-radius:999px;padding:2px 9px;vertical-align:3px}
[hidden]{display:none!important}button.ghost{background:#e9e6df;color:var(--ink)}
.note{background:#fff7e6;border:1px solid var(--orange);border-radius:10px;padding:10px 12px;font-size:14px}.ok{color:#2E7D32}
.qr{background:#fff;display:inline-block;padding:8px;border:1px solid var(--line);border-radius:10px}.qr img{display:block;max-width:100%;height:auto}
code.key{display:inline-block;font:15px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 10px;letter-spacing:.04em;word-break:break-all}
ul.codes{columns:2;max-width:360px;font:15px/1.9 ui-monospace,SFMono-Regular,Menlo,monospace;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 10px 10px 34px}
dialog.reauth{border:1px solid var(--line);border-radius:14px;padding:22px;max-width:360px;width:calc(100% - 32px)}dialog.reauth::backdrop{background:rgba(21,24,28,.45)}
tr.alert td{background:#fff3f5}#token th{width:160px}
