@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f0f2f8;--surface:#fff;--border:#00000014;--text:#0f1117;--text-secondary:#5a6172;--text-muted:#9099ab;--accent:#4f46e5;--accent-dark:#3730a3;--accent-light:#ede9fe;--accent-glow:#4f46e540;--teal:#0d9488;--user-from:#4f46e5;--user-to:#7c3aed;--danger:#ef4444;--danger-light:#fef2f2;--danger-border:#fecaca;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014, 0 2px 4px #0000000a;--shadow-lg:0 10px 30px #0000001a, 0 4px 10px #0000000d;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;color:var(--text);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.6}body{background:var(--bg);height:100dvh}#root{align-items:stretch;height:100dvh;display:flex}.layout{width:100%;height:100dvh;display:flex;overflow:hidden}.main{background:var(--bg);flex:1;justify-content:center;min-width:0;display:flex}.sidebar{z-index:20;background:#1e2130;flex-direction:column;flex-shrink:0;width:210px;height:100dvh;transition:width .2s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.sidebar--collapsed{width:48px}.sidebar-toggle{color:#ffffff80;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;margin:12px auto 4px;transition:background .15s,color .15s;display:flex}.sidebar-toggle:hover{color:#ffffffd9;background:#ffffff1f}.sidebar-toggle svg{width:14px;height:14px}.sidebar-section{flex-direction:column;gap:2px;padding:16px 14px 8px;display:flex}.sidebar-spacer{flex:1}.sidebar-footer{padding:12px 14px 16px}.sidebar-logout{color:#ffffffe0;width:100%;font:inherit;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:10px;align-items:center;gap:10px;padding:11px 12px;transition:background .15s,border-color .15s,transform .1s;display:flex}.sidebar-logout:hover{background:#ef444424;border-color:#ef444447}.sidebar-logout:active{transform:translateY(1px)}.sidebar-logout-icon{justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.sidebar-logout-icon svg{width:16px;height:16px}.sidebar-label{letter-spacing:1px;color:#ffffff4d;text-transform:uppercase;padding:0 2px 6px;font-size:10px;font-weight:700}.sidebar-nav-link{color:#ffffff73;cursor:pointer;border-radius:7px;padding:7px 10px;font-size:13px;font-weight:500;transition:background .12s,color .12s}.sidebar-nav-link:hover{color:#ffffffb3;background:#ffffff0f}.sidebar-nav-link--active{color:#a5b4fc;background:#4f46e540}.sidebar-nav-link--active:hover{color:#c7d2fe;background:#4f46e552}.sidebar-divider{background:#ffffff12;flex-shrink:0;height:1px;margin:4px 14px}.sidebar-radio{color:#ffffff73;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:7px;align-items:center;gap:9px;padding:7px 10px;font-size:12.5px;font-weight:500;transition:background .12s,color .12s;display:flex}.sidebar-radio input[type=radio]{display:none}.sidebar-radio:hover{color:#ffffffb3;background:#ffffff0f}.sidebar-radio--active{color:#ffffffd9}.sidebar-radio-dot{border:2px solid #fff3;border-radius:50%;flex-shrink:0;width:10px;height:10px;transition:background .15s,border-color .15s,box-shadow .15s}.sidebar-radio-dot--on{background:#ef4444;border-color:#ef4444;box-shadow:0 0 0 3px #ef444440}.seq-control{background:var(--surface);border-bottom:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:10px;padding:14px 24px 16px;display:flex}.seq-top-row{align-items:flex-end;gap:12px;display:flex}.seq-slider-wrap{flex-direction:column;flex:1;gap:18px;display:flex}.seq-label-row{justify-content:space-between;align-items:center;display:flex}.seq-label{color:var(--text-secondary);font-size:12.5px;font-weight:600}.lang-toggle{border:1px solid var(--border);border-radius:6px;display:flex;overflow:hidden}.lang-btn{letter-spacing:.4px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:3px 10px;font-family:inherit;font-size:11.5px;font-weight:700;transition:background .12s,color .12s}.lang-btn:not(:last-child){border-right:1px solid var(--border)}.lang-btn:hover:not(:disabled){background:var(--bg);color:var(--text)}.lang-btn--active{background:var(--accent-light);color:var(--accent)}.lang-btn--active:hover:not(:disabled){background:#ddd6fe}.lang-btn:disabled{opacity:.45;cursor:default}.seq-slider-track{align-items:center;height:20px;display:flex;position:relative}.seq-value-bubble{color:#ef4444;pointer-events:none;font-size:13px;font-weight:700;line-height:1;transition:left;position:absolute;top:-22px;transform:translate(-50%)}.seq-slider{appearance:none;background:linear-gradient(to right, #ef4444 0%, #ef4444 var(--pct,0%), #e2e4eb var(--pct,0%), #e2e4eb 100%);cursor:pointer;border-radius:2px;outline:none;width:100%;height:4px;transition:opacity .15s}.seq-slider:disabled{opacity:.45;cursor:default}.seq-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#ef4444;border-radius:50%;width:16px;height:16px;transition:transform .1s,box-shadow .1s;box-shadow:0 1px 4px #ef444466}.seq-slider:not(:disabled)::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 2px 8px #ef444480}.seq-slider::-moz-range-thumb{cursor:pointer;background:#ef4444;border:none;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 4px #ef444466}.seq-btn{border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;gap:7px;font-family:inherit;font-size:13.5px;font-weight:600;transition:background .15s,color .15s,border-color .15s,transform .1s,box-shadow .15s;display:flex}.seq-btn:active:not(:disabled){transform:scale(.97)}.seq-btn:disabled{opacity:.4;cursor:default}.seq-btn--clear{background:var(--bg);border:1px solid var(--border);color:var(--text-secondary);white-space:nowrap;flex-shrink:0;height:36px;padding:8px 16px}.seq-btn--clear:hover:not(:disabled){background:var(--danger-light);color:var(--danger);border-color:var(--danger-border)}.seq-btn--start{background:var(--bg);border:1.5px solid var(--border);width:100%;color:var(--text-secondary);padding:10px}.seq-btn--start svg{width:14px;height:14px}.seq-btn--start:hover:not(:disabled){background:var(--accent-light);color:var(--accent);box-shadow:var(--shadow-sm);border-color:#4f46e54d}.seq-btn--stop{border:1.5px solid var(--danger-border);padding:10px;background:var(--danger-light)!important;color:var(--danger)!important;border-color:var(--danger-border)!important}.seq-btn--stop svg{width:14px;height:14px}.seq-btn--stop:hover:not(:disabled){box-shadow:none!important;background:#fecaca!important}.seq-action-row{gap:8px;display:flex}.seq-action-row>.seq-btn{flex:1;width:auto}.seq-question-select{width:100%;color:var(--text-primary);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:8px 12px;font-size:13px}.seq-question-select:hover:not(:disabled){border-color:var(--text-secondary)}.seq-question-select:disabled{opacity:.6;cursor:not-allowed}.app{background:var(--surface);width:100%;max-width:1600px;height:100dvh;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;overflow:hidden}.sim-badge{letter-spacing:.8px;color:#f97316;background:#f973161a;border:1px solid #f9731640;border-radius:20px;padding:3px 9px;font-size:10px;font-weight:700}.header{background:var(--surface);border-bottom:1px solid var(--border);z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;height:auto;padding:10px 24px;display:flex;position:relative}.header:after{content:"";background:linear-gradient(90deg,#0000,#4f46e526,#0000);height:1px;position:absolute;bottom:-1px;left:0;right:0}.header-brand{align-items:center;gap:12px;display:flex}.header-logo{border-radius:var(--radius-sm);background:linear-gradient(135deg, var(--user-from), var(--user-to));color:#fff;width:40px;height:40px;box-shadow:0 2px 8px var(--accent-glow);flex-shrink:0;justify-content:center;align-items:center;display:flex}.header-logo svg{width:20px;height:20px}.header-title-group h1{letter-spacing:-.3px;font-size:16px;font-weight:700;line-height:1.2}.header-subtitle{color:var(--text-muted);font-size:12px;font-weight:500}.header-actions{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.header-actions-row{align-items:center;gap:6px;display:flex}.session-pill{background:var(--bg);border:1px solid var(--border);color:var(--text-secondary);letter-spacing:.3px;border-radius:20px;align-items:center;gap:6px;padding:5px 10px;font-family:SF Mono,Fira Code,monospace;font-size:12px;display:flex}.session-dot{background:#22c55e;border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse-dot;box-shadow:0 0 0 2px #22c55e33}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 2px #22c55e33}50%{box-shadow:0 0 0 4px #22c55e1a}}.hdr-btn{border:1px solid var(--border);border-radius:var(--radius-sm);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;background:0 0;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s,transform .1s;display:flex}.hdr-btn svg{width:16px;height:16px}.hdr-btn:hover{background:var(--bg);color:var(--text)}.hdr-btn:active{transform:scale(.94)}.hdr-btn--active{background:var(--accent-light);color:var(--accent);border-color:#4f46e533}.hdr-btn--danger:hover{background:var(--danger-light);color:var(--danger);border-color:var(--danger-border)}.longinput-prefix{color:var(--text-muted);letter-spacing:.2px;white-space:nowrap;font-size:10px;font-weight:600}.model-picker{position:relative}.model-trigger{background:var(--bg);border:1px solid var(--border);cursor:pointer;white-space:nowrap;border-radius:10px;align-items:center;gap:8px;padding:7px 10px 7px 14px;font-family:inherit;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.model-trigger:hover{background:var(--surface);box-shadow:var(--shadow-sm);border-color:#4f46e540}.model-trigger-label{color:var(--text);font-size:13px;font-weight:600}.model-trigger-price{color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:2px 7px;font-size:11.5px;font-weight:500}.model-chevron{color:var(--text-muted);transition:transform .18s;display:flex}.model-chevron svg{width:14px;height:14px}.model-chevron--open{transform:rotate(180deg)}.model-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);min-width:300px;box-shadow:var(--shadow-lg);z-index:100;animation:.15s cubic-bezier(.16,1,.3,1) both dropdown-in;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.model-dropdown-header{text-transform:uppercase;letter-spacing:.9px;color:var(--text-muted);padding:10px 14px 6px;font-size:10.5px;font-weight:700}.model-option{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:10px 14px;font-family:inherit;transition:background .12s;display:flex}.model-option:hover{background:var(--bg)}.model-option--active{background:var(--accent-light)}.model-option--active:hover{background:#e0d9fd}.model-option--disabled{opacity:.45;cursor:not-allowed}.model-option--disabled:hover{background:0 0}.model-option-check{width:18px;height:18px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:flex}.model-option-check svg{width:14px;height:14px}.model-option-body{flex-direction:column;gap:1px;display:flex}.model-option-name{color:var(--text);font-size:13.5px;font-weight:600;line-height:1.3}.model-option--active .model-option-name{color:var(--accent)}.model-option-pricing{color:var(--text-muted);align-items:center;gap:5px;font-size:12px;font-weight:500;display:flex}.model-option-dot{opacity:.4}.messages{scroll-behavior:smooth;flex-direction:column;flex:1;gap:20px;padding:28px 24px;display:flex;overflow-y:auto}.messages::-webkit-scrollbar{width:5px}.messages::-webkit-scrollbar-track{background:0 0}.messages::-webkit-scrollbar-thumb{background:#0000001f;border-radius:10px}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;max-width:480px;margin:auto;padding:24px;display:flex}.empty-icon{background:linear-gradient(135deg, var(--accent-light), #ddd6fe);width:64px;height:64px;color:var(--accent);border-radius:20px;justify-content:center;align-items:center;margin-bottom:4px;display:flex}.empty-icon svg{width:30px;height:30px}.empty-state h2{letter-spacing:-.4px;color:var(--text);font-size:22px;font-weight:700}.empty-state p{color:var(--text-secondary);font-size:14px;line-height:1.6}.suggestions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px;display:flex}.suggestion-chip{background:var(--bg);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:20px;padding:8px 14px;font-family:inherit;font-size:13px;transition:background .15s,color .15s,border-color .15s,transform .1s,box-shadow .15s}.suggestion-chip:hover{background:var(--accent-light);color:var(--accent);box-shadow:var(--shadow-sm);border-color:#4f46e533;transform:translateY(-1px)}.message{align-items:flex-end;gap:10px;animation:.22s cubic-bezier(.34,1.56,.64,1) both msg-in;display:flex}@keyframes msg-in{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.message--user{flex-direction:row-reverse}.avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.avatar--bot{background:linear-gradient(135deg, var(--user-from), var(--user-to));color:#fff;box-shadow:0 2px 8px var(--accent-glow)}.avatar--bot svg{width:16px;height:16px}.bubble{border-radius:var(--radius-lg);word-break:break-word;max-width:72%;padding:12px 16px;font-size:15px;line-height:1.65;position:relative}.message--user .bubble{background:linear-gradient(135deg, var(--user-from) 0%, var(--user-to) 100%);color:#fff;box-shadow:0 4px 14px var(--accent-glow);border-bottom-right-radius:4px}.message--assistant .bubble{background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-bottom-left-radius:4px}.translated-board{flex-direction:column;gap:18px;width:min(100%,1120px);margin:0 auto;display:flex}.translated-board-head{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:0 6px;display:grid}.translated-board-label{flex-direction:column;gap:2px;display:flex}.translated-board-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.translated-board-label h3{letter-spacing:-.02em;color:var(--text);font-size:18px;line-height:1.2}.translated-exchange{background:radial-gradient(circle at 0 0,#4f46e514,#0000 34%),linear-gradient(#fffffffa,#f7f9fcf5);border:1px solid #0f172a14;border-radius:24px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:18px;display:grid;box-shadow:0 14px 32px #0f172a14}.translated-exchange--streaming{border-color:#4f46e52e}.translated-column{flex-direction:column;gap:12px;min-width:0;display:flex}.translated-segment{min-width:0;box-shadow:var(--shadow-sm);background:#ffffffeb;border:1px solid #0f172a14;border-radius:18px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.translated-column--source .translated-segment--user{background:linear-gradient(135deg, var(--user-from) 0%, var(--user-to) 100%);color:#fff;box-shadow:0 6px 18px var(--accent-glow);border-color:#0000}.translated-column--source .translated-segment--user .translated-segment-label{color:#ffffffc2}.translated-column--translation .translated-segment{background:#f7f9fc}.translated-segment--error{background:var(--danger-light);border-color:var(--danger-border)}.translated-segment-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.translated-segment-copy{min-height:24px;color:inherit;font-size:14px;line-height:1.7}.translated-segment-copy .typing-dots{padding:4px 0}.translated-segment-state{color:var(--text-secondary);margin:0}.translated-segment-state--error{color:var(--danger)}.msg-stats--translated{grid-column:1/-1;padding-top:2px}.bubble-text{white-space:pre-wrap}.bubble-para{white-space:pre-wrap;margin:0}.bubble-para+.bubble-para{margin-top:.65em}.msg-body{flex-direction:column;gap:4px;max-width:72%;display:flex}.msg-body .bubble{max-width:100%}.msg-stats{align-items:center;gap:8px;padding:0 2px;display:flex}.stat-tokens{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px}.stat-tools{gap:4px;display:flex}.tool-badge{letter-spacing:.03em;text-transform:uppercase;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:600}.tool-badge--kb{background:var(--accent-light);color:var(--accent)}.tool-badge--search{color:#059669;background:#ecfdf5}.typing-dots{align-items:center;gap:5px;padding:2px 4px;display:flex}.typing-dots span{background:var(--text-muted);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite both dot-bounce}.typing-dots span:nth-child(2){animation-delay:.18s}.typing-dots span:nth-child(3){animation-delay:.36s}@keyframes dot-bounce{0%,80%,to{opacity:.5;transform:scale(.7)}40%{opacity:1;transform:scale(1)}}.cursor{vertical-align:text-bottom;opacity:.7;background:currentColor;border-radius:1px;width:2px;height:1em;margin-left:2px;animation:.8s step-end infinite blink;display:inline-block}@keyframes blink{0%,to{opacity:.7}50%{opacity:0}}.error-banner{background:var(--danger-light);border:1px solid var(--danger-border);border-radius:var(--radius-md);color:var(--danger);align-items:center;gap:8px;padding:12px 16px;font-size:13px;font-weight:500;animation:.2s both msg-in;display:flex}.input-wrap{border-top:1px solid var(--border);background:var(--surface);flex-shrink:0;padding:16px 24px 20px}.input-box{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-xl);align-items:flex-end;gap:10px;padding:8px 8px 8px 18px;transition:border-color .15s,box-shadow .15s;display:flex}.input-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);background:var(--surface)}.input-box textarea{color:var(--text);resize:none;field-sizing:content;background:0 0;border:none;outline:none;flex:1;max-height:140px;padding:4px 0;font-family:inherit;font-size:15px;line-height:1.55;overflow-y:auto}.input-box textarea::placeholder{color:var(--text-muted)}.input-box textarea:disabled{cursor:not-allowed;color:var(--text-muted)}.send-btn{background:linear-gradient(135deg, var(--user-from), var(--user-to));color:#fff;cursor:pointer;width:40px;height:40px;box-shadow:0 2px 8px var(--accent-glow);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s,transform .1s,box-shadow .15s;display:flex}.send-btn svg{width:17px;height:17px}.send-btn:hover:not(:disabled){opacity:.9;box-shadow:0 4px 14px var(--accent-glow);transform:scale(1.05)}.send-btn:active:not(:disabled){transform:scale(.95)}.send-btn:disabled{opacity:.35;cursor:default;box-shadow:none}.send-btn--stop{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 8px #ef44444d}.send-btn--stop:hover:not(:disabled){box-shadow:0 4px 14px #ef444466}.input-hint{text-align:center;color:var(--text-muted);letter-spacing:.2px;margin-top:8px;font-size:11px}.sidebar-radio--icon{gap:7px}.sidebar-section-icon{color:#fff6;flex-shrink:0;align-items:center;display:flex}.sidebar-radio--active .sidebar-section-icon{color:#a5b4fc}.dashboard-content{background:var(--bg);width:100%;height:100dvh;overflow-y:auto}.dashboard-content::-webkit-scrollbar{width:5px}.dashboard-content::-webkit-scrollbar-track{background:0 0}.dashboard-content::-webkit-scrollbar-thumb{background:#0000001f;border-radius:10px}.cost-section{flex-direction:column;gap:28px;max-width:1400px;margin:0 auto;padding:36px 40px 56px;display:flex}.cost-header{align-items:center;gap:16px;display:flex}.cost-title{letter-spacing:-.5px;color:var(--text);font-size:26px;font-weight:700}.cost-total-badge{color:var(--accent);background:var(--accent-light);border:1px solid #4f46e533;border-radius:20px;padding:4px 12px;font-size:13px;font-weight:600}.cost-controls{flex-wrap:wrap;align-items:center;gap:32px;display:flex}.cost-ctrl-label{color:var(--text-secondary);letter-spacing:.2px;white-space:nowrap;font-size:12px;font-weight:600}.cost-date-range{align-items:center;gap:10px;display:flex}.cost-date-input{color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;outline:none;padding:6px 10px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.cost-date-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.cost-date-sep{color:var(--text-muted);font-size:14px}.cost-agg{align-items:center;gap:14px;display:flex}.agg-radio{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;font-size:13.5px;font-weight:500;transition:color .12s;display:flex}.agg-radio input[type=radio]{display:none}.agg-radio:hover{color:var(--text)}.agg-radio--active{color:var(--text);font-weight:600}.cost-status{color:var(--text-secondary);padding:12px 0;font-size:13.5px}.cost-status--error{color:var(--danger);background:var(--danger-light);border:1px solid var(--danger-border);border-radius:var(--radius-sm);padding:10px 14px}.cost-chart-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:24px 28px 16px}.cost-chart-title{color:var(--text);letter-spacing:-.1px;margin-bottom:18px;font-size:14px;font-weight:600}.cost-chart-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.cost-chart-header .cost-chart-title{margin-bottom:0}.cost-chart-axis-label{text-align:center;color:var(--text-muted);letter-spacing:.2px;margin-top:4px;font-size:11px}.cost-empty{color:var(--text-muted);text-align:center;padding:20px 0;font-size:13px}.coming-soon{height:100%;min-height:400px;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.coming-soon-icon{background:var(--accent-light);width:56px;height:56px;color:var(--accent);border-radius:16px;justify-content:center;align-items:center;margin-bottom:4px;display:flex}.coming-soon-icon svg{width:24px;height:24px}.coming-soon h2{color:var(--text);font-size:20px;font-weight:700}.coming-soon p{color:var(--text-muted);font-size:14px}.cost-stats-row{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px;display:grid}.cost-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;gap:6px;padding:18px 20px;transition:box-shadow .15s;display:flex}.cost-stat-card:hover{box-shadow:var(--shadow-md)}.cost-stat-label{letter-spacing:.6px;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:600}.cost-stat-value{color:var(--text);word-break:break-word;font-size:22px;font-weight:700;line-height:1.2}.cost-stat-value--primary{color:var(--accent)}.cost-stat-value--teal{color:var(--teal)}.cost-charts-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.chart-tooltip{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);min-width:120px;padding:10px 14px}.chart-tooltip-label{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:200px;margin-bottom:4px;font-size:11px;overflow:hidden}.chart-tooltip-value{color:var(--accent);font-size:15px;font-weight:700}.chart-tooltip-row{color:var(--text-secondary);align-items:center;gap:6px;margin-top:4px;font-size:12px;display:flex}.chart-tooltip-row strong{color:var(--text);font-weight:600}.chart-tooltip-swatch{border-radius:2px;flex-shrink:0;width:8px;height:8px}.chart-tooltip-total{color:var(--text-secondary);border-top:1px solid var(--border);margin-top:6px;padding-top:6px;font-size:12px}.chart-tooltip-total strong{color:var(--accent);font-weight:700}.chart-legend{gap:16px;margin-bottom:8px;display:flex}.chart-legend-item{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;display:flex}.chart-legend-dot{border-radius:3px;flex-shrink:0;width:10px;height:10px}.chart-title-sub{color:var(--text-muted);margin-left:4px;font-size:12px;font-weight:400}.search-section{max-width:1560px}.search-toolbar{grid-template-columns:280px minmax(0,1fr) 180px;align-items:end;gap:18px;display:grid}.search-field{flex-direction:column;gap:8px;display:flex}.search-field-label{color:var(--text-secondary);font-size:13px;font-weight:500}.search-input-shell{position:relative}.search-select,.search-text-input,.search-submit{border-radius:12px;width:100%;min-height:50px;font-family:inherit;font-size:15px}.search-select,.search-text-input{color:var(--text);background:#e9edf3;border:1px solid #0000;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.search-select{appearance:none;cursor:pointer;background-image:linear-gradient(45deg, transparent 50%, var(--text-secondary) 50%), linear-gradient(135deg, var(--text-secondary) 50%, transparent 50%);background-position:calc(100% - 22px) calc(50% - 3px),calc(100% - 16px) calc(50% - 3px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;padding:0 46px 0 16px}.search-text-input{padding:0 16px}.search-select:focus,.search-text-input:focus{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.search-text-input::placeholder{color:#8f97a7}.search-submit{background:var(--surface);color:#202533;cursor:pointer;box-shadow:var(--shadow-sm);border:1px solid #0f111724;font-weight:600;transition:transform .15s,box-shadow .15s,border-color .15s}.search-submit:hover:not(:disabled){box-shadow:var(--shadow-md);border-color:#0f111738;transform:translateY(-1px)}.search-submit:disabled{cursor:wait;opacity:.72}.search-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.search-summary-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;gap:6px;padding:18px 20px;display:flex}.search-summary-label{letter-spacing:.7px;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.search-summary-value{color:var(--text);word-break:break-word;font-size:20px;font-weight:700}.search-summary-value--mono{font-family:SF Mono,Fira Code,monospace;font-size:14px}.search-results{flex-direction:column;gap:16px;display:flex}.search-result-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:18px;flex-direction:column;gap:16px;padding:22px 24px;display:flex}.search-result-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.search-result-title{color:var(--text);font-size:18px;font-weight:700;line-height:1.2}.search-result-subtitle{color:var(--text-muted);margin-top:4px;font-size:12px}.search-result-badges{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.search-chip{color:#4338ca;background:#eef2ff;border-radius:999px;align-items:center;min-height:30px;padding:0 12px;font-size:12px;font-weight:600;display:inline-flex}.search-chip--active{color:#0f766e;background:#ecfeff}.search-result-meta,.search-result-flags{color:var(--text-secondary);flex-wrap:wrap;gap:10px 18px;font-size:13px;display:flex}.search-result-panels{grid-template-columns:1fr 1fr;gap:14px;display:grid}.search-result-panel{background:#f7f9fc;border:1px solid #0000000d;border-radius:14px;flex-direction:column;gap:10px;min-width:0;padding:16px;display:flex}.search-result-panel h4{letter-spacing:.6px;text-transform:uppercase;color:var(--text-muted);font-size:12px;font-weight:700}.search-result-copy{max-height:240px;color:var(--text);padding-right:4px;font-size:14px;line-height:1.65;overflow:auto}.search-result-copy::-webkit-scrollbar{width:5px}.search-result-copy::-webkit-scrollbar-track{background:0 0}.search-result-copy::-webkit-scrollbar-thumb{background:#00000024;border-radius:999px}.cloudwatch-section{max-width:1560px}.cloudwatch-toolbar{grid-template-columns:1.1fr 1.1fr 1.1fr 2.2fr 180px;align-items:end;gap:18px;display:grid}.cloudwatch-date-input{width:100%;min-height:50px;color:var(--text);background:#e9edf3;border:1px solid #0000;border-radius:12px;outline:none;padding:0 16px;font-family:inherit;font-size:15px;transition:border-color .15s,box-shadow .15s,background .15s}.cloudwatch-date-input:focus{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.cloudwatch-results{flex-direction:column;gap:16px;display:flex}.cloudwatch-log-card{color:#e5edf7;box-shadow:var(--shadow-sm);background:#111827;border:1px solid #94a3b829;border-radius:18px;flex-direction:column;gap:14px;padding:18px 20px;display:flex}.cloudwatch-log-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.cloudwatch-log-time{color:#f8fafc;font-size:14px;font-weight:700}.cloudwatch-log-meta{color:#a9b8ca;flex-wrap:wrap;gap:10px 18px;font-size:12.5px;display:flex}.cloudwatch-log-message{white-space:pre-wrap;word-break:break-word;color:#dbe7f4;background:#0f172ab8;border:1px solid #94a3b81f;border-radius:14px;margin:0;padding:14px 16px;font-family:SF Mono,Fira Code,monospace;font-size:13px;line-height:1.7;overflow-x:auto}@media (width<=960px){.cost-section{padding:28px 20px 40px}.search-toolbar,.cloudwatch-toolbar,.search-summary,.search-result-panels,.translated-board-head,.translated-exchange{grid-template-columns:1fr}.search-submit{min-height:48px}.search-result-head{flex-direction:column}.search-result-badges{justify-content:flex-start}}.login-screen{background:var(--bg);flex:1;justify-content:center;align-items:center;width:100%;min-height:100dvh;padding:24px;display:flex}.login-form{background:var(--surface);border:1px solid var(--border);width:320px;max-width:100%;box-shadow:var(--shadow-lg);border-radius:12px;flex-direction:column;gap:12px;padding:32px;display:flex}.login-logo{width:40px;height:40px;color:var(--accent);margin:0 auto 4px}.login-title{text-align:center;color:var(--text);margin:0 0 8px;font-size:18px;font-weight:600}.login-form input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;outline:none;padding:10px 12px;font-size:14px}.login-form input:focus{border-color:var(--accent)}.login-form button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:4px;padding:10px;font-size:14px;font-weight:600}.login-form button:disabled{opacity:.5;cursor:not-allowed}.login-error{color:#ef4444;text-align:center;margin:0;font-size:13px}
