:root{--font-display: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--font-body: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--font-mono: "Cascadia Mono", "Cascadia Code", Consolas, ui-monospace, "SFMono-Regular", Menlo, monospace;--bg-base: #0D0E11;--bg-surface: #13151A;--bg-elevated: #1A1D24;--bg-subtle: #1F222B;--bg-input: #161820;--border-subtle: rgba(255,255,255,.055);--border-default: rgba(255,255,255,.1);--border-strong: rgba(255,255,255,.18);--border-accent: rgba(212,19,103,.4);--text-primary: #F0EEE9;--text-secondary: #8B8A85;--text-tertiary: #4E4D4A;--text-inverse: #0D0E11;--color-red: #E5534B;--color-amber: #CC8A2A;--color-green: #3FB950;--color-blue: #4493F8;--color-accent: #D41367;--fill-red: rgba(229,83,75,.12);--fill-amber: rgba(204,138,42,.12);--fill-green: rgba(63,185,80,.12);--fill-blue: rgba(68,147,248,.12);--fill-accent: rgba(212,19,103,.12);--border-red: rgba(229,83,75,.28);--border-amber: rgba(204,138,42,.28);--border-green: rgba(63,185,80,.28);--border-blue: rgba(68,147,248,.28);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-xs: 3px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--transition-fast: .1s ease;--transition-base: .15s ease;--transition-slow: .25s ease;--transition-reveal: .3s cubic-bezier(.16,1,.3,1)}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-body);background:var(--bg-base);color:var(--text-primary);line-height:1.5;min-height:100vh}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-elevated);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--bg-subtle)}:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg-base),0 0 0 4px var(--color-accent)}::selection{background:var(--fill-accent);color:var(--text-primary)}.font-mono{font-family:var(--font-mono)}.font-body{font-family:var(--font-body)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-accent{color:var(--color-accent)}.text-red{color:var(--color-red)}.text-amber{color:var(--color-amber)}.text-green{color:var(--color-green)}.text-blue{color:var(--color-blue)}.label{font-family:var(--font-mono);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary)}.data-value{font-family:var(--font-mono);font-size:13px;color:var(--text-primary)}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border:1px solid transparent}.badge-red{background:var(--fill-red);color:var(--color-red);border-color:var(--border-red)}.badge-amber{background:var(--fill-amber);color:var(--color-amber);border-color:var(--border-amber)}.badge-green{background:var(--fill-green);color:var(--color-green);border-color:var(--border-green)}.badge-blue{background:var(--fill-blue);color:var(--color-blue);border-color:var(--border-blue)}.badge-accent{background:var(--fill-accent);color:var(--color-accent);border-color:var(--border-accent)}.badge-neutral{background:var(--bg-elevated);color:var(--text-secondary);border-color:var(--border-default)}.panel{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);overflow:hidden}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--bg-subtle);border-bottom:1px solid var(--border-subtle)}.panel-header-title{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);display:flex;align-items:center;gap:8px}.panel-body{padding:var(--space-5)}.panel-body-flush{padding:0}.metric-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);transition:border-color var(--transition-base)}.metric-card:hover{border-color:var(--border-default)}.metric-label{font-family:var(--font-mono);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary)}.metric-value{font-family:var(--font-mono);font-size:36px;font-weight:300;line-height:1;color:var(--text-primary)}.metric-value.red{color:var(--color-red)}.metric-value.amber{color:var(--color-amber)}.metric-value.green{color:var(--color-green)}.metric-value.blue{color:var(--color-blue)}.metric-unit{font-size:16px;color:var(--text-tertiary);margin-left:3px}.metric-trend{font-family:var(--font-body);font-size:12px;color:var(--text-secondary);display:flex;align-items:center;gap:4px}.metric-trend.up{color:var(--color-green)}.metric-trend.down{color:var(--color-red)}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{font-family:var(--font-mono);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);padding:10px 14px;text-align:left;background:var(--bg-subtle);border-bottom:1px solid var(--border-default);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--transition-base)}.data-table th:hover{color:var(--text-secondary)}.data-table th.sorted{color:var(--color-accent)}.data-table td{padding:11px 14px;color:var(--text-primary);border-bottom:1px solid var(--border-subtle);vertical-align:middle}.data-table td.mono{font-family:var(--font-mono)}.data-table tr{transition:background var(--transition-fast)}.data-table tr:hover td{background:var(--bg-elevated)}.data-table tr:last-child td{border-bottom:none}.data-table tr.row-critical td:first-child{box-shadow:inset 2px 0 0 var(--color-red)}.data-table tr.row-critical td{background:#e5534b0a}.data-table tr.row-warning td:first-child{box-shadow:inset 2px 0 0 var(--color-amber)}.data-table tr.row-warning td{background:#cc8a2a0a}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-md);font-family:var(--font-body);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-base);border:1px solid transparent;white-space:nowrap;text-decoration:none}.btn-primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.btn-primary:hover{background:#b8105a;border-color:#b8105a;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:transparent;color:var(--text-secondary);border-color:var(--border-default)}.btn-secondary:hover{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-strong)}.btn-ghost{background:transparent;color:var(--text-secondary);border-color:transparent}.btn-ghost:hover{background:var(--bg-elevated);color:var(--text-primary)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-sm{padding:5px 10px;font-size:12px}.btn-icon{padding:7px;border-radius:var(--radius-md);min-width:36px;min-height:36px;justify-content:center}.input{width:100%;background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:9px 12px;font-family:var(--font-body);font-size:14px;color:var(--text-primary);transition:border-color var(--transition-base),box-shadow var(--transition-base);outline:none}.input::placeholder{color:var(--text-tertiary)}.input:hover{border-color:var(--border-strong)}.input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--fill-accent)}.input-label{display:block;font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);margin-bottom:var(--space-2)}@keyframes ds-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.ds-skeleton{background:linear-gradient(90deg,var(--bg-elevated) 25%,var(--bg-subtle) 50%,var(--bg-elevated) 75%);background-size:400px 100%;animation:ds-shimmer 1.6s ease-in-out infinite;border-radius:var(--radius-sm)}.ds-skeleton-text{height:12px;border-radius:3px}.ds-skeleton-title{height:20px;border-radius:3px}.ds-skeleton-num{height:36px;width:80px;border-radius:4px}.ds-skeleton-chart{height:180px;border-radius:var(--radius-lg)}.ds-skeleton-row{height:44px;border-radius:0}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes pulseOpacity{0%,to{opacity:1}50%{opacity:.4}}@keyframes countUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.animate-fade-up{animation:fadeUp .3s var(--transition-reveal) both}.animate-fade-in{animation:fadeIn .2s ease both}.animate-slide-left{animation:slideInLeft .2s ease-out both}.animate-pulse{animation:pulseOpacity 2s ease-in-out infinite}.stagger-1{animation-delay:.05s}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}.stagger-7{animation-delay:.35s}.stagger-8{animation-delay:.4s}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:var(--border-subtle)!important;stroke-dasharray:3 3}.recharts-text,.recharts-cartesian-axis-tick-value{fill:var(--text-tertiary)!important;font-family:var(--font-mono)!important;font-size:11px!important}.recharts-tooltip-wrapper .recharts-default-tooltip{background:var(--bg-elevated)!important;border:1px solid var(--border-default)!important;border-radius:var(--radius-md)!important;box-shadow:none!important;padding:10px 14px!important}.recharts-tooltip-label{font-family:var(--font-mono)!important;font-size:11px!important;color:var(--text-tertiary)!important;text-transform:uppercase!important;letter-spacing:.06em!important;margin-bottom:6px!important}.recharts-tooltip-item{font-family:var(--font-mono)!important;font-size:12px!important;color:var(--text-primary)!important;padding:2px 0!important}.recharts-legend-item-text{font-family:var(--font-mono)!important;font-size:11px!important;color:var(--text-secondary)!important}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;gap:8px}.empty-state-icon{font-size:28px;color:var(--text-tertiary);margin-bottom:4px}.empty-state-title{font-family:var(--font-mono);font-size:13px;color:var(--text-secondary)}.empty-state-sub{font-size:12px;color:var(--text-tertiary)}.empty-state.success .empty-state-icon,.empty-state.success .empty-state-title{color:var(--color-green)}.divider{height:1px;background:var(--border-subtle);border:none;margin:0}[data-tooltip]{position:relative;cursor:default}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--bg-subtle);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:5px 10px;font-family:var(--font-mono);font-size:11px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--transition-base);z-index:1000}[data-tooltip]:hover:after{opacity:1}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Arial,Helvetica,sans-serif;background:#f2f2f2;color:#1a1a1a;min-height:100vh;-webkit-font-smoothing:antialiased}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px}.auth-card{background:#fff;border-radius:8px;box-shadow:0 2px 16px #0000001a,0 0 0 1px #0000000a;width:100%;max-width:420px;overflow:hidden}.auth-header{background:#d41367;padding:28px 32px 24px}.auth-logo{display:flex;align-items:baseline;gap:10px}.logo-thusa{color:#fff;font-size:24px;font-weight:700;letter-spacing:1.5px}.logo-portal{color:#fffc;font-size:13px;letter-spacing:.5px;text-transform:uppercase}.auth-tagline{color:#ffffffb3;font-size:13px;margin-top:6px}.auth-body{padding:32px 32px 28px}.auth-title{font-size:18px;font-weight:700;color:#1a1a1a;margin-bottom:6px}.auth-subtitle{font-size:14px;color:#666;margin-bottom:24px;line-height:1.5}.form-group{margin-bottom:18px}.form-label{display:block;font-size:13px;font-weight:700;color:#333;margin-bottom:6px}.form-input{width:100%;padding:10px 12px;font-size:15px;font-family:inherit;border:1.5px solid #d0d0d0;border-radius:5px;outline:none;transition:border-color .15s;background:#fff;color:#1a1a1a}.form-input:focus{border-color:#d41367;box-shadow:0 0 0 3px #d413671a}.form-input::placeholder{color:#aaa}.btn-primary{width:100%;padding:11px 16px;background:#d41367;color:#fff;font-size:15px;font-family:inherit;font-weight:700;border:none;border-radius:5px;cursor:pointer;transition:background .15s,opacity .15s;letter-spacing:.3px}.btn-primary:hover:not(:disabled){background:#b8105a}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-link{background:none;border:none;color:#d41367;font-size:13px;font-family:inherit;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.btn-link:hover{color:#b8105a}.alert{padding:11px 14px;border-radius:5px;font-size:14px;margin-bottom:18px;line-height:1.4}.alert-error{background:#fff0f3;border:1px solid #f5a0b8;color:#9b0033}.alert-success{background:#f0faf4;border:1px solid #8fd3a8;color:#1a6636}.auth-footer{margin-top:20px;text-align:center;font-size:13px;color:#888}.auth-footer a,.auth-footer button{color:#d41367;text-decoration:none;cursor:pointer;background:none;border:none;font-family:inherit;font-size:inherit;padding:0}.auth-footer a:hover,.auth-footer button:hover{text-decoration:underline;color:#b8105a}.password-hint{font-size:12px;color:#888;margin-top:5px}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;background:#f2f2f2}.loading-logo{display:flex;align-items:baseline;gap:10px}.loading-spinner{width:36px;height:36px;border:3px solid #e8e8e8;border-top-color:#d41367;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.ticket-list-welcome{font-size:26px;font-weight:700;color:#1a1a1a;margin-bottom:8px}.ticket-list-welcome em{font-style:normal;color:#d41367}@media (max-width: 480px){.auth-header{padding:22px 22px 18px}.auth-body{padding:24px 22px 20px}}.impersonation-space{height:86px}.impersonation-banner{position:fixed;bottom:0;left:0;right:0;z-index:1100;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;border-top:2px solid #CC8A2A;background:#fff3d6;color:#543900;font-size:14px;box-shadow:0 -4px 20px #0000001f}.impersonation-banner__expiry{display:block;font-size:12px;margin-top:4px}.impersonation-banner button{flex-shrink:0;padding:9px 14px;border:1px solid #8A5C00;border-radius:6px;background:#543900;color:#fff;font:inherit;cursor:pointer}.impersonation-banner button:disabled{opacity:.6;cursor:wait}.impersonation-banner button:focus-visible{outline:3px solid #CC8A2A;outline-offset:3px}.impersonation-banner p{margin-top:4px;color:#a11b16}@media (max-width: 600px){.impersonation-space{height:140px}.impersonation-banner{flex-direction:column;align-items:flex-start;padding:12px 16px;gap:8px;overflow-wrap:anywhere}}
