.ov-datebar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.ov-datebar .input{width:140px}.ov-range-note{margin-left:auto}.ov-hero{display:flex;flex-wrap:wrap;align-items:center;gap:18px;padding:18px 22px;border:1px solid var(--border, #e2e6dc);border-radius:14px;background:linear-gradient(135deg,var(--primary-soft, #e8f0e4) 0%,var(--card-bg, #ffffff) 70%);margin-bottom:12px}.ov-hero-main{display:flex;align-items:baseline;gap:8px}.ov-hero-num{font-size:42px;font-weight:800;line-height:1;letter-spacing:-1px;color:var(--red, #dc2626);font-variant-numeric:tabular-nums}.ov-hero-unit{font-size:15px;color:var(--text-sub, #768477)}.ov-hero-label{font-size:15px;font-weight:700;color:var(--title, #293f35)}.ov-hero-sub{font-size:12px;color:var(--text-sub, #768477);margin-top:4px}.ov-hero-chips{display:flex;flex-wrap:wrap;gap:10px;margin-left:auto}.ov-chip{border:1px solid var(--border, #e2e6dc);border-radius:10px;padding:8px 14px;background:var(--card-bg, #fff);min-width:96px}.ov-chip-num{font-size:20px;font-weight:700;color:var(--title, #293f35);font-variant-numeric:tabular-nums}.ov-chip-label{font-size:12px;color:var(--text-sub, #768477);margin-top:2px}.ov-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;margin-bottom:12px}.ov-panel{border:1px solid var(--border, #e2e6dc);border-radius:12px;padding:14px 16px;background:var(--card-bg, #fff)}.ov-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.ov-panel-title{font-size:14px;font-weight:700;color:var(--title, #293f35)}.ov-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 10px}.ov-metric-num{font-size:22px;font-weight:700;color:var(--title, #293f35);font-variant-numeric:tabular-nums}.ov-metric-num.red{color:var(--red, #dc2626)}.ov-metric-label{font-size:12px;color:var(--text-sub, #768477);margin-top:3px}.ov-panel.pending{border-style:dashed;background:var(--primary-soft, #f4f7f1)}.ov-pending-tag{font-size:11px;color:var(--text-sub, #768477);border:1px dashed var(--border, #cdd5c8);border-radius:6px;padding:1px 7px}.ov-pending-body{font-size:12px;color:var(--text-sub, #768477);line-height:1.7}.ov-pending-num{font-size:22px;font-weight:700;color:var(--text-weak, #899488)}.ov-cols{display:grid;grid-template-columns:1.2fr 1fr;gap:12px;margin-bottom:12px}.ov-pie-row{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.ov-donut{flex:0 0 auto}.ov-legend{flex:1 1 200px;display:flex;flex-direction:column;gap:7px;min-width:180px}.ov-legend-item{display:flex;align-items:center;gap:8px;font-size:13px}.ov-legend-dot{width:11px;height:11px;border-radius:3px;flex:0 0 auto}.ov-legend-name{color:var(--text-main, #465a4e);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ov-legend-val{margin-left:auto;font-weight:600;color:var(--title, #293f35);font-variant-numeric:tabular-nums}.ov-legend-pct{width:52px;text-align:right;color:var(--text-sub, #768477);font-variant-numeric:tabular-nums}.ov-note{font-size:12px;color:var(--text-sub, #768477);line-height:1.7;margin:2px 2px 0}@media (max-width: 760px){.ov-cols{grid-template-columns:1fr}.ov-hero-num{font-size:32px}.ov-hero-chips{margin-left:0}.ov-datebar .input{width:130px}}.ml-results-page{color:#304c39}.ml-results-page>.page-head{margin-bottom:16px}.ml-results-page>.page-head h1{letter-spacing:-.5px}.ml-results-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 16px;padding:14px 16px;border:1px solid #dfe7da;border-radius:14px;background:#f7f8f2}.ml-results-toolbar-title{display:flex;flex-direction:column;gap:2px;min-width:240px;margin-right:auto}.ml-results-toolbar-title strong{color:#385b43;font-size:14px;font-weight:650}.ml-results-toolbar-title>span:last-child{color:#839184;font-size:11px}.ml-results-eyebrow{color:#8fa08f;font-size:9px;letter-spacing:1.8px}.ml-results-filter{display:inline-flex;align-items:center;gap:8px}.ml-results-filter .field-label{color:#6c7d6d;font-size:11px;white-space:nowrap}.ml-results-filter .input{min-width:150px;height:34px;border-color:#d5e1d1;background:#fffefa}.ml-results-readonly{padding:6px 9px;border-radius:999px;background:#e9f1e5;color:#527355;font-size:10px;white-space:nowrap}.ml-results-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.ml-results-page .ml-result-stat{min-height:126px;overflow:hidden;border:1px solid #dfe7da;border-radius:14px;background:#fffefa;box-shadow:0 3px 13px #38523a0d}.ml-results-page .ml-result-stat .card-head{padding:14px 16px 9px;border-bottom:1px solid #edf1e9}.ml-results-page .ml-result-stat .card-title{color:#657765;font-size:11px;font-weight:600}.ml-results-page .ml-result-stat .card-body{padding:10px 16px 14px}.ml-result-stat-value{color:#385f45;font-size:27px;font-weight:650;line-height:1.15;letter-spacing:-.4px}.ml-result-stat--outcome{border-top:3px solid #7ea387!important}.ml-result-stat--outcome .ml-result-stat-value{color:#3f7150}.ml-results-page .stat-sub{color:#849285;font-size:10px;line-height:1.55}.ml-lineage-card{overflow:hidden;border:1px solid #dfe7da;border-radius:14px;background:#fffefa;box-shadow:0 3px 13px #38523a0a}.ml-lineage-card>.card-head{padding:16px 18px;border-bottom:1px solid #e4ebe0;background:#fbfcf8}.ml-lineage-card>.card-head .card-title{color:#385b43;font-weight:650}.ml-lineage-title{display:inline-flex;align-items:baseline;gap:9px}.ml-lineage-title small{color:#899789;font-size:10px;font-weight:400}.ml-lineage-body{padding:14px 16px 16px}.ml-lineage-table-wrap{max-height:500px;overflow:auto;border:1px solid #e2e9de;border-radius:10px}.ml-lineage-table{min-width:980px}.ml-lineage-table th{position:sticky;top:0;z-index:1;background:#eef3e9;color:#627563;border-bottom-color:#dce6d9;font-size:11px;font-weight:650}.ml-lineage-table td{padding:11px 10px;border-bottom-color:#edf1e9;color:#4d624f;font-size:11px;vertical-align:top}.ml-lineage-table tbody tr:hover{background:#f7faf4}.ml-lineage-table .badge{white-space:nowrap}.ml-results-note{margin-top:10px;padding:9px 11px;border-radius:8px;background:#f5f7f0;color:#839083}.ml-results-page .badge{border:1px solid transparent}.ml-results-page .badge-success{background:#e6f1e5;color:#4a7954;border-color:#c9dec9}.ml-results-page .badge-info{background:#e8f0ec;color:#4b7060;border-color:#cddfd3}.ml-results-page .badge-warn{background:#fbf0dd;color:#a67442;border-color:#eed5ae}@media (max-width: 1000px){.ml-results-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ml-results-toolbar-title{flex-basis:100%}}@media (max-width: 620px){.ml-results-page>.page-head{margin-bottom:12px}.ml-results-toolbar{align-items:stretch;flex-direction:column;padding:13px}.ml-results-toolbar-title{min-width:0}.ml-results-filter{justify-content:space-between}.ml-results-filter .input{min-width:0;flex:1}.ml-results-readonly{align-self:flex-start}.ml-results-stat-grid{grid-template-columns:1fr;gap:9px}.ml-results-page .ml-result-stat{min-height:0}.ml-result-stat-value{font-size:24px}.ml-lineage-body{padding:10px}.ml-lineage-table-wrap{max-height:58vh}}:root{--page-bg: #eef2f8;--panel-bg: #ffffff;--panel-bg-soft: #f7fafd;--panel-bg-secondary: #f5f8fc;--head-bg: #f7f9fc;--head-text: #475569;--head-border: #e6ecf3;--title: #0f172a;--text-main: #334155;--text-sub: #64748b;--text-weak: #94a3b8;--primary: #0060f0;--primary-hover: #0050d0;--primary-soft: #e8f1ff;--border: #e2e8f0;--border-soft: #dfe5eb;--green: #16a34a;--green-bg: #e9f7ef;--orange: #ea580c;--orange-bg: #fff1e7;--red: #dc2626;--red-bg: #fdecec;--gray: #94a3b8;--gray-bg: #f1f5f9;--amber: #d97706;--amber-bg: #fef6e0;--blue: #0060f0;--blue-bg: #e8f1ff;--switch-open: #0a93e8;--switch-open-hover: #0884d1;--switch-closed: #ea580c;--switch-closed-hover: #d54e08;--switch-off-track: #cbd5e1;--radius-card: 12px;--radius-ctl: 8px;--shadow-card: 0 1px 2px rgba(15, 23, 42, .05), 0 2px 6px rgba(15, 23, 42, .04);--shadow-pop: 0 12px 32px rgba(15, 23, 42, .14)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--page-bg);color:var(--text-main);font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-size:13px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-y:hidden}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit}.num,.stat-value,.cell-price,table td,table th{font-variant-numeric:tabular-nums}.app-shell{height:100vh;display:flex;flex-direction:row;min-width:0;overflow:hidden}.sidebar{position:fixed;top:0;bottom:0;left:0;width:180px;height:100vh;background:var(--panel-bg);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:50}.sidebar-logo{padding:12px 16px;border-top:1px solid var(--border);border-bottom:none;margin-top:auto}.sidebar-logo .logo-name{font-size:16px;font-weight:700;letter-spacing:1px;color:var(--title)}.sidebar-logo .logo-name b{color:var(--primary)}.sidebar-logo .logo-sub{margin-top:2px;font-size:10px;letter-spacing:2px;color:var(--text-weak)}.nav-list{list-style:none;margin:10px 0;padding:0 8px;flex:none}.nav-item{display:flex;align-items:center;gap:8px;padding:9px 10px;margin-bottom:2px;border-radius:var(--radius-ctl);color:var(--text-sub);cursor:pointer;font-size:13px;-webkit-user-select:none;user-select:none;white-space:nowrap}.nav-item:hover{background:var(--panel-bg-secondary);text-decoration:none;color:var(--text-main)}.nav-item.active{background:var(--primary-soft);color:var(--primary);font-weight:600}.nav-item .nav-icon{width:16px;height:16px;flex:none;display:flex;align-items:center;justify-content:center}.main{flex:1;min-width:0;margin-left:180px;height:100vh;display:flex;flex-direction:column;overflow:hidden}.topbar{background:var(--panel-bg);border-bottom:1px solid var(--border);padding:7px 16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;flex:none;z-index:20}.topbar .notice-bar{width:100%;margin-top:4px;padding:2px 12px;font-size:11px}.topbar-row{display:contents}.topbar-brand{display:flex;flex-direction:column;white-space:nowrap;flex:none}.topbar-brand .brand-title{font-size:15px;font-weight:700;color:var(--title);line-height:1.25}.topbar-brand .brand-title .sep{color:var(--text-weak);font-weight:400;margin:0 3px}.topbar-brand .brand-sub{font-size:10px;color:var(--text-weak);line-height:1.3}.topbar-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;row-gap:6px;min-width:0;overflow:visible}.topbar-update{font-size:12px;color:var(--text-sub);white-space:nowrap}.topbar-update b{color:var(--title);font-weight:600}.tool-strip{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px;padding-top:8px;border-top:1px dashed var(--border);font-size:12px;color:var(--text-sub)}.tool-strip .tool-label{color:var(--text-weak)}.notice-bar{margin-top:8px;background:var(--primary-soft);border:1px solid #d5e5ff;color:#2a5aa8;border-radius:var(--radius-ctl);padding:5px 12px;font-size:12px}.page{padding:12px 16px;flex:1;min-width:0;min-height:0;max-width:100%;display:flex;flex-direction:column;gap:12px;overflow:hidden}.page-head{margin-bottom:12px;min-width:0}.breadcrumb{font-size:12px;color:var(--text-weak);margin-bottom:6px}.breadcrumb a{color:var(--text-sub)}.breadcrumb .sep{margin:0 6px;color:var(--text-weak)}.page-title-row{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;min-width:0}.page-title{font-size:18px;font-weight:700;margin:0;color:var(--title)}.page-desc{margin:4px 0 0;color:var(--text-sub);font-size:12px}.page-actions{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.card{background:var(--panel-bg);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);margin-bottom:12px;min-width:0}.card-head{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);flex-wrap:wrap;min-width:0}.card-title{font-size:14px;font-weight:700;margin:0;color:var(--title)}.card-extra{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-sub);flex-wrap:wrap;min-width:0}.card-body{padding:12px 14px;min-width:0}.card-body.no-pad{padding:0}.card-foot{padding:8px 14px;border-top:1px dashed var(--border);color:var(--text-sub);font-size:12px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-width:0}.split-2-1{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:12px;align-items:start;min-width:0}.matrix-full{flex:1 1 auto;min-height:0;min-width:0;display:flex}.matrix-full>.card{flex:1;min-height:0;display:flex;flex-direction:column;margin-bottom:0}.matrix-full .matrix-scroll{flex:1 1 auto;overflow:auto;min-height:0}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:95}.dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:560px;max-width:94vw;max-height:88vh;background:var(--panel-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-pop);z-index:96;display:flex;flex-direction:column;overflow:hidden}.dialog-head{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border);flex:none}.dialog-head .dialog-title{font-size:15px;font-weight:700;color:var(--title)}.dialog-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden}.dialog-foot{flex:none;border-top:1px solid var(--border);padding:10px 16px}.dialog-empty{padding:16px}.adjust-panel .adjust-foot.sticky-foot{position:sticky;bottom:0;background:var(--panel-bg);border-top:1px solid var(--border);padding:10px 0 4px;z-index:2}.room-status-warn{color:var(--red);font-size:11px;font-weight:600;margin-top:4px}.hotel-dropdown{position:relative;display:inline-block}.hotel-menu{position:absolute;top:calc(100% + 4px);left:0;width:360px;max-height:380px;overflow-y:auto;background:var(--panel-bg);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-pop);z-index:80}.hotel-menu-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border);font-size:12px;font-weight:600;color:var(--title);position:sticky;top:0;background:var(--panel-bg)}.hotel-menu-empty{padding:14px 12px;font-size:12px;color:var(--text-weak);text-align:center}.hotel-menu-item{display:flex;align-items:center;padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--panel-bg-secondary)}.hotel-menu-item:last-child{border-bottom:none}.hotel-menu-item:hover{background:var(--panel-bg-soft)}.hotel-menu-item.active{background:var(--primary-soft)}.hotel-menu-item .hm-main{min-width:0;flex:1}.hotel-menu-item .hm-row1{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.hotel-menu-item .hm-name{font-weight:600;color:var(--title)}.hotel-menu-item .hm-row2{font-size:11px;color:var(--text-weak);margin-top:2px}.hotel-menu-item .hm-row2.stale{color:var(--amber)}.hotel-menu-item .hm-check{margin-left:auto;color:var(--primary);font-weight:700}.kpi-row .stat-card{height:88px;position:relative;display:flex;align-items:center;gap:12px;padding:10px 14px}.kpi-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex:none;color:#fff}.kpi-body{min-width:0;flex:1}.kpi-badge{position:absolute;top:8px;right:10px}.bottom-cards{flex:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;height:230px}.bottom-cards>.card{margin-bottom:0;display:flex;flex-direction:column;min-width:0;min-height:0}.bottom-cards .card-body{flex:1 1 auto;overflow-y:auto;min-height:0}.split-1-1{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,1fr);gap:12px;align-items:start;min-width:0}.pill,.badge{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:600;line-height:22px;white-space:nowrap;border:1px solid transparent;vertical-align:middle}.pill-dot,.badge-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none;display:inline-block}.pulse{animation:pulse-dot 1.6s ease-in-out infinite}@keyframes pulse-dot{0%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.82)}to{opacity:1;transform:scale(1)}}.pill--green,.badge-open,.badge-success,.badge-online{background:var(--green-bg);color:#15803d;border-color:transparent}.pill--orange,.badge-closed,.badge-partial{background:var(--orange-bg);color:#c2410c;border-color:transparent}.pill--red,.badge-soldout,.badge-failed{background:var(--red-bg);color:var(--red);border-color:transparent}.pill--gray,.badge-unknown,.badge-outline{background:var(--gray-bg);color:var(--text-sub);border-color:transparent}.pill--amber,.badge-stale,.badge-warn,.badge-login,.badge-pending{background:var(--amber-bg);color:#b45309;border-color:transparent}.pill--blue,.badge-running,.badge-info,.badge-primary{background:var(--blue-bg);color:var(--primary);border-color:transparent}.badge-demo{background:var(--amber-bg);color:var(--amber);border:1px dashed var(--amber);font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:5px 12px;border-radius:var(--radius-ctl);border:1px solid var(--border);background:var(--panel-bg);color:var(--text-main);font-size:12px;cursor:pointer;transition:background .15s ease,border-color .15s ease;white-space:nowrap}.btn:hover{background:var(--panel-bg-secondary)}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 1px 2px #0060f047}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn-primary:active:not(:disabled){transform:translateY(.5px);box-shadow:none}.btn-adjust{display:inline-flex;align-items:center;gap:3px;padding:3px 10px;border:none;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease}.btn-adjust:hover{background:#d8e8ff;color:var(--primary-hover)}.btn-adjust .adj-chevron{font-size:11px;line-height:1;transform:translateY(-.5px)}.btn-ghost{background:transparent;border-color:var(--border);color:var(--text-sub)}.btn-sm{padding:2px 9px;font-size:12px}.btn-link{border:none;background:none;color:var(--primary);padding:2px 4px;cursor:pointer;font-size:12px}.btn-link:hover{text-decoration:underline}.btn:disabled,.btn[disabled]{cursor:not-allowed;opacity:.62;background:var(--panel-bg-secondary);color:var(--text-weak);border-color:var(--border)}.btn-primary:disabled{background:#9db8dd;border-color:#9db8dd;color:#fff}.btn-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.write-gate{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--amber);background:var(--amber-bg);border:1px dashed var(--amber);border-radius:var(--radius-ctl);padding:2px 8px;white-space:nowrap}.field{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap;min-width:0}.field-label{color:var(--text-sub);font-size:12px;min-width:68px}.field-value{color:var(--title);font-size:12px;font-weight:600}.input,.select{height:28px;padding:0 9px;border-radius:var(--radius-ctl);border:1px solid var(--border);background:var(--panel-bg);color:var(--text-main);font-size:12px;font-family:inherit;outline:none;max-width:100%}.input:focus,.select:focus{border-color:var(--primary);box-shadow:0 0 0 2px #0060f01f}.input:disabled{background:var(--panel-bg-secondary);color:var(--text-weak);cursor:not-allowed}.check{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-main);cursor:pointer;-webkit-user-select:none;user-select:none}.check input{accent-color:var(--primary);width:14px;height:14px}.check.disabled{color:var(--text-weak);cursor:not-allowed}.radio-group{display:flex;gap:12px;flex-wrap:wrap}.segmented{display:inline-flex;background:var(--panel-bg-secondary);border:1px solid var(--border);border-radius:var(--radius-ctl);padding:2px;gap:2px;flex-wrap:wrap;max-width:100%}.segmented-item{padding:3px 11px;border-radius:4px;font-size:12px;color:var(--text-sub);cursor:pointer;border:none;background:transparent;white-space:nowrap}.segmented-item:hover{color:var(--text-main)}.segmented-item.active{background:var(--panel-bg);color:var(--primary);font-weight:600;box-shadow:var(--shadow-card)}.stepper{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:var(--radius-ctl);overflow:hidden}.stepper button{width:26px;height:26px;border:none;background:var(--panel-bg-secondary);color:var(--text-main);cursor:pointer;font-size:14px}.stepper button:disabled{color:var(--text-weak);cursor:not-allowed}.stepper .stepper-value{min-width:44px;text-align:center;font-size:13px;font-weight:600}.table-wrap{overflow-x:auto;min-width:0}.table{width:100%;border-collapse:collapse;font-size:12px}.table th{background:var(--head-bg);color:var(--head-text);font-weight:600;text-align:left;padding:9px 10px;white-space:nowrap;border-bottom:1px solid var(--head-border)}.table td{padding:8px 10px;border-bottom:1px solid var(--border);color:var(--text-main);vertical-align:middle}.table tbody tr:hover td{background:var(--panel-bg-soft)}.table tbody tr.clickable{cursor:pointer}.table tbody tr.selected td{background:var(--primary-soft)}.table .cell-sub{color:var(--text-weak);font-size:11px;margin-top:2px}.table .col-strong{font-weight:600;color:var(--title)}.text-right{text-align:right}.text-center{text-align:center}.muted{color:var(--text-weak)}.subtle{color:var(--text-sub)}.nowrap{white-space:nowrap}.stats-bar{display:flex;align-items:stretch;gap:0;background:var(--panel-bg);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);margin:12px 20px 0;padding:6px 4px;flex-wrap:wrap;min-width:0}.stats-seg{display:flex;flex-direction:column;justify-content:center;gap:1px;padding:4px 14px;border-right:1px solid var(--border);min-width:0;flex:1 1 auto}.stats-seg:last-child{border-right:none}.stats-seg .seg-label{font-size:11px;color:var(--text-sub);white-space:nowrap}.stats-seg .seg-value{font-size:16px;font-weight:700;color:var(--title);line-height:1.35;font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:5px;flex-wrap:wrap}.stats-seg .seg-value .unit{font-size:11px;font-weight:400;color:var(--text-sub)}.stats-seg .seg-sub{font-size:11px;color:var(--text-weak);display:flex;align-items:center;gap:5px;flex-wrap:wrap}.win-num{font-size:15px;font-weight:700;color:var(--title);font-variant-numeric:tabular-nums}.win-num.zero{color:var(--text-sub)}.win-num.missing{color:var(--text-weak);font-weight:600;font-size:12px}.win-group{display:inline-flex;align-items:baseline;gap:4px;white-space:nowrap}.delta-up{color:var(--green)}.delta-down{color:var(--red)}.delta-flat{color:var(--text-sub)}.delta-stale{color:var(--amber)}.stat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px;min-width:0}.stat-row.cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.stat-row.cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.stat-card{background:var(--panel-bg);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:12px 14px;min-width:0}.stat-value{font-size:22px;font-weight:700;margin:2px 0;line-height:1.25;color:var(--title)}.stat-value .unit{font-size:12px;font-weight:400;color:var(--text-sub);margin-left:3px}.stat-value.unknown{font-size:15px;color:var(--text-weak);font-weight:600}.stat-sub{font-size:11px;color:var(--text-weak)}.data-meta{font-size:11px;color:var(--text-weak);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.data-meta.stale{color:var(--amber)}.data-meta.failed{color:var(--red)}.empty-box{padding:18px 12px;text-align:center;color:var(--text-weak);font-size:12px;background:var(--panel-bg-soft);border:1px dashed var(--border);border-radius:var(--radius-ctl)}.empty-box.error{color:var(--red);background:var(--red-bg);border-color:#f5d2d2}.loading-line{color:var(--text-sub);font-size:12px;padding:10px 0}.filter-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px;min-width:0}.hotel-selected-card{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--primary-soft);border:1px solid #d5e5ff;border-radius:var(--radius-card);padding:8px 12px;margin-bottom:10px}.hotel-selected-card .hs-name{font-size:15px;font-weight:700;color:var(--primary)}.hotel-selector-btn{display:inline-flex;align-items:center;gap:7px;padding:4px 12px;border-radius:999px;border:1px solid var(--border);background:var(--panel-bg);cursor:pointer;font-size:12px;color:var(--text-main);white-space:nowrap}.hotel-selector-btn:hover{border-color:var(--primary);color:var(--primary)}.hotel-selector-btn .hs-lead-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:7px;background:var(--primary-soft);color:var(--primary);flex:none}.hotel-selector-btn .hs-name{font-weight:600;color:var(--title);max-width:200px;overflow:hidden;text-overflow:ellipsis}.hotel-selector-btn .hs-city{color:var(--text-weak)}.matrix-scroll{overflow:auto;max-height:64vh;min-width:0}.matrix-table{border-collapse:separate;border-spacing:0;font-size:12px;min-width:1020px;width:100%}.matrix-table th{position:sticky;top:0;z-index:3;background:var(--head-bg);color:var(--head-text);font-weight:600;padding:9px 10px;white-space:nowrap;text-align:left;border-bottom:1px solid var(--head-border);border-right:1px solid var(--head-border)}.matrix-table th.name-col{left:0;z-index:4}.matrix-table td{padding:8px 10px;border-bottom:1px solid var(--border);border-right:1px solid var(--panel-bg-secondary);vertical-align:top;background:var(--panel-bg)}.matrix-table td.name-col{position:sticky;left:0;z-index:2;background:var(--panel-bg);min-width:150px;border-right:1px solid var(--border)}.matrix-table tbody tr:hover td,.matrix-table tbody tr:hover td.name-col{background:var(--panel-bg-soft)}.matrix-table td.selected-cell{outline:2px solid var(--primary);outline-offset:-2px;background:var(--primary-soft)}.matrix-table tr.row-selected td,.matrix-table tr.row-selected td.name-col{background:var(--primary-soft)}.platform-head{display:inline-flex;align-items:center;gap:6px}.platform-badge{width:22px;height:22px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex:none}.platform-badge.pd-meituan{background:#f0c000;color:#7c5a00}.platform-badge.pd-ctrip{background:#0060f0}.platform-badge.pd-fliggy{background:#ea580c}.platform-badge.pd-douyin{background:#1f2937}.stock-bar{margin-top:4px;height:5px;border-radius:999px;background:var(--panel-bg-secondary);overflow:hidden}.stock-bar>i{display:block;height:100%;border-radius:999px}.stock-bar.ok>i,.stock-bar.good>i{background:#22c55e}.stock-bar.mid>i{background:var(--blue)}.stock-bar.warn>i{background:var(--amber)}.stock-bar.bad>i{background:var(--red)}.rail-room-card{display:flex;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border);flex:none}.rail-room-photo{width:64px;height:52px;border-radius:10px;flex:none;background:var(--primary-soft);color:var(--primary);display:flex;align-items:center;justify-content:center}.rail-room-name{font-size:14px;font-weight:700;color:var(--title)}.rail-room-sub{font-size:11px;color:var(--text-sub);margin-top:2px}.step-group{padding:10px 14px;border-bottom:1px solid var(--border)}.step-group:last-child{border-bottom:none}.step-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--title);margin-bottom:8px}.step-no{width:18px;height:18px;border-radius:50%;background:var(--primary);color:#fff;font-size:11px;display:inline-flex;align-items:center;justify-content:center;flex:none}.chip-row{display:flex;gap:6px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:var(--panel-bg);cursor:pointer;font-size:12px;color:var(--text-main);-webkit-user-select:none;user-select:none}.chip:hover{border-color:var(--primary)}.chip.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary);font-weight:600}.chip.disabled{opacity:.55;cursor:not-allowed}.price-hero{font-size:24px;font-weight:700;color:var(--title);line-height:1.2;letter-spacing:-.3px}.price-hero.unknown{font-size:14px;color:var(--text-weak)}.sync-row{display:flex;flex-direction:column;gap:6px}.mini-bars{display:block;width:100%}.cell-stack{display:flex;flex-direction:column;gap:3px;min-width:138px}.cell-top{display:flex;align-items:center;gap:8px;cursor:pointer;min-width:0;flex-wrap:wrap}.cell-top:hover .cell-price{color:var(--primary)}.cell-price{font-size:15px;font-weight:700;color:var(--title);letter-spacing:-.2px;line-height:1.25;font-variant-numeric:tabular-nums}.cell-price.unknown{color:var(--text-weak);font-size:12px;font-weight:600}.cell-edit{border:1px solid var(--border);background:var(--panel-bg);color:var(--text-sub);border-radius:4px;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:none;padding:0}.cell-edit:hover{color:var(--primary);border-color:var(--primary);background:var(--primary-soft)}.cell-stack.selected-cell{outline:2px solid var(--primary);outline-offset:-2px;background:var(--primary-soft);border-radius:8px;padding:3px 6px;margin:-3px -6px}.cell-pills{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.pill-click{border:none;background:none;padding:0;cursor:pointer;line-height:0}.pill-click:hover{filter:brightness(.96)}.cell-meta{font-size:10px;color:var(--text-weak);display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap;line-height:1.4}.cell-meta.stale{color:var(--amber)}.cell-buy{color:var(--green, #2f7d4f);font-weight:600}.op-spin{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--primary)}.op-done{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--green, #2f7d4f)}.op-done.is-fail{color:#b4532a}.op-spin .spin{width:11px;height:11px;border-radius:50%;border:2px solid var(--blue-bg);border-top-color:var(--primary);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.day-tabs{display:flex;gap:6px;flex-wrap:wrap}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a52;z-index:90}.drawer{position:fixed;top:0;right:0;bottom:0;width:460px;max-width:94vw;background:var(--panel-bg);z-index:91;box-shadow:var(--shadow-pop);display:flex;flex-direction:column}.drawer.wide{width:min(920px,94vw)}.drawer-head{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border);flex-wrap:wrap}.drawer-head .drawer-title{font-size:15px;font-weight:700;color:var(--title)}.drawer-close{margin-left:auto;border:none;background:var(--panel-bg-secondary);width:26px;height:26px;border-radius:50%;cursor:pointer;color:var(--text-sub);font-size:14px;line-height:1;flex:none}.drawer-body{padding:14px 16px;overflow-y:auto;overflow-x:hidden;flex:1;min-width:0}.drawer-foot{padding:10px 16px;border-top:1px solid var(--border);display:flex;gap:8px;align-items:center;flex-wrap:wrap}.fullscreen-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--page-bg);z-index:80;overflow-y:auto;overflow-x:hidden}.fullscreen-overlay .fs-head{position:sticky;top:0;z-index:5;background:var(--panel-bg);border-bottom:1px solid var(--border);padding:10px 20px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.fullscreen-overlay .fs-title{font-size:15px;font-weight:700;color:var(--title)}.fullscreen-overlay .fs-body{padding:14px 20px 32px;min-width:0;max-width:100%}.chart-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--text-sub);margin-top:6px}.legend-item{display:inline-flex;align-items:center;gap:5px}.legend-swatch{width:10px;height:10px;border-radius:2px;display:inline-block}.chart-frame{width:100%;overflow-x:auto;min-width:0}.bar-list{display:flex;flex-direction:column;gap:7px}.bar-item{display:grid;grid-template-columns:88px minmax(0,1fr) 40px;gap:8px;align-items:center;font-size:12px;min-width:0}.bar-track{height:8px;background:var(--panel-bg-secondary);border-radius:999px;overflow:hidden}.bar-fill{height:100%;border-radius:999px;background:var(--primary)}.stack-bar{display:flex;height:14px;border-radius:4px;overflow:hidden;background:var(--panel-bg-secondary)}.stack-seg{height:100%}.steps{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.step{flex:1;min-width:180px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--panel-bg-soft);padding:8px 12px}.step.active{border-color:var(--primary);background:var(--primary-soft)}.step .step-no{width:20px;height:20px;border-radius:50%;background:var(--primary);color:#fff;font-size:11px;display:inline-flex;align-items:center;justify-content:center;margin-right:6px}.step .step-title{font-weight:700;font-size:13px}.step .step-desc{margin-top:3px;color:var(--text-sub);font-size:11px}.timeline-text{background:var(--panel-bg-soft);border:1px solid var(--border);border-radius:var(--radius-ctl);padding:8px 12px;font-size:12px;color:var(--text-sub);line-height:1.9}.timeline-text b{color:var(--title)}.platform-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.platform-card{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--panel-bg);padding:10px 12px;box-shadow:var(--shadow-card);min-width:0}.platform-card .pc-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.platform-card .pc-price{font-size:18px;font-weight:600;color:var(--title)}.platform-card .pc-line{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--text-sub);padding:2px 0;min-width:0}.platform-card .pc-line b{color:var(--text-main);font-weight:600;text-align:right;min-width:0}.platform-chip{width:20px;height:20px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;color:#fff;font-weight:700;flex:none}.channel-cell{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:13px;color:var(--title)}.channel-cell .platform-chip{width:24px;height:24px;font-size:13px;border-radius:6px}.stay-cal-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;border:1px solid var(--border);background:var(--panel-bg);font-size:12px;color:var(--text-main);cursor:pointer;white-space:nowrap;align-self:center}.stay-cal-btn:hover,.stay-cal-btn.active{border-color:var(--primary);color:var(--primary)}.stay-cal-pop{width:292px;background:var(--panel-bg);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-pop);padding:10px 12px 8px;z-index:90}.stay-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;font-size:13px;color:var(--title)}.stay-cal-nav{border:none;background:transparent;font-size:16px;line-height:1;padding:2px 8px;cursor:pointer;color:var(--text-sub);border-radius:6px}.stay-cal-nav:hover{background:var(--panel-bg-soft);color:var(--primary)}.stay-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.stay-cal-wh{text-align:center;font-size:11px;color:var(--text-weak);padding:2px 0}.stay-cal-day{position:relative;border:1px solid transparent;background:transparent;border-radius:7px;height:30px;font-size:12px;color:var(--text-main);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.stay-cal-day:hover{border-color:var(--primary);color:var(--primary)}.stay-cal-day.empty{cursor:default;border:none}.stay-cal-day.nodata{color:var(--text-weak);background:var(--panel-bg-soft)}.stay-cal-day.today{font-weight:700}.stay-cal-day.ranged{background:var(--primary-soft);color:var(--primary);border-radius:0}.stay-cal-day.draft,.stay-cal-day.selected{background:var(--primary);color:#fff;font-weight:700}.stay-cal-dot{position:absolute;bottom:3px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--primary)}.stay-cal-day.selected .stay-cal-dot,.stay-cal-day.draft .stay-cal-dot{background:#fff}.stay-cal-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px;font-size:11px}.stay-cal-clear{border:1px solid var(--border);background:var(--panel-bg);border-radius:999px;font-size:11px;padding:2px 10px;cursor:pointer;color:var(--text-sub);white-space:nowrap}.stay-cal-clear:hover{border-color:var(--red);color:var(--red)}.cell-rswitch{position:relative;width:34px;height:20px;border-radius:999px;border:none;cursor:pointer;flex:none;padding:0;transition:background .15s ease}.cell-rswitch.is-open{background:var(--primary)}.cell-rswitch.is-closed{background:var(--orange)}.cell-rswitch i{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:left .15s ease}.cell-rswitch.is-open i{left:16px}.cell-rswitch:hover{filter:brightness(1.08)}.preview-table{width:100%;border-collapse:collapse;font-size:11px}.preview-table th{background:var(--head-bg);color:var(--head-text);padding:6px 8px;text-align:left;white-space:nowrap;border-bottom:1px solid var(--head-border)}.preview-table td{padding:5px 8px;border-bottom:1px solid var(--border);color:var(--text-main)}.divider{height:1px;background:var(--border);margin:10px 0}.section-note{font-size:11px;color:var(--text-weak);line-height:1.8}.section-note li{margin-left:16px}.tag-list{display:flex;gap:6px;flex-wrap:wrap}.panel-section{padding:10px 0;border-bottom:1px solid var(--border)}.panel-section:first-child{padding-top:0}.panel-section:last-child{border-bottom:none}.panel-section-title{font-size:12px;font-weight:700;color:var(--title);margin-bottom:6px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.kv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;min-width:0}.kv{display:flex;gap:8px;font-size:12px;min-width:0}.kv .k{color:var(--text-sub);min-width:72px;flex:none}.kv .v{color:var(--title);font-weight:600;word-break:break-all;min-width:0}.placeholder-page{max-width:560px;margin:12vh auto 0;text-align:center;background:var(--panel-bg);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:48px 32px}.placeholder-page h2{margin:0 0 8px;font-size:20px}.placeholder-page p{color:var(--text-sub)}.selfcheck-line{font-size:11px;color:var(--text-weak);display:inline-flex;align-items:center;gap:6px}.selfcheck-line.ok{color:var(--green)}.selfcheck-line.bad{color:var(--red)}@media (max-width: 1440px){.platform-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 1280px){.split-2-1,.split-1-1{grid-template-columns:minmax(0,1fr)}.split-matrix>.adjust-rail{flex-basis:300px}.stat-row.cols-6,.stat-row.cols-5{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-seg{flex:1 1 180px;border-right:none}.page{padding:10px 12px}.bottom-cards{height:216px}.grid-3{grid-template-columns:minmax(0,1fr)}}.split-matrix>.matrix-col{flex-direction:column}.matrix-scroll{max-height:none}.segmented{flex-wrap:nowrap}.field-label{white-space:nowrap}.topbar{position:relative;gap:8px;padding:6px 16px}.topbar-controls{gap:6px}.topbar-controls>*{flex:none}.topbar-controls>*:first-child{max-width:232px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selfcheck-line{position:absolute;top:4px;right:10px;font-size:10px;white-space:nowrap;z-index:30;background:var(--panel-bg);padding:1px 6px;border-radius:6px;border:1px solid var(--border)}.kpi-badge{max-width:132px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:10px;padding:1px 5px;background:#ffffffeb;border:1px solid var(--border);border-radius:6px}@media (max-width: 1439px){.topbar-update,.topbar-brand .brand-sub{display:none}}.matrix-col>.card>.card-body{min-height:0;display:flex;flex-direction:column;flex:1 1 auto}.matrix-col>.card>.card-body>.matrix-scroll{flex:1 1 auto;min-height:0}.bottom-cards{height:150px}.bottom-cards .card-body{padding-top:6px;padding-bottom:6px}.split-matrix>.adjust-rail{flex-basis:312px}.adjust-rail .card-body{padding:8px 10px}.matrix-col .card-head{padding:6px 12px}.matrix-table td{padding:4px 8px}.cell-stack{gap:2px}.cell-meta{font-size:10px;gap:4px}.kpi-row .stat-card{height:76px;padding:8px 12px}.kpi-icon{width:38px;height:38px;border-radius:9px}.step-group{padding:6px 0}@media (max-width: 1439px){.bottom-cards{height:140px}}.cal-wrap{display:flex;flex-direction:column;gap:10px;min-width:0;min-height:0}.cal-header{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap;min-width:0}.cal-stats{display:flex;gap:8px;flex-wrap:wrap;flex:1 1 auto;min-width:0}.cal-chip{border:1px solid var(--border);border-radius:var(--radius-ctl);background:var(--panel-bg-soft);padding:6px 10px;min-width:78px}.cal-chip-label{font-size:11px;color:var(--text-sub);white-space:nowrap}.cal-chip-value{font-size:15px;font-weight:700;color:var(--title);font-variant-numeric:tabular-nums;line-height:1.3}.cal-chip-value.ok{color:var(--green)}.cal-chip-value.warn{color:var(--amber)}.cal-unassigned{flex:0 0 340px;max-width:100%;border:1px solid var(--border);border-radius:var(--radius-ctl);background:var(--panel-bg);padding:8px 10px;max-height:148px;overflow-y:auto;min-width:0}.cal-unassigned-title{font-size:12px;font-weight:700;color:var(--title);margin-bottom:6px}.cal-unassigned-row{display:flex;gap:8px;align-items:center;font-size:12px;padding:3px 0;border-bottom:1px dashed var(--border);flex-wrap:wrap}.cal-unassigned-row:last-child{border-bottom:none}.cal-ono{font-weight:600;color:var(--title);font-variant-numeric:tabular-nums}.cal-scroll{overflow:auto;min-width:0;max-height:56vh;border:1px solid var(--border);border-radius:var(--radius-ctl);background:var(--panel-bg)}.cal-table{border-collapse:separate;border-spacing:0;font-size:12px;min-width:1100px}.cal-table th{position:sticky;top:0;z-index:3;background:var(--head-bg);color:var(--head-text);font-weight:600;padding:6px 8px;white-space:nowrap;text-align:center;border-right:1px solid var(--head-border);border-bottom:1px solid var(--head-border)}.cal-table th.room-col{left:0;z-index:4;text-align:left;min-width:108px}.cal-table th.is-today{background:var(--primary)}.cal-table td{padding:4px 8px;border-bottom:1px solid var(--panel-bg-secondary);border-right:1px solid var(--panel-bg-secondary);background:var(--panel-bg);vertical-align:middle}.cal-table td.room-col{position:sticky;left:0;z-index:2;background:var(--panel-bg);border-right:1px solid var(--border);min-width:108px}.cal-door{font-weight:600;color:var(--title);font-variant-numeric:tabular-nums}.cal-door.missing{color:var(--text-weak);font-weight:500}.cal-cell{min-width:56px;text-align:center;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;cursor:default;-webkit-user-select:none;user-select:none}.cal-cell.empty{color:var(--text-weak);font-weight:400}.cal-cell.occupied{background:#dbeafe;color:#1d4ed8}.cal-cell.reserved-in{background:var(--green-bg);color:var(--green)}.cal-cell.reserved-out{background:var(--amber-bg);color:var(--amber)}.cal-cell.unknown{background:var(--gray-bg);color:var(--text-weak)}.cal-cell.is-today{box-shadow:inset 1px 0 #0060f059,inset -1px 0 #0060f059}.cal-banner{padding:6px 10px;margin-bottom:6px;border-radius:var(--radius-ctl);background:var(--amber-bg);color:var(--amber);font-size:12px}.cal-readonly-note{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--text-weak)}.login-page{height:100vh;display:flex;align-items:center;justify-content:center;background:var(--page-bg)}.login-card{width:340px;background:var(--panel-bg);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-pop);padding:28px 28px 20px}.login-logo{margin-bottom:16px}.login-logo-name{font-size:18px;font-weight:700;color:var(--title)}.login-logo-name b{color:var(--primary)}.login-logo-sub{font-size:10px;letter-spacing:2px;color:var(--text-weak)}.login-title{font-size:15px;font-weight:700;color:var(--title)}.login-sub{font-size:11px;color:var(--text-sub);margin:2px 0 16px}.login-field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.login-field span{font-size:12px;color:var(--text-sub)}.login-field .input{height:34px;font-size:13px}.login-error{font-size:12px;color:var(--red);background:var(--red-bg);border:1px solid #f5d2d2;border-radius:var(--radius-ctl);padding:6px 10px;margin-bottom:10px}.login-btn{width:100%;height:36px;font-size:13px;margin-top:4px}.login-note{font-size:10px;color:var(--text-weak);margin-top:12px;line-height:1.5}.badge-role-admin{background:var(--primary-soft);color:var(--primary)}.badge-role-ops,.badge-role-manager{background:var(--green-bg);color:var(--green)}.badge-role-viewer{background:var(--gray-bg);color:var(--text-sub)}.user-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--panel-bg-secondary);flex-wrap:wrap}.user-row:last-child{border-bottom:none}.user-name{font-weight:600;color:var(--title);min-width:80px}.user-role-badge{font-size:11px;padding:1px 6px;border-radius:4px}.user-chips{display:flex;gap:4px;flex-wrap:wrap}.user-chip{font-size:10px;padding:1px 6px;border-radius:4px;background:var(--primary-soft);color:var(--primary)}.temp-password{font-size:13px;font-weight:700;color:var(--amber);font-family:monospace;background:var(--amber-bg);padding:2px 8px;border-radius:4px}.rswitch-wrap{display:inline-flex;align-items:center;gap:8px;-webkit-user-select:none;user-select:none}.rswitch{position:relative;width:46px;height:24px;border-radius:999px;border:none;padding:0;cursor:pointer;flex:none;transition:background .18s ease,box-shadow .18s ease;outline:none;font-family:inherit}.rswitch:focus-visible{box-shadow:0 0 0 2px #0060f040}.rswitch .rswitch-knob{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0f172a4d;display:inline-flex;align-items:center;justify-content:center;transition:left .18s ease;pointer-events:none}.rswitch .rswitch-knob .spin{width:10px;height:10px;border-radius:50%;border:2px solid rgba(15,23,42,.15);border-top-color:var(--primary);animation:spin .9s linear infinite}.rswitch .rswitch-word{position:absolute;top:0;font-size:10px;font-weight:700;color:#fff;line-height:24px;letter-spacing:1px;pointer-events:none}.rswitch.is-open{background:var(--switch-open)}.rswitch.is-open:hover:not(:disabled){background:var(--switch-open-hover)}.rswitch.is-open .rswitch-knob{left:24px}.rswitch.is-open .rswitch-word{left:9px}.rswitch.is-closed{background:var(--switch-closed)}.rswitch.is-closed:hover:not(:disabled){background:var(--switch-closed-hover)}.rswitch.is-closed .rswitch-knob{left:2px}.rswitch.is-closed .rswitch-word{right:8px}.rswitch:disabled{cursor:not-allowed;opacity:.45}.rswitch.is-busy{cursor:progress}.rswitch-label{font-size:13px;font-weight:700}.rswitch-label.t-open{color:var(--switch-open)}.rswitch-label.t-closed{color:var(--switch-closed)}.rswitch-label.t-disabled{color:var(--text-weak)}.rswitch-hint{font-size:11px;color:var(--text-weak)}.rswitch-hint b{color:var(--text-main)}.nav-icon-box{width:26px;height:26px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;flex:none;background:transparent;color:var(--text-sub);transition:background .15s ease,color .15s ease}.nav-item.active .nav-icon-box{background:var(--primary);color:#fff;box-shadow:0 1px 3px #0060f059}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:nowrap;flex:none}.topbar-icon-btn{width:28px;height:28px;border-radius:50%;border:1px solid var(--border);background:var(--panel-bg);color:var(--text-sub);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:none;transition:background .15s ease,color .15s ease,border-color .15s ease}.topbar-icon-btn:hover{color:var(--primary);border-color:var(--primary);background:var(--primary-soft)}.topbar-link{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:var(--panel-bg);color:var(--text-sub);font-size:12px;cursor:pointer;white-space:nowrap;text-decoration:none;transition:color .15s ease,border-color .15s ease}.topbar-link:hover{color:var(--primary);border-color:var(--primary);text-decoration:none}.topbar-userchip{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:999px;background:var(--panel-bg-secondary);border:1px solid var(--border);font-size:12px;white-space:nowrap}.topbar-notice-row{width:100%;display:flex;align-items:center;gap:10px;margin-top:6px;min-width:0}.topbar-notice-row .notice-bar{flex:1 1 auto;min-width:0;margin-top:0;padding:3px 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-notice-row .selfcheck-line{position:static;flex:none}.date-pill{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:999px;border:1px solid var(--border);background:var(--panel-bg);font-size:12px;color:var(--text-main);white-space:nowrap;cursor:pointer}.date-pill:hover,.date-pill:focus-visible{border-color:var(--primary)}.date-pill:focus-visible{outline:2px solid var(--primary-soft);outline-offset:1px}.date-pill .dp-icon{display:inline-flex;align-items:center;color:var(--text-sub)}.date-pill .input{border:none;padding:0;height:24px;background:transparent;width:138px;font-size:13px;color:var(--title);cursor:pointer}.date-pill .input:focus{box-shadow:none}.date-pill .dp-label{color:var(--title);font-weight:600}.kpi-row .stat-card{height:92px;padding:12px 16px;gap:14px}.kpi-icon{width:46px;height:46px;border-radius:12px}.stat-value{font-size:24px;letter-spacing:-.3px}.stat-label{font-size:12px;color:var(--text-sub)}.users-table td{vertical-align:middle}.user-actions{display:inline-flex;gap:6px;flex-wrap:wrap}.user-hotel-chip{display:inline-block;font-size:10px;padding:1px 7px;border-radius:999px;background:var(--primary-soft);color:var(--primary);margin-right:4px;white-space:nowrap}.login-card{width:360px;border-radius:14px;padding:32px 30px 24px}.login-logo-name{font-size:20px}.login-page{background:var(--page-bg)}.pf-menu{width:180px}.reason-field{flex-wrap:nowrap}.reason-field .field-label{flex:none;min-width:72px}@media (max-width: 1479px){.date-pill .dp-label,.topbar-update,.topbar-brand .brand-sub{display:none}}.topbar{flex-wrap:nowrap;align-items:center;padding:8px 16px;gap:10px}.topbar-brand{flex:none}.topbar-controls{flex:1 1 auto;flex-wrap:wrap;row-gap:6px;overflow:visible}.segmented-item{padding:3px 10px}.topbar-right{flex:0 0 auto}.topbar{flex-wrap:wrap;row-gap:6px}.topbar-notice-row{flex:1 1 100%}.matrix-full>.card>.card-body{min-height:0;display:flex;flex-direction:column;flex:1 1 auto}.matrix-full>.card>.card-body>.matrix-scroll{flex:1 1 auto;min-height:0}.matrix-full>.card>.card-foot{flex:none}.chart-caption{font-size:11px;color:var(--text-sub);margin-bottom:6px}.chart-caption b{color:var(--title);margin-right:4px}.rswitch{width:52px;height:28px}.rswitch .rswitch-knob{width:24px;height:24px}.rswitch .rswitch-knob .spin{width:12px;height:12px}.rswitch.is-open .rswitch-knob{left:26px}.rswitch.is-open .rswitch-word{left:10px;line-height:28px}.rswitch.is-closed .rswitch-word{right:9px;line-height:28px}.rswitch .rswitch-word{font-size:11px;line-height:28px}.rswitch-label{font-size:14px}.wb-split{flex:1 1 auto;min-height:0;min-width:0;display:flex;gap:12px}.wb-center{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column;gap:12px}.adjust-rail{flex:0 0 344px;min-width:0;min-height:0;display:flex}.adjust-rail>.card{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;margin-bottom:0}.adjust-rail .card-head{flex:none}.adjust-rail .card-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0}.adjust-rail .rail-room-card{padding:12px 14px}@media (max-width: 1599px){.adjust-rail{flex-basis:336px}}@media (max-width: 1359px){.adjust-rail{flex-basis:308px}}.bottom-cards{flex:0 0 auto;height:clamp(190px,24vh,320px)}.kpi-row .stat-card{height:96px}.stat-value{font-size:26px}.stat-label{font-weight:600}.matrix-table td{padding:7px 8px}.cell-stack{min-width:130px}.matrix-table{min-width:980px}.kpi-row .stat-card{height:104px;gap:10px;padding:12px}.kpi-icon{width:40px;height:40px;border-radius:10px}.kpi-row .kpi-body{min-width:0}.stat-card:has(.kpi-badge) .kpi-body{padding-right:4px}.kpi-row .stat-label{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-row .stat-value{font-size:24px;white-space:nowrap}.kpi-row .stat-sub{font-size:10.5px;line-height:1.45}.matrix-price-note{display:inline}@media (max-width: 1679px){.matrix-price-note{display:none}}.bottom-cards .win-num{font-size:17px}.rail-empty{padding:26px 18px;text-align:center}.rail-empty-icon{width:52px;height:52px;margin:0 auto 10px;border-radius:14px;background:var(--primary-soft);color:var(--primary);display:flex;align-items:center;justify-content:center}.rail-empty-icon svg{width:24px;height:24px}.rail-empty-title{font-size:14px;font-weight:700;color:var(--title);margin-bottom:10px}.rail-empty-steps{margin:0 0 12px;padding-left:18px;text-align:left;font-size:12px;color:var(--text-main);line-height:1.9}.matrix-table th:last-child,.matrix-table td:last-child{position:sticky;right:0;z-index:2;background:var(--panel-bg);box-shadow:inset 1px 0 0 var(--head-border);min-width:64px;text-align:right}.matrix-table thead th:last-child{z-index:5;background:var(--head-bg)}.matrix-table tbody tr:hover td:last-child{background:var(--panel-bg-soft)}.matrix-table tr.row-selected td:last-child,.matrix-table td.selected-cell:last-child{background:var(--primary-soft)}.access-denied{max-width:520px;margin:8vh auto 0;text-align:center;background:var(--panel-bg);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:40px 32px}.access-denied .ad-code{font-size:34px;font-weight:800;color:var(--orange);letter-spacing:2px;line-height:1.2}.access-denied .ad-title{font-size:16px;font-weight:700;color:var(--title);margin-top:6px}.access-denied .ad-desc{font-size:12px;color:var(--text-sub);line-height:1.9;margin-top:8px}.matrix-scroll::-webkit-scrollbar{height:10px}.matrix-scroll::-webkit-scrollbar-track{background:var(--panel-bg-secondary);border-radius:999px}.matrix-scroll::-webkit-scrollbar-thumb{background:#c3cfe0;border-radius:999px}.matrix-scroll::-webkit-scrollbar-thumb:hover{background:#a9b9d2}.matrix-scroll-hint{display:inline-flex;align-items:center;font-size:11px;font-weight:600;color:var(--primary);background:var(--primary-soft);border-radius:999px;padding:2px 9px;white-space:nowrap}.opp-list{display:flex;flex-direction:column;gap:10px;padding:12px}.opp-card{border:1px solid var(--border);border-radius:var(--radius-card);padding:10px 14px;background:var(--panel-bg)}.opp-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.opp-title{color:var(--title);font-size:13px}.opp-body{margin-top:6px;font-size:13px;color:var(--text-main)}.opp-action{margin-top:4px;font-size:12px}.opp-meta{margin-top:4px;font-size:11px}.flex-spacer{flex:1}.revenue-session{display:flex;flex-direction:column;gap:10px;height:100%}.rs-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:10px;flex:1 1 auto;min-height:0}.rs-chat{max-height:52vh;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:10px}.rs-msg{border:1px solid var(--border);border-radius:var(--radius-card);padding:8px 10px}.rs-msg--user{background:var(--primary-soft);border-color:transparent}.rs-msg--assistant{background:var(--panel-bg)}.rs-msg-role{font-size:10px;color:var(--text-weak);margin-bottom:4px}.rs-msg-body{font-size:13px;white-space:pre-wrap;word-break:break-word}.rs-quick{display:flex;gap:6px;flex-wrap:wrap;padding:0 12px 8px}.rs-input-row{display:flex;gap:8px;padding:0 12px 12px}.rs-ev{display:flex;flex-direction:column;gap:10px;padding:10px 12px;font-size:12px}.rs-ev-block{border:1px dashed var(--border);border-radius:var(--radius-card);padding:8px 10px}.rs-ev-block>b{display:block;margin-bottom:6px;color:var(--title)}.rs-ev-item{margin:4px 0;word-break:break-all;color:var(--text-sub)}@media (max-width: 1279px){.rs-grid{grid-template-columns:1fr}}.hc-wrap{display:flex;flex-direction:column;gap:8px}.hc-scope{font-size:11px}.hc-case{border:1px solid var(--border);border-radius:8px;padding:8px 10px}.hc-head{display:flex;align-items:center;gap:8px;cursor:pointer;flex-wrap:wrap}.hc-bg{font-size:11px;margin-top:4px}.hc-layers{margin-top:8px;display:flex;flex-direction:column;gap:8px;border-top:1px dashed var(--border);padding-top:8px}.hc-layer-title{font-weight:600;margin-bottom:4px}.hc-item{padding:4px 0;border-bottom:1px dotted var(--border);font-size:12px}.hc-sub{font-size:11px;margin-top:2px}.hc-warn{color:#b26a00}.ml-suggest-col{min-width:110px}td.ml-suggest-cell{background:#f8fbff;border-left:2px solid #dbe7f5;vertical-align:middle;text-align:center;padding:8px 6px}.ml-sug{display:inline-flex;flex-direction:column;align-items:center;gap:2px;border:1px solid #d1d5db;border-radius:9px;padding:6px 10px;font-size:12.5px;background:#fff;cursor:pointer;min-width:88px}.ml-sug b{font-size:13px}.ml-sug small{color:#6b7280;font-size:11px}.ml-sug.up{border-color:#f59e0b;background:#fffbeb;color:#b45309}.ml-sug.down{border-color:#10b981;background:#ecfdf5;color:#047857}.ml-sug.hold{border-color:#cbd5e1;background:#f8fafc;color:#334155}.ml-sug.pending{border-style:dashed;color:#6b7280;background:#fafafa;cursor:pointer}.ml-sug.loading,.ml-sug.muted{border:0;background:transparent}.ml-sug.err{color:#b91c1c}.ml-decision-sheet{width:min(860px,94vw);max-height:92vh;display:flex;flex-direction:column}.ml-decision-body{overflow:auto;padding-bottom:16px}.ml-suggest-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px;background:#f8fbff;border-bottom:1px solid #e5e7eb}.ml-dir{font-size:16px;font-weight:700;border-radius:9px;padding:4px 12px}.ml-dir.up{background:#fffbeb;color:#b45309;border:1px solid #f59e0b}.ml-dir.down{background:#ecfdf5;color:#047857;border:1px solid #10b981}.ml-dir.hold{background:#f8fafc;color:#334155;border:1px solid #cbd5e1}.ml-dir.pending{background:#fafafa;color:#6b7280;border:1px dashed #cbd5e1}.ml-price{font-size:15px}.ml-exec{font-size:11px}.ml-sec-title{margin:14px 16px 6px;font-size:13px;color:#0f172a;border-left:3px solid #38bdf8;padding-left:8px}.ml-factor-group{margin:0 16px 10px;background:#fff;border:1px solid #e5e7eb;border-radius:9px;padding:9px 11px}.ml-factor-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}.ml-factor-val{font-weight:700}.ml-factor-children{margin-top:4px}.ml-factor-raw{margin-top:5px}.ml-factor-raw summary{cursor:pointer;font-size:11px;color:#64748b}.ml-factor-raw pre{background:#0f172a;color:#e2e8f0;font-size:11px;border-radius:7px;padding:8px;overflow:auto;max-height:220px;white-space:pre-wrap}.ml-note-warn{margin:10px 16px;padding:8px 11px;background:#fffbeb;border:1px solid #f59e0b;border-radius:8px;font-size:12px;color:#92400e}.ml-alert-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 16px 0;font-size:12px}.ml-feedback{margin:0 16px 8px;display:flex;gap:9px;align-items:center;flex-wrap:wrap}.ml-feedback .done{font-size:12px;color:#065f46}.pill--info{background:#eff6ff;color:#1d4ed8}.pill--good{background:#ecfdf5;color:#047857}.pill--warn{background:#fff7ed;color:#b45309}:root{--page-bg: #f6f8f7;--panel-bg-soft: #f9fbfa;--panel-bg-secondary: #f6f9f8;--head-bg: #f8fbfa;--title: #243b30;--text-main: #4a6055;--text-sub: #7a8d84;--text-weak: #83958c;--primary: #63b18b;--primary-hover: #4d9874;--primary-soft: #f3f9f6;--blue: #63b18b;--blue-bg: #f3f9f6;--border: #e8efec;--border-soft: #eff3f1;--radius-card: 14px;--radius-ctl: 8px;--shadow-card: 0 2px 5px rgb(27 45 77 / 3%);--sidebar-width: 192px}body{font-family:Inter,Segoe UI,Microsoft YaHei,sans-serif;font-size:13px}button,input,select,textarea{font:inherit}button,a,input,[role=button]{-webkit-tap-highlight-color:transparent}:where(button,a,input,select,textarea,summary,[role=button]):focus-visible{outline:3px solid #a9d4bf;outline-offset:3px}button,a{transition:background-color .16s,border-color .16s,color .16s}button:disabled{cursor:not-allowed}*{scrollbar-width:thin;scrollbar-color:#d0dad5 transparent}.sidebar{width:var(--sidebar-width);padding:26px 12px 18px;border-right:1px solid var(--border)}.sidebar-brand{display:flex;gap:10px;align-items:center;padding:0 5px 30px;color:var(--title)}.sidebar-brand:hover{text-decoration:none}.brand-mark{width:38px;height:42px;border-radius:12px;background:var(--primary);color:#fff;display:grid;place-items:center;flex:none}.brand-mark svg{width:24px;height:24px}.sidebar-brand strong{display:block;font-size:19px;letter-spacing:1px}.sidebar-brand small{display:block;font-size:8px;color:var(--text-sub);letter-spacing:1px;margin-top:2px}.nav-caption{color:var(--text-weak);font-size:11px;padding:0 15px 10px;letter-spacing:2px}.nav-list{margin:0;padding:0;overflow-y:auto}.nav-item{gap:13px;padding:12px 14px;margin-bottom:6px;font-size:13px;border-radius:9px;position:relative}.nav-item.active{background:var(--primary-soft);color:var(--primary)}.nav-item.active:after{content:"";position:absolute;right:10px;width:5px;height:5px;border-radius:50%;background:var(--primary)}.nav-item .nav-icon-box,.nav-item.active .nav-icon-box{background:none;box-shadow:none;color:inherit;width:20px;height:20px}.nav-icon-box svg{width:19px;height:19px}.sidebar-logo{display:flex;gap:10px;align-items:center;padding:18px 5px 0}.sidebar-footer-icon{color:var(--primary);display:flex}.sidebar-footer-icon svg{width:22px;height:22px}.sidebar-logo strong{display:block;font-size:11px;font-weight:500;color:var(--text-main)}.sidebar-logo small{display:block;font-size:9px;color:var(--text-sub);margin-top:3px}.main{margin-left:var(--sidebar-width)}.topbar{display:grid;grid-template-columns:minmax(230px,1fr) auto;gap:12px 20px;padding:18px 24px 14px}.topbar-brand{grid-column:1;grid-row:1}.topbar-brand .brand-title{font-size:20px;font-weight:650;letter-spacing:.5px;line-height:1.3}.topbar-brand .brand-sub{display:block;font-size:11px;color:var(--text-sub);margin-top:5px}.topbar-right{grid-column:2;grid-row:1;gap:9px;margin-left:0;justify-content:flex-end;flex-wrap:wrap}.topbar-update{display:block;font-size:10px}.topbar-update b{display:block;font-weight:500}.topbar-icon-btn{width:32px;height:32px;border-radius:8px}.topbar-link{border:0;border-radius:6px;padding:6px 8px;font-size:11px}.topbar-userchip{background:#f6faf8;border:1px solid var(--border);padding:6px 10px;border-radius:8px}.topbar-controls{grid-row:2;grid-column:1 / -1;flex:none;gap:10px;flex-wrap:wrap;overflow:visible;padding-top:12px;border-top:1px solid var(--border-soft)}.topbar-controls>*:first-child{max-width:340px;overflow:visible}.hotel-selector-btn,.date-pill{min-height:36px;border-radius:8px;background:#fff;border-color:#e0e9e5;font-size:12px}.date-pill .input{font-size:12px;min-height:24px}.collection-note{margin-left:auto;font-size:10px;color:var(--text-sub)}.layout-diagnostics{position:absolute;right:24px;bottom:2px;font-size:9px;color:var(--text-sub)}.layout-diagnostics summary{cursor:pointer}.layout-diagnostics .selfcheck-line{top:22px;right:0;padding:5px 8px}.workbench-page{padding:16px 24px;gap:14px;overflow-y:auto}.overview-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none}.overview-heading>div{display:flex;align-items:center;gap:12px}.section-eyebrow{font-size:10px;letter-spacing:1.7px;color:var(--text-sub)}.overview-heading h1{margin:0;font-size:15px;font-weight:600;color:var(--title)}.overview-scope{font-size:11px;color:var(--text-sub)}.overview-scope b{color:var(--text-main);font-weight:500}.kpi-row{flex:none}.kpi-row .stat-row{gap:16px;margin:0;grid-template-columns:repeat(4,minmax(0,1fr))}.kpi-row .stat-card{height:116px;padding:14px 20px;border:1px solid var(--border);border-radius:12px;display:block;position:relative;box-shadow:var(--shadow-card)}.kpi-row .kpi-icon{position:absolute;top:17px;right:17px;width:34px;height:34px;border-radius:10px;background:#f4f9f7!important;color:#72af92}.kpi-row .stat-card:nth-child(2) .kpi-icon{background:#edf8f3!important;color:#369675}.kpi-row .stat-card:nth-child(4) .kpi-icon{background:#fff5e9!important;color:#cb9139}.kpi-icon svg{width:18px;height:18px}.kpi-row .kpi-body{padding:0}.kpi-row .stat-label{font-size:12px;font-weight:500;color:var(--text-sub);padding-right:40px}.kpi-row .stat-value{font-family:Inter,Segoe UI,sans-serif;font-size:32px;font-weight:650;color:var(--title);line-height:1.3;margin-top:5px;letter-spacing:-.8px}.stat-value .unit{letter-spacing:0;font-size:11px;font-weight:400;margin-left:6px}.kpi-row .stat-sub{font-size:10px;margin-top:7px;color:var(--text-sub)}.kpi-badge{position:absolute;top:auto;bottom:12px;right:14px;border:0;padding:0;max-width:98px}.kpi-badge .badge{font-size:9px}.wb-split{gap:16px;min-height:560px}.wb-center{gap:16px}.adjust-rail{flex-basis:286px}.card{border-color:var(--border);box-shadow:var(--shadow-card)}.card-head{padding:16px 18px;border-color:var(--border-soft)}.card-title{font-size:14px;font-weight:600}.card-extra{gap:9px;font-size:11px}.matrix-full>.card>.card-head{display:grid;grid-template-columns:1fr;gap:8px;padding:12px 16px}.matrix-full .card-title:before{content:"";display:inline-block;height:13px;width:3px;border-radius:3px;background:var(--primary);margin-right:9px;vertical-align:-1px}.matrix-full .card-extra{width:100%;margin:0;justify-content:flex-start}.matrix-full .card-extra>.segmented{margin-left:auto}.matrix-price-note{display:none}.chart-legend{gap:10px;font-size:10px}.legend-swatch{width:6px;height:6px;border-radius:50%}.segmented{border:1px solid var(--border);background:#f8fbfa;padding:3px;border-radius:8px}.segmented-item{font-size:11px;padding:4px 8px;border-radius:5px}.segmented-item.active{background:#fff;color:var(--primary);box-shadow:0 1px 3px #2b46391a}.matrix-table{min-width:860px;font-size:12px}.matrix-table th{height:54px;padding:9px 12px;border-right-color:transparent;font-size:11px;font-weight:500}.matrix-table td{padding:9px 10px;border-right-color:transparent;border-bottom-color:#eff4f2}.matrix-table .name-col{min-width:130px;width:130px}.matrix-table td.name-col{min-width:130px}.platform-head{min-width:112px}.matrix-table th:nth-child(2){min-width:45px}.matrix-table th:nth-child(3){min-width:126px}.matrix-table tbody tr:nth-child(2n) td{background-color:#fdfefe}.matrix-table tbody tr:hover td,.matrix-table tbody tr.row-selected td{background-color:#f5faf8}.matrix-table .room-link{color:var(--title);font-size:12px;font-weight:600}.matrix-table .room-link:hover{color:var(--primary)}.matrix-table th:last-child,.matrix-table td:last-child{min-width:62px;width:62px}.cell-stack{min-width:124px;padding:3px 2px;border-radius:7px}.cell-top{gap:5px;flex-wrap:nowrap}.cell-price{font-family:Inter,Segoe UI,sans-serif;font-size:16px;font-weight:600;color:#2f483c}.cell-meta{font-size:10px;margin-top:6px;color:var(--text-sub)}.cell-meta .pill{font-size:9px}.cell-rswitch{width:27px;height:16px}.cell-rswitch i{width:12px;height:12px}.cell-rswitch.is-open i{left:13px}.cell-rswitch:disabled{opacity:.45}.cell-stack.selected-cell{background:#f3f9f6;outline:1px solid #badccc}.btn-adjust{background:#f3f9f6;border-radius:6px;padding:5px 8px;font-size:11px}.stock-bar{height:4px;margin-top:7px;background:#eff4f2}.stock-bar i{background:#8dc6aa}.matrix-full .card-foot{padding:8px 18px;border-top:1px solid var(--border-soft);background:#fdfefe;border-radius:0 0 14px 14px}.bottom-cards{height:180px;gap:14px;grid-template-columns:1.15fr 1.1fr .9fr}.bottom-cards .card-head{padding:12px 14px;gap:5px}.bottom-cards .card-title{font-size:12px}.bottom-cards .card-extra{font-size:10px}.bottom-cards .card-extra .data-meta{display:none}.bottom-cards .card-body{padding:14px}.bottom-cards .card-body.no-pad{padding:0}.bottom-cards .win-num{font-size:21px;font-weight:600;color:var(--title)}.competitor-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;color:var(--text-sub)}.competitor-symbol{font-size:30px;line-height:1.2;color:#afc4b9}.competitor-empty strong{font-size:12px;font-weight:500;color:var(--text-main)}.competitor-empty>span:last-child{font-size:10px;max-width:170px}.adjust-rail>.card{background:#fff}.adjust-rail .card-head{padding:16px 18px}.rail-empty{padding:36px 22px 22px;text-align:center}.rail-empty-icon{width:62px;height:62px;border-radius:19px;color:#85b9a0;background:#f3f9f6;margin:0 auto 18px}.rail-empty-icon svg{width:27px;height:27px}.rail-empty-title{font-size:16px;font-weight:600;color:var(--title)}.rail-empty-desc{margin:6px 0 28px;font-size:11px;color:var(--text-sub)}.rail-empty-steps{list-style:none;padding:0;margin:0;text-align:left;counter-reset:steps}.rail-empty-steps li{position:relative;padding:0 0 24px 35px;counter-increment:steps}.rail-empty-steps li:before{content:counter(steps,decimal-leading-zero);position:absolute;left:0;top:2px;width:23px;height:23px;border-radius:7px;display:grid;place-items:center;background:#f3f8f6;color:#8da499;font-size:10px}.rail-empty-steps strong{display:block;font-size:12px;font-weight:500;color:var(--text-main)}.rail-empty-steps span{display:block;font-size:10px;color:var(--text-sub);margin-top:3px}.rail-empty .section-note{border:1px solid var(--border);border-radius:8px;background:#f9fbfa;padding:12px;font-size:10px}.rail-room-photo{background:var(--primary-soft);color:var(--primary);border-radius:10px}.adjust-rail .data-meta{white-space:normal;overflow-wrap:anywhere}.adjust-rail .rail-room-photo{width:44px;height:44px}.adjust-rail .rswitch-wrap{flex-wrap:wrap}.adjust-panel .adjust-foot.sticky-foot{padding:12px 14px}.adjust-foot .btn{font-size:11px}.step-group{padding:16px;border-bottom-color:var(--border-soft)}.step-title{font-size:12px;margin-bottom:12px}.step-no{background:#f1f8f5;color:var(--primary)}.input,.select{border-color:#e0e9e5;border-radius:7px;min-height:34px}.btn{border-radius:7px;box-shadow:none}.btn-primary{background:var(--primary);border-color:var(--primary)}.pill{font-weight:500}.fullscreen-overlay{left:var(--sidebar-width)}.fullscreen-overlay .fs-head{padding:22px 24px;gap:14px}.fullscreen-overlay .fs-title{font-size:18px;margin-right:auto}.fullscreen-overlay .fs-body{padding:22px 24px 40px}.login-page{background:#f4f9f7}.login-card{border:1px solid var(--border);border-radius:20px;box-shadow:0 16px 60px #35584710;padding:42px}.login-logo-name{color:var(--title)}.login-btn{min-height:42px}.login-note{color:var(--text-sub);font-size:11px}@media (min-width: 1700px){:root{--sidebar-width: 208px}.adjust-rail{flex-basis:310px}.workbench-page{padding:24px 28px;gap:20px}.kpi-row .stat-card{height:122px}.matrix-table td{padding:10px 12px}.bottom-cards{height:190px}}@media (max-width: 1390px){:root{--sidebar-width: 174px}.sidebar{padding-inline:9px}.sidebar-brand{gap:7px}.sidebar-brand strong{font-size:17px}.sidebar-brand small{font-size:7px}.topbar{padding:18px 18px 12px}.topbar-update{display:none}.workbench-page{padding:16px 18px;gap:14px}.adjust-rail{flex-basis:260px}.kpi-row .stat-card{padding:14px 16px}.kpi-row .stat-value{font-size:28px}.stat-value .unit{font-size:10px}.kpi-row .stat-sub{font-size:9px}.bottom-cards{grid-template-columns:1fr 1fr}.bottom-cards>.card:last-child{display:none}.rail-empty{padding:30px 18px 18px}}@media (max-width: 1100px){:root{--sidebar-width: 76px}.sidebar{padding:22px 9px}.sidebar-brand{padding:0 10px 25px}.sidebar-brand>span:last-child,.nav-caption,.nav-item>span:last-child,.sidebar-logo{display:none}.nav-item{justify-content:center;padding:15px}.nav-item.active:after{display:none}.topbar{grid-template-columns:1fr;gap:12px}.topbar-right{grid-column:1;grid-row:2;justify-content:flex-start}.topbar-controls{grid-row:3}.collection-note{display:none}.wb-split{flex-direction:column;flex:none}.matrix-full{flex:none;height:430px}.adjust-rail{flex:none;height:440px}.bottom-cards{grid-template-columns:1fr 1fr 1fr;height:210px}.bottom-cards>.card:last-child{display:flex}.rail-empty{max-width:420px;margin:auto;padding:22px}.rail-empty-desc{margin-bottom:18px}.rail-empty-steps li{padding-bottom:16px}.kpi-row .stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){:root{--sidebar-width: 58px}.sidebar{padding:18px 5px}.sidebar-brand{padding:0 5px 22px}.brand-mark{width:36px;height:38px}.nav-item{padding:12px 10px}.topbar{padding:16px 12px}.topbar-brand .brand-title{font-size:18px}.topbar-right{gap:5px}.topbar-controls{gap:8px}.topbar-controls>*:first-child{max-width:100%}.workbench-page{padding:14px 10px}.overview-heading{align-items:flex-start;flex-direction:column;gap:4px}.section-eyebrow{display:none}.overview-scope{font-size:10px}.kpi-row .stat-row{gap:10px}.kpi-row .stat-card{padding:12px;height:137px}.kpi-row .kpi-icon{display:none}.kpi-row .stat-label{padding-right:0;font-size:11px}.kpi-row .stat-value{font-size:27px;white-space:normal}.kpi-badge{right:8px;bottom:5px}.kpi-row .stat-sub{font-size:9px}.matrix-full{height:460px}.matrix-full>.card>.card-head{padding:14px 10px}.matrix-full .card-extra>.segmented{max-width:100%;overflow-x:auto;margin:0}.bottom-cards{height:auto;display:flex;flex-direction:column}.bottom-cards>.card{flex:none;height:200px}.fullscreen-overlay .fs-head,.fullscreen-overlay .fs-body{padding:14px 12px}.fullscreen-overlay .fs-title{width:100%}.login-card{max-width:calc(100vw - 32px);padding:28px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;animation:none!important}}:root{--sidebar-width: 212px;--page-bg: #f4f8f6;--primary: #65b18c;--title: #273c32}.sidebar{background:#22362c;color:#b6c8bf;border:0;padding:30px 16px 24px}.sidebar-brand{color:#fff;padding:0 4px 40px;gap:11px}.sidebar-brand strong{font-size:20px;letter-spacing:1px}.sidebar-brand small{color:#97b0a4;font-size:8px}.brand-mark{background:#78bb9b;box-shadow:0 4px 16px #0002;width:40px;height:44px}.nav-caption{color:#7d9a8b;font-size:10px;padding-left:16px}.nav-item{color:#b4cabf;font-size:14px;padding:13px 16px;margin-bottom:7px;gap:13px}.nav-item:hover{background:#2c4639;color:#fff}.nav-item.active{background:#65b18c;color:#fff;box-shadow:0 5px 18px #162c2133}.nav-item.active:after{background:#dbede4}.nav-list li:nth-child(4){padding-bottom:14px;margin-bottom:20px;border-bottom:1px solid #ffffff0d}.sidebar-logo{border-top-color:#ffffff12;padding-top:20px}.sidebar-logo strong{color:#bdd0c7}.sidebar-logo small{color:#85a193}.sidebar-footer-icon{color:#a0cfb8}.topbar{padding:16px 28px;gap:12px 16px;background:#fff}.topbar-brand .brand-title{font-size:15px;font-weight:600;color:#70847a}.topbar-brand .brand-title:before{content:"工作空间 / ";color:#a1afa8;font-weight:400}.topbar-brand .brand-sub{display:none}.topbar-controls{padding-top:10px;border-top:1px solid #f2f4f3}.topbar-controls>*:first-child{max-width:340px}.hotel-selector-btn{font-size:13px;border-radius:6px}.topbar-userchip{border:0;background:#f6f8f7}.topbar-right{gap:10px}.layout-diagnostics{right:28px;font-size:8px;bottom:1px}.workbench-page{padding:24px 28px 30px;gap:20px}.overview-heading{min-height:53px;align-items:center}.overview-heading>div:first-child{display:block}.section-eyebrow{display:block;font-size:9px;color:#94a59d;letter-spacing:2px;margin-bottom:5px}.overview-heading h1{font-size:26px;letter-spacing:-.5px;font-weight:650;line-height:1.25}.overview-heading h1>span{margin-left:13px;padding-left:13px;border-left:1px solid #d3dcd8;color:#8c9e95;font-size:18px;font-weight:400;letter-spacing:0}.overview-actions{display:flex;align-items:center;gap:20px}.overview-scope{font-size:12px}.overview-scope b{font-weight:600}.overview-link{color:#5d7469;font-size:12px}.overview-batch{padding:10px 15px;font-size:12px;gap:14px}.overview-batch:hover{text-decoration:none}.kpi-row .stat-row{gap:18px}.kpi-row .stat-card{height:148px;border:1px solid #e9f0ed;padding:20px 22px 16px;border-radius:12px;box-shadow:none;overflow:hidden}.kpi-row .stat-card:first-child{background:#65b18c;border-color:#65b18c}.kpi-row .stat-label{font-size:13px;font-weight:400;color:#7d9287}.kpi-row .stat-value{font-size:39px;font-weight:650;margin-top:6px;line-height:1.2;letter-spacing:-1px}.stat-value .unit{font-size:12px;margin-left:8px;color:#859b90}.kpi-row .stat-sub{padding-top:12px;margin-top:10px;border-top:1px solid #eff3f1;font-size:11px}.kpi-row .kpi-icon{top:16px;right:18px;width:32px;height:32px;background:#f5f9f7!important;color:#8ab9a2;border-radius:9px}.kpi-row .stat-card:first-child .stat-label,.kpi-row .stat-card:first-child .stat-value,.kpi-row .stat-card:first-child .unit{color:#fff}.kpi-row .stat-card:first-child .muted{color:#d6eae0}.kpi-row .stat-card:first-child .stat-sub{border-top-color:#ffffff26}.kpi-row .stat-card:first-child .kpi-icon{background:#ffffff1f!important;color:#fff}.kpi-badge{right:16px;bottom:12px;background:transparent;max-width:108px}.kpi-badge .badge-demo{background:#ffffff14;color:#e3f1ea;border:1px solid #ffffff40;border-radius:4px}.wb-split{flex:none;display:block;min-height:0}.wb-center{display:flex;gap:20px}.matrix-full{flex:none;height:600px;min-height:0}.matrix-full>.card{border:1px solid #e6ece9;box-shadow:none;border-radius:12px;overflow:hidden}.matrix-full>.card>.card-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:19px 22px;border-bottom:0}.matrix-full .card-title{display:flex;align-items:center;gap:13px}.matrix-full .card-title:before{display:none}.matrix-heading-label{font-size:17px;letter-spacing:.2px}.matrix-heading-count{font-size:11px;color:#93a49c;font-weight:400}.matrix-full .card-extra{width:auto;margin-left:auto;gap:20px}.matrix-search{width:170px;padding:8px 12px;border:1px solid #e6ece9;background:#f9fbfa;border-radius:6px;color:var(--title);font-size:12px}.matrix-search::placeholder{color:#9daca5}.chart-legend{gap:12px;font-size:11px}.matrix-date-toolbar{display:flex;align-items:center;gap:12px;padding:0 22px 16px;flex:none;border-bottom:1px solid #e8eeeb}.date-toolbar-label{font-size:11px;color:#8a9d94;white-space:nowrap}.stay-cal-btn{border-radius:6px;height:36px;padding:6px 10px}.matrix-date-toolbar>.badge,.matrix-date-toolbar>.data-meta{margin-left:auto}.date-strip{gap:5px;background:transparent;border:0;padding:0;border-radius:0;flex:0 1 auto;max-width:100%;overflow-x:auto}.date-strip .segmented-item{display:flex;gap:8px;align-items:center;padding:9px 13px;border:1px solid transparent;min-height:36px;border-radius:6px;box-shadow:none}.date-strip .segmented-item>span{font-size:13px;font-weight:600}.date-strip .segmented-item small{font-size:10px;color:#9aaba3;font-weight:400}.date-strip .segmented-item.active{background:#f3f9f6;border-color:#daece3;color:#65b18c}.date-strip .segmented-item.active small{color:#65b18c}.date-strip .segmented-item:hover{background:#f4f9f7}.matrix-table{min-width:960px}.matrix-table th{height:54px;padding:10px 18px;background:#f8fbf9;font-size:12px;color:#6e8479}.matrix-table td{padding:9px 18px;vertical-align:middle;border-bottom-color:#eff4f2;height:64px}.matrix-table td.name-col,.matrix-table th.name-col{width:168px;min-width:168px}.matrix-table .room-link{font-size:13px;font-weight:500;color:#324a3e}.matrix-table tbody tr:nth-child(2n) td{background:#fff}.matrix-table tbody tr:hover td{background:#fafcfb}.matrix-table tbody tr.row-selected td{background:#f3f9f6}.matrix-table th:last-child,.matrix-table td:last-child{width:76px;min-width:76px}.platform-head{gap:7px;min-width:124px;font-size:12px;color:#3f574b}.platform-head .platform-chip{width:22px;height:22px;font-size:12px;border-radius:6px}.cell-stack{min-width:124px;padding:1px 0}.cell-price{font-size:18px;letter-spacing:-.4px;font-weight:600}.cell-top{gap:7px}.cell-meta{font-size:10px;margin-top:5px}.cell-rswitch{opacity:.65}.cell-rswitch:hover,.cell-rswitch:focus-visible{opacity:1}.cell-rswitch:disabled{opacity:.35}.btn-adjust{background:transparent;border:1px solid #e2ede8;color:#659f83;padding:5px 9px}.stock-bar{height:3px;max-width:106px}.matrix-full .card-foot{padding:9px 22px;background:#fff;border-radius:0;justify-content:space-between}.matrix-full .card-foot details{width:auto!important;max-width:100%}.matrix-footer-note{color:#93a49c;font-size:10px}.bottom-cards{height:224px;display:grid;grid-template-columns:1.1fr 1.1fr .8fr;gap:20px}.bottom-cards>.card,.bottom-cards>.card:last-child{display:flex;border-radius:12px;box-shadow:none}.bottom-cards .card-head{padding:17px 20px}.bottom-cards .card-title{font-size:14px}.bottom-cards .card-body{padding:17px 20px}.bottom-cards .win-num{font-size:26px}.competitor-empty{gap:9px;padding:3px}.competitor-symbol{font-size:34px}.competitor-empty strong{font-size:13px}.adjust-drawer{display:flex;flex-direction:column;position:fixed;inset:0 0 0 auto;z-index:1200;width:416px;height:100dvh;max-width:100vw;background:#fff;border-left:1px solid #dfeae5;box-shadow:-16px 0 60px #22362c20}.adjust-drawer-head{display:flex;flex:none;align-items:center;justify-content:space-between;padding:23px 24px;background:#fafdfc;border-bottom:1px solid #e9f1ed}.adjust-drawer-head span{font-size:9px;color:#97aca2;letter-spacing:1.7px}.adjust-drawer-head h2{font-size:19px;margin:5px 0 0;color:#314a3e;font-weight:600}.drawer-dismiss{background:#fff;border:1px solid #e1ece7;color:#789084;width:32px;height:32px;border-radius:8px;font-size:23px;cursor:pointer;line-height:1}.adjust-drawer-body{min-height:0;overflow-y:auto;flex:1}.adjust-drawer .rail-room-card{padding:22px 24px;background:#fff}.adjust-drawer .rail-room-photo{width:52px;height:52px}.adjust-drawer .rail-room-name{font-size:17px}.adjust-drawer .step-group{padding:20px 24px}.adjust-drawer .step-title{font-size:13px;margin-bottom:14px}.adjust-drawer .chip{border-radius:6px;padding:6px 10px}.adjust-drawer .price-hero{font-size:32px}.adjust-drawer .adjust-foot.sticky-foot{padding:16px 24px;box-shadow:0 -6px 18px #314a3e08}.adjust-drawer .adjust-foot .btn{min-height:38px;font-size:12px}.adjust-drawer .rswitch-wrap{flex-wrap:wrap}@media (min-width: 1700px){:root{--sidebar-width: 224px}.workbench-page{padding:28px 36px 36px;gap:24px}.topbar{padding-inline:36px}.kpi-row .stat-card{height:154px}.matrix-full{height:610px}}@media (max-width: 1390px){:root{--sidebar-width: 190px}.sidebar{padding-inline:12px}.sidebar-brand strong{font-size:18px}.brand-mark{width:36px}.nav-item{font-size:13px;padding-inline:12px}.workbench-page{padding:20px;gap:18px}.topbar{padding:14px 20px}.overview-heading h1{font-size:23px}.overview-scope{display:none}.kpi-row .stat-card{padding:18px;height:145px}.kpi-row .stat-value{font-size:35px}.kpi-row .stat-sub{font-size:10px}.matrix-full .card-extra{gap:12px}.matrix-full{height:580px}.matrix-table th,.matrix-table td{padding:9px 10px}.matrix-table td.name-col,.matrix-table th.name-col{min-width:134px;width:134px}.platform-head{min-width:116px}.date-strip .segmented-item{padding:9px}.date-strip .segmented-item small{display:none}}@media (max-width: 1100px){:root{--sidebar-width: 76px}.sidebar{padding:24px 8px}.sidebar-brand{padding:0 10px 35px}.nav-item{padding:15px}.topbar{grid-template-columns:1fr auto}.topbar-right{grid-column:2;grid-row:1;justify-content:flex-end}.topbar-brand .brand-title:before{display:none}.topbar-controls{grid-row:2}.kpi-row .stat-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.kpi-row .kpi-icon{display:none}.kpi-row .stat-label{padding:0;font-size:12px}.kpi-row .stat-value{font-size:30px}.stat-value .unit{font-size:10px}.kpi-row .stat-sub{font-size:9px}.bottom-cards{grid-template-columns:1fr 1fr;height:auto}.bottom-cards>.card{height:220px}.bottom-cards>.card:last-child{grid-column:1 / -1;height:200px}.adjust-drawer{height:100dvh}}@media (max-width: 640px){:root{--sidebar-width: 58px}.sidebar{padding:18px 5px}.sidebar-brand{padding:0 5px 22px}.brand-mark{width:36px;height:38px}.nav-item{padding:12px 10px}.topbar{display:flex;padding:14px 12px;gap:10px;flex-wrap:wrap}.topbar-brand{width:100%}.topbar-right{justify-content:flex-start;flex-wrap:wrap}.topbar-controls{width:100%}.workbench-page{padding:18px 12px;gap:16px}.overview-heading{align-items:flex-start;gap:14px}.overview-heading h1{font-size:22px}.overview-heading h1>span{font-size:15px;padding-left:9px;margin-left:9px}.overview-actions{gap:16px}.overview-batch{padding:8px 12px}.kpi-row .stat-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi-row .stat-card{padding:14px;height:158px}.kpi-row .stat-value{font-size:32px}.kpi-row .stat-sub{padding-top:10px}.kpi-badge{display:none}.matrix-full{height:590px}.matrix-full>.card>.card-head{padding:16px 12px;gap:12px}.matrix-heading-label{font-size:15px}.matrix-heading-count{font-size:9px}.matrix-full .card-extra{margin:0;width:100%;flex-wrap:wrap;gap:10px}.matrix-search{width:100%}.chart-legend{font-size:10px;gap:8px}.matrix-date-toolbar{flex-wrap:wrap;padding:0 12px 12px;gap:8px}.date-strip{width:100%;order:3}.matrix-date-toolbar>.badge{font-size:9px}.matrix-table td.name-col,.matrix-table th.name-col{min-width:122px;width:122px}.matrix-full .card-foot{padding:10px 12px}.matrix-footer-note{display:none}.bottom-cards{display:flex;flex-direction:column}.adjust-drawer{width:100vw}.adjust-drawer-head{padding:20px}.adjust-drawer .step-group{padding:18px 20px}}.dash-page{display:flex;flex-direction:column;gap:10px;overflow-y:auto;min-height:0}.dash-topline{display:flex;align-items:center;justify-content:space-between}.dash-title{font-size:19px;font-weight:700;color:var(--title)}.dash-topline-right{display:flex;align-items:center;gap:10px}.dash-updated{font-size:12px;color:var(--text-sub)}.dash-auto-pill{font-size:12px;color:var(--primary);background:var(--primary-soft);border:1px solid var(--border);border-radius:999px;padding:4px 12px}.dash-group-head{display:flex;align-items:center;gap:10px;background:var(--primary-soft);border:1px solid var(--border-soft);border-radius:10px;padding:4px 12px}.dash-group-name{font-size:13px;font-weight:700;color:var(--primary)}.dash-group-meta{font-size:12px;color:var(--head-text)}.dash-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:6px}@media (max-width: 1500px){.dash-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 1180px){.dash-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 880px){.dash-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 600px){.dash-grid{grid-template-columns:1fr}}.dash-card{background:var(--panel-bg);border:1px solid var(--border);border-radius:10px;padding:7px 10px 6px;cursor:pointer;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.dash-card:hover{transform:translateY(-1px);border-color:var(--primary);box-shadow:0 2px 10px #293f3514}.dash-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.dash-card-stale{opacity:.68}.dash-card-dragging{opacity:.4;transform:none}.dash-card-drop{border-color:var(--primary);border-style:dashed;box-shadow:0 0 0 2px #293f351f}.dash-order-tip{font-size:11px;color:var(--text-sub)}.dc-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.dc-name{font-size:12px;font-weight:700;color:var(--title);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dc-dot{width:8px;height:8px;border-radius:50%;background:var(--switch-open);flex:none}.dc-dot-stale{background:#c4554d}.dc-main{display:flex;justify-content:space-between;align-items:flex-end;margin:5px 0 4px}.dc-block-right{text-align:right}.dc-label{font-size:10px;color:var(--text-sub);margin-bottom:2px}.dc-big{font-size:19px;font-weight:700;color:var(--title);line-height:1.1}.dc-big em{font-style:normal;font-size:10px;font-weight:400;color:var(--text-sub)}.dc-price-src{font-size:10px;color:var(--text-sub)}.dc-disc{display:flex;gap:4px;flex-wrap:wrap;margin:4px 0 6px}.dc-chip{font-size:10px;padding:1px 6px;border-radius:999px;background:var(--primary-soft);color:var(--primary);border:1px solid var(--border-soft)}.dc-chip b{font-weight:700;margin-right:2px}.dc-chip-dim{background:var(--panel-bg-soft);color:var(--text-weak)}.dc-pace{display:flex;align-items:center;gap:8px;border-top:1px dashed var(--border);padding-top:5px}.dc-pace-label{font-size:10px;color:var(--text-sub);white-space:nowrap}.dc-pace-cols{display:flex;gap:11px;flex:1}.dc-pace-col{display:flex;flex-direction:column;align-items:center;gap:1px}.dc-pace-col small{font-size:10px;color:var(--text-weak)}.dc-pace-col b{font-size:13px;color:var(--title)}.dc-today{border-left:1px solid var(--border);padding-left:10px;display:flex;flex-direction:column;align-items:center;gap:1px}.dc-today small{font-size:10px;color:var(--text-weak)}.dc-today b{font-size:16px;color:var(--primary)}.dc-foot{display:flex;justify-content:space-between;font-size:10px;color:var(--text-sub);margin-top:5px}.dc-enter{color:var(--primary);font-weight:600}.dash-group-filter{display:flex;gap:8px;flex-wrap:wrap}.dash-group-chip{font-size:12px;padding:5px 14px;border-radius:999px;cursor:pointer;border:1px solid var(--border);background:var(--panel-bg);color:var(--text-main)}.dash-group-chip:hover{border-color:var(--primary);color:var(--primary)}.dash-group-chip.active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.version-banner{position:fixed;top:0;left:50%;transform:translate(-50%);z-index:9999;display:flex;align-items:center;gap:12px;cursor:pointer;background:var(--primary);color:#fff;font-size:13px;padding:8px 18px;border-radius:0 0 10px 10px;box-shadow:0 2px 12px #293f3540}.version-banner-action{font-weight:700;text-decoration:underline}.competitor-list{display:flex;flex-direction:column;gap:6px}.competitor-row{display:flex;justify-content:space-between;gap:10px;font-size:12px;align-items:baseline}.competitor-row-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-main)}.competitor-row-price{font-weight:700;color:var(--primary);white-space:nowrap}.competitor-row-price small{font-weight:400;color:var(--text-weak)}.competitor-day{font-size:10px;color:var(--text-weak);margin-top:6px}.dc-edit-btn{margin-left:auto;border:1px solid #c5d0e0;background:#f5f8fc;color:#345;border-radius:6px;font-size:12px;padding:2px 8px;cursor:pointer}.dc-edit-btn:hover{background:#e8eef8}.dc-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap}:root{--page-bg: #f5f4ef;--panel-bg: #fffefa;--panel-bg-soft: #f6f7f1;--panel-bg-secondary: #f0f3ec;--head-bg: #f0f3ec;--head-text: #65756a;--head-border: #e2e7dc;--title: #293f35;--text-main: #465a4e;--text-sub: #768477;--text-weak: #899488;--primary: #3d6b54;--primary-hover: #2d5540;--primary-soft: #e8f0e4;--blue: #3d6b54;--blue-bg: #e8f0e4;--border: #e2e6dc;--border-soft: #eaede4;--switch-open: #5f8c71;--switch-open-hover: #456e56;--green: #497b5a;--green-bg: #eaf2e6}body{background:var(--page-bg)}.sidebar{background:#e8eee2;border-right:1px solid #dfe5d7;color:#61705f}.sidebar-brand{color:#304d3c}.brand-mark{background:#56765c;box-shadow:none;border-radius:13px}.sidebar-brand small{color:#81917c}.nav-caption{color:#8b9984}.nav-item{color:#61725e;font-weight:400}.nav-item:hover{background:#dce6d5;color:#304d3b}.nav-item.active{background:#3e624b;color:#fffdf5;box-shadow:0 4px 12px #334c2c0b}.nav-item.active:after{background:#c2d5ae}.nav-list li:nth-child(4){border-bottom-color:#cfd9c7}.sidebar-logo{border-top-color:#cfd9c7}.sidebar-logo strong{color:#60755b}.sidebar-logo small{color:#8b9984}.sidebar-footer-icon{color:#78946a}.topbar{background:#fffefa;border-bottom-color:#e7e8df}.topbar-brand .brand-title{color:#647462}.topbar-brand .brand-title:before{color:#9aa28f}.topbar-controls{border-top-color:#eeeee5}.topbar-userchip{background:#f0f3e9}.topbar-link,.btn-link{color:#61795e}.hotel-selector-btn,.date-pill{border-color:#dce2d4;background:#fffefa}.hotel-selector-btn .hs-lead-icon{color:#68835c;background:#eef3e6}.overview-heading h1{color:#2d4936;font-weight:600}.overview-heading h1>span{color:#909b87;border-left-color:#d9ddce}.section-eyebrow{color:#95a086;letter-spacing:2.5px}.overview-link{color:#6c7e61}.overview-batch{background:#3e624b;border-color:#3e624b;color:#fffdf5}.kpi-row .stat-card{background:#fffefa;border-color:#e3e6dc;border-radius:15px}.kpi-row .stat-card:first-child{background:#46674e;border-color:#46674e}.kpi-row .stat-card:first-child .muted{color:#d2dfc4}.kpi-row .stat-label{color:#7d8975}.kpi-row .stat-value{color:#2d4736;font-weight:600}.kpi-row .stat-sub{border-top-color:#eaede2}.kpi-row .kpi-icon{color:#738f63;background:#f0f4e7!important}.kpi-row .stat-card:nth-child(2) .kpi-icon{color:#6b8d68;background:#ecf2e4!important}.kpi-row .stat-card:nth-child(3) .kpi-icon{color:#aa9168;background:#f7f0df!important}.kpi-row .stat-card:nth-child(4) .kpi-icon{color:#bb947a;background:#faf0e5!important}.kpi-row .stat-card:first-child .kpi-icon{background:#ffffff17!important}.kpi-badge .badge-demo{color:#e0e9cd;border-color:#fff3}.card,.matrix-full>.card{background:#fffefa;border-color:#e1e5d9;border-radius:15px}.matrix-search{background:#f5f6ef;border-color:#e1e5d8;color:#40563f}.matrix-date-toolbar{border-bottom-color:#e5e9dd}.date-strip .segmented-item.active{background:#e9f0de;border-color:#ceddbb;color:#45673b}.date-strip .segmented-item.active small{color:#6d855d}.date-strip .segmented-item:hover{background:#f0f3e7}.matrix-table th{background:#f1f3e9;color:#718168}.matrix-table td,.matrix-table tbody tr:nth-child(2n) td{background:#fffefa;border-bottom-color:#eceee4}.matrix-table tbody tr:hover td{background:#f4f6ec}.matrix-table tbody tr.row-selected td{background:#eaf1e1}.matrix-table .room-link,.cell-price{color:#334d3b}.platform-head{color:#4a5e46}.matrix-table td.name-col{border-right-color:#eaede2}.matrix-table th:last-child,.matrix-table td:last-child{background:#fffefa}.matrix-table thead th:last-child{background:#f1f3e9}.cell-stack.selected-cell{background:#e7efdd;outline-color:#adbf98}.cell-rswitch.is-open{background:#6b9475}.stock-bar{background:#edf0e3}.stock-bar i,.stock-bar.mid>i{background:#8ca476}.btn-adjust{color:#5d7a4f;border-color:#dce4d1;border-radius:7px}.matrix-full .card-foot{background:#fafbf5;border-top-color:#e8ecdf}.badge-primary,.chip.active,.segmented-item.active{color:#4d7041;background:#eaf1df;border-color:#c7d8b5}.badge-info{color:#6d8262;background:#eef3e6}.bottom-cards .win-num{color:#3f5c40}.competitor-symbol{color:#a3b091}.adjust-drawer{background:#fffefa;border-left-color:#dce3d2;box-shadow:-16px 0 60px #35482b17}.adjust-drawer-head{background:#eff3e6;border-bottom-color:#dfe7d3}.adjust-drawer-head h2{color:#355139}.adjust-drawer .rail-room-card,.adjust-drawer .adjust-foot.sticky-foot{background:#fffefa}.drawer-dismiss{background:#fffefa;color:#6c825d;border-color:#d7e0cc}.adjust-panel .step-no{color:#537548;background:#ecf2e2}.btn-primary{background:#466b4c;border-color:#466b4c}.btn-primary:hover:not(:disabled){background:#34563b;border-color:#34563b}.rail-room-photo{background:#edf2e3;color:#799269}.fullscreen-overlay,.login-page{background:#f5f4ef}.fullscreen-overlay .fs-head{background:#fffefa}:where(button,a,input,select,textarea,summary,[role=button]):focus-visible{outline-color:#a4b68c}.login-card{background:#fffefa;box-shadow:0 20px 70px #5763460a}.calendar-refined{--cal-ink: #294238;--cal-muted: #7e8e82;--cal-line: #e4e9df;--cal-surface: #fffefa;--cal-soft: #f4f6ef;--cal-sage: #62866b;--cal-sage-soft: #e6efe5;--cal-amber: #b78451;--cal-amber-soft: #fbf1df;gap:16px;color:var(--cal-ink)}.cal-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:4px 2px 2px}.cal-eyebrow{color:#9aa998;font-size:10px;letter-spacing:2px;line-height:1}.cal-title{margin:9px 0 5px;color:var(--cal-ink);font-size:clamp(22px,2.3vw,30px);font-weight:650;letter-spacing:-.5px;line-height:1.15}.cal-title span{margin-left:12px;padding-left:12px;border-left:1px solid #d7dfd4;color:#98a69a;font-size:14px;font-weight:400;letter-spacing:0}.cal-subtitle{margin:0;color:var(--cal-muted);font-size:12px}.cal-hero-meta{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding-bottom:3px}.cal-window-meta{color:#66796b;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.cal-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;border:1px solid var(--cal-line);border-radius:12px;background:var(--cal-surface)}.cal-window-controls{display:inline-flex;gap:5px}.cal-toolbar .btn{min-height:32px;border-color:#dce5d9;background:#fffefa;color:#58705e;font-size:12px}.cal-toolbar .btn:hover{border-color:#9bb69e;background:#f3f7ee;color:#355840}.cal-toolbar .cal-today-btn{border-color:#b9cfb7;background:var(--cal-sage-soft);color:#4a7152;font-weight:600}.cal-search{display:flex;align-items:center;gap:7px;min-width:220px;margin-left:auto;padding:0 8px 0 10px;border:1px solid #dee6da;border-radius:7px;background:#fafbf7;color:#819183}.cal-search:focus-within{border-color:#9db89c;box-shadow:0 0 0 3px #e6efe5}.cal-search input{width:100%;min-width:0;height:32px;border:0;outline:0;background:transparent;color:var(--cal-ink);font:inherit;font-size:12px}.cal-search input::placeholder{color:#a0aca0}.cal-search button{width:22px;height:22px;padding:0;border:0;border-radius:50%;background:#e8eee4;color:#69806e;cursor:pointer;line-height:1}.cal-result-count{color:#87958a;font-size:11px;white-space:nowrap}.cal-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(100px,1fr)) minmax(220px,1.7fr);gap:10px}.calendar-refined .cal-chip{min-width:0;padding:11px 13px;border-color:var(--cal-line);border-radius:11px;background:var(--cal-surface)}.calendar-refined .cal-chip-label{color:#87968a;font-size:10px;letter-spacing:.2px}.calendar-refined .cal-chip-value{margin-top:3px;color:var(--cal-ink);font-size:21px;font-weight:650}.calendar-refined .cal-chip-value.ok{color:#5d8865}.calendar-refined .cal-chip-value.warn{color:var(--cal-amber)}.cal-summary-note{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:11px 15px;border:1px solid var(--cal-line);border-radius:11px;background:#f7f8f2}.cal-summary-note span{color:#87968a;font-size:10px}.cal-summary-note strong{margin-top:3px;color:#5c7162;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.cal-summary-note small{margin-top:3px;color:#9aa69a;font-size:10px}.cal-collapsible{border:1px solid var(--cal-line);border-radius:10px;background:var(--cal-surface)}.cal-collapsible>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px;color:#5b7060;cursor:pointer;list-style-position:inside;font-size:12px;font-weight:600}.cal-collapsible>summary::marker{color:#9aad98}.cal-collapsible>summary small{margin-left:auto;color:#98a69a;font-size:10px;font-weight:400}.cal-diagnostics-grid{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:8px;padding:0 10px 10px}.cal-diagnostics-grid .cal-chip{background:#fafbf7}.calendar-refined .cal-unassigned{flex:none;max-height:none;padding:0;overflow:hidden}.cal-unassigned-title{margin:0}.cal-unassigned-title b{color:var(--cal-amber);font-weight:650}.cal-empty-inline{padding:0 14px 12px;font-size:11px}.cal-unassigned-list{max-height:210px;overflow:auto;padding:0 13px 8px}.calendar-refined .cal-unassigned-row{display:grid;grid-template-columns:minmax(92px,.8fr) minmax(170px,1.3fr) minmax(90px,1fr) auto;gap:10px;align-items:center;padding:8px 0;border-color:var(--cal-line);font-size:11px}.calendar-refined .cal-ono{color:#48634e}.cal-legend{overflow:hidden}.cal-legend .chart-legend{padding:0 14px 11px;gap:12px}.cal-legend .legend-item{color:#718074;font-size:10px}.cal-legend .legend-swatch{width:8px;height:8px;border-radius:3px}.cal-loading{padding:16px;border:1px solid var(--cal-line);border-radius:10px;background:var(--cal-surface);color:var(--cal-muted)}.calendar-refined .cal-scroll{max-height:min(62vh,640px);border-color:#dfe7db;border-radius:12px;box-shadow:0 5px 18px #445c3a08}.calendar-refined .cal-table{width:100%;min-width:1120px;background:var(--cal-surface)}.calendar-refined .cal-table th{height:58px;padding:9px 10px;background:#eff3ea;color:#67796b;border-right-color:#e0e7dc;border-bottom-color:#dce5d8;font-size:12px;font-weight:650}.calendar-refined .cal-table th.room-col{min-width:160px;width:160px;text-align:left}.calendar-refined .cal-table th.is-today{background:#6b8f72;color:#fff}.cal-weekday{margin-top:3px;color:#97a498;font-size:10px;font-weight:400}.calendar-refined .cal-table th.is-today .cal-weekday{color:#d8e6d5}.calendar-refined .cal-table td{height:58px;padding:7px 10px;border-bottom-color:#edf0e9;border-right-color:#edf0e9}.calendar-refined .cal-table td.room-col{min-width:160px;background:#fffefa;border-right-color:#dfe7dc}.calendar-refined .cal-table tbody tr:hover td.empty{background:#f4f7f0}.calendar-refined .cal-table tbody tr:hover td.room-col{background:#eff4eb}.calendar-refined .cal-door{color:#3b5542;font-size:14px;font-weight:650}.calendar-refined .cal-door.missing{color:#909e91}.calendar-refined .cell-sub{margin-top:3px;color:#8b998e;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-refined .cal-cell{min-width:62px;height:58px;padding:4px;color:#637568;font-size:10px;font-weight:500;transition:filter .15s ease,transform .15s ease}.calendar-refined .cal-cell:hover{position:relative;z-index:1;filter:saturate(1.12) brightness(.98);box-shadow:inset 0 0 0 2px #9db89b}.calendar-refined .cal-cell.occupied{background:#dcece1;color:#48735a}.calendar-refined .cal-cell.reserved-in{background:#e6f0e2;color:#5d8664}.calendar-refined .cal-cell.reserved-out{background:#fbf0dd;color:#a97645}.calendar-refined .cal-cell.unknown{background:#f0f2ee;color:#8c998f}.calendar-refined .cal-cell.empty{background:#fffefa;color:#b7c1b7}.calendar-refined .cal-cell.is-today{box-shadow:inset 1px 0 #7fa888,inset -1px 0 #7fa888}.calendar-refined .cal-cell.is-today:hover{box-shadow:inset 0 0 0 2px #5e8767}.cal-cell-marker{display:block;font-size:12px;font-weight:600;line-height:1.2}.cal-cell-order{display:block;margin-top:3px;color:inherit;font-size:9px;opacity:.82;font-variant-numeric:tabular-nums}.cal-banner{margin:8px;padding:8px 11px;border-radius:8px;background:#fbf1df;color:#a27447;font-size:11px}.cal-footnote{overflow:hidden}.cal-footnote .section-note{margin:0;padding:10px 13px 13px;border:0;background:#fafbf7;color:#849287;font-size:10px;line-height:1.7}@media (max-width: 900px){.cal-hero{align-items:flex-start;flex-direction:column}.cal-hero-meta{justify-content:flex-start;padding-bottom:0}.cal-summary-grid{grid-template-columns:repeat(3,minmax(90px,1fr))}.cal-summary-note{grid-column:1 / -1}.cal-search{min-width:min(300px,100%);margin-left:0;flex:1 1 260px}.cal-diagnostics-grid{grid-template-columns:repeat(2,minmax(100px,1fr))}}@media (max-width: 560px){.cal-title{font-size:23px}.cal-title span{display:block;width:max-content;margin:6px 0 0;padding:0;border:0;font-size:12px}.cal-toolbar{padding:10px}.cal-window-controls{width:100%}.cal-window-controls .btn{flex:1}.cal-search{flex-basis:100%}.cal-result-count{width:100%}.cal-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.calendar-refined .cal-chip{padding:9px 8px}.calendar-refined .cal-chip-value{font-size:17px}.cal-collapsible>summary{align-items:flex-start;flex-direction:column;gap:3px}.cal-collapsible>summary small{margin-left:0}.calendar-refined .cal-unassigned-row{display:flex;align-items:flex-start;flex-wrap:wrap;gap:5px 9px}.calendar-refined .cal-unassigned-row>span:nth-child(2){width:100%}.calendar-refined .cal-table th.room-col,.calendar-refined .cal-table td.room-col{min-width:132px;width:132px}}.calendar-refined .cal-summary-grid{grid-template-columns:1fr 1fr 1fr 1.7fr;gap:0;padding:12px 0;background:#fffefa;border:1px solid var(--cal-line);border-radius:12px}.calendar-refined .cal-summary-grid .cal-chip{display:flex;align-items:center;gap:16px;border:0;border-right:1px solid var(--cal-line);border-radius:0;padding:4px 18px;background:transparent}.calendar-refined .cal-summary-grid .cal-chip-label{font-size:12px}.calendar-refined .cal-summary-grid .cal-chip-value{margin:0}.calendar-refined .cal-summary-note{flex-direction:row;gap:10px;align-items:center;padding:4px 16px;border:0;background:transparent}.calendar-refined .cal-summary-note strong{margin:0;white-space:nowrap}.calendar-refined .cal-summary-note>span{display:none}.cal-state-key{display:flex;align-items:center;flex-wrap:wrap;gap:18px;padding:0 3px;color:#65776a;font-size:11px}.cal-state-key>span{display:inline-flex;align-items:center;gap:6px}.cal-state-key i{width:10px;height:10px;border-radius:3px;display:inline-block;border:1px solid #d6dfd3}.cal-state-key .occupied{background:#dcece1;border-color:#8fb89e}.cal-state-key .reserved-in{background:#e6f0e2;border-color:#a5c49a}.cal-state-key .reserved-out{background:#fbf0dd;border-color:#dec394}.cal-state-key .unknown{background:#f0f2ee}.cal-state-key .empty{background:#fffefa}.cal-state-key .beyond,.calendar-refined .cal-cell.beyond{background:repeating-linear-gradient(135deg,#f3f4f1 0,#f3f4f1 4px,#e8ebe5 4px,#e8ebe5 8px);color:#a3aea5}.cal-state-key>small{margin-left:auto;color:#87958a}.cal-collapsible>summary:after{content:"+";flex:none;color:#849b7e}.cal-collapsible[open]>summary:after{content:"−"}@media (max-width:1100px){.calendar-refined .cal-summary-note small{display:none}.calendar-refined .cal-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:560px){.calendar-refined .cal-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-refined .cal-summary-grid .cal-chip{display:block;padding:4px 10px}.calendar-refined .cal-summary-note{grid-column:1 / -1;margin-top:12px;padding-top:12px;border-top:1px solid var(--cal-line)}.cal-state-key{gap:10px}.cal-state-key>small{margin-left:0;width:100%}}.batch-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.batch-step{display:flex;align-items:center;gap:12px;min-height:68px;padding:13px 16px;border:1px solid var(--border);border-radius:12px;background:var(--panel-bg);color:var(--text-main);text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.batch-step:hover:not(:disabled){border-color:#aabd9a;background:#fbfcf8}.batch-step.active{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 4px 12px #385b3f14}.batch-step.locked{cursor:not-allowed;opacity:.55}.batch-step-no{width:28px;height:28px;flex:none;display:grid;place-items:center;border-radius:50%;background:#edf1e8;color:#73856f;font-size:13px;font-weight:700}.batch-step.active .batch-step-no{background:var(--primary);color:#fff}.batch-step strong,.batch-step small{display:block}.batch-step strong{font-size:13px;color:var(--title)}.batch-step small{margin-top:3px;color:var(--text-sub);font-size:11px;font-weight:400}.batch-step-panel{display:grid;gap:14px}.batch-scope-card,.batch-rule-card{overflow:hidden}.batch-scope-card>.card-body,.batch-rule-card>.card-body{padding:20px 22px}.batch-form-grid{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(360px,1.3fr);gap:18px;padding-bottom:18px;border-bottom:1px solid var(--border-soft)}.batch-field{display:flex;align-items:center;gap:12px;min-width:0}.batch-field>.field-label{min-width:58px;flex:none}.batch-date-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.batch-date-controls .input{width:145px}.batch-selection-note,.batch-count{color:var(--text-sub);font-size:12px}.batch-selection-block{padding:18px 0 3px}.batch-block-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.batch-block-head .field-label{color:var(--title);font-weight:650}.batch-block-actions{margin-left:auto;display:flex;gap:6px}.batch-option-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.batch-option,.batch-platform-option{display:flex;align-items:center;gap:8px;min-width:0;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--panel-bg-soft);color:var(--text-main);cursor:pointer}.batch-option:hover,.batch-platform-option:hover{border-color:#b2c69f}.batch-option.selected,.batch-platform-option.selected{border-color:#a8bd94;background:#edf3e6;color:#395b3f}.batch-option input,.batch-platform-option input,.batch-mode-option input{accent-color:var(--primary)}.batch-option span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.batch-platform-grid{display:flex;gap:8px;flex-wrap:wrap}.batch-platform-option{min-width:112px}.batch-platform-option .platform-chip{width:22px;height:22px;display:grid;place-items:center;border-radius:6px;background:#e7eee0;color:#55704c;font-size:11px;font-weight:700}.batch-inline-warning{margin-top:12px;padding:10px 12px;border-radius:8px;background:#fdf5e7;color:#98754b;font-size:12px}.batch-action-footer{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:18px;margin-top:14px;border-top:1px solid var(--border-soft)}.batch-action-footer .batch-summary{margin-right:auto;color:var(--text-sub);font-size:12px}.batch-rule-intro{display:flex;justify-content:space-between;gap:14px;padding:14px 16px;border-radius:9px;background:#f2f5ec;color:var(--text-sub)}.batch-rule-intro strong{color:var(--title)}.batch-mode-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:18px}.batch-mode-option{display:flex;gap:8px;min-height:90px;padding:13px 12px;border:1px solid var(--border);border-radius:9px;background:var(--panel-bg-soft);cursor:pointer}.batch-mode-option.selected{border-color:#9eb58e;background:#edf3e6;box-shadow:0 3px 10px #395d3c14}.batch-mode-option strong,.batch-mode-option small{display:block}.batch-mode-option strong{color:var(--title);font-size:12px}.batch-mode-option small{color:var(--text-sub);font-size:10px;line-height:1.5;margin-top:5px}.batch-amount-field{display:flex;align-items:center;gap:12px;margin-top:20px;position:relative;flex-wrap:wrap}.batch-amount-field>.field-label{min-width:58px}.batch-amount-input{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:8px;background:var(--panel-bg);overflow:hidden}.batch-amount-input .input{width:130px;border:0;border-radius:0}.batch-amount-input em{padding:0 12px 0 0;color:var(--text-sub);font-size:12px;font-style:normal}.batch-field-error{flex-basis:100%;margin-left:70px;color:#ad6d55;font-size:11px}.batch-impact-stats{margin:0}.batch-review-footer{margin-bottom:14px}@media (max-width: 1000px){.batch-form-grid{grid-template-columns:1fr}.batch-option-grid,.batch-mode-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 640px){.batch-steps{grid-template-columns:1fr}.batch-step{min-height:54px}.batch-scope-card>.card-body,.batch-rule-card>.card-body{padding:15px 14px}.batch-field{align-items:flex-start;flex-direction:column;gap:6px}.batch-field>.field-label{min-width:0}.batch-date-controls .input{width:135px}.batch-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.batch-mode-grid{grid-template-columns:1fr}.batch-rule-intro{flex-direction:column;gap:4px}.batch-action-footer{align-items:stretch}.batch-action-footer .batch-summary{flex-basis:100%;order:-1}.batch-action-footer .btn{flex:1}.batch-field-error{margin-left:0}}.batch-price-change{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.batch-price-change>span{color:#84907c;font-size:11px}.batch-price-change strong{color:#426447;font-weight:600}.batch-status-card{border-color:#dfe7d8;background:#fffefa}.batch-status-card>.card-head{padding:18px 20px;border-bottom-color:#e7ece2}.batch-section-no{display:inline-grid;place-items:center;width:24px;height:24px;margin-right:9px;border-radius:8px;background:#e8f0e4;color:#416b4e;font-size:12px;font-weight:700;vertical-align:-3px}.batch-status-selection>.card-head .card-extra{color:#688067}.batch-status-room-picker{margin:4px 0 18px;padding:16px;border:1px solid #e3e9dd;border-radius:12px;background:#f8faf4}.batch-status-picker-head{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.batch-status-picker-head .field-label{margin-right:auto;color:#405b47;font-weight:650}.batch-status-selection-count{color:#648064;font-size:12px}.batch-status-room-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}.batch-status-room-chip{display:flex;align-items:center;gap:8px;min-height:42px;padding:8px 10px;border:1px solid #e0e7da;border-radius:9px;color:#506650;background:#fffefa;cursor:pointer;transition:border-color .16s,background .16s}.batch-status-room-chip:hover{border-color:#aec49e;background:#f4f8ee}.batch-status-room-chip.is-selected{border-color:#adc59f;background:#edf4e7;color:#355c42}.batch-status-room-chip input{accent-color:#4f7658}.batch-status-room-chip span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.batch-status-room-chip small{color:#8a9b87;font-size:10px;white-space:nowrap}.batch-status-selection .field{align-items:center}.batch-status-selection .btn-row>button{display:inline-flex;align-items:center;gap:5px}.batch-status-selection .btn-row>button>small{color:#81917f}.batch-status-selection .field>.btn-row .btn{padding:8px 12px}.batch-status-selection .field>.btn-row .btn small{font-size:10px}.batch-status-selection .field>.btn-row .btn-primary small{color:#dcebd7}.batch-status-selection .field>.btn-row .btn-ghost small{color:#6d806b}.batch-status-selection .field>.btn-row .btn-sm{min-height:38px}.batch-status-selection .field>.btn-row .btn-sm span{font-size:13px}.batch-status-selection .field>.btn-row .btn-sm small{display:block;margin-top:1px}.batch-status-selection .field>.btn-row .btn-sm{flex-direction:column;line-height:1.15}.batch-status-action{border-color:#d6e3d0}.batch-status-target-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:4px 0 18px;border-bottom:1px solid #e9eee5}.batch-status-label{color:#344f3b;font-weight:650;font-size:14px}.batch-status-help{margin-top:4px;color:#839182;font-size:11px}.batch-status-target-options{display:flex;gap:10px}.batch-status-target-option{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:8px;min-width:110px;padding:10px 13px;border:1px solid #e0e7da;border-radius:10px;background:#fffefa;cursor:pointer}.batch-status-target-option input{grid-row:span 2;align-self:center;accent-color:#5e8a6a}.batch-status-target-option span{color:#526a56;font-size:13px;font-weight:650}.batch-status-target-option small{color:#96a194;font-size:10px}.batch-status-target-option.is-active.open{background:#ecf5e9;border-color:#9fbea0}.batch-status-target-option.is-active.closed{background:#fff2e8;border-color:#efc59d}.batch-status-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 28px;margin-top:16px}.batch-status-action-grid .field{align-items:flex-start}.batch-status-platforms{flex-wrap:wrap}.batch-status-platforms .check{padding:6px 9px;border:1px solid #e0e7da;border-radius:7px;background:#fffefa}.batch-status-platforms .check.is-channel-selected{border-color:#acc4a2;background:#eef5ea}.batch-status-advanced{margin-top:12px;padding:10px 12px;border-top:1px dashed #dfe7da;border-bottom:1px dashed #dfe7da}.batch-status-advanced summary{color:#5d725f;font-size:12px;cursor:pointer}.batch-status-advanced summary span{margin-left:8px;color:#9a8e77;font-size:10px}.batch-status-advanced-grid{display:flex;gap:20px;flex-wrap:wrap;margin-top:11px}.batch-status-advanced .is-disabled{color:#9aa397;cursor:not-allowed}.batch-status-advanced .is-disabled small{color:#b08e61;font-size:10px}.batch-status-reason{margin-top:16px}.batch-status-reason .field-label{min-width:76px}.batch-status-reference{display:block;margin:0;border:1px solid #e1e8dd;border-radius:13px;background:#fbfcf8;overflow:hidden}.batch-status-reference>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;color:#4e694f;font-size:13px;font-weight:650;cursor:pointer;list-style:none}.batch-status-reference>summary::-webkit-details-marker{display:none}.batch-status-reference>summary:after{content:"＋";color:#80927a;font-size:17px}.batch-status-reference[open]>summary:after{content:"−"}.batch-status-reference>.card{border:0;border-top:1px solid #e6ece2;border-radius:0;box-shadow:none}.batch-status-reference .card-head{display:none}.batch-status-reference .card-foot{background:#f7faf3;border-top-color:#e7ede2}.batch-status-matrix-platform{color:#678067;font-size:11px;font-weight:500}.batch-status-review-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:16px;align-items:start}.batch-status-review-summary{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:#71806f;font-size:12px}.batch-status-review-summary strong{color:#385c42;font-size:18px;font-weight:650}.batch-status-pending .card-head{display:flex;align-items:center}.batch-status-pending .card-title{display:flex;align-items:center;gap:8px}.batch-status-pending .card-body{max-height:520px;overflow:auto}.batch-status-truncation{padding:9px 14px;color:#936f43;background:#fff9eb;border-top:1px solid #f1e5c7;border-bottom:1px solid #f1e5c7;font-size:11px}.batch-status-execute .roomops-section{padding-top:3px}.batch-status-execute .roomops-section .btn-primary{min-height:38px}.batch-status-execute .section-note{color:#7f8c7c;font-size:11px;line-height:1.7}@media (max-width: 900px){.batch-status-target-row{align-items:flex-start;flex-direction:column;gap:14px}.batch-status-action-grid,.batch-status-review-grid{grid-template-columns:1fr}}@media (max-width: 600px){.batch-status-card>.card-head{padding:14px}.batch-status-card>.card-body{padding:14px}.batch-status-room-chips{grid-template-columns:1fr}.batch-status-target-options{width:100%}.batch-status-target-option{flex:1}.batch-status-reference>summary{padding:12px 14px}}.batch-status-page{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px;align-items:start}.batch-status-page>.page-head,.batch-status-page>.batch-status-reference,.batch-status-page>.batch-status-review-grid,.batch-status-page>.section-note{grid-column:1 / -1}.batch-status-page>.page-head{margin-bottom:6px}.batch-status-page>.card{height:100%;margin-bottom:0}.batch-status-page .batch-status-room-chips{grid-template-columns:repeat(2,minmax(0,1fr))}.batch-status-page .batch-status-action-grid{grid-template-columns:1fr;gap:0}.batch-status-page .batch-status-target-row{align-items:flex-start;flex-direction:column;gap:12px;padding-bottom:12px}.batch-status-page .batch-status-target-options{width:100%}.batch-status-page .batch-status-target-option{flex:1}.batch-status-page .batch-status-advanced summary span{display:none}.batch-status-page .batch-status-reason>.muted{display:none}@media (max-width:1100px){.batch-status-page{grid-template-columns:1fr}.batch-status-page>.card{height:auto}}@media (max-width:600px){.batch-status-page .batch-status-room-chips{grid-template-columns:1fr}}.fullscreen-overlay .fs-head{padding:17px 26px;background:#fffefb}.fullscreen-overlay .fs-title{font-weight:600;color:#344e3c}.fullscreen-overlay .fs-body{padding:22px 26px 40px}.fs-body>.page{padding:0;overflow:visible}.fs-body .page-head{margin-bottom:22px}.fs-body .page-head h1,.fs-body .page-head h2{color:#304c38;font-size:24px;font-weight:600}.fs-body .breadcrumb{font-size:11px;margin-bottom:8px}.fs-body input[type=checkbox],.fs-body input[type=radio]{accent-color:#4e7155;width:16px;height:16px}.fs-body :where(button,input,select,summary):focus-visible{outline:3px solid #afc29c;outline-offset:3px}.channels-refined{max-width:1600px;margin:auto}.channels-refined .stat-row{gap:16px;margin-bottom:22px}.channels-refined .stat-card{padding:20px;background:#fffefa;border:1px solid #e1e6d8;border-radius:14px;box-shadow:none}.channels-refined .stat-value{font-size:32px;color:#38513e;font-weight:600}.channels-refined .stat-label{font-size:12px;color:#7a8971}.channels-refined .stat-sub{font-size:11px;margin-top:9px}.channels-context{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 16px;padding:13px 18px;border:1px solid #e1e6d8;border-radius:9px;background:#edf2e6;font-size:12px;color:#74816c}.channels-context strong{color:#3c583e;margin-right:10px}.channels-refined .card{box-shadow:none;border-radius:14px;overflow:hidden}.channels-refined .card-head{padding:18px 20px}.channels-refined .table th{background:#f0f3e9;color:#74836d;font-size:12px;padding:13px 18px}.channels-refined .table td{padding:16px 18px;font-size:12px;border-color:#ebeee3}.channels-refined .table tbody tr:hover{background:#f6f8f0}.channel-name-label{color:#496743;font-weight:600}.channels-history{margin-top:22px;border:1px solid #dfe5d6;border-radius:13px;background:#fffefa;overflow:hidden}.channels-history>summary{cursor:pointer;padding:18px 20px;color:#3d553d;font-size:14px}.channels-history>summary>span:last-child{color:#8a9780;font-size:11px;margin-left:18px}.channels-history .card{border:0;margin:0}@media (max-width:900px){.channels-refined .stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}.fullscreen-overlay .fs-body{padding:18px 14px}}@media (max-width:550px){.channels-refined .stat-row{gap:10px}.channels-refined .stat-card{padding:14px}.channels-refined .stat-value{font-size:25px}.channels-context{align-items:flex-start}}.matrix-table .ml-suggest-col{min-width:250px}.matrix-table td.ml-suggest-cell{padding:20px 14px;background:#f6f7f0;border-left:1px solid #e0e7d9}.ml-sug.dir{--suggest-ink: #476550;display:flex;width:100%;min-width:182px;flex-direction:column;align-items:stretch;text-align:left;gap:14px;padding:18px 16px;border:1px solid #d7e2d2;border-radius:14px;background:#fffefa;box-shadow:0 4px 14px #344d3b08;color:var(--suggest-ink);transition:border-color .18s,box-shadow .18s}.ml-sug.dir:hover{border-color:#849e7e;box-shadow:0 6px 20px #344d3b14}.ml-sug.dir:focus-visible{outline:3px solid #b6c9a5;outline-offset:3px}.ml-sug.dir.up{--suggest-ink: #a36740;border-top:3px solid #c99b73}.ml-sug.dir.down{--suggest-ink: #3f7b60;border-top:3px solid #82aa91}.ml-sug.dir.hold{border-top:3px solid #91a58b}.ml-sug.dir .ml-sug-source{font-size:11px;line-height:1.6;color:#73816f;white-space:normal}.ml-sug.dir .ml-sug-action{font-size:25px;font-weight:650;line-height:1.25;letter-spacing:-.6px;color:var(--suggest-ink)}.ml-sug-prices{font-size:12px;color:#6e7b67;line-height:1.8}.ml-sug-prices b{color:#344d3b;font-size:16px}.ml-sug-percent{color:var(--suggest-ink)}.ml-sug-baseline{display:block;color:#7c8974}.ml-sug-link{display:flex;justify-content:space-between;border-top:1px solid #e5eadd;padding-top:12px;color:#58734d;font-size:12px}.ml-sug.pending{padding:16px;background:#f9f8f1;color:#7c7864;border-color:#d8d8ca}@media (prefers-reduced-motion:reduce){.ml-sug.dir{transition:none}}.matrix-table .ml-suggest-col{min-width:280px}.matrix-table td.ml-suggest-cell{vertical-align:top;padding:18px 14px;background:#f3f5ed}.ml-sug.dir{min-width:236px;gap:16px;padding:22px 18px;border-radius:16px;box-shadow:0 5px 18px #344d3b08}.ml-sug.dir .ml-sug-action{font-size:24px;line-height:1.4;white-space:normal;text-wrap:balance}.ml-sug.dir .ml-sug-source{line-height:1.6}.ml-sug-prices{display:block;padding:12px;background:#f4f6ef;border-radius:9px;line-height:1.8}.ml-sug-dimensions{display:flex;flex-wrap:wrap;gap:7px}.ml-sug-dimensions>span{padding:5px 8px!important;border-radius:6px!important;font-size:11px!important;line-height:1.5}.ml-sug.dir[data-paused]{border-top:3px solid #cba46d;background:#fffdf6}.ml-sug.dir[data-paused]>span{white-space:normal;line-height:1.7!important}.ml-sug-link{padding-top:14px;font-size:12px}.ml-decision-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:160;background:#23342947;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.ml-decision-sheet{position:fixed;top:16px;right:18px;bottom:16px;width:min(900px,calc(100vw - 36px));max-height:none;display:flex;flex-direction:column;overflow:hidden;border:1px solid #d9e3d5;border-radius:18px;background:#f8f8f3;box-shadow:0 22px 70px #2d42303d}.ml-decision-sheet .detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex:none;padding:18px 22px 16px;border-bottom:1px solid #e0e7dc;background:#fffefa}.ml-decision-sheet .detail-head h2{margin:4px 0 7px;color:#304c39;font-size:22px;font-weight:650;letter-spacing:-.3px}.ml-decision-sheet .detail-head .muted{font-size:11px;color:#849284}.ml-decision-sheet .detail-head-actions{flex:none}.ml-decision-sheet .detail-head-actions .btn{border-color:#d6e1d2;background:#fffefa;color:#55705a}.ml-decision-body{min-height:0;overflow:auto;padding:0 0 22px;scrollbar-color:#b8c8b5 transparent}.ml-loading{margin:20px;padding:18px;border:1px solid #dfe7dc;border-radius:12px;background:#fffefa}.ml-decision-sheet .login-error{margin:18px;border-radius:10px}.ml-price-card{display:flex;flex-direction:column;gap:11px;margin:14px 18px 10px;padding:17px 19px;border:1px solid #d8e4d5;border-radius:15px;background:#fffefa;box-shadow:0 7px 18px #41573e0f}.ml-price-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.ml-price-timestamp{margin-left:auto;font-size:11px}.ml-price-card .pill{line-height:21px;padding:0 9px}.ml-price-card .pill--info{background:#e9f1e6;color:#527257}.ml-price-card .pill--warn{background:#fbf0db;color:#9a7042}.ml-price-card .ml-dir{padding:3px 9px;font-size:11px}.ml-price-card .ml-dir.up{border-color:#e2bf94;background:#fbf0dd;color:#a97442}.ml-price-card .ml-dir.down{border-color:#b2d0b3;background:#e6f1e5;color:#557e5d}.ml-price-card .ml-dir.hold{border-color:#d8e1d7;background:#f3f5ef;color:#718071}.ml-price-hero{display:flex;align-items:baseline;flex-wrap:wrap;gap:15px;padding:2px 0 1px}.ml-current-price{color:#647567;font-size:15px}.ml-current-price b{color:#3f5b47;font-size:24px}.ml-price-arrow{color:#a7b4a6;font-size:23px}.ml-recommended-price{color:#4b624e;font-size:15px}.ml-recommended-price b{font-size:43px;font-weight:720;line-height:.98}.ml-delta-price{font-size:24px;font-weight:720}.ml-delta-pct{font-size:16px;font-weight:650}.ml-price-headline{color:#38533e;font-size:13px;line-height:1.55}.ml-price-technical{padding-top:8px;border-top:1px dashed #dbe5d9;font-size:10px;line-height:1.65;color:#849184}.ml-price-dimensions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding-top:3px}.ml-price-dimensions>span{display:flex;flex-direction:column;gap:3px;min-width:0;padding:8px 10px;border:1px solid #e1e9dc;border-radius:9px;background:#f7f9f3}.ml-price-dimensions b{color:#879487;font-size:10px;font-weight:500}.ml-price-dimensions strong{overflow:hidden;color:#47654c;font-size:13px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.ml-note-warn{margin:10px 18px;padding:10px 12px;border:1px solid #e6d5ae;border-radius:10px;background:#fff7e7;color:#8b6a3f;font-size:12px;line-height:1.6}.ml-source-note{border-color:#c8d9c4;background:#edf4e9;color:#56705b}.ml-sec-title{display:flex;align-items:baseline;gap:4px;margin:18px 18px 8px;padding-left:11px;border-left:3px solid #719472;color:#3c5843;font-size:14px;font-weight:680}.ml-sec-title span{color:#9aa79a;font-size:10px;font-weight:400}.ml-factor-group{margin:0 18px 11px;padding:13px 14px;border:1px solid #dfe7dc;border-radius:12px;background:#fffefa}.ml-breakdown-summary{box-shadow:0 5px 14px #40573e0a}.ml-price-strip{display:flex;align-items:baseline;flex-wrap:wrap;gap:16px;color:#687a6a;font-size:12px}.ml-price-strip b{color:#426149;font-size:19px}.ml-price-strip .pill{padding:3px 9px}.ml-breakdown-summary .ml-price-strip{padding:10px 11px;border:1px solid #e3eadf;border-radius:9px;background:#f7f9f3;gap:12px}.ml-breakdown-summary .ml-price-strip>span:first-child{color:#6d7d6d}.pill--up{background:#fbf0dd;color:#a97442}.pill--down{background:#e6f1e5;color:#557e5d}.pill--hold{background:#f0f3ee;color:#6e7d70}.ml-subheading{color:#4c654f;font-size:12px;font-weight:650}.ml-subheading span{margin-left:5px;color:#99a59a;font-size:10px;font-weight:400}.ml-subheading-spaced{margin:13px 0 7px}.ml-group-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 18px}.ml-group-summary .evt{padding:5px 0;border-bottom:1px solid #edf1ea}.ml-group-summary .evt b:first-child{color:#506c55}.ml-technical-details,.ml-evidence-details,.ml-factor-raw{margin:9px 18px 11px;border:1px solid #dfe7dc;border-radius:11px;background:#fbfcf8;overflow:hidden}.ml-factor-group .ml-factor-raw{margin:9px 0 0}.ml-technical-details>summary,.ml-evidence-details>summary,.ml-factor-raw>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;color:#506b54;font-size:12px;font-weight:650;cursor:pointer;list-style-position:inside}.ml-technical-details>summary:after,.ml-evidence-details>summary:after,.ml-factor-raw>summary:after{content:"+";color:#89a087;font-size:16px}.ml-technical-details[open]>summary:after,.ml-evidence-details[open]>summary:after,.ml-factor-raw[open]>summary:after{content:"−"}.ml-technical-details>summary span,.ml-evidence-details>summary span{margin-left:auto;color:#9aa79a;font-size:10px;font-weight:400}.ml-detail-content{padding:1px 13px 13px}.ml-waterfall-details .ml-detail-content{background:#fffefa}.ml-waterfall{padding-top:4px}.ml-waterfall-row{border-bottom:1px solid #edf1ea}.ml-factor-details{margin-top:12px}.ml-factor-details .ml-factor-group{margin:0;border:0;border-radius:0;padding:12px 13px}.ml-money-table{color:#56685a}.ml-money-table th{background:#eff4ec;color:#667a69}.ml-money-table td{border-color:#edf1ea}.ml-money-table .pill{font-size:10px}.ml-reason-card,.ml-recommendation-card{border-color:#cbdcca;background:#f8fbf6}.ml-reason-headline,.ml-recommendation-card .rec{margin-bottom:9px;padding:9px 11px;border-radius:8px;background:#edf4e8;color:#3d6047;font-size:13px;font-weight:600;line-height:1.55}.ml-event-list,.ml-factor-children{display:flex;flex-direction:column;gap:5px}.ml-evidence-details{margin-top:14px}.ml-evidence-list{padding:0 0 2px}.ml-evidence-card{margin:9px 13px;background:#fffefa}.ml-evidence-card .ml-factor-head{padding-bottom:7px;border-bottom:1px solid #edf1ea}.ml-evidence-card .grid{gap:5px 18px}.ml-evidence-card .kv{color:#6c7c6d;font-size:11px}.ml-evidence-card .kv b{color:#4d6852}.ml-alert-line{margin:13px 18px 0;padding:10px 12px;border:1px solid #e2e9df;border-radius:10px;background:#fffefa}.ml-feedback{margin:0 18px 11px;padding:12px 13px;border:1px solid #dfe7dc;border-radius:11px;background:#fffefa}.ml-feedback .muted{line-height:1.55}.ml-forecast-card .grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.ml-forecast-card .kv{padding:8px;border-radius:8px;background:#f4f7f1}.ml-footnote{margin:12px 18px 0;padding:10px 0;border-top:1px solid #e2e9df;color:#89968a;font-size:10px;line-height:1.6}.ml-factor-raw pre{margin:0;border-radius:0;background:#324438;color:#e7f0e5;font-size:10px;line-height:1.55}.ml-factor-raw>div{padding:0 13px 10px}.ml-factor-raw .evt{padding:4px 0;border-bottom:1px solid #edf1ea}@media (max-width: 720px){.ml-decision-sheet{top:8px;right:8px;bottom:8px;width:calc(100vw - 16px);border-radius:14px}.ml-decision-sheet .detail-head{padding:14px 14px 12px}.ml-decision-sheet .detail-head h2{font-size:18px}.ml-price-card{margin:10px 10px 8px;padding:14px}.ml-price-timestamp{width:100%;margin-left:0}.ml-current-price b{font-size:21px}.ml-recommended-price b{font-size:36px}.ml-delta-price{font-size:21px}.ml-price-dimensions{grid-template-columns:repeat(2,minmax(0,1fr))}.ml-sec-title,.ml-factor-group,.ml-technical-details,.ml-evidence-details,.ml-factor-raw,.ml-alert-line,.ml-feedback,.ml-note-warn{margin-left:10px;margin-right:10px}.ml-group-summary,.ml-forecast-card .grid{grid-template-columns:1fr 1fr}.ml-waterfall-row{grid-template-columns:1fr!important;gap:4px!important;padding:8px 0!important}.ml-waterfall-row>div:last-child{text-align:left!important}.ml-money-table{min-width:690px}.ml-factor-details .ml-detail-content{overflow-x:auto}}@media (prefers-reduced-motion: reduce){.ml-decision-sheet *,.ml-decision-overlay *{transition:none!important;animation:none!important}}.ml-price-technical>summary,.ml-floor-settings>summary{cursor:pointer;padding:5px 0;color:#6a8066;font-size:12px}.ml-price-technical>div{padding-top:8px;line-height:1.8}.ml-floor-settings{border-top:1px solid #e5eadd;padding-top:5px}.ml-floor-settings summary span{margin-left:8px;font-size:10px;color:#899381}.dialog.dialog--wide{width:1120px}.dialog--wide .dialog-head .dialog-title{flex:1;display:flex;align-items:center;gap:8px;min-width:0}.dialog--wide .dialog-body{overflow-x:auto}button.overview-link.prl-entry{border:0;background:transparent;font:inherit;cursor:pointer;padding:0}button.overview-link.prl-entry:disabled{opacity:.5;cursor:not-allowed}.prl-badge{font-size:12px;font-weight:600;color:var(--orange);background:var(--orange-bg);border-radius:999px;padding:2px 10px}.prl-limits-toggle{border:1px solid var(--border);background:var(--panel-bg-soft);color:var(--text-main);border-radius:var(--radius-ctl);padding:4px 10px;font-size:12px;cursor:pointer}.prl-limits-toggle:hover{border-color:var(--primary);color:var(--primary)}.prl-section{margin:12px 16px 4px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--panel-bg-soft);padding:10px 12px}.prl-hint{font-size:12px;color:var(--text-sub);margin-bottom:8px;line-height:1.6}.prl-table td,.prl-table th{vertical-align:middle}.prl-names{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.prl-modes{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius-ctl);overflow:hidden}.prl-mode{border:0;border-right:1px solid var(--border);background:var(--panel-bg);color:var(--text-main);padding:4px 12px;font-size:12px;cursor:pointer}.prl-mode:last-child{border-right:0}.prl-mode:hover:not(:disabled){background:var(--primary-soft)}.prl-mode:disabled{cursor:not-allowed;opacity:.55}.prl-mode.on{font-weight:700;color:#fff}.prl-mode.on.normal{background:var(--green)}.prl-mode.on.no_raise,.prl-mode.on.no_cut{background:var(--orange)}.prl-mode.on.no_change{background:var(--red)}.prl-note{width:180px;font-size:12px}.prl-flash{margin-top:8px;font-size:12px;padding:6px 10px;border-radius:var(--radius-ctl)}.prl-flash.ok{color:var(--green);background:var(--green-bg)}.prl-flash.bad{color:var(--red);background:var(--red-bg)}.prl-tabs{display:flex;gap:4px;padding:12px 16px 0;border-bottom:1px solid var(--border)}.prl-tab{border:1px solid transparent;border-bottom:0;background:transparent;color:var(--text-sub);font-size:13px;padding:6px 14px;border-radius:var(--radius-ctl) var(--radius-ctl) 0 0;cursor:pointer;margin-bottom:-1px}.prl-tab:hover{color:var(--title)}.prl-tab.on{background:var(--panel-bg);border-color:var(--border);color:var(--title);font-weight:700}.prl-tab-n{font-size:11px;color:var(--text-sub);background:var(--gray-bg);border-radius:999px;padding:0 7px;margin-left:4px;font-weight:600}.prl-rs{display:inline-block;font-size:11px;font-weight:700;border-radius:4px;padding:0 6px}.prl-rs.open{color:#fff;background:var(--switch-open)}.prl-rs.close{color:#fff;background:var(--switch-closed)}.prl-view-switch{margin-left:auto;align-self:center;display:inline-flex;border:1px solid var(--border);border-radius:var(--radius-ctl);overflow:hidden;margin-bottom:6px}.prl-view-switch button{border:0;background:var(--panel-bg);color:var(--text-sub);font-size:12px;padding:3px 10px;cursor:pointer}.prl-view-switch button+button{border-left:1px solid var(--border)}.prl-view-switch button.on{background:var(--primary-soft);color:var(--primary);font-weight:700}.prb-list{padding:4px 16px 12px}.prb-wave{border:1px solid var(--border);border-radius:10px;margin-bottom:10px;overflow:hidden;background:var(--panel-bg)}.prb-wave.has-bad{border-color:#f3c3c3}.prb-head{width:100%;display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;padding:8px 12px;border:0;background:var(--panel-bg-soft);font:inherit;font-size:13px;text-align:left;cursor:pointer}.prb-wave.has-bad .prb-head{background:#fdf3f3}.prb-caret{color:var(--text-sub);width:12px}.prb-title{font-weight:700;color:var(--title)}.prb-meta{font-size:12px;color:var(--text-sub)}.prb-oksum{font-size:12px;font-weight:600;color:#13a05a}.prb-badsum{font-size:12px;font-weight:600;color:#d63b3b}.prb-reasons{font-weight:400;color:var(--text-sub)}.prb-section{padding:4px 12px 8px}.prb-date{font-size:12px;font-weight:600;color:var(--text-sub);padding:6px 0 4px}.prb-matrix{border-collapse:collapse;font-size:12px}.prb-matrix th,.prb-matrix td{border:1px solid var(--border);padding:5px 12px;text-align:left;white-space:nowrap}.prb-matrix th{background:var(--head-bg);color:var(--head-text);font-weight:600}.prb-matrix .prb-room{min-width:120px;font-weight:600;color:var(--title)}.prb-cell b{font-weight:700}.prb-cell.bad{color:#d63b3b}.prb-up,.prb-down{margin-left:6px;font-size:11px;font-weight:700}.prb-up{color:#d63b3b}.prb-down{color:#13a05a}.prb-extra{margin-left:4px;font-size:11px;color:var(--text-sub)}.prb-tag{margin-left:6px;font-size:11px;font-weight:600;border-radius:999px;padding:0 6px}.prb-tag.warn{color:var(--amber);background:var(--amber-bg)}.prb-tag.bad{color:#d63b3b;background:var(--red-bg)}.prb-tag.muted{color:var(--text-sub);background:var(--gray-bg)}.prb-arrow{margin:0 3px;font-size:11px}.prb-more{display:block;margin:6px auto 0}.prl-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 16px 8px;font-size:12px;color:var(--text-sub)}.prl-filters label{display:inline-flex;align-items:center;gap:4px}.prl-filters .input[type=date]{width:132px}.prl-loading{padding:16px;color:var(--text-sub);font-size:13px}.prl-records td{font-size:12px}.prl-records td.prl-up{color:#d63b3b;font-weight:700}.prl-records td.prl-down{color:#13a05a;font-weight:700}.prl-msg{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prl-pill{display:inline-block;font-size:11px;font-weight:600;border-radius:999px;padding:1px 8px;white-space:nowrap}.prl-pill.ok{color:var(--green);background:var(--green-bg)}.prl-pill.warn{color:var(--amber);background:var(--amber-bg)}.prl-pill.bad{color:var(--red);background:var(--red-bg)}.prl-pill.muted{color:var(--text-sub);background:var(--gray-bg)}.prl-center-warn{margin:8px 16px 12px;font-size:12px;color:var(--amber)}.prl-floor-cell{min-width:150px}.prl-floor-chips{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:4px}.prl-floor-chip{display:inline-block;font-size:11px;font-weight:600;border-radius:999px;padding:1px 8px;white-space:nowrap;color:var(--blue, #2563eb);background:var(--blue-bg, #eff6ff)}.prl-floor-edit{font-size:11px}.prl-floor-editrow td{background:var(--gray-bg, #f6f7f9)}.prl-floor-editor{padding:8px 4px}.prl-floor-hint{font-size:12px;color:var(--text-sub);margin-bottom:6px}.prl-floor-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:4px 0}.prl-floor-date{width:150px}.prl-floor-min{width:100px}.prl-floor-sep{font-size:12px;color:var(--text-sub)}.prl-floor-actions{display:flex;gap:8px;margin-top:8px}.far-banner{display:flex;align-items:center;gap:10px;margin-bottom:10px;padding:8px 12px;border-radius:var(--radius-card);border:1px solid #c9dcf5;background:#f2f7fe;font-size:12px;color:var(--text-main)}.far-banner-warn{border-color:#efd9a8;background:#fdf8ec}.far-banner-bad{border-color:#f0c4c4;background:#fdf2f2}.far-banner-tag{flex:none;font-weight:700;color:var(--primary);background:var(--panel-bg);border:1px solid #c9dcf5;border-radius:999px;padding:1px 10px}.far-banner-text{flex:1;line-height:1.6}.far-banner .btn{flex:none}.dash-date-strip{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0 0 12px}.dash-date-label{font-size:12px;font-weight:700;color:var(--text-sub);margin-right:2px}.dash-date-chip{display:inline-flex;flex-direction:column;align-items:center;min-width:52px;padding:3px 8px;border:1px solid var(--border);border-radius:var(--radius-ctl);background:var(--panel-bg);color:var(--text-main);cursor:pointer;line-height:1.25}.dash-date-chip b{font-size:12px;font-weight:600}.dash-date-chip small{font-size:10px;color:var(--text-sub)}.dash-date-chip:hover{border-color:#8fb89e}.dash-date-chip.active{background:#46705a;border-color:#46705a;color:#fff}.dash-date-chip.active small{color:#e3eee6}.dash-date-chip-far{border-style:dashed}.dash-date-chip-far.active{background:#8a6418;border-color:#8a6418}.dash-date-chip-far.active small{color:#f5ecd8}.dash-date-note{margin-left:8px;font-size:11px;color:var(--text-weak)}.dash-date-warn{margin:-4px 0 12px;padding:7px 12px;border-radius:var(--radius-ctl);border:1px solid #efd9a8;background:#fdf8ec;color:#8a6418;font-size:12px}.dash-date-info{border-color:#c9dcf5;background:#f2f7fe;color:#2b5a8a}.dc-stay{margin-left:2px;font-size:10px;font-weight:600;color:#46705a}@media (max-width: 640px){.topbar{padding:10px 12px;gap:6px 8px}.topbar-brand{width:100%;display:flex;align-items:baseline;gap:8px}.topbar-brand .brand-title{font-size:16px;white-space:nowrap}.topbar-brand .brand-sub,.collection-note{display:none}.topbar-controls{width:100%;gap:6px;flex-wrap:wrap}.topbar-controls>*{flex:0 1 auto;min-width:0;max-width:100%}.topbar-controls>*:first-child{flex:1 1 180px;overflow:hidden}.topbar-controls>*:first-child button{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-right{width:100%;gap:4px 10px;flex-wrap:wrap;font-size:11px;justify-content:flex-start}.topbar-right .topbar-update,.topbar-right .topbar-update b{font-size:10px}.dash-topline{flex-wrap:wrap;gap:6px;align-items:baseline}.dash-title{white-space:nowrap;font-size:20px}.dash-topline-right{flex-wrap:wrap;gap:4px 10px;font-size:11px}.dash-order-tip,.dash-updated{font-size:10px}.card{overflow-x:auto}.table{min-width:520px}.table th,.table td{padding:7px 8px;font-size:12px;white-space:nowrap;word-break:keep-all}.table[style*=fixed] th,.table[style*=fixed] td{white-space:normal;word-break:normal}.matrix-table td{padding:6px 8px}.stat-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}.stat-row.cols-6{grid-template-columns:repeat(3,minmax(0,1fr))!important}.stat-card{height:auto;min-height:104px}.page{padding:12px 10px!important;gap:12px!important}.card{margin-bottom:10px}.card-head,.card-body{padding:12px}.fullscreen-overlay{top:0;right:0;bottom:0;left:0}}
