*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f5f7f4;--bg-card:#ffffff;--bg-sidebar:#123b3a;--surface-subtle:#f0f4f1;--surface-hover:#e7f0ed;--text:#172321;--text-secondary:#66736f;--text-sidebar:#c8dad6;--text-sidebar-hover:#fff;--border:#dce4df;--border-strong:#c7d3cd;--primary:#0f766e;--primary-hover:#0b5f59;--primary-soft:#e7f0ed;--danger:#b84a4a;--success:#277a53;--warning:#b76a2b;--info:#277485;--shadow-low:0 1px 2px rgb(18 59 58/5%),0 8px 24px rgb(18 59 58/4%)}html{scroll-behavior:smooth}body,html{background:var(--bg)}body{font-family:Avenir Next,SF Pro Display,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,Helvetica Neue,Arial,sans-serif;color:var(--text);line-height:1.55;letter-spacing:-.01em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration-thickness:1px;text-underline-offset:3px}button,input,select,textarea{font:inherit}.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 34%,transparent);outline-offset:2px}.daily-alert-dialog{position:fixed;inset:0;margin:auto;width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;border:1px solid var(--border);border-radius:16px;padding:0;background:var(--bg-card);color:var(--text);font:inherit;overflow-wrap:anywhere;box-shadow:0 20px 64px rgb(0 0 0/20%)}.daily-alert-dialog::-webkit-backdrop{background:rgb(15 23 42/42%)}.daily-alert-dialog::backdrop{background:rgb(15 23 42/42%)}.daily-alert-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid var(--border)}.daily-alert-header h2{font-size:18px;line-height:1.5}.daily-alert-close{flex:0 0 36px;min-height:36px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text-secondary);font-size:22px;cursor:pointer}.daily-alert-close:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.daily-alert-content{padding:24px;display:grid;grid-gap:12px;gap:12px}.daily-alert-content h3{font-size:20px;line-height:1.5}.daily-alert-detail{color:var(--text-secondary);font-size:14px}.daily-alert-price-block{padding:16px 0;border-block:1px solid var(--border)}.daily-alert-price{font-size:36px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.5}.daily-alert-threshold{color:var(--danger);font-weight:600}.daily-alert-error{color:var(--danger);font-size:14px}.daily-alert-actions{position:-webkit-sticky;position:sticky;bottom:0;display:flex;flex-wrap:wrap;gap:12px;padding:16px 24px;border-top:1px solid var(--border);background:var(--bg-card)}.daily-alert-actions .btn{flex:1 1;min-height:44px}.app-shell{display:flex;min-height:100vh}.mobile-topbar,.sidebar-backdrop,.sidebar-close-button{display:none}.topbar-reset-button{margin-left:auto}.sidebar{position:-webkit-sticky;position:sticky;top:0;width:224px;height:100vh;background:var(--bg-sidebar);color:#fff;padding:1.75rem 0 1.25rem;flex-shrink:0;display:flex;flex-direction:column;overflow-y:auto}.sidebar h2{padding:0 1.1rem;font-size:1.05rem;margin-bottom:1.75rem;color:#fff;font-weight:700;letter-spacing:-.02em}.sidebar nav a{display:flex;align-items:center;gap:.75rem;min-height:44px;margin:.2rem .65rem;padding:.65rem .8rem;border-radius:8px;color:var(--text-sidebar);text-decoration:none;font-size:.88rem;font-weight:550;transition:background-color .16s ease,color .16s ease}.sidebar nav a svg{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.sidebar nav a.active,.sidebar nav a:hover{background:rgb(255 255 255/11%);color:var(--text-sidebar-hover)}.sidebar nav a.active{box-shadow:inset 3px 0 0 #a8d4c9}.sidebar-toggle{display:block;width:100%;padding:.6rem 1.25rem;color:var(--text-sidebar);background:none;border:none;text-align:left;font-size:.9rem;cursor:pointer;transition:background .2s}.sidebar-toggle:hover{background:rgba(255,255,255,.1);color:var(--text-sidebar-hover)}.sidebar-account{margin-top:auto;padding:1rem 1.1rem 0;border-top:1px solid rgb(255 255 255/12%);display:flex;flex-direction:column;gap:.5rem}.sidebar-account span{color:var(--text-sidebar);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-account button{width:100%;justify-content:center;background:transparent;border-color:rgba(255,255,255,.25);color:#fff}.main-content{flex:1 1;min-width:0;padding:clamp(1.5rem,3.2vw,3.25rem);overflow-x:hidden}.page-frame{width:min(100%,1560px);margin:0 auto}.page-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:1.75rem}.page-intro h1{font-size:clamp(1.9rem,3vw,2.65rem);font-weight:720;line-height:1.08;letter-spacing:-.045em}.page-intro p{max-width:720px;margin-top:.65rem;color:var(--text-secondary);font-size:.94rem}.page-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:.55rem;flex:0 0 auto}.assistant-layout{display:grid;grid-template-columns:minmax(190px,220px) minmax(0,1fr) minmax(220px,270px);grid-gap:1rem;gap:1rem;min-height:590px}.assistant-history,.assistant-panel,.assistant-task-sidebar{min-width:0;margin-bottom:0}.assistant-history{padding:1rem}.assistant-composer-footer,.assistant-panel-heading,.assistant-section-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.assistant-section-heading{padding-bottom:.75rem;border-bottom:1px solid var(--border)}.assistant-panel-heading h2,.assistant-section-heading h2{font-size:1rem;font-weight:600}.assistant-history-empty{padding:2rem .5rem;text-align:center}.assistant-conversation-list{display:grid;grid-gap:.35rem;gap:.35rem;margin-top:.75rem}.assistant-conversation-item{display:block;width:100%;padding:.65rem .7rem;border:1px solid transparent;border-radius:6px;background:transparent;text-align:left}.assistant-conversation-item.selected,.assistant-conversation-item:hover{border-color:#bfdbfe;background:#eff6ff}.assistant-conversation-item span,.assistant-conversation-item strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assistant-conversation-item strong{font-size:.85rem;font-weight:600}.assistant-conversation-item span{margin-top:.2rem;color:var(--text-secondary);font-size:.75rem}.assistant-panel{display:flex;flex-direction:column;padding:0;overflow:hidden}.assistant-panel-heading{min-height:66px;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.assistant-panel-heading .text-muted{display:block;margin-top:.15rem;font-size:.78rem}.assistant-context-bar{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.6rem 1.25rem;border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:.8rem}.assistant-context-hint{color:var(--text-secondary);font-size:.76rem}.assistant-context-bar input{width:3.6rem;padding:.3rem .45rem}.assistant-context-bar .btn{margin-left:.1rem}.assistant-preference-toggle{padding:0;border:0;background:transparent;color:var(--primary);font-size:.8rem}.assistant-preference-toggle:hover{background:transparent;color:var(--primary-hover)}.assistant-preference-panel{display:flex;align-items:flex-end;gap:.55rem;padding:.7rem 1.25rem;border-bottom:1px solid var(--border);background:#fafcff}.assistant-preference-panel>span{color:var(--text-secondary);font-size:.76rem}.assistant-preference-panel label{display:grid;grid-gap:.2rem;gap:.2rem;color:var(--text-secondary);font-size:.72rem}.assistant-preference-panel input{width:5rem;padding:.35rem .5rem}.assistant-slot-summary{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.4rem;color:var(--text-secondary);font-size:.72rem}.assistant-slot-summary span{padding:.15rem .35rem;border:1px solid var(--border);border-radius:4px;background:#f8fafc}.assistant-messages{flex:1 1;min-height:360px;overflow-y:auto;padding:1.5rem;background:#fcfcfd}.assistant-message{max-width:76%;margin-bottom:1rem}.assistant-message.user{margin-left:auto}.assistant-message-meta{margin-bottom:.3rem;color:var(--text-secondary);font-size:.75rem}.assistant-message.user .assistant-message-meta{text-align:right}.assistant-message-body{display:inline-block;padding:.7rem .85rem;border:1px solid var(--border);border-radius:6px;background:#fff;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9rem}.assistant-message.user .assistant-message-body{border-color:#bfdbfe;background:#eff6ff}.assistant-tool-status{margin-top:.3rem;color:var(--info);font-size:.75rem}.assistant-message-cards{display:grid;grid-gap:.55rem;gap:.55rem;margin-top:.55rem}.assistant-assumptions{display:grid;grid-gap:.35rem;gap:.35rem}.assistant-assumptions-label{color:var(--text-secondary);font-size:.72rem}.assistant-assumption-list{display:flex;flex-wrap:wrap;gap:.35rem}.assistant-assumption-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .45rem;border:1px solid #d7dee8;border-radius:999px;background:#fff;color:#374151;font-size:.73rem}.assistant-assumption-chip.assumed{border-color:#bfdbfe;background:#eff6ff}.assistant-assumption-chip small{color:var(--text-secondary);font-size:.65rem}.assistant-chip-edit{padding:0;border:0;background:transparent;color:var(--primary);font-size:.68rem}.assistant-chip-edit:hover{background:transparent;text-decoration:underline}.assistant-clarification-card,.assistant-confirmation-card,.assistant-result-card,.assistant-task-card{padding:.7rem .8rem;border:1px solid #dbe3ef;border-radius:8px;background:#fff;font-size:.8rem}.assistant-clarification-card{border-color:#bfdbfe;background:#f8fbff}.assistant-card-kicker{margin-bottom:.3rem;color:var(--text-secondary);font-size:.68rem;font-weight:600;letter-spacing:.02em}.assistant-clarification-card p,.assistant-confirmation-card p{margin:.2rem 0}.assistant-confirmation-actions,.assistant-missing-list,.assistant-result-meta,.assistant-suggestion-list{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.55rem}.assistant-missing-list span,.assistant-result-meta span{padding:.18rem .4rem;border-radius:4px;background:#f1f5f9;color:var(--text-secondary);font-size:.7rem}.assistant-suggestion-list .btn{color:var(--primary)}.assistant-task-card-heading{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.assistant-task-status{color:var(--info);font-size:.7rem;white-space:nowrap}.assistant-task-conditions{margin:.2rem 0;color:#374151;font-size:.75rem}.assistant-task-progress{display:flex;align-items:center;gap:.3rem;margin:.3rem 0 0;color:var(--text-secondary);font-size:.74rem}.assistant-login-block{display:grid;grid-gap:.25rem;gap:.25rem;margin-top:.5rem;padding-top:.45rem;border-top:1px solid #eef2f7}.assistant-login-action{display:inline-block;color:var(--primary);font-size:.78rem;font-weight:600;text-decoration:none}.assistant-login-action:hover{text-decoration:underline}.assistant-login-block small{color:var(--text-secondary);font-size:.7rem}.assistant-task-retry{margin-top:.5rem;color:var(--primary)}.assistant-task-cancelled-note{margin:.35rem 0;padding:.55rem .6rem;border:1px solid #e5e7eb;border-radius:6px;background:#f9fafb;color:var(--text-secondary);font-size:.76rem}.assistant-failure-actions{margin-top:.55rem}.assistant-failure-actions .btn{color:var(--primary)}.assistant-task-link{display:inline-block;margin-top:.45rem;color:var(--primary);font-size:.74rem;text-decoration:none}.assistant-task-link:hover{text-decoration:underline}.assistant-task-card.compact{padding:.55rem .65rem}.assistant-result-list{display:grid;grid-gap:.2rem;gap:.2rem;padding-left:1.1rem}.assistant-result-list li{color:#374151}.assistant-result-meta{margin-top:.55rem}.assistant-result-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.5rem;gap:.5rem;margin:.55rem 0 .65rem}.assistant-result-overview>div{display:grid;grid-gap:.15rem;gap:.15rem;padding:.55rem .65rem;border:1px solid #e5eaf2;border-radius:7px;background:#f8fafc}.assistant-result-overview span{color:var(--text-secondary);font-size:.68rem}.assistant-result-overview strong{color:#1f2937;font-size:1rem}.assistant-result-overview .assistant-result-minimum{border-color:#bfdbfe;background:#eff6ff}.assistant-result-minimum strong{color:#1d4ed8;font-size:1.15rem}.assistant-quote-list{display:grid;grid-gap:.4rem;gap:.4rem}.assistant-quote-item{padding:.55rem .6rem;border:1px solid #e5eaf2;border-radius:7px;background:#fff}.assistant-quote-item-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem;color:#374151;font-size:.75rem}.assistant-quote-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.35rem .6rem;gap:.35rem .6rem;margin-top:.45rem;color:#4b5563;font-size:.68rem}.assistant-quote-details span{display:grid;grid-gap:.12rem;gap:.12rem;min-width:0}.assistant-quote-details span:last-child{grid-column:1/-1}.assistant-quote-details b{color:var(--text-secondary);font-size:.61rem;font-weight:500}.assistant-quote-price{color:#111827!important;font-weight:700;white-space:nowrap}.assistant-quote-price small{display:block;color:var(--text-secondary);font-size:.62rem;font-weight:400;text-decoration:line-through}.assistant-result-more{margin:.45rem 0 0;color:var(--text-secondary);font-size:.7rem}.assistant-evidence{margin-top:.55rem;border-top:1px solid #eef2f7;padding-top:.45rem;color:var(--text-secondary);font-size:.72rem}.assistant-evidence summary{cursor:pointer;color:var(--primary)}.assistant-evidence ul{display:grid;grid-gap:.25rem;gap:.25rem;margin-top:.35rem;padding-left:1rem}.assistant-evidence li{display:flex;justify-content:space-between;gap:.5rem}.assistant-evidence a{color:var(--primary)}.assistant-evidence small{color:var(--text-secondary)}.assistant-confirmation-card{border-color:#f5c66b;background:#fffaf0}.assistant-confirmation-card.resolved{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.assistant-confirmation-expiry,.assistant-confirmation-impact{color:var(--text-secondary);font-size:.74rem}.assistant-confirmation-actions .btn{min-width:5.4rem;justify-content:center}.assistant-suggested-replies{display:flex;flex-wrap:wrap;gap:.35rem}.assistant-typing{display:flex;align-items:center;gap:.45rem;margin:.6rem 0;color:var(--text-secondary);font-size:.78rem}.assistant-pulse{display:inline-block;width:.45rem;height:.45rem;border-radius:50%;background:var(--primary);animation:assistant-pulse 1.2s ease-in-out infinite}@keyframes assistant-pulse{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.assistant-archive-button{width:100%;justify-content:center;margin-top:1rem;color:var(--text-secondary);font-size:.75rem}.assistant-task-sidebar{padding:1rem}.assistant-task-empty{display:grid;justify-items:center;grid-gap:.25rem;gap:.25rem;padding:2rem .5rem;color:var(--text-secondary);text-align:center}.assistant-task-empty>span{color:#93c5fd;font-size:1.5rem}.assistant-task-empty p{color:var(--text);font-size:.82rem}.assistant-task-empty small{font-size:.72rem}.assistant-cancel-task{width:100%;justify-content:center;margin-top:.6rem;color:var(--danger);font-size:.76rem}.assistant-task-principles{margin-top:1.2rem;padding-top:.8rem;border-top:1px solid var(--border);color:var(--text-secondary);font-size:.73rem}.assistant-task-principles strong{display:block;margin-bottom:.25rem;color:var(--text);font-size:.76rem}.assistant-message-hint{color:var(--text-secondary);font-size:.85rem}.assistant-composer{padding:1rem 1.25rem;border-top:1px solid var(--border);background:#fff}.assistant-composer textarea{min-height:76px;resize:vertical}.assistant-composer-footer{margin-top:.55rem}.assistant-composer-footer .btn{flex:0 0 auto}.assistant-empty{margin:auto;max-width:560px;padding:3rem 1.5rem;text-align:center}.assistant-empty-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-bottom:1rem;border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff;color:var(--primary);font-weight:700;letter-spacing:0}.assistant-empty h2{margin-bottom:.4rem;font-size:1.2rem;font-weight:600}.assistant-empty p{color:var(--text-secondary);font-size:.875rem}.assistant-quick-prompts{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin:1.25rem 0}.assistant-quick-prompts .btn{color:var(--text-secondary);font-size:.8rem}@media (max-width:1180px){.assistant-layout{grid-template-columns:minmax(180px,210px) minmax(0,1fr)}.assistant-task-sidebar{grid-column:2}}@media (max-width:768px){.assistant-layout{grid-template-columns:1fr;min-height:0}.assistant-history{padding:.85rem}.assistant-conversation-list{display:flex;overflow-x:auto}.assistant-conversation-item{min-width:150px}.assistant-panel{min-height:620px}.assistant-task-sidebar{grid-column:auto;order:3}.assistant-message{max-width:92%}.assistant-composer-footer{align-items:flex-start;flex-direction:column}.assistant-composer-footer .btn{width:100%;justify-content:center}.assistant-preference-panel{align-items:stretch;flex-wrap:wrap}.assistant-preference-panel label{flex:1 1 6rem}}@media (max-width:480px){.assistant-panel-heading{flex-direction:column;align-items:flex-start}.assistant-login-block small{line-height:1.35}.assistant-confirmation-actions{flex-direction:column}.assistant-confirmation-actions .btn{width:100%}.assistant-failure-actions .btn,.assistant-task-retry{width:100%;justify-content:center}}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.5rem;margin-bottom:1rem;box-shadow:var(--shadow-low)}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:.6rem .8rem;border-bottom:1px solid var(--border);font-size:.875rem}th{font-weight:600;color:var(--text-secondary);white-space:nowrap}tr:hover{background:#fafafa}.table-wrap{overflow-x:auto;max-width:100%}.table-wrap table{min-width:760px}.badge{display:inline-block;padding:.2rem .6rem;border-radius:4px;font-size:.75rem;font-weight:600;white-space:nowrap}.badge-active,.badge-ready,.badge-succeeded{background:#dcfce7;color:#166534}.badge-paused,.badge-pending,.badge-starting{background:#fef9c3;color:#854d0e}.badge-blocked,.badge-expired,.badge-failed,.badge-stale{background:#fee2e2;color:#991b1b}.badge-running{background:#dbeafe;color:#1e40af}.badge-partial{background:#fff3cd;color:#856404}.badge-retry{background:#e0e7ff;color:#3730a3}.badge-degraded,.badge-stopping{background:#ffedd5;color:#9a3412}.badge-default{background:#f3f4f6;color:#374151}.btn,button{display:inline-flex;align-items:center;gap:.4rem;min-height:40px;padding:.52rem .95rem;border-radius:8px;border:1px solid var(--border-strong);background:#fff;color:var(--text);cursor:pointer;font-size:.875rem;font-weight:560;line-height:1.2;text-decoration:none;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.btn:hover,button:hover{border-color:#aebdb6;background:var(--surface-subtle);text-decoration:none}.btn:active,button:active{transform:translateY(1px)}.btn:disabled,button:disabled{cursor:not-allowed;opacity:.46}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-quiet{border-color:transparent;background:transparent;color:var(--primary)}.btn-quiet:hover{border-color:var(--border);background:var(--primary-soft)}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-sm{padding:.3rem .6rem;font-size:.8rem}.form-group{margin-bottom:1rem}.form-group label{display:block;font-weight:600;font-size:.875rem;margin-bottom:.3rem}input,select,textarea{width:100%;padding:.5rem .75rem;border:1px solid var(--border);border-radius:8px;font-size:.9rem;background:#fff;color:var(--text);transition:border-color .16s ease,box-shadow .16s ease}input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent)}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.form-row-3{grid-template-columns:1fr 1fr 1fr;grid-gap:1rem}.form-row-3,.grid-2{display:grid;gap:1rem}.grid-2{grid-template-columns:1fr 1fr;grid-gap:1rem}.grid-3{grid-template-columns:1fr 1fr 1fr;grid-gap:1rem}.grid-3,.grid-4{display:grid;gap:1rem}.grid-4{grid-template-columns:repeat(4,1fr);grid-gap:1rem}.login-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background:#f0f2f5}.login-card{width:380px;background:#fff;border-radius:12px;padding:2.5rem;box-shadow:0 4px 24px rgba(0,0,0,.08)}.login-card h1{text-align:center;margin-bottom:1.5rem;font-size:1.3rem}.auth-switch{margin-top:1rem;text-align:center;color:var(--text-secondary);font-size:.85rem}.auth-switch a{color:var(--primary);font-weight:600}.text-muted{color:var(--text-secondary);font-size:.85rem}.alert{padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.875rem}.alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.alert-success{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.alert-info{background:#dbeafe;color:#1e40af;border:1px solid #bfdbfe}.loading{padding:2rem}.empty,.loading{text-align:center;color:var(--text-secondary)}.empty{padding:3rem;font-style:italic}.detail-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.5rem 2rem;gap:.5rem 2rem}.detail-label{font-size:.8rem;color:var(--text-secondary);font-weight:600}.detail-value{font-size:.9rem}.technical-json{margin-top:.5rem;max-height:280px;overflow:auto;padding:.75rem;border-radius:6px;background:#f3f4f6;font-size:.78rem;white-space:pre-wrap;overflow-wrap:anywhere}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.page-header h1{font-size:1.5rem;font-weight:600}.tabs{display:flex;gap:.35rem;border-bottom:1px solid var(--border);margin-bottom:1.25rem}.tab{min-height:44px;padding:.65rem 1rem;cursor:pointer;border-radius:0;background:none;font-size:.9rem;color:var(--text-secondary);border:none;border-bottom:3px solid transparent;margin-bottom:-1px}.tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:680;background:transparent}.tab:hover{border-color:transparent transparent var(--border-strong);background:transparent}.stat-card{text-align:center;padding:1rem}.stat-value{font-size:1.8rem;font-weight:700}.stat-label{font-size:.75rem;color:var(--text-secondary)}.navbar{display:flex;justify-content:space-between;align-items:center;padding:.75rem 2rem;background:#fff;border-bottom:1px solid var(--border);margin-bottom:1.5rem}.navbar h2{font-size:1rem}.status-indicator{display:inline-block;padding:.2rem .6rem;border-radius:4px;font-size:.75rem;font-weight:600;white-space:nowrap}.status-active,.status-monitoring,.status-normal,.status-valid{background:#dcfce7;color:#166534}.status-needs_confirmation,.status-not_monitored,.status-paused,.status-waiting_first_run{background:#fef9c3;color:#854d0e}.status-collection_error,.status-manual_action_required,.status-mapping_required{background:#fff3cd;color:#856404}.status-disabled,.status-ended,.status-expired{background:#f3f4f6;color:#6b7280}.status-partial_error{background:#ffedd5;color:#9a3412}.status-pending{background:#fef9c3;color:#854d0e}.status-processing{background:#dbeafe;color:#1e40af}.status-completed{background:#dcfce7;color:#166534}.status-ignored{background:#f3f4f6;color:#6b7280}.status-unread{background:#fee2e2;color:#991b1b}.status-viewed{background:#fef9c3;color:#854d0e}.status-confirmed{background:#dcfce7;color:#166534}.status-login_expired{background:#fee2e2;color:#991b1b}.status-needs_verification{background:#fff3cd;color:#856404}.status-service_error{background:#fee2e2;color:#991b1b}.status-not_configured{background:#f3f4f6;color:#6b7280}.type-badge{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600;white-space:nowrap}.type-login_expired{background:#fee2e2;color:#991b1b}.type-captcha{background:#fff3cd;color:#856404}.type-hotel_mapping,.type-room_mapping{background:#e0e7ff;color:#3730a3}.type-price_anomaly{background:#ffedd5;color:#9a3412}.type-data_conflict,.type-missing_query_parameters,.type-page_structure_changed{background:#f3f4f6;color:#374151}.type-price_below_target,.type-price_drop_amount,.type-price_drop_percentage{background:#dcfce7;color:#166534}.type-price_rise_percentage{background:#fee2e2;color:#991b1b}.type-hotel_available_again,.type-room_available_again{background:#dcfce7;color:#166534}.type-consecutive_failures,.type-price_not_updated{background:#fee2e2;color:#991b1b}.priority-badge{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600}.priority-high{background:#fee2e2;color:#991b1b}.priority-medium{background:#fef9c3;color:#854d0e}.priority-low{background:#e0e7ff;color:#3730a3}.sidebar-header{padding:0 1.25rem;margin-bottom:1.5rem}.sidebar-header h2{padding:0;font-size:1rem;margin-bottom:.25rem;color:#fff;font-weight:600}.demo-data-banner{flex-wrap:wrap}.analysis-toolbar{padding:1.1rem 1.25rem}.analysis-toolbar-main{display:grid;grid-template-columns:minmax(180px,1.25fr) minmax(180px,1fr) auto minmax(160px,.9fr);grid-gap:1rem;gap:1rem;align-items:end}.analysis-toolbar .form-group{margin-bottom:0}.analysis-toolbar-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.analysis-inline-warning{padding:.5rem .75rem;color:var(--warning);background:#fffbeb;border:1px solid #fde68a;border-radius:6px;font-size:.875rem}.segmented-control{display:flex}.segmented-control button{border-radius:0;margin-left:-1px;white-space:nowrap}.segmented-control button:first-child{margin-left:0;border-radius:6px 0 0 6px}.segmented-control button:last-child{border-radius:0 6px 6px 0}.segmented-control button.active{color:#fff;background:var(--primary);border-color:var(--primary)}.analysis-advanced{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));grid-gap:.75rem 1rem;gap:.75rem 1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.analysis-form-error{margin-top:.75rem;color:var(--danger);font-size:.85rem}.field-error{margin-top:.3rem;color:var(--danger);font-size:.8rem}.analysis-summary{display:flex;justify-content:space-between;align-items:center;gap:1.5rem}.analysis-summary h2{margin:.15rem 0 .25rem;font-size:1.2rem}.analysis-summary p{color:var(--text-secondary);font-size:.85rem}.analysis-kicker{color:var(--primary);font-size:.8rem;font-weight:600}.analysis-stats{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));grid-gap:1.25rem;gap:1.25rem;min-width:min(560px,52%)}.analysis-stat{display:flex;flex-direction:column;gap:.1rem}.analysis-stat strong{font-size:1.55rem;line-height:1.2}.analysis-stat span{color:var(--text-secondary);font-size:.75rem;white-space:nowrap}.analysis-stat-danger{color:var(--danger)}.analysis-stat-success{color:var(--success)}.analysis-stat-warning{color:var(--warning)}.analysis-warning-item{display:block;margin-top:.25rem}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.section-heading h3{margin-bottom:.15rem}.analysis-table-wrap{max-height:560px;overflow:auto}.analysis-table{min-width:820px!important}.analysis-table tbody tr{cursor:pointer}.analysis-table tbody tr:focus{outline:2px solid var(--primary);outline-offset:-2px}.analysis-row-selected{background:#eff6ff!important}.analysis-date-button{padding:0;border:0;background:none;color:var(--primary);font-weight:600}.analysis-date-button:hover{background:none;text-decoration:underline}.price-emphasis{font-weight:700;white-space:nowrap}.analysis-subject-label{display:inline-block;margin-left:.35rem;color:var(--primary);font-size:.7rem}.analysis-detail{border-color:#bfdbfe}@media (max-width:768px){.app-shell{display:block;min-height:100vh}.mobile-topbar{display:flex;position:-webkit-sticky;position:sticky;top:0;z-index:40;height:52px;align-items:center;gap:.75rem;padding:0 1rem;background:var(--bg-sidebar);color:#fff;font-weight:600}.mobile-menu-button{width:36px;height:36px;padding:0;justify-content:center;border-color:rgba(255,255,255,.25);background:transparent;color:#fff;font-size:1.25rem}.topbar-reset-button{flex:0 0 auto;padding:.35rem .65rem;border-color:rgba(220,38,38,.72);background:var(--danger);color:#fff;font-size:.8rem;white-space:nowrap}.topbar-reset-button:disabled{opacity:.65;cursor:not-allowed}.sidebar{position:fixed;inset:0 auto 0 0;z-index:60;width:min(84vw,288px);overflow-y:auto;transform:translateX(-100%);transition:transform .2s ease;box-shadow:8px 0 24px rgba(0,0,0,.24)}.sidebar.sidebar-open{transform:translateX(0)}.sidebar-header{display:flex;align-items:center;justify-content:space-between}.sidebar-close-button{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.35);border-radius:6px;background:transparent;color:#fff;font-size:1.4rem}.sidebar-backdrop{display:block;position:fixed;inset:0;z-index:50;width:100%;height:100%;border:0;border-radius:0;background:rgba(0,0,0,.45);padding:0}.main-content{width:100%;padding:1rem;overflow-x:hidden}.page-intro{align-items:flex-start;flex-direction:column;gap:1rem;margin-bottom:1.25rem}.page-intro h1{font-size:2rem}.page-actions{width:100%;justify-content:flex-start}.page-header{align-items:flex-start;gap:.75rem;flex-wrap:wrap}.card{padding:1rem}.form-row,.form-row-3,.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.filter-row{flex-direction:column}.filter-row .form-group{flex:1 1 auto!important;min-width:0!important}.settings-form-row{flex-direction:column}.settings-form-row .form-group{flex:1 1 auto!important;min-width:0!important}.analysis-toolbar-main{grid-template-columns:1fr;gap:.7rem}.analysis-toolbar-footer{align-items:flex-start;flex-direction:column}.analysis-advanced{grid-template-columns:1fr 1fr}.analysis-summary{align-items:stretch;flex-direction:column;gap:1rem}.analysis-stats{grid-template-columns:repeat(2,1fr);min-width:0;gap:.85rem}.analysis-detail{padding:.9rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.workspace-page{max-width:1280px;margin:0 auto}.workspace-toolbar{margin-bottom:1rem}.workspace-actions{display:flex;gap:.5rem;margin-top:.75rem}.workspace-status{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.workspace-connection{font-size:.78rem;font-weight:600}.workspace-connection-connected{color:var(--success)}.workspace-connection-connecting,.workspace-connection-reconnecting{color:var(--warning)}.workspace-connection-closed,.workspace-connection-disconnected{color:var(--text-secondary)}.workspace-layout{display:grid;grid-template-columns:1fr 380px;grid-gap:1rem;gap:1rem}.workspace-browser-card{display:flex;flex-direction:column}.workspace-address{font-size:.75rem;color:var(--text-secondary);padding:.3rem .5rem;background:#f5f5f5;border-radius:4px;margin-bottom:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-viewport{position:relative;aspect-ratio:1280/800;border:1px solid var(--border);border-radius:6px;overflow:hidden;cursor:default;background:#111;min-height:0;outline:none}.workspace-viewport:focus{border-color:var(--primary);box-shadow:0 0 0 2px rgba(37,99,235,.2)}.workspace-viewport img,.workspace-viewport video{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.workspace-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);background:#f5f5f5;font-size:.9rem;pointer-events:none}.workspace-help{font-size:.75rem;color:var(--text-secondary);margin-top:.4rem}.workspace-text-entry{margin-top:.8rem}.workspace-text-entry label{display:block;font-size:.8rem;font-weight:600;margin-bottom:.3rem}.workspace-text-entry-row{display:flex;align-items:center;gap:.5rem}.workspace-text-entry-row input{flex:1 1;min-width:0}.workspace-text-entry-row .btn{flex-shrink:0}.workspace-agent-card{display:flex;flex-direction:column}.workspace-events{margin-top:1rem}.workspace-step{display:flex;flex-direction:column;gap:.2rem;padding:.5rem .75rem;border:1px solid var(--border);border-radius:6px;margin-bottom:.4rem;font-size:.85rem}.workspace-step small{color:var(--text-secondary)}@media (max-width:900px){.workspace-layout{grid-template-columns:1fr}}.file-upload-zone:focus-within{outline:3px solid color-mix(in srgb,var(--primary) 45%,transparent);outline-offset:3px}