@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-main: #0a0a0a;--bg: #0a0a0a;--bg-surface: #111111;--bg-surface-80: rgba(17, 17, 17, .8);--bg-hover: #18181b;--border: #222222;--border-strong: #3f3f46;--border-soft: #1a1a1a;--border-focus: var(--accent);--bubble-border-user: rgba(255, 255, 255, .15);--bubble-border-coach: rgba(255, 255, 255, .08);--text: #e5e7eb;--text-main: #e5e7eb;--text-secondary: #a1a1aa;--text-muted: #71717a;--text-dim: #52525b;--accent: #8b5cf6;--accent-glow: #8b5cf6;--accent-hover: #7c6aff;--shadow-vibe: none;--shadow-card: none;--glow-opacity: 1;--danger: #ef4444;--success: #22c55e;--glow-accent: rgba(139, 92, 246, .12);--glow-white: rgba(255, 255, 255, .04);--elevation-border: rgba(255, 255, 255, .08);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;text-size-adjust:100%}html{height:100%;width:100%;overflow:hidden}body{height:100%;width:100%;margin:0;padding:0;overflow:hidden;background:var(--bg);touch-action:manipulation}#root{height:100%;width:100%}a{color:var(--accent);text-decoration:none}button{font-family:inherit;cursor:pointer;touch-action:manipulation}input,textarea{font-family:inherit;font-size:16px}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}:root[data-theme=light]{--bg: #f3f4f6;--bg-chat: #e5ddd5;--bg-surface: #ffffff;--bg-surface-80: rgba(255, 255, 255, .85);--bg-hover: #f3f4f6;--border: #d1d5db;--border-strong: #9ca3af;--border-soft: #e5e7eb;--border-focus: var(--accent);--bubble-border-user: rgba(0, 0, 0, .1);--bubble-border-coach: #d1d5db;--text: #111827;--text-main: #111827;--text-secondary: #4b5563;--text-muted: #6b7280;--text-dim: #9ca3af;--accent: #8b5cf6 !important;--accent-hover: #7c6aff;--shadow-vibe: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-card: 0 10px 15px -3px rgba(0, 0, 0, .05), 0 4px 6px -4px rgba(0, 0, 0, .05);--glow-opacity: .55;--glow-accent: rgba(139, 92, 246, .12);--glow-white: rgba(0, 0, 0, .02);--elevation-border: rgba(0, 0, 0, .06)}:root[data-theme=light] .settings-section-title,:root[data-theme=light] .sidebar-footer-item{color:#111827!important}.auth-root{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:20px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;overflow-y:auto}.auth-bg{position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 60% 50% at 50% 0%,rgba(255,255,255,.03),transparent),radial-gradient(ellipse 40% 40% at 80% 100%,rgba(255,255,255,.02),transparent)}.auth-card{position:relative;z-index:1;width:100%;max-width:400px;opacity:0;transform:translateY(12px);transition:opacity .4s ease,transform .4s ease}.auth-card--visible{opacity:1;transform:translateY(0)}.auth-header{text-align:center;margin-bottom:36px}.auth-logo{display:flex;justify-content:center;margin-bottom:24px}.auth-logo img{height:80px;width:80px;object-fit:contain;border-radius:50%}.auth-title{font-size:1.5rem;font-weight:600;color:var(--text);letter-spacing:-.02em;margin:0 0 8px}.auth-subtitle{font-size:.9375rem;color:var(--text-muted);margin:0;font-weight:400}.auth-google-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:44px;background:#fff;border:none;border-radius:8px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.9375rem;font-weight:500;color:#1a1a1a;cursor:pointer;transition:opacity .15s ease;margin-bottom:24px}.auth-google-btn:hover{opacity:.85}.auth-google-btn:disabled{opacity:.5;cursor:not-allowed}.auth-google-btn svg{width:18px;height:18px;flex-shrink:0}.auth-divider{display:flex;align-items:center;gap:12px;margin-bottom:24px}.auth-divider-line{flex:1;height:1px;background:var(--border)}.auth-divider-text{font-size:.8125rem;color:var(--text-muted);white-space:nowrap}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-field-group{display:flex;flex-direction:column;gap:6px}.auth-field-label{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.auth-field{position:relative;display:flex;align-items:center;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;transition:border-color .15s ease;box-shadow:var(--shadow-vibe)}.auth-field:focus-within{border-color:var(--accent)}.auth-input{flex:1;height:44px;padding:0 12px;background:transparent;border:none;outline:none;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.9375rem;font-weight:400;color:var(--text);caret-color:var(--text-secondary)}.auth-input::placeholder{color:var(--text-muted)}.auth-field-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:44px;background:transparent;border:none;cursor:pointer;color:var(--text-muted);transition:color .15s ease;flex-shrink:0}.auth-field-toggle:hover{color:var(--text-secondary)}.auth-field-toggle svg{width:16px;height:16px}.auth-field-animate{animation:fieldSlideIn .25s ease both}@keyframes fieldSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.auth-error{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#ef444414;border:1px solid rgba(239,68,68,.15);border-radius:8px;color:#ef4444;font-size:.8125rem;animation:errorShake .35s ease}.auth-error svg{width:14px;height:14px;flex-shrink:0}@keyframes errorShake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}50%{transform:translate(4px)}75%{transform:translate(-2px)}}.auth-submit{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:44px;margin-top:4px;background:var(--text);border:none;border-radius:8px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.9375rem;font-weight:500;color:var(--bg);cursor:pointer;transition:opacity .15s ease}.auth-submit:hover:not(:disabled){opacity:.85}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-spinner{width:18px;height:18px;border:2px solid rgba(0,0,0,.15);border-top-color:var(--bg);border-radius:50%;animation:spin .6s linear infinite}.auth-switch{text-align:center;margin-top:24px;font-size:.875rem;color:var(--text-muted)}.auth-switch-link{color:var(--text);cursor:pointer;background:none;border:none;font-family:inherit;font-size:inherit;font-weight:500;padding:0;transition:opacity .15s ease;border-bottom:1px solid var(--border)}.auth-switch-link:hover{opacity:.7}.auth-footer{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:32px;font-size:.75rem;color:var(--text-muted);letter-spacing:.01em}.auth-footer-dot{width:4px;height:4px;border-radius:50%;background:#22c55e;animation:statusPulse 2s ease-in-out infinite}.auth-branding{display:flex;justify-content:center;margin-top:20px}.auth-branding-link{display:inline-flex;align-items:center;opacity:.35;transition:opacity .2s ease}.auth-branding-link:hover{opacity:.65}.auth-branding-link img{height:28px;width:auto}@media(max-width:480px){.auth-root{padding:60px 16px 16px;align-items:flex-start}.auth-card{max-width:100%}.auth-title{font-size:1.375rem}}@media(prefers-reduced-motion:reduce){.auth-card{transition:none;opacity:1;transform:none}.auth-field-animate{animation:none}}.new-conv-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .15s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.new-conv-modal{background:var(--bg-surface);border:1px solid var(--border);border-top:1px solid var(--elevation-border);border-radius:16px;width:90%;max-width:420px;max-height:80dvh;overflow:hidden;animation:scaleIn .25s cubic-bezier(.34,1.56,.64,1);box-shadow:0 24px 64px #0009;display:flex;flex-direction:column;transform:translateZ(0)}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-soft);position:relative;background:var(--bg-surface);flex-shrink:0}.modal-header h2{font-size:16px;color:var(--text);margin:0;flex:1;text-align:center;font-weight:600;letter-spacing:-.01em}.back-arrow{background:none;border:none;cursor:pointer;padding:6px;color:var(--text-muted);border-radius:6px;transition:color .15s ease,background .15s ease;position:absolute;left:12px;display:flex;align-items:center;justify-content:center}.back-arrow:hover{background:var(--bg-hover);color:var(--text)}.close-button{background:none;border:none;color:var(--text-muted);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:color .15s ease,background .15s ease;position:absolute;right:12px;font-size:20px}.close-button:hover{background:var(--bg-hover);color:var(--text)}.choice-content{padding:20px;background:var(--bg);overflow-y:auto;flex:1;min-height:0}.choice-subtitle{text-align:center;color:var(--text-secondary);font-size:14px;margin-bottom:20px}.choice-card{width:100%;padding:16px;border:1px solid var(--border-strong);border-radius:10px;background:var(--bg-surface);cursor:pointer;transition:background .15s ease,border-color .15s ease;margin-bottom:10px;text-align:left;position:relative;overflow:hidden}.choice-card:hover{background:var(--bg-hover);border-color:var(--text-dim)}.choice-card:active{opacity:.8}.choice-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent);transform:scaleX(0);transition:transform .25s ease}.choice-card:hover:before{transform:scaleX(1)}.choice-icon{margin-bottom:10px;display:flex;align-items:center;color:var(--text-muted)}.choice-icon svg{width:28px;height:28px;flex-shrink:0}.choice-card h3{font-size:15px;color:var(--text);margin:0 0 6px;font-weight:600}.choice-card p{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.5}.custom-content{padding:20px;background:var(--bg);overflow-y:auto;flex:1;min-height:0}.custom-step{animation:stepIn .25s cubic-bezier(.4,0,.2,1)}@keyframes stepIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.progress-bar{height:3px;background:var(--border);border-radius:10px;margin-bottom:6px;overflow:hidden}.progress-fill{height:100%;background:var(--text);transition:width .4s cubic-bezier(.4,0,.2,1)}.step-indicator{text-align:center;color:var(--text-muted);font-size:11px;margin-bottom:20px;font-weight:500}.question-title{font-size:16px;color:var(--text);margin-bottom:20px;text-align:center;font-weight:600;line-height:1.4}.name-preview{display:flex;justify-content:center;margin-bottom:8px}.avatar-upload-wrapper{position:relative;width:64px;height:64px;border-radius:14px;cursor:pointer;flex-shrink:0}.name-avatar{width:100%;height:100%;border-radius:14px;background:#f0ece8;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#111;transition:background .4s ease;-webkit-user-select:none;user-select:none}:root[data-theme=light] .name-avatar{background:#111827;color:#fff}.avatar-upload-img{width:100%;height:100%;border-radius:14px;object-fit:cover;border:1.5px solid var(--border);display:block}.avatar-upload-overlay{position:absolute;inset:0;border-radius:14px;background:#00000085;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s ease;color:#fff;pointer-events:none}.avatar-upload-wrapper:hover .avatar-upload-overlay{opacity:1}.avatar-remove-btn{position:absolute;top:-5px;right:-5px;width:18px;height:18px;border-radius:50%;border:1.5px solid var(--border);background:var(--bg-surface);color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,color .15s ease;z-index:10;pointer-events:all}.avatar-remove-btn:hover{background:var(--danger, #ef4444);color:#fff;border-color:transparent}.avatar-upload-hint{text-align:center;font-size:12px;color:var(--text);margin-bottom:14px;margin-top:0}.avatar-upload-error{text-align:center;font-size:11px;color:var(--danger, #ef4444);margin-bottom:10px;margin-top:-4px}.custom-name-input-modal{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:8px;font-size:14px;color:var(--text);background:var(--bg-surface);outline:none;transition:border-color .15s ease;margin-bottom:12px;box-sizing:border-box;font-family:inherit}.custom-name-input-modal::placeholder{color:var(--text-muted)}.custom-name-input-modal:focus{border-color:var(--text-dim)}.submit-button-name{width:100%;padding:13px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .15s ease;background:var(--text);color:var(--bg);font-family:inherit}.submit-button-name:hover:not(:disabled){opacity:.85}.submit-button-name:disabled{opacity:.3;cursor:not-allowed}.gender-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.gender-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 8px;border:1px solid var(--border-strong);border-radius:10px;background:var(--bg-surface);cursor:pointer;transition:background .15s ease,border-color .15s ease;text-align:center}.gender-card:hover{background:var(--bg-hover);border-color:var(--gender-color, var(--text-dim))}.gender-card.selected{border-color:var(--gender-color, var(--accent));background:color-mix(in srgb,var(--gender-color, var(--accent)) 10%,var(--bg))}.gender-card.selected .gender-label{color:var(--gender-color, var(--accent))}.gender-icon-wrap{width:40px;height:40px;border-radius:10px;background:color-mix(in srgb,var(--gender-color, var(--text-dim)) 12%,transparent);border:1px solid color-mix(in srgb,var(--gender-color, var(--text-dim)) 25%,transparent);display:flex;align-items:center;justify-content:center;color:var(--gender-color, var(--text-muted));transition:all .15s ease}.gender-label{font-size:12px;font-weight:600;color:var(--text-secondary)}.gender-desc{font-size:11px;color:var(--text-secondary)}.icon-options-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.icon-option-button{display:flex;align-items:center;gap:10px;padding:12px;background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:8px;font-size:13px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease;text-align:left;font-weight:500;font-family:inherit}.icon-option-button:hover{background:var(--bg-hover);border-color:var(--opt-color, var(--text-dim));color:var(--text)}.icon-option-button.selected{border-color:var(--opt-color, var(--accent));background:color-mix(in srgb,var(--opt-color, var(--accent)) 10%,var(--bg));color:var(--text)}.icon-option-icon{width:32px;height:32px;border-radius:7px;background:color-mix(in srgb,var(--opt-color, var(--text-dim)) 12%,transparent);border:1px solid color-mix(in srgb,var(--opt-color, var(--text-dim)) 20%,transparent);display:flex;align-items:center;justify-content:center;color:var(--opt-color, var(--text-muted));flex-shrink:0}.icon-option-label{line-height:1.3;flex:1}.intensity-container{margin-bottom:20px}.intensity-track{position:relative;display:flex;align-items:center;justify-content:space-between;padding:0 16px;margin-bottom:10px}.intensity-track:before{content:"";position:absolute;left:16px;right:16px;top:50%;transform:translateY(-50%);height:2px;background:var(--border);border-radius:2px;z-index:0}.intensity-progress{position:absolute;left:16px;top:50%;transform:translateY(-50%);height:2px;background:var(--text);border-radius:2px;transition:width .35s cubic-bezier(.4,0,.2,1);z-index:1}.intensity-node{position:relative;z-index:2;width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;font-family:inherit}.intensity-node:hover{border-color:var(--node-color, var(--text-dim));background:color-mix(in srgb,var(--node-color, var(--text-dim)) 10%,var(--bg));color:var(--node-color, var(--text))}.intensity-node.active{border-color:var(--node-color, var(--text));background:color-mix(in srgb,var(--node-color, var(--text)) 15%,var(--bg));color:var(--node-color, var(--text));box-shadow:0 0 0 3px color-mix(in srgb,var(--node-color, var(--text)) 20%,transparent)}.intensity-labels{display:flex;justify-content:space-between;padding:0 8px;margin-bottom:10px}.intensity-label-text{font-size:11px;color:var(--text-muted);font-weight:500;text-align:center;flex:1;transition:color .15s}.intensity-label-text.active{color:var(--text-secondary)}.intensity-desc{text-align:center;font-size:13px;color:var(--text-muted);min-height:18px}.recap-card{display:flex;align-items:center;gap:12px;padding:14px;border-radius:10px;border:1px solid color-mix(in srgb,var(--avatar-color, var(--accent)) 30%,var(--border));background:color-mix(in srgb,var(--avatar-color, var(--accent)) 6%,var(--bg));margin-bottom:14px;animation:recapIn .3s cubic-bezier(.34,1.56,.64,1)}@keyframes recapIn{0%{opacity:0;transform:scale(.97) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.recap-avatar{width:48px;height:48px;border-radius:10px;background:#f0ece8;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:#111;flex-shrink:0}:root[data-theme=light] .recap-avatar{background:#111827;color:#fff}.recap-avatar-img{width:48px;height:48px;border-radius:10px;object-fit:cover;flex-shrink:0;border:1.5px solid var(--border)}.recap-info{flex:1;min-width:0}.recap-name{font-size:15px;font-weight:600;color:var(--text);margin:0 0 2px}.recap-detail{font-size:12px;color:var(--text-muted);margin:0 0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recap-tags{display:flex;gap:5px;flex-wrap:wrap}.recap-tag{font-size:11px;font-weight:500;padding:2px 8px;border-radius:20px;background:color-mix(in srgb,var(--avatar-color, var(--accent)) 15%,var(--bg-surface));color:var(--avatar-color, var(--text-muted));border:1px solid color-mix(in srgb,var(--avatar-color, var(--accent)) 25%,transparent)}.create-btn{font-size:15px;padding:14px 20px;display:flex;align-items:center;justify-content:center;width:100%;border:none;border-radius:8px;background:var(--text);color:var(--bg);font-weight:500;cursor:pointer;transition:opacity .15s ease;font-family:inherit}.create-btn:hover{opacity:.85}.create-btn:disabled{opacity:.3;cursor:not-allowed}.templates-content{display:flex;flex-direction:column;gap:6px;padding:16px 20px;background:var(--bg);overflow-y:auto;flex:1;min-height:0}.template-card{display:flex;align-items:center;gap:12px;padding:14px;border-radius:8px;border:1px solid var(--border-strong);background:var(--bg-surface);cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease;text-align:left;width:100%;position:relative;overflow:hidden}.template-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--tpl-color, var(--accent));transform:scaleX(0);transition:transform .25s ease}.template-card:hover:before{transform:scaleX(1)}.template-card:hover{background:var(--bg-hover);border-color:color-mix(in srgb,var(--tpl-color, var(--accent)) 40%,var(--border));transform:translate(3px)}.template-icon-wrap{width:38px;height:38px;border-radius:8px;background:color-mix(in srgb,var(--tpl-color, var(--accent)) 12%,transparent);border:1px solid color-mix(in srgb,var(--tpl-color, var(--accent)) 25%,transparent);display:flex;align-items:center;justify-content:center;color:var(--tpl-color, var(--text-muted));flex-shrink:0}.template-text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.template-label{font-size:14px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.template-desc{font-size:12px;color:var(--text-secondary);line-height:1.4}.template-arrow{color:var(--text-muted);flex-shrink:0;transition:all .15s ease}.template-card:hover .template-arrow{color:var(--tpl-color, var(--text-muted));transform:translate(3px)}.choice-content::-webkit-scrollbar,.custom-content::-webkit-scrollbar,.templates-content::-webkit-scrollbar{display:none}@media(max-width:768px){.new-conv-modal{width:95%;max-height:80dvh}.choice-content,.custom-content,.templates-content{padding:14px}.question-title{font-size:15px;margin-bottom:16px}.gender-card{padding:12px 8px}.gender-icon-wrap{width:36px;height:36px}.gender-label{font-size:11px}.icon-option-button{padding:10px;font-size:12px}.intensity-node{width:40px;height:40px}.recap-card{padding:12px;gap:10px}.recap-avatar,.recap-avatar-img{width:42px;height:42px;font-size:17px}}@media(max-width:480px){.new-conv-overlay{padding:16px}.new-conv-modal{width:100%;max-width:100%;max-height:72dvh}.question-title{font-size:14px;margin-bottom:14px}.gender-grid{gap:6px}.gender-card{padding:10px 6px}.icon-options-grid{grid-template-columns:1fr 1fr;gap:6px}.icon-option-button{padding:10px 8px;font-size:11px}.intensity-node{width:38px;height:38px}.recap-avatar,.recap-avatar-img{width:40px;height:40px;font-size:15px}.modal-header{padding:14px 16px}.modal-header h2{font-size:15px}.name-avatar{width:56px;height:56px;font-size:20px}.avatar-upload-wrapper{width:56px;height:56px}}@supports (-webkit-touch-callout: none){.custom-name-input-modal{font-size:16px}}.statistics-container{height:100%;display:flex;flex-direction:column;background:var(--bg);color:var(--text);overflow:hidden}.statistics-header{height:72px;min-height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0;z-index:10;flex-shrink:0}.stats-header-title{font-size:1.1rem;font-weight:600;letter-spacing:-.01em;color:var(--text);margin:0;position:absolute;left:50%;transform:translate(-50%)}.stats-header-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted);z-index:2;background:none;border:none;border-radius:8px;transition:color .15s ease,background .15s ease;flex-shrink:0}.stats-header-btn:hover{color:var(--text);background:var(--bg-hover)}.statistics-content{flex:1;overflow-y:auto;padding:8px 0 80px;-webkit-overflow-scrolling:touch}.statistics-content::-webkit-scrollbar{display:none}.statistics-loading,.statistics-error{display:flex;align-items:center;justify-content:center;padding:40px 20px;font-size:14px;color:var(--text-muted)}.statistics-error{color:var(--danger)}.statistics-section{margin-bottom:4px}.statistics-section-title{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding:16px 20px 8px;margin:0}.statistics-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 20px}.statistics-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:16px;display:flex;flex-direction:column;align-items:center;gap:4px}.statistics-card-number{font-size:32px;font-weight:600;color:var(--text);line-height:1;letter-spacing:-.03em}.statistics-card-label{font-size:12px;color:var(--text-muted);font-weight:400;text-align:center}.statistics-highlight{padding:12px 20px;display:flex;align-items:center;gap:12px;border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft)}.statistics-highlight-icon{width:36px;height:36px;border-radius:8px;background:var(--bg-surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-muted);flex-shrink:0}.statistics-highlight-info{display:flex;flex-direction:column;gap:2px}.statistics-highlight-name{font-size:14px;font-weight:500;color:var(--text)}.statistics-highlight-sub{font-size:12px;color:var(--text-muted)}.statistics-info-item{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);min-height:52px}.statistics-info-left{display:flex;align-items:center;gap:12px}.statistics-info-icon{width:32px;height:32px;border-radius:8px;background:var(--bg-surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-muted);flex-shrink:0}.statistics-info-label{font-size:14px;font-weight:400;color:var(--text)}.statistics-info-value{font-size:13px;color:var(--text-muted)}@media(min-width:500px){.statistics-section-title{padding:16px 24px 8px}.statistics-cards{padding:0 24px}.statistics-info-item,.statistics-highlight{padding:12px 24px}}.export-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.export-modal{background:var(--bg-surface);border:1px solid var(--border);border-top:1px solid var(--elevation-border);border-radius:14px;width:90%;max-width:400px;padding:20px;transform:translateZ(0)}.export-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.export-modal-header h3{font-size:16px;font-weight:600;color:var(--text);margin:0;letter-spacing:-.01em}.export-close{background:none;border:none;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;justify-content:center;padding:4px;border-radius:6px;transition:color .15s ease,background .15s ease}.export-close:hover{color:var(--text);background:var(--bg-hover)}.export-buttons{display:flex;flex-direction:column;gap:8px}.export-btn{display:flex;align-items:center;gap:12px;padding:13px 16px;border:1px solid var(--border);border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease;font-family:inherit;text-align:left}.export-btn.txt{background:var(--bg-hover);color:var(--text)}.export-btn.txt:hover{background:var(--bg-surface);border-color:var(--text-dim)}.export-btn.pdf{background:var(--text);color:var(--bg);border-color:transparent}.export-btn.pdf:hover{opacity:.85}.export-loading{display:flex;flex-direction:column;align-items:center;gap:14px;padding:20px 0}.export-spinner{width:28px;height:28px;border:2px solid var(--border);border-top-color:var(--text);border-radius:50%;animation:spin .7s linear infinite}.export-loading p{font-size:13px;color:var(--text-muted);text-align:center}.language-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.language-modal{background:var(--bg-surface);border:1px solid var(--border);border-top:1px solid var(--elevation-border);border-radius:14px;width:90%;max-width:380px;padding:20px;max-height:80dvh;overflow-y:auto;transform:translateZ(0)}.language-modal::-webkit-scrollbar{display:none}.language-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.language-modal-header h3{font-size:16px;font-weight:600;color:var(--text);margin:0;letter-spacing:-.01em}.language-close{background:none;border:none;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;justify-content:center;padding:4px;border-radius:6px;transition:color .15s ease,background .15s ease}.language-close:hover{color:var(--text);background:var(--bg-hover)}.language-list{display:flex;flex-direction:column;gap:2px}.language-item{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:8px;cursor:pointer;transition:background .15s ease}.language-item:hover,.language-item.active{background:var(--bg-hover)}.language-flag{font-size:20px;flex-shrink:0}.language-label{font-size:14px;font-weight:400;color:var(--text);flex:1}.language-item.active .language-label{font-weight:500}.language-check{color:var(--text);flex-shrink:0}.language-apply-btn{width:100%;margin-top:14px;padding:12px;background:var(--text);color:var(--bg);border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .15s ease;font-family:inherit}.language-apply-btn:hover{opacity:.85}.profile-modal-overlay{position:absolute;inset:0;width:100%;height:100%;background:var(--bg);z-index:100;display:flex;flex-direction:column}.profile-modal{display:flex;flex-direction:column;height:100%;width:100%;max-width:600px;margin:0 auto}.profile-modal-header{height:72px;min-height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid var(--border);background:var(--bg);flex-shrink:0}.profile-modal-title{font-size:16px;font-weight:600;color:var(--text);margin:0;letter-spacing:-.01em;flex:1;text-align:center}.profile-modal-back,.profile-modal-close{background:none;border:none;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;justify-content:center;padding:6px;border-radius:8px;transition:color .15s ease,background .15s ease;flex-shrink:0}.profile-modal-back:hover,.profile-modal-close:hover{color:var(--text);background:var(--bg-hover)}.profile-modal-content{flex:1;overflow-y:auto;padding:24px 20px;display:flex;flex-direction:column;gap:16px;-webkit-overflow-scrolling:touch}.profile-modal-content::-webkit-scrollbar{display:none}.profile-field{display:flex;flex-direction:column;gap:6px}.profile-field label{font-size:12px;font-weight:500;color:var(--text-muted);letter-spacing:.01em}.profile-field input{padding:11px 14px;border:1px solid var(--border);border-radius:8px;font-size:14px;color:var(--text);background:var(--bg-surface);outline:none;font-family:inherit;transition:border-color .15s ease}.profile-field input::placeholder{color:var(--text-muted)}.profile-field input:focus{border-color:var(--border-focus, var(--accent))}.profile-success{font-size:13px;color:var(--success, #22c55e);font-weight:500;margin:0}.profile-error{font-size:13px;color:var(--danger, #ef4444);font-weight:500;margin:0}.profile-save-button{padding:12px;background:var(--text);border:none;border-radius:8px;color:var(--bg);font-size:14px;font-weight:500;cursor:pointer;transition:opacity .15s ease;font-family:inherit;margin-top:4px}.profile-save-button:hover:not(:disabled){opacity:.85}.profile-save-button:disabled{opacity:.4;cursor:not-allowed}@media(min-width:500px){.profile-modal-header{padding:0 24px}.profile-modal-content{padding:28px 24px}}@media(min-width:1024px){.profile-modal{max-width:none;height:100%}.profile-modal-header{padding:0 24px}.profile-modal-content{max-width:680px;margin:0 auto;width:100%;padding:48px 24px}}.settings-container{height:100%;display:flex;flex-direction:column;background:var(--bg);color:var(--text);overflow:hidden}.settings-header{padding:24px 20px 12px;flex-shrink:0}.settings-header h1{font-size:22px;font-weight:600;letter-spacing:-.02em;margin:0;color:var(--text)}.settings-content{flex:1;overflow-y:auto;padding:8px 0 80px;-webkit-overflow-scrolling:touch}.settings-content::-webkit-scrollbar{display:none}.settings-section{margin-bottom:4px}.settings-section-title{font-size:11px;font-weight:700;color:var(--text);opacity:1;text-transform:uppercase;letter-spacing:.06em;padding:16px 20px 8px;margin:0}.settings-item{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:transparent;border-bottom:1px solid var(--border-soft);cursor:pointer;transition:background .15s ease;min-height:52px}.settings-item:first-of-type{border-top:1px solid var(--border-soft)}.settings-item:hover{background:var(--bg-hover)}.settings-item:active{background:var(--bg-surface)}.settings-item-left{display:flex;align-items:center;gap:12px}.settings-item-right{display:flex;align-items:center;gap:6px}.settings-icon-wrapper{width:32px;height:32px;border-radius:8px;background:var(--bg-surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-muted);flex-shrink:0}.settings-icon-wrapper.danger{background:#ef444414;border-color:#ef444433;color:var(--danger)}.settings-item-label{font-size:14px;font-weight:400;color:var(--text)}.settings-item-label.danger{color:var(--danger)}.settings-item-value{font-size:13px;color:var(--text-muted)}.settings-chevron{color:var(--text-muted);width:16px;height:16px}.settings-toggle{width:44px;height:24px;border-radius:12px;background:var(--border);position:relative;cursor:pointer;transition:background .2s ease;flex-shrink:0}.settings-toggle.active{background:var(--text)}.settings-toggle-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--bg);box-shadow:0 1px 3px #0006;transition:transform .2s ease}.settings-toggle.active .settings-toggle-thumb{transform:translate(20px)}.settings-profile-form{background:transparent;padding:12px 20px 16px;border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);display:flex;flex-direction:column;gap:12px}.settings-field{display:flex;flex-direction:column;gap:6px}.settings-field label{font-size:12px;font-weight:500;color:var(--text-muted);letter-spacing:.01em}.settings-field input{padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;color:var(--text);background:var(--bg-surface);outline:none;font-family:inherit;transition:border-color .15s ease}.settings-field input::placeholder{color:var(--text-muted)}.settings-field input:focus{border-color:var(--text-dim)}.settings-success{font-size:13px;color:var(--success);font-weight:500;margin:0}.settings-error{font-size:13px;color:var(--danger);font-weight:500;margin:0}.settings-save-button{padding:11px;background:var(--text);border:none;border-radius:8px;color:var(--bg);font-size:14px;font-weight:500;cursor:pointer;transition:opacity .15s ease;font-family:inherit}.settings-save-button:hover:not(:disabled){opacity:.85}.settings-save-button:disabled{opacity:.4;cursor:not-allowed}@media(min-width:500px){.settings-header{padding:28px 24px 14px}.settings-section-title{padding:16px 24px 8px}.settings-item{padding:12px 24px}.settings-profile-form{padding:12px 24px 16px}}.about-brand-icon-wrapper{position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate;margin-right:14px;padding:2px}.about-brand-icon{width:28px;height:28px;border-radius:7px;z-index:1;object-fit:contain;background:var(--bg)}.about-brand-icon-wrapper:before{content:"";position:absolute;inset:0;border-radius:8px;padding:1px;background:linear-gradient(135deg,var(--accent),var(--accent-hover));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.8;filter:drop-shadow(0 0 2px var(--glow-accent));z-index:-1}.avatar{display:flex;align-items:center;justify-content:center;border-radius:8px;flex-shrink:0;position:relative;z-index:1;isolation:isolate;transform:translateZ(0)}.avatar:before{content:"";position:absolute;inset:-1px;border-radius:inherit;background:#8b5cf6!important;filter:blur(6px) saturate(2.5)!important;z-index:-1;opacity:var(--glow-opacity);transition:all .2s ease;pointer-events:none;transform:translateZ(0);will-change:transform,opacity}@keyframes avatar-glow-pulse{0%{opacity:var(--glow-opacity);filter:blur(6px) saturate(2.5)}50%{opacity:1;filter:blur(8px) saturate(3)}to{opacity:var(--glow-opacity);filter:blur(6px) saturate(2.5)}}@media(min-width:1024px){.avatar--active:before{animation:avatar-glow-pulse 2.5s ease-in-out infinite}}.avatar--wrapper{position:relative;background:var(--avatar-placeholder-color, var(--bg-surface));border:1px solid var(--border)}.avatar--loading{background:var(--avatar-placeholder-color, var(--bg-surface));border:1px solid var(--border);animation:avatar-shimmer 1.4s ease-in-out infinite}@keyframes avatar-shimmer{0%{opacity:1}50%{opacity:.55}to{opacity:1}}.avatar__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit;will-change:opacity}.avatar--initials{background:var(--avatar-placeholder-color, #f0ece8);border:1px solid var(--border);font-size:calc(var(--avatar-size, 36px) * .38);font-weight:600;color:#111;letter-spacing:.02em;-webkit-user-select:none;user-select:none;box-shadow:0 0 12px 4px rgba(139,92,246,var(--glow-opacity))}.avatar--initials:before{display:none}:root[data-theme=light] .avatar--initials{background:var(--avatar-placeholder-color, #111827);color:#fff}.avatar--error{background:color-mix(in srgb,var(--bg-surface) 80%,#ef4444 20%);color:#ef4444}.home-container{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg);color:var(--text);position:relative;overflow:visible}.home-header{display:flex;justify-content:space-between;align-items:center;padding:24px 20px 12px;flex-shrink:0}.home-header h1{font-size:22px;font-weight:600;letter-spacing:-.02em;margin:0;color:var(--text)}.new-chat-button{width:34px;height:34px;border-radius:8px;background:var(--bg-surface);border:1px solid var(--border);color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s ease,color .15s ease;flex-shrink:0}.new-chat-button:hover{border-color:var(--text-dim);color:var(--text)}.search-container{padding:0 20px 12px;flex-shrink:0}.search-bar{display:flex;align-items:center;gap:10px;background:var(--bg-surface);padding:10px 14px;border-radius:8px;border:1px solid var(--border);transition:border-color .15s ease}.search-bar:focus-within{border-color:var(--border-focus, var(--accent))}.search-bar svg{color:var(--text-muted);flex-shrink:0;width:15px;height:15px}.search-bar input{flex:1;background:none;border:none;outline:none;color:var(--text);font-size:14px;font-family:inherit}.search-bar input::placeholder{color:var(--text-muted)}.filters-container{display:flex;gap:8px;padding:0 20px 16px;overflow-x:auto;scrollbar-width:none;flex-shrink:0;-webkit-overflow-scrolling:touch}.filters-container::-webkit-scrollbar{display:none}.filter-chip{padding:5px 12px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:border-color .15s ease,color .15s ease,background .15s ease;min-height:30px;font-family:inherit;touch-action:manipulation}.filter-chip:hover{border-color:var(--text-dim);color:var(--text)}.filter-chip.active{background:var(--text);color:var(--bg);border-color:var(--text)}.conversations-list{flex:1;overflow-y:auto;overflow-x:visible;padding-bottom:64px;-webkit-overflow-scrolling:touch}.conversations-list::-webkit-scrollbar{display:none}.conversation-wrapper{position:relative;overflow:visible!important}.conversation-item{display:flex;align-items:center;gap:14px;padding:12px 20px 12px 12px;cursor:pointer;transition:background .2s ease;position:relative;z-index:2;min-height:64px;border-bottom:1px solid var(--border-soft);overflow:visible!important}.conversation-item.swiped{transform:translate(-90px)}.conversation-item:hover{background:var(--bg-surface);transition:background .2s ease}.conversation-item:hover .avatar:before{opacity:var(--glow-opacity)!important;filter:blur(6px) saturate(2.5)!important;transform:scale(1.05) translateZ(0)}.conversation-item:hover .avatar--initials{box-shadow:0 0 14px 5px rgba(139,92,246,var(--glow-opacity))}.conversation-item.active-chat{background:var(--bg-hover)!important;border-left:2px solid var(--accent);transition:background .2s ease,border-left-color .2s ease}.conversation-item.active-chat .avatar:before{opacity:var(--glow-opacity)!important;filter:blur(6px) saturate(2.5)!important;transform:scale(1.05) translateZ(0)!important;transition:all .2s ease}.conversation-item.active-chat .avatar--initials{box-shadow:0 0 14px 5px rgba(139,92,246,var(--glow-opacity))}.conv-avatar-new{border-radius:10px!important;width:52px!important;height:52px!important;min-width:52px!important;transform:translateZ(0);margin:4px;flex-shrink:0;overflow:visible!important}.conv-content{flex:1;min-width:0}.conv-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3px}.conv-header h3{font-size:14px;font-weight:500;margin:0;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}.conv-time{font-size:12px;color:var(--text-muted);flex-shrink:0;margin-left:8px}.conv-preview{display:flex;align-items:center}.conv-preview p{font-size:13px;color:var(--text-secondary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.favorite-button{background:none;border:none;cursor:pointer;padding:6px;color:var(--text-muted);opacity:.4;transition:opacity .15s ease,color .15s ease;min-width:30px;min-height:30px;display:flex;align-items:center;justify-content:center}.favorite-button.active{color:var(--text);opacity:1}.conversation-item:hover .favorite-button{opacity:1}.delete-action{position:absolute;right:0;top:0;bottom:0;width:90px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s ease;z-index:1}.delete-action.visible{opacity:1}.delete-button{display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--danger);border:none;color:#fff;padding:12px 20px;cursor:pointer;font-size:11px;font-weight:600;height:100%;width:100%;font-family:inherit;transition:background .15s ease}.delete-button:hover{background:#dc2626}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center;gap:16px}.empty-icon{display:flex;align-items:center;justify-content:center;color:var(--text-dim)}.empty-text{font-size:14px;color:var(--text-muted);margin:0}.empty-button{padding:9px 18px;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;transition:border-color .15s ease;touch-action:manipulation}.empty-button:hover{border-color:var(--text-dim)}.loading-state{display:flex;align-items:center;justify-content:center;height:100%;font-size:14px;color:var(--text-muted)}.bottom-nav{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:center;align-items:center;background:var(--bg-surface-80);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:1px solid var(--border-soft);padding-bottom:env(safe-area-inset-bottom);z-index:100;flex-shrink:0;box-shadow:var(--shadow-vibe)}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 8px;background:none;border:none;color:var(--text-secondary);cursor:pointer;transition:color .15s ease;touch-action:manipulation;min-height:54px}.nav-item:hover,.nav-item.active{color:var(--text)}.nav-item span{font-size:10px;font-weight:500;letter-spacing:.01em}.nav-item svg{width:20px;height:20px}.delete-modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .15s ease}.delete-modal{background:var(--bg-surface);border:1px solid var(--border);border-top:1px solid var(--elevation-border);border-radius:14px;padding:24px;width:100%;max-width:320px;display:flex;flex-direction:column;align-items:center;gap:10px;animation:slideUp .2s ease;transform:translateZ(0)}.delete-modal-icon{width:48px;height:48px;border-radius:12px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:var(--danger);display:flex;align-items:center;justify-content:center;margin-bottom:4px}.delete-modal-title{font-size:16px;font-weight:600;color:var(--text);text-align:center;margin:0;letter-spacing:-.01em}.delete-modal-text{font-size:13px;color:var(--text-muted);text-align:center;line-height:1.6;margin:0}.delete-modal-actions{display:flex;flex-direction:column;gap:8px;width:100%;margin-top:8px}.delete-modal-confirm{width:100%;padding:12px;border-radius:8px;border:none;background:var(--danger);color:#fff;font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;transition:opacity .15s ease}.delete-modal-confirm:hover{opacity:.85}.delete-modal-cancel{width:100%;padding:12px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;transition:border-color .15s ease,color .15s ease}.delete-modal-cancel:hover{border-color:var(--text-dim);color:var(--text)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1024px){.home-container{width:100%;height:100vh;overflow:visible}.conversations-list{padding-bottom:0}.bottom-nav{display:none}.home-header{padding:22px 24px 16px;min-height:72px;align-items:center}.home-header h1{font-size:22px}.new-chat-button{width:38px;height:38px}.search-container{padding:0 20px 14px}.search-bar{padding:11px 16px;border-radius:10px}.search-bar input{font-size:14px}.filters-container{padding:0 20px 16px}.filter-chip{padding:6px 14px;font-size:13px;border-radius:7px}.conversation-item{padding:16px 20px 16px 12px;min-height:84px;gap:16px}.conv-avatar{width:60px;height:60px;font-size:22px;border-radius:14px}.conv-avatar-new{width:60px!important;height:60px!important;min-width:60px!important;border-radius:14px!important}.conv-header h3{font-size:15px}.conv-preview p{font-size:13px}.conv-time{font-size:12px}}.sidebar-footer{display:none}@media(min-width:1024px){.sidebar-footer{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:2px;padding:12px 16px 0;background:var(--bg-surface-80);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);flex-shrink:0;box-sizing:border-box;border-top:1px solid var(--border-soft);box-shadow:var(--shadow-vibe)}.sidebar-footer-item{display:flex;flex-direction:row;align-items:center;gap:8px;padding:10px;border-radius:7px;background:transparent;border:none;color:var(--text);cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;transition:background .15s ease,color .15s ease;white-space:nowrap}.sidebar-footer-item:hover{background:var(--bg-hover);color:var(--text)}.sidebar-footer-item.active{color:var(--text)}.sidebar-footer-item svg{width:18px;height:18px;flex-shrink:0}}@media(max-width:379px){.home-header h1{font-size:19px}.conv-avatar{width:38px;height:38px;font-size:14px}.conversation-item{padding:10px 14px}.nav-item span{display:none}}@media(min-width:380px)and (max-width:499px){.home-header{padding:20px 16px 10px}.search-container{padding:0 16px 12px}.filters-container{padding:0 16px 14px}.conversation-item{padding:12px 16px}}@media(min-width:500px)and (max-width:1023px){.conversation-item{padding:14px 24px}.home-header{padding:28px 24px 14px}.search-container{padding:0 24px 14px}.filters-container{padding:0 24px 16px}}._micBtn_7jyi7_2{width:40px;height:40px;min-width:40px;border-radius:50%;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0;touch-action:manipulation}._micBtn_7jyi7_2:hover{background:var(--bg-hover);color:var(--text);border-color:var(--text-dim)}._micBtn_7jyi7_2:disabled{opacity:.3;cursor:not-allowed}._micPulse_7jyi7_32{color:var(--danger);flex-shrink:0;animation:_micPulse_7jyi7_32 1.4s ease-in-out infinite}@keyframes _micPulse_7jyi7_32{0%{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.55}to{transform:scale(1);opacity:1}}._timer_7jyi7_45{font-size:12px;font-weight:600;color:var(--danger);min-width:28px;flex-shrink:0;font-variant-numeric:tabular-nums;white-space:nowrap;line-height:40px}._cancelBtn_7jyi7_57{width:36px;height:36px;min-width:36px;border-radius:50%;border:1px solid var(--border);background:var(--bg-hover);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0;transition:background .15s ease,border-color .15s ease,color .15s ease;touch-action:manipulation}._cancelBtn_7jyi7_57:hover{background:#ef44441a;border-color:#ef44444d;color:var(--danger)}._stopBtn_7jyi7_82{width:40px;height:40px;min-width:40px;border-radius:50%;border:none;background:var(--text);color:var(--bg);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0;transition:opacity .15s ease;touch-action:manipulation}._stopBtn_7jyi7_82:hover{opacity:.85}._stopBtn_7jyi7_82:disabled{opacity:.5;cursor:not-allowed}._stopBtn_7jyi7_82._processing_7jyi7_110{opacity:.7}._spinIcon_7jyi7_115{animation:_spin_7jyi7_115 1s linear infinite}@keyframes _spin_7jyi7_115{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pill-container{padding:0 12px max(20px,env(safe-area-inset-bottom));background:var(--bg-chat, var(--bg));flex-shrink:0;display:flex;justify-content:center}.input-pill{width:100%;background:var(--bg-surface);border:1px solid var(--border);border-radius:32px;display:flex;flex-direction:column;padding:12px 16px;gap:10px;transition:all .3s cubic-bezier(.4,0,.2,1);box-sizing:border-box;box-shadow:var(--shadow-vibe)}.input-pill:focus-within{border-color:var(--accent)!important;box-shadow:0 0 8px var(--glow-accent)!important}@keyframes pillBorderGlow{0%{border-color:var(--border);box-shadow:none}30%{border-color:var(--accent);box-shadow:0 0 15px var(--glow-accent)}to{border-color:var(--border);box-shadow:none}}.input-pill--glow{animation:pillBorderGlow .8s ease-out forwards}.pill-previews{display:flex;flex-direction:row;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--border-soft);animation:pillPreviewIn .18s cubic-bezier(.4,0,.2,1)}@keyframes pillPreviewIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.pill-preview-item{position:relative;display:inline-flex;align-items:center;flex-shrink:0}.pill-thumb{width:56px;height:56px;object-fit:cover;border-radius:10px;border:1px solid var(--border);display:block;transition:opacity .15s ease}.pill-thumb-spinner{position:absolute;inset:0;border-radius:10px;background:#00000080;display:flex;align-items:center;justify-content:center}.pill-thumb-spinner:after{content:"";width:18px;height:18px;border:2px solid rgba(255,255,255,.2);border-top-color:var(--text);border-radius:50%;animation:pillSpin .7s linear infinite;display:block}.pill-preview-pdf{background:var(--bg-hover);border:1px solid var(--border);border-radius:10px;padding:8px 36px 8px 10px;gap:8px;max-width:200px;color:var(--text-muted)}.pill-pdf-name{font-size:12px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}.pill-upload-spinner{width:12px;height:12px;border:1.5px solid rgba(255,255,255,.2);border-top-color:var(--text);border-radius:50%;animation:pillSpin .7s linear infinite;display:inline-block;flex-shrink:0}.pill-preview-remove{position:absolute;top:-6px;right:-6px;width:18px;height:18px;min-width:18px;border-radius:50%;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;z-index:1;transition:color .15s ease,background .15s ease}.pill-preview-remove:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.pill-preview-remove:disabled{opacity:0;pointer-events:none}.pill-row{display:flex;align-items:flex-end;gap:8px;min-height:40px}.icon-btn{width:40px;height:40px;min-width:40px;flex-shrink:0;border-radius:50%;border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease;touch-action:manipulation;padding:0}.icon-btn--plus{border:1px solid var(--border)}.icon-btn--plus:hover:not(:disabled){background:var(--bg-hover);color:var(--text);border-color:var(--text-dim)}.icon-btn--plus:disabled{opacity:.3;cursor:not-allowed}.pill-input-area{flex:1;min-width:0;display:flex;align-items:flex-end;padding-bottom:8px}.pill-textarea{width:100%;box-sizing:border-box;background:transparent;border:none;outline:none;resize:none;color:var(--text);font-size:16px;font-family:inherit;line-height:1.5;min-height:24px;padding:0;overflow-y:hidden;display:block;transition:height .2s cubic-bezier(.4,0,.2,1)}.pill-textarea::placeholder{color:var(--text-muted);transition:opacity .15s ease}.pill-textarea:not(:placeholder-shown)::placeholder{opacity:0}@keyframes transcriptPopin{0%{color:var(--accent);opacity:.6}40%{color:var(--accent);opacity:1}to{color:var(--text);opacity:1}}.pill-textarea--popin{animation:transcriptPopin .38s ease-out forwards}.pill-textarea--locked{opacity:.5;cursor:not-allowed}.pill-textarea--recording::placeholder{color:var(--danger);opacity:.8;font-style:italic;font-size:inherit;line-height:inherit}.pill-right-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.pill-send-btn{width:40px;height:40px;min-width:40px;flex-shrink:0;border-radius:50%;border:none;background:transparent;color:var(--text-muted);opacity:.3;cursor:not-allowed;display:flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease,opacity .15s ease,box-shadow .2s ease;touch-action:manipulation;padding:0}.pill-send-btn--active{background:var(--text);color:var(--bg);opacity:1;cursor:pointer}.pill-send-btn--active:hover:not(:disabled){opacity:.88}.pill-send-btn--sending{background:var(--text);color:var(--bg);opacity:.7;cursor:not-allowed}.pill-send-icon{transform:translate(2px,-.5px);display:flex}.pill-spinner{animation:pillSpin .9s linear infinite}@keyframes pillSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(min-width:1024px){.pill-container{padding:16px 48px max(28px,env(safe-area-inset-bottom))}.input-pill{max-width:800px;margin:0 auto}.pill-textarea{font-size:15px;min-height:22px}}@media(max-width:499px){.pill-container{padding:8px 10px max(16px,env(safe-area-inset-bottom))}.input-pill{border-radius:28px;padding:10px 12px}.pill-textarea{font-size:16px}.icon-btn,.pill-send-btn{width:36px;height:36px;min-width:36px}}.chat-container{height:100%;display:flex;flex-direction:column;background:var(--bg-chat, var(--bg));overflow:hidden}.chat-header{display:flex;align-items:center;padding:0 16px;min-height:60px;background:var(--bg-surface-80);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--border-soft);position:sticky;top:0;z-index:100;gap:10px;flex-shrink:0;box-shadow:var(--shadow-vibe)}.back-button{background:none;border:none;cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);border-radius:6px;transition:color .15s ease,background .15s ease;min-width:36px;min-height:36px;touch-action:manipulation;flex-shrink:0}.back-button:hover{color:var(--text);background:var(--bg-hover)}.coach-info{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.coach-avatar-wrapper{position:relative;width:36px;height:36px;min-width:36px;border-radius:8px;cursor:pointer;flex-shrink:0;overflow:visible;margin:4px}.coach-avatar{width:36px;height:36px;min-width:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#fff;flex-shrink:0}.coach-avatar-new{border-radius:8px!important;width:36px!important;height:36px!important;min-width:36px!important;overflow:visible!important}.coach-avatar-overlay{position:absolute;inset:0;border-radius:8px;background:#0000008c;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s ease;color:#fff;pointer-events:none}.coach-avatar-wrapper:hover .coach-avatar-overlay{opacity:1}.coach-avatar-spinner{width:12px;height:12px;border:1.5px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}.coach-avatar-wrapper.uploading .coach-avatar-overlay{opacity:1;cursor:not-allowed}.coach-text{display:flex;flex-direction:column;min-width:0}.coach-name{color:var(--text);font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;letter-spacing:-.01em}.coach-status{display:flex;align-items:center;gap:5px;font-size:11px;white-space:nowrap;color:var(--success)}.coach-status:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--success);flex-shrink:0;animation:statusPulse 2s ease-in-out infinite}@keyframes statusPulse{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.messages-container{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:20px 16px;display:flex;flex-direction:column;align-items:center;gap:0;background:transparent;overscroll-behavior:contain}.messages-inner{width:100%;max-width:100%;display:flex;flex-direction:column;gap:8px}.messages-container::-webkit-scrollbar{width:3px}.messages-container::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.message{display:flex;animation:msgIn .2s ease}.message.streaming{animation:none}@keyframes msgIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.message.user{justify-content:flex-end}.message.assistant{justify-content:flex-start}.message-content{max-width:75%;padding:10px 14px;border-radius:12px;font-size:14px;line-height:1.55;word-wrap:break-word;word-break:break-word;display:flex;flex-direction:column;gap:4px}.message.user .message-content{background:var(--accent);color:#fff;border:1px solid var(--bubble-border-user, rgba(0, 0, 0, .1));border-bottom-right-radius:4px;margin-right:4px;transform:translateZ(0)}.message.assistant .message-content{background:var(--bg-surface);color:var(--text);border:1px solid var(--bubble-border-coach, var(--border));border-bottom-left-radius:4px;box-shadow:var(--shadow-card, var(--shadow-vibe))}.message-text{word-wrap:break-word;word-break:break-word}.message-meta{display:flex;align-items:center;gap:4px;justify-content:flex-end;margin-top:2px}.message-time{font-size:11px;color:var(--text-muted)}.status-icon{width:14px;height:14px;flex-shrink:0;color:var(--text-dim)}.status-icon.read{color:var(--accent)}.status-icon.error{color:var(--danger)!important}.message.user .message-time,.message.user .status-icon{color:#ffffffb3}.message.user .status-icon.read{color:#fffffff2}.streaming-cursor{display:inline-block;width:2px;height:14px;background:var(--text-muted);margin-left:2px;vertical-align:middle;border-radius:1px;animation:cursor-blink .55s steps(1) infinite}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}.typing-indicator-bubble{padding:10px 14px!important;min-width:unset!important}.typing-indicator{display:flex;align-items:center;gap:9px}.typing-spinner{color:var(--text-muted);flex-shrink:0;animation:typing-spin .85s linear infinite}@keyframes typing-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.typing-status{font-size:12px;color:var(--text-secondary);letter-spacing:.02em;animation:typing-pulse 2.2s ease-in-out infinite;white-space:nowrap;font-weight:400}@keyframes typing-pulse{0%,to{opacity:1}50%{opacity:.65}}.welcome-message{text-align:center;padding:60px 20px;color:var(--text-muted)}.welcome-message h3{font-size:16px;font-weight:500;margin-bottom:8px;color:var(--text);letter-spacing:-.01em}.welcome-message p{font-size:13px;margin:6px 0;line-height:1.6}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;color:var(--text-muted);font-size:14px}.error-state button{padding:10px 20px;background:var(--bg-surface);border:1px solid var(--border);color:var(--text);border-radius:8px;cursor:pointer;font-family:inherit;font-size:14px;touch-action:manipulation;transition:border-color .15s ease}.error-state button:hover{border-color:var(--text-dim)}.message-error-block{display:flex;align-items:center;gap:6px;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:8px;padding:6px 10px;margin-bottom:4px;flex-wrap:wrap}.message-error-icon{font-size:13px;flex-shrink:0}.message-error-text{font-size:12px;color:var(--danger);flex:1;min-width:0}.message.user .message-error-text{color:var(--danger)}.message-error-retry{font-size:11px;font-weight:500;color:#fff!important;background:var(--danger)!important;border:none!important;border-radius:6px!important;padding:3px 10px!important;cursor:pointer;width:auto!important;height:auto!important;min-width:unset!important;box-shadow:none!important;touch-action:manipulation;transition:opacity .15s ease;font-family:inherit}.message-error-retry:hover{opacity:.85;transform:none}.message-image-loading{width:120px;height:80px;background:var(--bg-hover);border-radius:8px;display:flex;align-items:center;justify-content:center}.img-loading-spinner{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--text-muted);border-radius:50%;animation:spin .8s linear infinite;display:inline-block}.message-image-error{font-size:12px;color:var(--text-muted);padding:8px;background:var(--bg-hover);border-radius:8px}.message-file-preview{margin-bottom:8px}.message-image{max-width:220px;max-height:220px;width:100%;border-radius:8px;display:block;object-fit:cover}.message-file-pdf{display:flex;align-items:center;gap:8px;background:var(--bg-hover);border:1px solid var(--border-soft);border-radius:8px;padding:8px 10px;margin-bottom:4px}.message.user .message-file-pdf{background:var(--glow-white);border-color:var(--elevation-border)}.pdf-icon{font-size:18px;flex-shrink:0}.pdf-name{font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:379px){.coach-name{font-size:13px}.message-content{max-width:85%;font-size:13px}.messages-container{padding:12px;gap:6px}.message-image{max-width:180px;max-height:180px}}@media(min-width:380px)and (max-width:499px){.message-content{max-width:80%}}@media(min-width:500px){.messages-container{padding:24px;gap:10px}.message-content{max-width:65%}}@media(min-width:1024px){.back-button{display:none}.chat-container{height:100vh;border-radius:0}.chat-header{min-height:72px;padding:0 28px;gap:14px}.coach-avatar-wrapper{width:60px;height:60px;min-width:60px;border-radius:14px}.coach-avatar-new{width:60px!important;height:60px!important;min-width:60px!important;border-radius:14px!important}.coach-name{font-size:16px}.coach-status{font-size:12px}.messages-container{padding:32px 0;gap:0;align-items:center}.messages-inner{width:100%;max-width:780px;padding:0 48px;gap:14px;box-sizing:border-box}.message-content{font-size:15px;padding:12px 18px;max-width:72%;border-radius:14px}.message-time{font-size:11px}}@media(min-width:1024px){.coach-avatar-wrapper .coach-avatar-new{animation:none}.coach-avatar-wrapper .avatar:before{inset:-1px!important;filter:blur(6px) saturate(2.5)!important;opacity:var(--glow-opacity)!important;transform:scale(1.05) translateZ(0)!important}}:root{--bg-base: #0a0a0a;--bg-surface: #111111;--bg-elevated: #1a1a1a;--bg-hover: #1e1e1e;--border: #222222;--border-subtle: #1a1a1a;--border-focus: #333333;--text-primary: #ededed;--text-secondary: #888888;--text-muted: #555555;--accent: #5865f2;--accent-hover: #4752c4;--accent-subtle: rgba(88, 101, 242, .1);--accent-border: rgba(88, 101, 242, .25);--green: #3dd68c;--green-subtle: rgba(61, 214, 140, .1);--green-border: rgba(61, 214, 140, .2);--yellow: #f5a623;--yellow-subtle: rgba(245, 166, 35, .1);--yellow-border: rgba(245, 166, 35, .2);--red: #f87171;--red-subtle: rgba(248, 113, 113, .1);--red-border: rgba(248, 113, 113, .2);--blue: #60a5fa;--blue-subtle: rgba(96, 165, 250, .1);--blue-border: rgba(96, 165, 250, .2);--purple: #a78bfa;--purple-subtle: rgba(167, 139, 250, .1);--purple-border: rgba(167, 139, 250, .2);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--font: "Inter", -apple-system, sans-serif}*{box-sizing:border-box}.admin-root{display:flex;position:fixed;inset:0;z-index:9999;overflow:hidden;background:var(--bg-base);font-family:var(--font);color:var(--text-primary);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}.admin-sidebar{width:220px;flex-shrink:0;background:var(--bg-surface);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:200;overflow-y:auto;transition:transform .25s ease}.sidebar-logo{padding:20px 16px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}.sidebar-logo-icon{width:28px;height:28px;background:var(--accent);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.sidebar-logo-text{font-size:13px;font-weight:600;color:var(--text-primary);line-height:1.2}.sidebar-logo-sub{font-size:10px;color:var(--text-muted);font-weight:400}.sidebar-close-btn{display:none;margin-left:auto;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:var(--radius-sm);flex-shrink:0;transition:color .15s}.sidebar-close-btn:hover{color:var(--text-primary)}.sidebar-nav{padding:12px 8px;flex:1}.sidebar-section-label{padding:6px 8px 4px;font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px}.sidebar-item{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:var(--radius-md);cursor:pointer;color:var(--text-secondary);font-size:13.5px;font-weight:450;transition:all .15s ease;border:none;background:none;width:100%;text-align:left;margin-bottom:1px}.sidebar-item:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-item.active{background:var(--accent-subtle);color:var(--text-primary);border:1px solid var(--accent-border)}.sidebar-item-icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:.7}.sidebar-item.active .sidebar-item-icon{opacity:1}.sidebar-badge{margin-left:auto;background:var(--red-subtle);color:var(--red);border:1px solid var(--red-border);border-radius:20px;font-size:10px;font-weight:600;padding:1px 6px}.sidebar-footer{padding:12px 8px;border-top:1px solid var(--border)}.sidebar-user{display:flex;align-items:center;gap:8px;padding:8px;border-radius:var(--radius-md);cursor:pointer;transition:background .15s}.sidebar-user:hover{background:var(--bg-hover)}.sidebar-avatar{width:28px;height:28px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{font-size:12.5px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:10.5px;color:var(--text-muted)}.sidebar-overlay{display:none;position:fixed;inset:0;background:#0009;z-index:150;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.admin-main{flex:1;margin-left:220px;width:calc(100% - 220px);display:flex;flex-direction:column;height:100%;overflow:hidden}.admin-topbar{height:52px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:var(--bg-surface);position:sticky;top:0;z-index:50;flex-shrink:0;gap:12px}.hamburger-btn{display:none;align-items:center;justify-content:center;background:none;border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;padding:6px;border-radius:var(--radius-md);flex-shrink:0;transition:all .15s}.hamburger-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.topbar-title{font-size:14px;font-weight:600;color:var(--text-primary);flex:1}.topbar-actions{display:flex;align-items:center;gap:8px}.topbar-health{display:flex;align-items:center;gap:6px}.topbar-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-secondary);font-size:12.5px;font-weight:500;cursor:pointer;transition:all .15s;font-family:var(--font)}.topbar-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-focus)}.topbar-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.topbar-btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.topbar-btn.danger{color:var(--red);border-color:var(--red-border)}.topbar-btn.danger:hover{background:var(--red-subtle)}.health-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 6px var(--green);animation:pulse-dot 2s ease-in-out infinite}.health-dot.down{background:var(--red);box-shadow:0 0 6px var(--red);animation:none}.health-dot.loading{background:var(--yellow);box-shadow:0 0 6px var(--yellow);animation:none}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.admin-page{flex:1;padding:24px;overflow-y:auto;overflow-x:hidden}.page-header{margin-bottom:24px}.page-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.page-subtitle{font-size:13px;color:var(--text-secondary);margin:0}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:24px}.metric-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 20px;transition:border-color .15s}.metric-card:hover{border-color:var(--border-focus)}.metric-label{font-size:12px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;display:flex;align-items:center;gap:6px}.metric-value{font-size:28px;font-weight:700;color:var(--text-primary);letter-spacing:-.5px;line-height:1;margin-bottom:4px}.metric-sub{font-size:12px;color:var(--text-muted)}.metric-card.accent{border-color:var(--accent-border)}.metric-card.green{border-color:var(--green-border)}.metric-card.yellow{border-color:var(--yellow-border)}.metric-card.purple{border-color:var(--purple-border)}.metric-card.blue{border-color:var(--blue-border)}.metric-card.accent .metric-value{color:var(--accent)}.metric-card.green .metric-value{color:var(--green)}.metric-card.yellow .metric-value{color:var(--yellow)}.metric-card.purple .metric-value{color:var(--purple)}.metric-card.blue .metric-value{color:var(--blue)}.panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:16px}.panel-header{padding:14px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-title{font-size:13.5px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.panel-actions{display:flex;align-items:center;gap:8px}.panel-body{padding:20px}.period-tabs{display:flex;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:2px;gap:2px}.period-tab{padding:5px 12px;border-radius:6px;border:none;background:none;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;font-family:var(--font)}.period-tab:hover{color:var(--text-primary)}.period-tab.active{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border);box-shadow:0 1px 3px #0000004d}.token-models{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.token-model-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px;transition:border-color .15s}.token-model-card:hover{border-color:var(--border-focus)}.token-model-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.token-model-name{font-size:13px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.model-badge{font-size:10px;font-weight:600;padding:2px 7px;border-radius:20px}.model-badge.openai{background:var(--green-subtle);color:var(--green);border:1px solid var(--green-border)}.model-badge.anthropic{background:var(--purple-subtle);color:var(--purple);border:1px solid var(--purple-border)}.token-model-cost{font-size:22px;font-weight:700;color:var(--text-primary);letter-spacing:-.5px;margin-bottom:12px}.token-model-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.token-stat-item{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:8px 10px}.token-stat-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:3px}.token-stat-value{font-size:13px;font-weight:600;color:var(--text-secondary)}.trend-chart{display:flex;align-items:flex-end;gap:6px;height:80px;padding:8px 0}.trend-bar-wrap{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%}.trend-bar-outer{flex:1;width:100%;display:flex;align-items:flex-end;background:var(--bg-elevated);border-radius:4px 4px 0 0;overflow:hidden}.trend-bar{width:100%;border-radius:3px 3px 0 0;min-height:2px;transition:height .4s ease}.trend-bar.gpt{background:var(--green)}.trend-bar.haiku{background:var(--purple)}.trend-bar.combined{background:var(--accent)}.trend-label{font-size:9px;color:var(--text-muted);white-space:nowrap}.log-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.log-filter-btn{padding:5px 12px;border-radius:20px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;font-family:var(--font)}.log-filter-btn:hover{color:var(--text-primary);border-color:var(--border-focus)}.log-filter-btn.active.all{background:var(--accent-subtle);color:var(--accent);border-color:var(--accent-border)}.log-filter-btn.active.info{background:var(--blue-subtle);color:var(--blue);border-color:var(--blue-border)}.log-filter-btn.active.warn{background:var(--yellow-subtle);color:var(--yellow);border-color:var(--yellow-border)}.log-filter-btn.active.error{background:var(--red-subtle);color:var(--red);border-color:var(--red-border)}.log-console{background:#0d0d0d;border:1px solid var(--border);border-radius:var(--radius-lg);font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:12px;overflow:hidden}.log-console-header{padding:10px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;background:var(--bg-surface)}.log-console-dots{display:flex;gap:6px}.log-dot{width:10px;height:10px;border-radius:50%}.log-dot.red{background:#ff5f57}.log-dot.yellow{background:#ffbd2e}.log-dot.green{background:#28c840}.log-console-title{font-size:11px;color:var(--text-muted);font-family:var(--font)}.log-console-body{height:400px;overflow-y:auto;padding:8px 0}.log-console-body::-webkit-scrollbar{width:4px}.log-console-body::-webkit-scrollbar-track{background:transparent}.log-console-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.log-entry{display:grid;grid-template-columns:140px 42px 90px 1fr;gap:10px;padding:5px 16px;align-items:start;border-bottom:1px solid rgba(255,255,255,.02);transition:background .1s}.log-entry:hover{background:#ffffff05}.log-ts{color:var(--text-muted);font-size:11px;padding-top:1px;white-space:nowrap}.log-level{font-size:10px;font-weight:700;padding:2px 0;text-align:center;border-radius:3px;letter-spacing:.3px}.log-level.info{color:var(--blue)}.log-level.warn{color:var(--yellow)}.log-level.error{color:var(--red);background:var(--red-subtle);padding:2px 4px}.log-source{color:var(--text-muted);font-size:11px;padding-top:1px}.log-message{color:var(--text-secondary);font-size:11.5px;word-break:break-word;line-height:1.5}.log-message .log-endpoint{color:var(--green)}.log-message .log-status-2xx{color:var(--green);font-weight:600}.log-message .log-status-4xx{color:var(--yellow);font-weight:600}.log-message .log-status-5xx{color:var(--red);font-weight:600}.log-message .log-duration{color:var(--text-muted)}.log-empty{padding:48px 20px;text-align:center;color:var(--text-muted);font-family:var(--font);font-size:13px}.auto-refresh{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--text-muted)}.refresh-ring{width:12px;height:12px;border:1.5px solid var(--border);border-top-color:var(--green);border-radius:50%;animation:spin 2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.data-table{width:100%;border-collapse:collapse}.data-table th{padding:10px 14px;text-align:left;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;border-bottom:1px solid var(--border);background:var(--bg-elevated)}.data-table td{padding:11px 14px;border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);font-size:13px;vertical-align:middle}.data-table tbody tr{transition:background .1s}.data-table tbody tr:hover{background:var(--bg-hover)}.data-table tbody tr:last-child td{border-bottom:none}.user-cell{display:flex;align-items:center;gap:10px}.user-avatar-sm{width:28px;height:28px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0}.user-cell-name{font-size:13px;font-weight:500;color:var(--text-primary)}.user-cell-email{font-size:11.5px;color:var(--text-muted)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.2px}.badge.admin{background:var(--purple-subtle);color:var(--purple);border:1px solid var(--purple-border)}.badge.user{background:var(--accent-subtle);color:var(--accent);border:1px solid var(--accent-border)}.badge.google{background:var(--blue-subtle);color:var(--blue);border:1px solid var(--blue-border)}.badge.email{background:var(--bg-elevated);color:var(--text-muted);border:1px solid var(--border)}.action-btn{padding:5px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;font-family:var(--font);margin-right:4px}.action-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-focus)}.action-btn.promote{color:var(--green);border-color:var(--green-border)}.action-btn.promote:hover{background:var(--green-subtle)}.action-btn.demote{color:var(--yellow);border-color:var(--yellow-border)}.action-btn.demote:hover{background:var(--yellow-subtle)}.action-btn.delete{color:var(--red);border-color:var(--red-border)}.action-btn.delete:hover{background:var(--red-subtle)}.health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.health-item{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 16px;display:flex;align-items:center;gap:12px}.health-status-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.health-status-icon.ok{background:var(--green-subtle)}.health-status-icon.error{background:var(--red-subtle)}.health-status-icon.check{background:var(--yellow-subtle)}.health-item-name{font-size:13px;font-weight:500;color:var(--text-primary)}.health-item-status{font-size:11.5px;color:var(--text-muted)}.loading-state{display:flex;align-items:center;justify-content:center;padding:60px 20px;gap:10px;color:var(--text-muted);font-size:13px}.loading-spinner{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.empty-state{text-align:center;padding:48px 20px;color:var(--text-muted);font-size:13px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.three-col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.admin-root ::-webkit-scrollbar{width:4px;height:4px}.admin-root ::-webkit-scrollbar-track{background:transparent}.admin-root ::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.logs-page-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px}.logs-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}@media(max-width:900px){.admin-sidebar{transform:translate(-100%);width:260px;box-shadow:4px 0 24px #00000080}.admin-sidebar.sidebar-open{transform:translate(0)}.sidebar-close-btn{display:flex}.sidebar-overlay{display:block}.hamburger-btn{display:flex}.admin-main{margin-left:0;width:100%}.two-col,.three-col,.token-models{grid-template-columns:1fr}.log-entry{grid-template-columns:50px 1fr;gap:6px}.log-ts,.log-source{display:none}.metrics-grid{grid-template-columns:repeat(2,1fr)}.admin-page{padding:16px}.admin-topbar{padding:0 16px}}@media(max-width:480px){.admin-topbar{padding:0 12px;gap:8px}.topbar-health,.btn-label{display:none}.topbar-btn-home,.topbar-btn.danger{padding:6px 8px}.metrics-grid{grid-template-columns:1fr}.metric-card{padding:14px 16px}.metric-value{font-size:24px}.admin-page{padding:12px}.page-title{font-size:16px}.log-console-body{height:280px}.log-entry{grid-template-columns:1fr;gap:2px;padding:6px 12px}.log-level{display:inline-block;width:auto}.logs-page-header{flex-direction:column}.logs-actions{width:100%;justify-content:flex-start}.data-table th,.data-table td{padding:8px 10px;font-size:12px}.panel-header{padding:12px 16px;flex-wrap:wrap;gap:8px}.panel-body{padding:14px}.period-tabs{width:100%;justify-content:stretch}.period-tab{flex:1;text-align:center}}html,body,#root{height:100%;width:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg);overflow:hidden;position:static;width:100%;height:100%}.app-wrapper{width:100%;height:100dvh;display:flex;justify-content:center;align-items:center;background:var(--bg)}.app-wrapper>div{width:100%;height:100%;position:relative;overflow:visible}@media(max-width:499px){.app-wrapper{align-items:flex-start;padding:0}.app-wrapper>div{width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0;box-shadow:none}}@media(min-width:500px)and (max-width:1023px){.app-wrapper{padding:0;align-items:center;justify-content:center}.app-wrapper>div{width:500px;max-width:500px;height:100dvh;max-height:100dvh;border-radius:0;box-shadow:0 0 60px #0009}}.desktop-layout{display:grid;grid-template-columns:500px 1fr;grid-template-rows:100vh;width:100vw;height:100vh;background:var(--bg);overflow:hidden;position:fixed;top:0;left:0}.desktop-sidebar{width:500px;height:100vh;overflow:visible;border-right:1px solid var(--border);display:flex;flex-direction:column;background:var(--bg-surface);box-shadow:var(--shadow-vibe)}.desktop-main{height:100vh;overflow:hidden;display:flex;flex-direction:column;background:var(--bg-chat, var(--bg));min-width:0}.desktop-empty{flex:1;display:flex;align-items:center;justify-content:center;height:100%}.desktop-empty-content{display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--text)}.desktop-empty-content svg{width:56px;height:56px;color:var(--text-muted)}.desktop-empty-content h2{font-size:22px;font-weight:600;color:var(--text-secondary)}.desktop-empty-content p{font-size:14px;color:var(--text-secondary)}.desktop-sidebar .sidebar-footer{height:60px!important;min-height:60px!important;max-height:60px!important;box-sizing:border-box!important;flex-shrink:0!important}
