/* B M S skins — visual only. Rules here change colour, gradient, radius, shadow and motion.
   They never change display, position, size, margin, padding, border width, font family or font size,
   so every element keeps its exact position (checked by tests/ui_geometry.js).
   html[data-bms-skin=aurora]  dark, indigo night with violet/cyan light
   html[data-bms-skin=carbon]  dark, graphite with lime/teal signal colours
   html[data-bms-skin=ivory]   light, warm ivory paper with ink navy and gold detail */

html[data-bms-skin=aurora]{
  --s-bg:#0b1020;--s-bg2:#111735;--s-surface:#131a33;--s-surface2:#18203f;--s-raised:#1d2650;
  --s-border:rgba(148,163,255,.14);--s-border-strong:rgba(148,163,255,.28);
  --s-text:#e8ebff;--s-muted:#9aa3c7;--s-faint:#6c769e;
  --s-accent:#8b7bff;--s-accent2:#35d0ff;--s-accent-ink:#0b1020;
  --s-grad:linear-gradient(135deg,#7c6cff 0%,#4f8bff 55%,#2ccfff 100%);
  --s-grad-soft:linear-gradient(135deg,rgba(124,108,255,.22),rgba(44,207,255,.10));
  --s-page:radial-gradient(1200px 600px at 12% -10%,rgba(124,108,255,.20),transparent 60%),radial-gradient(900px 500px at 100% 0%,rgba(44,207,255,.10),transparent 55%),linear-gradient(180deg,#0b1020,#0a0e1c);
  --s-sider:linear-gradient(180deg,#10163a 0%,#0c1128 100%);
  --s-card-grad:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,0) 40%);
  --s-shadow:0 1px 0 rgba(255,255,255,.04) inset,0 10px 30px -12px rgba(0,0,0,.55);
  --s-shadow-hi:0 1px 0 rgba(255,255,255,.06) inset,0 18px 40px -14px rgba(20,16,80,.75),0 0 0 1px rgba(139,123,255,.25);
  --s-input:#0f1530;--s-head:#161d3d;--s-row-hover:rgba(139,123,255,.08);
  --s-ok:#34d399;--s-warn:#fbbf24;--s-bad:#fb7185;--s-info:#60a5fa;
  --s-sel:rgba(139,123,255,.18);--s-focus:0 0 0 3px rgba(139,123,255,.35);
  --s-r-card:0px;--s-r-ctl:3px;color-scheme:dark
}
html[data-bms-skin=carbon]{
  --s-bg:#0a0b0d;--s-bg2:#101215;--s-surface:#121418;--s-surface2:#171a1f;--s-raised:#1d2127;
  --s-border:rgba(255,255,255,.08);--s-border-strong:rgba(255,255,255,.16);
  --s-text:#eceff3;--s-muted:#9097a3;--s-faint:#646b77;
  --s-accent:#b6f23a;--s-accent2:#2dd4bf;--s-accent-ink:#0a0b0d;
  --s-grad:linear-gradient(135deg,#c6f84a 0%,#7ee37a 50%,#2dd4bf 100%);
  --s-grad-soft:linear-gradient(135deg,rgba(182,242,58,.16),rgba(45,212,191,.08));
  --s-page:radial-gradient(900px 480px at 85% -10%,rgba(45,212,191,.08),transparent 60%),linear-gradient(180deg,#0c0d10,#08090b);
  --s-sider:linear-gradient(180deg,#0f1114 0%,#0b0c0f 100%);
  --s-card-grad:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,0) 35%);
  --s-shadow:0 1px 0 rgba(255,255,255,.035) inset,0 12px 28px -16px rgba(0,0,0,.8);
  --s-shadow-hi:0 1px 0 rgba(255,255,255,.05) inset,0 16px 36px -16px rgba(0,0,0,.9),0 0 0 1px rgba(182,242,58,.22);
  --s-input:#0e1013;--s-head:#15181c;--s-row-hover:rgba(182,242,58,.05);
  --s-ok:#86efac;--s-warn:#fcd34d;--s-bad:#f87171;--s-info:#5eead4;
  --s-sel:rgba(182,242,58,.12);--s-focus:0 0 0 3px rgba(182,242,58,.28);
  --s-r-card:0px;--s-r-ctl:3px;color-scheme:dark
}
html[data-bms-skin=ivory]{
  --s-bg:#f7f6f2;--s-bg2:#f1efe9;--s-surface:#ffffff;--s-surface2:#fbfaf7;--s-raised:#ffffff;
  --s-border:#e7e3da;--s-border-strong:#d6d0c3;
  --s-text:#141a2a;--s-muted:#5d6475;--s-faint:#8a90a0;
  --s-accent:#1f3a8a;--s-accent2:#b08d3c;--s-accent-ink:#ffffff;
  --s-grad:linear-gradient(135deg,#16244f 0%,#1f3a8a 60%,#2f56c4 100%);
  --s-grad-soft:linear-gradient(135deg,rgba(31,58,138,.07),rgba(176,141,60,.06));
  --s-page:radial-gradient(1100px 520px at 0% -8%,rgba(31,58,138,.06),transparent 60%),radial-gradient(800px 420px at 100% 0%,rgba(176,141,60,.07),transparent 55%),linear-gradient(180deg,#f8f7f3,#f3f1ec);
  --s-sider:linear-gradient(180deg,#ffffff 0%,#fbfaf6 100%);
  --s-card-grad:linear-gradient(180deg,#ffffff,#ffffff);
  --s-shadow:0 1px 2px rgba(20,26,42,.04),0 8px 24px -14px rgba(20,26,42,.14);
  --s-shadow-hi:0 1px 2px rgba(20,26,42,.05),0 18px 40px -18px rgba(20,26,42,.22),0 0 0 1px rgba(31,58,138,.12);
  --s-input:#ffffff;--s-head:#f6f4ef;--s-row-hover:rgba(31,58,138,.035);
  --s-ok:#0f8a5f;--s-warn:#b7791f;--s-bad:#c2410c;--s-info:#1f3a8a;
  --s-sel:rgba(31,58,138,.07);--s-focus:0 0 0 3px rgba(31,58,138,.16);
  --s-r-card:0px;--s-r-ctl:3px;color-scheme:light
}
html[data-bms-skin=aurora]{--s-on-grad:#ffffff}
html[data-bms-skin=carbon]{--s-on-grad:#0a0b0d}
html[data-bms-skin=ivory]{--s-on-grad:#ffffff}

/* ---- map onto the SPA's own design tokens ---- */
html[data-bms-skin]{
  --admin-page-bg:var(--s-bg);--admin-surface:var(--s-surface);--admin-surface-muted:var(--s-surface2);
  --admin-card-bg:var(--s-surface);--admin-border:var(--s-border);--admin-text:var(--s-text);
  --admin-muted:var(--s-muted);--admin-text-muted:var(--s-muted);
  --admin-sider-bg:transparent;--admin-sider-text:var(--s-text);--admin-sider-text-muted:var(--s-muted);
  --admin-sider-border:var(--s-border);--admin-sider-hover:var(--s-row-hover);--admin-sider-item-selected-bg:var(--s-sel);
  --admin-brand-accent:var(--s-accent);--admin-brand-primary:var(--s-accent);--admin-primary:var(--s-accent);
  --admin-table-head-bg:var(--s-head);--admin-success:var(--s-ok);--admin-warning:var(--s-warn);--admin-danger:var(--s-bad);
  --bms-bg:var(--s-bg);--bms-surface:var(--s-surface);--s-border:var(--s-border);--bms-text:var(--s-text);--bms-muted:var(--s-muted);--bms-ink:var(--s-text);
  /* native subpages */
  --bg:var(--s-bg);--card:var(--s-surface);--line:var(--s-border);--text:var(--s-text);--muted:var(--s-muted);--brand:var(--s-accent);--danger:var(--s-bad);--ok:var(--s-ok);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale
}
html[data-bms-skin] body{background:var(--s-page)!important;background-attachment:fixed!important;color:var(--s-text)!important}
html[data-bms-skin] ::selection{background:var(--s-sel);color:var(--s-text)}
html[data-bms-skin] :focus-visible{outline:none!important;box-shadow:var(--s-focus)!important}
html[data-bms-skin] a{color:inherit}
html[data-bms-skin] *{scrollbar-color:var(--s-border-strong) transparent}
html[data-bms-skin] ::-webkit-scrollbar-thumb{background:var(--s-border-strong);border-radius:999px}
html[data-bms-skin] ::-webkit-scrollbar-track{background:transparent}

/* ---- shell: layout, sider, topbar, menu ---- */
html[data-bms-skin] .ant-layout,html[data-bms-skin] .admin-main,html[data-bms-skin] .ant-layout-content{background:transparent!important}
html[data-bms-skin] .ant-layout-sider,html[data-bms-skin] .admin-sider,html[data-bms-skin] .sider-inner{background:var(--s-sider)!important;border-right-color:var(--s-border)!important;box-shadow:1px 0 0 var(--s-border)}
html[data-bms-skin] .ant-menu,html[data-bms-skin] .ant-menu-sub{background:transparent!important;color:var(--s-muted)!important}
html[data-bms-skin] .ant-menu-item,html[data-bms-skin] .ant-menu-submenu-title{color:var(--s-muted)!important;border-radius:var(--s-r-ctl)!important;transition:background-color .18s,color .18s,box-shadow .18s!important}
html[data-bms-skin] .ant-menu-item .anticon,html[data-bms-skin] .ant-menu-submenu-title .anticon{color:var(--s-faint)!important;transition:color .18s!important}
html[data-bms-skin] .ant-menu-item:hover,html[data-bms-skin] .ant-menu-submenu-title:hover{background:var(--s-row-hover)!important;color:var(--s-text)!important}
html[data-bms-skin] .ant-menu-item-selected{background:var(--s-grad-soft)!important;color:var(--s-text)!important;box-shadow:inset 3px 0 0 var(--s-accent),0 0 0 1px var(--s-border)!important}
html[data-bms-skin] .ant-menu-item-selected .anticon{color:var(--s-accent)!important}
html[data-bms-skin] .ant-menu-item::after{border-color:transparent!important}
html[data-bms-skin] .sider-bottom{border-top-color:var(--s-border)!important}
html[data-bms-skin] .exit-link{border-color:var(--s-border)!important;color:var(--s-muted)!important;background:transparent!important}
html[data-bms-skin] .exit-link:hover{color:var(--s-bad)!important;border-color:var(--s-bad)!important}
html[data-bms-skin] .topbar,html[data-bms-skin] .ant-layout-header{background:color-mix(in srgb,var(--s-surface) 88%,transparent)!important;color:var(--s-text)!important;box-shadow:0 1px 0 var(--s-border)!important}
html[data-bms-skin] a.brand{background:transparent!important}

/* ---- surfaces: cards, panels, modals ---- */
html[data-bms-skin] .ant-card,html[data-bms-skin] .card,html[data-bms-skin] section.card,html[data-bms-skin] .bmsreport-card,
html[data-bms-skin] .task-card,html[data-bms-skin] .trend-card,html[data-bms-skin] .sum__card,html[data-bms-skin] .admin-toolbar,
html[data-bms-skin] .list-desk,html[data-bms-skin] div.shell,html[data-bms-skin] .panel,html[data-bms-skin] .auth-card,
html[data-bms-skin] .ai-panel{
  background:var(--s-card-grad),var(--s-surface)!important;border-color:var(--s-border)!important;
  box-shadow:var(--s-shadow)!important;border-radius:var(--s-r-card)!important;
  transition:box-shadow .2s,border-color .2s,transform .2s!important}
html[data-bms-skin] .ant-card:hover,html[data-bms-skin] .task-card:hover,html[data-bms-skin] .sum__card:hover,html[data-bms-skin] .trend-card:hover{border-color:var(--s-border-strong)!important;box-shadow:var(--s-shadow-hi)!important}
html[data-bms-skin] .ant-card-head{border-bottom-color:var(--s-border)!important;color:var(--s-text)!important}
html[data-bms-skin] .ant-card-head-title,html[data-bms-skin] h1,html[data-bms-skin] h2,html[data-bms-skin] h3,html[data-bms-skin] .trend-card__title{color:var(--s-text)!important}
html[data-bms-skin] .trend-card__unit,html[data-bms-skin] .trend-card__meta,html[data-bms-skin] .trend-card__ytick,html[data-bms-skin] .trend-card__empty{color:var(--s-faint)!important}
html[data-bms-skin] .muted,html[data-bms-skin] .sub,html[data-bms-skin] .ant-typography-secondary,html[data-bms-skin] .ant-card-meta-description{color:var(--s-muted)!important}
html[data-bms-skin] .main,html[data-bms-skin] .uc-shell,html[data-bms-skin] .uc-loading{background:transparent!important;color:var(--s-text)!important}
html[data-bms-skin] aside.nav{background:var(--s-bg2)!important}
html[data-bms-skin] .nav__item{color:var(--s-muted)!important;border-radius:var(--s-r-ctl)!important}
html[data-bms-skin] .nav__item.active{background:var(--s-surface)!important;color:var(--s-text)!important;box-shadow:inset 3px 0 0 var(--s-accent),var(--s-shadow)!important}
html[data-bms-skin] .ant-modal-content,html[data-bms-skin] .ant-modal-header,html[data-bms-skin] .ant-drawer-content,html[data-bms-skin] .ant-drawer-header,
html[data-bms-skin] .ant-popover-inner,html[data-bms-skin] .ant-dropdown-menu,html[data-bms-skin] .ant-select-dropdown,html[data-bms-skin] .ant-picker-dropdown .ant-picker-panel-container{
  background:var(--s-raised)!important;color:var(--s-text)!important;border-color:var(--s-border)!important;box-shadow:var(--s-shadow-hi)!important}
html[data-bms-skin] .ant-modal-content,html[data-bms-skin] .ant-drawer-content{border-radius:calc(var(--s-r-card) + 2px)!important}
html[data-bms-skin] .ant-modal-title,html[data-bms-skin] .ant-drawer-title{color:var(--s-text)!important}
html[data-bms-skin] .ant-modal-mask,html[data-bms-skin] .ant-drawer-mask{background:rgba(5,8,18,.55)!important}
html[data-bms-skin=ivory] .ant-modal-mask,html[data-bms-skin=ivory] .ant-drawer-mask{background:rgba(20,26,42,.28)!important}
html[data-bms-skin] .ant-dropdown-menu-item,html[data-bms-skin] .ant-select-item{color:var(--s-text)!important;border-radius:8px!important}
html[data-bms-skin] .ant-dropdown-menu-item:hover,html[data-bms-skin] .ant-select-item-option-active{background:var(--s-row-hover)!important}
html[data-bms-skin] .ant-select-item-option-selected{background:var(--s-sel)!important;color:var(--s-text)!important}
html[data-bms-skin] .ant-tooltip-inner{background:var(--s-raised)!important;color:var(--s-text)!important;box-shadow:var(--s-shadow-hi)!important}
html[data-bms-skin] .ant-divider{border-color:var(--s-border)!important}

/* ---- buttons ---- */
html[data-bms-skin] .ant-btn-primary,html[data-bms-skin] .bmsreport-primary,html[data-bms-skin] button.primary,html[data-bms-skin] .submit,
html[data-bms-skin] .btn.dark,html[data-bms-skin] .tab.active{
  background:var(--s-grad)!important;border-color:transparent!important;color:var(--s-on-grad)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 8px 20px -10px var(--s-accent)!important;transition:filter .18s,box-shadow .18s,transform .18s!important}
html[data-bms-skin] .ant-btn-primary:not(:disabled):hover,html[data-bms-skin] .bmsreport-primary:hover,html[data-bms-skin] button.primary:hover,html[data-bms-skin] .submit:hover{filter:brightness(1.08) saturate(1.05);box-shadow:0 1px 0 rgba(255,255,255,.22) inset,0 12px 26px -10px var(--s-accent)!important}
html[data-bms-skin] .ant-btn-primary:not(:disabled):active,html[data-bms-skin] button.primary:active,html[data-bms-skin] .submit:active{transform:translateY(1px)}
html[data-bms-skin] .ant-btn-default,html[data-bms-skin] .bmsreport-secondary,html[data-bms-skin] .bms-task-button,html[data-bms-skin] button.ghost,
html[data-bms-skin] .btn,html[data-bms-skin] .tab,html[data-bms-skin] .captcha-refresh,html[data-bms-skin] .chip{
  background:var(--s-surface2)!important;border-color:var(--s-border)!important;color:var(--s-text)!important;box-shadow:none!important;transition:background-color .18s,border-color .18s,color .18s!important}
html[data-bms-skin] .ant-btn-default:not(:disabled):hover,html[data-bms-skin] .bmsreport-secondary:hover,html[data-bms-skin] .bms-task-button:hover,
html[data-bms-skin] button.ghost:hover,html[data-bms-skin] .btn:hover,html[data-bms-skin] .tab:hover,html[data-bms-skin] .chip:hover{border-color:var(--s-accent)!important;color:var(--s-text)!important;background:var(--s-row-hover)!important}
html[data-bms-skin] .chip.active{background:var(--s-sel)!important;border-color:var(--s-accent)!important;color:var(--s-text)!important;box-shadow:inset 0 0 0 1px var(--s-accent)!important}
html[data-bms-skin] .ant-btn-text,html[data-bms-skin] .ant-btn-link{color:var(--s-muted)!important;background:transparent!important}
html[data-bms-skin] .ant-btn-text:not(:disabled):hover{background:var(--s-row-hover)!important;color:var(--s-text)!important}
html[data-bms-skin] .ant-btn-link:hover{color:var(--s-accent)!important}
html[data-bms-skin] .ant-btn-dangerous,html[data-bms-skin] button.danger{color:var(--s-bad)!important;border-color:color-mix(in srgb,var(--s-bad) 45%,transparent)!important;background:color-mix(in srgb,var(--s-bad) 8%,transparent)!important}
html[data-bms-skin] .ant-btn-primary.ant-btn-dangerous{background:var(--s-bad)!important;color:#fff!important;border-color:transparent!important}
html[data-bms-skin] .ant-btn:disabled,html[data-bms-skin] button:disabled{opacity:.5;filter:grayscale(.3)}
html[data-bms-skin] .global-draw-fab{background:var(--s-raised)!important;border-color:var(--s-border-strong)!important;color:var(--s-text)!important;box-shadow:var(--s-shadow-hi)!important}

/* ---- form controls ---- */
html[data-bms-skin] input:not([type=checkbox]):not([type=radio]):not([type=range]),html[data-bms-skin] select,html[data-bms-skin] textarea,
html[data-bms-skin] .ant-input,html[data-bms-skin] .ant-input-affix-wrapper,html[data-bms-skin] .ant-input-number,html[data-bms-skin] .ant-picker,
html[data-bms-skin] .ant-select:not(.ant-select-customize-input) .ant-select-selector,html[data-bms-skin] .ant-input-group-addon{
  background-color:var(--s-input)!important;border-color:var(--s-border-strong)!important;color:var(--s-text)!important;
  border-radius:var(--s-r-ctl)!important;transition:border-color .18s,box-shadow .18s!important}
html[data-bms-skin] .ant-input-affix-wrapper .ant-input,html[data-bms-skin] .ant-input-number .ant-input-number-input{background:transparent!important;border:0}
html[data-bms-skin] input:hover,html[data-bms-skin] select:hover,html[data-bms-skin] textarea:hover,html[data-bms-skin] .ant-select:hover .ant-select-selector,
html[data-bms-skin] .ant-input-affix-wrapper:hover,html[data-bms-skin] .ant-input-number:hover,html[data-bms-skin] .ant-picker:hover{border-color:var(--s-accent)!important}
html[data-bms-skin] input:focus,html[data-bms-skin] select:focus,html[data-bms-skin] textarea:focus,html[data-bms-skin] .ant-input-focused,html[data-bms-skin] .ant-input-affix-wrapper-focused,
html[data-bms-skin] .ant-select-focused .ant-select-selector,html[data-bms-skin] .ant-input-number-focused,html[data-bms-skin] .ant-picker-focused{border-color:var(--s-accent)!important;box-shadow:var(--s-focus)!important;outline:none!important}
html[data-bms-skin] input::placeholder,html[data-bms-skin] textarea::placeholder,html[data-bms-skin] .ant-select-selection-placeholder{color:var(--s-faint)!important}
html[data-bms-skin] input:disabled,html[data-bms-skin] .ant-input-disabled,html[data-bms-skin] .ant-select-disabled .ant-select-selector{opacity:.6}
html[data-bms-skin] label,html[data-bms-skin] .ant-form-item-label>label,html[data-bms-skin] .label{color:var(--s-muted)!important}
html[data-bms-skin] .ant-select-arrow,html[data-bms-skin] .ant-input-suffix,html[data-bms-skin] .ant-picker-suffix{color:var(--s-faint)!important}
html[data-bms-skin] .ant-checkbox-inner,html[data-bms-skin] .ant-radio-inner{background:var(--s-input)!important;border-color:var(--s-border-strong)!important}
html[data-bms-skin] .ant-checkbox-checked .ant-checkbox-inner,html[data-bms-skin] .ant-radio-checked .ant-radio-inner{background:var(--s-accent)!important;border-color:var(--s-accent)!important}
html[data-bms-skin] .ant-checkbox-checked .ant-checkbox-inner::after{border-color:var(--s-accent-ink)!important}
html[data-bms-skin] input[type=checkbox],html[data-bms-skin] input[type=radio],html[data-bms-skin] input[type=range]{accent-color:var(--s-accent)}
html[data-bms-skin] .ant-switch{background:var(--s-border-strong)!important}
html[data-bms-skin] .ant-switch.ant-switch-checked{background:var(--s-grad)!important;box-shadow:0 0 12px -2px var(--s-accent)}
html[data-bms-skin] .ant-segmented{background:var(--s-bg2)!important;color:var(--s-muted)!important;border-radius:var(--s-r-ctl)!important;box-shadow:inset 0 0 0 1px var(--s-border)}
html[data-bms-skin] .ant-segmented-item{color:var(--s-muted)!important}
html[data-bms-skin] .ant-segmented-item-selected,html[data-bms-skin] .ant-segmented-thumb{background:var(--s-raised)!important;color:var(--s-text)!important;box-shadow:var(--s-shadow),inset 0 0 0 1px var(--s-border-strong)!important;border-radius:calc(var(--s-r-ctl) - 3px)!important}
html[data-bms-skin] .ant-tabs-tab{color:var(--s-muted)!important}
html[data-bms-skin] .ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--s-text)!important}
html[data-bms-skin] .ant-tabs-ink-bar{background:var(--s-grad)!important;box-shadow:0 0 10px var(--s-accent)}
html[data-bms-skin] .ant-tabs-nav::before{border-color:var(--s-border)!important}
html[data-bms-skin] .ant-slider-track{background:var(--s-grad)!important}
html[data-bms-skin] .ant-slider-rail{background:var(--s-border-strong)!important}
html[data-bms-skin] .ant-slider-handle::after{box-shadow:0 0 0 2px var(--s-accent)!important;background:var(--s-raised)!important}

/* ---- tables & lists ---- */
html[data-bms-skin] .ant-table,html[data-bms-skin] .ant-table-container{background:transparent!important;color:var(--s-text)!important}
html[data-bms-skin] .ant-table-thead>tr>th,html[data-bms-skin] .ant-table-thead>tr>td,html[data-bms-skin] thead th{background:var(--s-head)!important;color:var(--s-muted)!important;border-bottom-color:var(--s-border)!important}
html[data-bms-skin] .ant-table-thead>tr>th::before{background-color:var(--s-border)!important}
html[data-bms-skin] .ant-table-tbody>tr>td,html[data-bms-skin] tbody td,html[data-bms-skin] td,html[data-bms-skin] th{border-color:var(--s-border)!important}
html[data-bms-skin] .ant-table-tbody>tr>td{background:transparent!important}
html[data-bms-skin] .ant-table-tbody>tr:hover>td,html[data-bms-skin] .ant-table-tbody>tr.ant-table-row:hover>td,html[data-bms-skin] tbody tr:hover td{background:var(--s-row-hover)!important}
html[data-bms-skin] .ant-table-cell-fix-left,html[data-bms-skin] .ant-table-cell-fix-right{background:var(--s-surface)!important}
html[data-bms-skin] .ant-empty-description,html[data-bms-skin] .empty{color:var(--s-faint)!important}
html[data-bms-skin] .ant-pagination-item{background:var(--s-surface2)!important;border-color:var(--s-border)!important;border-radius:8px!important}
html[data-bms-skin] .ant-pagination-item a{color:var(--s-muted)!important}
html[data-bms-skin] .ant-pagination-item-active{border-color:var(--s-accent)!important;background:var(--s-sel)!important}
html[data-bms-skin] .ant-pagination-item-active a{color:var(--s-text)!important}
html[data-bms-skin] .ant-list-item{border-color:var(--s-border)!important;color:var(--s-text)!important}
html[data-bms-skin] .ant-descriptions-item-label{color:var(--s-muted)!important;background:var(--s-head)!important}
html[data-bms-skin] .ant-descriptions-item-content{color:var(--s-text)!important}
html[data-bms-skin] .ant-descriptions-bordered .ant-descriptions-view,html[data-bms-skin] .ant-descriptions-bordered .ant-descriptions-row,html[data-bms-skin] .ant-descriptions-bordered .ant-descriptions-item-label,html[data-bms-skin] .ant-descriptions-bordered .ant-descriptions-item-content{border-color:var(--s-border)!important}

/* ---- status: tags, badges, alerts, numbers ---- */
html[data-bms-skin] .ant-tag,html[data-bms-skin] .badge,html[data-bms-skin] .pill{background:var(--s-surface2)!important;border-color:var(--s-border)!important;color:var(--s-muted)!important;border-radius:999px!important}
html[data-bms-skin] .ant-tag-success,html[data-bms-skin] .ant-tag-green,html[data-bms-skin] .badge.ok{background:color-mix(in srgb,var(--s-ok) 12%,transparent)!important;border-color:color-mix(in srgb,var(--s-ok) 40%,transparent)!important;color:var(--s-ok)!important}
html[data-bms-skin] .ant-tag-warning,html[data-bms-skin] .ant-tag-orange,html[data-bms-skin] .ant-tag-gold,html[data-bms-skin] .badge.warn{background:color-mix(in srgb,var(--s-warn) 12%,transparent)!important;border-color:color-mix(in srgb,var(--s-warn) 40%,transparent)!important;color:var(--s-warn)!important}
html[data-bms-skin] .ant-tag-error,html[data-bms-skin] .ant-tag-red,html[data-bms-skin] .badge.off{background:color-mix(in srgb,var(--s-bad) 12%,transparent)!important;border-color:color-mix(in srgb,var(--s-bad) 40%,transparent)!important;color:var(--s-bad)!important}
html[data-bms-skin] .ant-tag-processing,html[data-bms-skin] .ant-tag-blue,html[data-bms-skin] .ant-tag-geekblue{background:color-mix(in srgb,var(--s-info) 12%,transparent)!important;border-color:color-mix(in srgb,var(--s-info) 40%,transparent)!important;color:var(--s-info)!important}
html[data-bms-skin] .ant-badge-status-success{background:var(--s-ok)!important;box-shadow:0 0 8px var(--s-ok)}
html[data-bms-skin] .ant-badge-status-error{background:var(--s-bad)!important}
html[data-bms-skin] .ant-badge-status-processing{background:var(--s-info)!important}
html[data-bms-skin] .ant-alert{border-radius:var(--s-r-ctl)!important;color:var(--s-text)!important}
html[data-bms-skin] .ant-alert-info,html[data-bms-skin] .bmsreport-note{background:color-mix(in srgb,var(--s-info) 9%,var(--s-surface))!important;border-color:color-mix(in srgb,var(--s-info) 30%,transparent)!important}
html[data-bms-skin] .ant-alert-success{background:color-mix(in srgb,var(--s-ok) 9%,var(--s-surface))!important;border-color:color-mix(in srgb,var(--s-ok) 30%,transparent)!important}
html[data-bms-skin] .ant-alert-warning{background:color-mix(in srgb,var(--s-warn) 10%,var(--s-surface))!important;border-color:color-mix(in srgb,var(--s-warn) 32%,transparent)!important}
html[data-bms-skin] .ant-alert-error,html[data-bms-skin] #error:not(:empty),html[data-bms-skin] .error,html[data-bms-skin] .err{background:color-mix(in srgb,var(--s-bad) 10%,var(--s-surface))!important;border-color:color-mix(in srgb,var(--s-bad) 32%,transparent)!important;color:var(--s-text)!important}
html[data-bms-skin] .ant-alert-message,html[data-bms-skin] .ant-alert-description{color:var(--s-text)!important}
html[data-bms-skin] .ant-alert-info .ant-alert-icon{color:var(--s-info)!important}
html[data-bms-skin] .positive,html[data-bms-skin] .is-up,html[data-bms-skin] .up,html[data-bms-skin] .ant-statistic-content .positive{color:var(--s-ok)!important}
html[data-bms-skin] .negative,html[data-bms-skin] .is-down,html[data-bms-skin] .down{color:var(--s-bad)!important}
html[data-bms-skin] .trend-card.is-up{--tone:var(--s-ok)}
html[data-bms-skin] .trend-card.is-down{--tone:var(--s-bad)}
html[data-bms-skin] .ant-statistic-title{color:var(--s-muted)!important}
html[data-bms-skin] .ant-statistic-content,html[data-bms-skin] .sum__val,html[data-bms-skin] .stat__n,html[data-bms-skin] .num,html[data-bms-skin] .money,html[data-bms-skin] .stat b{color:var(--s-text)!important}
html[data-bms-skin] .ant-progress-bg,html[data-bms-skin] .rates-bar__fill{background:var(--s-grad)!important}
html[data-bms-skin] .ant-progress-inner{background:var(--s-border)!important}
html[data-bms-skin] .ant-spin-dot-item{background:var(--s-accent)!important}
html[data-bms-skin] .ant-message-notice-content,html[data-bms-skin] .ant-notification-notice{background:var(--s-raised)!important;color:var(--s-text)!important;box-shadow:var(--s-shadow-hi)!important;border-radius:var(--s-r-ctl)!important}
html[data-bms-skin] .ant-avatar{background:var(--s-grad)!important;color:var(--s-on-grad)!important;box-shadow:0 0 0 2px var(--s-surface),0 0 0 3px var(--s-border-strong)}
html[data-bms-skin] img.ant-avatar-image,html[data-bms-skin] .ant-avatar-image{background:var(--s-surface2)!important}

/* ---- native subpages / user center / login ---- */
html[data-bms-skin] .hero h1{background:linear-gradient(90deg,var(--s-text) 0%,var(--s-text) 55%,var(--s-accent) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
html[data-bms-skin] .section,html[data-bms-skin] .row{border-color:var(--s-border)!important}
html[data-bms-skin] .name{color:var(--s-text)!important}
html[data-bms-skin] .item,html[data-bms-skin] .stat{background:var(--s-surface2)!important;border-color:var(--s-border)!important;color:var(--s-text)}
html[data-bms-skin] .mono,html[data-bms-skin] code{background:var(--s-bg2)!important;color:var(--s-text)!important;border-color:var(--s-border)!important}
html[data-bms-skin] .login-shell{background:transparent!important}
html[data-bms-skin] .auth-card .eyebrow{color:var(--s-accent)!important}
html[data-bms-skin] .auth-card .brand strong,html[data-bms-skin] .brand{color:var(--s-text)!important}
html[data-bms-skin] .auth-card .foot,html[data-bms-skin] .auth-card .links a{color:var(--s-muted)!important}
html[data-bms-skin] .auth-card .foot a{color:var(--s-accent)!important}
html[data-bms-skin] .logo,html[data-bms-skin] .brand img{box-shadow:0 0 0 1px var(--s-border-strong),0 6px 18px -8px var(--s-accent)}
html[data-bms-skin] .captcha-refresh img{filter:none}
html[data-bms-skin=aurora] .captcha-refresh img,html[data-bms-skin=carbon] .captcha-refresh img{filter:invert(.9) hue-rotate(180deg)}
html[data-bms-skin] .skin-pick{background:var(--s-surface2)!important;border-color:var(--s-border)!important;color:var(--s-text)!important}
html[data-bms-skin] .skin-pick[aria-pressed=true]{border-color:var(--s-accent)!important;box-shadow:inset 0 0 0 1px var(--s-accent),var(--s-shadow)!important}

/* ---- signature details per skin ---- */
/* aurora: soft light on raised surfaces, luminous accent lines */
html[data-bms-skin=aurora] .ant-card,html[data-bms-skin=aurora] .sum__card,html[data-bms-skin=aurora] .task-card,html[data-bms-skin=aurora] .trend-card{
  background:radial-gradient(420px 160px at 0% 0%,rgba(139,123,255,.10),transparent 70%),var(--s-card-grad),var(--s-surface)!important}
html[data-bms-skin=aurora] .topbar{box-shadow:0 1px 0 var(--s-border),0 1px 0 0 rgba(139,123,255,.25)!important}
html[data-bms-skin=aurora] .sum__val,html[data-bms-skin=aurora] .stat__n{text-shadow:0 0 18px rgba(139,123,255,.35)!important}
/* carbon: engineered, flat graphite with a thin signal line on top of cards */
html[data-bms-skin=carbon] .ant-card,html[data-bms-skin=carbon] .sum__card,html[data-bms-skin=carbon] .task-card,html[data-bms-skin=carbon] .trend-card,html[data-bms-skin=carbon] .card{
  box-shadow:inset 0 1px 0 rgba(182,242,58,.10),var(--s-shadow)!important}
html[data-bms-skin=carbon] .ant-card:hover,html[data-bms-skin=carbon] .sum__card:hover,html[data-bms-skin=carbon] .task-card:hover{box-shadow:inset 0 1px 0 rgba(182,242,58,.35),var(--s-shadow-hi)!important}
html[data-bms-skin=carbon] .ant-menu-item-selected{background:rgba(182,242,58,.08)!important}
html[data-bms-skin=carbon] .ant-table-thead>tr>th{color:var(--s-faint)!important}
/* ivory: paper, hairlines, ink and a gold hairline under the top bar */
html[data-bms-skin=ivory] .topbar{box-shadow:0 1px 0 var(--s-border),0 2px 0 -1px rgba(176,141,60,.35)!important}
html[data-bms-skin=ivory] .ant-menu-item-selected{background:linear-gradient(90deg,rgba(31,58,138,.08),rgba(31,58,138,.02))!important}
html[data-bms-skin=ivory] .ant-btn-primary,html[data-bms-skin=ivory] button.primary,html[data-bms-skin=ivory] .bmsreport-primary,html[data-bms-skin=ivory] .submit{box-shadow:0 1px 0 rgba(255,255,255,.15) inset,0 6px 16px -8px rgba(22,36,79,.55)!important}
html[data-bms-skin=ivory] .auth-card{box-shadow:0 1px 2px rgba(20,26,42,.05),0 30px 60px -30px rgba(20,26,42,.25)!important}

@media (hover:none){html[data-bms-skin] .ant-card:hover,html[data-bms-skin] .task-card:hover,html[data-bms-skin] .sum__card:hover,html[data-bms-skin] .trend-card:hover{box-shadow:var(--s-shadow)!important}}
@media (prefers-reduced-motion:reduce){html[data-bms-skin] *{transition:none!important}}

/* R5 flat skin finish: square panels, restrained elevation, compact controls. */
html[data-bms-skin=aurora]{
  --s-bg:#0c1223;--s-surface:#131d32;--s-surface2:#18233a;--s-raised:#1b2942;
  --s-border:#2b3d60;--s-border-strong:#415781;--s-accent:#8daee4;--s-accent2:#77c7d6;
  --s-page:#0c1223;--s-card-grad:linear-gradient(90deg,rgba(159,155,255,.035),transparent 50%);
  --s-shadow:none;--s-shadow-hi:0 0 0 1px #526898;
  --s-grad:#426a9f;--s-grad-soft:rgba(141,174,228,.12)
}
html[data-bms-skin=carbon]{
  --s-bg:#0e1113;--s-surface:#181d20;--s-surface2:#20272a;--s-raised:#263034;
  --s-border:#354047;--s-border-strong:#516168;--s-accent:#90b8ab;--s-accent2:#6aa9a3;
  --s-page:#0e1113;--s-card-grad:none;--s-shadow:none;--s-shadow-hi:0 0 0 1px #728d68;
  --s-grad:#8caf9f;--s-grad-soft:rgba(144,184,171,.10)
}
html[data-bms-skin=ivory]{
  --s-bg:#f3f1ec;--s-surface:#fffdfa;--s-surface2:#f8f6f1;--s-raised:#ffffff;
  --s-border:#d8d3c8;--s-border-strong:#bcb4a5;--s-accent:#25416d;--s-accent2:#9a7839;
  --s-page:#f3f1ec;--s-card-grad:none;--s-shadow:none;--s-shadow-hi:0 0 0 1px #9b907e;
  --s-grad:#25416d;--s-grad-soft:rgba(37,65,109,.08)
}
html[data-bms-skin] .ant-card,html[data-bms-skin] .card,html[data-bms-skin] section.card,
html[data-bms-skin] .bmsreport-card,html[data-bms-skin] .task-card,html[data-bms-skin] .trend-card,
html[data-bms-skin] .sum__card,html[data-bms-skin] .admin-toolbar,html[data-bms-skin] .list-desk,
html[data-bms-skin] .panel,html[data-bms-skin] .auth-card,html[data-bms-skin] .ai-panel,
html[data-bms-skin] .ant-modal-content,html[data-bms-skin] .ant-drawer-content,
html[data-bms-skin] .ant-popover-inner{border-radius:0!important;box-shadow:none!important}
html[data-bms-skin] .ant-card:hover,html[data-bms-skin] .card:hover,
html[data-bms-skin] .task-card:hover,html[data-bms-skin] .sum__card:hover,
html[data-bms-skin] .trend-card:hover{box-shadow:none!important;border-color:var(--s-border-strong)!important}
html[data-bms-skin=aurora] .ant-card,html[data-bms-skin=aurora] .sum__card,
html[data-bms-skin=aurora] .task-card,html[data-bms-skin=aurora] .trend-card{background:var(--s-card-grad),var(--s-surface)!important}
html[data-bms-skin=carbon] .ant-card,html[data-bms-skin=carbon] .sum__card,
html[data-bms-skin=carbon] .task-card,html[data-bms-skin=carbon] .trend-card,
html[data-bms-skin=carbon] .card{box-shadow:none!important}
html[data-bms-skin] .ant-btn-primary,html[data-bms-skin] .bmsreport-primary,
html[data-bms-skin] button.primary,html[data-bms-skin] .submit,
html[data-bms-skin] .btn.dark,html[data-bms-skin] .tab.active{box-shadow:none!important}
html[data-bms-skin] .ant-switch{min-width:34px!important;width:34px!important;height:18px!important;min-height:18px!important;margin-block:9px!important;box-shadow:none!important}
html[data-bms-skin] .ant-switch .ant-switch-handle{width:14px!important;height:14px!important;top:2px!important;inset-inline-start:2px!important}
html[data-bms-skin] .ant-switch.ant-switch-checked .ant-switch-handle{inset-inline-start:calc(100% - 16px)!important}
html[data-bms-skin] .ant-switch .ant-switch-inner{font-size:0!important}
html[data-bms-skin] .ant-switch.ant-switch-checked{box-shadow:none!important}
/* The three-skin control lives in the main header, beside existing task and mode controls. */
.bms-skin-picker{position:relative;display:inline-flex;align-items:center}
.bms-skin-trigger{height:28px;padding:0 9px;border:1px solid var(--s-border-strong,#64748b);border-radius:2px;background:var(--s-surface,#fff);color:var(--s-text,#111827);font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}
.bms-skin-trigger:hover,.bms-skin-trigger:focus-visible{border-color:var(--s-accent,#6875d4);outline:2px solid transparent}
.bms-skin-menu{position:absolute;right:0;top:calc(100% + 7px);z-index:1050;width:148px;padding:4px;background:var(--s-raised,#fff);border:1px solid var(--s-border-strong,#64748b);box-shadow:0 8px 18px rgba(0,0,0,.18)}
.bms-skin-menu[hidden]{display:none}
.bms-skin-option{display:block;width:100%;padding:7px 8px;text-align:left;border:0;border-radius:0;background:transparent;color:var(--s-text,#111827);font:inherit;font-size:12px;cursor:pointer}
.bms-skin-option:hover,.bms-skin-option[aria-checked=true]{background:var(--s-sel,#e4e9f5);color:var(--s-text,#111827)}
.bms-skin-option[aria-checked=true]::before{content:'✓';color:var(--s-accent,#6875d4);margin-right:6px}
@media(max-width:600px){.bms-skin-trigger{width:38px;padding:0 4px;text-align:center}.bms-skin-trigger .bms-skin-long{display:none}}

/* Solid, quiet header and button treatment; no glass blur or glow. */
html[data-bms-skin] .topbar,html[data-bms-skin] .ant-layout-header{background:var(--s-surface)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:0 1px 0 var(--s-border)!important}
html[data-bms-skin] .sum__val,html[data-bms-skin] .stat__n{text-shadow:none!important}
html[data-bms-skin] .ant-btn-primary:hover,html[data-bms-skin] button.primary:hover{box-shadow:none!important;filter:brightness(1.06)}
html[data-bms-skin] .ant-card,html[data-bms-skin] .card,html[data-bms-skin] button{transition:background-color .18s ease,border-color .18s ease,color .18s ease!important}
.topbar-right{position:relative}
.topbar-right .bms-skin-menu{right:0;top:calc(100% + 10px)}
html[data-bms-skin] .rates-table,html[data-bms-skin] .board{border-radius:0!important}

/* Two restrained monochrome themes. Existing names remain only as storage compatibility. */
html[data-bms-skin=carbon]{
  --s-bg:#0c0e11;--s-bg2:#12151a;--s-surface:#171b20;--s-surface2:#1c2127;--s-raised:#222830;
  --s-border:#30363e;--s-border-strong:#454d57;--s-text:#eef0f2;--s-muted:#aab1b9;--s-faint:#828b95;
  --s-accent:#e0e5ea;--s-accent2:#bfc7d0;--s-accent-ink:#15191d;
  --s-grad:linear-gradient(110deg,#dce2e7,#afb8c2);--s-grad-soft:linear-gradient(100deg,#272d34,#20252b);
  --s-page:linear-gradient(145deg,#15191e 0%,#0b0d10 64%,#12161a 100%);
  --s-sider:linear-gradient(180deg,#171b20,#101317);
  --s-card-grad:linear-gradient(155deg,#1c2126,#16191d);
  --s-shadow:0 1px 2px rgba(0,0,0,.13);--s-shadow-hi:0 3px 9px rgba(0,0,0,.19);
  --s-input:#1b2026;--s-head:#20252b;--s-row-hover:#232931;--s-sel:#2b323a;
  --s-focus:0 0 0 2px #7e8995;--s-ok:#85c6a2;--s-warn:#d7b978;--s-bad:#dc8d8d;--s-info:#a9c0d4;--s-on-grad:#15191d
}
html[data-bms-skin=ivory]{
  --s-bg:#f4f5f4;--s-bg2:#eceeed;--s-surface:#ffffff;--s-surface2:#f8f9f8;--s-raised:#ffffff;
  --s-border:#dce0df;--s-border-strong:#b7bec1;--s-text:#20262c;--s-muted:#626c74;--s-faint:#808b93;
  --s-accent:#252e36;--s-accent2:#46525c;--s-accent-ink:#ffffff;
  --s-grad:linear-gradient(110deg,#2e3942,#1c242b);--s-grad-soft:linear-gradient(105deg,#eff1f1,#e8ebeb);
  --s-page:linear-gradient(145deg,#ffffff 0%,#f3f5f4 55%,#ecefed 100%);
  --s-sider:linear-gradient(180deg,#ffffff,#f4f6f5);
  --s-card-grad:linear-gradient(145deg,#ffffff,#fafbfa);
  --s-shadow:0 1px 2px rgba(25,32,38,.05);--s-shadow-hi:0 3px 9px rgba(25,32,38,.08);
  --s-input:#ffffff;--s-head:#f1f3f2;--s-row-hover:#f0f2f1;--s-sel:#e7ebea;
  --s-focus:0 0 0 2px #a4adb3;--s-ok:#347857;--s-warn:#986f28;--s-bad:#b34b4b;--s-info:#465b6b;--s-on-grad:#ffffff
}
html[data-bms-skin] body{background-attachment:scroll!important}
html[data-bms-skin] .ant-card,html[data-bms-skin] .card,html[data-bms-skin] section.card{transform:none!important}
html[data-bms-skin] .bms-tabbar{display:flex;gap:0;border-bottom:1px solid var(--s-border);margin:0 0 14px}
html[data-bms-skin] .bms-tabbar button{appearance:none;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--s-muted);padding:9px 16px;font:inherit;cursor:pointer}
html[data-bms-skin] .bms-tabbar button.active{color:var(--s-text);border-bottom-color:var(--s-text);font-weight:650}
html[data-bms-skin] .bms-feature-frame{width:100%;border:0;background:transparent;display:block}
html[data-bms-skin] .monitor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
html[data-bms-skin] .monitor-slot{padding:14px!important;margin:0!important;min-width:0}
html[data-bms-skin] .monitor-slot-head{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--s-border);padding-bottom:10px;margin-bottom:10px}
html[data-bms-skin] .monitor-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
html[data-bms-skin] .monitor-group{min-width:0;border:1px solid var(--s-border);padding:9px;background:var(--s-surface2)}
html[data-bms-skin] .monitor-group .name{font-size:12px;color:var(--s-muted)}
html[data-bms-skin] .monitor-group strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;margin:4px 0}
html[data-bms-skin] .monitor-detail summary{cursor:pointer;font-size:12px;color:var(--s-muted);margin-top:6px}
html[data-bms-skin] .monitor-detail .sub{padding:5px 0;border-top:1px solid var(--s-border)}
html[data-bms-skin] .bms-tabbar button:hover{color:var(--s-text)}
@media(max-width:800px){html[data-bms-skin] .monitor-grid{grid-template-columns:1fr}html[data-bms-skin] .monitor-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}
html[data-bms-skin] #toolbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-end}
html[data-bms-skin] #toolbar button{width:auto;height:34px;margin:0;padding:5px 10px;font-size:12px;font-weight:550;border-radius:2px;white-space:nowrap}
html[data-bms-skin] #toolbar input,html[data-bms-skin] #toolbar select{height:34px;border-radius:2px}
html[data-bms-skin] #content>.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
html[data-bms-skin] #content>.grid .card.stat{padding:11px 14px}
html[data-bms-skin] .card.section{margin-top:12px}
html[data-bms-skin] .card.section>.row{padding:9px 0}
html[data-bms-skin] button,html[data-bms-skin] input,html[data-bms-skin] select{transition:background-color .16s,border-color .16s,color .16s}
html[data-bms-skin] button.primary{background:var(--s-accent)!important;color:var(--s-accent-ink)!important;border-color:var(--s-border-strong)!important}
html[data-bms-skin] button.ghost{background:var(--s-surface2)!important;color:var(--s-text)!important;border-color:var(--s-border)!important}
html[data-bms-skin] button.danger{background:transparent!important;color:var(--s-bad)!important;border:1px solid var(--s-border-strong)!important}
@media(max-width:640px){html[data-bms-skin] #toolbar{justify-content:flex-start}html[data-bms-skin] #content>.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Administration: one active section, compact navigation and rows. */
.admin-layout{display:grid;grid-template-columns:170px minmax(0,1fr);gap:20px;align-items:start;margin-top:18px}
.admin-nav{display:flex;flex-direction:column;gap:4px;border-right:1px solid var(--s-border);padding-right:14px}
html[data-bms-skin] .admin-nav button{text-align:left;justify-content:flex-start;background:transparent!important;border-color:transparent!important}
html[data-bms-skin] .admin-nav button.active{background:var(--s-surface2)!important;border-color:var(--s-border)!important;font-weight:600}
.admin-panel{min-width:0}.admin-panel [hidden]{display:none!important}.admin-status .grid{gap:10px}
@media(max-width:700px){.admin-layout{grid-template-columns:1fr;gap:12px}.admin-nav{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--s-border);padding:0 0 10px}html[data-bms-skin] .admin-nav button{font-size:12px;padding:6px 10px}}

/* R7: neutral black / white, aligned compact controls. */
html[data-bms-skin=carbon]{--s-bg:#050505;--s-bg2:#0a0a0a;--s-surface:#0d0d0d;--s-surface2:#141414;--s-raised:#191919;--s-border:#292929;--s-border-strong:#505050;--s-text:#f3f3f3;--s-muted:#a5a5a5;--s-faint:#858585;--s-accent:#e7e7e7;--s-accent2:#fff;--s-accent-ink:#080808;--s-grad:linear-gradient(120deg,#fff,#bcbcbc);--s-grad-soft:linear-gradient(140deg,#191919,#090909);--s-page:linear-gradient(155deg,#030303 0%,#090909 55%,#101010 100%);--s-sider:linear-gradient(180deg,#050505,#101010);--s-card-grad:linear-gradient(150deg,#141414,#090909);--s-input:#101010;--s-head:#171717;--s-row-hover:#1e1e1e;--s-sel:#242424;--s-on-grad:#080808;--s-info:#c6c6c6}
html[data-bms-skin=ivory]{--s-bg:#f6f6f6;--s-bg2:#ededed;--s-border:#dedede;--s-text:#191919;--s-muted:#646464;--s-accent:#1b1b1b;--s-accent2:#393939;--s-grad:linear-gradient(110deg,#323232,#131313);--s-grad-soft:linear-gradient(140deg,#f8f8f8,#ececec);--s-page:linear-gradient(155deg,#fff,#f6f6f6 60%,#ededed);--s-sider:linear-gradient(180deg,#fff,#f4f4f4);--s-card-grad:linear-gradient(145deg,#fff,#fafafa)}
html[data-bms-skin] .task-card,html[data-bms-skin] .strategy-card,html[data-bms-skin] .panel,html[data-bms-skin] .list-box{background:var(--s-card-grad)!important;color:var(--s-text)!important;border-color:var(--s-border)!important;--accent:var(--s-muted);--accent-bg:var(--s-surface2);border-radius:0!important}
.run-grid,.hall-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.run-block{padding:14px!important;min-width:0}.run-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}.run-field{display:flex;flex-direction:column;gap:5px;min-width:0}.run-field input{width:100%;min-width:0;height:34px}.run-field input[type=checkbox]{width:16px;height:16px;align-self:flex-start;margin:8px 0}.run-block p{font-size:12px;min-height:36px;margin:8px 0 12px}.defense-grid{grid-template-columns:1fr}.defense-grid .run-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
.bms-cycle-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.bms-cycle-editor label{display:flex;flex-direction:column;gap:5px;min-width:0}.bms-cycle-editor input{width:100%;min-width:0}.cycle-values,.cycle-note{grid-column:1/-1}.cycle-note{margin:0;font-size:12px}
.hall-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.hall-filters input{min-width:0;flex:1}.hall-card{padding:14px!important;min-width:0}.hall-card-head,.hall-card-foot,.hall-rate{display:flex;align-items:center;justify-content:space-between;gap:8px}.hall-card-head h2{font-size:16px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hall-rate{padding:10px 0;border-bottom:1px solid var(--s-border)}.hall-rate strong{font-size:20px;font-variant-numeric:tabular-nums}.hall-streaks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:10px 0}.hall-streaks span,.hall-streaks b{display:block;text-align:center}.hall-streaks span{font-size:11px}.hall-card-foot{border-top:1px solid var(--s-border);padding-top:10px;flex-wrap:wrap}.hall-card-foot a{color:var(--s-text);font-size:12px}
.admin-layout{grid-template-columns:1fr!important;gap:12px;margin-top:12px}.admin-nav{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;border-right:0;padding:0;border-bottom:1px solid var(--s-border);padding-bottom:12px}html[data-bms-skin] .admin-nav button{text-align:center;justify-content:center;height:36px;padding:6px;font-size:12px;border-color:var(--s-border)!important}.admin-status .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.admin-status .card{padding:10px!important}.admin-status b{font-size:20px}.admin-panel .card{padding:12px!important}.admin-panel .row{padding:8px 0!important;align-items:center!important;flex-direction:row!important}.admin-panel .row>div:first-child{min-width:0}.admin-panel .row .sub{font-size:11px}.admin-panel .row .stack{gap:5px}.admin-panel .row button{height:28px;padding:3px 8px;font-size:12px}.admin-panel .badge{padding:1px 5px;font-size:10px}.public-mode-control{display:flex;align-items:center;gap:8px;font-size:12px}.public-mode-control input{width:16px;height:16px;margin:0}
.bms-group-dialog{background:var(--s-surface);color:var(--s-text);border:1px solid var(--s-border-strong);border-radius:0;max-width:420px;width:calc(100% - 32px);padding:18px}.bms-group-dialog::backdrop{background:#0008}.bms-group-dialog h3{margin:0 0 16px;font-size:16px}.group-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.group-settings-grid label{display:flex;align-items:center;justify-content:space-between;padding:8px;border:1px solid var(--s-border);font-size:13px}.group-settings-grid input{width:16px;height:16px;margin:0}.group-settings-footer{display:flex;justify-content:space-between;margin-top:18px}.group-settings-footer button{font-size:12px;padding:6px 12px}
.bms-draw-strip{display:flex;align-items:center;justify-content:center;gap:20px;min-height:44px;padding:9px 16px;background:var(--s-surface);border-bottom:1px solid var(--s-border);color:var(--s-text);font-size:13px;font-variant-numeric:tabular-nums}.bms-draw-strip strong{font-weight:600}.bms-draw-strip .muted{color:var(--s-muted)}
@media(max-width:640px){.run-grid,.hall-grid{gap:8px}.run-block,.hall-card{padding:10px!important}.run-fields{grid-template-columns:1fr;gap:8px}.run-block h2{font-size:14px}.run-block p{min-height:52px;font-size:11px}.hall-card-head{align-items:flex-start;gap:5px}.hall-card-head h2{font-size:13px}.hall-rate{gap:3px;flex-wrap:wrap}.hall-rate strong{font-size:18px}.hall-streaks{grid-template-columns:repeat(2,minmax(0,1fr))}.hall-filters select{flex:1}.hall-filters input{flex-basis:100%}.bms-tabbar button{padding:8px 9px!important;font-size:12px!important}.admin-panel .row{gap:6px}.bms-draw-strip{gap:10px;font-size:11px}}

html[data-bms-skin] .panel-body:has(>.bms-algo-prefs){max-width:none!important;width:100%!important}
html[data-bms-skin] .ant-menu-item-selected,html[data-bms-skin] .nav__item.active,html[data-bms-skin] .sidebar .active{background:var(--s-sel)!important;color:var(--s-text)!important}
html[data-bms-skin] .task-card .task-head,html[data-bms-skin] .task-card .task-body,html[data-bms-skin] .strategy-card .panel__head{background:var(--s-surface2)!important;color:var(--s-text)!important}
@media(max-width:640px){.run-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.run-field span{font-size:11px}.run-field input{font-size:11px;padding:5px;min-width:0}.run-block p{min-height:44px}.run-grid{align-items:stretch}}

/* Embedded pages follow the square panel geometry. */
iframe{border-radius:0!important}

/* Current draw is displayed in the header strip. */
.global-draw-fab{display:none!important}
.admin-nav button{border-radius:2px!important}
/* R9: compact hall and aligned user rows; cards keep square corners. */
.hall-grid{gap:8px}
html[data-bms-skin] .hall-card{padding:8px 10px!important}
.hall-card-head{gap:6px}.hall-card-head h2{font-size:14px;line-height:20px}.hall-card-head .badge{padding:1px 5px;font-size:10px;white-space:nowrap}
.hall-rate{padding:3px 0;min-height:26px;flex-wrap:nowrap;gap:4px}.hall-rate strong{font-size:16px;line-height:20px}.hall-rate .sub{font-size:11px;white-space:nowrap}
.hall-streaks{grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding:5px 0}.hall-streaks span{font-size:10px;line-height:15px;white-space:nowrap}.hall-streaks b{font-size:13px;line-height:16px;font-variant-numeric:tabular-nums}
.hall-card-foot{padding-top:4px;gap:3px;flex-wrap:nowrap}.hall-card-foot .sub{font-size:10px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hall-card-foot .sub:last-child{flex-shrink:0}
html[data-bms-skin] #toolbar .hall-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;padding:3px;margin:0;border:1px solid var(--s-border);border-radius:20px;background:var(--s-surface2);max-width:100%}
html[data-bms-skin] #toolbar .hall-tabs button{border:0!important;border-radius:16px!important;background:transparent!important;height:30px;padding:4px 10px!important;transition:background-color .16s,color .16s}
html[data-bms-skin] #toolbar .hall-tabs button.active{background:var(--s-surface)!important;color:var(--s-text)!important;box-shadow:0 1px 3px #0001!important}
.admin-panel .admin-user-row{display:grid!important;grid-template-columns:minmax(0,1fr) 94px;gap:12px!important;padding:9px 0!important}
.admin-user-info{min-width:0}.admin-user-head{display:flex;align-items:baseline;gap:8px;min-width:0}.admin-user-head .name{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-user-head>.sub{white-space:nowrap;flex-shrink:0}
.admin-user-login{display:flex;gap:6px;min-width:0;line-height:19px}.admin-user-login>span:first-child{white-space:nowrap;flex-shrink:0}.admin-user-login>span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-user-info>.stack{margin-top:2px}
.admin-panel .admin-user-row .admin-user-actions{display:grid;grid-template-columns:repeat(2,44px);gap:6px;align-items:center;justify-content:end;width:94px;flex-wrap:nowrap}
html[data-bms-skin] .admin-user-actions button{width:44px!important;min-width:44px;height:28px!important;padding:0!important;margin:0!important;display:inline-flex;align-items:center;justify-content:center;line-height:1;border-radius:4px!important}
@media(max-width:640px){html[data-bms-skin] .hall-card{padding:7px 8px!important}.hall-card-head h2{font-size:12px}.hall-rate strong{font-size:15px}.hall-rate .sub{font-size:10px}.hall-streaks span{font-size:9px}.hall-card-foot .sub{font-size:9px}.admin-panel .admin-user-row{gap:8px!important}.admin-user-head{gap:5px}.admin-user-head .name{font-size:14px}.admin-user-head>.sub{font-size:10px}}
/* R10: configure defense on demand; keep report groups outside betting lists. */
.bms-defense-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;padding:12px!important}
.bms-defense-summary h3{margin:0;font-size:14px}.bms-defense-summary p{margin:4px 0 0;font-size:12px}
.bms-defense-summary button{height:30px;padding:4px 16px;white-space:nowrap}
.bms-config-dialog{width:min(760px,calc(100% - 24px));max-height:85dvh;padding:14px;border:1px solid var(--s-border-strong);background:var(--s-surface);color:var(--s-text);overflow:auto}
.bms-config-dialog::backdrop{background:#0008}.bms-config-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.bms-config-head h3{margin:0;font-size:16px}.bms-config-head button{height:30px;padding:4px 12px}.bms-config-dialog iframe{display:block;width:100%;border:0}
.bms-target-usages h3{font-size:13px;margin:8px 0}.bms-report-groups{margin-top:18px;padding-top:12px;border-top:1px solid var(--s-border)}.bms-report-groups h3::after{content:" · 不参与投注";font-size:11px;font-weight:400;color:var(--s-muted)}
.bms-replay-choice{padding:16px}.bms-replay-choice h2{font-size:16px;margin:0 0 10px}.bms-replay-options{display:flex;flex-wrap:wrap;gap:8px}.bms-replay-options button{height:34px;min-width:70px;padding:5px 14px;border-radius:4px!important}.bms-replay-options button.active{font-weight:600;background:var(--s-surface2)!important}

/* Keep the preferences radio selections readable in both neutral themes. */
html[data-bms-skin] .bms-algo-prefs .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled){background:var(--s-accent)!important;color:var(--s-accent-ink)!important;border-color:var(--s-border-strong)!important}
html[data-bms-skin] .bms-algo-prefs .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled) span{color:inherit!important}

/* R13: compact, aligned task-owned play settings. */
.bms-task-play{border-top:1px solid var(--bms-line);padding-top:12px;margin:12px 0}
.bms-task-play h4{margin:12px 0 6px;font-size:14px}
.bms-task-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.bms-task-field{display:flex;flex-direction:column;gap:5px;min-width:0}
.bms-task-field input{width:100%;height:34px;padding:5px 9px;background:transparent;color:inherit;border:1px solid currentColor;border-radius:4px}
.bms-task-choices{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.bms-task-choice{display:flex;align-items:center;gap:6px;padding:5px 0}
.bms-task-choice input{width:15px;height:15px;accent-color:var(--bms-text)}
.bms-chase-start{margin-top:8px;padding:6px 12px;min-height:32px;color:inherit;background:transparent;border:1px solid currentColor;border-radius:4px}
.card__fav{display:none!important}
.bms-format-panel{padding:14px}.bms-format-panel>button{margin-top:16px}
@media(max-width:600px){.bms-task-fields{gap:8px}.bms-task-play .muted{font-size:12px}}

html[data-bms-skin] .ant-modal:has(.bms-task-play) .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled){background:var(--s-accent)!important;color:var(--s-accent-ink)!important;border-color:var(--s-border-strong)!important}
html[data-bms-skin] .ant-modal:has(.bms-task-play) .ant-radio-button-wrapper-checked span{color:inherit!important}

/* R14 compact control form */
.bms-control-fields{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px 16px!important}.bms-control-fields label{min-width:0!important;margin:0!important}.bms-control-fields input:not([type=checkbox]){width:100%!important;min-width:0!important;height:36px!important}.bms-control-fields input[type=checkbox]{width:16px!important;height:16px!important;margin:8px 0!important}.bms-control-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:16px}.bms-control-head h2{font-size:15px}.bms-control-head button{height:32px;padding:4px 10px;white-space:nowrap}
