:root{--background: 240 10% 3.9%;--foreground: 0 0% 98%;--card: 240 10% 8%;--card-foreground: 0 0% 98%;--popover: 240 10% 8%;--popover-foreground: 0 0% 98%;--primary: 270 100% 70%;--primary-foreground: 0 0% 100%;--primary-glow: 270 100% 80%;--secondary: 240 3.7% 15.9%;--secondary-foreground: 0 0% 98%;--muted: 240 3.7% 15.9%;--muted-foreground: 240 5% 64.9%;--accent: 270 100% 70%;--accent-foreground: 0 0% 98%;--destructive: 0 84% 60%;--destructive-foreground: 0 0% 100%;--border: 270 50% 30%;--input: 240 3.7% 15.9%;--ring: 270 100% 70%;--radius: .25rem;--terminal-green: 142 71% 45%;--terminal-amber: 38 92% 50%;--terminal-red: 0 84% 60%;--scanline-opacity: .03;--glow-size: 20px;--gradient-hero: linear-gradient(135deg, hsl(270 100% 10%) 0%, hsl(240 10% 3.9%) 100%);--gradient-card: linear-gradient(180deg, hsl(240 10% 8%) 0%, hsl(240 10% 5%) 100%);--glow-purple: 0 0 var(--glow-size) hsl(var(--primary) / .4);--transition-smooth: all .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;border-color:hsl(var(--border))}body{margin:0;background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,Courier New,monospace;letter-spacing:-.02em}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media(min-width:1400px){.container{max-width:1400px}}.scanlines{position:relative}.scanlines:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,var(--scanline-opacity)) 0px,transparent 1px,transparent 2px,rgba(255,255,255,var(--scanline-opacity)) 3px);pointer-events:none;z-index:10}@media(prefers-reduced-motion:reduce){.scanlines:before{display:none}}.pixel-border{border:2px solid hsl(var(--border));box-shadow:inset 0 0 0 1px hsl(var(--primary) / .08),0 4px 12px hsl(var(--primary) / .08)}.glow-text{color:hsl(var(--primary))}.terminal-text{font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,Courier New,monospace;font-size:.875rem;line-height:1.6}.card{background-color:hsl(var(--card));color:hsl(var(--card-foreground));border-radius:var(--radius);border:1px solid hsl(var(--border));box-shadow:0 4px 12px hsl(var(--primary) / .08);transition:var(--transition-smooth)}.card:hover{box-shadow:0 0 30px hsl(var(--primary) / .15);transform:scale(1.02)}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius);font-size:.875rem;font-weight:500;transition:var(--transition-smooth);cursor:pointer;border:none;padding:.5rem 1rem}.btn-primary{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));box-shadow:0 0 20px hsl(var(--primary) / .5)}.btn-primary:hover:not(:disabled){background-color:hsl(var(--primary) / .9);box-shadow:0 0 30px hsl(var(--primary) / .7);transform:scale(1.02)}.btn-primary:active{transform:scale(.98)}.btn-secondary{background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground));border:1px solid hsl(var(--border))}.btn-secondary:hover:not(:disabled){background-color:hsl(var(--secondary) / .8)}.btn-destructive{background-color:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}.btn-destructive:hover:not(:disabled){background-color:hsl(var(--destructive) / .9)}.btn:disabled{opacity:.5;cursor:not-allowed}.input{width:100%;padding:.5rem .75rem;background-color:hsl(var(--input));color:hsl(var(--foreground));border:1px solid hsl(var(--border));border-radius:var(--radius);font-size:.875rem;transition:var(--transition-smooth)}.input:focus{outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsl(var(--ring) / .2)}.input::placeholder{color:hsl(var(--muted-foreground))}.input:disabled{opacity:.5;cursor:not-allowed}textarea.input{resize:vertical;min-height:60px}.badge{display:inline-flex;align-items:center;border-radius:9999px;padding:.25rem .625rem;font-size:.75rem;font-weight:600;transition:var(--transition-smooth)}.badge-primary{background-color:hsl(var(--primary) / .2);color:hsl(var(--primary));border:1px solid hsl(var(--primary) / .3)}.badge-success{background-color:hsl(var(--terminal-green) / .2);color:hsl(var(--terminal-green));border:1px solid hsl(var(--terminal-green) / .3)}.badge-warning{background-color:hsl(var(--terminal-amber) / .2);color:hsl(var(--terminal-amber));border:1px solid hsl(var(--terminal-amber) / .3)}.badge-error{background-color:hsl(var(--terminal-red) / .2);color:hsl(var(--terminal-red));border:1px solid hsl(var(--terminal-red) / .3)}@keyframes glow-pulse{0%,to{opacity:1;filter:drop-shadow(0 0 8px hsl(var(--primary) / .6))}50%{opacity:.8;filter:drop-shadow(0 0 12px hsl(var(--primary) / .8))}}.animate-glow-pulse{animation:glow-pulse 2s ease-in-out infinite}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-slide-up{animation:slide-up .4s ease-out}@keyframes pixel-pop{0%{transform:scale(.95);opacity:0}50%{transform:scale(1.02)}to{transform:scale(1);opacity:1}}.animate-pixel-pop{animation:pixel-pop .3s cubic-bezier(.34,1.56,.64,1)}.text-muted{color:hsl(var(--muted-foreground))}.text-primary{color:hsl(var(--primary))}.text-destructive{color:hsl(var(--destructive))}.bg-card{background-color:hsl(var(--card))}.bg-muted{background-color:hsl(var(--muted))}.shadow-glow{box-shadow:0 0 20px hsl(var(--primary) / .5)}.shadow-glow-hover:hover{box-shadow:0 0 30px hsl(var(--primary) / .7)}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:hsl(var(--background));color:hsl(var(--foreground))}code{font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{height:100vh}.error-message-container{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:var(--radius);margin:12px 0;font-size:14px;line-height:1.5;transition:var(--transition-smooth)}.error-message-container.error{background-color:hsl(var(--destructive) / .1);border:1px solid hsl(var(--destructive) / .3);color:hsl(var(--destructive));box-shadow:0 0 20px hsl(var(--destructive) / .2)}.error-message-container.warning{background-color:hsl(var(--terminal-amber) / .1);border:1px solid hsl(var(--terminal-amber) / .3);color:hsl(var(--terminal-amber));box-shadow:0 0 20px hsl(var(--terminal-amber) / .2)}.error-message-container.info{background-color:hsl(var(--primary) / .1);border:1px solid hsl(var(--primary) / .3);color:hsl(var(--primary-glow));box-shadow:0 0 20px hsl(var(--primary) / .2)}.error-message-content{display:flex;align-items:center;gap:8px;flex:1}.error-message-icon{font-size:18px;flex-shrink:0}.error-message-text{flex:1}.error-message-dismiss{background:none;border:none;font-size:24px;line-height:1;cursor:pointer;padding:0;margin-left:12px;color:inherit;opacity:.7;transition:var(--transition-smooth)}.error-message-dismiss:hover{opacity:1;transform:scale(1.1)}.error-message-dismiss:focus{outline:2px solid currentColor;outline-offset:2px}.modal-overlay{position:fixed;inset:0;background-color:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);max-width:800px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px hsl(var(--primary) / .3);animation:slideUp .3s ease-out}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--muted) / .3)}.modal-header h2{margin:0;font-size:20px;font-weight:600;color:hsl(var(--primary-glow));font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,Courier New,monospace;letter-spacing:-.02em;text-shadow:0 0 15px hsl(var(--primary) / .5)}.close-button{background:none;border:none;font-size:32px;line-height:1;color:hsl(var(--muted-foreground));cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);transition:var(--transition-smooth)}.close-button:hover{background-color:hsl(var(--accent) / .1);color:hsl(var(--foreground));transform:scale(1.1)}.modal-body{flex:1;overflow-y:auto;padding:24px}.loading,.error{text-align:center;padding:40px 20px;color:hsl(var(--muted-foreground))}.error{color:hsl(var(--destructive))}.conversation-metadata{background:hsl(var(--muted) / .3);border:1px solid hsl(var(--border));border-radius:var(--radius);padding:16px;margin-bottom:24px}.metadata-row{display:flex;gap:12px;padding:8px 0;border-bottom:1px solid hsl(var(--border) / .5)}.metadata-row:last-child{border-bottom:none}.metadata-label{font-weight:600;color:hsl(var(--muted-foreground));min-width:150px;flex-shrink:0;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,Courier New,monospace}.metadata-value{color:hsl(var(--foreground));flex:1}.metadata-value.badge{display:inline-block;padding:4px 12px;border-radius:9999px;font-size:12px;font-weight:600;background-color:hsl(var(--muted));color:hsl(var(--muted-foreground));border:1px solid hsl(var(--border))}.metadata-value.badge.resolved{background-color:hsl(var(--terminal-green) / .2);color:hsl(var(--terminal-green));border-color:hsl(var(--terminal-green) / .3)}.metadata-value.badge.needs_info{background-color:hsl(var(--terminal-amber) / .2);color:hsl(var(--terminal-amber));border-color:hsl(var(--terminal-amber) / .3)}.metadata-value.badge.escalate,.metadata-value.badge.error{background-color:hsl(var(--destructive) / .2);color:hsl(var(--destructive));border-color:hsl(var(--destructive) / .3)}.transcript-section{margin-top:24px}.transcript-section h3{margin:0 0 16px;font-size:18px;font-weight:600;color:hsl(var(--primary-glow));font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,Courier New,monospace;letter-spacing:-.02em}.no-transcript{text-align:center;padding:40px 20px;color:hsl(var(--muted-foreground));font-style:italic}.transcript-list{display:flex;flex-direction:column;gap:12px}.transcript-turn{padding:12px 16px;border-radius:var(--radius);border-left:3px solid hsl(var(--border));transition:var(--transition-smooth)}.transcript-turn.agent{background:hsl(var(--primary) / .1);border-left-color:hsl(var(--primary));box-shadow:0 0 15px hsl(var(--primary) / .1)}.transcript-turn.user{background:hsl(var(--muted) / .3);border-left-color:hsl(var(--muted-foreground))}.turn-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.turn-role{font-weight:600;font-size:11px;text-transform:uppercase;color:hsl(var(--muted-foreground));letter-spacing:.1em;font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,Courier New,monospace}.turn-time{font-size:12px;color:hsl(var(--muted-foreground));font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,Courier New,monospace}.turn-message{font-size:14px;line-height:1.6;color:hsl(var(--foreground));white-space:pre-wrap;word-wrap:break-word}.modal-footer{padding:16px 24px;border-top:1px solid hsl(var(--border));display:flex;justify-content:flex-end;background:hsl(var(--muted) / .3)}.modal-footer button{padding:8px 24px;border:none;border-radius:var(--radius);font-size:14px;font-weight:500;cursor:pointer;background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground));transition:var(--transition-smooth);border:1px solid hsl(var(--border))}.modal-footer button:hover{background-color:hsl(var(--secondary) / .8);box-shadow:0 0 20px hsl(var(--primary) / .2);transform:scale(1.02)}.citation-bubble{position:fixed;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);box-shadow:0 8px 24px hsl(var(--primary) / .2);max-width:400px;max-height:300px;z-index:1000;animation:fadeIn .2s ease-out;display:flex;flex-direction:column}.citation-bubble--above{transform-origin:bottom center}.citation-bubble--below{transform-origin:top center}.citation-bubble__header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--muted) / .3)}.citation-bubble__number{font-weight:600;color:hsl(var(--primary-glow));font-size:14px;font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,Courier New,monospace;text-shadow:0 0 10px hsl(var(--primary) / .5)}.citation-bubble__close{background:none;border:none;font-size:24px;line-height:1;color:hsl(var(--muted-foreground));cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);transition:var(--transition-smooth)}.citation-bubble__close:hover{background-color:hsl(var(--accent) / .1);color:hsl(var(--foreground))}.citation-bubble__close:focus{outline:2px solid hsl(var(--ring));outline-offset:2px}.citation-bubble__content{padding:16px;overflow-y:auto;flex:1;min-height:0}.citation-bubble__excerpt{margin:0;color:hsl(var(--foreground));font-size:14px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word}.citation-bubble__footer{padding:12px 16px;border-top:1px solid hsl(var(--border));display:flex;justify-content:space-between;align-items:center;gap:12px;background:hsl(var(--muted) / .3)}.citation-bubble__link{color:hsl(var(--primary-glow));text-decoration:none;font-size:14px;font-weight:500;transition:var(--transition-smooth)}.citation-bubble__link:hover{color:hsl(var(--primary));text-decoration:underline;text-shadow:0 0 10px hsl(var(--primary) / .5)}.citation-bubble__link:focus{outline:2px solid hsl(var(--ring));outline-offset:2px;border-radius:2px}.citation-bubble__id{color:hsl(var(--muted-foreground));font-size:12px;font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,Courier New,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.citation-bubble__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px;color:hsl(var(--muted-foreground))}.citation-bubble__spinner{font-size:24px;animation:spin 1s linear infinite;color:hsl(var(--primary))}.citation-bubble__loading p{margin:0;font-size:14px}.citation-bubble__error{display:flex;flex-direction:column;gap:12px;padding:8px 0}.citation-bubble__error-message{margin:0;color:hsl(var(--destructive));font-size:14px;line-height:1.5}.citation-bubble__retry-button{align-self:flex-start;background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:var(--radius);padding:8px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition-smooth);box-shadow:0 0 15px hsl(var(--primary) / .3)}.citation-bubble__retry-button:hover{background-color:hsl(var(--primary) / .9);box-shadow:0 0 20px hsl(var(--primary) / .5);transform:scale(1.02)}.citation-bubble__retry-button:focus{outline:2px solid hsl(var(--ring));outline-offset:2px}.citation-bubble__retry-button:active{transform:scale(.98)}.chat-interface{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;width:100%;max-width:100%;position:relative}.messages-container{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.message{display:flex;flex-direction:column;gap:4px;padding:12px 16px;border-radius:var(--radius);max-width:80%;min-width:75px;animation:slide-up .3s ease-out;border:1px solid hsl(var(--border))}.message.user{align-self:flex-end;background:hsl(var(--primary));color:hsl(var(--primary-foreground));box-shadow:0 0 20px hsl(var(--primary) / .3)}.message.assistant{align-self:flex-start;background:hsl(var(--card));color:hsl(var(--card-foreground));box-shadow:0 4px 12px hsl(var(--primary) / .08)}.message-role{font-size:11px;font-weight:600;opacity:.7;text-transform:uppercase;letter-spacing:.05em;font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,Courier New,monospace}.message-content{font-size:14px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word}.conversation-link{color:hsl(var(--primary-glow));text-decoration:underline;cursor:pointer;font-weight:500;transition:var(--transition-smooth)}.conversation-link:hover{color:hsl(var(--primary));text-decoration:none;text-shadow:0 0 10px hsl(var(--primary) / .5)}.message.user .conversation-link{color:hsl(var(--primary-foreground));text-decoration:underline}.message.user .conversation-link:hover{opacity:.8}.tool-executions{padding:12px 16px;background-color:hsl(var(--terminal-amber) / .1);border-radius:var(--radius);border:1px solid hsl(var(--terminal-amber) / .3);box-shadow:0 0 15px hsl(var(--terminal-amber) / .2)}.tool-executions-title{font-size:11px;font-weight:600;margin-bottom:8px;color:hsl(var(--terminal-amber));text-transform:uppercase;letter-spacing:.05em;font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,Courier New,monospace}.tool-execution{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px;color:hsl(var(--terminal-amber))}.tool-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tool-name{font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,Courier New,monospace}.input-container{border-top:1px solid hsl(var(--border));padding:16px;background:hsl(var(--card));box-shadow:0 -4px 12px hsl(var(--primary) / .05)}.input-container textarea{width:100%;padding:12px;background-color:hsl(var(--input));color:hsl(var(--foreground));border:1px solid hsl(var(--border));border-radius:var(--radius);font-size:14px;font-family:inherit;resize:vertical;min-height:60px;transition:var(--transition-smooth)}.input-container textarea:focus{outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsl(var(--ring) / .2),0 0 20px hsl(var(--primary) / .3)}.input-container textarea:disabled{opacity:.5;cursor:not-allowed}.input-actions{display:flex;justify-content:flex-end;margin-top:8px}.input-actions button{padding:8px 24px;border:none;border-radius:var(--radius);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition-smooth)}.input-actions button:not(.stop-button){background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));box-shadow:0 0 20px hsl(var(--primary) / .5)}.input-actions button:not(.stop-button):hover:not(:disabled){background-color:hsl(var(--primary) / .9);box-shadow:0 0 30px hsl(var(--primary) / .7);transform:scale(1.02)}.input-actions button:not(.stop-button):active:not(:disabled){transform:scale(.98)}.input-actions button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.stop-button{background-color:hsl(var(--destructive));color:hsl(var(--destructive-foreground));box-shadow:0 0 20px hsl(var(--destructive) / .3)}.stop-button:hover{background-color:hsl(var(--destructive) / .9);box-shadow:0 0 30px hsl(var(--destructive) / .5)}.citation{color:hsl(var(--primary-glow));cursor:pointer;text-decoration:none;font-weight:500;padding:0 4px;border-radius:2px;transition:var(--transition-smooth);border-bottom:1px solid hsl(var(--primary) / .3)}.citation:hover{background-color:hsl(var(--primary) / .1);text-decoration:none;border-bottom-color:hsl(var(--primary));text-shadow:0 0 10px hsl(var(--primary) / .5)}.citation:focus{outline:2px solid hsl(var(--ring));outline-offset:2px}.citation-bubble{position:absolute;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);box-shadow:0 8px 24px hsl(var(--primary) / .2);padding:16px;max-width:400px;max-height:300px;overflow-y:auto;z-index:1000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.analytics-dashboard{padding:2rem;max-width:1400px;margin:0 auto}.analytics-dashboard h1{margin-bottom:2rem;color:hsl(var(--primary-glow));font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,Courier New,monospace;letter-spacing:-.02em;text-shadow:0 0 20px hsl(var(--primary) / .5)}.filters-section{display:flex;gap:1rem;align-items:flex-end;margin-bottom:2rem;padding:1.5rem;background:hsl(var(--card));border-radius:var(--radius);border:1px solid hsl(var(--border));box-shadow:0 4px 12px hsl(var(--primary) / .08)}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{font-weight:500;font-size:.875rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em;font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,Courier New,monospace}.filter-group input,.filter-group select{padding:.5rem .75rem;background-color:hsl(var(--input));color:hsl(var(--foreground));border:1px solid hsl(var(--border));border-radius:var(--radius);font-size:.875rem;transition:var(--transition-smooth)}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsl(var(--ring) / .2)}.filters-section button{padding:.5rem 1.5rem;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:var(--radius);cursor:pointer;font-size:.875rem;font-weight:500;transition:var(--transition-smooth);box-shadow:0 0 20px hsl(var(--primary) / .5)}.filters-section button:hover:not(:disabled){background:hsl(var(--primary) / .9);box-shadow:0 0 30px hsl(var(--primary) / .7);transform:scale(1.02)}.filters-section button:active:not(:disabled){transform:scale(.98)}.filters-section button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.error-message{padding:1rem 1.5rem;background:hsl(var(--destructive) / .1);border:1px solid hsl(var(--destructive) / .3);border-radius:var(--radius);color:hsl(var(--destructive));margin-bottom:1rem;box-shadow:0 0 20px hsl(var(--destructive) / .2)}.loading-indicator{text-align:center;padding:2rem;color:hsl(var(--muted-foreground));font-size:1.1rem}.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:hsl(var(--card));padding:1.5rem;border-radius:var(--radius);border:1px solid hsl(var(--border));box-shadow:0 4px 12px hsl(var(--primary) / .08);transition:var(--transition-smooth)}.stat-card:hover{box-shadow:0 0 30px hsl(var(--primary) / .15);transform:scale(1.02)}.stat-card h3{margin:0 0 1rem;font-size:.75rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.1em;font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,Courier New,monospace}.stat-value{margin:0;font-size:2rem;font-weight:700;color:hsl(var(--primary-glow));font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,Courier New,monospace;text-shadow:0 0 15px hsl(var(--primary) / .3)}.charts-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:2rem}.chart-container{background:hsl(var(--card));padding:1.5rem;border-radius:var(--radius);border:1px solid hsl(var(--border));box-shadow:0 4px 12px hsl(var(--primary) / .08);transition:var(--transition-smooth)}.chart-container:hover{box-shadow:0 0 30px hsl(var(--primary) / .15)}.chart-container h2{margin:0 0 1.5rem;font-size:1.2rem;color:hsl(var(--primary-glow));font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,Courier New,monospace;letter-spacing:-.02em}@media(max-width:768px){.filters-section{flex-direction:column;align-items:stretch}.charts-section{grid-template-columns:1fr}}.signin-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem}.signin-card{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:420px;width:100%;padding:2.5rem;animation:slideUp .4s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.signin-header{text-align:center;margin-bottom:2rem}.signin-logo{display:flex;justify-content:center;margin-bottom:1.5rem}.signin-title{font-size:1.875rem;font-weight:700;color:#1f2937;margin:0 0 .5rem}.signin-subtitle{font-size:.875rem;color:#6b7280;margin:0}.signin-content{margin-bottom:1.5rem}.signin-error{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.875rem;margin-bottom:1.5rem;animation:shake .4s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.signin-error svg{flex-shrink:0}.signin-button{width:100%;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.875rem 1.5rem;background-color:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;font-weight:600;color:#374151;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.signin-button:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af;box-shadow:0 2px 4px #0000001a}.signin-button:active:not(:disabled){transform:scale(.98)}.signin-button:disabled{opacity:.6;cursor:not-allowed}.signin-button svg{flex-shrink:0}.button-spinner{width:20px;height:20px;border:2px solid #e5e7eb;border-top-color:#4f46e5;border-radius:50%;animation:spin .8s linear infinite}.signin-footer{text-align:center;padding-top:1.5rem;border-top:1px solid #e5e7eb}.signin-footer p{font-size:.75rem;color:#9ca3af;margin:0}.signin-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 0}.spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#4f46e5;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}.signin-loading p{color:#6b7280;font-size:.875rem;margin:0}@media(max-width:480px){.signin-card{padding:2rem 1.5rem}.signin-title{font-size:1.5rem}}.toast-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:12px;max-width:400px}.toast{display:flex;align-items:center;justify-content:space-between;padding:16px;border-radius:8px;box-shadow:0 4px 12px #00000026;background:#fff;border-left:4px solid;animation:slideIn .3s ease-out;min-width:300px}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-success{border-left-color:#10b981}.toast-error{border-left-color:#ef4444}.toast-warning{border-left-color:#f59e0b}.toast-info{border-left-color:#3b82f6}.toast-content{display:flex;align-items:center;gap:12px;flex:1}.toast-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:14px;font-weight:700;flex-shrink:0}.toast-success .toast-icon{background:#d1fae5;color:#10b981}.toast-error .toast-icon{background:#fee2e2;color:#ef4444}.toast-warning .toast-icon{background:#fef3c7;color:#f59e0b}.toast-info .toast-icon{background:#dbeafe;color:#3b82f6}.toast-message{color:#1f2937;font-size:14px;line-height:1.5}.toast-dismiss{background:none;border:none;color:#6b7280;font-size:24px;line-height:1;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s;flex-shrink:0}.toast-dismiss:hover{background-color:#f3f4f6;color:#1f2937}.toast-dismiss:focus{outline:2px solid #3b82f6;outline-offset:2px}.protected-route-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background-color:#f9fafb}.protected-route-spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#4f46e5;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.protected-route-loading p{color:#6b7280;font-size:.875rem;margin:0}.App{display:flex;flex-direction:column;height:100vh;background-color:hsl(var(--background))}.App-header{background:var(--gradient-card);color:hsl(var(--foreground));padding:20px 24px;box-shadow:0 4px 12px hsl(var(--primary) / .08);border-bottom:1px solid hsl(var(--border));position:relative}.App-header:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,hsl(var(--primary)) 50%,transparent 100%);opacity:.6}.App-header h1{margin:0 0 12px;font-size:24px;font-weight:600;font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,Courier New,monospace;letter-spacing:-.02em;color:hsl(var(--primary-glow));text-shadow:0 0 20px hsl(var(--primary) / .5)}.App-nav{display:flex;gap:1.5rem}.App-nav a{color:hsl(var(--foreground));text-decoration:none;padding:.5rem 1rem;border-radius:var(--radius);transition:var(--transition-smooth);border:1px solid transparent;font-weight:500}.App-nav a:hover{background-color:hsl(var(--accent) / .1);border-color:hsl(var(--border));box-shadow:0 0 20px hsl(var(--primary) / .3)}.App-header p{margin:0;font-size:14px;opacity:.9;color:hsl(var(--muted-foreground))}.App-main{flex:1;overflow:auto;display:flex;flex-direction:column}
