*{box-sizing:border-box}:root{--bg:#1a1a2e;--panel:#16213e;--panel2:#2a2a4a;--text:#eee;--muted:#888;--accent:#1976d2;--accent-border:#64b5f6;--error:#ff5252;--ok:#4caf50;--ng:#f44336}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,Noto Sans KR,Malgun Gothic,sans-serif;font-size:14px}a{color:var(--accent-border);text-decoration:none}a:hover{text-decoration:underline}.muted{color:var(--muted)}.mono{font-family:ui-monospace,monospace;font-size:12px}.error{color:var(--error);margin:4px 0 8px;font-size:13px}.ok{color:var(--ok);font-weight:700}.ng{color:var(--ng);font-weight:700}.center-page{justify-content:center;align-items:center;height:100%;display:flex}.card{background:var(--panel);border-radius:10px;min-width:320px;padding:28px 32px;box-shadow:0 4px 24px #0006}.card h1{margin:0 0 4px;font-size:26px}.card p.muted{margin:0 0 18px;font-size:13px}.login-card label{color:var(--muted);margin-bottom:12px;font-size:12px;display:block}.login-card input{width:100%;color:var(--text);background:var(--panel2);border:1px solid #0000;border-radius:6px;outline:none;margin-top:4px;padding:9px 10px;font-size:14px;display:block}.login-card input:focus{border-color:var(--accent-border)}.login-card button{width:100%;margin-top:6px}button{color:#fff;background:var(--accent);cursor:pointer;border:none;border-radius:6px;padding:8px 14px;font-size:14px;font-weight:700}button:disabled{opacity:.5;cursor:default}button:hover:not(:disabled){filter:brightness(1.15)}button.linklike{color:var(--muted);background:0 0;padding:4px 6px;font-weight:400}button.linklike:hover{color:var(--text);filter:none}.app{flex-direction:column;min-height:100%;display:flex}.topnav{background:var(--panel);align-items:center;gap:16px;height:48px;padding:0 18px;display:flex;box-shadow:0 2px 8px #0000004d}.topnav .brand{letter-spacing:.5px;font-size:18px;font-weight:800}.topnav nav{gap:4px;display:flex}.topnav nav a{color:var(--muted);border-radius:6px;padding:6px 12px;font-size:13px}.topnav nav a:hover{color:var(--text);background:var(--panel2);text-decoration:none}.topnav nav a.active{color:#fff;background:var(--accent)}.spacer{flex:1}.content{width:100%;max-width:1100px;margin:0 auto;padding:20px 24px}.content h2{margin:4px 0 14px;font-size:20px}.content h3{margin:20px 0 10px;font-size:15px}table.list{border-collapse:collapse;background:var(--panel);border-radius:8px;width:100%;overflow:hidden}table.list th{text-align:left;color:var(--muted);background:var(--panel2);padding:9px 12px;font-size:12px;font-weight:700}table.list td{border-top:1px solid #ffffff0a;padding:8px 12px}table.list tr:hover td{background:#ffffff05}table.list td.missing{color:#ffb300;max-width:320px;font-size:12px}table.kv{border-collapse:collapse;margin:8px 0 16px}table.kv th{text-align:left;color:var(--muted);padding:4px 16px 4px 0;font-size:13px;font-weight:400}table.kv td{padding:4px 0}.toolbar{align-items:center;gap:6px;margin-bottom:12px;display:flex}button.chip{background:var(--panel2);color:var(--muted);border:2px solid #0000;border-radius:6px;padding:5px 12px;font-size:12px;font-weight:400}button.chip:hover:not(:disabled){color:var(--text);filter:none;background:#3a3a5a}button.chip.active{background:var(--accent);color:#fff;border-color:var(--accent-border)}.page-head{align-items:center;gap:10px;display:flex}.page-head h2,.page-head h3{margin-right:auto}.row-gap{align-items:center;gap:6px;display:flex}button.chip.danger{color:#ff8a80}button.chip.danger:hover:not(:disabled){color:#fff;background:#c62828}tr.inactive td{opacity:.45}.inline-form{background:var(--panel);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;padding:12px;display:flex}.inline-form input,.inline-form select{color:var(--text);background:var(--panel2);border:1px solid #0000;border-radius:6px;outline:none;padding:8px 10px;font-size:13px}.inline-form input:focus,.inline-form select:focus{border-color:var(--accent-border)}.inline-form label.inline{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.inline-form button[type=submit]{padding:8px 16px}table.list input{color:var(--text);background:var(--panel2);border:1px solid var(--accent-border);border-radius:4px;outline:none;padding:4px 6px;font-size:12px}.okmsg{color:var(--ok);margin:4px 0 8px;font-size:13px}label.check{color:var(--text);background:var(--panel2);cursor:pointer;border-radius:6px;align-items:center;gap:5px;padding:5px 10px;font-size:13px;display:flex}.pwinput{color:var(--text);background:var(--panel2);border:1px solid #0000;border-radius:6px;outline:none;padding:8px 10px;font-size:13px}.pwinput:focus{border-color:var(--accent-border)}.account-link{font-size:13px}.account-link:hover{color:var(--text);text-decoration:none}tr.selected td{background:#1976d21f}.content h4{color:var(--muted);margin:16px 0 8px;font-size:13px}.photo-modal{z-index:100;background:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.photo-modal .panel{background:var(--panel);border-radius:10px;flex-direction:column;gap:10px;max-width:92vw;max-height:92vh;padding:14px;display:flex}.photo-modal img{object-fit:contain;max-width:88vw;max-height:80vh;color:var(--muted);background:#000;border-radius:6px}.inspect-layout{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.video-wrap{flex:2;min-width:480px;position:relative}.video-wrap video{background:#000;border-radius:8px;width:100%;display:block}.video-wrap canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.verdict{background:var(--panel);border:3px solid #0000;border-radius:10px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;min-width:220px;min-height:200px;padding:20px;display:flex}.verdict.v-ok{border-color:var(--ok)}.verdict.v-ng{border-color:var(--ng)}.verdict-big{letter-spacing:2px;font-size:64px;font-weight:900}.v-ok .verdict-big{color:var(--ok)}.v-ng .verdict-big{color:var(--ng)}.missing-list{color:#ffb300;margin:8px 0 0;padding-left:18px;font-size:14px}.toolbar select{color:var(--text);background:var(--panel2);border:1px solid #0000;border-radius:6px;outline:none;padding:8px 10px;font-size:13px}.bar-col{width:30%}.bar{background:#ffffff0d;border-radius:4px;height:10px;display:flex;overflow:hidden}.bar-ok{background:var(--ok)}.bar-ng{background:var(--ng)}
