html,body,#root{background-color:var(--bg-primary);width:100%;min-height:100vh;margin:0;padding:0}:root{--bg-primary:#121214;--bg-secondary:#1a1a1e;--bg-tertiary:#222227;--bg-hover:#2b2b32;--bg-active:#34343d;--bg-card:#18181c;--border:#2a2a30;--border-light:#383842;--border-focus:#525260;--text-primary:#ececf0;--text-secondary:#a0a0a8;--text-muted:#6a6a74;--text-dim:#484852;--accent:#d4a853;--accent-hover:#e0b865;--accent-soft:#d4a8531f;--accent-border:#d4a85359;--accent-text:#161208;--status-ok-bg:#28282e;--status-ok-text:#d8d8de;--status-ok-border:#44444e;--status-denied-bg:#24242a;--status-denied-text:#92929c;--status-denied-border:#383842;--status-alert-bg:#2d2a24;--status-alert-text:#e2ba6b;--status-alert-border:#735928;--shadow:0 4px 16px #00000073;--shadow-sm:0 2px 6px #0000004d;--radius-sm:6px;--radius:8px;--radius-lg:12px;--font-ui:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.5;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-layout{background-color:var(--bg-primary);min-height:100vh;display:flex}.sidebar{background-color:var(--bg-secondary);border-right:1px solid var(--border);z-index:20;flex-direction:column;flex-shrink:0;width:250px;height:100vh;transition:width .22s cubic-bezier(.4,0,.2,1);display:flex;position:sticky;top:0}.sidebar.collapsed,.app-layout.sidebar-collapsed .sidebar{width:68px}.sidebar.collapsed .brand-text{display:none!important}.sidebar.collapsed .sidebar-header{flex-direction:column;gap:8px;padding:16px 8px}.sidebar.collapsed .sidebar-collapse-btn{margin:0 auto}.sidebar.collapsed .nav-link span{display:none!important}.sidebar.collapsed .nav-link{justify-content:center;padding:12px 0}.sidebar.collapsed .user-info{display:none!important}.sidebar.collapsed .user-badge{justify-content:center;padding:6px}.sidebar.collapsed .btn-secondary span{display:none!important}.sidebar.collapsed .btn-secondary{justify-content:center;padding:8px 0}.sidebar-header{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:22px 20px;display:flex}.brand-icon{border-radius:var(--radius);background-color:var(--accent-soft);border:1px solid var(--accent-border);width:38px;height:38px;color:var(--accent);justify-content:center;align-items:center;display:flex}.brand-title{letter-spacing:.5px;color:var(--text-primary);font-size:15px;font-weight:700}.brand-subtitle{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.sidebar-nav{flex-direction:column;flex:1;gap:4px;padding:16px 12px;display:flex;overflow-y:auto}.nav-link{border-radius:var(--radius-sm);color:var(--text-secondary);border:1px solid #0000;align-items:center;gap:12px;padding:10px 14px;font-size:13.5px;font-weight:500;transition:all .15s;display:flex}.nav-link:hover{background-color:var(--bg-hover);color:var(--text-primary)}.nav-link.active{background-color:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-light);font-weight:600}.nav-link.active svg{color:var(--accent)}.sidebar-footer{border-top:1px solid var(--border);background-color:var(--bg-secondary);flex-direction:column;gap:10px;padding:16px 14px;display:flex}.user-badge{border-radius:var(--radius-sm);background-color:var(--bg-tertiary);border:1px solid var(--border);align-items:center;gap:10px;padding:8px 10px;display:flex}.user-avatar{background-color:var(--bg-hover);border:1px solid var(--border-light);width:32px;height:32px;color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.user-info{flex:1;min-width:0}.user-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;overflow:hidden}.user-role-label{color:var(--text-muted);font-size:11px}.main-content{background-color:var(--bg-primary);flex-direction:column;flex:1;min-width:0;display:flex}.topbar{background-color:var(--bg-secondary);border-bottom:1px solid var(--border);z-index:10;justify-content:space-between;align-items:center;height:60px;padding:0 28px;display:flex;position:sticky;top:0}.topbar-left{align-items:center;gap:16px;display:flex}.breadcrumb{color:var(--text-muted);font-size:13px}.breadcrumb span{color:var(--text-primary);font-weight:600}.topbar-right{align-items:center;gap:18px;display:flex}.live-indicator{font-size:11.5px;font-family:var(--font-mono);color:var(--text-secondary);background-color:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:7px;padding:5px 10px;display:flex}.pulse-dot{background-color:var(--accent);width:7px;height:7px;box-shadow:0 0 8px var(--accent);border-radius:50%}.clock-display{font-family:var(--font-mono);color:var(--text-muted);font-size:12.5px}.page-container{width:100%;max-width:1400px;margin:0 auto;padding:26px 28px}.page-header{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.page-title{color:var(--text-primary);letter-spacing:-.3px;font-size:22px;font-weight:700}.page-subtitle{color:var(--text-muted);margin-top:3px;font-size:13px}.card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px}.card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.card-title{color:var(--text-primary);align-items:center;gap:8px;font-size:14.5px;font-weight:600;display:flex}.btn{border-radius:var(--radius-sm);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.btn-primary{background-color:var(--accent);color:var(--accent-text)}.btn-primary:hover{background-color:var(--accent-hover)}.btn-secondary{background-color:var(--bg-tertiary);border-color:var(--border-light);color:var(--text-primary)}.btn-secondary:hover{background-color:var(--bg-hover);border-color:var(--text-muted)}.btn-danger-grey{color:#c0c0c8;background-color:#26262a;border-color:#40404a}.btn-danger-grey:hover{color:#fff;background-color:#323238;border-color:#555562}.btn-sm{padding:5px 10px;font-size:12px}.form-group{margin-bottom:14px}.form-label{color:var(--text-secondary);margin-bottom:6px;font-size:12px;font-weight:500;display:block}.form-input,.form-select,.form-textarea{background-color:var(--bg-secondary);border:1px solid var(--border);width:100%;color:var(--text-primary);border-radius:var(--radius-sm);outline:none;padding:9px 12px;font-size:13px;transition:border-color .15s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--border-focus)}.table-container{border:1px solid var(--border);border-radius:var(--radius);background-color:var(--bg-card);overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.data-table th{background-color:var(--bg-secondary);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);padding:12px 16px;font-size:11px;font-weight:600}.data-table td{border-bottom:1px solid var(--border);color:var(--text-primary);padding:12px 16px}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background-color:var(--bg-hover)}.badge{letter-spacing:.3px;border-radius:4px;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge-ok{background-color:var(--status-ok-bg);color:var(--status-ok-text);border:1px solid var(--status-ok-border)}.badge-denied{background-color:var(--status-denied-bg);color:var(--status-denied-text);border:1px solid var(--status-denied-border)}.badge-alert{background-color:var(--status-alert-bg);color:var(--status-alert-text);border:1px solid var(--status-alert-border)}.badge-neutral{background-color:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border)}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;background-color:#000000bf;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);width:100%;max-width:520px;box-shadow:var(--shadow);overflow:hidden}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.modal-title{color:var(--text-primary);font-size:16px;font-weight:700}.modal-body{max-height:75vh;padding:20px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);background-color:var(--bg-secondary);justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.font-mono{font-family:var(--font-mono)}@keyframes vibrate-shake{0%{transform:translate(0)rotate(0)}10%{transform:translate(-10px)rotate(-1.5deg)}22%{transform:translate(9px)rotate(1.5deg)}35%{transform:translate(-8px)rotate(-1deg)}48%{transform:translate(7px)rotate(1deg)}60%{transform:translate(-5px)rotate(-.5deg)}72%{transform:translate(4px)rotate(.5deg)}85%{transform:translate(-2px)rotate(0)}to{transform:translate(0)rotate(0)}}@keyframes error-pulse-glow{0%{box-shadow:0 0 #dc262680}50%{box-shadow:0 0 0 16px #dc262600}to{box-shadow:0 0 #dc262600}}.vibrate-error,.denied-shake-box,.scan-stage-denied,.input-error{animation:.55s cubic-bezier(.36,.07,.19,.97) both vibrate-shake}
