:root{--bg: #0b0c14;--surface: #14161f;--surface-2: #1c1f2b;--border: #2a2e3c;--border-2: #3a3f51;--text: #f0f2f8;--text-muted: #8e94a8;--text-secondary: #b6bbd0;--accent: #8c7cff;--accent-hover: #a394ff;--success: #4ade80;--warning: #f59e0b;--danger: #ef4444;--radius: 6px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.4 var(--font);-webkit-font-smoothing:antialiased}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--border);background:var(--surface-2);color:var(--text);padding:8px 14px;border-radius:var(--radius);font-weight:500;transition:background .15s,border-color .15s}button:hover:not(:disabled){background:var(--border)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}button.danger{background:transparent;border-color:var(--danger);color:var(--danger)}button.danger:hover:not(:disabled){background:#ef44441a}input[type=text],input[type=password],input[type=number],textarea{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:9px 12px;width:100%;outline:none}input:focus,textarea:focus{border-color:var(--accent)}.error{color:var(--danger);font-size:13px;margin-top:8px}.info{color:var(--text-muted);font-size:13px}.auth-shell{min-height:100dvh;display:grid;place-items:center;padding:40px 20px}.auth-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:32px 28px}.auth-card h1{font-size:22px;margin:0 0 4px}.auth-card .subtitle{color:var(--text-muted);font-size:13px;margin:0 0 24px}.auth-card .field{margin-bottom:14px}.auth-card .field label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.06em}.auth-card button.primary{width:100%;padding:11px;margin-top:8px;font-size:14px}.qr-block{text-align:center;margin:16px 0}.qr-block img{width:220px;height:220px;border-radius:8px;background:#fff;padding:12px}.qr-block .uri{margin-top:12px;font-family:var(--font-mono);font-size:11px;color:var(--text-muted);word-break:break-all;text-align:left;background:var(--bg);padding:8px 10px;border-radius:6px;border:1px solid var(--border)}.app-shell{display:grid;grid-template-columns:220px 1fr;height:100vh}.sidebar{background:var(--surface);border-right:1px solid var(--border);padding:22px 16px;display:flex;flex-direction:column}.sidebar h2{font-size:17px;font-weight:600;margin:0 0 28px;padding-left:10px}.sidebar nav a{display:block;padding:9px 12px;border-radius:6px;color:var(--text-secondary);text-decoration:none;margin-bottom:2px;font-size:13.5px}.sidebar nav a:hover{background:var(--surface-2);color:var(--text)}.sidebar nav a.active{background:var(--surface-2);color:var(--text)}.sidebar .who{margin-top:auto;padding-top:18px;border-top:1px solid var(--border);font-size:12px;color:var(--text-muted)}.sidebar .who .login{color:var(--text);font-weight:500;font-size:13px;margin-bottom:4px}.sidebar .logout-btn{margin-top:12px;background:transparent;border:1px solid var(--border);padding:6px 10px;font-size:12px;border-radius:5px;width:100%}.main{padding:30px 36px;overflow-y:auto}.main h1{font-size:24px;margin:0 0 6px}.main .page-subtitle{color:var(--text-muted);font-size:13.5px;margin:0 0 28px}
