.login-container{display:flex;min-height:100vh;background:linear-gradient(135deg,#fff0f5,#f3e8ff,#e0f2fe);overflow:hidden}.login-mascot-section{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;position:relative}.login-mascot-section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 30% 50%,rgba(var(--brand-rgb),.12),transparent 50%),radial-gradient(circle at 70% 30%,rgba(139,92,246,.12),transparent 50%),radial-gradient(circle at 50% 80%,rgba(59,130,246,.12),transparent 50%);pointer-events:none}.mascot-container{position:relative;z-index:1;text-align:center}.login-mascot{width:320px;height:320px;object-fit:contain;animation:float 4s ease-in-out infinite;filter:drop-shadow(0 20px 40px rgba(139,92,246,.25))}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-16px)}}.mascot-slogan{margin-top:32px;font-size:28px;font-weight:700;color:#1a1a1a;letter-spacing:-.5px}.mascot-subtitle{margin-top:10px;font-size:15px;color:#666;max-width:400px;line-height:1.6}.login-form-section{flex:0 0 480px;display:flex;align-items:center;justify-content:center;padding:40px}.login-box{background:#fffffff2;border-radius:20px;padding:44px 40px;width:100%;max-width:420px;box-shadow:0 24px 64px #8b5cf626;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.6)}.login-header{text-align:center;margin-bottom:28px}.logo-link{display:inline-flex;align-items:center;gap:14px}.logo-badge{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-secondary) 100%);padding:5px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(var(--brand-rgb),.25);flex-shrink:0}.logo-mascot{width:100%;height:100%;object-fit:cover;border-radius:10px;display:block}.logo{font-size:30px;font-weight:700;color:var(--brand);letter-spacing:-.5px;line-height:1;margin:0}.login-title{font-size:22px;font-weight:600;text-align:center;margin-bottom:28px;color:#333}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-size:14px;font-weight:500;color:#555}.form-input{padding:14px 16px;border:1px solid #e5e7eb;border-radius:10px;font-size:16px;transition:all .3s ease;background:#fff}.form-input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.12)}.phone-input-group{display:flex;gap:8px}.country-code-select{padding:14px 12px;border:1px solid #e5e7eb;border-radius:10px;font-size:16px;background:#fff;cursor:pointer;min-width:100px}.country-code-select:focus{outline:none;border-color:var(--brand)}.phone-input-group .form-input{flex:1}.login-button{padding:14px;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-secondary) 100%);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;transition:all .3s ease;margin-top:8px}.login-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(var(--brand-rgb),.35)}.login-button:active{transform:translateY(0)}.login-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.error-alert{padding:12px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px;text-align:center}@media (max-width: 900px){.login-container{flex-direction:column;padding:0}.login-mascot-section{flex:none;padding:32px 24px 16px}.login-mascot{width:180px;height:180px}.mascot-slogan{font-size:22px;margin-top:20px}.mascot-subtitle{display:none}.login-form-section{flex:1;padding:16px 24px 40px}.login-box{padding:32px 24px}}.user-menu{position:relative;display:inline-flex;align-items:center}.user-menu-trigger{display:flex;align-items:center;gap:6px;padding:4px 6px;border:none;border-radius:8px;background:transparent;cursor:pointer;transition:background .2s ease}.user-menu-trigger:hover{background:var(--bg)}.user-avatar{width:32px;height:32px;border-radius:50%;background:#f1f2f4;color:#4b5563;display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-name{font-size:14px;font-weight:500;color:var(--text-primary)}.user-arrow{font-size:16px;font-weight:700;color:#6b7280;line-height:1;transition:transform .2s ease}.user-arrow.open{transform:rotate(180deg)}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:148px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 8px 24px #0000001f;padding:6px;z-index:100}.user-dropdown-item{display:block;width:100%;text-align:left;padding:10px 12px;border:none;background:transparent;border-radius:var(--radius-sm);font-size:14px;color:var(--text-primary);cursor:pointer;transition:background .15s ease}.user-dropdown-item:hover{background:var(--bg)}.user-dropdown-item.danger{color:#ef4444}.user-dropdown-item.danger:hover{background:#fef2f2}.dropdown-section-label{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:6px 12px 4px}.theme-switcher{display:flex;flex-direction:column;gap:2px;padding:2px 6px 6px}.theme-option{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px 6px;border:none;border-radius:var(--radius-sm);background:transparent;font-size:13px;color:var(--text-primary);cursor:pointer;transition:background .15s ease}.theme-option:hover{background:var(--bg)}.theme-option.active{background:var(--brand-light)}.theme-dot{width:16px;height:16px;border-radius:50%;flex-shrink:0;box-shadow:inset 0 1px 2px #00000026}.theme-label{font-weight:500}.dropdown-divider{height:1px;background:var(--border);margin:4px 6px}.page-header{background:#fff;box-shadow:0 2px 8px #00000014;position:sticky;top:0;z-index:100}.header-content{width:100%;padding:0 24px;display:flex;align-items:center;height:64px;gap:16px}.header-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}.logo-badge{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-secondary) 100%);padding:4px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 3px 10px rgba(var(--brand-rgb),.22);flex-shrink:0}.logo-mascot{width:100%;height:100%;object-fit:cover;border-radius:8px;display:block}.logo-text-group{display:flex;flex-direction:column;gap:2px}.logo-text{font-size:19px;font-weight:700;color:var(--brand);letter-spacing:-.5px;line-height:1.2}.logo-subtitle{font-size:11px;font-weight:500;color:var(--text-secondary);letter-spacing:.5px;line-height:1;white-space:nowrap}.back-button{padding:8px 16px;background:#f3f4f6;color:#374151;border:1px solid #e5e7eb;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.back-button:hover{background:#e5e7eb;color:#1f2937}.header-title{margin:0}.page-title{font-size:20px;font-weight:700;color:#1a1a1a;margin:0}.header-right{margin-left:auto;display:flex;align-items:center;gap:16px;flex-shrink:0}.export-actions{display:flex;gap:8px}.export-button{padding:8px 16px;background:var(--brand);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.export-button:hover:not(:disabled){background:var(--brand-dark)}.export-button:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 720px){.header-content{flex-wrap:wrap;height:auto;padding:12px 16px;gap:12px;justify-content:flex-start}.header-title{order:3;flex:1 1 100%}.header-right{order:2;margin-left:auto}.export-actions{order:2}}.carousel{position:relative;width:100%;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 4px 20px #0000001a;background:#1a1a2e;aspect-ratio:16 / 4;-webkit-user-select:none;user-select:none}.carousel-track{position:relative;width:100%;height:100%;display:flex}.carousel-slide{position:absolute;top:0;right:0;bottom:0;left:0;flex-shrink:0;width:100%;height:100%;transition:transform .5s cubic-bezier(.4,0,.2,1);opacity:0;pointer-events:none}.carousel-slide.active{opacity:1;pointer-events:auto}.carousel-image{width:100%;height:100%;object-fit:cover;display:block}.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:40px;height:40px;border-radius:50%;border:none;background:#ffffff40;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease;opacity:0}.carousel:hover .carousel-arrow{opacity:1}.carousel-arrow:hover{background:#fff6}.carousel-arrow-prev{left:12px}.carousel-arrow-next{right:12px}.carousel-dots{position:absolute;bottom:12px;left:50%;transform:translate(-50%);z-index:2;display:flex;gap:8px;padding:4px 10px;border-radius:20px;background:#00000040;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.carousel-dot{width:8px;height:8px;border-radius:50%;border:none;background:#ffffff80;cursor:pointer;transition:all .3s ease;padding:0}.carousel-dot.active{background:#fff;width:24px;border-radius:4px}.carousel-dot:hover{background:#fffc}@media (max-width: 768px){.carousel{aspect-ratio:16 / 6}.carousel-arrow{display:none}}@media (max-width: 480px){.carousel{aspect-ratio:16 / 8}}.chat-history-page{min-height:100vh;background:#f7f9fc}.page-main{max-width:1280px;margin:0 auto;padding:32px}.chat-list-header{margin-bottom:24px}.chat-list-title{font-size:24px;font-weight:700;color:#1a1a1a;margin:0}.loading-spinner{width:48px;height:48px;background:var(--brand-light) url(/assets/mascot.png) no-repeat center;background-size:contain;border-radius:12px;animation:mascot-bounce 1.5s ease-in-out infinite}.retry-button{padding:10px 24px;background:var(--brand);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;transition:all .3s ease;cursor:pointer}.chat-list{display:flex;flex-direction:column;gap:16px}.chat-item{background:#fff;border-radius:12px;padding:20px;border:1px solid #e8e8e8;box-shadow:0 1px 3px #0000000f;transition:all .2s ease}.chat-item:hover{box-shadow:0 4px 12px #0000001a;border-color:#d9d9d9}.chat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.chat-title{font-size:16px;font-weight:600;color:#1a1a1a}.chat-date{font-size:13px;color:#999}.chat-summary{font-size:14px;color:#666;line-height:1.6;margin-bottom:16px}.chat-meta{display:flex;gap:24px;flex-wrap:wrap}.chat-actions{display:flex;justify-content:flex-end;margin-top:12px}.chat-detail-button{padding:8px 12px;border:1px solid #d9d9d9;border-radius:6px;background:#fff;color:#333;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.chat-detail-button:hover{background:#f8f8f8;border-color:#bfbfbf}.chat-messages{margin-top:14px;padding-top:14px;border-top:1px solid #f0f0f0}.chat-messages-loading,.chat-messages-error,.chat-messages-empty{font-size:13px;color:#666}.chat-messages-error{color:#ef4444}.message-list{display:flex;flex-direction:column;gap:10px}.wechat-thread{background:#ededed;border-radius:10px;padding:12px;max-height:520px;overflow:auto}.wechat-row{display:flex;align-items:flex-end;gap:10px}.wechat-row-user{flex-direction:row-reverse}.wechat-row-system,.wechat-row-tool,.wechat-row-other{justify-content:center}.wechat-row-system .wechat-avatar,.wechat-row-tool .wechat-avatar,.wechat-row-other .wechat-avatar{display:none}.wechat-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;background:#9ca3af;flex-shrink:0}.wechat-avatar-user{background:#22c55e}.wechat-avatar-assistant{background:#6366f1}.wechat-avatar-tool{background:#f59e0b}.wechat-bubble-wrap{display:flex;flex-direction:column;gap:4px;max-width:78%}.wechat-row-user .wechat-bubble-wrap{align-items:flex-end}.wechat-row-system .wechat-bubble-wrap,.wechat-row-tool .wechat-bubble-wrap,.wechat-row-other .wechat-bubble-wrap{align-items:center}.wechat-time{font-size:12px;color:#8c8c8c}.wechat-bubble{border-radius:10px;padding:10px 12px;box-shadow:0 1px 1px #0000000f;max-width:100%}.wechat-bubble-assistant{background:#fff;color:#111827}.wechat-bubble-user{background:#95ec69;color:#111827}.wechat-bubble-system,.wechat-bubble-tool,.wechat-bubble-other{background:#f5f5f5;color:#374151}.wechat-content{font-size:14px;line-height:1.6;white-space:pre-wrap}.chat-meta-item{display:flex;align-items:center;gap:6px;font-size:13px;color:#666}.meta-label{color:#999}.meta-value{color:#333;font-weight:500}.page-button{padding:8px 12px;border:1px solid #d9d9d9;border-radius:6px;background:#fff;color:#333;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.page-button:hover:not(:disabled){background:#f8f8f8;border-color:#bfbfbf}.page-button:disabled{color:#999;cursor:not-allowed;background:#fafafa}.pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:8px;flex-wrap:wrap}.pagination-info{display:flex;gap:12px;font-size:13px;color:#666}.pagination-controls{display:flex;align-items:center;gap:12px}.pagination-pages{display:flex;align-items:center;gap:6px}.page-number{font-size:13px;color:#666}.page-ellipsis{font-size:14px;color:#999;padding:0 4px}.page-number-button{min-width:32px;height:32px;padding:0 10px;border:1px solid #d9d9d9;border-radius:6px;background:#fff;color:#333;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.page-number-button:hover{background:#f8f8f8;border-color:#bfbfbf}.page-number-button.active{background:var(--brand);border-color:var(--brand);color:#fff}.export-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000073;z-index:9999;display:flex;align-items:center;justify-content:center}.export-modal{background:#fff;border-radius:16px;padding:40px 56px;display:flex;flex-direction:column;align-items:center;gap:20px;box-shadow:0 8px 32px #0003}.export-spinner{width:48px;height:48px;border:4px solid var(--brand-light);border-top-color:var(--brand);border-radius:50%;animation:export-spin .8s linear infinite}@keyframes export-spin{to{transform:rotate(360deg)}}.export-modal-text{font-size:15px;color:#374151;font-weight:500;margin:0}@media (max-width: 720px){.page-main,.chat-item{padding:16px}.pagination{flex-direction:column;align-items:stretch;gap:12px}.pagination-controls{justify-content:space-between}}.hotel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.hotel-card{position:relative;background:var(--surface);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);box-shadow:0 1px 3px #00000014,0 1px 2px #0000000f;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;cursor:pointer}.hotel-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #0000001a;border-color:var(--brand)}.hotel-cover{width:100%;height:160px;object-fit:cover;background:#f0f0f0;display:block;cursor:zoom-in}.hotel-cover-placeholder{display:flex;align-items:center;justify-content:center;font-size:48px;background:linear-gradient(135deg,var(--brand-light) 0%,var(--brand-light) 100%);color:var(--brand)}.hotel-body{padding:16px}.hotel-name{font-size:16px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hotel-address{display:flex;align-items:flex-start;gap:4px;margin-top:6px;font-size:13px;color:var(--text-muted);line-height:1.4}.hotel-meta{display:flex;gap:16px;margin-top:12px;font-size:13px;color:var(--text-secondary)}.hotel-desc{margin-top:10px;font-size:13px;color:var(--text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hotel-meta-footer{margin:0 16px;padding:10px 0;border-top:1px solid var(--border);display:flex;align-items:center}.hotel-meta-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;background:rgba(var(--brand-rgb),.08);color:var(--brand);border-radius:20px;font-size:12px;font-weight:600}.hotel-actions{display:flex;gap:8px;padding:0 16px 16px}.hotel-action-btn{padding:6px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;color:var(--text-primary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.hotel-action-btn:hover{background:#f8f8f8;border-color:#bfbfbf}.hotel-action-danger{color:#ef4444;border-color:#f5c2c2}.hotel-action-danger:hover{background:#fef2f2;border-color:#ef4444}.hotel-card-add{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:280px;border:2px dashed var(--border);background:transparent;cursor:pointer;transition:all .2s ease}.hotel-card-add:hover{border-color:var(--brand);background:rgba(var(--brand-rgb),.04);transform:translateY(-3px);box-shadow:0 12px 28px #0000000f}.hotel-card-add-icon{font-size:42px;color:var(--border);line-height:1;margin-bottom:10px;transition:color .2s ease}.hotel-card-add:hover .hotel-card-add-icon{color:var(--brand)}.hotel-card-add-text{font-size:15px;font-weight:500;color:var(--text-muted);transition:color .2s ease}.hotel-card-add:hover .hotel-card-add-text{color:var(--brand)}.hotel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:100px 20px;gap:12px;text-align:center}.hotel-empty-icon{font-size:56px}.hotel-empty-title{font-size:18px;font-weight:600;color:var(--text-primary)}.hotel-empty-sub{font-size:14px;color:var(--text-muted);margin-bottom:8px}.hotel-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000073;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}.hotel-modal{background:#fff;border-radius:16px;width:100%;max-width:560px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0003;overflow:hidden}.hotel-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #f0f0f0}.hotel-modal-title{font-size:18px;font-weight:700;color:var(--text-primary);margin:0}.hotel-modal-close{border:none;background:transparent;font-size:26px;line-height:1;color:#999;cursor:pointer;width:32px;height:32px;border-radius:8px;transition:all .2s ease}.hotel-modal-close:hover{background:#f3f4f6;color:#333}.hotel-modal-body{padding:24px;overflow-y:auto}.hotel-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #f0f0f0}.hotel-modal-cancel{padding:8px 20px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.hotel-modal-cancel:hover{background:#f5f5f5;border-color:#ccc}.hotel-cover-row{display:flex;align-items:center;gap:16px}.hotel-cover-preview{width:120px;height:80px;border-radius:8px;border:1px dashed #d9d9d9;background:#fafafa;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.hotel-cover-preview img{width:100%;height:100%;object-fit:cover}.hotel-cover-hint{font-size:12px;color:#999}.hotel-upload-btn{padding:8px 16px;border:1px solid var(--brand);border-radius:var(--radius-sm);background:var(--brand-light);color:var(--brand-dark);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.hotel-upload-btn:hover{background:var(--brand);color:#fff}.hotel-agent-select{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;max-height:220px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;background:#fafafa}.hotel-agent-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-primary);cursor:pointer;padding:4px 6px;border-radius:6px;transition:background .2s ease}.hotel-agent-item:hover{background:#f0f0f0}.hotel-agent-item input{accent-color:var(--brand);width:16px;height:16px}.form-textarea{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;font-size:14px;font-family:inherit;color:var(--text-primary);resize:vertical;transition:border-color .2s ease,box-shadow .2s ease}.form-textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.15)}@media (max-width: 720px){.hotel-grid,.hotel-agent-select{grid-template-columns:1fr}}.form-group{margin-bottom:18px}.form-label{display:block;font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:8px}.form-input{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;font-size:14px;color:var(--text-primary);transition:border-color .2s ease,box-shadow .2s ease}.form-input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.15)}.error-alert{background:#fef2f2;color:#ef4444;border:1px solid #f5c2c2;border-radius:var(--radius-sm);padding:10px 14px;font-size:14px;margin-top:4px}.image-lightbox-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;z-index:10000;display:flex;align-items:center;justify-content:center;padding:40px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:lightboxFadeIn .2s ease}@keyframes lightboxFadeIn{0%{opacity:0}to{opacity:1}}.image-lightbox-close{position:absolute;top:20px;right:28px;border:none;background:#ffffff26;color:#fff;font-size:32px;line-height:1;width:44px;height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease;z-index:1}.image-lightbox-close:hover{background:#ffffff4d}.image-lightbox-image{max-width:90%;max-height:85vh;object-fit:contain;border-radius:12px;box-shadow:0 20px 60px #00000080;cursor:zoom-out}.floating-bottom-bar{position:fixed;bottom:32px;left:50%;transform:translate(-50%);z-index:100;display:flex;gap:12px}.floating-back-btn{display:flex;align-items:center;justify-content:center;padding:10px 28px;background:var(--brand);color:#fff;border:none;border-radius:24px;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 4px 16px rgba(var(--brand-rgb),.35);transition:all .2s ease;white-space:nowrap;flex-shrink:0;min-width:80px}.floating-back-btn:hover{background:var(--brand-dark);box-shadow:0 6px 24px rgba(var(--brand-rgb),.5);transform:translateY(-2px)}.floating-back-btn:disabled{opacity:.7;cursor:not-allowed;pointer-events:none}.floating-back-btn-secondary{background:#fff;color:var(--brand);border:1.5px solid var(--brand);box-shadow:0 4px 16px #00000014}.floating-back-btn-secondary:hover{background:var(--brand-light);color:var(--brand-dark);border-color:var(--brand-dark);box-shadow:0 6px 20px #0000001f}.home-main{max-width:1080px}.home-hero{position:relative;border-radius:var(--radius-lg);overflow:hidden;color:#fff;box-shadow:0 10px 30px rgba(var(--brand-rgb),.25);min-height:320px}.home-hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.home-hero-bg .carousel{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border-radius:0;aspect-ratio:auto;box-shadow:none;background:transparent}.home-hero-bg .carousel .carousel-track{position:absolute;top:0;right:0;bottom:0;left:0}.home-hero-bg .carousel .carousel-slide{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.home-hero-bg .carousel .carousel-image{width:100%;height:100%;object-fit:cover}.home-hero-bg .carousel .carousel-dots{bottom:16px}.home-hero-bg .carousel .carousel-arrow{opacity:.7}.home-hero-bg .carousel:hover .carousel-arrow{opacity:1}.home-hero-content{position:relative;z-index:1;padding:48px 40px;min-height:320px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(90deg,#000000a6,#00000073 45%,#0000000d);max-width:60%}.home-hero-title{font-size:48px;font-weight:800;letter-spacing:1px;margin:0 0 16px;line-height:1.1}.home-hero-sub{font-size:16px;line-height:1.7;max-width:720px;opacity:.95;margin:0 0 28px}.home-hero-actions{display:flex;gap:12px;flex-wrap:wrap}.home-hero-actions .export-button{background:#fff;color:var(--brand-dark)}.home-hero-actions .export-button:hover:not(:disabled){background:#fff3}.home-ghost-btn{padding:10px 22px;border:1.5px solid rgba(255,255,255,.8);background:transparent;color:#fff;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.home-ghost-btn:hover{background:#ffffff26}.home-section{margin-top:36px}.home-section-title{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:18px;position:relative;padding-left:12px}.home-section-title:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:18px;background:var(--brand);border-radius:2px}.home-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.home-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:24px;text-align:center}.home-stat-num{font-size:36px;font-weight:800;color:var(--brand);line-height:1}.home-stat-label{margin-top:8px;font-size:14px;color:var(--text-secondary)}.home-cap-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.home-cap-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:22px;transition:all .2s ease}.home-cap-card:hover{border-color:var(--brand);box-shadow:0 6px 18px rgba(var(--brand-rgb),.12);transform:translateY(-2px)}.home-cap-icon{font-size:28px;margin-bottom:12px}.home-cap-title{font-size:17px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.home-cap-desc{font-size:14px;line-height:1.6;color:var(--text-secondary)}.home-entry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.home-entry-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:22px;cursor:pointer;transition:all .2s ease}.home-entry-card:hover{border-color:var(--brand);box-shadow:0 6px 18px rgba(var(--brand-rgb),.12);transform:translateY(-2px)}.home-entry-icon{font-size:26px;margin-bottom:10px}.home-entry-title{font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:6px}.home-entry-desc{font-size:13px;color:var(--text-secondary);line-height:1.5}@media (max-width: 720px){.home-hero{min-height:260px}.home-hero-content{padding:32px 20px;min-height:260px;max-width:none;background:linear-gradient(180deg,#000000a6,#00000073 60%,#0003)}.home-hero-title{font-size:36px}.home-stats,.home-cap-grid,.home-entry-grid{grid-template-columns:1fr}}.agents-page{min-height:100vh;background:#f7f9fc}.page-main{max-width:1280px;margin:0 auto;padding:24px 32px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px;gap:16px}.loading-spinner{width:48px;height:48px;background:url(/assets/mascot.png) no-repeat center;background-size:contain;animation:mascot-bounce 1.5s ease-in-out infinite}@keyframes mascot-bounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.05)}}.loading-container p{color:#888;font-size:14px}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px;gap:16px}.error-message{color:#ef4444;font-size:14px}.retry-button{padding:10px 24px;background:var(--brand);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;transition:all .3s ease}.retry-button:hover{background:var(--brand-dark)}.agents-grid-new{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.agent-card-new{background:#fff;border-radius:14px;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000f;padding:24px;border:1px solid #e8e8e8;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;display:flex;flex-direction:column}.agent-card-new:hover{transform:translateY(-2px);box-shadow:0 10px 24px #00000014;border-color:#dedede}.agent-card-header{display:flex;justify-content:flex-start;align-items:center;gap:12px;margin-bottom:20px}.agent-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-secondary) 100%);color:#fff;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 6px rgba(var(--brand-rgb),.25)}.agent-title{font-size:17px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.agent-card-body{margin-bottom:20px}.agent-info-item{display:flex;align-items:center;margin-bottom:14px;font-size:14px}.agent-info-item:last-child{margin-bottom:0}.info-label{color:#666;font-weight:500;min-width:80px}.info-value{color:#333}.agent-card-actions{display:flex;gap:8px;margin-top:auto}.agent-action-button{flex:1;padding:9px 12px;border:1px solid var(--brand);border-radius:var(--radius-sm);background:var(--brand-light);color:var(--brand-dark);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.agent-action-button:hover{background:var(--brand);color:#fff;border-color:var(--brand)}@media (max-width: 720px){.page-main{padding:16px}.agents-grid-new{grid-template-columns:1fr;gap:16px}}.app{min-height:100vh}:root,[data-theme=blue]{--brand: #2563eb;--brand-rgb: 37, 99, 235;--brand-dark: #1d4ed8;--brand-light: #dbeafe;--brand-secondary: #38bdf8}[data-theme=black]{--brand: #1A1A2E;--brand-rgb: 26, 26, 46;--brand-dark: #0F0F1A;--brand-light: #2D2D44;--brand-secondary: #2E2E3A}[data-theme=orange]{--brand: #F97316;--brand-rgb: 249, 115, 22;--brand-dark: #ea6c0a;--brand-light: #ffe4d6;--brand-secondary: #F28B9D}:root{--text-primary: #1a1a1a;--text-secondary: #555;--text-muted: #999;--border: #e8e8e8;--surface: #ffffff;--bg: #f7f9fc;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 14px}*{margin:0;padding:0;box-sizing:border-box}button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;color:#333}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}a{text-decoration:none;color:inherit}button{cursor:pointer;font-family:inherit}input{font-family:inherit}
