@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root,[data-theme=dark]{--bg-primary:#212121;--bg-secondary:#171717;--bg-tertiary:#2a2a2a;--bg-card:#2f2f2f;--bg-card-hover:#383838;--bg-chat-user:#2f2f2f;--bg-chat-bot:#212121;--bg-hover:#383838;--bg-input:#212121;--text-primary:#ececec;--text-secondary:#b4b4b4;--text-tertiary:#737373;--text-on-primary:#fff;--accent:#10a37f;--accent-hover:#0d8c6d;--accent-light:#10a37f26;--accent-glow:#10a37f4d;--border-color:#ffffff1f;--border-light:#ffffff14;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 12px #00000073;--shadow-lg:0 8px 30px #0009;--dragger-width:6px;--dragger-color:#ffffff1f;--dragger-hover:#10a37f;--meter-healthy:#10a37f;--meter-moderate:#0284c7;--meter-warning:#f59e0b;--meter-critical:#ef4444;--scrollbar-thumb:#424242;--scrollbar-thumb-hover:#555;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--bg-primary:#f9f9fb;--bg-secondary:#fff;--bg-tertiary:#f0f2f5;--bg-card:#fff;--bg-card-hover:#f3f4f6;--bg-chat-user:#f4f4f6;--bg-chat-bot:#fff;--bg-hover:#eaecee;--bg-input:#fff;--text-primary:#111827;--text-secondary:#4b5563;--text-tertiary:#9ca3af;--text-on-primary:#fff;--accent:#10a37f;--accent-hover:#0d8c6d;--accent-light:#10a37f1f;--accent-glow:#10a37f40;--border-color:#e5e7eb;--border-light:#f3f4f6;--shadow-sm:0 1px 3px #0000000d;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 30px #0000001f;--dragger-width:6px;--dragger-color:#e5e7eb;--dragger-hover:#10a37f;--meter-healthy:#10b981;--meter-moderate:#0284c7;--meter-warning:#f59e0b;--meter-critical:#ef4444;--scrollbar-thumb:#d1d5db;--scrollbar-thumb-hover:#9ca3af;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root{--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs:.75rem;--font-size-sm:.8125rem;--font-size-base:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.5rem;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg-primary);width:100%;height:100%;color:var(--text-primary);overflow:hidden}body{font-family:var(--font-family);font-size:var(--font-size-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-normal), color var(--transition-normal);line-height:1.6}#root{width:100%;height:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.login-container{background:var(--bg-primary);width:100vw;min-height:100vh;font-family:var(--font-family,sans-serif);transition:background-color var(--transition-normal);justify-content:center;align-items:center;padding:20px;display:flex;position:relative;overflow:hidden}.login-theme-toggle-wrapper{z-index:30;position:absolute;top:20px;right:24px}.login-theme-toggle{box-shadow:var(--shadow-sm);background:var(--bg-secondary)}.login-bg-glow{filter:blur(120px);opacity:.15;pointer-events:none;border-radius:50%;position:absolute}.login-bg-glow-1{background:radial-gradient(circle, var(--accent) 0%, #0ea5e9 100%);width:450px;height:450px;top:-100px;left:-100px}.login-bg-glow-2{background:radial-gradient(circle, #0ea5e9 0%, var(--accent) 100%);width:400px;height:400px;bottom:-100px;right:-100px}.login-card{background:var(--bg-secondary);border:1px solid var(--border-color);width:100%;max-width:440px;box-shadow:var(--shadow-lg);z-index:10;border-radius:20px;padding:36px 32px;animation:.35s ease-out forwards loginCardFadeIn}@keyframes loginCardFadeIn{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.login-header{text-align:center;margin-bottom:24px}.login-logo-wrapper{justify-content:center;align-items:center;margin-bottom:12px;display:flex}.login-title{color:var(--text-primary);letter-spacing:-.02em;margin-bottom:6px;font-size:1.375rem;font-weight:700}.login-subtitle{color:var(--text-secondary);font-size:.8125rem}.login-error-alert{color:#ef4444;background:#ef44441f;border:1px solid #ef44444d;border-radius:10px;align-items:center;gap:10px;margin-bottom:18px;padding:10px 14px;font-size:.8125rem;animation:.3s ease-in-out shake;display:flex}.login-error-icon{color:#ef4444;flex-shrink:0;width:18px;height:18px}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.login-form{flex-direction:column;gap:16px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text-secondary);font-size:.8125rem;font-weight:600}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{width:18px;height:18px;color:var(--text-tertiary);pointer-events:none;transition:color .2s;position:absolute;left:14px}.input-wrapper input{background:var(--bg-tertiary);border:1px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:10px;outline:none;padding:11px 14px 11px 42px;font-family:inherit;font-size:.875rem;transition:all .2s}.input-wrapper input::placeholder{color:var(--text-tertiary)}.input-wrapper input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.input-wrapper input:focus~.input-icon{color:var(--accent)}.toggle-password-btn{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;transition:color .2s;display:flex;position:absolute;right:12px}.toggle-password-btn:hover{color:var(--text-primary)}.toggle-password-btn svg{width:18px;height:18px}.login-submit-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;width:100%;margin-top:6px;padding:12px;font-size:.875rem;font-weight:600;transition:all .15s;box-shadow:0 2px 8px #10a37f4d}.login-submit-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #10a37f66}.login-submit-btn:active:not(:disabled){transform:translateY(0)}.login-submit-btn:disabled{opacity:.6;cursor:not-allowed}.btn-loading{justify-content:center;align-items:center;gap:10px;display:flex}.spinner-sm{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}:root{--meter-healthy:#10b981;--meter-moderate:#0284c7;--meter-warning:#f59e0b;--meter-critical:#ef4444}.token-meter{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:5px 12px;display:flex;position:relative}.token-meter:hover,.token-meter:focus-visible{background:var(--bg-secondary);box-shadow:var(--shadow-sm);border-color:#cbd5e1}.token-meter--healthy{border-color:#10b98140}.token-meter--moderate{border-color:#6366f140}.token-meter--warning{background:#fffbeb;border-color:#f59e0b66}.token-meter--critical{background:#fef2f2;border-color:#ef444466;animation:2s ease-in-out infinite meterPulse}@keyframes meterPulse{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 4px #ef444426}}.token-meter__info{font-size:var(--font-size-xs);color:var(--text-secondary);align-items:center;gap:6px;display:flex}.token-meter__icon{width:14px;height:14px;color:var(--accent);flex-shrink:0}.token-meter--healthy .token-meter__icon{color:var(--meter-healthy)}.token-meter--moderate .token-meter__icon{color:var(--meter-moderate)}.token-meter--warning .token-meter__icon{color:var(--meter-warning)}.token-meter--critical .token-meter__icon{color:var(--meter-critical)}.token-meter__count{font-size:var(--font-size-xs);white-space:nowrap}.token-meter__count strong{color:var(--text-primary);font-weight:600}.token-meter__unit{color:var(--text-tertiary);font-size:.6875rem}.token-meter__track{border-radius:var(--radius-full);background:#00000014;width:70px;height:6px;position:relative;overflow:hidden}.token-meter__fill{border-radius:var(--radius-full);height:100%;transition:width .4s cubic-bezier(.4,0,.2,1),background .3s}.token-meter__fill--healthy{background:linear-gradient(90deg,#10b981 0%,#06b6d4 100%)}.token-meter__fill--moderate{background:linear-gradient(90deg,#0284c7 0%,#06b6d4 100%)}.token-meter__fill--warning{background:linear-gradient(90deg,#f59e0b 0%,#ea580c 100%)}.token-meter__fill--critical{background:linear-gradient(90deg,#ef4444 0%,#b91c1c 100%)}.token-meter__badge{border-radius:var(--radius-full);white-space:nowrap;padding:2px 7px;font-size:.6875rem;font-weight:600}.token-meter__badge--healthy{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.token-meter__badge--moderate{background:var(--accent-light);color:var(--accent);border:1px solid #c7d2fe}.token-meter__badge--warning{color:#b45309;background:#fef3c7;border:1px solid #fde68a}.token-meter__badge--critical{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca}.token-tooltip{background:var(--bg-card);width:320px;color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:100;cursor:default;padding:16px;animation:.2s cubic-bezier(.16,1,.3,1) tooltipFadeIn;position:absolute;top:calc(100% + 10px);right:0}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.token-tooltip__header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.token-tooltip__title{font-size:var(--font-size-sm);color:var(--text-primary);align-items:center;gap:6px;font-weight:700;display:flex}.token-tooltip__title svg{width:16px;height:16px;color:var(--accent)}.token-pill{border-radius:var(--radius-full);padding:2px 8px;font-size:.6875rem;font-weight:700}.token-pill--healthy{color:#065f46;background:#d1fae5}.token-pill--moderate{color:#3730a3;background:#e0e7ff}.token-pill--warning{color:#92400e;background:#fef3c7}.token-pill--critical{color:#991b1b;background:#fee2e2}.token-tooltip__progress{margin-bottom:14px}.token-tooltip__progress-bar{background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:var(--radius-full);height:8px;margin-bottom:6px;overflow:hidden}.token-tooltip__progress-fill{border-radius:var(--radius-full);height:100%;transition:width .3s}.token-tooltip__progress-fill--healthy{background:linear-gradient(90deg,#10b981 0%,#06b6d4 100%)}.token-tooltip__progress-fill--moderate{background:linear-gradient(90deg,#0284c7 0%,#06b6d4 100%)}.token-tooltip__progress-fill--warning{background:linear-gradient(90deg,#f59e0b 0%,#ea580c 100%)}.token-tooltip__progress-fill--critical{background:linear-gradient(90deg,#ef4444 0%,#b91c1c 100%)}.token-tooltip__progress-labels{color:var(--text-tertiary);justify-content:space-between;font-size:.6875rem;display:flex}.token-tooltip__rows{flex-direction:column;gap:8px;display:flex}.token-tooltip__row{font-size:var(--font-size-xs);color:var(--text-secondary);justify-content:space-between;align-items:center;display:flex}.row-label{align-items:center;gap:6px;display:flex}.row-dot{border-radius:50%;width:6px;height:6px}.row-dot--doc{background:#3b82f6}.row-dot--chat{background:#8b5cf6}.row-dot--sys{background:#94a3b8}.row-dot--reserved{background:#cbd5e1}.row-dot--highlight{background:#10b981}.row-val{color:var(--text-primary);font-weight:500}.token-tooltip__divider{background:var(--border-light);height:1px;margin:4px 0}.token-tooltip__row--highlight{border-radius:var(--radius-sm);background:#f0fdf4;border:1px dashed #bbf7d0;padding:6px 8px;font-weight:600}.row-val--highlight{color:#15803d;font-weight:700}.token-tooltip__footer{border-top:1px solid var(--border-light);color:var(--text-tertiary);margin-top:12px;padding-top:10px;font-size:.6875rem;line-height:1.4}.token-card{padding:var(--space-md);background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;animation:.3s ease-out messageSlideIn;display:flex}.token-card--healthy{border-color:#e2e8f0}.token-card--warning{background:#fffdf5;border-color:#fde68a}.token-card--critical{background:#fff5f5;border-color:#fecaca}.token-card__header{justify-content:space-between;align-items:center;display:flex}.token-card__title{font-size:var(--font-size-sm);color:var(--text-primary);align-items:center;gap:8px;font-weight:700;display:flex}.token-card__icon{width:18px;height:18px;color:var(--accent)}.token-card__bar-container{background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:var(--radius-full);height:8px;overflow:hidden}.token-card__bar-fill{border-radius:var(--radius-full);height:100%;transition:width .4s}.token-card__bar-fill--healthy{background:linear-gradient(90deg,#10b981 0%,#06b6d4 100%)}.token-card__bar-fill--moderate{background:linear-gradient(90deg,#0284c7 0%,#06b6d4 100%)}.token-card__bar-fill--warning{background:linear-gradient(90deg,#f59e0b 0%,#ea580c 100%)}.token-card__bar-fill--critical{background:linear-gradient(90deg,#ef4444 0%,#b91c1c 100%)}.token-card__grid{background:var(--bg-tertiary);border-radius:var(--radius-md);grid-template-columns:1fr 1fr;gap:10px;padding:10px 12px;display:grid}.token-card__stat{flex-direction:column;gap:2px;display:flex}.token-card__stat-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.02em;font-size:.6875rem;font-weight:600}.token-card__stat-value{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:600}.token-card__stat-value--highlight{color:#16a34a;font-weight:700}.token-card__breakdown{font-size:var(--font-size-xs);color:var(--text-secondary);justify-content:space-between;align-items:center;padding:0 4px;display:flex}.token-breakdown-item{align-items:center;gap:6px;display:flex}.breakdown-dot{border-radius:50%;width:6px;height:6px}.breakdown-dot--doc{background:#3b82f6}.breakdown-dot--chat{background:#8b5cf6}.breakdown-dot--free{background:#10b981}@media (width<=900px){.token-meter__count{display:none}}.bot-profile-dropdown-wrapper{display:inline-block;position:relative}.bot-navbar-profile-btn{border-radius:var(--radius-full);border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:4px 10px 4px 6px;font-family:inherit;display:inline-flex}.bot-navbar-profile-btn:hover{background:var(--bg-hover);border-color:var(--accent);transform:translateY(-1px)}.bot-navbar-profile-btn.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.bot-navbar-avatar{background:var(--accent);color:#fff;width:28px;min-width:28px;height:28px;font-weight:700;font-size:var(--font-size-xs);border-radius:50%;justify-content:center;align-items:center;display:flex;box-shadow:0 2px 6px #10a37f4d}.bot-navbar-meta{text-align:left;flex-direction:column;line-height:1.1;display:flex}.bot-navbar-username{font-size:var(--font-size-xs);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:110px;font-weight:600;overflow:hidden}.bot-navbar-role{color:var(--text-secondary);text-transform:capitalize;font-size:.68rem}.bot-navbar-chevron{color:var(--text-tertiary);margin-left:2px;transition:transform .2s}.bot-navbar-chevron.rotate{transform:rotate(180deg)}.bot-profile-menu{background:var(--bg-card);border:1px solid var(--border-color);width:max-content;min-width:280px;max-width:320px;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(16px);z-index:100;border-radius:12px;animation:.16s cubic-bezier(.16,1,.3,1) botMenuPop;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}@keyframes botMenuPop{0%{opacity:0;transform:translateY(-6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.bot-profile-menu__header{align-items:center;gap:12px;padding:12px 14px;display:flex}.bot-profile-menu__avatar-large{background:var(--accent);color:#fff;width:40px;min-width:40px;height:40px;box-shadow:0 2px 8px var(--accent-glow);border-radius:50%;justify-content:center;align-items:center;font-size:1rem;font-weight:700;display:flex}.bot-profile-menu__user-meta{flex-direction:column;min-width:0;display:flex}.bot-profile-menu__name{font-size:var(--font-size-sm);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.bot-profile-menu__role-row{align-items:center;gap:6px;margin-top:4px;display:flex}.bot-profile-menu__role-badge{border-radius:var(--radius-full);background:var(--accent-light);color:var(--accent);border:1px solid #10a37f40;align-items:center;gap:4px;padding:1px 7px;font-size:.68rem;font-weight:600;display:inline-flex}.bot-profile-menu__app-tag{color:var(--text-tertiary);font-size:.68rem}.bot-status-dot{border-radius:50%;width:6px;height:6px}.bot-status-dot.active{background:#10b981;box-shadow:0 0 5px #10b981}.bot-status-dot.idle{background:#f59e0b}.bot-profile-menu__divider{background:var(--border-color);height:1px;margin:2px 0}.bot-profile-menu__section{flex-direction:column;gap:8px;padding:10px 14px;display:flex}.bot-profile-menu__section-header{justify-content:space-between;align-items:center;display:flex}.bot-profile-menu__section-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:600}.bot-session-status-tag{align-items:center;gap:4px;font-size:.68rem;font-weight:600;display:inline-flex}.bot-session-status-tag.active{color:#10b981}.bot-session-status-tag.idle{color:#f59e0b}.bot-session-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;display:flex}.bot-session-code code{color:var(--text-primary);font-family:monospace;font-size:.72rem}.bot-copy-session-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:4px;padding:3px 8px;font-size:.68rem;font-weight:500;display:inline-flex}.bot-copy-session-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-color)}.bot-copy-session-btn.copied{color:#10b981;background:#10b98126;border-color:#10b98166}.bot-session-empty{color:var(--text-tertiary);font-size:.72rem;line-height:1.3}.bot-theme-current-label{color:var(--accent);font-size:.7rem;font-weight:600}.bot-theme-switch-row{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;gap:4px;padding:3px;display:flex}.bot-theme-pill{color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:6px;padding:5px 10px;font-family:inherit;font-size:.75rem;font-weight:500;display:flex}.bot-theme-pill:hover:not(.active){color:var(--text-primary)}.bot-theme-pill.active{background:var(--bg-card);color:var(--text-primary);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);font-weight:600}.bot-profile-menu__items{flex-direction:column;gap:2px;padding:6px;display:flex}.bot-profile-menu__item{border-radius:var(--radius-sm);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;transition:all var(--transition-fast);background:0 0;border:none;align-items:center;gap:10px;padding:8px 10px;font-family:inherit;display:flex}.bot-profile-menu__item:hover{background:var(--bg-hover)}.bot-profile-menu__item-icon{background:var(--bg-secondary);border:1px solid var(--border-color);width:28px;min-width:28px;height:28px;color:var(--text-secondary);transition:all var(--transition-fast);border-radius:6px;justify-content:center;align-items:center;display:flex}.bot-profile-menu__item:hover .bot-profile-menu__item-icon{color:var(--text-primary);border-color:var(--accent)}.bot-profile-menu__item-text{flex-direction:column;min-width:0;display:flex}.bot-profile-menu__item-title{color:var(--text-primary);font-size:.8rem;font-weight:500}.bot-profile-menu__item-subtitle{color:var(--text-tertiary);margin-top:1px;font-size:.68rem}.bot-profile-menu__item--danger{color:var(--meter-critical)}.bot-profile-menu__item--danger:hover{color:var(--meter-critical);background:#ef44441a}.bot-profile-menu__item--danger .bot-profile-menu__item-icon{color:var(--meter-critical);background:#ef44441a;border-color:#ef444440}.bot-profile-menu__footer{padding:4px 6px 6px}.bot-modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:1000;padding:var(--space-lg);background:#000000a6;justify-content:center;align-items:center;animation:.2s botFadeIn;display:flex;position:fixed;inset:0}@keyframes botFadeIn{0%{opacity:0}to{opacity:1}}.bot-modal-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:480px;box-shadow:var(--shadow-lg);animation:.2s cubic-bezier(.16,1,.3,1) botModalPop;overflow:hidden}@keyframes botModalPop{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.bot-modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.bot-modal-title{font-size:var(--font-size-md);color:var(--text-primary);margin:0;font-weight:700}.bot-modal-close-btn{color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;display:flex}.bot-modal-close-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.bot-modal-body{padding:18px 20px}.bot-profile-hero{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);align-items:center;gap:14px;margin-bottom:1rem;padding:14px;display:flex}.bot-profile-hero-avatar{background:var(--accent);color:#fff;width:48px;min-width:48px;height:48px;box-shadow:0 2px 10px var(--accent-glow);border-radius:50%;justify-content:center;align-items:center;font-size:1.3rem;font-weight:700;display:flex}.bot-profile-hero-text h3{color:var(--text-primary);margin:0 0 2px;font-size:1rem;font-weight:600}.bot-profile-hero-text p{color:var(--text-secondary);margin:0 0 6px;font-size:.76rem}.bot-profile-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.bot-profile-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);flex-direction:column;gap:3px;padding:9px 12px;display:flex}.bot-profile-card-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-size:.65rem;font-weight:600}.bot-profile-card-val{color:var(--text-primary);font-size:.8rem;font-weight:600}.bot-modal-footer{border-top:1px solid var(--border-color);background:var(--bg-secondary);justify-content:flex-end;padding:12px 20px;display:flex}.bot-modal-btn{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast);padding:6px 14px;font-weight:600}.bot-modal-btn:hover{background:var(--bg-hover);border-color:var(--accent)}.app-navbar{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);width:100%;height:60px;padding:0 var(--space-lg);z-index:20;flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.navbar-brand{align-items:center;gap:12px;display:flex}.navbar-logo{background:0 0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.navbar-title{align-items:center;gap:8px;display:flex}.navbar-title h1{font-size:var(--font-size-md);color:var(--text-primary);letter-spacing:-.01em;font-weight:700}.navbar-tag{background:var(--accent-light);color:var(--accent);font-size:var(--font-size-xs);border-radius:var(--radius-full);border:1px solid #10a37f33;padding:2px 8px;font-weight:600}.navbar-actions{align-items:center;gap:12px;display:flex}.theme-toggle-btn{border-radius:var(--radius-full);border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:5px 12px;font-weight:600;display:inline-flex}.theme-toggle-btn svg{width:14px;height:14px;color:var(--accent);transition:transform var(--transition-fast)}.theme-toggle-btn:hover{background:var(--bg-hover);border-color:var(--accent);color:var(--text-primary)}.theme-toggle-btn:hover svg{transform:rotate(15deg)scale(1.1)}.session-badge{border-radius:var(--radius-full);background:var(--bg-tertiary);font-size:var(--font-size-xs);color:var(--text-secondary);align-items:center;gap:6px;padding:4px 10px;font-weight:500;display:flex}.session-dot{background:var(--text-tertiary);border-radius:50%;width:7px;height:7px}.session-active{color:#047857;background:#ecfdf5}.session-active .session-dot{background:#10b981;box-shadow:0 0 6px #10b981}.user-profile{border-radius:var(--radius-md);background:var(--bg-tertiary);align-items:center;gap:10px;padding:4px 8px;display:flex}.user-avatar{background:var(--accent);color:#fff;width:28px;height:28px;font-weight:700;font-size:var(--font-size-xs);border-radius:50%;justify-content:center;align-items:center;display:flex}.user-info{flex-direction:column;line-height:1.1;display:flex}.user-name{font-size:var(--font-size-xs);color:var(--text-primary);font-weight:600}.user-role{color:var(--text-secondary);text-transform:capitalize;font-size:.6875rem}.logout-btn{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:6px;padding:6px 12px;font-weight:600;display:flex}.logout-btn svg{width:14px;height:14px}.logout-btn:hover{color:#dc2626;background:#fef2f2;border-color:#fca5a5}.split-layout{background:var(--bg-primary);width:100%;height:100%;display:flex}.split-layout__left{background:var(--bg-secondary);border-right:1px solid var(--border-light);min-width:0;height:100%;overflow:hidden}.split-layout__right{background:var(--bg-secondary);flex:1;min-width:0;height:100%;overflow:hidden}.split-layout__dragger{width:var(--dragger-width);background:var(--bg-primary);cursor:col-resize;height:100%;transition:background var(--transition-fast);z-index:10;flex-shrink:0;position:relative}.split-layout__dragger:after{content:"";background:var(--dragger-color);width:2px;transition:background var(--transition-fast), width var(--transition-fast);position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.split-layout__dragger:hover:after,.split-layout__dragger--active:after{background:var(--dragger-hover);width:3px}.split-layout__dragger:hover,.split-layout__dragger--active{background:var(--accent-light)}.split-layout__dragger-grip{opacity:0;transition:opacity var(--transition-fast);flex-direction:column;gap:3px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.split-layout__dragger:hover .split-layout__dragger-grip,.split-layout__dragger--active .split-layout__dragger-grip{opacity:1}.split-layout__dragger-grip span{background:var(--accent);border-radius:50%;width:3px;height:3px}.chat-panel{background:var(--bg-secondary);flex-direction:column;height:100%;display:flex;position:relative}.chat-mode-selector{flex-shrink:0;align-self:flex-end;position:relative}.chat-mode-selector__trigger{border-radius:var(--radius-md,8px);color:var(--text-secondary);font-size:.8125rem;font-weight:600;font-family:var(--font-family);cursor:pointer;white-space:nowrap;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;align-items:center;gap:4px;height:42px;padding:8px 10px;display:inline-flex}.chat-mode-selector__trigger:hover{background:var(--bg-hover,#0000000a);color:var(--text-primary)}.chat-mode-selector__trigger--thinking{color:var(--accent)}.chat-mode-selector__trigger--thinking:hover{color:var(--accent-hover)}.chat-mode-selector__dot{background:var(--accent);vertical-align:middle;width:6px;height:6px;box-shadow:0 0 4px var(--accent-glow,#10a37f66);border-radius:50%;margin-left:4px;display:inline-block}.chat-mode-selector__chevron{flex-shrink:0;width:14px;height:14px;transition:transform .2s}.chat-mode-selector__chevron--open{transform:rotate(180deg)}.chat-mode-selector__menu{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg,12px);z-index:50;min-width:220px;margin:0;padding:6px;list-style:none;animation:.15s ease-out modeMenuSlideUp;position:absolute;bottom:calc(100% + 6px);left:0;box-shadow:0 8px 24px #0000001f,0 2px 6px #0000000f}@keyframes modeMenuSlideUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chat-mode-selector__option{border-radius:var(--radius-md,8px);cursor:pointer;transition:background var(--transition-fast);flex-direction:column;gap:2px;padding:10px 36px 10px 12px;display:flex;position:relative}.chat-mode-selector__option:hover{background:var(--bg-hover,#0000000a)}.chat-mode-selector__option--active{background:var(--accent-light,#10a37f14)}.chat-mode-selector__option--active:hover{background:#10a37f24}.chat-mode-selector__option-label{color:var(--text-primary);font-size:.8125rem;font-weight:600;line-height:1.3}.chat-mode-selector__option-desc{color:var(--text-tertiary);font-size:.6875rem;line-height:1.3}.chat-mode-selector__check{color:var(--accent);font-size:.8125rem;font-weight:700;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.chat-mode-selector__divider{background:var(--border-color,#e2e8f0);height:1px;margin:4px 8px;list-style:none}.chat-mode-selector__option--toggle{flex-direction:row!important;padding-right:12px!important}.chat-mode-selector__option-row{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.chat-mode-selector__option-row>span:first-child{flex-direction:column;gap:2px;display:flex}.chat-mode-selector__toggle-pill{text-transform:uppercase;letter-spacing:.04em;background:var(--border-color,#e2e8f0);color:var(--text-tertiary);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;min-width:28px;padding:2px 8px;font-size:.5625rem;font-weight:700;transition:all .2s;display:inline-flex}.chat-mode-selector__toggle-pill--on{background:var(--accent);color:#fff}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}.chat-panel__status-text{color:var(--text-secondary);font-weight:500}.chat-panel__token-indicator{color:var(--accent);font-size:.6875rem;font-weight:500}.chat-panel__toggle-wrapper{flex-shrink:0;align-items:center;display:flex}.chat-thinking-toggle{background:var(--bg-tertiary,#f8fafc);border:1px solid var(--border-color,#e2e8f0);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:9999px;align-items:center;gap:8px;padding:4px 10px 4px 6px;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 1px 2px #0000000a}.chat-thinking-toggle input[type=checkbox]{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.chat-thinking-toggle__switch{background:#cbd5e1;border-radius:9999px;flex-shrink:0;width:30px;height:18px;transition:background-color .25s,box-shadow .25s;position:relative}.chat-thinking-toggle__slider{background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .25s cubic-bezier(.34,1.56,.64,1);position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.chat-thinking-toggle input:checked+.chat-thinking-toggle__switch{background:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.chat-thinking-toggle input:checked+.chat-thinking-toggle__switch .chat-thinking-toggle__slider{transform:translate(12px)}.chat-thinking-toggle__content{align-items:center;gap:6px;display:flex}.chat-thinking-toggle__title{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:4px;font-size:.775rem;font-weight:600;transition:color .2s;display:flex}.chat-thinking-toggle--active .chat-thinking-toggle__title{color:var(--accent)}.chat-thinking-toggle__icon{font-size:.9rem;line-height:1}.chat-thinking-toggle:hover{border-color:var(--accent);background:var(--bg-hover);transform:translateY(-.5px);box-shadow:0 2px 6px #0000000f}.chat-thinking-toggle--active{background:var(--accent-light);border-color:#10a37f66}.chat-thinking-toggle--active:hover{border-color:var(--accent);background:#10a37f33}.chat-thinking-toggle__badge{text-transform:uppercase;letter-spacing:.03em;color:#fff;background:var(--accent);border-radius:9999px;align-items:center;gap:2px;padding:1.5px 6px;font-size:.625rem;font-weight:700;animation:2s ease-in-out infinite alternate thinkingBadgeGlow;display:inline-flex}.chat-thinking-toggle__sparkle{font-size:.675rem}@keyframes thinkingBadgeGlow{0%{box-shadow:0 0 #10a37f00}to{box-shadow:0 0 8px #10a37f99}}@media (width<=520px){.chat-panel__header-status{margin-left:0}}@media (width<=420px){.chat-thinking-toggle__text-mode{display:none}}.chat-thought{margin-bottom:var(--space-sm,8px);background:#10a37f0f;border:1px solid #10a37f38;border-radius:8px;transition:all .2s;overflow:hidden}.chat-thought[open]{background:#10a37f1a;border-color:#10a37f59;box-shadow:0 2px 8px #10a37f1f}.chat-thought__summary{color:var(--accent);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;align-items:center;gap:6px;padding:6px 10px;font-size:.775rem;font-weight:600;list-style:none;transition:color .15s,background-color .15s;display:flex}.chat-thought__summary::-webkit-details-marker{display:none}.chat-thought__summary:after{content:"";border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);width:5px;height:5px;margin-left:auto;transition:transform .2s;transform:rotate(-45deg)}.chat-thought[open] .chat-thought__summary:after{transform:rotate(45deg)}.chat-thought__summary:hover{color:var(--accent-hover);background:var(--accent-light)}.chat-thought__icon{font-size:.85rem;line-height:1}.chat-thought__body{color:var(--text-secondary);background:var(--bg-primary);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#10a37f59 transparent;border-top:1px dashed #10a37f40;max-height:115px;padding:8px 12px 10px;font-size:.8125rem;line-height:1.55;overflow-y:auto}.chat-thought__body::-webkit-scrollbar{width:5px}.chat-thought__body::-webkit-scrollbar-track{background:0 0}.chat-thought__body::-webkit-scrollbar-thumb{background:#10a37f4d;border-radius:4px}.chat-thought__body::-webkit-scrollbar-thumb:hover{background:#10a37f80}.chat-thought__body p{margin-bottom:6px}.chat-thought__body p:last-child{margin-bottom:0}.chat-thought__body ul,.chat-thought__body ol{margin:4px 0 4px 16px;padding:0}.chat-panel__messages{padding:var(--space-lg);gap:var(--space-md);flex-direction:column;flex:1;display:flex;overflow-y:auto}.chat-message{flex-direction:column;max-width:85%;animation:.3s ease-out messageSlideIn;display:flex}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-message--user{align-self:flex-end}.chat-message--bot{align-self:flex-start}.chat-message__bubble{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);font-size:var(--font-size-base);word-wrap:break-word;line-height:1.6}.chat-message__bubble p{margin-bottom:var(--space-xs)}.chat-message__bubble p:last-child{margin-bottom:0}.chat-message__bubble ul,.chat-message__bubble ol{margin:var(--space-xs) 0 var(--space-xs) var(--space-lg);padding:0}.chat-message__bubble li{margin-bottom:4px}.chat-message--user .chat-message__bubble{background:var(--bg-chat-user);color:var(--text-primary);border:1px solid var(--border-color);border-bottom-right-radius:var(--space-xs)}.chat-message--bot .chat-message__bubble{background:var(--bg-chat-bot);color:var(--text-primary);border:1px solid var(--border-light);border-bottom-left-radius:var(--space-xs)}.chat-message__time{font-size:var(--font-size-xs);color:var(--text-tertiary);margin-top:var(--space-xs);padding:0 var(--space-xs)}.chat-message--user .chat-message__time{text-align:right}.typing-indicator{padding:var(--space-sm) var(--space-md);background:var(--bg-chat-bot);border-radius:var(--radius-lg);border-bottom-left-radius:var(--space-xs);align-self:flex-start;align-items:center;gap:4px;max-width:60px;display:flex}.typing-indicator span{background:var(--text-tertiary);border-radius:50%;width:7px;height:7px;animation:1.4s ease-in-out infinite typingBounce}.typing-indicator span:first-child{animation-delay:0s}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}.chat-panel__input-area{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--border-light);background:var(--bg-secondary);flex-shrink:0}.chat-panel__input-form{gap:var(--space-sm);align-items:flex-end;display:flex}.chat-panel__input{padding:var(--space-sm) var(--space-md);border:1.5px solid var(--border-color);border-radius:var(--radius-lg);font-family:var(--font-family);font-size:var(--font-size-base);color:var(--text-primary);background:var(--bg-primary);resize:none;min-height:42px;max-height:120px;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);flex:1;line-height:1.5}.chat-panel__input::placeholder{color:var(--text-tertiary)}.chat-panel__input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);outline:none}.chat-panel__send-btn{border-radius:var(--radius-full);background:var(--accent);color:#fff;cursor:pointer;width:42px;height:42px;transition:background var(--transition-fast), transform var(--transition-fast);border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-panel__send-btn:hover:not(:disabled){background:var(--accent-hover);transform:scale(1.05)}.chat-panel__send-btn:active:not(:disabled){transform:scale(.95)}.chat-panel__send-btn:disabled{opacity:.4;cursor:not-allowed}.chat-panel__send-btn svg{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.chat-message--welcome .chat-message__bubble{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);border-bottom-left-radius:var(--space-xs)}.chat-panel__mic-btn{border-radius:var(--radius-full);background:var(--bg-chat-bot);width:42px;height:42px;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-panel__mic-btn svg{width:18px;height:18px}.chat-panel__mic-btn:hover:not(:disabled){background:var(--accent-light);color:var(--accent);transform:scale(1.05)}.chat-panel__mic-btn:active:not(:disabled){transform:scale(.95)}.chat-panel__mic-btn:disabled{opacity:.4;cursor:not-allowed}.chat-panel__mic-btn--active{color:#dc2626;background:#fee2e2;animation:1.5s ease-out infinite micPulse;box-shadow:0 0 #dc262680}@keyframes micPulse{0%{box-shadow:0 0 #dc262673}70%{box-shadow:0 0 0 8px #dc262600}to{box-shadow:0 0 #dc262600}}.chat-panel__input--listening{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.chat-message__meta{margin-top:var(--space-xs);padding:0 var(--space-xs);align-items:center;gap:8px;display:flex}.chat-message__proc-time{font-size:var(--font-size-xs);color:var(--accent);background:var(--accent-light);border-radius:var(--radius-full);padding:1px 6px;font-weight:500}.chat-suggestions{padding:var(--space-xs) var(--space-lg);background:var(--bg-secondary);flex-direction:column;gap:6px;display:flex}.chat-suggestions__label{font-size:var(--font-size-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.chat-suggestions__pills{flex-wrap:wrap;gap:8px;display:flex}.chat-suggestion-pill{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-full);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast);padding:6px 12px;font-weight:500}.chat-suggestion-pill:hover{background:var(--accent-light);border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.chat-welcome-hero{text-align:center;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;max-width:460px;margin:auto;padding:36px 24px;animation:.3s cubic-bezier(.16,1,.3,1) welcomeFadeIn;display:flex}@keyframes welcomeFadeIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.chat-welcome-hero__icon-wrap{border-radius:var(--radius-xl,16px);background:var(--accent-light,#10a37f1f);width:60px;height:60px;color:var(--accent,#10a37f);box-shadow:0 4px 20px var(--accent-glow,#10a37f2e);transition:transform var(--transition-fast,.2s ease);border:1px solid #10a37f40;justify-content:center;align-items:center;margin-bottom:16px;display:flex}.chat-welcome-hero:hover .chat-welcome-hero__icon-wrap{transform:scale(1.05)}.chat-welcome-hero__title{color:var(--text-primary);letter-spacing:-.01em;margin:0 0 10px;font-size:1.15rem;font-weight:700}.chat-welcome-hero__text{color:var(--text-secondary);margin:0;font-size:.875rem;line-height:1.6}.image-preview-modal{z-index:100;padding:var(--space-xl);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:center;animation:.2s ease-out modalFadeIn;display:flex;position:fixed;inset:0}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.image-preview-modal__content{background:var(--bg-secondary);border-radius:var(--radius-lg);width:100%;max-width:90vw;height:90vh;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;overflow:hidden}.image-preview-modal__header{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--bg-primary);border-bottom:1px solid var(--border-light);flex-shrink:0;display:flex}.image-preview-modal__controls{align-items:center;gap:var(--space-sm);display:flex}.image-preview-modal__zoom-text{font-size:var(--font-size-sm);color:var(--text-primary);text-align:center;min-width:45px;font-weight:500}.image-preview-modal__divider{background:var(--border-color);width:1px;height:20px;margin:0 var(--space-xs)}.image-preview-modal__btn{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);font-weight:500;display:flex}.image-preview-modal__btn:hover:not(:disabled){background:var(--bg-hover)}.image-preview-modal__btn:disabled{opacity:.5;cursor:not-allowed}.image-preview-modal__btn--close:hover{color:#dc2626;background:#fef2f2;border-color:#fca5a5}.image-preview-modal__body{padding:var(--space-xl);background:var(--bg-tertiary);flex:1;display:flex;overflow:auto}.image-preview-modal__img{object-fit:contain;transition:transform var(--transition-normal), width var(--transition-normal), height var(--transition-normal);box-shadow:var(--shadow-md);background:#fff;margin:auto}.upload-panel{background:var(--bg-secondary);flex-direction:column;height:100%;display:flex}.upload-panel__content{padding:var(--space-lg);gap:var(--space-lg);flex-direction:column;flex:1;display:flex;overflow-y:auto}.dropzone{border:2px dashed var(--border-color);border-radius:var(--radius-lg);padding:var(--space-xl) var(--space-lg);text-align:center;cursor:pointer;transition:all var(--transition-normal);background:var(--bg-primary);justify-content:center;align-items:center;gap:var(--space-md);flex-direction:column;min-height:180px;display:flex}.dropzone--active{border-color:var(--accent);background:var(--accent-light);box-shadow:0 0 0 4px var(--accent-glow);animation:1.5s ease-in-out infinite dropzonePulse}@keyframes dropzonePulse{0%,to{box-shadow:0 0 0 4px var(--accent-glow)}50%{box-shadow:0 0 0 8px var(--accent-glow)}}.dropzone:hover{border-color:var(--accent);background:var(--accent-light)}.dropzone__icon{border-radius:var(--radius-lg);background:var(--accent-light);width:56px;height:56px;transition:transform var(--transition-normal);justify-content:center;align-items:center;display:flex}.dropzone:hover .dropzone__icon,.dropzone--active .dropzone__icon{transform:scale(1.1)}.dropzone__icon svg{width:28px;height:28px;stroke:var(--accent);fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.dropzone__text{font-size:var(--font-size-base);color:var(--text-secondary)}.dropzone__text strong{color:var(--accent);font-weight:600}.dropzone__hint{font-size:var(--font-size-xs);color:var(--text-tertiary)}.upload-panel__file-info{padding:var(--space-sm) var(--space-md);background:var(--accent-light);border-radius:var(--radius-md);border:1px solid var(--border-light);justify-content:space-between;align-items:center;animation:.3s ease-out messageSlideIn;display:flex}.upload-panel__file-details{align-items:center;gap:var(--space-sm);display:flex}.upload-panel__file-icon-wrapper{flex-shrink:0;justify-content:center;align-items:center;display:flex}.upload-panel__file-badge{width:34px;height:38px;transition:transform var(--transition-fast,.15s ease), filter var(--transition-fast,.15s ease);filter:drop-shadow(0 2px 4px #0000001a);cursor:default;flex-shrink:0;justify-content:center;align-items:center;display:flex}.upload-panel__file-badge:hover{filter:drop-shadow(0 4px 8px #00000026);transform:translateY(-1px)scale(1.04)}.upload-panel__file-svg{width:32px;height:36px;display:block}.upload-panel__file-icon{border-radius:var(--radius-sm);background:var(--accent);color:#fff;width:32px;height:32px;font-size:var(--font-size-xs);justify-content:center;align-items:center;font-weight:700;display:flex}.upload-panel__file-name{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:500}.upload-panel__file-meta{font-size:var(--font-size-xs);color:var(--text-tertiary)}.upload-panel__clear-btn{padding:var(--space-xs) var(--space-sm);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-secondary);font-size:var(--font-size-xs);font-family:var(--font-family);cursor:pointer;transition:all var(--transition-fast)}.upload-panel__clear-btn:hover{color:#dc2626;background:#fef2f2;border-color:#fca5a5}.image-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.image-grid__item{border-radius:var(--radius-md);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);transition:transform var(--transition-normal), box-shadow var(--transition-normal);cursor:pointer;animation:.4s ease-out backwards imageFadeIn;position:relative;overflow:hidden}.image-grid__item:first-child{animation-delay:50ms}.image-grid__item:nth-child(2){animation-delay:.1s}.image-grid__item:nth-child(3){animation-delay:.15s}.image-grid__item:nth-child(4){animation-delay:.2s}.image-grid__item:nth-child(5){animation-delay:.25s}.image-grid__item:nth-child(6){animation-delay:.3s}.image-grid__item:nth-child(7){animation-delay:.35s}.image-grid__item:nth-child(8){animation-delay:.4s}@keyframes imageFadeIn{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.image-grid__item:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.image-grid__item img{width:100%;height:auto;display:block}.image-grid__label{padding:var(--space-xs) var(--space-sm);color:#fff;font-size:var(--font-size-xs);text-align:center;background:linear-gradient(#0000,#0009);font-weight:500;position:absolute;bottom:0;left:0;right:0}.upload-panel__loading{justify-content:center;align-items:center;gap:var(--space-md);padding:var(--space-xl);color:var(--text-secondary);font-size:var(--font-size-sm);flex-direction:column;display:flex}.upload-panel__spinner{border:3px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}.upload-panel__empty{text-align:center;color:var(--text-tertiary);padding:var(--space-xl);font-size:var(--font-size-sm)}.upload-panel__error{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);color:#dc2626;font-size:var(--font-size-sm);background:#fef2f2;border:1px solid #fca5a5;animation:.3s ease-out messageSlideIn}.docx-preview-container{padding:var(--space-xl) var(--space-md);justify-content:center;align-items:center;animation:.4s ease-out imageFadeIn;display:flex}.docx-preview-card{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-xl);text-align:center;width:100%;max-width:420px;box-shadow:var(--shadow-sm);align-items:center;gap:var(--space-sm);transition:transform var(--transition-normal), box-shadow var(--transition-normal);flex-direction:column;display:flex}.docx-preview-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.docx-preview-icon{border-radius:var(--radius-md);background:var(--accent-light);width:64px;height:64px;color:var(--accent);margin-bottom:var(--space-xs);justify-content:center;align-items:center;display:flex}.docx-preview-title{font-size:var(--font-size-base);color:var(--text-primary);word-break:break-all;font-weight:600}.docx-preview-badge{font-size:var(--font-size-xs);color:var(--accent);background:var(--accent-light);border:1px solid #10a37f40;border-radius:9999px;padding:4px 10px;font-weight:600;display:inline-block}.docx-preview-desc{font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:var(--space-xs);line-height:1.5}.app-container{flex-direction:column;width:100vw;height:100vh;display:flex;overflow:hidden}.app-workspace{flex:1;width:100%;height:calc(100vh - 60px);overflow:hidden}.app-loading-screen{background:var(--bg-primary);width:100vw;height:100vh;color:var(--text-secondary);font-family:var(--font-family);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.app-loading-spinner{border:3px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite appSpin}@keyframes appSpin{to{transform:rotate(360deg)}}
