/* Personal warm/sage palettes; status colors keep their business meaning. */
html[data-theme="warm"] {--theme-primary:#785832;--theme-primary-hover:#906d43;--theme-primary-press:#604526;--theme-soft:#f1e7d7;--theme-page:#f4efe5;--theme-card:#fffdf8;--theme-hover:#eee5d6;--theme-border:#d9cdbb;--theme-border-light:#e9e0d1;--theme-text:#342e25;--theme-regular:#574b3c;--theme-secondary:#756751;--theme-rail:#f8f3e9;}
html[data-theme="sage"] {--theme-primary:#376453;--theme-primary-hover:#477964;--theme-primary-press:#284d3f;--theme-soft:#e0ece3;--theme-page:#edf2ed;--theme-card:#fbfdf9;--theme-hover:#dfe9e0;--theme-border:#c4d3c6;--theme-border-light:#dce5dc;--theme-text:#28382f;--theme-regular:#43594b;--theme-secondary:#65776a;--theme-rail:#f2f6ef;}
html[data-theme="warm"],html[data-theme="sage"] {
--brand-forest:var(--theme-primary);--brand-forest-hover:var(--theme-primary-hover);--brand-forest-press:var(--theme-primary-press);--brand-ivory:var(--theme-page);--brand-champagne:var(--theme-primary);--brand-champagne-soft:var(--theme-soft);--brand-graphite:var(--theme-text);--brand-sage:var(--theme-soft);--brand-sage-deep:var(--theme-border);
--bg-page:var(--theme-page);--bg-card:var(--theme-card);--bg-subtle:var(--theme-rail);--bg-sage:var(--theme-soft);--bg-hover:var(--theme-hover);--text-primary:var(--theme-text);--text-regular:var(--theme-regular);--text-secondary:var(--theme-secondary);--text-placeholder:var(--theme-secondary);--border-base:var(--theme-border);--border-light:var(--theme-border-light);--border-strong:var(--theme-secondary);
--el-color-primary:var(--theme-primary);--el-color-primary-dark-2:var(--theme-primary-press);--el-color-primary-light-3:color-mix(in srgb,var(--theme-primary) 70%,var(--theme-card));--el-color-primary-light-5:color-mix(in srgb,var(--theme-primary) 50%,var(--theme-card));--el-color-primary-light-7:color-mix(in srgb,var(--theme-primary) 30%,var(--theme-card));--el-color-primary-light-8:var(--theme-border-light);--el-color-primary-light-9:var(--theme-soft);
--el-text-color-primary:var(--theme-text);--el-text-color-regular:var(--theme-regular);--el-text-color-secondary:var(--theme-secondary);--el-text-color-placeholder:var(--theme-secondary);--el-bg-color:var(--theme-card);--el-bg-color-page:var(--theme-page);--el-bg-color-overlay:var(--theme-card);--el-fill-color-blank:var(--theme-card);--el-fill-color:var(--theme-hover);--el-fill-color-light:var(--theme-rail);--el-fill-color-lighter:var(--theme-rail);--el-border-color:var(--theme-border);--el-border-color-light:var(--theme-border-light);--el-border-color-lighter:var(--theme-border-light);--el-border-color-extra-light:var(--theme-rail);
}
html:is([data-theme="warm"],[data-theme="sage"]) #app .basic-layout > .side-nav {background:var(--theme-rail);border-color:var(--theme-card);}
html:is([data-theme="warm"],[data-theme="sage"]) #app .side-nav .nav-item {color:var(--theme-regular);}
html:is([data-theme="warm"],[data-theme="sage"]) #app .side-nav :is(.nav-item.hover,.nav-item.active,.sub-item.active,.collapse-btn:hover,.logo-mark) {background:var(--theme-soft);color:var(--theme-primary);}
html:is([data-theme="warm"],[data-theme="sage"]) body :is(.sidenav-fly-drawer,.sidenav-collapse-popover.el-popover.el-popper) {background:var(--theme-card)!important;border-color:var(--theme-border-light)!important;}
html:is([data-theme="warm"],[data-theme="sage"]) body :is(.sidenav-fly-drawer .fly-item,.sidenav-collapse-popover .pop-item) {color:var(--theme-regular);}
html:is([data-theme="warm"],[data-theme="sage"]) body :is(.sidenav-fly-drawer .fly-item:hover,.sidenav-fly-drawer .fly-item.active,.sidenav-collapse-popover .pop-item:hover,.sidenav-collapse-popover .pop-item.active) {background:var(--theme-soft);color:var(--theme-primary);}
html:is([data-theme="warm"],[data-theme="sage"]) #app .basic-layout :is(.layout-main,.layout-right > header) {background:var(--theme-page);}
html:is([data-theme="warm"],[data-theme="sage"]) #app .basic-layout :is(.branch-scope,.user-chip,.assistant-toggle,.assistant-panel) {background:var(--theme-card);color:var(--theme-regular);}
html:is([data-theme="warm"],[data-theme="sage"]) #app .basic-layout .el-table {--el-table-header-bg-color:var(--theme-rail);--el-table-row-hover-bg-color:var(--theme-hover);}
html:is([data-theme="warm"],[data-theme="sage"]) #app .basic-layout .el-tag--primary {--el-tag-bg-color:var(--theme-soft);--el-tag-border-color:var(--theme-border);--el-tag-text-color:var(--theme-primary);}
html:is([data-theme="warm"],[data-theme="sage"]) #app .basic-layout .el-tabs__nav-wrap::after {background:var(--theme-border-light);}
.wb-updated {white-space:nowrap;}

/* Shared page-neutral tokens also serve existing scoped page styles. */
html:is([data-theme="warm"],[data-theme="sage"]) {
 --dk-text-1:var(--theme-text);--dk-text-2:var(--theme-regular);--dk-text-3:var(--theme-secondary);--dk-text-4:var(--theme-secondary);--dk-bg-card:var(--theme-card);--dk-bg-subtle:var(--theme-rail);--dk-border:var(--theme-border-light);
 --el-mask-color:color-mix(in srgb,var(--theme-card) 90%,transparent);--el-mask-color-extra-light:color-mix(in srgb,var(--theme-card) 70%,transparent);--el-disabled-bg-color:var(--theme-rail);--el-disabled-border-color:var(--theme-border-light);
 --el-color-info-light-9:var(--theme-rail);--el-color-info-light-8:var(--theme-border-light);
}
/* Monitoring controls follow the chosen app palette; video pixels keep their own contrast. */
html:is([data-theme="warm"],[data-theme="sage"]) #app .page.ai-monitor {
 background:var(--theme-page);color:var(--theme-text);
 --bg-page:var(--theme-page);--bg-card:var(--theme-card);--bg-subtle:var(--theme-rail);--bg-sage:var(--theme-soft);--bg-hover:var(--theme-hover);--border-light:var(--theme-border-light);--border-base:var(--theme-border);--text-primary:var(--theme-text);--text-regular:var(--theme-regular);--text-secondary:var(--theme-secondary);--text-placeholder:var(--theme-secondary);
 --el-bg-color:var(--theme-card);--el-bg-color-page:var(--theme-page);--el-bg-color-overlay:var(--theme-card);--el-fill-color:var(--theme-hover);--el-fill-color-light:var(--theme-rail);--el-fill-color-blank:var(--theme-card);--el-text-color-primary:var(--theme-text);--el-text-color-regular:var(--theme-regular);--el-text-color-secondary:var(--theme-secondary);--el-text-color-placeholder:var(--theme-secondary);--el-border-color:var(--theme-border);--el-border-color-light:var(--theme-border-light);--el-border-color-lighter:var(--theme-border-light);
 --el-color-primary:var(--theme-primary);--el-color-primary-light-3:var(--theme-primary-hover);--el-color-primary-light-5:var(--theme-primary-hover);--el-color-primary-light-7:var(--theme-border);--el-color-primary-light-8:var(--theme-border-light);--el-color-primary-light-9:var(--theme-soft);--el-color-primary-dark-2:var(--theme-primary-press);
 --el-table-bg-color:var(--theme-card);--el-table-tr-bg-color:var(--theme-card);--el-table-header-bg-color:var(--theme-rail);--el-table-header-text-color:var(--theme-regular);--el-table-row-hover-bg-color:var(--theme-hover);--el-table-border-color:var(--theme-border-light);--el-table-text-color:var(--theme-regular);--el-input-bg-color:var(--theme-card);--el-input-border-color:var(--theme-border);--el-input-text-color:var(--theme-text);
}
html:is([data-theme="warm"],[data-theme="sage"]) #app .ai-monitor :is(.camera-card,.sec-title) {background:var(--theme-card);color:var(--theme-text);border-color:var(--theme-border);}
html:is([data-theme="warm"],[data-theme="sage"]) #app .ai-monitor .camera-card.selected {background:var(--theme-soft);border-color:var(--theme-primary);}
html:is([data-theme="warm"],[data-theme="sage"]) #app .ai-monitor .el-tabs__item:hover {color:var(--theme-primary-hover);}
html:is([data-theme="warm"],[data-theme="sage"]) #app .ai-monitor .el-tabs__nav-wrap::after {background:var(--theme-border-light);}
/* Dashboard header: title and update share row one, period filters use row two. */
#app .metrics-heading {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 18px;}
#app .metrics-heading .metrics-title {grid-row:1;grid-column:1;}
#app .metrics-heading .metrics-controls,#app .metrics-controls .wb-header-right {display:contents;}
#app .metrics-controls .wb-refresh {grid-row:1;grid-column:2;margin:0;justify-self:end;}
#app .metrics-controls .el-radio-group {grid-row:2;grid-column:1;justify-self:start;}
#app .metrics-controls .wb-date-picker {grid-row:2;grid-column:2;justify-self:end;}
#app .metrics-controls .wb-refresh .el-button {width:auto;border-radius:6px;padding:6px 10px;gap:4px;}
@media(max-width:700px){#app .metrics-controls .wb-date-picker{grid-row:3;grid-column:1 / -1;justify-self:start;}#app .metrics-controls .el-radio-group{grid-column:1 / -1;}}

/* Theme-only scoped neutral overrides for existing page components. */
@media  (max-width: 992px){}
@media  (max-width: 900px){}
@media  only screen and (max-width:767px){}
@media  only screen and (min-width:768px){}
@media  only screen and (min-width:992px){}
@media  only screen and (min-width:1200px){}
@media  only screen and (min-width:1920px){}
@media  (hover:hover){}
@media  (prefers-reduced-motion: reduce) {}
@media  (max-width: 768px){}
@media  (max-width: 480px){}
@media  (max-width:1000px){}
html:is([data-theme="warm"],[data-theme="sage"]) .st-爽约[data-v-499703cf]{background:var(--theme-rail);}
html:is([data-theme="warm"],[data-theme="sage"]) .day-cell.on-leave[data-v-b7c9dde3]:hover{background:var(--theme-rail);}
html:is([data-theme="warm"],[data-theme="sage"]) .st-已完成[data-v-b7c9dde3]{border-left-color:var(--theme-border-light);}
html:is([data-theme="warm"],[data-theme="sage"]) .st-爽约[data-v-b7c9dde3]{background:var(--theme-rail);}
html:is([data-theme="warm"],[data-theme="sage"]) .att-旷课[data-v-b7c9dde3]{background:var(--theme-rail);}
html:is([data-theme="warm"],[data-theme="sage"]) .legend .dot.st-爽约[data-v-b7c9dde3]{background:var(--theme-rail);}
html:is([data-theme="warm"],[data-theme="sage"]) .legend .dot.att-旷课[data-v-b7c9dde3]{background:var(--theme-rail);}
html:is([data-theme="warm"],[data-theme="sage"]) .lesson-chip.at-旷课[data-v-f3085ab3]{background:var(--theme-rail);}
html:is([data-theme="warm"],[data-theme="sage"]) .legend .dot.at-旷课[data-v-f3085ab3]{background:var(--theme-rail);}
html:is([data-theme="warm"],[data-theme="sage"]) .act-chip.ds-已结束[data-v-e6bc9072]{border-left-color:var(--theme-border-light);}
html:is([data-theme="warm"],[data-theme="sage"]) .module-select[data-v-154a2f87]{color:var(--theme-regular);}
html:is([data-theme="warm"],[data-theme="sage"]) .shortcuts small[data-v-154a2f87]{color:var(--theme-regular);}
html:is([data-theme="warm"],[data-theme="sage"]) .empty-preview[data-v-154a2f87]{color:var(--theme-secondary);}
html:is([data-theme="warm"],[data-theme="sage"]) .field-label[data-v-154a2f87]{color:var(--theme-secondary);}
html:is([data-theme="warm"],[data-theme="sage"]) .style-options>button[data-v-154a2f87]{color:var(--theme-secondary);}
html:is([data-theme="warm"],[data-theme="sage"]) .switch-field[data-v-154a2f87]{color:var(--theme-secondary);}
html:is([data-theme="warm"],[data-theme="sage"]) .dialog-note[data-v-154a2f87]{color:var(--theme-secondary);}
@media  (min-width:1600px){}
@media  (max-width:1100px){}
html:is([data-theme="warm"],[data-theme="sage"]) .banner-add-tile[data-v-8d7ac3c3]:hover{border-color:var(--theme-border-light);color:var(--theme-text);}
html:is([data-theme="warm"],[data-theme="sage"]) .venue-photo-upload[data-v-8d7ac3c3]:hover{border-color:var(--theme-border-light);}
@media  (max-width:850px){}
@media  (max-width: 1100px){}
html:is([data-theme="warm"],[data-theme="sage"]) .question[data-v-1d8de924]{color:var(--theme-text);}
html:is([data-theme="warm"],[data-theme="sage"]) .thinking[data-v-1d8de924]{color:var(--theme-secondary);}
@media  (max-width:1050px){}
@media  (max-width:800px){}
@media  (max-height:800px){}
@media  (max-width:650px){}
@media  (max-width: 1200px){}
@media  (max-width: 850px){}
@container  (max-width: 1100px){}
@container  (max-width: 960px){}
@container  (max-width: 640px){}
@media  (max-width: 960px){}

/* Deep green rail and primary actions; neutral workspace stays light. */
html[data-theme="sage"]{--theme-primary:#1f5143;--theme-primary-hover:#2b6554;--theme-primary-press:#163e33;--theme-soft:#eaf1ed;--theme-page:#f3f4f6;--theme-card:#ffffff;--theme-hover:#eef0f4;--theme-border:#dfe2e8;--theme-border-light:#eceef2;--theme-text:#303238;--theme-regular:#51545c;--theme-secondary:#80848e;--theme-rail:#f5f6f8;--text-placeholder:#a3a6ae;--el-text-color-placeholder:#a3a6ae;--border-strong:#c6cbd4;}
html[data-theme="sage"] #app .basic-layout>.side-nav{background:#173f35!important;border-color:#173f35!important;color:#edf4ef;}
html[data-theme="sage"] #app .side-nav .nav-item{color:#e4eee8!important;}
html[data-theme="sage"] #app .side-nav :is(.nav-item:hover,.nav-item.hover){background:#245747!important;color:#fff!important;}
html[data-theme="sage"] #app .side-nav :is(.nav-item.active,.sub-item.active){background:#2e6555!important;color:#fff!important;}
html[data-theme="sage"] #app .side-nav :is(.nav-item .ic,.nav-item .caret,.sub-item,.nav-item .desc){color:inherit!important;}
html[data-theme="sage"] #app .side-nav .nav-item.active::before{background:#c6ddce!important;}
html[data-theme="sage"] #app .side-nav .feature-search-trigger{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.24)!important;color:#edf4ef!important;}
html[data-theme="sage"] #app .side-nav .feature-search-trigger:hover{background:rgba(255,255,255,.15)!important;}
html[data-theme="sage"] #app .side-nav :is(.feature-search-trigger kbd,.sidebar-notification,.nav-bottom){color:#e4eee8;}
html[data-theme="sage"] #app .basic-layout .el-table{--el-table-header-bg-color:#fff;}

/* Deep green rail and primary actions; neutral workspace stays light. */
html[data-theme="sage"]{--theme-primary:#1f5143;--theme-primary-hover:#2b6554;--theme-primary-press:#163e33;--theme-soft:#eaf1ed;--theme-page:#f3f4f6;--theme-card:#ffffff;--theme-hover:#eef0f4;--theme-border:#dfe2e8;--theme-border-light:#eceef2;--theme-text:#303238;--theme-regular:#51545c;--theme-secondary:#80848e;--theme-rail:#f5f6f8;--text-placeholder:#a3a6ae;--el-text-color-placeholder:#a3a6ae;--border-strong:#c6cbd4;}
html[data-theme="sage"] #app .basic-layout>.side-nav{background:#173f35!important;border-color:#173f35!important;color:#edf4ef;}
html[data-theme="sage"] #app .side-nav .nav-item{color:#e4eee8!important;}
html[data-theme="sage"] #app .side-nav :is(.nav-item:hover,.nav-item.hover){background:#245747!important;color:#fff!important;}
html[data-theme="sage"] #app .side-nav :is(.nav-item.active,.sub-item.active){background:#2e6555!important;color:#fff!important;}
html[data-theme="sage"] #app .side-nav :is(.nav-item .ic,.nav-item .caret,.sub-item,.nav-item .desc){color:inherit!important;}
html[data-theme="sage"] #app .side-nav .nav-item.active::before{background:#c6ddce!important;}
html[data-theme="sage"] #app .side-nav .feature-search-trigger{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.24)!important;color:#edf4ef!important;}
html[data-theme="sage"] #app .side-nav .feature-search-trigger:hover{background:rgba(255,255,255,.15)!important;}
html[data-theme="sage"] #app .side-nav :is(.feature-search-trigger kbd,.sidebar-notification,.nav-bottom){color:#e4eee8;}
html[data-theme="sage"] #app .basic-layout .el-table{--el-table-header-bg-color:#fff;}
html[data-theme="sage"] #app .side-nav .staff-messages{border-top-color:rgba(255,255,255,.16);}
html[data-theme="sage"] #app .side-nav .messages-entry{color:#e4eee8!important;}
html[data-theme="sage"] #app .side-nav .messages-entry:hover{background:#245747!important;color:#fff!important;}
html[data-theme="sage"] #app .ask-bar{background:#fff!important;border-color:#7058ff!important;}

/* Flyout menus share the light appearance under every personal theme. */
html body div.sidenav-fly-drawer{background:#fff!important;color:#51545c!important;border-color:#eceef2!important;box-shadow:4px 0 14px rgba(20,24,32,.14)!important;}
html body div.sidenav-fly-drawer .fly-section+.fly-section{border-top:1px solid #e4e7ec!important;}
html body div.sidenav-fly-drawer .fly-item{color:#51545c!important;}
html body div.sidenav-fly-drawer .fly-item:hover{background:#f3f5f9!important;color:#2161e8!important;}
html body div.sidenav-fly-drawer .fly-item.active{background:#edf3ff!important;color:#2161e8!important;}
html body div.sidenav-fly-drawer .fly-item.placeholder{color:#a3a6ae!important;}
html body div.sidenav-fly-drawer .fly-desc{color:#8b909b!important;}
html body .sidenav-collapse-popover.el-popover.el-popper{background:#fff!important;color:#51545c!important;border-color:#eceef2!important;}
html body .sidenav-collapse-popover .pop-item{color:#51545c!important;}
html body .sidenav-collapse-popover .pop-item:hover{background:#f3f5f9!important;color:#2161e8!important;}
html body .sidenav-collapse-popover .pop-item.active{background:#edf3ff!important;color:#2161e8!important;}

/* Flyout menus share the light appearance under every personal theme. */
html body div.sidenav-fly-drawer{background:#fff!important;color:#51545c!important;border-color:#eceef2!important;box-shadow:4px 0 14px rgba(20,24,32,.14)!important;}
html body div.sidenav-fly-drawer .fly-section+.fly-section{border-top:1px solid #e4e7ec!important;}
html body div.sidenav-fly-drawer .fly-item{color:#51545c!important;}
html body div.sidenav-fly-drawer .fly-item:hover{background:#f3f5f9!important;color:#2161e8!important;}
html body div.sidenav-fly-drawer .fly-item.active{background:#edf3ff!important;color:#2161e8!important;}
html body div.sidenav-fly-drawer .fly-item.placeholder{color:#a3a6ae!important;}
html body div.sidenav-fly-drawer .fly-desc{color:#8b909b!important;}
html body .sidenav-collapse-popover.el-popover.el-popper{background:#fff!important;color:#51545c!important;border-color:#eceef2!important;}
html body .sidenav-collapse-popover .pop-item{color:#51545c!important;}
html body .sidenav-collapse-popover .pop-item:hover{background:#f3f5f9!important;color:#2161e8!important;}
html body .sidenav-collapse-popover .pop-item.active{background:#edf3ff!important;color:#2161e8!important;}
html[data-theme] body :is(.sidenav-fly-drawer,.sidenav-collapse-popover.el-popover.el-popper){background:#fff!important;color:#51545c!important;border-color:#eceef2!important;}
