*{box-sizing:border-box}:root{color-scheme:light;font-family:Inter,SF Pro Text,-apple-system,BlinkMacSystemFont,Arial,sans-serif;--clr-bg: #F5F5F7;--clr-bg-panel: #FFFFFF;--clr-bg-card: #FFFFFF;--clr-bg-card-alt: #FAFAFA;--clr-bg-hover: #F0F0F2;--clr-bg-nav: #FBFBFD;--clr-bg-overlay: rgba(255, 255, 255, .8);--clr-border: rgba(0, 0, 0, .06);--clr-border-md: rgba(0, 0, 0, .1);--clr-accent: #0071E3;--clr-accent-hover:#0077ED;--clr-accent-lg: rgba(0, 113, 227, .08);--clr-accent-border: rgba(0, 113, 227, .15);--clr-text-1: #1D1D1F;--clr-text-2: #6E6E73;--clr-text-3: #86868B;--clr-shadow: rgba(0, 0, 0, .06);--clr-shadow-lg: rgba(0, 0, 0, .12);--clr-danger: #DC2626;--clr-danger-bg: rgba(220, 38, 38, .06);--clr-danger-border: rgba(220, 38, 38, .15);--clr-success: #16A34A;--clr-user-bubble: var(--clr-accent);--clr-user-text: #FFFFFF;--clr-modal-overlay: rgba(0, 0, 0, .3);--clr-avatar-bg: linear-gradient(135deg, var(--clr-accent) 0%, #0055AA 100%)}[data-theme=dark]{color-scheme:dark;--clr-bg: #1A1A2E;--clr-bg-panel: #16162A;--clr-bg-card: #1E1E36;--clr-bg-card-alt: #1A1A30;--clr-bg-hover: #262644;--clr-bg-nav: #131326;--clr-bg-overlay: rgba(22, 22, 42, .85);--clr-border: rgba(255, 255, 255, .06);--clr-border-md: rgba(255, 255, 255, .1);--clr-accent: #5E9EFF;--clr-accent-hover:#70AAFF;--clr-accent-lg: rgba(94, 158, 255, .1);--clr-accent-border: rgba(94, 158, 255, .2);--clr-text-1: #E8E8F0;--clr-text-2: #9898B0;--clr-text-3: #6E6E88;--clr-shadow: rgba(0, 0, 0, .3);--clr-shadow-lg: rgba(0, 0, 0, .5);--clr-danger: #F87171;--clr-danger-bg: rgba(248, 113, 113, .1);--clr-danger-border: rgba(248, 113, 113, .2);--clr-success: #6EE7A0;--clr-user-bubble: #5E9EFF;--clr-user-text: #FFFFFF;--clr-modal-overlay: rgba(0, 0, 0, .6);--clr-avatar-bg: linear-gradient(135deg, #5E9EFF 0%, #3B7AE0 100%)}body{margin:0;min-height:100vh;background:var(--clr-bg);color:var(--clr-text-1)}*,*:before,*:after{transition-property:background-color,border-color,color,box-shadow;transition-duration:0s}body.theme-transitioning *,body.theme-transitioning *:before,body.theme-transitioning *:after{transition-duration:.25s}button,textarea,select,input{font:inherit}.app-shell{height:100vh;height:100dvh;display:grid;grid-template-columns:64px 280px 1fr;overflow:hidden}.nav-rail{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 0;background:var(--clr-bg-nav);border-right:1px solid var(--clr-border);height:100vh;height:100dvh;overflow-y:auto;-webkit-overflow-scrolling:touch}.nav-brand{color:var(--clr-accent);padding:10px;margin-bottom:8px}.nav-items{display:flex;flex-direction:column;gap:4px;width:100%;padding:0 8px}.nav-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 0;min-height:48px;width:100%;border:none;border-radius:10px;background:transparent;color:var(--clr-text-3);cursor:pointer;transition:background .15s,color .15s;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;-webkit-tap-highlight-color:transparent;touch-action:manipulation;position:relative;z-index:1}.nav-btn span{font-size:9px}.nav-btn:hover{background:#0000000a;color:var(--clr-text-2)}.nav-btn:active{background:var(--clr-bg-hover);transform:scale(.95)}.nav-btn.active{background:var(--clr-accent-lg);color:var(--clr-accent)}.nav-btn.active:active{background:var(--clr-accent-lg)}.sidebar{border-right:1px solid var(--clr-border);background:var(--clr-bg-panel);display:flex;flex-direction:column;overflow:hidden;height:100vh}.sidebar-section{display:none;flex-direction:column;flex:1;overflow:hidden;padding:20px 14px;gap:16px}.sidebar-section.active{display:flex}.section-top{display:flex;align-items:center;justify-content:space-between}.section-title{margin:0;font-size:13px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--clr-text-2)}.icon-button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:8px;background:var(--clr-accent-lg);color:var(--clr-accent);cursor:pointer;transition:background .15s;flex-shrink:0;border:1px solid rgba(0,113,227,.15)}.icon-button:hover{background:#0071e324}.conversation-list{display:flex;flex-direction:column;gap:6px;overflow-y:auto;flex:1;min-height:0}.conversation-empty{padding:20px;border:1px dashed var(--clr-border-md);border-radius:12px;line-height:1.5;color:var(--clr-text-3);font-size:13px}.conversation-item{width:100%;text-align:left;padding:11px 13px;border:1px solid transparent;border-radius:10px;background:transparent;color:inherit;display:grid;gap:3px;cursor:pointer;transition:background .12s,border-color .12s}.conversation-item:hover{border-color:var(--clr-border-md);background:var(--clr-bg-hover)}.conversation-item.active{border-color:#0071e333;background:var(--clr-accent-lg)}.conversation-title{font-weight:600;font-size:13px;color:var(--clr-text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-model{font-size:11px;color:var(--clr-text-3);font-weight:500;letter-spacing:.02em}.conversation-preview{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;color:var(--clr-text-3)}.conversation-time{font-size:11px;color:var(--clr-text-3)}.settings-block{display:grid;gap:8px}.settings-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--clr-text-3)}.settings-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.theme-switcher{display:flex;gap:6px}.theme-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border:1px solid var(--clr-border-md);border-radius:10px;background:var(--clr-bg-card);color:var(--clr-text-2);font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.theme-btn:hover{background:var(--clr-bg-hover);color:var(--clr-text-1)}.theme-btn.active{background:var(--clr-accent-lg);border-color:var(--clr-accent-border);color:var(--clr-accent)}.settings-select{width:100%;border-radius:8px;border:1px solid var(--clr-border-md);padding:9px 12px;color:var(--clr-text-1);background:var(--clr-bg-card);transition:border-color .15s}.settings-select:focus{outline:none;border-color:#0071e366}.settings-link{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;background:var(--clr-bg-card);border:1px solid var(--clr-border-md);color:var(--clr-text-2);text-decoration:none;font-size:13px;transition:background .15s,color .15s,border-color .15s}.settings-link:hover{background:var(--clr-bg-hover);color:var(--clr-text-1);border-color:#0071e333}.upload-area{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px dashed rgba(0,113,227,.3);border-radius:8px;background:var(--clr-accent-lg);color:var(--clr-accent);font-size:13px;cursor:pointer;transition:background .15s,border-color .15s}.upload-area:hover{background:#0071e31a;border-color:#0071e380}.kb-status{font-size:11px}.kb-status-ok{color:var(--clr-success)}.kb-status-err{color:var(--clr-danger)}.kb-file-list{display:grid;gap:5px;max-height:220px;overflow-y:auto}.kb-file-item{padding:9px 11px;border-radius:8px;background:var(--clr-bg-card);border:1px solid var(--clr-border);display:grid;gap:3px}.kb-file-failed{border-color:#c8505033}.kb-file-name{font-size:12px;font-weight:600;color:var(--clr-text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kb-file-meta{font-size:11px;color:var(--clr-text-3)}.kb-file-error{font-size:11px;color:#e07a7a}.kb-empty{margin:0;font-size:12px;color:var(--clr-text-3)}.kb-file-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.kb-file-info{min-width:0;display:grid;gap:3px}.kb-file-delete-btn{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--clr-text-3);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.kb-file-delete-btn:hover{background:#c83c3c1a;color:#e07a7a;border-color:#c83c3c33}.kb-file-delete-btn:disabled{opacity:.4;cursor:wait}.kb-delete-btn{display:flex;align-items:center;gap:6px;flex-shrink:0;align-self:flex-start;padding:6px 12px;border:1px solid rgba(200,60,60,.2);border-radius:10px;background:#c83c3c14;color:#e07a7a;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.kb-delete-btn:hover{background:#c83c3c2e;border-color:#c83c3c59}.profile-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 16px;border-radius:12px;background:var(--clr-bg-card);border:1px solid var(--clr-border-md);text-align:center}.profile-avatar{width:72px;height:72px;border-radius:50%;object-fit:cover;border:2px solid rgba(0,113,227,.2);box-shadow:0 0 0 3px #0071e30f}.profile-avatar-initials{display:flex;align-items:center;justify-content:center;background:var(--clr-avatar-bg);font-size:26px;font-weight:700;color:var(--clr-user-text)}.profile-name{font-size:15px;font-weight:700;color:var(--clr-text-1)}.profile-email{font-size:12px;color:var(--clr-text-3)}.profile-role-badge{font-size:10px;font-weight:700;letter-spacing:.08em;padding:3px 10px;border-radius:999px}.profile-role-admin{background:#b4821e1a;color:#92650a;border:1px solid rgba(180,130,30,.25)}.profile-role-user{background:var(--clr-accent-lg);color:var(--clr-accent);border:1px solid rgba(0,113,227,.15)}.danger-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 16px;border-radius:8px;background:transparent;color:var(--clr-text-2);border:1px solid var(--clr-border-md);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.danger-button:hover{background:#b432321a;color:#e07a7a;border-color:#b4323240}.dashboard-panel{display:flex;flex-direction:column;height:100vh;overflow-y:auto}.dashboard-top-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 28px;flex-shrink:0}.dashboard-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 32px 48px;gap:40px}.dashboard-hero{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.dashboard-logo{width:72px;height:72px;border-radius:20px;background:linear-gradient(135deg,#0071e31a,#0071e30a);border:1px solid rgba(0,113,227,.15);display:flex;align-items:center;justify-content:center;color:var(--clr-accent);margin-bottom:4px}.dashboard-greeting{margin:0;font-size:26px;font-weight:800;color:var(--clr-text-1);letter-spacing:-.02em}.dashboard-subtitle{margin:0;font-size:14px;color:var(--clr-text-3);max-width:360px;line-height:1.5}.dashboard-actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;max-width:640px}.dashboard-card{display:flex;align-items:center;gap:14px;padding:16px 20px;min-width:240px;border-radius:16px;background:var(--clr-bg-card);border:1px solid var(--clr-border-md);color:inherit;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,transform .1s,box-shadow .15s;text-align:left;font:inherit}.dashboard-card:hover{background:var(--clr-bg-hover);border-color:#0071e333;transform:translateY(-2px);box-shadow:0 4px 16px #0000000f}.dashboard-card-icon{width:44px;height:44px;border-radius:12px;background:var(--clr-accent-lg);border:1px solid rgba(0,113,227,.12);display:flex;align-items:center;justify-content:center;color:var(--clr-accent);flex-shrink:0}.dashboard-card-icon-admin{background:#b4821e1a;border-color:#b4821e33;color:#c9a84c}.dashboard-card-text{display:flex;flex-direction:column;gap:2px;min-width:0}.dashboard-card-title{font-size:14px;font-weight:700;color:var(--clr-text-1)}.dashboard-card-desc{font-size:12px;color:var(--clr-text-3)}.dashboard-widgets{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:14px;width:100%;max-width:760px}.dash-widget{padding:16px;border-radius:16px;display:flex;flex-direction:column;gap:10px;border:1px solid;transition:transform .15s,box-shadow .15s}.dash-widget:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000014}.dash-widget-blue{background:linear-gradient(135deg,#3864b426,#3864b40d);border-color:#3864b433}.dash-widget-emerald{background:linear-gradient(135deg,#22a06426,#22a0640d);border-color:#22a06433}.dash-widget-amber{background:linear-gradient(135deg,#c8961e26,#c8961e0d);border-color:#c8961e33}.dash-widget-rose{background:linear-gradient(135deg,#c8467826,#c846780d);border-color:#c8467833}.dash-widget-purple{background:linear-gradient(135deg,#8250c826,#8250c80d);border-color:#8250c833}.dash-widget-header{display:flex;align-items:center;gap:8px}.dash-widget-icon{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dash-widget-blue .dash-widget-icon{background:#3864b433;color:#6ea4e8}.dash-widget-emerald .dash-widget-icon{background:#22a06433;color:#5ed4a0}.dash-widget-amber .dash-widget-icon{background:#c8961e33;color:#d4b44e}.dash-widget-rose .dash-widget-icon{background:#c8467833;color:#e87aae}.dash-widget-purple .dash-widget-icon{background:#8250c833;color:#b488e8}.dash-widget-label{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--clr-text-3)}.dash-widget-value{font-size:28px;font-weight:800;color:var(--clr-text-1);letter-spacing:-.03em;line-height:1}.dash-widget-bar{height:6px;border-radius:3px;background:#ffffff0f;overflow:hidden}.dash-widget-bar-fill{height:100%;border-radius:3px;width:0;transition:width .8s cubic-bezier(.22,1,.36,1)}.dash-bar-blue{background:linear-gradient(90deg,#3864b4,#6ea4e8)}.dash-bar-emerald{background:linear-gradient(90deg,#22a064,#5ed4a0)}.dash-bar-amber{background:linear-gradient(90deg,#c8961e,#e8c84e)}.dash-bar-rose{background:linear-gradient(90deg,#c8467a,#e87aae)}.dash-widget-sparkline{display:flex;align-items:flex-end;gap:4px;height:48px;padding-top:4px}.spark-bar{flex:1;border-radius:3px 3px 1px 1px;background:linear-gradient(180deg,#b488e8,#8250c84d);min-height:4px;transition:height .6s cubic-bezier(.22,1,.36,1)}.back-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:8px;background:transparent;color:var(--clr-text-3);cursor:pointer;transition:background .15s,color .15s;flex-shrink:0}.back-btn:hover{background:var(--clr-accent-lg);color:var(--clr-accent)}.chat-header-title{display:flex;align-items:center;gap:8px;min-width:0}.chat-panel{display:grid;grid-template-rows:auto 1fr auto;height:100vh;overflow:hidden}.chat-panel[hidden],.dashboard-panel[hidden]{display:none}.chat-header{padding:12px 28px 0;border-bottom:1px solid var(--clr-border);background:var(--clr-bg-overlay);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;flex-direction:column;gap:0}.chat-header-content{display:flex;align-items:center;justify-content:space-between;gap:16px}.chat-header-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.header-logout-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border:none;border-radius:8px;background:transparent;color:var(--clr-text-3);font-size:12px;font-weight:500;cursor:pointer;transition:background .15s,color .15s;border:1px solid transparent;white-space:nowrap}.header-logout-btn:hover{background:#b4323214;color:#e07a7a;border-color:#b432322e}.chat-header h2{margin:0;font-size:15px;font-weight:700;color:var(--clr-text-1)}.chat-header p{margin:3px 0 0;font-size:12px;color:var(--clr-text-3)}.active-model-badge{font-size:11px;font-weight:600;letter-spacing:.04em;padding:4px 11px;border-radius:999px;background:var(--clr-accent-lg);color:var(--clr-accent);border:1px solid rgba(0,113,227,.15);white-space:nowrap;flex-shrink:0}.agent-list{display:flex;flex-direction:column;gap:6px;overflow-y:auto;flex:1;min-height:0}.agent-item{width:100%;text-align:left;padding:11px 13px;border:1px solid transparent;border-radius:10px;background:transparent;color:inherit;display:grid;gap:3px;cursor:pointer;font:inherit;transition:background .12s,border-color .12s}.agent-item:hover{border-color:var(--clr-border-md);background:var(--clr-bg-hover)}.agent-item.active{border-color:#c846784d;background:var(--clr-bg-card)}.agent-item-top{display:flex;align-items:center;justify-content:space-between;gap:6px}.agent-item-name{font-weight:600;font-size:13px;color:var(--clr-text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-item-edit{color:var(--clr-text-3);opacity:0;transition:opacity .15s,color .15s;flex-shrink:0}.agent-item:hover .agent-item-edit{opacity:1}.agent-item-edit:hover{color:var(--clr-accent)}.agent-item-goal{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;color:var(--clr-text-3)}.agent-item-meta{font-size:11px;color:var(--clr-text-3)}.agent-editor{display:flex;flex-direction:column;gap:10px;flex:1;overflow-y:auto;min-height:0}.agent-input,.agent-textarea{width:100%;border-radius:8px;border:1px solid var(--clr-border-md);padding:9px 12px;color:var(--clr-text-1);background:var(--clr-bg-card);font:inherit;font-size:13px;transition:border-color .15s}.agent-input:focus,.agent-textarea:focus{outline:none;border-color:#0071e366}.agent-textarea{resize:vertical;min-height:60px}.agent-triggers-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--clr-text-3)}.agent-triggers{display:flex;flex-direction:column;gap:6px}.trigger-row{display:grid;grid-template-columns:1fr 1fr auto;gap:6px;align-items:center}.trigger-phrase,.trigger-reaction{width:100%;border-radius:6px;border:1px solid var(--clr-border-md);padding:7px 10px;color:var(--clr-text-1);background:var(--clr-bg-card);font:inherit;font-size:12px}.trigger-phrase:focus,.trigger-reaction:focus{outline:none;border-color:#0071e366}.trigger-remove{width:24px;height:24px;border:none;border-radius:6px;background:transparent;color:var(--clr-text-3);cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.trigger-remove:hover{background:#c83c3c1a;color:#e07a7a}.agent-add-trigger{display:flex;align-items:center;gap:4px;padding:6px 10px;border:1px dashed var(--clr-border-md);border-radius:8px;background:transparent;color:var(--clr-text-3);font:inherit;font-size:12px;cursor:pointer;transition:border-color .15s,color .15s}.agent-add-trigger:hover{border-color:#0071e34d;color:var(--clr-accent)}.agent-editor-actions{display:flex;gap:8px;padding-top:4px}.agent-save-btn{flex:1;padding:9px 16px;border:none;border-radius:10px;background:var(--clr-accent);color:#fff;font:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s}.agent-save-btn:hover{background:var(--clr-accent-hover)}.agent-delete-btn{padding:9px 14px;border:1px solid rgba(200,60,60,.2);border-radius:10px;background:#c83c3c14;color:#e07a7a;font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.agent-delete-btn:hover{background:#c83c3c2e}.agent-cancel-btn{padding:9px 14px;border:1px solid var(--clr-border-md);border-radius:10px;background:var(--clr-bg-card);color:var(--clr-text-2);font:inherit;font-size:13px;cursor:pointer;transition:background .15s}.agent-cancel-btn:hover{background:var(--clr-bg-hover)}.chat-toolbar{display:flex;align-items:flex-end;gap:14px;padding:8px 0 10px;flex-wrap:wrap}.toolbar-group{display:flex;flex-direction:column;gap:3px;min-width:0}.toolbar-label{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--clr-text-3);padding-left:2px}.toolbar-select{padding:5px 10px;border-radius:8px;border:1px solid var(--clr-border-md);background:var(--clr-bg-card);color:var(--clr-text-1);font-size:12px;font-weight:500;cursor:pointer;transition:border-color .15s;max-width:200px}.toolbar-select:focus{outline:none;border-color:#0071e366}.toolbar-select:disabled{opacity:.5;cursor:not-allowed}.messages{padding:24px 28px;overflow-y:auto;display:flex;flex-direction:column;gap:14px;min-height:0}.message{display:flex}.message.user{justify-content:flex-end}.bubble{max-width:min(760px,100%);padding:12px 16px;border-radius:16px;display:grid;gap:7px;box-shadow:0 1px 3px var(--clr-shadow)}.message.assistant .bubble{background:var(--clr-bg-card);border:1px solid var(--clr-border-md)}.message.user .bubble{background:var(--clr-user-bubble);border:1px solid transparent;color:var(--clr-user-text)}.bubble-text{white-space:pre-wrap;line-height:1.6;font-size:14px;color:var(--clr-text-1)}.message.user .bubble-text{color:var(--clr-user-text)}.streaming-cursor{display:inline-block;width:2px;height:1.1em;background:var(--clr-accent);margin-left:2px;vertical-align:text-bottom;border-radius:1px;animation:cursor-blink .65s step-end infinite}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}.bubble-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.bubble-meta{font-size:10px;color:var(--clr-text-3);letter-spacing:.03em}.message.user .bubble-meta{color:#ffffffa6}.bubble-tokens{display:flex;align-items:center;gap:7px;flex-shrink:0}.bubble-token-detail{font-size:10px;color:var(--clr-text-3);letter-spacing:.02em}.bubble-token-total{font-size:10px;font-weight:600;color:var(--clr-accent);background:var(--clr-accent-lg);border-radius:4px;padding:1px 6px}.bubble-token-session{font-size:10px;color:var(--clr-text-3)}.chat-form{padding:10px 28px 14px;border-top:1px solid var(--clr-border);display:grid;gap:8px;background:var(--clr-bg-overlay);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}#message-input{width:100%;min-height:56px;max-height:120px;resize:none;border-radius:12px;border:1px solid var(--clr-border-md);padding:10px 14px;color:var(--clr-text-1);background:var(--clr-bg-card);transition:border-color .15s;font-size:13px}#message-input:focus{outline:none;border-color:#0071e366;box-shadow:0 0 0 3px #0071e314}.chat-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.chat-meta{display:grid;gap:3px}.status{font-size:12px;color:var(--clr-text-3);margin:0}.usage-summary{font-size:11px;color:var(--clr-text-3);margin:0}#submit-button{border:none;border-radius:10px;padding:10px 22px;background:var(--clr-accent);color:var(--clr-user-text);font-weight:700;font-size:13px;letter-spacing:.03em;cursor:pointer;transition:background .15s,transform .1s,box-shadow .15s;white-space:nowrap;box-shadow:0 2px 8px var(--clr-shadow)}#submit-button:hover:not(:disabled){background:var(--clr-accent-hover);transform:translateY(-1px);box-shadow:0 4px 14px var(--clr-shadow-lg)}#submit-button:disabled{opacity:.5;cursor:wait;box-shadow:none}.empty-state{margin:auto;max-width:380px;text-align:center;padding:32px 24px;border:1px solid var(--clr-border-md);border-radius:16px;background:var(--clr-bg-card)}.empty-state h3{margin:0 0 8px;color:var(--clr-text-1);font-size:16px}.empty-state p{margin:0;color:var(--clr-text-3);font-size:14px;line-height:1.5}.app-loading{min-height:100vh;display:flex;align-items:center;justify-content:center}.app-loading-spinner{width:36px;height:36px;border:3px solid rgba(148,163,184,.2);border-top-color:#3b82f6;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.link-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.secondary-button{border:none;border-radius:8px;padding:9px 14px;cursor:pointer;background:var(--clr-bg-card);color:var(--clr-text-2);border:1px solid var(--clr-border-md);font-size:13px;transition:background .12s,color .12s,border-color .12s}.secondary-button:hover{background:var(--clr-bg-hover);color:var(--clr-text-1);border-color:#4b72c040}.admin-page{min-height:100vh;padding:0;display:grid;grid-template-rows:auto auto 1fr}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 32px;border-bottom:1px solid var(--clr-border);background:var(--clr-bg-overlay);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);flex-wrap:wrap}.admin-header h1{margin:0;font-size:22px}.admin-header-sub{margin:4px 0 0;font-size:13px;color:var(--clr-text-2)}.admin-header-right{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.admin-status{padding:10px 32px;font-size:14px}.admin-status-ok{color:var(--clr-success)}.admin-status-error{color:var(--clr-danger)}.admin-empty{padding:32px;color:var(--clr-text-2);text-align:center}.admin-user-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;padding:16px 32px 32px;align-content:start}.admin-user-card{border:1px solid var(--clr-border-md);border-radius:20px;background:var(--clr-bg-panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:20px;display:flex;gap:16px;align-items:flex-start;transition:border-color .15s}.admin-user-card:hover{border-color:#0071e340}.admin-user-avatar-wrap{position:relative;flex-shrink:0}.admin-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;background:var(--clr-bg-card);display:flex;align-items:center;justify-content:center}.admin-avatar-initials{font-size:22px;font-weight:700;color:var(--clr-text-1);background:var(--clr-accent)}.admin-avatar-upload-btn{position:absolute;bottom:-2px;right:-2px;width:24px;height:24px;background:var(--clr-bg-card);border:1px solid var(--clr-border-md);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--clr-text-2);transition:background .15s,color .15s}.admin-avatar-upload-btn:hover{background:var(--clr-bg-hover);color:var(--clr-text-1)}.admin-avatar-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.admin-user-info{flex:1;min-width:0;display:grid;gap:3px}.admin-user-name{font-weight:700;color:var(--clr-text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-username,.admin-user-email,.admin-user-meta,.admin-user-you{font-size:13px;color:var(--clr-text-2)}.admin-user-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-end;flex-shrink:0}.admin-role-badge{font-size:11px;font-weight:700;letter-spacing:.05em;padding:3px 10px;border-radius:999px}.admin-role-admin{background:#f59e0b1a;color:#b45309;border:1px solid rgba(245,158,11,.3)}.admin-role-user{background:#0071e314;color:var(--clr-accent);border:1px solid rgba(0,113,227,.2)}.admin-action-btn{border:none;border-radius:10px;padding:6px 12px;font:inherit;font-size:12px;cursor:pointer;transition:opacity .15s,transform .15s}.admin-action-btn:hover{opacity:.85;transform:translateY(-1px)}.admin-role-toggle{background:var(--clr-bg-card);color:var(--clr-text-1);border:1px solid var(--clr-border-md)}.admin-delete{background:#ef444426;color:#fca5a5;border:1px solid rgba(239,68,68,.3)}.admin-delete:hover{background:#ef444440}.phone-modal-backdrop{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--clr-bg)}.phone-modal{width:100%;max-width:400px;display:flex;flex-direction:column;align-items:center;gap:12px;background:var(--clr-bg-card);border:1px solid var(--clr-border-md);border-radius:28px;padding:40px 32px 32px;box-shadow:0 8px 32px var(--clr-shadow-lg);text-align:center}.phone-modal-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--clr-accent-lg);color:var(--clr-accent);border:1px solid var(--clr-accent-border);margin-bottom:4px}.phone-modal-title{margin:0;font-size:20px;font-weight:700;color:var(--clr-text-1)}.phone-modal-sub{margin:0;font-size:14px;color:var(--clr-text-2);max-width:280px}.phone-modal-form{width:100%;display:flex;flex-direction:column;gap:10px;margin-top:8px}.phone-modal-input{width:100%;border-radius:14px;border:1px solid var(--clr-border-md);padding:14px 16px;font:inherit;font-size:16px;text-align:center;letter-spacing:.5px;color:var(--clr-text-1);background:var(--clr-bg-card-alt);transition:border-color .15s}.phone-modal-input:focus{outline:none;border-color:var(--clr-accent);box-shadow:0 0 0 3px var(--clr-accent-lg)}.phone-modal-error{margin:0;font-size:13px;color:var(--clr-danger)}.phone-modal-btn{width:100%;padding:14px;border:none;border-radius:14px;background:var(--clr-accent);color:#fff;font:inherit;font-weight:700;font-size:15px;cursor:pointer;transition:transform .15s,opacity .15s;min-height:48px}.phone-modal-btn:hover:not(:disabled){transform:translateY(-1px)}.phone-modal-btn:disabled{opacity:.7;cursor:wait}.phone-modal-skip{background:none;border:none;color:var(--clr-text-3);font:inherit;font-size:13px;cursor:pointer;padding:8px 16px;transition:color .15s}.phone-modal-skip:hover{color:var(--clr-text-2)}@media(max-width:480px){.phone-modal{padding:32px 20px 24px;border-radius:22px}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:420px;background:var(--clr-bg-card);border:1px solid var(--clr-border-md);border-radius:28px;padding:36px 32px 32px;display:grid;gap:14px;box-shadow:0 4px 24px #0000000f;flex-shrink:0}.login-card h1,.login-card h2{margin:0;font-size:22px;text-align:center}.login-subtitle{margin:0;color:var(--clr-text-2);font-size:14px;text-align:center}.login-form{display:grid;gap:10px}.login-label{font-size:13px;color:var(--clr-text-2);margin-bottom:2px}.login-input{width:100%;border-radius:14px;border:1px solid var(--clr-border-md);padding:12px 14px;color:var(--clr-text-1);background:var(--clr-bg-card-alt);font:inherit;transition:border-color .15s ease}.login-input:focus{outline:2px solid rgba(0,113,227,.3);border-color:#0071e380}.login-error{margin:0;font-size:13px;color:var(--clr-danger)}.login-button{margin-top:6px;width:100%;border:none;border-radius:14px;padding:13px 16px;background:var(--clr-accent);color:#fff;font:inherit;font-weight:700;cursor:pointer;transition:transform .15s ease,opacity .15s ease}.login-button:hover:not(:disabled){transform:translateY(-1px)}.login-button:disabled{opacity:.7;cursor:wait}.login-divider{display:flex;align-items:center;gap:12px;color:var(--clr-text-3);font-size:13px}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--clr-border-md)}.login-google-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;border:1px solid var(--clr-border-md);border-radius:14px;padding:12px 16px;background:var(--clr-bg-card);color:var(--clr-text-1);font:inherit;font-size:14px;text-decoration:none;cursor:pointer;transition:transform .15s ease,background .15s ease}.login-google-button:hover{background:var(--clr-bg-hover);transform:translateY(-1px)}html{scroll-behavior:smooth;overflow-x:hidden}.landing-container{width:100%;max-width:1120px;margin:0 auto;padding:0 24px}.landing-nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:0 24px;transition:background .3s,box-shadow .3s,border-color .3s}.landing-nav-scrolled{background:var(--clr-bg-overlay);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 1px 0 var(--clr-border)}.landing-nav-inner{max-width:1120px;margin:0 auto;height:64px;display:flex;align-items:center;gap:32px}.landing-logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:17px;color:var(--clr-text-1);text-decoration:none;white-space:nowrap}.landing-logo-icon{flex-shrink:0}.landing-nav-links{display:flex;gap:28px;margin-left:auto}.landing-nav-links a{color:var(--clr-text-2);text-decoration:none;font-size:14px;font-weight:500;transition:color .15s}.landing-nav-links a:hover{color:var(--clr-text-1)}.landing-nav-cta{display:inline-flex;align-items:center;padding:8px 20px;border-radius:12px;background:var(--clr-accent);color:#fff!important;font-size:14px;font-weight:600;text-decoration:none;transition:transform .15s,opacity .15s;white-space:nowrap}.landing-nav-cta:hover{transform:translateY(-1px);opacity:.9}.landing-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;padding:6px;background:none;border:none;cursor:pointer;margin-left:auto}.landing-burger span{display:block;height:2px;border-radius:2px;background:var(--clr-text-1);transition:transform .25s,opacity .25s}.landing-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.landing-burger.open span:nth-child(2){opacity:0}.landing-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.landing-mobile-menu{display:none;position:fixed;top:64px;left:0;right:0;z-index:999;background:var(--clr-bg-panel);border-bottom:1px solid var(--clr-border);flex-direction:column;padding:16px 24px 20px;gap:4px;box-shadow:0 8px 24px var(--clr-shadow-lg)}.landing-mobile-menu.open{display:flex}.landing-mobile-menu a{display:block;padding:12px 16px;border-radius:12px;color:var(--clr-text-1);text-decoration:none;font-size:15px;font-weight:500;transition:background .15s}.landing-mobile-menu a:hover{background:var(--clr-bg-hover)}.landing-mobile-menu .landing-nav-cta{margin-top:8px;justify-content:center}.landing-hero{position:relative;padding:140px 0 80px;overflow:hidden}.landing-hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 0%,var(--clr-accent) -40%,transparent 70%);opacity:.07;pointer-events:none}[data-theme=dark] .landing-hero-bg{opacity:.12}.landing-hero-content{position:relative;text-align:center;display:flex;flex-direction:column;align-items:center;gap:24px}.landing-badge{display:inline-flex;padding:6px 16px;border-radius:100px;font-size:13px;font-weight:600;color:var(--clr-accent);background:var(--clr-accent-lg);border:1px solid var(--clr-accent-border)}.landing-hero-title{margin:0;font-size:clamp(34px,5vw,58px);font-weight:800;line-height:1.15;letter-spacing:-.02em;color:var(--clr-text-1)}.landing-gradient-text{background:linear-gradient(135deg,var(--clr-accent) 0%,#a855f7 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing-hero-sub{margin:0;max-width:560px;font-size:clamp(16px,2vw,19px);line-height:1.6;color:var(--clr-text-2)}.landing-hero-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:8px}.landing-btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 28px;border-radius:14px;font-size:15px;font-weight:700;text-decoration:none;cursor:pointer;border:none;transition:transform .15s,opacity .15s,box-shadow .15s;-webkit-tap-highlight-color:transparent;min-height:48px}.landing-btn:hover{transform:translateY(-2px)}.landing-btn-primary{background:var(--clr-accent);color:#fff;box-shadow:0 4px 14px #0071e340}.landing-btn-primary:hover{box-shadow:0 6px 20px #0071e359}[data-theme=dark] .landing-btn-primary{box-shadow:0 4px 14px #5e9eff33}.landing-btn-secondary{background:var(--clr-bg-card);color:var(--clr-text-1);border:1px solid var(--clr-border-md)}.landing-btn-secondary:hover{background:var(--clr-bg-hover)}.landing-btn-block{width:100%}.landing-hero-stats{display:flex;gap:40px;margin-top:24px;padding-top:32px;border-top:1px solid var(--clr-border)}.landing-stat{display:flex;flex-direction:column;align-items:center;gap:4px}.landing-stat-value{font-size:22px;font-weight:800;color:var(--clr-accent)}.landing-stat-label{font-size:13px;color:var(--clr-text-3)}.landing-section{padding:80px 0}.landing-section-alt{background:var(--clr-bg-card-alt)}.landing-section-header{text-align:center;margin-bottom:48px}.landing-section-title{margin:0 0 10px;font-size:clamp(26px,3.5vw,38px);font-weight:800;letter-spacing:-.01em;color:var(--clr-text-1)}.landing-section-sub{font-size:16px;color:var(--clr-text-2);max-width:480px;margin:0 auto}.landing-features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.landing-feature-card{background:var(--clr-bg-card);border:1px solid var(--clr-border);border-radius:20px;padding:28px 24px;display:flex;flex-direction:column;gap:12px;transition:transform .2s,box-shadow .2s}.landing-feature-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px var(--clr-shadow)}.landing-feature-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--clr-accent-lg);color:var(--clr-accent);border:1px solid var(--clr-accent-border)}.landing-feature-card h3{margin:0;font-size:17px;font-weight:700;color:var(--clr-text-1)}.landing-feature-card p{margin:0;font-size:14px;line-height:1.6;color:var(--clr-text-2)}.landing-steps{display:flex;align-items:flex-start;justify-content:center;gap:24px}.landing-step{flex:1;max-width:300px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.landing-step-num{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;color:#fff;background:var(--clr-accent);box-shadow:0 4px 12px #0071e340}[data-theme=dark] .landing-step-num{box-shadow:0 4px 12px #5e9eff33}.landing-step h3{margin:0;font-size:17px;font-weight:700;color:var(--clr-text-1)}.landing-step p{margin:0;font-size:14px;line-height:1.6;color:var(--clr-text-2)}.landing-step-arrow{display:flex;align-items:center;padding-top:12px;color:var(--clr-text-3);flex-shrink:0}.landing-pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start}.landing-price-card{position:relative;background:var(--clr-bg-card);border:1px solid var(--clr-border);border-radius:24px;padding:32px 24px 28px;display:flex;flex-direction:column;gap:20px;transition:transform .2s,box-shadow .2s}.landing-price-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px var(--clr-shadow)}.landing-price-featured{border-color:var(--clr-accent);box-shadow:0 0 0 1px var(--clr-accent),0 8px 24px #0071e31f}[data-theme=dark] .landing-price-featured{box-shadow:0 0 0 1px var(--clr-accent),0 8px 24px #5e9eff1a}.landing-price-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);padding:4px 16px;border-radius:100px;font-size:12px;font-weight:700;color:#fff;background:var(--clr-accent);white-space:nowrap}.landing-price-name{font-size:18px;font-weight:700;color:var(--clr-text-1)}.landing-price-amount{font-size:36px;font-weight:800;color:var(--clr-text-1);line-height:1}.landing-price-currency{font-size:22px;font-weight:600;vertical-align:super;margin-right:2px}.landing-price-period{font-size:15px;font-weight:500;color:var(--clr-text-3);margin-left:2px}.landing-price-features{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.landing-price-features li{position:relative;padding-left:24px;font-size:14px;line-height:1.5;color:var(--clr-text-2)}.landing-price-features li:before{content:"";position:absolute;left:0;top:5px;width:14px;height:14px;border-radius:50%;background:var(--clr-accent-lg);border:1px solid var(--clr-accent-border);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%230071E3' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:8px}[data-theme=dark] .landing-price-features li:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%235E9EFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E")}.landing-login-wrapper{display:flex;align-items:center;justify-content:center;gap:60px}.landing-login-text{flex:1;max-width:420px}.landing-login-text .landing-section-title{text-align:left}.landing-login-text .landing-section-sub{text-align:left;margin-left:0}.login-card-title{margin:0;font-size:20px;font-weight:700;text-align:center;color:var(--clr-text-1)}.landing-footer{padding:24px 0;border-top:1px solid var(--clr-border)}.landing-footer-inner{display:flex;align-items:center;justify-content:space-between}.landing-footer-brand{font-weight:700;font-size:15px;color:var(--clr-text-1)}.landing-footer-copy{font-size:13px;color:var(--clr-text-3)}@media(max-width:900px){.landing-features-grid{grid-template-columns:1fr}.landing-pricing-grid{grid-template-columns:1fr;max-width:420px;margin:0 auto;gap:28px}.landing-steps{flex-direction:column;align-items:center}.landing-step{max-width:100%}.landing-step-arrow{transform:rotate(90deg);padding-top:0}.landing-login-wrapper{flex-direction:column;gap:32px}.landing-login-text{text-align:center;max-width:100%}.landing-login-text .landing-section-title,.landing-login-text .landing-section-sub{text-align:center;margin-left:auto;margin-right:auto}}@media(max-width:640px){.landing-nav-links,.landing-nav-cta.landing-nav-cta{display:none}.landing-burger{display:flex}.landing-nav-inner{height:56px}.landing-hero{padding:100px 0 48px}.landing-hero-title{font-size:28px;line-height:1.2}.landing-hero-sub{font-size:15px}.landing-hero-actions{flex-direction:column;width:100%}.landing-hero-actions .landing-btn{width:100%}.landing-hero-stats{flex-direction:column;gap:16px;align-items:center;width:100%}.landing-stat{flex-direction:row;gap:10px;width:100%;justify-content:center}.landing-stat-value{font-size:18px}.landing-section{padding:48px 0}.landing-section-title{font-size:24px}.landing-section-sub{font-size:14px}.landing-section-header{margin-bottom:32px}.landing-feature-card{padding:22px 20px}.landing-step-num{width:40px;height:40px;font-size:17px}.landing-step h3{font-size:15px}.landing-step p{font-size:13px}.landing-price-amount{font-size:30px}.landing-price-currency{font-size:18px}.landing-price-card{padding:28px 20px 24px}.landing-login-wrapper{gap:24px}.login-card{padding:28px 20px 24px;border-radius:22px}.landing-mobile-menu{top:56px}.landing-footer-inner{flex-direction:column;gap:4px;text-align:center}}@media(max-width:380px){.landing-container{padding:0 16px}.landing-hero-title{font-size:24px}.landing-badge{font-size:12px;padding:5px 12px}.landing-price-amount{font-size:26px}.landing-btn{padding:12px 20px;font-size:14px}.login-card{padding:24px 16px 20px}}.modal-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--clr-modal-overlay);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:modal-fade-in .2s ease}.modal-overlay[hidden]{display:none}.modal-overlay.modal-closing{animation:modal-fade-out .18s ease forwards}.modal-card{width:100%;max-width:380px;background:var(--clr-bg-panel);border:1px solid var(--clr-border-md);border-radius:20px;padding:28px 24px 22px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;box-shadow:0 12px 40px var(--clr-shadow-lg);animation:modal-card-in .25s cubic-bezier(.34,1.56,.64,1)}.modal-card.modal-card-closing{animation:modal-card-out .16s ease forwards}.modal-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:2px}.modal-icon-danger{background:#dc3c3c1f;color:#e07a7a;border:1px solid rgba(220,60,60,.2)}.modal-icon-info{background:var(--clr-accent-lg);color:var(--clr-accent);border:1px solid rgba(0,113,227,.15)}.modal-title{margin:0;font-size:16px;font-weight:700;color:var(--clr-text-1)}.modal-message{margin:0;font-size:13px;line-height:1.55;color:var(--clr-text-2);max-width:320px}.modal-actions{display:flex;gap:10px;width:100%;margin-top:8px}.modal-btn{flex:1;padding:10px 16px;border:none;border-radius:12px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s,transform .1s,box-shadow .15s}.modal-btn:hover{transform:translateY(-1px)}.modal-btn:active{transform:translateY(0)}.modal-btn-cancel{background:var(--clr-bg-card);color:var(--clr-text-2);border:1px solid var(--clr-border-md)}.modal-btn-cancel:hover{background:var(--clr-bg-hover);color:var(--clr-text-1);border-color:#78a0e633}.modal-btn-danger{background:var(--clr-danger);color:var(--clr-user-text);box-shadow:0 2px 8px var(--clr-shadow)}.modal-btn-danger:hover{opacity:.9;box-shadow:0 4px 14px var(--clr-shadow-lg)}.modal-btn-primary{background:var(--clr-accent);color:var(--clr-user-text);box-shadow:0 2px 8px var(--clr-shadow)}.modal-btn-primary:hover{background:var(--clr-accent-hover);box-shadow:0 4px 14px var(--clr-shadow-lg)}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-fade-out{0%{opacity:1}to{opacity:0}}@keyframes modal-card-in{0%{opacity:0;transform:scale(.9) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modal-card-out{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.95) translateY(6px)}}.funnel-page{min-height:100vh;display:grid;grid-template-rows:auto auto auto 1fr}.funnel-stats-bar{display:flex;gap:12px;padding:16px 32px;overflow-x:auto;flex-wrap:wrap}.funnel-stat-card{flex:1 1 120px;min-width:120px;padding:14px 18px;border-radius:14px;background:var(--clr-bg-card);border:1px solid var(--clr-border-md);display:flex;flex-direction:column;gap:4px}.funnel-stat-won{border-color:#22c55e4d;background:linear-gradient(135deg,#22c55e14,#22c55e05)}.funnel-stat-label{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--clr-text-3)}.funnel-stat-value{font-size:20px;font-weight:800;color:var(--clr-text-1);letter-spacing:-.02em}.funnel-view-btn.active{background:var(--clr-accent-lg);border-color:var(--clr-accent-border);color:var(--clr-accent)}.funnel-board{display:flex;gap:12px;padding:0 32px 32px;overflow-x:auto;align-items:flex-start}.funnel-column{flex:1 1 0;min-width:220px;max-width:320px;display:flex;flex-direction:column;gap:8px}.funnel-column-header{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;background:var(--clr-bg-card);border:1px solid var(--clr-border);position:sticky;top:0;z-index:1}.funnel-column-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.funnel-column-title{font-size:13px;font-weight:700;color:var(--clr-text-1)}.funnel-column-count{margin-left:auto;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--clr-bg-hover);color:var(--clr-text-2)}.funnel-column-amount{font-size:12px;font-weight:600;color:var(--clr-text-2);padding:0 12px}.funnel-column-cards{display:flex;flex-direction:column;gap:8px;min-height:60px;padding:4px;border-radius:12px;transition:background .15s}.funnel-col-dragover{background:var(--clr-accent-lg);outline:2px dashed var(--clr-accent);outline-offset:-2px;border-radius:12px}.funnel-card{padding:12px 14px;border-radius:12px;background:var(--clr-bg-card);border:1px solid var(--clr-border);cursor:pointer;display:flex;flex-direction:column;gap:6px;transition:transform .12s,box-shadow .12s,border-color .12s}.funnel-card:hover{border-color:#0071e340;transform:translateY(-1px);box-shadow:0 4px 12px var(--clr-shadow)}.funnel-card-dragging{opacity:.5}.funnel-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.funnel-card-name{font-size:13px;font-weight:700;color:var(--clr-text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.funnel-card-amount{font-size:12px;font-weight:700;color:var(--clr-accent);white-space:nowrap}.funnel-card-company{font-size:12px;color:var(--clr-text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.funnel-card-meta{display:flex;gap:6px;flex-wrap:wrap}.funnel-card-source{font-size:10px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--clr-bg-hover);color:var(--clr-text-2)}.funnel-card-channel{font-size:10px;font-weight:600;padding:2px 8px;border-radius:999px;background:#0071e314;color:var(--clr-accent)}.funnel-card-date{font-size:10px;color:var(--clr-text-3)}.funnel-empty-col{padding:16px;text-align:center;font-size:12px;color:var(--clr-text-3);border:1px dashed var(--clr-border-md);border-radius:10px}.funnel-list-view{padding:0 32px 32px;overflow-x:auto}.funnel-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--clr-border-md);border-radius:16px;overflow:hidden;background:var(--clr-bg-card)}.funnel-table th,.funnel-table td{padding:10px 14px;text-align:left;font-size:13px;border-bottom:1px solid var(--clr-border)}.funnel-table th{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--clr-text-3);background:var(--clr-bg-card-alt);white-space:nowrap}.funnel-th-sort{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s}.funnel-th-sort:hover{color:var(--clr-accent)}.funnel-sort-arrow{margin-left:4px;font-size:9px;color:var(--clr-accent)}.funnel-table-amount{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.funnel-table-date{white-space:nowrap;color:var(--clr-text-2)}.funnel-table tbody tr{cursor:pointer}.funnel-table tbody tr{transition:background .12s}.funnel-table tbody tr:hover{background:var(--clr-bg-hover)}.funnel-table tbody tr:last-child td{border-bottom:none}.funnel-table-name{font-weight:600;color:var(--clr-text-1)}.funnel-table-edit{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--clr-border-md);border-radius:8px;background:transparent;color:var(--clr-text-3);cursor:pointer;transition:background .15s,color .15s}.funnel-table-edit:hover{background:var(--clr-accent-lg);color:var(--clr-accent)}.funnel-stage-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;background:color-mix(in srgb,var(--stage-color) 12%,transparent);color:var(--stage-color);border:1px solid color-mix(in srgb,var(--stage-color) 25%,transparent);white-space:nowrap}.funnel-modal-card{max-width:520px;width:100%;max-height:90vh;overflow-y:auto;text-align:left;padding:28px 24px 22px}.funnel-form{display:flex;flex-direction:column;gap:12px}.funnel-form-row{display:flex;gap:12px}.funnel-form-row>*{flex:1}.funnel-field{display:flex;flex-direction:column;gap:4px}.funnel-field span{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--clr-text-3)}.funnel-field input,.funnel-field select,.funnel-field textarea{width:100%;border-radius:10px;border:1px solid var(--clr-border-md);padding:9px 12px;color:var(--clr-text-1);background:var(--clr-bg-card-alt);font:inherit;font-size:13px;transition:border-color .15s}.funnel-field input:focus,.funnel-field select:focus,.funnel-field textarea:focus{outline:none;border-color:#0071e366}.funnel-field textarea{resize:vertical;min-height:60px}.funnel-form-info{font-size:11px;color:var(--clr-text-3);padding:8px 0;border-top:1px solid var(--clr-border)}.funnel-meta-section{padding:10px 0;border-top:1px solid var(--clr-border)}.funnel-meta-title{display:block;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--clr-text-3);margin-bottom:8px}.funnel-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.funnel-meta-item{display:flex;flex-direction:column;gap:1px;padding:6px 8px;border-radius:8px;background:var(--clr-bg-hover)}.funnel-meta-key{font-size:10px;font-weight:600;color:var(--clr-text-3)}.funnel-meta-val{font-size:12px;color:var(--clr-text-1);word-break:break-all}.funnel-history-card{max-width:460px;width:100%;max-height:80vh;overflow-y:auto;text-align:left;padding:28px 24px 22px}.funnel-history-list{display:flex;flex-direction:column;gap:10px;margin:12px 0}.funnel-history-item{padding:10px 12px;border-radius:10px;background:var(--clr-bg-card-alt);border:1px solid var(--clr-border);display:flex;flex-direction:column;gap:4px}.funnel-history-type{font-size:12px;font-weight:700;color:var(--clr-text-1)}.funnel-history-stages{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--clr-text-2)}.funnel-history-date{font-size:11px;color:var(--clr-text-3)}@media(max-width:900px){.funnel-board{padding:0 16px 24px}.funnel-stats-bar{padding:12px 16px}}@media(max-width:640px){.funnel-board{flex-direction:column;padding:0 12px 24px}.funnel-column{max-width:100%;min-width:0}.funnel-stats-bar{padding:12px;gap:8px}.funnel-stat-card{min-width:100px;padding:10px 14px}.funnel-list-view{padding:0 12px 24px}.funnel-form-row{flex-direction:column}.funnel-modal-card{padding:20px 16px 18px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.knowledge-page{min-height:100vh;padding:32px 18px}.knowledge-shell{max-width:980px;margin:0 auto;display:grid;gap:20px}.knowledge-header,.knowledge-card{border:1px solid var(--clr-border-md);border-radius:24px;background:var(--clr-bg-panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.knowledge-header{padding:24px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.knowledge-card{padding:24px;display:grid;gap:16px}.knowledge-card h2,.knowledge-file-card h3,.knowledge-header h1{margin:0}.knowledge-header p,.knowledge-file-meta,.knowledge-file-hash,.knowledge-empty{margin:0;color:var(--clr-text-2)}.knowledge-file-error{margin:0;color:#fca5a5}.knowledge-form{display:flex;gap:12px;flex-wrap:wrap}.knowledge-form input[type=file]{flex:1 1 320px;border-radius:14px;border:1px solid var(--clr-border-md);padding:12px 14px;color:var(--clr-text-1);background:var(--clr-bg-panel)}.knowledge-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.knowledge-files{display:grid;gap:12px}.knowledge-file-card,.knowledge-empty{border:1px solid var(--clr-border-md);border-radius:18px;background:var(--clr-bg-card-alt);padding:16px}.knowledge-file-card{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.knowledge-file-main{display:grid;gap:6px}@media(max-width:900px){.app-shell{grid-template-columns:56px 240px 1fr}}@media(max-width:700px){.app-shell{grid-template-columns:56px 1fr;grid-template-rows:1fr auto}.nav-rail{padding:10px 0;gap:2px}.nav-items{padding:0 4px;gap:2px}.nav-btn{min-height:52px;padding:8px 0;border-radius:12px}.sidebar{display:none}.sidebar.mobile-visible{display:flex;position:fixed;top:0;left:56px;bottom:0;width:260px;z-index:100;box-shadow:4px 0 24px #00000080}.chat-panel,.dashboard-panel{grid-column:2}.chat-header,.messages,.chat-form{padding-left:16px;padding-right:16px}.dashboard-content{padding:24px 16px 32px;gap:28px}.dashboard-actions{flex-direction:column;width:100%}.dashboard-card{min-width:0;width:100%}.dashboard-widgets{grid-template-columns:repeat(2,1fr)}.dashboard-top-bar{padding:12px 16px}.chat-toolbar{gap:10px}.toolbar-select{max-width:140px}.chat-actions{flex-wrap:wrap}#submit-button{width:100%}}@media(max-width:640px){.admin-header{padding:18px;flex-direction:column;align-items:flex-start}.admin-user-list{padding:12px 18px 24px;grid-template-columns:1fr}.admin-user-card{flex-wrap:wrap}.admin-user-actions{flex-direction:row;flex-wrap:wrap;align-items:center;width:100%}}
