@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";:root{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", monospace;--bg-canvas:#f8fafc;--bg-surface:#fff;--bg-surface-elevated:#fff;--bg-subtle:#f1f5f9;--bg-subtle-hover:#e2e8f0;--bg-input:#fff;--bg-input-focus:#fff;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--text-inverse:#fff;--border-subtle:#f1f5f9;--border-default:#e2e8f0;--border-strong:#cbd5e1;--border-focus:#3b82f6;--primary-500:#3b82f6;--primary-600:#2563eb;--primary-700:#1d4ed8;--primary-subtle:#eff6ff;--primary-text:#1d4ed8;--primary-border:#bfdbfe;--primary-glow:#3b82f640;--success-bg:#ecfdf5;--success-border:#a7f3d0;--success-text:#065f46;--success-subtle:#d1fae5;--warning-bg:#fffbeb;--warning-border:#fde68a;--warning-text:#92400e;--warning-subtle:#fef3c7;--danger-bg:#fef2f2;--danger-border:#fecaca;--danger-text:#991b1b;--danger-hover:#dc2626;--danger-subtle:#fee2e2;--info-bg:#f0f9ff;--info-border:#bae6fd;--info-text:#0369a1;--shadow-xs:0 1px 2px 0 #0000000a;--shadow-sm:0 1px 3px 0 #00000012, 0 1px 2px -1px #00000012;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -2px #00000012;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #00000014;--shadow-xl:0 20px 25px -5px #00000017, 0 8px 10px -6px #00000017;--tw-primary:var(--primary-600);--tw-bg:var(--bg-canvas);--tw-card:var(--bg-surface);--tw-text:var(--text-primary);--tw-muted:var(--text-muted);--tw-border:var(--border-default);--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--radius-2xl:24px;--radius-full:9999px}html[data-theme=dark]{--bg-canvas:#0b0f19;--bg-surface:#131b2e;--bg-surface-elevated:#1a243b;--bg-subtle:#1e293b;--bg-subtle-hover:#27354f;--bg-input:#0e1526;--bg-input-focus:#111a30;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--text-inverse:#0f172a;--border-subtle:#1a2538;--border-default:#25334c;--border-strong:#374a6b;--border-focus:#60a5fa;--primary-500:#3b82f6;--primary-600:#60a5fa;--primary-700:#93c5fd;--primary-subtle:#3b82f629;--primary-text:#93c5fd;--primary-border:#60a5fa59;--primary-glow:#60a5fa40;--success-bg:#10b9811f;--success-border:#10b98152;--success-text:#6ee7b7;--success-subtle:#10b98133;--warning-bg:#f59e0b1f;--warning-border:#f59e0b59;--warning-text:#fcd34d;--warning-subtle:#f59e0b33;--danger-bg:#ef444424;--danger-border:#ef444461;--danger-text:#fca5a5;--danger-hover:#ef4444;--danger-subtle:#ef444438;--info-bg:#38bdf81f;--info-border:#38bdf852;--info-text:#7dd3fc;--shadow-xs:0 1px 2px 0 #0000004d;--shadow-sm:0 1px 3px 0 #0006, 0 1px 2px -1px #0006;--shadow-md:0 4px 6px -1px #00000073, 0 2px 4px -2px #00000073;--shadow-lg:0 10px 15px -3px #00000080, 0 4px 6px -4px #00000080;--shadow-xl:0 20px 25px -5px #0009, 0 8px 10px -6px #0009;--tw-primary:var(--primary-600);--tw-bg:var(--bg-canvas);--tw-card:var(--bg-surface);--tw-text:var(--text-primary);--tw-muted:var(--text-muted);--tw-border:var(--border-default)}*{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);background-color:var(--bg-canvas);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;line-height:1.5;transition:background-color .25s,color .25s}body{font-family:var(--font-sans);background-color:var(--bg-canvas);min-width:320px;min-height:100vh;color:var(--text-primary);margin:0}h1,h2,h3,h4,h5,h6{color:var(--text-primary);letter-spacing:-.02em;font-weight:700}h1{font-size:1.85rem;line-height:1.25}h2{font-size:1.35rem;line-height:1.3}h3{font-size:1.125rem;line-height:1.35}h4{font-size:1rem;line-height:1.4}p{color:var(--text-secondary);line-height:1.6}small{color:var(--text-muted);font-size:.825rem}code{font-family:var(--font-mono);border-radius:var(--radius-sm);background:var(--bg-subtle);color:var(--primary-text);border:1px solid var(--border-default);padding:.15em .4em;font-size:.85em}button{border-radius:var(--radius-md);font-family:var(--font-sans);color:#fff;background:var(--primary-600);cursor:pointer;box-shadow:var(--shadow-xs);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:.875rem;font-weight:600;line-height:1.25;transition:all .15s cubic-bezier(.4,0,.2,1);display:inline-flex}button:hover:not(:disabled){background:var(--primary-700);box-shadow:var(--shadow-sm);transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(0)}button:disabled{cursor:not-allowed;opacity:.6;box-shadow:none;transform:none}.secondary,button.secondary,.tw-button-light{color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-default);box-shadow:var(--shadow-xs)}.secondary:hover:not(:disabled),button.secondary:hover:not(:disabled),.tw-button-light:hover:not(:disabled){background:var(--bg-subtle);border-color:var(--border-strong);color:var(--text-primary)}.danger-secondary,button.danger-secondary,.btn-danger{color:var(--danger-text);background:var(--danger-bg);border:1px solid var(--danger-border)}.danger-secondary:hover:not(:disabled),button.danger-secondary:hover:not(:disabled),.btn-danger:hover:not(:disabled){background:var(--danger-hover);color:#fff;border-color:var(--danger-hover)}.btn-ghost,.tw-icon-button{width:38px;height:38px;color:var(--text-muted);border-radius:var(--radius-md);box-shadow:none;background:0 0;border:1px solid #0000;place-items:center;padding:0;display:inline-grid}.btn-ghost:hover:not(:disabled),.tw-icon-button:hover:not(:disabled){background:var(--bg-subtle);color:var(--primary-600);border-color:var(--border-subtle)}.tw-button{border-radius:var(--radius-md);padding:9px 16px;font-size:.875rem;font-weight:600}.tw-button-primary{color:#fff;background:var(--primary-600)}.tw-button-primary:hover:not(:disabled){background:var(--primary-700)}label{color:var(--text-primary);text-align:left;flex-direction:column;gap:6px;font-size:.85rem;font-weight:600;display:flex}input,select,textarea{border:1px solid var(--border-default);border-radius:var(--radius-md);width:100%;font-family:var(--font-sans);color:var(--text-primary);background-color:var(--bg-input);outline:none;padding:10px 14px;font-size:.9rem;transition:border-color .15s,box-shadow .15s,background-color .15s}input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:.75}input:focus,select:focus,textarea:focus{background-color:var(--bg-input-focus);border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-glow)}input:disabled,select:disabled,textarea:disabled{background-color:var(--bg-subtle);color:var(--text-muted);cursor:not-allowed}textarea{resize:vertical;min-height:90px;line-height:1.5}.checkbox-label{color:var(--text-secondary);cursor:pointer;flex-direction:row;align-items:center;gap:10px;font-size:.875rem;font-weight:500;display:inline-flex}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary-600);cursor:pointer;margin:0}.input-hint{color:var(--text-muted);margin-top:2px;font-size:.775rem;font-weight:400}.notice,.error,.success,.tw-error{border-radius:var(--radius-md);box-shadow:var(--shadow-xs);align-items:center;gap:10px;margin-bottom:16px;padding:12px 16px;font-size:.875rem;font-weight:500;line-height:1.45;animation:.2s ease-out fadeIn;display:flex}.notice{color:var(--warning-text);background:var(--warning-bg);border:1px solid var(--warning-border)}.error,.tw-error{color:var(--danger-text);background:var(--danger-bg);border:1px solid var(--danger-border)}.success{color:var(--success-text);background:var(--success-bg);border:1px solid var(--success-border)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.status-pill,.badge{border-radius:var(--radius-full);letter-spacing:.02em;white-space:nowrap;align-items:center;gap:6px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.status-pill:before{content:"";background-color:currentColor;border-radius:50%;width:6px;height:6px}.status-pill.active,.badge-success{color:var(--success-text);background:var(--success-bg);border:1px solid var(--success-border)}.status-pill.disabled,.badge-muted{color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border-default)}.badge-primary{color:var(--primary-text);background:var(--primary-subtle);border:1px solid var(--primary-border)}.badge-warning,.mock-badge,.order-ready{color:var(--warning-text);background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:var(--radius-full);align-items:center;gap:6px;padding:5px 12px;font-size:.78rem;font-weight:700;display:inline-flex}.eyebrow{color:var(--primary-600);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;font-size:.75rem;font-weight:700;display:inline-block}.tw-app{background-color:var(--bg-canvas);min-height:100vh;display:flex}.tw-sidebar{z-index:40;background:var(--bg-surface);border-right:1px solid var(--border-default);flex-direction:column;width:260px;padding:24px 16px;transition:width .25s cubic-bezier(.4,0,.2,1),transform .25s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;inset:0 auto 0 0;overflow:hidden auto}.tw-collapsed .tw-sidebar{width:80px;padding:24px 12px}.tw-logo{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);letter-spacing:-.02em;align-items:center;gap:12px;margin-bottom:16px;padding:0 8px 24px;font-size:1.15rem;font-weight:800;display:flex}.tw-logo-icon{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--primary-500), var(--primary-700));color:#fff;width:38px;height:38px;box-shadow:0 4px 12px var(--primary-glow);flex-shrink:0;place-items:center;display:grid}.tw-logo-text{white-space:nowrap;flex-direction:column;transition:opacity .2s,width .2s;display:flex;overflow:hidden}.tw-logo-text span{color:var(--text-primary);font-size:1.05rem;font-weight:700}.tw-logo-text small{letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase;font-size:.68rem;font-weight:700}.tw-collapsed .tw-logo-text{display:none}.tw-nav-label{color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;margin:12px 10px 8px;font-size:.7rem;font-weight:700}.tw-collapsed .tw-nav-label{display:none}.tw-nav-item{border-radius:var(--radius-md);width:100%;color:var(--text-secondary);text-align:left;white-space:nowrap;box-shadow:none;background:0 0;border:1px solid #0000;align-items:center;gap:12px;margin:4px 0;padding:11px 14px;font-size:.9rem;font-weight:500;transition:all .15s;display:flex}.tw-nav-item:hover{color:var(--text-primary);background:var(--bg-subtle);transform:none}.tw-nav-item.tw-active{color:var(--primary-text);background:var(--primary-subtle);border-color:var(--primary-border);font-weight:600}.tw-collapsed .tw-nav-item{justify-content:center;padding:11px 0}.tw-collapsed .tw-nav-item span{display:none}.tw-main{flex-direction:column;width:100%;min-height:100vh;margin-left:260px;transition:margin-left .25s cubic-bezier(.4,0,.2,1);display:flex}.tw-collapsed .tw-main{margin-left:80px}.tw-topbar{z-index:30;background:color-mix(in srgb, var(--bg-surface) 88%, transparent);border-bottom:1px solid var(--border-default);-webkit-backdrop-filter:blur(12px);justify-content:space-between;align-items:center;gap:16px;height:68px;padding:0 32px;display:flex;position:sticky;top:0}.tw-topbar-left{align-items:center;gap:16px;display:flex}.tw-topbar-title{flex-direction:column;display:flex}.tw-topbar-title h2{margin:0;font-size:1.05rem;font-weight:700}.tw-topbar-title small{color:var(--text-muted);font-size:.75rem}.tw-top-actions{align-items:center;gap:14px;display:flex}.tw-user-pill{background:var(--bg-subtle);border:1px solid var(--border-default);border-radius:var(--radius-full);align-items:center;gap:10px;padding:5px 12px 5px 6px;display:flex}.tw-user-avatar{background:linear-gradient(135deg, var(--primary-600), #8b5cf6);color:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:.75rem;font-weight:700;display:grid}.tw-user-info{flex-direction:column;display:flex}.tw-user-name{color:var(--text-primary);font-size:.8rem;font-weight:600;line-height:1.2}.tw-user-role{color:var(--primary-600);text-transform:uppercase;letter-spacing:.05em;font-size:.65rem;font-weight:600}.tw-content{flex:1;width:min(1360px,100%);margin:0 auto;padding:32px 32px 64px}.tw-page-header{margin-bottom:28px}.tw-page-header h1{margin:2px 0 8px;font-size:1.75rem}.tw-page-header .summary{max-width:720px;color:var(--text-secondary);font-size:.95rem}.card,.table-card,.editor-card,.bot-card,.checkout-card,.catalog-preview{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:border-color .2s,box-shadow .2s}.card-padded{padding:24px}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;display:grid}.stat-card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);align-items:center;gap:14px;padding:18px 20px;display:flex}.stat-icon{border-radius:var(--radius-md);background:var(--primary-subtle);width:44px;height:44px;color:var(--primary-600);place-items:center;display:grid}.stat-info{flex-direction:column;display:flex}.stat-value{color:var(--text-primary);font-size:1.45rem;font-weight:800;line-height:1.1}.stat-label{color:var(--text-muted);margin-top:2px;font-size:.78rem;font-weight:500}.toolbar{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px;padding:16px 20px;display:flex}.toolbar-group{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.search-input-wrapper{min-width:240px;position:relative}.search-input-wrapper input{border-radius:var(--radius-md);padding-left:36px}.search-input-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.table-card{overflow:hidden}.table-scroll{overflow-x:auto}.bot-table{border-collapse:collapse;text-align:left;width:100%}.bot-table th{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);background:var(--bg-subtle);border-bottom:1px solid var(--border-default);white-space:nowrap;padding:14px 20px;font-size:.75rem;font-weight:700}.bot-table td{color:var(--text-primary);border-bottom:1px solid var(--border-subtle);vertical-align:middle;padding:16px 20px;font-size:.88rem}.bot-table tbody tr:last-child td{border-bottom:0}.bot-table tbody tr{transition:background-color .15s}.bot-table tbody tr:hover{background-color:var(--bg-subtle)}.bot-item-cell{align-items:center;gap:12px;display:flex}.bot-avatar{border-radius:var(--radius-md);background:var(--primary-subtle);width:36px;height:36px;color:var(--primary-600);border:1px solid var(--primary-border);flex-shrink:0;place-items:center;font-size:.85rem;font-weight:700;display:grid}.bot-meta{flex-direction:column;display:flex}.bot-meta strong{color:var(--text-primary);font-weight:600}.bot-meta small{color:var(--text-muted);font-size:.75rem}.icon-actions{align-items:center;gap:6px;display:flex}.icon-actions button{width:34px;height:34px;color:var(--text-secondary);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:none;padding:0}.icon-actions button:hover{color:var(--primary-600);border-color:var(--primary-border);background:var(--primary-subtle)}.icon-actions button.danger-icon:hover{color:var(--danger-text);border-color:var(--danger-border);background:var(--danger-bg)}.empty-state{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:48px 24px;display:flex}.empty-state p{color:var(--text-muted);font-size:.9rem}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(6px);background:#0b0f19a6;place-items:center;padding:20px;animation:.2s ease-out fadeIn;display:grid;position:fixed;inset:0}.modal-card{border:1px solid var(--border-default);border-radius:var(--radius-2xl);background:var(--bg-surface);width:min(540px,100%);max-height:90vh;box-shadow:var(--shadow-xl);padding:28px;animation:.25s cubic-bezier(.16,1,.3,1) modalPop;overflow-y:auto}@keyframes modalPop{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.modal-header h3{margin:0;font-size:1.25rem}.modal-close{width:32px;height:32px;color:var(--text-muted);box-shadow:none;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;font-size:1.25rem;display:grid}.modal-close:hover{color:var(--text-primary);background:var(--bg-subtle);transform:none}.modal-form{flex-direction:column;gap:18px;display:flex}.modal-actions{border-top:1px solid var(--border-subtle);justify-content:flex-end;gap:12px;margin-top:10px;padding-top:16px;display:flex}.editor-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;margin-top:20px;display:grid}.editor-card{flex-direction:column;gap:16px;padding:24px;display:flex}.editor-card h3{align-items:center;gap:8px;margin:0 0 4px;font-size:1.05rem;display:flex}.editor-card-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.editor-wide{grid-column:1/-1}.form-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;display:grid}.json-field textarea{font-family:var(--font-mono);min-height:120px;font-size:.825rem}.catalog-preview{margin-top:28px;padding:26px}.catalog-preview-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px;display:flex}.preview-group{border-radius:var(--radius-lg);background:var(--bg-subtle);border:1px solid var(--border-default);margin-top:16px;padding:20px}.preview-group-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.preview-product{border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border-subtle);margin-top:14px;padding:16px}.preview-product-title{color:var(--text-primary);margin-bottom:10px;font-weight:600}.offer-row{border-radius:var(--radius-md);background:var(--bg-subtle);border:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:14px;margin-top:8px;padding:10px 14px;display:flex}.offer-info{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.offer-price-tag{color:var(--primary-600);font-weight:700}.commerce-form{flex-direction:column;gap:18px;padding:24px;display:flex}.checkout-list{gap:16px;margin-top:24px;display:grid}.checkout-card{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:22px 26px;display:flex}.checkout-card-main{flex-direction:column;gap:6px;display:flex}.checkout-price{color:var(--primary-600);font-size:1.15rem;font-weight:800}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.chat-workspace{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-2xl);height:calc(100vh - 180px);min-height:580px;box-shadow:var(--shadow-md);grid-template-columns:340px minmax(0,1fr);display:grid;overflow:hidden}.chat-sidebar{border-right:1px solid var(--border-default);background:var(--bg-surface);flex-direction:column;gap:14px;padding:18px;display:flex;overflow-y:auto}.chat-toolbar{border-radius:var(--radius-md);background:var(--bg-subtle);gap:4px;padding:4px;display:flex}.chat-toolbar button{border-radius:var(--radius-sm);color:var(--text-secondary);box-shadow:none;background:0 0;border:0;flex:1;padding:8px 12px;font-size:.825rem;font-weight:600}.chat-toolbar button:hover{color:var(--text-primary);background:var(--bg-subtle-hover);transform:none}.chat-toolbar button.active{background:var(--bg-surface);color:var(--primary-600);box-shadow:var(--shadow-xs)}.chat-filters{flex-direction:column;gap:8px;display:flex}.chat-list{flex-direction:column;flex:1;gap:6px;display:flex;overflow-y:auto}.chat-list-item{text-align:left;border-radius:var(--radius-lg);width:100%;color:var(--text-primary);box-shadow:none;background:0 0;border:1px solid #0000;align-items:flex-start;gap:12px;padding:12px 14px;transition:all .15s;display:flex}.chat-list-item:hover{background:var(--bg-subtle);border-color:var(--border-subtle);transform:none}.chat-list-item.selected{background:var(--primary-subtle);border-color:var(--primary-border)}.chat-list-item-avatar{background:linear-gradient(135deg, var(--primary-500), #8b5cf6);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:38px;height:38px;font-size:.85rem;font-weight:700;display:grid}.chat-list-item-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.chat-list-item-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.chat-list-item-header strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:600;overflow:hidden}.chat-list-item-sub{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.chat-list-item-tag{color:var(--primary-600);align-items:center;gap:4px;font-size:.72rem;font-weight:600;display:inline-flex}.chat-main{background:var(--bg-canvas);flex-direction:column;min-width:0;display:flex}.chat-main-header{background:var(--bg-surface);border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex}.chat-main-header-info h2{margin:0;font-size:1.15rem}.chat-main-header-info p{color:var(--text-muted);margin-top:2px;font-size:.8rem}.chat-messages{background:var(--bg-canvas);flex-direction:column;flex:1;gap:14px;padding:24px;display:flex;overflow-y:auto}.chat-bubble{border-radius:var(--radius-lg);white-space:pre-wrap;word-break:break-word;max-width:72%;box-shadow:var(--shadow-xs);flex-direction:column;gap:6px;padding:12px 16px;animation:.15s ease-out fadeIn;display:flex}.chat-bubble.user{background:var(--bg-surface);border:1px solid var(--border-default);color:var(--text-primary);border-bottom-left-radius:4px;align-self:flex-start}.chat-bubble.operator{background:var(--primary-600);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.chat-bubble.operator span{color:#fff}.chat-bubble small{opacity:.75;align-self:flex-end;font-size:.7rem}.chat-bubble.operator small{color:#ffffffd9}.chat-composer{background:var(--bg-surface);border-top:1px solid var(--border-default);align-items:flex-end;gap:12px;padding:16px 24px;display:flex}.chat-composer textarea{border-radius:var(--radius-lg);flex:1;min-height:48px;max-height:140px;padding:12px 16px}.chat-composer-hint{color:var(--text-muted);margin-top:4px;font-size:.72rem}.tw-auth-shell{background:radial-gradient(circle at 50% 30%, var(--primary-subtle), var(--bg-canvas) 70%);place-items:center;min-height:100vh;padding:24px;display:grid}.tw-auth-card{border:1px solid var(--border-default);border-radius:var(--radius-2xl);background:var(--bg-surface);width:min(420px,100%);box-shadow:var(--shadow-xl);flex-direction:column;gap:20px;padding:40px;display:flex}.tw-auth-brand{color:var(--primary-600);align-items:center;gap:10px;font-size:1.25rem;font-weight:800;display:flex}.tw-auth-card h1{margin:0;font-size:1.6rem}.password-panel{border:1px solid var(--warning-border);border-radius:var(--radius-xl);background:var(--warning-bg);flex-direction:column;gap:16px;max-width:580px;margin-top:20px;padding:24px;display:flex}.password-panel .notice{margin-bottom:0}@media (width<=768px){.tw-sidebar{width:260px;transform:translate(-100%)}.tw-sidebar.tw-mobile-open{transform:translate(0)}.tw-main,.tw-collapsed .tw-main{margin-left:0}.tw-backdrop{z-index:35;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:none;cursor:pointer;background:#0b0f1999;border:0;padding:0;display:block;position:fixed;inset:0}.tw-topbar{padding:0 16px}.tw-content{padding:20px 16px 48px}.chat-workspace{grid-template-columns:1fr;height:calc(100vh - 140px)}.chat-sidebar{border-right:0;border-bottom:1px solid var(--border-default);max-height:280px}.chat-bubble{max-width:88%}.toolbar{flex-direction:column;align-items:stretch}.search-input-wrapper{min-width:100%}}
