@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--color-bg: #0a0f1e;--color-bg-elevated: #0f172a;--color-surface: #1e293b;--color-surface-elevated: #334155;--color-surface-muted: #1a2332;--color-border: #334155;--color-border-light: #475569;--color-text-primary: #f1f5f9;--color-text-secondary: #cbd5e1;--color-text-muted: #94a3b8;--color-text-disabled: #64748b;--color-primary: #3b82f6;--color-primary-hover: #2563eb;--color-primary-light: #60a5fa;--color-primary-dark: #1d4ed8;--color-primary-soft: rgba(59, 130, 246, .1);--color-primary-glow: rgba(59, 130, 246, .2);--color-accent: #06b6d4;--color-accent-hover: #0891b2;--color-success: #10b981;--color-success-bg: rgba(16, 185, 129, .1);--color-warning: #f59e0b;--color-warning-bg: rgba(245, 158, 11, .1);--color-error: #ef4444;--color-error-bg: rgba(239, 68, 68, .1);--color-info: #3b82f6;--color-info-bg: rgba(59, 130, 246, .1);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .4), 0 1px 3px rgba(0, 0, 0, .2);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5), 0 2px 6px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .6), 0 4px 12px rgba(0, 0, 0, .4);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .7), 0 8px 24px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(59, 130, 246, .3);--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SF Mono", "Monaco", "Inconsolata", "Roboto Mono", monospace;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#root{height:100%}body{font-family:var(--font-sans);color:var(--color-text-primary);background:linear-gradient(135deg,#0a0f1e,#0f172a,#1a1f2e);background-attachment:fixed;line-height:1.6;font-weight:400}a{color:var(--color-primary);text-decoration:none;font-weight:500;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-light)}a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-xs)}button,input,select,textarea{font-family:inherit;font-size:inherit}img,svg{display:block;max-width:100%}.container{width:min(1200px,100%);margin:0 auto;padding:0 1.5rem}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-main{width:min(1200px,100%);margin:2rem auto 0;padding:2.5rem 1.5rem 4rem;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:2rem;flex:1}.app-main.assistant-view{grid-template-columns:minmax(0,1fr);max-width:1000px}@media(max-width:980px){.app-main{grid-template-columns:1fr;padding:2rem 1.25rem 3rem}}.tab-bar{grid-column:1 / -1;display:inline-flex;gap:.5rem;padding:.375rem;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface-muted);width:fit-content;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.tab-button{border:none;background:transparent;color:var(--color-text-muted);font-size:.875rem;font-weight:600;padding:.5rem 1.25rem;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-base);position:relative}.tab-button.active{background:var(--color-primary);color:#fff;box-shadow:0 2px 8px #3b82f64d}.tab-button:hover:not(.active){background:var(--color-surface);color:var(--color-text-primary)}.tab-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.hero{padding:3rem 0 2rem;background:linear-gradient(180deg,rgba(59,130,246,.05) 0%,transparent 100%)}.hero-inner{width:min(1200px,100%);margin:0 auto;padding:0 1.5rem;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:3rem;align-items:center}.hero-copy{display:flex;flex-direction:column;gap:1.25rem}.hero-eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-primary-light);display:inline-flex;align-items:center;gap:.5rem}.hero-eyebrow:before{content:"";width:32px;height:2px;background:linear-gradient(90deg,var(--color-primary),transparent)}.hero-title{font-size:2.5rem;line-height:1.2;font-weight:800;letter-spacing:-.02em;background:linear-gradient(135deg,var(--color-text-primary) 0%,var(--color-text-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.125rem;color:var(--color-text-secondary);line-height:1.7;max-width:36rem}.hero-badges{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}.hero-pill{padding:.5rem 1rem;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface-muted);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hero-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:2rem;display:flex;flex-direction:column;gap:1.5rem;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:relative;overflow:hidden}.hero-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--color-primary-light),transparent);opacity:.5}.hero-panel-header{display:flex;flex-direction:column;gap:.5rem}.hero-panel-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);font-weight:600}.hero-panel-subtitle{font-size:1.25rem;font-weight:700;color:var(--color-text-primary)}.hero-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.metric-card{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:var(--radius-md);padding:1rem;transition:all var(--transition-base)}.metric-card:hover{border-color:var(--color-border-light);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.metric-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-weight:600}.metric-value{margin-top:.5rem;font-size:1.125rem;font-weight:700;color:var(--color-text-primary)}.metric-caption{margin-top:.5rem;font-size:.8125rem;color:var(--color-text-secondary);line-height:1.5}@media(max-width:980px){.hero-inner{grid-template-columns:1fr;gap:2rem}.hero-title{font-size:2rem}}@media(max-width:720px){.hero-metrics{grid-template-columns:1fr}.hero-title{font-size:1.75rem}}.stack>*+*{margin-top:1.5rem}.stack-sm>*+*{margin-top:.75rem}.stack-lg>*+*{margin-top:2rem}.grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}@media(max-width:720px){.grid-two{grid-template-columns:1fr}}.muted{color:var(--color-text-muted)}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.opacity-80{opacity:.8}.no-underline{text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-lg)}.card-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border);background:linear-gradient(180deg,var(--color-surface-elevated) 0%,var(--color-surface) 100%)}.card-title{font-size:1.125rem;font-weight:700;letter-spacing:-.01em;color:var(--color-text-primary)}.card-body{padding:1.5rem}.header-nav{position:sticky;top:0;z-index:var(--z-sticky);background:#0a0f1ecc;border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);box-shadow:0 4px 12px #0000004d}.header-container{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem 0}.brand{display:flex;align-items:center;gap:1rem}.brand-logo{width:48px;height:48px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);box-shadow:0 4px 12px #3b82f666;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.25rem;color:#fff}.brand-text{display:flex;flex-direction:column}.brand-title{font-size:1.25rem;font-weight:800;letter-spacing:-.01em;background:linear-gradient(135deg,var(--color-text-primary) 0%,var(--color-primary-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.brand-subtitle{font-size:.75rem;color:var(--color-text-muted);font-weight:500}.header-meta{display:flex;gap:.75rem;flex-wrap:wrap}.footer-nav{border-top:1px solid var(--color-border);background:#0a0f1ee6;padding:2rem 0;color:var(--color-text-muted);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.footer-container{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;font-size:.875rem}.footer-link{color:var(--color-text-muted);margin-left:1.25rem;transition:color var(--transition-fast)}.footer-link:hover{color:var(--color-primary-light)}.footer-right{display:flex;align-items:center}.footer-left,.footer-center,.footer-right{flex:1}.footer-center{text-align:center}.footer-right{justify-content:flex-end}@media(max-width:720px){.header-container,.footer-container{flex-direction:column;align-items:flex-start}.footer-right{width:100%;justify-content:flex-start}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:600;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:all var(--transition-base);text-decoration:none;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff1a;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn:active:before{width:300px;height:300px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-primary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;box-shadow:0 2px 8px #3b82f64d}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary-light) 0%,var(--color-primary) 100%);transform:translateY(-2px);box-shadow:0 4px 12px #3b82f666}.btn-secondary{background:var(--color-surface);color:var(--color-text-primary);border-color:var(--color-border);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-ghost{background:transparent;color:var(--color-text-muted)}.btn-ghost:hover:not(:disabled){background:var(--color-surface-muted);color:var(--color-text-primary)}.btn-sm{padding:.5rem 1rem;font-size:.875rem;height:2.25rem}.btn-md{padding:.75rem 1.5rem;font-size:.9375rem;height:2.75rem}.btn-lg{padding:1rem 2rem;font-size:1rem;height:3.25rem}.btn-block{flex:1;width:100%}.spinner{width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.form-group{display:flex;flex-direction:column;gap:.625rem}.form-label{font-size:.8125rem;font-weight:600;letter-spacing:.025em;text-transform:uppercase;color:var(--color-text-muted)}.form-select,.form-input,.input-display{width:100%;padding:.75rem 1rem;font-size:.9375rem;line-height:1.5;color:var(--color-text-primary);background-color:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:all var(--transition-base)}.form-select:focus,.form-input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px var(--color-primary-soft);background-color:var(--color-surface)}.form-select.has-error,.form-input.has-error{border-color:var(--color-error)}.form-error{font-size:.8125rem;color:var(--color-error);display:flex;align-items:center;gap:.375rem}.upload-area{position:relative;border:2px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-muted);padding:2.5rem 2rem;transition:all var(--transition-base);cursor:pointer}.upload-area:hover{border-color:var(--color-primary);background:var(--color-surface);box-shadow:0 0 0 4px var(--color-primary-soft)}.upload-area-active{border-color:var(--color-primary);background:var(--color-primary-soft);box-shadow:0 0 0 4px var(--color-primary-soft),inset 0 0 0 1px var(--color-primary)}.upload-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.upload-content{text-align:center;pointer-events:none}.upload-icon{width:56px;height:56px;border-radius:var(--radius-md);background:var(--color-primary-soft);color:var(--color-primary);display:inline-flex;align-items:center;justify-content:center;margin:0 auto 1rem;box-shadow:0 4px 12px #3b82f633}.upload-title{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin-bottom:.375rem}.upload-subtitle{font-size:.875rem;color:var(--color-text-muted)}.actions-row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.assistant-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem;width:100%}.assistant-layout.assistant-layout-split{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}@media(max-width:980px){.assistant-layout.assistant-layout-split{grid-template-columns:1fr}}.assistant-side-panel{border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem;height:fit-content;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.assistant-side-panel-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.assistant-side-panel-title{font-size:.875rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted)}.assistant-toolbar{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-muted);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.chat-upload-button{position:relative;width:44px;height:44px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-base);flex-shrink:0}.chat-upload-button:hover{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary);transform:scale(1.05)}.chat-upload-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.chat-upload-icon{display:inline-flex;align-items:center;justify-content:center}.chat-upload-meta{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}.chat-file-name{font-weight:600;font-size:.9375rem;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-file-status{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-weight:600}.chat-window{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:var(--radius-md);padding:1.25rem;height:clamp(360px,50vh,600px);overflow-y:auto;display:flex;flex-direction:column;gap:1rem;scroll-behavior:smooth}.chat-empty{color:var(--color-text-muted);font-size:.9375rem;text-align:center;padding:2rem 1rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.chat-message{display:flex;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-message-user{justify-content:flex-end}.chat-message-assistant{justify-content:flex-start}.chat-bubble{max-width:min(480px,85%);padding:1rem 1.25rem;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.chat-message-user .chat-bubble{background:linear-gradient(135deg,var(--color-primary-soft) 0%,var(--color-surface) 100%);border-color:var(--color-primary);border-width:1px}.chat-role{font-size:.6875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-bottom:.5rem;font-weight:700}.chat-text{font-size:.9375rem;line-height:1.6;white-space:pre-wrap;color:var(--color-text-primary)}.chat-meta{margin-top:.625rem;font-size:.8125rem;color:var(--color-text-muted)}.chat-entities{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.625rem}.chat-entity{padding:.25rem .75rem;border-radius:var(--radius-full);border:1px solid var(--color-border);font-size:.75rem;background:var(--color-surface-muted);color:var(--color-text-secondary);font-weight:600}.chat-download{margin-top:.875rem}.chat-action{margin-top:.75rem}.chat-composer{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-muted);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all var(--transition-base)}.chat-composer:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);background:var(--color-surface)}.chat-input{flex:1}.chat-composer .form-input{border:none;background:transparent;padding:.5rem .25rem}.chat-composer .form-input:focus{box-shadow:none}.badge{display:inline-flex;align-items:center;padding:.375rem .75rem;font-size:.75rem;font-weight:600;line-height:1;border-radius:var(--radius-full);white-space:nowrap;letter-spacing:.025em}.badge-neutral{background-color:var(--color-surface-muted);color:var(--color-text-muted);border:1px solid var(--color-border)}.badge-primary{background-color:var(--color-primary-soft);color:var(--color-primary-light);border:1px solid var(--color-primary)}.badge-success{background-color:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success)}.status-panel{padding:1.25rem 1.5rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-muted);font-size:.9375rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.status-panel-error{border-color:var(--color-error);background:var(--color-error-bg);color:var(--color-error)}.status-panel-success{border-color:var(--color-success);background:var(--color-success-bg);color:var(--color-text-primary)}.status-title{font-weight:700;color:var(--color-success);margin-bottom:.25rem}.nlu-panel{padding:1.25rem 1.5rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-muted);display:flex;flex-direction:column;gap:1rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.nlu-panel-error{border-color:var(--color-error);background:var(--color-error-bg);color:var(--color-error)}.nlu-panel-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.nlu-title{font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted)}.nlu-status{font-size:.8125rem;color:var(--color-text-muted)}.nlu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.nlu-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-weight:600;margin-bottom:.5rem}.nlu-value{font-size:1rem;font-weight:600;color:var(--color-text-primary)}.nlu-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.nlu-tag{padding:.375rem .75rem;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);font-size:.75rem;color:var(--color-text-primary);font-weight:600}.nlu-response{border-top:1px solid var(--color-border);padding-top:1rem;font-size:.9375rem;color:var(--color-text-secondary);line-height:1.6}@media(max-width:720px){.nlu-grid{grid-template-columns:1fr}}.format-list{max-height:600px;overflow:auto;padding-right:.5rem;display:grid;gap:1rem}.format-item{border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-md);padding:1rem 1.25rem;box-shadow:var(--shadow-sm);transition:all var(--transition-base);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.format-item:hover{border-color:var(--color-border-light);transform:translate(4px);box-shadow:var(--shadow-md)}.format-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.875rem}.format-count{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-weight:600}.format-tags{display:flex;flex-wrap:wrap;gap:.5rem}.custom-scrollbar::-webkit-scrollbar{width:10px;height:10px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:var(--radius-full);border:2px solid var(--color-surface-muted)}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--color-border-light)}@keyframes fade-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.app-main>*{animation:fade-up .5s ease-out both}.app-main>*:nth-child(2){animation-delay:.1s}.app-main>*:nth-child(3){animation-delay:.2s}*:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-xs)}button:focus-visible,a:focus-visible{outline-offset:3px}@media print{.header-nav,.footer-nav,.tab-bar,.btn{display:none}body{background:#fff;color:#000}}
