:root{--bg: #f7f8fa;--fg: #1a1d23;--muted: #606770;--border: #d0d4db;--accent: #0b6bcb;--accent-hover: #084d95;--danger: #c23030;--ok: #1a7f37;--warn: #b95000;--card-bg: #fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;color:var(--fg)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.nav{background:#1a1d23;color:#fff;padding:10px 20px;display:flex;gap:20px;align-items:center}.nav a{color:#fff;font-weight:500}.nav a.active{color:#ffd166}.nav .spacer{flex:1}.nav .user{color:#aaa;font-size:13px}.container{max-width:1100px;margin:24px auto;padding:0 20px}h1{font-size:22px;margin:0 0 16px}h2{font-size:18px;margin:24px 0 12px}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;padding:20px;margin-bottom:16px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}input[type=text],input[type=password],input[type=number],textarea,select{border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:14px;background:#fff}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:transparent}button{border:1px solid var(--border);background:#fff;border-radius:6px;padding:8px 14px;font-size:14px;cursor:pointer}button:hover{background:#f0f2f5}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button.primary:hover{background:var(--accent-hover)}button.danger{background:var(--danger);color:#fff;border-color:var(--danger)}button.danger:hover{filter:brightness(.9)}button:disabled{opacity:.5;cursor:not-allowed}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.status{display:inline-block;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500}.status-free{background:#e8f2ff;color:#084d95}.status-reserved{background:#fff4e5;color:#b95000}.status-selected,.status-exporting{background:#e6f4ea;color:#1a7f37}.status-used{background:#ddd;color:#444}.status-written_off,.status-error{background:#ffd9d9;color:#7a1212}.status-draft{background:#e8f2ff;color:#084d95}.status-scanning{background:#fff4e5;color:#b95000}.status-exported{background:#e6f4ea;color:#1a7f37}.status-closed{background:#ddd;color:#444}.status-cancelled{background:#ffd9d9;color:#7a1212}.status-uploaded{background:#fff4e5;color:#b95000}.status-active{background:#e6f4ea;color:#1a7f37}.status-archived{background:#ddd;color:#444}.error{color:var(--danger);margin-top:8px}.ok{color:var(--ok);margin-top:8px}.muted{color:var(--muted)}.login-page{max-width:360px;margin:80px auto}.login-page .card{padding:28px}.login-page label{display:block;margin-top:12px}.login-page input{width:100%;margin-top:4px}.login-page button{width:100%;margin-top:20px}.grow{flex:1}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.right{text-align:right}.scanner-indicator{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:16px;font-size:13px;font-weight:500;border:1px solid var(--border)}.scanner-dot{width:8px;height:8px;border-radius:50%;background:#888}.scanner-disconnected{background:#f0f2f5;color:#606770}.scanner-disconnected .scanner-dot{background:#999}.scanner-connecting{background:#fff4e5;color:#b95000}.scanner-connecting .scanner-dot{background:#b95000;animation:pulse 1s ease-in-out infinite}.scanner-connected{background:#e6f4ea;color:#1a7f37}.scanner-connected .scanner-dot{background:#1a7f37;box-shadow:0 0 0 3px #1a7f3733}.scanner-error{background:#ffd9d9;color:#7a1212}.scanner-error .scanner-dot{background:#c23030}.scanner-unsupported{background:#f0f2f5;color:#606770;opacity:.7}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.help{max-width:820px}.help .help-lead{font-size:15px;color:#333;margin-bottom:24px}.help h2{margin-top:0}.help ol,.help ul{padding-left:20px;line-height:1.7}.help li{margin:6px 0}.help .help-warn{background:#fff7e6;border:1px solid #f4c674;border-radius:6px;padding:10px 12px;margin-top:12px;color:#5a3a00;font-size:13px}.help .nav-hint{background:#1a1d23;color:#fff;padding:1px 8px;border-radius:4px;font-size:12px}.help .danger-text{color:var(--danger)}.help button{cursor:default}.help button:disabled{opacity:1}
