/** WEB30.1.57_SETTINGS_SAVE_LOAD_AUDIT_FIX | Created: 2026-05-21 | Last Modified: 2026-05-21 */
:root{--sidebarW:256px;--sidebarCollapsedW:58px;--headerH:54px;--footerH:28px;--fontScale:.88;--controlScale:.88;--cardPad:11px;--gap:8px;--textGap:4px;--navPadY:7px;--navPadX:9px;--tablePadY:6px;--tablePadX:8px;--radius:12px;--bg:#071016;--bg2:#0b151d;--panel:#101d27;--panel2:#14232f;--control:#09131b;--input:#09131b;--selectBg:#0b1720;--selectText:#edf5ff;--text:#edf5ff;--muted:#9eafbd;--line:#2a3a47;--controlLine:#394b58;--accent:#2388ff;--accent2:#00c2c7;--good:#22c55e;--warn:#f59e0b;--bad:#ef4444;--dirty:#ff4d4d;--shadow:0 18px 50px rgba(0,0,0,.35)}
.theme-light{--bg:#f5f8fb;--bg2:#ffffff;--panel:#ffffff;--panel2:#edf3f8;--control:#ffffff;--input:#ffffff;--selectBg:#ffffff;--selectText:#0c1720;--text:#0c1720;--muted:#52616e;--line:#d5dde5;--controlLine:#bcc8d4;--shadow:0 16px 36px rgba(15,23,42,.12)}
.accent-cyan{--accent:#00c2c7;--accent2:#29e0a9}.accent-green{--accent:var(--good);--accent2:#14b8a6}.accent-amber{--accent:var(--warn);--accent2:#f97316}.accent-violet{--accent:#8b5cf6;--accent2:#06b6d4}.accent-red{--accent:var(--bad);--accent2:#f97316}.accent-slate{--accent:#64748b;--accent2:#94a3b8}
.font-xs{--fontScale:.78}.font-small{--fontScale:.84}.font-normal{--fontScale:.92}.font-large{--fontScale:1}.font-xlarge{--fontScale:1.1}
.control-xs{--controlScale:.76}.control-small{--controlScale:.84}.control-normal{--controlScale:.92}.control-large{--controlScale:1.02}
.card-xcompact{--cardPad:7px}.card-compact{--cardPad:10px}.card-standard{--cardPad:14px}.card-comfort{--cardPad:18px}.card-spacious{--cardPad:23px}
.gap-tight{--gap:5px}.gap-compact{--gap:8px}.gap-standard{--gap:12px}.gap-comfort{--gap:16px}.gap-spacious{--gap:22px}
.text-tight{--textGap:1px}.text-compact{--textGap:3px}.text-standard{--textGap:5px}.text-comfort{--textGap:8px}.text-spacious{--textGap:12px}
.nav-xcompact{--navPadY:4px;--navPadX:6px}.nav-compact{--navPadY:6px;--navPadX:8px}.nav-standard{--navPadY:8px;--navPadX:10px}.nav-comfort{--navPadY:10px;--navPadX:12px}
.table-xcompact{--tablePadY:3px;--tablePadX:6px}.table-compact{--tablePadY:5px;--tablePadX:8px}.table-standard{--tablePadY:7px;--tablePadX:10px}.table-comfort{--tablePadY:10px;--tablePadX:12px}
.radius-small{--radius:8px}.radius-medium{--radius:12px}.radius-large{--radius:18px}
*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--bg);color:var(--text);font-family:Segoe UI,Roboto,Arial,sans-serif;font-size:calc(14px * var(--fontScale));overflow:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.mobile-only{display:none!important}.muted{opacity:.7}.danger-text{color:var(--bad)!important}.ok-text{color:var(--good)!important}
.login-screen{min-height:100vh;display:grid;place-items:center;padding:20px}.glass-card{background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.025)),var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px}.login-card{width:min(410px,100%);padding:24px}.brand-row,.sidebar-head,.header-status,.page-title-block,.footer-bar,.user-mini,.status-line,.chip-row{display:flex;align-items:center}.brand-row{gap:13px}.brand-mark{width:44px;height:44px;border-radius:13px;background:linear-gradient(135deg,var(--accent),var(--accent2));display:grid;place-items:center;font-weight:900;color:white;box-shadow:0 0 26px color-mix(in srgb,var(--accent) 38%,transparent)}.brand-mark.small{width:30px;height:30px;border-radius:9px}.brand-row h1{font-size:21px;margin:0}.brand-row p{margin:3px 0 0;color:var(--muted)}.login-form{display:grid;gap:12px;margin-top:20px}.login-form label{display:grid;gap:6px;color:var(--muted)}
input,select,textarea{background:var(--control);color:var(--text);border:1px solid var(--controlLine);border-radius:8px;padding:calc(7px * var(--controlScale)) calc(10px * var(--controlScale));outline:none;min-height:calc(32px * var(--controlScale))}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.primary-btn,.panel-btn,.ghost-btn,.danger-btn{border:1px solid color-mix(in srgb,var(--accent) 58%,var(--line));background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 70%,#000));color:#fff;border-radius:9px;padding:calc(7px * var(--controlScale)) calc(12px * var(--controlScale));font-weight:700;min-height:calc(32px * var(--controlScale))}.ghost-btn{background:var(--panel2);color:var(--text);border-color:var(--line)}.danger-btn{background:linear-gradient(135deg,#ba1c1c,#7f1d1d);border-color:var(--bad)}.form-message{min-height:18px;color:var(--bad)}.login-status{margin-top:16px;color:var(--muted)}.dot{width:9px;height:9px;border-radius:50%;display:inline-block;background:var(--warn);box-shadow:0 0 10px currentColor}.dot.ok{background:var(--good)}.dot.bad{background:var(--bad)}
/* WEB30.1.12 global form-control contrast fix: native select/listbox/option must never inherit unreadable OS colors. */
select,
option,
optgroup,
input[list],
.form-grid select,
.setting-row select,
.settings-select select {
  background-color: var(--selectBg, var(--control)) !important;
  color: var(--selectText, var(--text)) !important;
  border-color: var(--controlLine, var(--line)) !important;
  color-scheme: dark;
}
.theme-light select,
.theme-light option,
.theme-light optgroup,
.theme-light input[list],
.theme-light .form-grid select,
.theme-light .setting-row select,
.theme-light .settings-select select {
  color-scheme: light;
}
select option:checked,
select option:hover,
select option:focus {
  background: color-mix(in srgb, var(--accent) 34%, var(--selectBg, var(--control))) !important;
  color: var(--selectText, var(--text)) !important;
}
select:disabled,
option:disabled,
input:disabled,
textarea:disabled,
button:disabled {
  opacity: .55;
  color: color-mix(in srgb, var(--selectText, var(--text)) 62%, var(--muted)) !important;
  background-color: color-mix(in srgb, var(--selectBg, var(--control)) 86%, var(--panel2)) !important;
}
input::placeholder,
textarea::placeholder {
  color: color-mix(in srgb, var(--text) 46%, var(--muted));
  opacity: 1;
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--text) !important;
  box-shadow: 0 0 0 1000px var(--control) inset !important;
  caret-color: var(--text);
}

.app-shell{display:grid;grid-template-columns:var(--sidebarW) 1fr;height:100vh}.app-shell.sidebar-collapsed{grid-template-columns:var(--sidebarCollapsedW) 1fr}.sidebar{background:linear-gradient(180deg,rgba(255,255,255,.035),transparent),var(--bg2);border-right:1px solid var(--line);display:flex;flex-direction:column;min-width:0;transition:grid-template-columns .2s,width .2s}.sidebar-head{gap:8px;height:var(--headerH);padding:7px 10px;border-bottom:1px solid var(--line);overflow:hidden}.brand-text{display:grid;min-width:0}.brand-text strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-text span{color:var(--muted);font-size:11px}.icon-btn{background:transparent;color:var(--text);border:1px solid var(--line);border-radius:9px;padding:7px 9px}.sidebar-head .icon-btn{margin-left:0}.sidebar-head .global-search-toggle{margin-left:auto}.sidebar-head .shell-vis-btn{margin-left:2px}.sidebar-size-grip{height:3px;margin:0 12px;background:linear-gradient(90deg,transparent,var(--line),transparent);opacity:.7}.nav-list{padding:7px;overflow:auto;min-height:0;scrollbar-gutter:stable}.nav-item,.nav-sub button{width:100%;display:flex;align-items:center;gap:9px;text-align:left;color:var(--text);background:transparent;border:1px solid transparent;border-radius:9px;padding:var(--navPadY) var(--navPadX);margin-bottom:3px;min-height:31px}.nav-ico{font-size:18px;width:24px;text-align:center;opacity:.96;filter:drop-shadow(0 0 5px color-mix(in srgb,var(--accent) 35%,transparent))}.nav-item b{font-size:.96em}.nav-item.active,.nav-item:hover,.nav-sub button:hover{background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 28%,transparent),transparent);border-color:color-mix(in srgb,var(--accent) 56%,var(--line));color:var(--text)}.nav-item .chev{margin-left:auto;transition:.16s;color:var(--muted);font-weight:900}.nav-group{position:relative;margin:3px 0 6px}.nav-group.open{background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 10%,transparent),transparent);border:1px solid color-mix(in srgb,var(--accent) 38%,var(--line));border-radius:12px;padding:3px}.nav-group.open>.group-toggle{background:color-mix(in srgb,var(--accent) 15%,transparent);border-color:color-mix(in srgb,var(--accent) 48%,var(--line));margin-bottom:3px}.nav-group.open>.group-toggle .chev{transform:rotate(90deg);color:var(--accent)}.nav-sub{display:none;margin:2px 0 4px 28px;padding:4px 0 4px 10px;border-left:2px solid color-mix(in srgb,var(--accent) 68%,var(--line));background:color-mix(in srgb,var(--panel2) 70%,transparent);border-radius:0 10px 10px 0}.nav-sub.open{display:block}.nav-sub button{font-size:.9em;color:var(--muted);padding:5px 8px;margin-bottom:2px;position:relative}.nav-sub button:before{content:'›';color:var(--accent);font-weight:900;margin-right:2px}.nav-sub button.active{color:var(--text);background:color-mix(in srgb,var(--accent) 24%,transparent);border-color:color-mix(in srgb,var(--accent) 46%,var(--line))}.sidebar-foot{margin-top:auto;padding:9px 10px;border-top:1px solid var(--line);display:grid;gap:7px;overflow:hidden}.avatar,.avatar-btn{background:linear-gradient(135deg,var(--accent2),var(--accent));color:#fff;border:0;border-radius:50%;font-weight:800;display:grid;place-items:center}.avatar{width:31px;height:31px}.avatar-btn{width:30px;height:30px}.user-mini{gap:9px}.user-mini small{display:block;color:var(--muted)}.status-line{gap:7px;color:var(--muted)}.app-shell.sidebar-collapsed .sidebar{width:var(--sidebarCollapsedW)}.app-shell.sidebar-collapsed .brand-text,.app-shell.sidebar-collapsed .nav-item b,.app-shell.sidebar-collapsed .nav-item .chev,.app-shell.sidebar-collapsed .nav-sub,.app-shell.sidebar-collapsed .sidebar-foot{display:none}.app-shell.sidebar-collapsed .sidebar-head{justify-content:center;padding:7px 4px}.app-shell.sidebar-collapsed .sidebar-head .icon-btn{display:grid;padding:6px}.app-shell.sidebar-collapsed .nav-item{justify-content:center;padding:8px 4px}.app-shell.sidebar-collapsed .nav-ico{width:auto}
.main-shell{min-width:0;min-height:0;display:grid;grid-template-rows:var(--headerH) minmax(0,1fr) var(--footerH);transition:.2s}.main-shell.header-hidden{grid-template-rows:0 minmax(0,1fr) var(--footerH)}.main-shell.footer-hidden{grid-template-rows:var(--headerH) minmax(0,1fr) 0}.main-shell.header-hidden.footer-hidden{grid-template-rows:0 minmax(0,1fr) 0}.top-header{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01)),var(--bg2);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr minmax(0,1px) auto;gap:8px;align-items:center;padding:0 12px;min-height:0;overflow:hidden}.page-title-block{gap:8px}.page-title-block h2{margin:0;font-size:19px}.page-title-block p{margin:var(--textGap) 0 0;color:var(--muted);font-size:11px}.search-box{width:100%}.compact-header-spacer{min-width:0;width:1px;overflow:hidden}.header-status{gap:6px}.status-pill,.mini-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 7px;border:1px solid var(--line);background:var(--panel);border-radius:999px;color:var(--muted);white-space:nowrap;min-height:22px}.clock-block{text-align:right;min-width:92px}.clock-block b{font-variant-numeric:tabular-nums}.clock-block small{display:block;color:var(--muted);font-variant-numeric:tabular-nums}.user-menu{position:relative}.floating-menu{position:absolute;right:0;top:42px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:7px;display:none;z-index:20}.floating-menu.open{display:grid}.floating-menu button{background:transparent;color:var(--text);border:0;padding:8px 38px 8px 10px;text-align:left;border-radius:8px}.floating-menu button:hover{background:var(--panel2)}
.content{overflow:auto;min-height:0;padding:var(--gap);background:linear-gradient(145deg,rgba(255,255,255,.02),transparent),var(--bg);scrollbar-gutter:stable}.grid{display:grid;gap:var(--gap)}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015)),var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 24px rgba(0,0,0,.12);min-width:0}.panel.pad{padding:var(--cardPad)}.panel h3{margin:0 0 calc(var(--textGap) + 4px);font-size:14px}.panel h4{margin:8px 0 5px}.panel p{color:var(--muted);margin:var(--textGap) 0;line-height:1.32}.metric-card{display:grid;gap:var(--textGap);padding:var(--cardPad)}.metric-card .value{font-size:21px;font-weight:800}.metric-card .label{color:var(--muted)}.table-wrap{max-height:clamp(210px,42vh,430px);overflow:auto;border:1px solid var(--line);border-radius:10px;scrollbar-gutter:stable}table{width:100%;border-collapse:collapse;font-size:calc(13px * var(--fontScale))}th,td{padding:var(--tablePadY) var(--tablePadX);border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{position:sticky;top:0;background:var(--panel2);z-index:1;color:var(--muted)}.toolbar{display:flex;gap:var(--gap);align-items:center;flex-wrap:wrap;margin-bottom:var(--gap)}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:var(--gap)}.tab{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:999px;padding:5px 9px}.tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap);align-items:start;padding-bottom:64px}.setting-row{display:grid;grid-template-columns:160px 1fr;gap:8px;align-items:center;margin:6px 0;position:relative}.setting-row>span:first-child{color:var(--muted)}.setting-row.dirty{outline:1.5px dashed var(--dirty);outline-offset:3px;border-radius:8px}.settings-actions{position:sticky;bottom:0;z-index:10;margin-top:var(--gap);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:var(--radius);padding:8px;display:flex;gap:8px;justify-content:flex-end;align-items:center}.dirty-pill{margin-right:auto;color:var(--dirty);display:none}.has-dirty .dirty-pill{display:inline}.seg{display:flex;flex-wrap:wrap;gap:5px}.seg button{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:8px;padding:5px 8px}.seg button.active{background:var(--accent);border-color:var(--accent);color:#fff}.palette-row{display:flex;gap:6px;flex-wrap:wrap}.palette-btn{width:34px;height:25px;border-radius:8px;border:2px solid var(--line);background:linear-gradient(135deg,var(--c1),var(--c2));position:relative}.palette-btn.active{border-color:var(--text);box-shadow:0 0 0 3px color-mix(in srgb,var(--c1) 32%,transparent)}.profile-list{display:grid;gap:6px}.profile-item{display:flex;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:10px;padding:7px;background:var(--panel2)}.profile-item.active{border-color:var(--accent)}.footer-bar{justify-content:space-between;padding:0 9px;background:var(--bg2);border-top:1px solid var(--line);font-size:11px;color:var(--muted);min-height:0;overflow:hidden}.footer-icons{display:flex;gap:5px;align-items:center;overflow:auto;min-width:0;scrollbar-width:thin}.footer-right{display:flex;align-items:center;gap:6px;white-space:nowrap}.separator{width:1px;height:16px;background:var(--line)}.scroll-card{max-height:clamp(210px,45vh,470px);overflow:auto;scrollbar-gutter:stable}.identity-list{display:grid;grid-template-columns:180px 1fr;gap:6px 10px}.identity-list dt{color:var(--muted)}.identity-list dd{margin:0}.file-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.file-row input[type=file]{max-width:270px}.mobile-open-backdrop{display:none}
[dir=rtl] .nav-sub{margin:2px 28px 4px 0;padding:4px 10px 4px 0;border-left:0;border-right:2px solid color-mix(in srgb,var(--accent) 68%,var(--line));border-radius:10px 0 0 10px}[dir=rtl] th,[dir=rtl] td,[dir=rtl] .nav-item,[dir=rtl] .nav-sub button{text-align:right}[dir=rtl] .nav-item .chev{margin-left:0;margin-right:auto}
@media(max-width:1100px){.grid.cols-4{grid-template-columns:repeat(2,1fr)}.grid.cols-3,.settings-grid{grid-template-columns:1fr}.top-header{grid-template-columns:1fr auto}.header-center{display:none}.setting-row{grid-template-columns:1fr}.identity-list{grid-template-columns:1fr}}
@media(max-width:760px){body{overflow:hidden}.mobile-only{display:inline-flex!important}.app-shell,.app-shell.sidebar-collapsed{grid-template-columns:1fr;height:100dvh}.sidebar{position:fixed;z-index:30;inset:0 auto 0 0;width:min(300px,86vw);transform:translateX(-105%);box-shadow:var(--shadow)}.sidebar.open{transform:none}.top-header{padding:0 10px;grid-template-columns:1fr}.header-status{display:none}.grid.cols-4,.grid.cols-3,.grid.cols-2{grid-template-columns:1fr}.content{padding:8px}.footer-bar{font-size:11px}.page-title-block h2{font-size:18px}.mobile-open-backdrop.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:25}}

/* WEB30.1.6 layout/profile/icon polish */
:root{--custom1:#00c2c7;--custom2:#29e0a9}
.accent-graphite{--accent:#475569;--accent2:#06b6d4}.accent-emerald{--accent:#10b981;--accent2:#84cc16}.font-xxs{--fontScale:.70}.font-xs{--fontScale:.76}.font-small{--fontScale:.82}.font-large{--fontScale:1.02}.font-xlarge{--fontScale:1.14}.font-xxl{--fontScale:1.26}
.control-xxs{--controlScale:.66}.control-xs{--controlScale:.74}.control-small{--controlScale:.82}.control-large{--controlScale:1.04}.control-xlarge{--controlScale:1.16}
.card-micro{--cardPad:5px}.card-wide{--cardPad:30px}.gap-micro{--gap:3px}.gap-wide{--gap:30px}.text-micro{--textGap:0}.text-wide{--textGap:16px}.nav-micro{--navPadY:2px;--navPadX:5px}.nav-wide{--navPadY:14px;--navPadX:16px}.table-micro{--tablePadY:2px;--tablePadX:4px}.table-wide{--tablePadY:14px;--tablePadX:16px}
.palette-btn[title="Custom"]{background:conic-gradient(from 0deg,#00c2c7,#8b5cf6,var(--warn),var(--good),#00c2c7)}.custom-palette{display:none;gap:8px;margin-top:7px;flex-wrap:wrap}.custom-palette.open{display:flex}.custom-palette label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.9em}.custom-palette input[type=color]{width:42px;height:28px;min-height:28px;padding:2px;border-radius:8px}
.slider-setting{align-items:start}.slider-box{display:grid;gap:5px}.slider-box input[type=range]{width:100%;accent-color:var(--accent);padding:0;min-height:20px}.slider-box output{color:var(--text);font-weight:700}.slider-scale{display:flex;justify-content:space-between;gap:4px;color:var(--muted);font-size:10px;overflow:hidden}.slider-scale i{font-style:normal;white-space:nowrap}
.ui-settings-layout{grid-template-columns:minmax(320px,1fr) minmax(320px,1fr)}.settings-actions{bottom:0;box-shadow:0 -10px 30px rgba(0,0,0,.25)}.seg button.active,.palette-btn.active{transform:translateY(-1px)}
.profile-item{display:grid;grid-template-columns:1fr auto;align-items:center}.profile-main{display:grid;gap:2px}.profile-main small{color:var(--muted)}.profile-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.profile-actions button{padding:5px 8px;min-height:26px}
.nav-group{border:1px solid color-mix(in srgb,var(--line) 65%,transparent);border-radius:12px;padding:2px;background:linear-gradient(90deg,rgba(255,255,255,.025),transparent)}.nav-group>.group-toggle{font-weight:800}.nav-group>.group-toggle:after{content:'Accordion';font-size:10px;color:var(--muted);margin-inline-start:auto;border:1px solid var(--line);border-radius:999px;padding:1px 6px}.nav-group>.group-toggle .chev{font-size:18px;border:1px solid var(--line);border-radius:6px;min-width:22px;text-align:center;margin-left:6px}.nav-group.open>.group-toggle:after{color:var(--accent)}.nav-sub{margin-top:4px}.nav-sub button{border-left:3px solid color-mix(in srgb,var(--accent) 35%,transparent);padding-left:10px}.nav-sub button.active{border-left-color:var(--accent)}
.iconpack-modern .nav-ico{color:var(--accent);text-shadow:0 0 12px color-mix(in srgb,var(--accent) 45%,transparent);font-weight:900}.iconpack-simple .nav-ico{filter:none;color:var(--text)}.iconpack-fancy .nav-ico{color:var(--accent2);text-shadow:0 0 14px color-mix(in srgb,var(--accent2) 55%,transparent)}.iconpack-animated .nav-item:hover .nav-ico{animation:iconPulse .75s ease-in-out infinite alternate}@keyframes iconPulse{from{transform:scale(1);filter:drop-shadow(0 0 2px var(--accent))}to{transform:scale(1.16) rotate(-4deg);filter:drop-shadow(0 0 10px var(--accent2))}}
.app-shell.sidebar-collapsed .nav-group{border-color:transparent;background:transparent;padding:0}.app-shell.sidebar-collapsed .nav-group>.group-toggle:after{display:none}.app-shell.sidebar-collapsed .nav-group>.group-toggle .chev{display:none}.app-shell.sidebar-collapsed .sidebar-head .brand-mark{display:grid}.app-shell.sidebar-collapsed .sidebar-head{gap:0}.app-shell.sidebar-collapsed .sidebar-head .icon-btn{position:absolute;bottom:8px;left:10px;right:10px}.app-shell.sidebar-collapsed .nav-list{padding-top:8px;padding-bottom:46px}.main-shell.header-hidden .top-header,.main-shell.footer-hidden .footer-bar{visibility:hidden;pointer-events:none}
@media(max-width:1100px){.ui-settings-layout{grid-template-columns:1fr}.profile-item{grid-template-columns:1fr}.profile-actions{justify-content:flex-start}.slider-scale{display:none}}

/* WEB30.1.6 shell/settings/icon/mobile polish */
.nav-group>.group-toggle:after{content:none!important;display:none!important}
.bg-industrial-grid{--bgPattern:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);--bgSize:26px 26px;--bgBlend:normal}.bg-carbon{--bgPattern:linear-gradient(45deg,rgba(255,255,255,.035) 25%,transparent 25% 75%,rgba(255,255,255,.035) 75%),linear-gradient(45deg,rgba(255,255,255,.025) 25%,transparent 25% 75%,rgba(255,255,255,.025) 75%);--bgSize:20px 20px;--bgBlend:normal}.bg-blueprint{--bg:#061525;--bg2:#082033;--panel:#0b2638;--panel2:#103148;--bgPattern:radial-gradient(circle at 1px 1px,rgba(0,194,199,.28) 1px,transparent 0);--bgSize:18px 18px}.bg-graphite-waves{--bgPattern:radial-gradient(ellipse at top left,rgba(0,194,199,.14),transparent 45%),radial-gradient(ellipse at bottom right,rgba(139,92,246,.14),transparent 45%);--bgSize:100% 100%}.bg-midnight-glow{--bg:#050910;--bg2:#07111d;--panel:#0d1825;--panel2:#101f30;--bgPattern:radial-gradient(circle at 75% 20%,rgba(35,136,255,.22),transparent 30%),radial-gradient(circle at 20% 80%,rgba(0,194,199,.16),transparent 28%);--bgSize:100% 100%}.bg-light-lab.theme-light{--bg:#f2f6f8;--bg2:#ffffff;--panel:#ffffff;--panel2:#eaf1f6;--bgPattern:linear-gradient(rgba(15,23,42,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(15,23,42,.035) 1px,transparent 1px);--bgSize:30px 30px}.bg-steel-lines{--bgPattern:repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 1px,transparent 1px 12px);--bgSize:100% 100%}.bg-warm-control{--accent:var(--warn);--accent2:var(--good);--bg:#120f0a;--bg2:#1a1510;--panel:#201a13;--panel2:#2a2117;--bgPattern:radial-gradient(circle at 30% 20%,rgba(245,158,11,.14),transparent 32%),linear-gradient(90deg,rgba(255,255,255,.025),transparent);--bgSize:100% 100%}
body{background-color:var(--bg);background-image:var(--bgPattern,none);background-size:var(--bgSize,auto)}.content{background-color:var(--bg);background-image:linear-gradient(145deg,rgba(255,255,255,.02),transparent),var(--bgPattern,none);background-size:auto,var(--bgSize,auto)}
.bg-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.bg-tile{border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--text);padding:6px;display:grid;gap:5px;text-align:center}.bg-tile i{display:block;height:28px;border-radius:8px;border:1px solid var(--line);background-color:var(--bg);background-image:var(--bgPattern,none);background-size:var(--bgSize,auto)}.bg-tile.active{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}.bg-tile b{font-size:10px;color:var(--muted)}
.icon-pack-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.icon-pack-card{border:1px solid var(--line);border-radius:11px;background:var(--panel2);color:var(--text);padding:8px;text-align:left;display:grid;gap:7px}.icon-pack-card.active{border-color:var(--accent);background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 18%,transparent),var(--panel2))}.icon-pack-card span{display:flex;flex-wrap:wrap;gap:5px}.icon-pack-card i{font-style:normal;min-width:22px;height:22px;display:grid;place-items:center;border:1px solid var(--line);border-radius:7px;background:var(--control);color:var(--accent)}
.settings-select select{width:100%}body.settings-select .seg{display:none}.setting-row select{width:100%}
.mobile-dense{--fontScale:.76;--controlScale:.76;--gap:5px;--cardPad:7px}.mobile-compact{--fontScale:.80;--controlScale:.80;--gap:6px;--cardPad:8px}.mobile-touch{--controlScale:1.06;--navPadY:10px;--navPadX:12px}
@media(max-width:760px){body.mobile-off .sidebar{position:relative;transform:none;width:auto;inset:auto;box-shadow:none}body.mobile-off .app-shell{grid-template-columns:var(--sidebarW) 1fr}body.mobile-compact .top-header,body.mobile-dense .top-header{min-height:42px}body.mobile-compact .page-title-block p,body.mobile-dense .page-title-block p{display:none}body.mobile-dense .footer-bar{font-size:10px}body.mobile-touch .nav-item,body.mobile-touch .nav-sub button{min-height:40px}.bg-grid,.icon-pack-grid{grid-template-columns:1fr 1fr}}


/* WEB30.1.6 footer/font/icon polish */
.nav-group>.group-toggle:after{content:''!important;display:none!important}
.footer-size-nano{--footerH:20px}.footer-size-slim{--footerH:25px}.footer-size-normal{--footerH:32px}.footer-size-tall{--footerH:42px}
.main-shell.footer-auto{grid-template-rows:var(--headerH) minmax(0,1fr) 8px}.main-shell.footer-auto:hover,.main-shell.footer-auto:focus-within{grid-template-rows:var(--headerH) minmax(0,1fr) var(--footerH)}
.main-shell.footer-auto .footer-bar{opacity:.32;transition:opacity .18s ease}.main-shell.footer-auto:hover .footer-bar,.main-shell.footer-auto:focus-within .footer-bar{opacity:1}
.footer-bar{min-height:var(--footerH);height:var(--footerH);display:flex!important;position:relative;z-index:4}.footer-density-tight .footer-bar{font-size:10px}.footer-density-compact .footer-bar{font-size:11px}.footer-density-comfort .footer-bar{font-size:12px;padding-inline:14px}.footer-color-muted .footer-bar{color:var(--muted);background:color-mix(in srgb,var(--bg2) 92%,#000)}.footer-color-accent .footer-bar{color:var(--text);border-top-color:var(--accent);background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 14%,var(--bg2)),var(--bg2))}.footer-color-high .footer-bar{color:var(--text);background:var(--panel);border-top-color:color-mix(in srgb,var(--accent) 55%,var(--line))}
.control-xxs{--controlScale:.68}.card-wide{--cardPad:28px}.gap-wide{--gap:28px}.nav-wide{--navPadY:13px;--navPadX:16px}.enfont-system{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}.enfont-segoe{font-family:"Segoe UI",Tahoma,Arial,sans-serif}.enfont-arial{font-family:Arial,Helvetica,sans-serif}.enfont-verdana{font-family:Verdana,Geneva,sans-serif}.enfont-trebuchet{font-family:"Trebuchet MS",Arial,sans-serif}.enfont-georgia{font-family:Georgia,"Times New Roman",serif}.enfont-times{font-family:"Times New Roman",Times,serif}.enfont-courier{font-family:"Courier New",monospace}
.enweight-bold{font-weight:600}.enweight-bolder{font-weight:750}.enitalic-on{font-style:italic}.enshadow-soft .panel h3,.enshadow-soft .nav-item b,.enshadow-soft .metric-card .value{text-shadow:0 1px 8px color-mix(in srgb,var(--accent) 22%,transparent)}.enshadow-strong .panel h3,.enshadow-strong .nav-item b,.enshadow-strong .metric-card .value{text-shadow:0 0 12px color-mix(in srgb,var(--accent) 42%,transparent)}
.enborder-underline .panel h3{border-bottom:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));padding-bottom:4px}.enborder-boxed .panel h3{display:inline-block;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:8px;padding:2px 7px;background:color-mix(in srgb,var(--accent) 10%,transparent)}.enborder-label .setting-row>span:first-child,.enborder-label .metric-card .label{border:1px solid var(--line);border-radius:999px;padding:1px 6px;background:var(--panel2)}.enfx-low{--textFx:.65}.enfx-medium{--textFx:1}.enfx-high{--textFx:1.45}
.disabled-card{opacity:.46;filter:grayscale(.35);position:relative}.disabled-card :is(button,input,select){cursor:not-allowed}.disabled-note{border:1px dashed var(--line);border-radius:8px;padding:6px;color:var(--muted);background:var(--panel2);margin-bottom:8px}
.icon-pack-card small{color:var(--muted);font-size:10px}.iconpack-industrial .nav-ico{color:#d4e8f7;text-shadow:0 0 10px color-mix(in srgb,var(--accent) 38%,transparent)}.iconpack-compact .nav-ico{font-size:12px;font-weight:900;border:1px solid var(--line);border-radius:6px;background:var(--control);padding:2px;color:var(--accent)}


/* WEB30.1.7 footer/shell visibility polish */
.main-shell{position:relative}.footer-size-large{--footerH:52px}.footer-font-tiny .footer-bar{font-size:9px}.footer-font-small .footer-bar{font-size:10px}.footer-font-normal .footer-bar{font-size:12px}.footer-font-large .footer-bar{font-size:14px}.footer-font-xl .footer-bar{font-size:16px}.footer-gap-tight .footer-bar{gap:4px}.footer-gap-compact .footer-bar{gap:7px}.footer-gap-standard .footer-bar{gap:10px}.footer-gap-wide .footer-bar{gap:16px}.footer-gap-tight .footer-icons,.footer-gap-tight .footer-right{gap:4px}.footer-gap-compact .footer-icons,.footer-gap-compact .footer-right{gap:7px}.footer-gap-standard .footer-icons,.footer-gap-standard .footer-right{gap:10px}.footer-gap-wide .footer-icons,.footer-gap-wide .footer-right{gap:16px}.footer-density-wide .footer-bar{padding-inline:18px;letter-spacing:.02em}.footer-color-warning .footer-bar{color:#fff7ed;border-top-color:var(--warn);background:linear-gradient(90deg,color-mix(in srgb,var(--warn) 20%,var(--bg2)),var(--bg2))}
.main-shell.footer-hidden,.main-shell.footer-auto{grid-template-rows:var(--headerH) minmax(0,1fr) 0}.main-shell.header-hidden.footer-hidden,.main-shell.header-hidden.footer-auto{grid-template-rows:0 minmax(0,1fr) 0}.main-shell.footer-hidden.footer-revealed,.main-shell.footer-auto.footer-revealed{grid-template-rows:var(--headerH) minmax(0,1fr) var(--footerH)}.main-shell.header-hidden.footer-hidden.footer-revealed,.main-shell.header-hidden.footer-auto.footer-revealed{grid-template-rows:0 minmax(0,1fr) var(--footerH)}.main-shell.footer-hidden .footer-bar,.main-shell.footer-auto .footer-bar{visibility:hidden;opacity:0;pointer-events:none;transform:translateY(100%);transition:opacity .18s ease,transform .18s ease}.main-shell.footer-hidden.footer-revealed .footer-bar,.main-shell.footer-auto.footer-revealed .footer-bar{visibility:visible!important;opacity:1!important;pointer-events:auto;transform:translateY(0)}
.footer-handle{position:absolute;left:50%;bottom:0;transform:translateX(-50%);z-index:8;display:none;border:1px solid color-mix(in srgb,var(--accent) 68%,var(--line));background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 22%,var(--panel)),var(--panel2));color:var(--text);box-shadow:0 -2px 16px color-mix(in srgb,var(--accent) 20%,transparent);cursor:pointer}.main-shell.footer-hidden .footer-handle,.main-shell.footer-auto .footer-handle{display:grid;place-items:center}.main-shell.footer-revealed .footer-handle{bottom:var(--footerH)}.footer-handle-center_bump .footer-handle{width:78px;height:18px;border-radius:16px 16px 0 0}.footer-handle-thin_bar .footer-handle{width:148px;height:8px;border-radius:8px 8px 0 0;font-size:0}.footer-handle-tab .footer-handle{width:58px;height:24px;border-radius:12px 12px 0 0;font-size:12px}.footer-handle:hover{filter:brightness(1.25)}
.shell-quick-controls{display:flex;align-items:center;gap:5px}.shell-vis-btn{border:1px solid color-mix(in srgb,var(--accent) 62%,var(--line));background:radial-gradient(circle at 35% 25%,rgba(255,255,255,.22),transparent 28%),linear-gradient(135deg,color-mix(in srgb,var(--accent) 42%,var(--panel2)),var(--panel2));color:var(--text);border-radius:999px;min-width:31px;height:27px;padding:0 7px;font-size:11px;font-weight:850;box-shadow:0 0 12px color-mix(in srgb,var(--accent) 22%,transparent);display:inline-grid;place-items:center}.shell-toggle-pill .shell-vis-btn{border-radius:8px}.shell-toggle-plain .shell-vis-btn{background:var(--panel2);box-shadow:none}.shell-toggle-size-small .shell-vis-btn{min-width:25px;height:23px;font-size:10px}.shell-toggle-size-large .shell-vis-btn{min-width:38px;height:32px;font-size:12px}.shell-toggle-blink-on .shell-vis-btn{animation:shellBlink 1.8s ease-in-out infinite}@keyframes shellBlink{0%,100%{box-shadow:0 0 5px color-mix(in srgb,var(--accent) 16%,transparent)}50%{box-shadow:0 0 17px color-mix(in srgb,var(--accent) 42%,transparent)}}.sidebar-head .shell-vis-btn{min-width:34px}.app-shell.sidebar-collapsed .sidebar-head .shell-vis-btn{left:8px;right:8px;width:auto}.main-shell.header-hidden .top-header{visibility:hidden;pointer-events:none}.main-shell.header-hidden .shell-quick-controls{position:absolute;right:10px;top:8px;z-index:9;visibility:visible;pointer-events:auto}
@media(max-width:760px){.shell-quick-controls{position:fixed;right:8px;top:8px;z-index:30;background:color-mix(in srgb,var(--bg2) 82%,transparent);border:1px solid var(--line);border-radius:999px;padding:3px}.footer-handle-center_bump .footer-handle{width:92px;height:22px}}

/* WEB30.1.12 multi-user RBAC/profile polish */
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--gap);align-items:end}.form-grid label,.full-label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:.82rem}.form-grid input,.form-grid select,.full-label input{width:100%;background:var(--input);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);padding:8px 10px;outline:none}.form-grid input:focus,.form-grid select:focus,.full-label input:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 22%,transparent)}.role-badge{display:inline-flex;align-items:center;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));background:color-mix(in srgb,var(--accent) 12%,transparent);border-radius:999px;padding:3px 8px;font-weight:700}.role-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--gap)}.role-card{border:1px solid var(--line);background:var(--panel2);border-radius:var(--radius);padding:10px}.role-card small{display:block;color:var(--muted);margin-top:2px}.role-card p{max-height:56px;overflow:auto;margin:.45rem 0 0;color:var(--muted)}.toolbar{gap:8px;flex-wrap:wrap}.table-wrap td small{color:var(--muted)}

/* WEB30.1.12 user management/RBAC polish */
.user-admin-panel{overflow:auto}.user-card-list{display:grid;gap:8px}.user-row-card{display:grid;grid-template-columns:auto minmax(180px,1fr) auto auto auto auto;align-items:center;gap:10px;border:1px solid var(--line);background:linear-gradient(135deg,color-mix(in srgb,var(--panel2) 88%,transparent),color-mix(in srgb,var(--bg2) 72%,transparent));border-radius:var(--radius);padding:9px}.user-row-card:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 16%,transparent)}.user-avatar,.avatar,.profile-avatar,.avatar-btn{display:inline-grid;place-items:center;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 55%,var(--line));background:radial-gradient(circle at 35% 20%,color-mix(in srgb,var(--accent) 45%,transparent),transparent 38%),var(--panel2);color:var(--text);font-weight:900;letter-spacing:.03em}.user-avatar,.avatar{width:34px;height:34px;border-radius:50%;font-size:12px}.profile-avatar{width:76px;height:76px;border-radius:18px;font-size:22px}.avatar-btn img,.user-avatar img,.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-hero{display:flex;align-items:center;gap:14px;margin-bottom:12px}.user-main{display:flex;flex-direction:column;gap:2px;min-width:0}.user-main small,.user-main span{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-chip{border:1px solid var(--line);border-radius:999px;padding:3px 8px;font-weight:800;font-size:11px}.status-chip.ok{color:var(--good);border-color:color-mix(in srgb,var(--good) 45%,var(--line));background:color-mix(in srgb,var(--good) 10%,transparent)}.status-chip.bad{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 45%,var(--line));background:color-mix(in srgb,var(--bad) 10%,transparent)}.access-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:var(--gap)}.access-user-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel2);padding:10px;min-height:240px}.access-user-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;margin-bottom:8px}.access-user-head small{display:block;color:var(--muted)}.access-matrix{border:1px solid var(--line);border-radius:calc(var(--radius) - 2px);overflow:hidden}.access-row{display:grid;grid-template-columns:1fr 48px 48px;align-items:center;min-height:29px;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);font-size:.82rem}.access-row:last-child{border-bottom:0}.access-row span{padding:0 8px}.access-row label,.access-row b{display:grid;place-items:center;height:100%;border-left:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.access-row-head{background:color-mix(in srgb,var(--accent) 10%,var(--panel));color:var(--muted);font-weight:800}.access-row input{accent-color:var(--accent);width:16px;height:16px}.mini-code{max-height:90px;overflow:auto;background:var(--input);border:1px solid var(--line);border-radius:var(--radius);padding:8px;color:var(--muted)}.avatar-btn img{border-radius:50%}@media(max-width:820px){.user-row-card{grid-template-columns:auto 1fr auto}.user-row-card .role-badge,.user-row-card .status-chip{grid-column:2}.user-row-card button{grid-column:auto}.access-card-grid{grid-template-columns:1fr}}


/* WEB30.1.12 user-menu visibility and user-management usability fix */
.top-header{overflow:visible;position:relative;z-index:30}.header-status{position:relative;z-index:32}.user-menu{position:relative;z-index:80}.floating-menu{min-width:178px;z-index:9999;top:38px;right:0}.floating-menu.open{display:grid;animation:menuPop .12s ease-out}.floating-menu button{white-space:nowrap}.avatar-btn{cursor:pointer;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent),0 0 12px color-mix(in srgb,var(--accent) 20%,transparent)}@keyframes menuPop{from{opacity:.3;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}
.user-tabs{position:sticky;top:0;z-index:9;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);padding:6px 0;margin:var(--gap) 0}.user-management-layout{display:grid;grid-template-columns:minmax(360px,1.15fr) minmax(320px,.85fr);gap:var(--gap);align-items:start}.user-editor-card{position:sticky;top:52px;max-height:calc(100vh - 150px);overflow:auto}.compact-user-card{grid-template-columns:auto minmax(170px,1fr) auto auto auto auto;cursor:pointer}.compact-user-card .ghost-btn,.compact-user-card .danger-btn{padding:6px 9px}.user-form-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.sticky-actions{position:sticky;bottom:0;display:flex;gap:8px;align-items:center;padding:8px 0 0;margin-top:8px;background:linear-gradient(180deg,transparent,var(--panel) 30%);border-top:1px solid var(--line);z-index:5}.profile-summary-card{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start}.kv-list{display:grid;grid-template-columns:auto 1fr;gap:5px 12px;margin-top:10px;font-size:.9em}.kv-list span{color:var(--muted)}.kv-list b{font-weight:750}.user-pane{min-height:320px}.role-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.access-card-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}@media(max-width:1050px){.user-management-layout{grid-template-columns:1fr}.user-editor-card{position:relative;top:auto;max-height:none}}@media(max-width:760px){.compact-user-card{grid-template-columns:auto 1fr}.compact-user-card .role-badge,.compact-user-card .status-chip{grid-column:2}.compact-user-card button{grid-column:auto}.floating-menu{position:fixed;right:10px;top:54px}}

/* WEB30.1.12 database/development tabs */
.dev-subtabs{position:sticky;top:0;z-index:12;display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:0 0 var(--gap) 0;padding:6px;background:color-mix(in srgb,var(--bg) 88%,transparent);border:1px solid var(--line);border-radius:var(--radius);backdrop-filter:blur(10px)}
.dev-subtabs .tab{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:999px;padding:6px 11px;font-weight:800;min-height:30px}
.dev-subtabs .tab.active,.dev-subtabs .tab:hover{border-color:color-mix(in srgb,var(--accent) 62%,var(--line));background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 28%,transparent),color-mix(in srgb,var(--accent2) 14%,transparent));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 14%,transparent)}

/* WEB30.1.16 user/profile DB stage */
.profile-db-card{display:flex;align-items:center;justify-content:space-between;gap:var(--gap-sm);padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.035);margin-bottom:8px}
.profile-db-card.active{border-style:dashed;border-color:var(--accent);box-shadow:0 0 0 1px rgba(0,194,199,.18) inset}
.profile-db-card .profile-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.profile-list{max-height:430px;overflow:auto;padding-right:4px}
@media (max-width:760px){.profile-db-card{align-items:flex-start;flex-direction:column}.profile-db-card .profile-actions{justify-content:flex-start}}


/* WEB30.1.16 user list dynamic refresh + shell-safe management polish */
.user-row-card.selected{border-color:color-mix(in srgb,var(--accent) 72%,var(--line));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 24%,transparent),0 10px 22px rgba(0,0,0,.18)}
.user-management-layout{min-height:0}.user-admin-panel{max-height:calc(100vh - 190px);overflow:auto;scrollbar-gutter:stable}.user-pane{min-height:0;padding-bottom:52px}.user-editor-card .sticky-actions{bottom:0}.content>.user-pane,.content .user-management-layout{overflow:visible}
@media(max-width:1050px){.user-admin-panel{max-height:none}.user-pane{padding-bottom:76px}}


/* WEB30.1.17 sidebar scroll + switch-user + required field polish */
.login-screen.switching{position:fixed;inset:0;z-index:10000;min-height:100dvh;background:rgba(3,8,12,.72);backdrop-filter:blur(10px)}
.login-screen.switching .login-card{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));box-shadow:0 22px 70px rgba(0,0,0,.55)}
.login-action-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.login-action-row .primary-btn,.login-action-row .ghost-btn{flex:1 1 140px}
.sidebar{height:100vh;min-height:0;overflow:hidden}.sidebar-head{flex:0 0 var(--headerH)}.nav-list{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}.sidebar-foot{flex:0 0 auto;max-height:116px}.nav-list::-webkit-scrollbar,.user-admin-panel::-webkit-scrollbar,.user-editor-card::-webkit-scrollbar{width:9px}.nav-list::-webkit-scrollbar-thumb,.user-admin-panel::-webkit-scrollbar-thumb,.user-editor-card::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:999px}.required-field input,.required-field select,.required-field textarea{border-color:color-mix(in srgb,var(--bad) 70%,var(--controlLine));box-shadow:0 0 0 1px color-mix(in srgb,var(--bad) 14%,transparent) inset}.required-field .field-tag{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 55%,var(--line));background:color-mix(in srgb,var(--bad) 12%,transparent)}.optional-field input,.optional-field select,.optional-field textarea{border-style:dashed}.field-tag{float:right;margin-left:6px;border:1px solid var(--line);border-radius:999px;padding:1px 6px;font-size:10px;font-weight:800;color:var(--muted)}.field-error{display:none;color:var(--bad);font-size:11px;margin-top:3px}.field-invalid .field-error{display:block}.field-invalid input,.field-invalid select{border-color:var(--bad)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--bad) 20%,transparent)!important}.password-confirm-note{border:1px dashed color-mix(in srgb,var(--warn) 60%,var(--line));background:color-mix(in srgb,var(--warn) 10%,transparent);border-radius:var(--radius);padding:7px 9px;color:var(--muted);margin:6px 0}


/* WEB30.1.18 users/profile/access readability hardening */
input,select,textarea{background:var(--input)!important;color:var(--text)!important;border-color:var(--controlLine)!important}
select option{background:var(--panel)!important;color:var(--text)!important}
.theme-light input,.theme-light select,.theme-light textarea{background:#ffffff!important;color:#102033!important;border-color:#b9c6d6!important}
.theme-light select option{background:#ffffff!important;color:#102033!important}
.profile-panel input,.profile-panel select,.user-editor-card input,.user-editor-card select,.access-user-card input{min-height:34px}
.profile-db-card small,.profile-summary-card .kv-list span{color:var(--muted)}
.user-pane{overflow:visible}.scroll-card{max-height:calc(100vh - 160px);overflow:auto;scrollbar-gutter:stable}
@media(max-width:1050px){.scroll-card{max-height:none}}

/* WEB30.1.19 DB UI profile slots polish */
.profile-item.db-default{border-style:dashed;border-color:color-mix(in srgb,var(--accent) 76%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent) inset}
.profile-item .profile-actions .ghost-btn,.profile-item .profile-actions .danger-btn{white-space:nowrap}
.theme-light .profile-item,.theme-light .profile-db-card{background:#fff;color:#102033;border-color:#c8d3df}
.theme-light .profile-item small,.theme-light .profile-db-card small{color:#526173}

/* WEB30.1.20 access/log polish */
.log-filter-bar{display:grid;grid-template-columns:160px minmax(220px,1fr) 120px auto;gap:10px;align-items:end;margin:10px 0 14px}.log-filter-bar label{display:flex;flex-direction:column;gap:5px;font-size:.84rem;color:var(--muted)}.log-level-pill{display:inline-flex;min-width:58px;justify-content:center;border:1px solid var(--line);border-radius:999px;padding:2px 7px;background:color-mix(in srgb,var(--panel) 78%,var(--accent));color:var(--text)}.log-level-warning .log-level-pill{border-color:#b88a2c}.log-level-error .log-level-pill,.log-level-failed .log-level-pill{border-color:#b64a4a}.log-table-wrap td:last-child{min-width:260px}.access-preview{border:1px dashed color-mix(in srgb,var(--accent) 55%,var(--line));border-radius:12px;padding:8px 10px;margin:8px 0;background:color-mix(in srgb,var(--panel) 82%,var(--accent))}.access-preview b{display:block;margin-bottom:3px}.access-preview small{display:block;color:var(--muted);line-height:1.45}.access-row span small{display:block;color:var(--muted);font-weight:400;margin-top:2px}.access-row input{accent-color:var(--accent)}.theme-light .access-preview{background:#f7fbff;color:#102033}.theme-light .log-filter-bar input,.theme-light .log-filter-bar select{background:#fff!important;color:#102033!important;border-color:#c8d3df!important}@media(max-width:780px){.log-filter-bar{grid-template-columns:1fr}.log-table-wrap td:last-child{min-width:180px}}

/* WEB30.1.22 access/session/audit hardening */
.access-denied-card{max-width:720px;margin:0 auto;border-color:color-mix(in srgb,var(--bad) 45%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--bad) 10%,var(--panel)),var(--panel2))}.access-warning-box{display:grid;grid-template-columns:140px 1fr;gap:7px 12px;margin:12px 0;padding:12px;border:1px solid color-mix(in srgb,var(--warn) 45%,var(--line));border-radius:var(--radius);background:color-mix(in srgb,var(--panel) 82%,var(--warn));color:var(--text)}.access-warning-box b{color:var(--muted)}.access-warning-box span{min-width:0;overflow-wrap:anywhere}.theme-light .access-denied-card{background:#fff7f7;color:#102033}.theme-light .access-warning-box{background:#fffaf0;color:#102033;border-color:#e3b45f}

/* WEB30.1.24 global loading feedback system */
.global-loading-toast{position:fixed;right:18px;bottom:calc(var(--footerH,42px) + 18px);z-index:9000;display:flex;align-items:center;gap:10px;min-width:220px;max-width:min(420px,calc(100vw - 36px));padding:10px 13px;border:1px solid color-mix(in srgb,var(--accent) 42%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--panel) 88%,#000);color:var(--text);box-shadow:0 18px 45px rgba(0,0,0,.38);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .16s ease,transform .16s ease}
.global-loading-toast.active{opacity:1;transform:translateY(0)}
.global-loading-overlay{position:fixed;inset:0;z-index:8990;display:grid;place-items:center;background:rgba(2,8,14,.46);backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .16s ease}
.global-loading-overlay.active{opacity:1;pointer-events:auto}
.global-loading-card{display:grid;justify-items:center;gap:8px;min-width:240px;max-width:min(360px,calc(100vw - 40px));padding:20px;border:1px solid color-mix(in srgb,var(--accent) 48%,var(--line));border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--panel) 90%,var(--accent)),var(--panel2));color:var(--text);box-shadow:0 24px 80px rgba(0,0,0,.5);text-align:center}.global-loading-card small{color:var(--muted)}
.global-loading-footer{position:fixed;left:0;right:0;bottom:0;height:4px;z-index:9100;background:transparent;opacity:0;pointer-events:none;transition:opacity .12s ease}.global-loading-footer.active{opacity:1}.global-loading-footer span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--accent2));box-shadow:0 0 18px color-mix(in srgb,var(--accent) 70%,transparent);transition:width .18s ease}
.loading-spinner{width:18px;height:18px;border-radius:50%;border:2px solid color-mix(in srgb,var(--accent) 18%,var(--line));border-top-color:var(--accent);display:inline-block;animation:webbaseSpin .75s linear infinite;flex:0 0 auto}.loading-spinner.large{width:38px;height:38px;border-width:3px}.loading-spinner.small{width:16px;height:16px;border-width:2px}@keyframes webbaseSpin{to{transform:rotate(360deg)}}
.loading-settings-card .loading-preview-box{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:8px;margin-top:10px;padding:10px;border:1px dashed color-mix(in srgb,var(--accent) 50%,var(--line));border-radius:var(--radius);background:color-mix(in srgb,var(--panel) 84%,var(--accent))}.loading-preview-box small{color:var(--muted)}
.theme-light .global-loading-toast,.theme-light .global-loading-card{background:#ffffff;color:#102033;border-color:#b9c6d6;box-shadow:0 16px 42px rgba(38,58,88,.22)}.theme-light .global-loading-overlay{background:rgba(235,242,249,.56)}.theme-light .loading-settings-card .loading-preview-box{background:#f7fbff;color:#102033;border-color:#b9c6d6}
@media(max-width:760px){.global-loading-toast{left:12px;right:12px;bottom:calc(var(--footerH,42px) + 12px)}.loading-settings-card .loading-preview-box{grid-template-columns:auto 1fr}.loading-preview-box .ghost-btn{grid-column:1/-1}}


/* WEB30.1.24 shell toggle layer: fixed top-level handles for header/sidebar/footer. */
.shell-toggle-layer{
  position:fixed;
  inset:0;
  z-index:9500;
  pointer-events:none;
}
.shell-edge-handle{
  position:fixed;
  pointer-events:auto;
  display:grid;
  place-items:center;
  border:1px solid color-mix(in srgb,var(--accent) 68%,var(--line));
  background:radial-gradient(circle at 38% 20%,rgba(255,255,255,.25),transparent 30%),linear-gradient(180deg,color-mix(in srgb,var(--accent) 24%,var(--panel)),var(--panel2));
  color:var(--text);
  font-weight:900;
  font-size:12px;
  line-height:1;
  box-shadow:0 0 18px color-mix(in srgb,var(--accent) 26%,transparent),0 10px 25px rgba(0,0,0,.28);
  cursor:pointer;
  user-select:none;
  opacity:.96;
  transition:left .18s ease,bottom .18s ease,top .18s ease,filter .14s ease,opacity .14s ease,transform .18s ease;
}
.shell-edge-handle:hover{filter:brightness(1.22);opacity:1}
.header-handle{
  top:0;
  left:50%;
  width:78px;
  height:18px;
  transform:translateX(-50%);
  border-radius:0 0 16px 16px;
  box-shadow:0 2px 16px color-mix(in srgb,var(--accent) 22%,transparent),0 10px 25px rgba(0,0,0,.25);
}
.footer-handle{
  left:50%;
  bottom:0;
  width:78px;
  height:18px;
  transform:translateX(-50%);
  border-radius:16px 16px 0 0;
}
.main-shell.footer-revealed .footer-handle,
.shell-toggle-layer.footer-revealed .footer-handle{
  bottom:var(--footerH);
}
.sidebar-handle{
  top:50%;
  left:calc(var(--sidebarW) - 10px);
  width:20px;
  height:76px;
  transform:translateY(-50%);
  border-radius:0 16px 16px 0;
  writing-mode:horizontal-tb;
}
.app-shell.sidebar-collapsed .sidebar-handle{left:calc(var(--sidebarCollapsedW) - 10px)}
.shell-toggle-size-small .shell-edge-handle{font-size:10px}.shell-toggle-size-small .header-handle,.shell-toggle-size-small .footer-handle{width:64px;height:15px}.shell-toggle-size-small .sidebar-handle{width:17px;height:62px}
.shell-toggle-size-large .shell-edge-handle{font-size:13px}.shell-toggle-size-large .header-handle,.shell-toggle-size-large .footer-handle{width:92px;height:22px}.shell-toggle-size-large .sidebar-handle{width:24px;height:88px}
.shell-toggle-pill .shell-edge-handle{border-radius:999px}.shell-toggle-pill .header-handle{top:6px}.shell-toggle-pill .footer-handle{bottom:6px}.shell-toggle-pill .sidebar-handle{left:calc(var(--sidebarW) + 6px)}.app-shell.sidebar-collapsed.shell-toggle-pill .sidebar-handle{left:calc(var(--sidebarCollapsedW) + 6px)}
.shell-toggle-plain .shell-edge-handle{background:var(--panel2);box-shadow:0 8px 22px rgba(0,0,0,.22)}
.shell-toggle-blink-on .shell-edge-handle{animation:shellBlink 1.8s ease-in-out infinite}
.main-shell>.footer-handle{display:none!important}
@media(max-width:760px){
  .header-handle,.footer-handle{width:92px;height:22px}
  .sidebar-handle{left:0;width:22px;height:70px;border-radius:0 16px 16px 0}
  .app-shell.sidebar-collapsed .sidebar-handle{left:0}
}


/* WEB30.1.27 shell toggle layer hardening: one fixed top layer above cards, sticky actions, loading and overlays. */
:root{--z-content-sticky:1000;--z-loading-overlay:8990;--z-loading-toast:9000;--z-loading-footer:9100;--z-shell-toggle:9900;--z-switch-login:10000}
.settings-actions,.sticky-actions{z-index:var(--z-content-sticky)}
.global-loading-overlay{z-index:var(--z-loading-overlay)}
.global-loading-toast{z-index:var(--z-loading-toast)}
.global-loading-footer{z-index:var(--z-loading-footer)}
.login-screen.switching{z-index:var(--z-switch-login)}
.shell-toggle-layer{z-index:var(--z-shell-toggle)!important;isolation:isolate;contain:layout style;pointer-events:none}
.shell-toggle-layer .shell-edge-handle{position:fixed!important;z-index:calc(var(--z-shell-toggle) + 1)!important;pointer-events:auto!important;touch-action:manipulation;min-width:18px;min-height:18px}
.shell-toggle-layer .header-handle{top:max(0px,env(safe-area-inset-top));left:50%;transform:translateX(-50%)}
.shell-toggle-layer .footer-handle{left:50%;bottom:max(0px,env(safe-area-inset-bottom));transform:translateX(-50%)}
.shell-toggle-layer.footer-revealed .footer-handle,.main-shell.footer-revealed .shell-toggle-layer .footer-handle{bottom:calc(var(--footerH) + env(safe-area-inset-bottom))}
.shell-toggle-pill .shell-toggle-layer.footer-revealed .footer-handle,.shell-toggle-pill .main-shell.footer-revealed .shell-toggle-layer .footer-handle{bottom:calc(var(--footerH) + 6px + env(safe-area-inset-bottom))}
.shell-toggle-pill .app-shell.sidebar-collapsed .shell-toggle-layer .sidebar-handle{left:calc(var(--sidebarCollapsedW) + 6px)}
.app-shell.sidebar-collapsed .shell-toggle-layer .sidebar-handle{left:calc(var(--sidebarCollapsedW) - 10px)}
.app-shell:not(.sidebar-collapsed) .shell-toggle-layer .sidebar-handle{left:calc(var(--sidebarW) - 10px)}
.shell-toggle-pill .app-shell:not(.sidebar-collapsed) .shell-toggle-layer .sidebar-handle{left:calc(var(--sidebarW) + 6px)}
.theme-light .shell-toggle-layer .shell-edge-handle{background:linear-gradient(180deg,#ffffff,#eaf1f6);color:#102033;border-color:color-mix(in srgb,var(--accent) 62%,#b9c6d6);box-shadow:0 8px 24px rgba(38,58,88,.24),0 0 0 1px rgba(255,255,255,.5) inset}
.shell-toggle-layer .shell-edge-handle:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 48%,transparent);outline-offset:3px}
.shell-toggle-layer .shell-edge-handle[aria-pressed="true"]{border-color:color-mix(in srgb,var(--warn) 68%,var(--accent));box-shadow:0 0 18px color-mix(in srgb,var(--warn) 32%,transparent),0 10px 25px rgba(0,0,0,.28)}
body:not([data-auth="1"]) .shell-toggle-layer{display:none!important}
@media(max-width:760px){.shell-toggle-layer .header-handle{top:max(4px,env(safe-area-inset-top))}.shell-toggle-layer .footer-handle{bottom:max(4px,env(safe-area-inset-bottom))}.shell-toggle-layer.footer-revealed .footer-handle{bottom:calc(var(--footerH) + 4px + env(safe-area-inset-bottom))}.app-shell:not(.sidebar-collapsed) .shell-toggle-layer .sidebar-handle,.app-shell.sidebar-collapsed .shell-toggle-layer .sidebar-handle,.shell-toggle-pill .app-shell:not(.sidebar-collapsed) .shell-toggle-layer .sidebar-handle,.shell-toggle-pill .app-shell.sidebar-collapsed .shell-toggle-layer .sidebar-handle{left:max(0px,env(safe-area-inset-left))}}

/* WEB30.1.27 foundation guardrails: visible page failure without breaking shell navigation. */
.app-error-card,.access-denied-card{max-width:860px;margin:0 auto}
.app-error-card .access-warning-box span{overflow-wrap:anywhere}
.runtime-safe-note{color:var(--muted);font-size:.82rem}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}


/* WEB30.1.27 foundation UI polish: compact, sorted settings cards with reduced dead space. */
.foundation-settings-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:var(--gap);align-items:start;padding-bottom:68px}.foundation-settings-card{display:block;width:100%;margin:0;break-inside:avoid;page-break-inside:avoid;vertical-align:top}.foundation-settings-card h3{display:flex;align-items:center;gap:7px;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid color-mix(in srgb,var(--line) 76%,transparent)}.foundation-settings-card h3:before{content:attr(data-step);display:none}.foundation-settings-card p{margin:0 0 8px}.foundation-settings-card .setting-row{margin:4px 0;grid-template-columns:minmax(132px,34%) minmax(0,1fr);gap:6px 8px}.foundation-settings-card .setting-row>span:first-child{font-size:.86em}.foundation-settings-card .seg{gap:4px}.foundation-settings-card .seg button{padding:4px 7px;min-height:27px}.foundation-settings-card input,.foundation-settings-card select{min-height:29px}.foundation-settings-card .palette-row{gap:5px}.foundation-settings-card .palette-btn{width:30px;height:22px}.foundation-settings-card .profile-list{max-height:360px}.foundation-sidebar-card .icon-pack-grid{grid-template-columns:repeat(auto-fit,minmax(122px,1fr));gap:6px}.foundation-sidebar-card .icon-pack-card{padding:7px}.foundation-sidebar-card .icon-pack-card span{max-height:46px;overflow:hidden}.foundation-loading-card .loading-preview-box{margin-top:7px;padding:8px}.foundation-protected-card{border-color:color-mix(in srgb,var(--bad) 34%,var(--line))}.settings-actions{z-index:var(--z-content-sticky);box-shadow:0 -10px 28px rgba(0,0,0,.18)}
.theme-light .foundation-settings-card h3{border-bottom-color:#d8e2ec}.theme-light .foundation-protected-card{border-color:#e7b7b7}
@media(max-width:1100px){.foundation-settings-layout{grid-template-columns:1fr;padding-bottom:76px}.foundation-settings-card{display:block}.foundation-settings-card .setting-row{grid-template-columns:minmax(120px,32%) 1fr}}
@media(max-width:620px){.foundation-settings-card .setting-row{grid-template-columns:1fr}.foundation-settings-card .setting-row>span:first-child{margin-bottom:-2px}.foundation-settings-card .seg button{flex:1 1 auto}.settings-actions{justify-content:stretch}.settings-actions button{flex:1 1 auto}.dirty-pill{width:100%;margin-right:0}}


/* WEB30.1.28 foundation settings navigator: searchable, filterable foundation cards. */
/* WEB30.1.30: dock Settings navigator directly under the shell header and keep its chips on one row. */
.content:has(.foundation-settings-navigator){padding:0 var(--gap) var(--gap)}
.foundation-settings-navigator{margin:0 calc(var(--gap) * -1) var(--gap);position:sticky;top:0;z-index:calc(var(--z-content-sticky) - 1);border-radius:0 0 var(--radius) var(--radius);border-top:0;background:color-mix(in srgb,var(--panel) 96%,transparent);backdrop-filter:blur(10px);box-shadow:0 10px 24px rgba(0,0,0,.16)}
.main-shell.header-hidden .foundation-settings-navigator{top:0}.settings-nav-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.settings-nav-head>div{display:flex;align-items:baseline;gap:10px;min-width:0;flex-wrap:wrap}.settings-nav-head h3{margin:0;white-space:nowrap}.settings-nav-head p{margin:0;color:var(--muted);font-size:.88em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-search-row{margin:7px 0 6px}.settings-search-row input{width:100%}.settings-chip-row,.settings-jump-row{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;padding-bottom:2px}.settings-jump-row{margin-top:5px}.settings-filter-chip,.settings-jump-chip{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:999px;padding:5px 9px;min-height:28px;font-weight:700;white-space:nowrap;flex:0 0 auto}.settings-filter-chip.active,.settings-filter-chip:hover,.settings-jump-chip:hover{border-color:color-mix(in srgb,var(--accent) 62%,var(--line));background:color-mix(in srgb,var(--accent) 20%,var(--panel2))}.foundation-settings-card.filtered-out{display:none!important}.settings-filter-empty{margin-bottom:var(--gap);border-style:dashed;color:var(--muted)}.foundation-settings-card.jump-highlight{outline:3px solid color-mix(in srgb,var(--accent) 52%,transparent);outline-offset:2px;box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 18%,transparent),var(--shadow)}
@media(max-width:760px){.foundation-settings-navigator{position:sticky;top:0}.settings-nav-head{display:grid}.settings-nav-head>div{display:grid;gap:2px}.settings-nav-head p{white-space:normal}.settings-nav-head .ghost-btn{width:100%}}


/* WEB30.1.29 foundation card visual system: distinct card headers, configurable borders/depth/shadow/drag. */
.foundation-settings-card{--cardHeaderA:var(--accent);--cardHeaderB:var(--accent2);--cardHeaderText:#ffffff;position:relative;overflow:hidden;border-style:solid;transition:box-shadow .16s ease,transform .16s ease,border-color .16s ease}.foundation-card-head{margin:calc(var(--cardPad) * -1) calc(var(--cardPad) * -1) 9px;padding:9px 11px;border:1px solid color-mix(in srgb,var(--cardHeaderA) 55%,var(--line));border-radius:calc(var(--radius) - 2px) calc(var(--radius) - 2px) 10px 10px;background:linear-gradient(135deg,color-mix(in srgb,var(--cardHeaderA) 72%,var(--panel2)),color-mix(in srgb,var(--cardHeaderB) 54%,var(--panel)));color:var(--cardHeaderText);box-shadow:inset 0 -1px 0 rgba(255,255,255,.13),0 7px 18px color-mix(in srgb,var(--cardHeaderA) 18%,transparent)}.foundation-card-head h3{margin:0;padding:0;border:0;color:inherit;letter-spacing:.01em}.foundation-card-head small{display:block;margin-top:3px;color:color-mix(in srgb,var(--cardHeaderText) 78%,transparent);font-size:.76rem;line-height:1.25}.foundation-core-card{--cardHeaderA:#00c2c7;--cardHeaderB:#2563eb}.foundation-density-card{--cardHeaderA:var(--good);--cardHeaderB:#14b8a6}.foundation-card-style-card{--cardHeaderA:var(--warn);--cardHeaderB:var(--bad)}.foundation-sidebar-card{--cardHeaderA:#8b5cf6;--cardHeaderB:#06b6d4}.foundation-shell-card{--cardHeaderA:#64748b;--cardHeaderB:#0ea5e9}.foundation-footer-card{--cardHeaderA:#10b981;--cardHeaderB:#84cc16}.foundation-loading-card{--cardHeaderA:#f97316;--cardHeaderB:var(--warn)}.foundation-english-card{--cardHeaderA:#ec4899;--cardHeaderB:#8b5cf6}.foundation-profiles-card{--cardHeaderA:#38bdf8;--cardHeaderB:#6366f1}.foundation-protected-card{--cardHeaderA:var(--bad);--cardHeaderB:#7f1d1d}.card-head-accent .foundation-settings-card{--cardHeaderA:var(--accent);--cardHeaderB:var(--accent2)}.card-head-muted .foundation-settings-card{--cardHeaderA:var(--line);--cardHeaderB:var(--panel2);--cardHeaderText:var(--text)}.card-head-rainbow .foundation-settings-card:nth-of-type(6n+1){--cardHeaderA:#00c2c7;--cardHeaderB:#2563eb}.card-head-rainbow .foundation-settings-card:nth-of-type(6n+2){--cardHeaderA:var(--good);--cardHeaderB:#14b8a6}.card-head-rainbow .foundation-settings-card:nth-of-type(6n+3){--cardHeaderA:var(--warn);--cardHeaderB:var(--bad)}.card-head-rainbow .foundation-settings-card:nth-of-type(6n+4){--cardHeaderA:#8b5cf6;--cardHeaderB:#06b6d4}.card-head-rainbow .foundation-settings-card:nth-of-type(6n+5){--cardHeaderA:#ec4899;--cardHeaderB:#8b5cf6}.card-head-rainbow .foundation-settings-card:nth-of-type(6n){--cardHeaderA:#64748b;--cardHeaderB:#0ea5e9}.card-head-style-outline .foundation-card-head{background:color-mix(in srgb,var(--panel) 86%,var(--cardHeaderA));color:var(--text);border-width:2px;box-shadow:none}.card-head-style-outline .foundation-card-head small{color:var(--muted)}.card-head-style-flat .foundation-card-head{background:linear-gradient(90deg,color-mix(in srgb,var(--cardHeaderA) 22%,var(--panel2)),transparent);color:var(--text);border-width:0 0 0 5px;border-radius:0;margin-bottom:8px;box-shadow:none}.card-head-style-flat .foundation-card-head small{color:var(--muted)}.card-head-style-minimal .foundation-card-head{background:transparent;color:var(--text);border-width:0 0 2px 0;border-radius:0;box-shadow:none;padding-bottom:7px}.card-head-style-minimal .foundation-card-head small{color:var(--muted)}.card-border-dashed .foundation-settings-card{border-style:dashed}.card-border-dotted .foundation-settings-card{border-style:dotted}.card-border-glow .foundation-settings-card{border-color:color-mix(in srgb,var(--cardHeaderA) 58%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--cardHeaderA) 18%,transparent),0 14px 34px rgba(0,0,0,.22)}.card-border-none .foundation-settings-card{border-color:transparent}.card-depth-flat .foundation-settings-card{background:var(--panel);box-shadow:none}.card-depth-soft_3d .foundation-settings-card{background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 94%,#fff),color-mix(in srgb,var(--panel2) 92%,#000))}.card-depth-raised .foundation-settings-card{transform:translateY(-1px);background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 90%,#fff),var(--panel2));box-shadow:0 18px 44px rgba(0,0,0,.32)}.card-depth-inset .foundation-settings-card{background:linear-gradient(145deg,color-mix(in srgb,var(--panel2) 82%,#000),var(--panel));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line) 70%,transparent)}.card-shadow-off .foundation-settings-card{box-shadow:none!important}.card-shadow-soft .foundation-settings-card{box-shadow:0 8px 22px rgba(0,0,0,.18)}.card-shadow-on .foundation-settings-card{box-shadow:var(--shadow)}.card-drag-on .foundation-settings-card.drag-enabled{cursor:grab}.card-drag-on .foundation-settings-card.drag-enabled:active{cursor:grabbing}.foundation-settings-card.dragging{opacity:.55;outline:2px dashed color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:3px}.theme-light .foundation-card-head{--cardHeaderText:#ffffff}.theme-light .card-head-muted .foundation-settings-card{--cardHeaderText:#102033}.theme-light.card-head-style-outline .foundation-card-head,.theme-light.card-head-style-flat .foundation-card-head,.theme-light.card-head-style-minimal .foundation-card-head{color:#102033}


/* WEB30.1.31 settings navigator display modes: configurable search/group/jump rows and hidden magnifier mode. */
.foundation-nav-style-card{--cardHeaderA:#0ea5e9;--cardHeaderB:#8b5cf6}
.settings-nav-actions{display:flex;align-items:center;gap:7px;flex-wrap:nowrap}.settings-nav-lock{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;border:1px solid var(--line);border-radius:999px;padding:4px 8px;background:var(--panel2);color:var(--text);font-weight:700}.settings-nav-lock input{min-height:auto;width:15px;height:15px}.settings-search-row small{display:block;margin-top:4px;color:var(--muted);font-size:.78rem}.foundation-settings-navigator.mode-summary .settings-nav-head p{white-space:normal}.foundation-settings-navigator.mode-search .settings-nav-head,.foundation-settings-navigator.mode-groups .settings-nav-head{padding-bottom:4px}.settings-nav-trigger{position:fixed;left:calc(var(--sidebarW) + 8px);top:calc(var(--headerH) + 8px);z-index:calc(var(--z-shell-toggle) + 1);width:38px;height:38px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 70%,var(--line));background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-size:22px;font-weight:900;box-shadow:0 12px 30px rgba(0,0,0,.36);display:grid;place-items:center}.app-shell.sidebar-collapsed .settings-nav-trigger{left:calc(var(--sidebarCollapsedW) + 8px)}.main-shell.header-hidden .settings-nav-trigger{top:8px}.settings-nav-trigger-lock{position:fixed;left:calc(var(--sidebarW) + 50px);top:calc(var(--headerH) + 15px);z-index:calc(var(--z-shell-toggle) + 3);display:grid;place-items:center;width:24px;height:24px;border-radius:999px;border:1px solid var(--line);background:var(--panel);box-shadow:0 8px 18px rgba(0,0,0,.26)}.settings-nav-trigger-lock input{width:14px;height:14px;min-height:auto}.app-shell.sidebar-collapsed .settings-nav-trigger-lock{left:calc(var(--sidebarCollapsedW) + 50px)}.main-shell.header-hidden .settings-nav-trigger-lock{top:15px}.settings-nav-trigger.active{outline:3px solid color-mix(in srgb,var(--accent) 24%,transparent)}.foundation-settings-navigator.mode-hidden_icon{display:none;position:fixed;left:calc(var(--sidebarW) + 52px);top:calc(var(--headerH) + 8px);width:min(720px,calc(100vw - var(--sidebarW) - 68px));max-height:calc(100vh - var(--headerH) - 84px);overflow:auto;margin:0;border-radius:var(--radius);border-top:1px solid var(--line);z-index:calc(var(--z-shell-toggle) + 2)}.foundation-settings-navigator.mode-hidden_icon.is-open{display:block}.app-shell.sidebar-collapsed .foundation-settings-navigator.mode-hidden_icon{left:calc(var(--sidebarCollapsedW) + 52px);width:min(720px,calc(100vw - var(--sidebarCollapsedW) - 68px))}.main-shell.header-hidden .foundation-settings-navigator.mode-hidden_icon{top:8px;max-height:calc(100vh - 72px)}.foundation-settings-card.search-hit{outline:2px solid color-mix(in srgb,var(--accent) 72%,transparent);outline-offset:2px;box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 14%,transparent),var(--shadow)}
@media(max-width:760px){.settings-nav-trigger{left:8px;top:8px}.settings-nav-trigger-lock{left:50px;top:15px}.foundation-settings-navigator.mode-hidden_icon,.app-shell.sidebar-collapsed .foundation-settings-navigator.mode-hidden_icon{left:8px;right:8px;top:54px;width:auto;max-height:calc(100vh - 92px)}.settings-nav-actions{justify-content:space-between}.settings-nav-lock{flex:0 0 auto}}


/* WEB30.1.32 global search panel system: sidebar magnifier replaces permanent header search. */
.global-search-toggle{position:relative;min-width:34px;height:34px;display:grid;place-items:center;font-weight:900;border-color:color-mix(in srgb,var(--accent) 54%,var(--line));transition:transform .16s ease,background .16s ease,box-shadow .16s ease}.global-search-toggle:hover,.global-search-toggle.active{background:color-mix(in srgb,var(--accent) 22%,var(--panel2));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent);transform:translateY(-1px)}.app-shell.sidebar-collapsed .brand-text{display:none}.app-shell.sidebar-collapsed .global-search-toggle{margin-left:0}.global-search-panel{display:grid;gap:7px;margin:0 8px;max-height:0;opacity:0;overflow:hidden;transform:translateY(-8px);transition:max-height .22s ease,opacity .18s ease,transform .18s ease,border-color .18s ease;padding:0 8px;border:1px solid transparent;border-radius:var(--radius);background:color-mix(in srgb,var(--panel) 92%,#000);box-shadow:0 12px 28px rgba(0,0,0,.28);z-index:30}.global-search-panel.is-open{max-height:420px;opacity:1;transform:translateY(0);padding:8px;margin-top:7px;margin-bottom:7px;border-color:color-mix(in srgb,var(--accent) 38%,var(--line))}.global-search-panel.anim-fade{transform:none}.global-search-panel.anim-none{transition:none;transform:none}.global-search-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}.global-search-box input{width:100%;min-width:0}.global-search-box .icon-btn{min-width:32px;height:32px;padding:0;font-size:18px}.global-search-hint{font-size:.78rem;color:var(--muted);line-height:1.25}.global-search-results{display:grid;gap:5px;max-height:260px;overflow:auto;scrollbar-width:thin}.global-search-result{display:grid;gap:2px;text-align:left;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:10px;padding:7px 8px}.global-search-result:hover{border-color:color-mix(in srgb,var(--accent) 62%,var(--line));background:color-mix(in srgb,var(--accent) 16%,var(--panel2))}.global-search-result b{font-size:.92rem}.global-search-result span,.global-search-result small{color:var(--muted);font-size:.76rem;line-height:1.25}.global-search-results.compact-results .global-search-result{grid-template-columns:minmax(0,1fr) auto;align-items:center}.global-search-results.compact-results .global-search-result small{display:none}.global-search-empty{padding:8px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:.84rem}.foundation-global-search-card{--cardHeaderA:#06b6d4;--cardHeaderB:#1d4ed8}.sidebar .global-search-panel:focus-within{border-color:color-mix(in srgb,var(--accent) 70%,var(--line))}.app-shell.sidebar-collapsed .global-search-panel{position:absolute;left:66px;top:7px;width:min(430px,calc(100vw - 92px));margin:0;z-index:80}.app-shell.sidebar-collapsed .global-search-panel.is-open{padding:8px}.app-shell.sidebar-collapsed .sidebar{position:relative;overflow:visible}.app-shell.sidebar-collapsed .nav-list,.app-shell.sidebar-collapsed .sidebar-foot{overflow:hidden}.jump-highlight{outline:3px solid color-mix(in srgb,var(--accent) 52%,transparent);outline-offset:2px;box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 16%,transparent)!important}
@media(max-width:760px){.top-header{grid-template-columns:1fr auto}.compact-header-spacer{display:none}.global-search-panel{margin-left:8px;margin-right:8px}.app-shell.sidebar-collapsed .global-search-panel{left:8px;right:8px;top:56px;width:auto}}

/* WEB30.1.33 login splash and global-search polish */
.login-screen{position:relative;isolation:isolate;min-height:100dvh;background:radial-gradient(circle at 18% 18%,color-mix(in srgb,var(--accent) 20%,transparent),transparent 34%),radial-gradient(circle at 86% 8%,color-mix(in srgb,var(--accent2) 18%,transparent),transparent 30%),var(--bg);overflow:hidden}
.login-screen:before{content:'';position:absolute;inset:18px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:28px;background:linear-gradient(90deg,var(--bg2) 0 22%,transparent 22%),linear-gradient(180deg,color-mix(in srgb,var(--panel) 82%,transparent) 0 54px,transparent 54px),repeating-linear-gradient(0deg,transparent 0 31px,color-mix(in srgb,var(--accent) 8%,transparent) 32px),repeating-linear-gradient(90deg,transparent 0 47px,color-mix(in srgb,var(--accent2) 7%,transparent) 48px);filter:blur(7px);opacity:.72;transform:scale(1.025);z-index:-2}
.login-screen:after{content:'';position:absolute;inset:0;background:rgba(0,0,0,.36);backdrop-filter:blur(8px);z-index:-1}.theme-light .login-screen:after{background:rgba(245,248,251,.46)}
.login-card{position:relative;overflow:hidden}.login-card:before{content:'';position:absolute;inset:-2px;background:linear-gradient(110deg,transparent,color-mix(in srgb,var(--accent) 26%,transparent),transparent);transform:translateX(-120%);animation:loginScan 4.6s ease-in-out infinite;pointer-events:none}.login-card>*{position:relative}@keyframes loginScan{0%,45%{transform:translateX(-120%)}70%,100%{transform:translateX(120%)}}
.startup-splash{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;padding:22px;background:rgba(3,8,13,.78);backdrop-filter:blur(14px);opacity:0;pointer-events:none;transition:opacity .22s ease}.startup-splash.active{opacity:1;pointer-events:auto}.startup-splash-card{position:relative;width:min(620px,calc(100vw - 28px));border:1px solid color-mix(in srgb,var(--accent) 56%,var(--line));border-radius:24px;padding:20px;background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 92%,#000),color-mix(in srgb,var(--panel2) 85%,#000));box-shadow:0 30px 90px rgba(0,0,0,.58),0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent) inset;overflow:hidden}.startup-splash-card:before{content:'';position:absolute;inset:-40%;background:conic-gradient(from 0deg,transparent,color-mix(in srgb,var(--accent) 24%,transparent),transparent,color-mix(in srgb,var(--accent2) 18%,transparent),transparent);animation:startupSpin 7s linear infinite;opacity:.55}.startup-splash-card>*{position:relative}.startup-splash-head{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center}.startup-splash-head h2{margin:0;font-size:1.25rem}.startup-splash-head p{margin:3px 0 0;color:var(--muted)}#startupSplashPercent{font-size:1.4rem;color:var(--accent);text-shadow:0 0 16px color-mix(in srgb,var(--accent) 42%,transparent)}.startup-progress{height:12px;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line));border-radius:999px;margin:18px 0 12px;background:color-mix(in srgb,var(--control) 84%,#000);overflow:hidden}.startup-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--accent2));box-shadow:0 0 20px color-mix(in srgb,var(--accent) 55%,transparent);transition:width .24s ease}.startup-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.startup-step{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:6px 9px;background:color-mix(in srgb,var(--panel2) 82%,transparent);color:var(--muted);font-size:.82rem}.startup-step i{width:9px;height:9px;border-radius:50%;background:var(--line)}.startup-step.active{color:var(--text);border-color:color-mix(in srgb,var(--accent) 70%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent)}.startup-step.active i{background:var(--accent);box-shadow:0 0 12px var(--accent)}.startup-step.done i{background:var(--good)}.startup-step.warn{border-color:color-mix(in srgb,var(--warn) 78%,var(--line));color:var(--warn)}.startup-step.warn i{background:var(--warn)}.startup-splash-orbit{position:absolute;right:-90px;top:-90px;width:230px;height:230px;border-radius:50%;border:1px dashed color-mix(in srgb,var(--accent) 38%,transparent);animation:startupSpin 12s linear infinite;opacity:.55}.startup-splash-orbit span{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 18px var(--accent)}.startup-splash-orbit span:nth-child(1){left:48%;top:-6px}.startup-splash-orbit span:nth-child(2){right:15px;bottom:38px;background:var(--accent2)}.startup-splash-orbit span:nth-child(3){left:18px;bottom:52px;background:var(--warn)}.startup-splash.style-industrial .startup-splash-card:before{display:none}.startup-splash.style-minimal .startup-splash-card{box-shadow:var(--shadow);border-color:var(--line)}.startup-splash.style-minimal .startup-splash-card:before,.startup-splash.style-minimal .startup-splash-orbit{display:none}.startup-splash.progress-steps .startup-progress{display:none}.startup-splash.progress-spinner .startup-progress,.startup-splash.progress-spinner .startup-steps{display:none}.startup-splash.progress-spinner .startup-splash-head:after{content:'';width:32px;height:32px;border-radius:50%;border:3px solid color-mix(in srgb,var(--accent) 20%,var(--line));border-top-color:var(--accent);animation:spin .8s linear infinite}.startup-log-summary{position:fixed;right:18px;top:70px;z-index:10020;display:grid;gap:5px;width:min(460px,calc(100vw - 36px));padding:12px 36px 12px 13px;border:1px solid color-mix(in srgb,var(--accent) 48%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--panel) 92%,#000);color:var(--text);box-shadow:0 22px 60px rgba(0,0,0,.45);animation:startupToastIn .22s ease}.startup-log-summary b{color:var(--accent)}.startup-log-summary span{font-size:.8rem;color:var(--muted);line-height:1.35}.startup-log-close{position:absolute;right:8px;top:8px;width:24px;height:24px;border-radius:50%;border:1px solid var(--line);background:var(--panel2);color:var(--text)}.startup-preview-box{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;margin-top:10px;padding:9px;border:1px dashed color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--panel2) 66%,transparent)}.startup-preview-orb{width:18px;height:18px;border-radius:50%;background:var(--accent);box-shadow:0 0 18px var(--accent);animation:pulse 1.2s ease-in-out infinite}.foundation-login-splash-card{--cardHeaderA:#7c3aed;--cardHeaderB:#06b6d4}.global-search-toggle{min-width:38px;height:38px;font-size:24px;line-height:1}.global-search-panel{position:absolute;left:8px;right:8px;top:calc(var(--headerH) + 6px);margin:0;z-index:90}.global-search-panel.is-open{margin:0;padding:8px}.sidebar{position:relative}.nav-list{padding-top:10px}.app-shell.sidebar-collapsed .global-search-panel{left:66px;top:7px;right:auto}.theme-light .startup-splash-card,.theme-light .startup-log-summary{background:#ffffff;color:#102033}.theme-light .startup-step{background:#f4f8fc;color:#526173}@keyframes startupSpin{to{transform:rotate(360deg)}}@keyframes startupToastIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.global-search-panel{left:8px;right:8px;top:calc(var(--headerH) + 6px);width:auto}.startup-steps{grid-template-columns:1fr}.startup-splash-head{grid-template-columns:auto 1fr}.startup-splash-head #startupSplashPercent{grid-column:1 / -1}.startup-preview-box{grid-template-columns:1fr}}


/* WEB30.1.34 Persian language foundation: RTL, flag switcher and Persian/Arabic typography controls. */
.language-flag-switcher{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:10px;padding:8px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--panel2) 72%,transparent)}
.flag-btn{width:42px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:var(--panel2);font-size:20px;filter:grayscale(1);opacity:.46;transform:scale(.86);transition:transform .16s ease,filter .16s ease,opacity .16s ease,border-color .16s ease,box-shadow .16s ease}
.flag-btn.active{width:54px;height:36px;font-size:27px;filter:grayscale(0);opacity:1;transform:scale(1);border-color:color-mix(in srgb,var(--accent) 70%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent),0 12px 24px rgba(0,0,0,.22)}
.app-shell.sidebar-collapsed .language-flag-switcher{display:grid;gap:6px;padding:6px}.app-shell.sidebar-collapsed .flag-btn{width:34px;height:28px}.app-shell.sidebar-collapsed .flag-btn.active{width:38px;height:31px;font-size:22px}
html[dir="rtl"] .app-shell{direction:rtl}html[dir="rtl"] .global-search-result{text-align:right}html[dir="rtl"] .setting-row{direction:rtl}html[dir="rtl"] .settings-actions{direction:rtl}html[dir="rtl"] .table-wrap{direction:rtl}html[dir="rtl"] input,html[dir="rtl"] textarea{direction:rtl}html[dir="rtl"] input[type="email"],html[dir="rtl"] input[type="url"],html[dir="rtl"] input[name="username"],html[dir="rtl"] input[name="password"]{direction:ltr;text-align:left}
.lang-fa{font-family:var(--fa-font, Vazirmatn, Tahoma, Arial, sans-serif)}
.fafont-vazirmatn{--fa-font:Vazirmatn,Tahoma,Arial,sans-serif}.fafont-iransans{--fa-font:IRANSans,Vazirmatn,Tahoma,Arial,sans-serif}.fafont-shabnam{--fa-font:Shabnam,Vazirmatn,Tahoma,Arial,sans-serif}.fafont-sahel{--fa-font:Sahel,Vazirmatn,Tahoma,Arial,sans-serif}.fafont-samim{--fa-font:Samim,Vazirmatn,Tahoma,Arial,sans-serif}.fafont-tahoma{--fa-font:Tahoma,Arial,sans-serif}.fafont-noto_sans_arabic{--fa-font:"Noto Sans Arabic",Tahoma,Arial,sans-serif}.fafont-noto_naskh_arabic{--fa-font:"Noto Naskh Arabic",Tahoma,Arial,serif}.fafont-cairo{--fa-font:Cairo,"Noto Sans Arabic",Tahoma,sans-serif}.fafont-tajawal{--fa-font:Tajawal,"Noto Sans Arabic",Tahoma,sans-serif}.fafont-almarai{--fa-font:Almarai,"Noto Sans Arabic",Tahoma,sans-serif}.fafont-amiri{--fa-font:Amiri,"Noto Naskh Arabic",serif}.fafont-scheherazade{--fa-font:"Scheherazade New",Amiri,serif}.fafont-markazi{--fa-font:"Markazi Text",Amiri,serif}.fafont-lateef{--fa-font:Lateef,Amiri,serif}.fafont-reem_kufi{--fa-font:"Reem Kufi",Cairo,sans-serif}.fafont-arial{--fa-font:Arial,Tahoma,sans-serif}.fafont-system{--fa-font:system-ui,"Segoe UI",Tahoma,sans-serif}
.lang-fa.fa-size-small{font-size:.94em}.lang-fa.fa-size-normal{font-size:1em}.lang-fa.fa-size-large{font-size:1.08em}.lang-fa.fa-size-xlarge{font-size:1.16em}.lang-fa.faweight-medium{font-weight:500}.lang-fa.faweight-bold{font-weight:700}.lang-fa.faweight-heavy{font-weight:850}.lang-fa.faitalic-on{font-style:italic}.lang-fa.fashadow-soft{--fa-shadow:0 1px 10px rgba(0,0,0,.24);text-shadow:var(--fa-shadow)}.lang-fa.fashadow-strong{--fa-shadow:0 2px 16px rgba(0,0,0,.42);text-shadow:var(--fa-shadow)}.lang-fa.faglow-soft{--fa-glow:0 0 12px color-mix(in srgb,var(--accent) 24%,transparent);text-shadow:var(--fa-shadow,0 0 0 transparent),var(--fa-glow)}.lang-fa.faglow-strong{--fa-glow:0 0 18px color-mix(in srgb,var(--accent) 42%,transparent);text-shadow:var(--fa-shadow,0 0 0 transparent),var(--fa-glow)}.lang-fa.faline-tight{line-height:1.35}.lang-fa.faline-normal{line-height:1.55}.lang-fa.faline-comfortable{line-height:1.72}.lang-fa.faline-wide{line-height:1.9}.lang-fa.faletter-tight{letter-spacing:-.02em}.lang-fa.faletter-normal{letter-spacing:0}.lang-fa.faletter-wide{letter-spacing:.02em}.lang-fa.fapad-tight .panel.pad{padding:10px}.lang-fa.fapad-normal .panel.pad{padding:var(--pad)}.lang-fa.fapad-comfort .panel.pad{padding:calc(var(--pad) + 3px)}.lang-fa.fapad-wide .panel.pad{padding:calc(var(--pad) + 7px)}
.foundation-persian-card{--cardHeaderA:#16a34a;--cardHeaderB:#dc2626}.persian-preview{display:grid;gap:4px;margin-top:10px;padding:10px;border:1px dashed color-mix(in srgb,var(--accent) 44%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--panel2) 70%,transparent);font-family:var(--fa-font,Vazirmatn,Tahoma,Arial,sans-serif);direction:rtl}.persian-preview b{font-size:1.05em}.persian-preview span{color:var(--muted)}
@media(max-width:760px){.language-flag-switcher{justify-content:flex-start}.flag-btn.active{width:50px;height:34px}}

/* WEB30.1.41 Lock screen status foundation: lock status, pulse indicators and idle-lock settings. */
.remember-row{display:flex!important;grid-template-columns:none!important;align-items:center;gap:8px;margin-top:2px;color:var(--muted);font-size:.86rem}.remember-row input{width:auto!important}.lock-status-panel{margin-top:14px;padding:12px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:18px;background:linear-gradient(145deg,color-mix(in srgb,var(--panel2) 82%,transparent),color-mix(in srgb,var(--panel) 94%,transparent));box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.lock-status-panel.disabled{opacity:.62}.lock-status-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.lock-status-head b{font-size:.92rem}.lock-status-head small{color:var(--muted);font-size:.76rem}.lock-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.lock-status-item{display:grid;grid-template-columns:auto 1fr;gap:2px 7px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--panel) 78%,transparent)}.lock-status-item b{font-size:.78rem}.lock-status-item em{grid-column:2;font-style:normal;font-size:.78rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pulse-dot{width:10px;height:10px;border-radius:999px;display:inline-block;background:var(--muted);box-shadow:0 0 0 0 color-mix(in srgb,var(--muted) 38%,transparent);animation:lockPulse 1.45s ease-in-out infinite}.pulse-dot.ok{background:var(--good);box-shadow:0 0 0 0 color-mix(in srgb,var(--good) 46%,transparent)}.pulse-dot.bad{background:var(--bad);box-shadow:0 0 0 0 color-mix(in srgb,var(--bad) 46%,transparent)}.lock-status-item.ok{border-color:color-mix(in srgb,var(--good) 30%,var(--line))}.lock-status-item.bad{border-color:color-mix(in srgb,var(--bad) 48%,var(--line));background:color-mix(in srgb,var(--bad) 9%,var(--panel))}.lock-preview-box{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;margin-top:10px;padding:9px;border:1px dashed color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--panel2) 66%,transparent)}.lock-preview-box small{color:var(--muted)}.foundation-lock-screen-card{--cardHeaderA:#dc2626;--cardHeaderB:var(--warn)}.login-screen.switching .lock-status-panel{display:none}.theme-light .lock-status-panel,.theme-light .lock-status-item,.theme-light .lock-preview-box{background:#ffffff;color:#102033;border-color:#c8d3df}.theme-light .lock-status-item.bad{background:#fff5f5;border-color:#efb4b4}@keyframes lockPulse{0%{box-shadow:0 0 0 0 currentColor;opacity:.95}70%{box-shadow:0 0 0 8px transparent;opacity:.7}100%{box-shadow:0 0 0 0 transparent;opacity:.95}}
@media(max-width:520px){.lock-status-grid{grid-template-columns:1fr}.lock-preview-box{grid-template-columns:1fr}.lock-status-head{align-items:flex-start;flex-direction:column}}


/* WEB30.1.41 user session manager */
.sessions-manager-card .table-wrap{max-height:min(58vh,620px);overflow:auto}
.session-row.current-session{outline:1px solid color-mix(in srgb,var(--accent) 55%,transparent);background:color-mix(in srgb,var(--accent) 9%,transparent)}
.session-policy-list{display:flex;flex-wrap:wrap;gap:8px}
.session-policy-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:var(--panel2);box-shadow:var(--shadow-soft)}
.small-btn{padding:6px 10px;font-size:12px}
.session-summary-grid{margin-bottom:var(--gap)}
.login-session-kick-list{display:grid;gap:7px;margin-top:10px}
.login-session-kick-list .ghost-btn{text-align:start;justify-content:flex-start;white-space:normal}


/* WEB30.1.41 session health and lock polish */
.session-health-note{display:flex;gap:.55rem;align-items:center;justify-content:space-between;border:1px dashed var(--line);border-radius:var(--radius);padding:.65rem .75rem;background:rgba(255,255,255,.035);margin:.45rem 0}
.session-health-note small{color:var(--muted);max-width:52ch}
.session-row.current-session{outline:2px solid rgba(41,224,169,.36);outline-offset:-2px;background:rgba(41,224,169,.055)}
.mini-chip{display:inline-flex;align-items:center;border-radius:999px;padding:.08rem .45rem;margin-inline-start:.35rem;font-size:.72rem;border:1px solid rgba(41,224,169,.35);color:var(--good);background:rgba(41,224,169,.08)}
.session-health-live{font-size:.78rem;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:.18rem .55rem}
.login-session-kick-list{display:grid;gap:.35rem;margin-top:.6rem;max-height:190px;overflow:auto}body[data-auth="0"] #appShell{filter:blur(2px);pointer-events:none;user-select:none}


/* WEB30.1.41 session audit filters */
.session-toolbar-grid{display:grid;grid-template-columns:1fr auto auto;gap:.55rem;align-items:center;margin:.45rem 0 .75rem}
.session-toolbar-grid input,.session-toolbar-grid select{min-height:36px}
.session-status-counters{display:flex;flex-wrap:wrap;gap:.45rem;margin:.35rem 0 .65rem}
.session-counter-chip{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--line);border-radius:999px;padding:.28rem .6rem;background:color-mix(in srgb,var(--panel2) 82%,transparent);font-size:.78rem}
.session-counter-chip.ok{border-color:color-mix(in srgb,var(--good) 35%,var(--line));color:var(--good)}
.session-counter-chip.bad{border-color:color-mix(in srgb,var(--bad) 45%,var(--line));color:var(--bad)}
.session-counter-chip.warn{border-color:color-mix(in srgb,var(--warn) 45%,var(--line));color:var(--warn)}
.session-risk-panel{border:1px dashed color-mix(in srgb,var(--warn) 42%,var(--line));background:color-mix(in srgb,var(--warn) 7%,var(--panel));border-radius:var(--radius);padding:.65rem .75rem;margin:.4rem 0 .75rem;color:var(--text)}
.session-risk-panel.ok{border-color:color-mix(in srgb,var(--good) 35%,var(--line));background:color-mix(in srgb,var(--good) 6%,var(--panel))}
.session-row.filtered-out{display:none}
@media(max-width:760px){.session-toolbar-grid{grid-template-columns:1fr}.session-toolbar-grid input,.session-toolbar-grid select,.session-toolbar-grid button{width:100%}}

/* WEB30.1.41 login online status metrics */
.lock-status-grid{grid-template-columns:repeat(auto-fit,minmax(142px,1fr));}
.lock-status-item{min-height:58px;}
.lock-status-item b{letter-spacing:.01em;}
.lock-status-item em{font-variant-numeric:tabular-nums;}
.login-card .lock-status-panel{position:relative;z-index:2;}
.login-card .lock-status-panel:before{content:'';position:absolute;inset:-6px;border-radius:22px;background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 10%,transparent),transparent,color-mix(in srgb,var(--accent2) 8%,transparent));z-index:-1;pointer-events:none;}
@media(max-width:620px){.lock-status-grid{grid-template-columns:1fr 1fr;}.lock-status-item{min-height:54px;}}
@media(max-width:420px){.lock-status-grid{grid-template-columns:1fr;}}

/* WEB30.1.41 lock status live polish: configurable layout, detail level, freshness and status grade. */
.lock-status-panel[data-lock-layout="compact"] .lock-status-grid{display:flex;overflow-x:auto;gap:8px;padding-bottom:2px;scrollbar-width:thin;}
.lock-status-panel[data-lock-layout="compact"] .lock-status-item{min-width:150px;grid-template-columns:auto 1fr;}
.lock-status-panel[data-lock-layout="focus"] .lock-status-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;}
.lock-status-panel[data-lock-layout="focus"] .lock-status-item{min-height:76px;border-radius:18px;background:linear-gradient(145deg,color-mix(in srgb,var(--panel2) 82%,transparent),color-mix(in srgb,var(--panel) 94%,transparent));box-shadow:0 10px 24px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.05);}
.lock-status-panel[data-lock-detail="verbose"] .lock-status-item{grid-template-rows:auto auto auto;}
.lock-status-item small{grid-column:2;color:var(--muted);font-size:.68rem;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.lock-status-item[data-lock-status="ok"] .pulse-dot{color:var(--good);}
.lock-status-item[data-lock-status="bad"] .pulse-dot{color:var(--bad);}
.status-grade{display:inline-flex;align-items:center;gap:5px;padding:2px 7px;border-radius:999px;border:1px solid var(--line);font-size:.72rem;font-weight:700;}
.status-grade.ok{color:var(--good);border-color:color-mix(in srgb,var(--good) 45%,var(--line));background:color-mix(in srgb,var(--good) 9%,transparent);}
.status-grade.bad{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 48%,var(--line));background:color-mix(in srgb,var(--bad) 10%,transparent);}
.theme-light .lock-status-panel[data-lock-layout="focus"] .lock-status-item{background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.10),inset 0 1px 0 rgba(255,255,255,.82);}

/* WEB30.1.42 masonry stable card heights: remove grid dead space while locking volatile cards against page reflow. */
.foundation-settings-layout{display:block;columns:2 480px;column-gap:var(--gap);contain:style;padding-bottom:68px;}
.foundation-settings-card{display:inline-block;width:100%;margin:0 0 var(--gap);min-width:0;break-inside:avoid;page-break-inside:avoid;vertical-align:top;contain:paint;will-change:auto;transition:box-shadow .16s ease,transform .16s ease,border-color .16s ease,outline-color .16s ease;}
.foundation-settings-card .setting-row{min-height:31px;}
.foundation-settings-card .loading-preview-box,.foundation-settings-card .startup-preview-box,.foundation-settings-card .lock-preview-box{min-height:64px;}
.foundation-settings-card:is(.foundation-nav-style-card,.foundation-global-search-card,.foundation-persian-card,.foundation-login-splash-card,.foundation-lock-screen-card){height:var(--stableCardH);overflow:auto;scrollbar-gutter:stable;}
.foundation-nav-style-card{--stableCardH:310px}.foundation-global-search-card{--stableCardH:350px}.foundation-persian-card{--stableCardH:620px}.foundation-login-splash-card{--stableCardH:430px}.foundation-lock-screen-card{--stableCardH:620px}
.settings-actions{min-height:48px;contain:layout paint;}
body.loading-active .foundation-settings-card{transition:box-shadow .16s ease,border-color .16s ease;transform:none!important;}
.foundation-settings-card.layout-stable-focus{outline:2px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:2px;}
@media(max-width:1100px){.foundation-settings-layout{columns:1;padding-bottom:76px}.foundation-settings-card:is(.foundation-nav-style-card,.foundation-global-search-card,.foundation-persian-card,.foundation-login-splash-card,.foundation-lock-screen-card){height:auto;max-height:none;overflow:visible}}
@media(max-width:620px){.settings-actions{min-height:54px}}
/* WEB30.1.43_UI_PROFILE_STORAGE_STANDARDIZATION */
.foundation-storage-card{--cardHeaderA:#0ea5e9;--cardHeaderB:#10b981;}
.ui-storage-card-body{display:grid;gap:8px;}
.ui-storage-source-badge{display:grid;gap:2px;border:1px solid color-mix(in srgb,var(--accent) 42%,var(--line));border-radius:12px;padding:9px 10px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 16%,var(--panel2)),color-mix(in srgb,var(--accent2) 10%,var(--panel)));}
.ui-storage-source-badge b{font-size:13px;letter-spacing:.01em;}
.ui-storage-source-badge small{color:var(--muted);line-height:1.28;}
.ui-storage-source-badge.source-personal_db{border-color:color-mix(in srgb,#10b981 58%,var(--line));}
.ui-storage-source-badge.source-browser{border-color:color-mix(in srgb,var(--warn) 58%,var(--line));}
.ui-storage-source-badge.source-global_db{border-color:color-mix(in srgb,#38bdf8 58%,var(--line));}
.ui-storage-source-badge.source-factory{border-style:dashed;}
.ui-storage-rows{display:grid;gap:5px;border:1px solid var(--line);border-radius:10px;padding:8px;background:color-mix(in srgb,var(--panel2) 82%,transparent);}
.ui-storage-rows div{display:grid;grid-template-columns:minmax(120px,34%) 1fr;gap:8px;align-items:start;}
.ui-storage-rows span{color:var(--muted);font-size:.86em;}
.ui-storage-rows b{font-size:.9em;font-weight:800;word-break:break-word;}
.ui-storage-actions{display:flex;flex-wrap:wrap;gap:6px;}
.ui-storage-actions button{min-height:28px;padding:5px 8px;}
.ui-storage-note{font-size:.84em;color:var(--muted);border-left:3px solid color-mix(in srgb,var(--accent) 48%,var(--line));padding-left:8px;}
.theme-light .ui-storage-source-badge,.theme-light .ui-storage-rows{background:#fff;color:#102033;border-color:#c8d3df;}
@media(max-width:620px){.ui-storage-rows div{grid-template-columns:1fr}.ui-storage-actions button{flex:1 1 auto}}

/* WEB30.1.44 UI Template/Profile Manager */
.ui-template-manager{display:grid;gap:10px;min-height:520px;}
.template-manager-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line));border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 12%,var(--panel)),color-mix(in srgb,var(--panel2) 88%,transparent));}
.template-manager-head b{display:block;font-size:.95rem}.template-manager-head small{display:block;color:var(--muted);line-height:1.35;margin-top:2px}
.template-manager-toolbar{display:grid;grid-template-columns:minmax(170px,1fr) minmax(150px,1fr) auto auto auto auto;gap:8px;align-items:center;}
.template-manager-toolbar input[type="search"],.template-manager-toolbar input[type="text"]{min-width:0;}
.file-like{position:relative;overflow:hidden;text-align:center;cursor:pointer}.file-like input{position:absolute;inset:0;opacity:0;cursor:pointer}
.template-manager-note{font-size:.78rem;color:var(--muted);padding:8px 10px;border:1px dashed color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--panel2) 54%,transparent)}
.template-profile-list{display:grid;gap:9px;max-height:680px;overflow:auto;padding-right:3px;}
.template-library-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:2px;}
.template-library-summary div{padding:9px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--panel2) 74%,transparent);text-align:center;}
.template-library-summary b{display:block;font-size:1rem;color:var(--accent)}.template-library-summary small{display:block;color:var(--muted);font-size:.72rem;margin-top:2px}
.template-profile-item{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:10px;align-items:center;padding:11px;border-radius:16px;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 94%,transparent),color-mix(in srgb,var(--panel2) 78%,transparent));transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;}
.template-profile-item:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));box-shadow:0 12px 32px color-mix(in srgb,#000 18%,transparent);}
.template-profile-item.active{border-color:color-mix(in srgb,var(--accent) 78%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent)}
.template-title-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.template-title-line b{font-size:.94rem}.template-profile-item small{display:block;color:var(--muted);font-size:.74rem;margin-top:3px}
.template-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.template-tags span{border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));background:color-mix(in srgb,var(--accent) 8%,transparent);border-radius:999px;padding:2px 7px;font-size:.68rem;color:var(--muted)}
.template-profile-item .profile-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;max-width:460px}.template-profile-item .profile-actions button{padding:5px 8px;font-size:.74rem;}
.status-chip.warn{border-color:color-mix(in srgb,var(--warn) 48%,var(--line));background:color-mix(in srgb,var(--warn) 12%,transparent);color:var(--warn)}
.theme-light .template-manager-head,.theme-light .template-manager-note,.theme-light .template-profile-item,.theme-light .template-library-summary div{background:#fff;color:#102033;border-color:#c9d5e1}
@media(max-width:980px){.template-manager-toolbar{grid-template-columns:1fr 1fr}.template-manager-toolbar button,.template-manager-toolbar label{width:100%}.template-profile-item{grid-template-columns:1fr}.template-profile-item .profile-actions{justify-content:flex-start;max-width:none}.template-library-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.template-manager-toolbar,.template-library-summary{grid-template-columns:1fr}.ui-template-manager{min-height:0}.template-profile-list{max-height:none}}


/* WEB30.1.45 Foundation readiness audit retained baseline */
.foundation-readiness-style-card{--cardHeaderA:#14b8a6;--cardHeaderB:#6366f1;}
.foundation-readiness-card{display:grid;gap:10px;}
.readiness-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%,var(--panel)),color-mix(in srgb,var(--accent2) 8%,var(--panel2)));}
.readiness-head b{display:block;font-size:.95rem}.readiness-head small{display:block;color:var(--muted);line-height:1.35;margin-top:2px}
.readiness-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.readiness-pill{display:grid;gap:2px;min-height:74px;padding:9px 10px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--panel2) 74%,transparent);}
.readiness-pill span{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.035em}.readiness-pill b{font-size:.9rem;word-break:break-word}.readiness-pill small{font-size:.72rem;color:var(--muted);line-height:1.25;word-break:break-word}.readiness-pill.ok{border-color:color-mix(in srgb,var(--good) 38%,var(--line));}.readiness-pill.warn{border-color:color-mix(in srgb,var(--warn) 58%,var(--line));background:color-mix(in srgb,var(--warn) 8%,var(--panel));}.readiness-pill.muted{opacity:.78;}
.readiness-actions{display:flex;flex-wrap:wrap;gap:7px}.readiness-actions button{min-height:30px;padding:6px 9px;}
.theme-light .readiness-head,.theme-light .readiness-pill{background:#fff;color:#102033;border-color:#c9d5e1;}
@media(max-width:620px){.readiness-grid{grid-template-columns:1fr}.readiness-head{align-items:flex-start;flex-direction:column}}

/* WEB30.1.51 Persian RTL completion: sidebar controls mirrored and settings-search trigger aligned. */
.sidebar-foot{overflow:visible;padding-bottom:14px;flex:0 0 auto}.language-flag-switcher{margin-top:8px;margin-bottom:4px;min-height:48px;flex-shrink:0}.flag-btn{line-height:1;overflow:visible}.flag-btn.active{z-index:1}.app-shell.sidebar-collapsed .sidebar-foot{padding:7px 6px 12px;overflow:visible}.app-shell.sidebar-collapsed .language-flag-switcher{min-height:72px;margin:6px 0 2px}.app-shell.sidebar-collapsed .user-mini,.app-shell.sidebar-collapsed .status-line{display:none}
.lang-fa .sidebar{border-right:0;border-left:1px solid var(--line)}
.lang-fa .sidebar-head{direction:rtl;gap:8px}.lang-fa .sidebar-head .global-search-toggle{margin-left:2px;margin-right:auto}.lang-fa .sidebar-head .shell-vis-btn{margin-left:0;margin-right:2px}.lang-fa .brand-text{text-align:right}.lang-fa .brand-row,.lang-fa .user-mini,.lang-fa .status-line{direction:rtl;text-align:right}.lang-fa .nav-list{direction:rtl}.lang-fa .nav-item,.lang-fa .nav-sub button{direction:rtl;text-align:right;gap:10px}.lang-fa .nav-ico{flex:0 0 24px;text-align:center;margin-inline:0}.lang-fa .nav-item b{min-width:0;overflow:hidden;text-overflow:ellipsis}.lang-fa .nav-item .chev{margin-left:0;margin-right:auto;transform:rotate(180deg)}.lang-fa .nav-group.open>.group-toggle .chev{transform:rotate(90deg)}.lang-fa .nav-sub{margin:2px 28px 4px 0;padding:4px 10px 4px 0;border-left:0;border-right:2px solid color-mix(in srgb,var(--accent) 68%,var(--line));border-radius:10px 0 0 10px}.lang-fa .nav-sub button:before{content:'‹';margin-right:0;margin-left:3px}.lang-fa .sidebar-foot .language-flag-switcher{direction:ltr}.lang-fa .global-search-panel{direction:rtl;text-align:right}.lang-fa .global-search-box{direction:rtl}.lang-fa .global-search-results{direction:rtl}.lang-fa .page-title-block,.lang-fa .header-status{direction:rtl}.lang-fa .floating-menu{text-align:right}.lang-fa .settings-actions{direction:rtl}.lang-fa .setting-row>span{text-align:right}.lang-fa .foundation-card-head{text-align:right}.lang-fa .foundation-settings-card p{text-align:right}.lang-fa .footer-bar{direction:rtl}
@media(max-height:640px){.sidebar-foot{padding-bottom:8px}.language-flag-switcher{min-height:42px;padding:6px}.flag-btn{width:38px;height:28px}.flag-btn.active{width:48px;height:32px;font-size:24px}}


/* WEB30.1.51 Persian RTL polish: mirror fixed shell/search controls and keep captions separate from stored keys. */
.lang-fa .sidebar-head{flex-direction:row;direction:rtl;overflow:visible}
.lang-fa .sidebar-head .brand-mark{order:1;flex:0 0 auto}.lang-fa .sidebar-head .brand-text{order:2;flex:1 1 auto;min-width:0}.lang-fa .sidebar-head .shell-vis-btn{order:3;margin-inline:4px 0}.lang-fa .sidebar-head .global-search-toggle{order:4;margin-inline:0 0}
.lang-fa .global-search-toggle{font-size:25px;min-width:40px;height:40px}
.lang-fa .sidebar-handle{left:auto!important;right:calc(var(--sidebarW) - 10px);border-radius:16px 0 0 16px}
.lang-fa .app-shell.sidebar-collapsed .sidebar-handle{left:auto!important;right:calc(var(--sidebarCollapsedW) - 10px)}
.lang-fa.shell-toggle-pill .sidebar-handle{right:calc(var(--sidebarW) + 6px);left:auto!important}.lang-fa.shell-toggle-pill .app-shell.sidebar-collapsed .sidebar-handle{right:calc(var(--sidebarCollapsedW) + 6px);left:auto!important}
.lang-fa .settings-nav-trigger{left:auto;right:calc(var(--sidebarW) + 8px)}.lang-fa .app-shell.sidebar-collapsed .settings-nav-trigger{left:auto;right:calc(var(--sidebarCollapsedW) + 8px)}
.lang-fa .settings-nav-trigger-lock{left:auto;right:calc(var(--sidebarW) + 50px)}.lang-fa .app-shell.sidebar-collapsed .settings-nav-trigger-lock{left:auto;right:calc(var(--sidebarCollapsedW) + 50px)}
.lang-fa .foundation-settings-navigator.mode-hidden_icon{left:auto;right:calc(var(--sidebarW) + 52px);width:min(720px,calc(100vw - var(--sidebarW) - 68px))}.lang-fa .app-shell.sidebar-collapsed .foundation-settings-navigator.mode-hidden_icon{left:auto;right:calc(var(--sidebarCollapsedW) + 52px);width:min(720px,calc(100vw - var(--sidebarCollapsedW) - 68px))}
.lang-fa .global-search-panel{left:8px;right:8px}.lang-fa .app-shell.sidebar-collapsed .global-search-panel{left:auto;right:66px}
.lang-fa .global-search-result{text-align:right}.lang-fa .global-search-results.compact-results .global-search-result{grid-template-columns:auto minmax(0,1fr)}
.lang-fa .settings-nav-actions,.lang-fa .settings-chip-row,.lang-fa .settings-jump-row{direction:rtl}.lang-fa .settings-search-row input{text-align:right;direction:rtl}
.lang-fa .nav-item.active,.lang-fa .nav-item:hover,.lang-fa .nav-sub button:hover{background:linear-gradient(270deg,color-mix(in srgb,var(--accent) 28%,transparent),transparent)}
.lang-fa .nav-group.open{background:linear-gradient(270deg,color-mix(in srgb,var(--accent) 10%,transparent),transparent)}
.lang-fa .floating-menu{right:auto;left:0}.lang-fa .floating-menu button{text-align:right;padding:8px 10px 8px 38px}
@media(max-width:760px){.lang-fa .sidebar-handle,.lang-fa .app-shell.sidebar-collapsed .sidebar-handle{right:max(0px,env(safe-area-inset-right));left:auto!important}.lang-fa .settings-nav-trigger{right:8px;left:auto}.lang-fa .settings-nav-trigger-lock{right:50px;left:auto}.lang-fa .foundation-settings-navigator.mode-hidden_icon,.lang-fa .app-shell.sidebar-collapsed .foundation-settings-navigator.mode-hidden_icon{left:8px;right:8px;width:auto}.lang-fa .global-search-panel,.lang-fa .app-shell.sidebar-collapsed .global-search-panel{left:8px;right:8px;width:auto}}


/* WEB30.1.51 Persian RTL flag visual polish: CSS-only graphic flags + stable sidebar footer visibility. */
.sidebar-foot{max-height:none!important;overflow:visible!important;padding:8px 10px 10px;display:grid;gap:7px;flex:0 0 auto;position:relative;z-index:4;background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(0,0,0,.08)),var(--bg2)}
.language-flag-switcher{display:flex!important;align-items:center;justify-content:center;gap:12px;margin:4px 0 0;padding:7px 8px;min-height:48px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--panel2) 78%,transparent),color-mix(in srgb,var(--bg) 88%,transparent));box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.flag-btn{position:relative;width:50px;height:33px;display:grid;place-items:center;padding:0;border:1px solid color-mix(in srgb,var(--line) 78%,#fff);border-radius:9px;background:#111;overflow:hidden;text-indent:-999px;filter:grayscale(1) saturate(.45);opacity:.52;transform:scale(.86);box-shadow:0 4px 12px rgba(0,0,0,.2);transition:transform .16s ease,filter .16s ease,opacity .16s ease,border-color .16s ease,box-shadow .16s ease}
.flag-btn::before,.flag-btn::after{content:'';position:absolute;pointer-events:none}.flag-btn::before{inset:0;border-radius:8px}.flag-btn::after{z-index:2}.flag-btn[data-lang-switch="en"]::before{background:repeating-linear-gradient(to bottom,#b91c1c 0 7.7%,#fff 7.7% 15.4%)}
.flag-btn[data-lang-switch="en"]::after{left:0;top:0;width:44%;height:54%;border-radius:8px 0 4px 0;background:#1d4ed8;box-shadow:inset 5px 4px 0 -3px #fff,inset 13px 4px 0 -3px #fff,inset 21px 4px 0 -3px #fff,inset 29px 4px 0 -3px #fff,inset 7px 11px 0 -3px #fff,inset 15px 11px 0 -3px #fff,inset 23px 11px 0 -3px #fff,inset 31px 11px 0 -3px #fff}
.flag-btn[data-lang-switch="fa"]::before{background:linear-gradient(to bottom,#239f40 0 33.33%,#fff 33.33% 66.66%,#da0000 66.66% 100%)}
.flag-btn[data-lang-switch="fa"]::after{left:50%;top:50%;width:13px;height:13px;border:2px solid #da0000;border-top-color:transparent;border-bottom-color:transparent;border-radius:50%;transform:translate(-50%,-50%) rotate(45deg);filter:drop-shadow(0 0 1px rgba(255,255,255,.8))}
.flag-btn.active{width:64px;height:40px;filter:grayscale(0) saturate(1.18);opacity:1;transform:scale(1);border-color:color-mix(in srgb,var(--accent) 72%,#fff);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 17%,transparent),0 12px 24px rgba(0,0,0,.28)}
.flag-btn:not(.active):hover{opacity:.78;filter:grayscale(.65) saturate(.65);transform:scale(.94)}
.app-shell.sidebar-collapsed .sidebar-foot{display:grid!important;padding:6px 5px 9px;gap:6px;max-height:none!important}.app-shell.sidebar-collapsed .language-flag-switcher{display:grid!important;grid-template-columns:1fr;gap:6px;min-height:82px;margin:0;padding:5px}.app-shell.sidebar-collapsed .flag-btn{width:38px;height:27px;border-radius:8px}.app-shell.sidebar-collapsed .flag-btn.active{width:44px;height:30px}.app-shell.sidebar-collapsed .user-mini,.app-shell.sidebar-collapsed .status-line{display:none!important}
.lang-fa .sidebar-head{flex-direction:row-reverse;direction:rtl}.lang-fa .sidebar-head .brand-mark{order:4}.lang-fa .sidebar-head .brand-text{order:3;text-align:right}.lang-fa .sidebar-head .shell-vis-btn{order:2;margin-inline:4px 0}.lang-fa .sidebar-head .global-search-toggle{order:1;margin-inline:0 0;font-size:27px;min-width:42px;height:42px}.lang-fa .sidebar-head .icon-btn{flex:0 0 auto}.lang-fa .nav-item,.lang-fa .nav-sub button{justify-content:flex-start}.lang-fa .nav-ico{order:3}.lang-fa .nav-item b{order:2;text-align:right}.lang-fa .nav-item .chev{order:1;margin-right:auto;margin-left:0}.lang-fa .nav-sub button{padding-right:10px;padding-left:8px}.lang-fa .nav-sub button:before{float:none;margin-left:6px;margin-right:0}
.lang-fa .sidebar-handle{left:auto!important;right:calc(var(--sidebarW) - 13px);border-radius:16px 0 0 16px}.lang-fa .app-shell.sidebar-collapsed .sidebar-handle{left:auto!important;right:calc(var(--sidebarCollapsedW) - 13px)}.lang-fa.shell-toggle-pill .sidebar-handle{right:calc(var(--sidebarW) + 4px);left:auto!important}.lang-fa.shell-toggle-pill .app-shell.sidebar-collapsed .sidebar-handle{right:calc(var(--sidebarCollapsedW) + 4px);left:auto!important}
.lang-fa .settings-nav-trigger{left:auto!important;right:calc(var(--sidebarW) + 10px)}.lang-fa .app-shell.sidebar-collapsed .settings-nav-trigger{left:auto!important;right:calc(var(--sidebarCollapsedW) + 10px)}.lang-fa .settings-nav-trigger-lock{left:auto!important;right:calc(var(--sidebarW) + 52px)}.lang-fa .app-shell.sidebar-collapsed .settings-nav-trigger-lock{left:auto!important;right:calc(var(--sidebarCollapsedW) + 52px)}
@media(max-height:720px){.sidebar-foot{padding:6px 8px 8px;gap:5px}.language-flag-switcher{min-height:42px;padding:5px}.flag-btn{width:45px;height:29px}.flag-btn.active{width:58px;height:36px}.user-mini{gap:7px}.status-line{font-size:.86em}}
@media(max-width:760px){.language-flag-switcher{justify-content:center}.flag-btn.active{width:58px;height:36px}.lang-fa .sidebar-head{flex-direction:row-reverse}.lang-fa .sidebar-handle,.lang-fa .app-shell.sidebar-collapsed .sidebar-handle{right:max(0px,env(safe-area-inset-right));left:auto!important}.lang-fa .settings-nav-trigger{right:8px;left:auto!important}.lang-fa .settings-nav-trigger-lock{right:50px;left:auto!important}}


/* WEB30.1.51 Language switcher quality/loading fix: vector flags, no external image files. */
.flag-btn{text-indent:-999px;background-color:#111;background-repeat:no-repeat;background-position:center;background-size:cover;image-rendering:auto;isolation:isolate}
.flag-btn::before,.flag-btn::after{display:none!important}
.flag-btn[data-lang-switch="en"]{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20760%20400%22%3E%3Crect%20width=%22760%22%20height=%22400%22%20fill=%22%23fff%22/%3E%3Cg%20fill=%22%23b22234%22%3E%3Crect%20width=%22760%22%20height=%2230.77%22%20y=%220%22/%3E%3Crect%20width=%22760%22%20height=%2230.77%22%20y=%2261.54%22/%3E%3Crect%20width=%22760%22%20height=%2230.77%22%20y=%22123.08%22/%3E%3Crect%20width=%22760%22%20height=%2230.77%22%20y=%22184.62%22/%3E%3Crect%20width=%22760%22%20height=%2230.77%22%20y=%22246.15%22/%3E%3Crect%20width=%22760%22%20height=%2230.77%22%20y=%22307.69%22/%3E%3Crect%20width=%22760%22%20height=%2230.77%22%20y=%22369.23%22/%3E%3C/g%3E%3Crect%20width=%22304%22%20height=%22215.38%22%20fill=%22%233c3b6e%22/%3E%3Cg%20fill=%22%23fff%22%3E%3Cpath%20d=%22M26,14%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M76,14%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M126,14%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M176,14%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M226,14%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M276,14%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M51,36%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M101,36%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M151,36%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M201,36%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M251,36%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M26,58%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M76,58%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M126,58%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M176,58%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M226,58%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M276,58%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M51,80%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M101,80%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M151,80%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M201,80%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M251,80%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M26,102%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M76,102%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M126,102%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M176,102%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M226,102%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M276,102%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M51,124%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M101,124%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M151,124%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M201,124%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M251,124%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M26,146%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M76,146%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M126,146%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M176,146%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M226,146%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M276,146%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M51,168%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M101,168%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M151,168%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M201,168%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M251,168%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M26,190%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M76,190%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M126,190%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M176,190%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M226,190%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3Cpath%20d=%22M276,190%20l2.35,5.4%205.85,.5%20-4.42,3.86%201.33,5.74%20-5.11,-3%20-5.11,3%201.33,-5.74%20-4.42,-3.86%205.85,-.5z%22/%3E%3C/g%3E%3C/svg%3E")}
.flag-btn[data-lang-switch="fa"]{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20760%20400%22%3E%3Crect%20width=%22760%22%20height=%22400%22%20fill=%22%23fff%22/%3E%3Crect%20width=%22760%22%20height=%22133.33%22%20fill=%22%23239f40%22/%3E%3Crect%20y=%22266.67%22%20width=%22760%22%20height=%22133.33%22%20fill=%22%23da0000%22/%3E%3Cg%20fill=%22%23fff%22%20opacity=%22.95%22%3E%3Crect%20x=%2218%22%20y=%22126%22%20width=%2222%22%20height=%227%22%20rx=%223%22/%3E%3Crect%20x=%2227%22%20y=%22115%22%20width=%227%22%20height=%2218%22%20rx=%223%22/%3E%3Crect%20x=%2266%22%20y=%22126%22%20width=%2222%22%20height=%227%22%20rx=%223%22/%3E%3Crect%20x=%2275%22%20y=%22115%22%20width=%227%22%20height=%2218%22%20rx=%223%22/%3E%3Crect%20x=%22114%22%20y=%22126%22%20width=%2222%22%20height=%227%22%20rx=%223%22/%3E%3Crect%20x=%22123%22%20y=%22115%22%20width=%227%22%20height=%2218%22%20rx=%223%22/%3E%3Crect%20x=%22162%22%20y=%22126%22%20width=%2222%22%20height=%227%22%20rx=%223%22/%3E%3Crect%20x=%22171%22%20y=%22115%22%20width=%227%22%20height=%2218%22%20rx=%223%22/%3E%3Crect%20x=%22210%22%20y=%22126%22%20width=%2222%22%20height=%227%22%20rx=%223%22/%3E%3Crect%20x=%22219%22%20y=%22115%22%20width=%227%22%20height=%2218%22%20rx=%223%22/%3E%3Crect%20x=%22258%22%20y=%22126%22%20width=%2222%22%20height=%227%22%20rx=%223%22/%3E%3Crect%20x=%22267%22%20y=%22115%22%20width=%227%22%20height=%2218%22%20rx=%223%22/%3E%3Crect%20x=%22306%22%20y=%22126%22%20width=%2222%22%20height=%227%22%20rx=%223%22/%3E%3Crect%20x=%22315%22%20y=%22115%22%20width=%227%22%20height=%2218%22%20rx=%223%22/%3E%3Crect%20x=%22354%22%20y=%22126%22%20width=%2222%22%20height=%227%22%20rx=%223%22/%3E%3Crect%20x=%22363%22%20y=%22115%22%20width=%227%22%20height=%2218%22%20rx=%223%22/%3E%3Crect%20x=%22402%22%20y=%22126%22%20width=%2222%22%20height=%227%22%20rx=%223%22/%3E%3Crect%20x=%22411%22%20y=%22115%22%20width=%227%22%20height=%2218%22%20rx=%223%22/%3E%3Crect%20x=%22450%22%20y=%22126%22%20width=%2222%22%20height=%227%22%20rx=%223%22/%3E%3Crect%20x=%22459%22%20y=%22115%22%20width=%227%22%20height=%2218%22%20rx=%223%22/%3E%3Crect%20x=%22498%22%20y=%22126%22%20width=%2222%22%20height=%227%22%20rx=%223%22/%3E%3Crect%20x=%22507%22%20y=%22115%22%20width=%227%22%20height=%2218%22%20rx=%223%22/%3E%3Crect%20x=%22546%22%20y=%22126%22%20width=%2222%22%20height=%227%22%20rx=%223%22/%3E%3Crect%20x=%22555%22%20y=%22115%22%20width=%227%22%20height=%2218%22%20rx=%223%22/%3E%3Crect%20x=%22594%22%20y=%22126%22%20width=%2222%22%20height=%227%22%20rx=%223%22/%3E%3Crect%20x=%22603%22%20y=%22115%22%20width=%227%22%20height=%2218%22%20rx=%223%22/%3E%3Crect%20x=%22642%22%20y=%22126%22%20width=%2222%22%20height=%227%22%20rx=%223%22/%3E%3Crect%20x=%22651%22%20y=%22115%22%20width=%227%22%20height=%2218%22%20rx=%223%22/%3E%3Crect%20x=%22690%22%20y=%22126%22%20width=%2222%22%20height=%227%22%20rx=%223%22/%3E%3Crect%20x=%22699%22%20y=%22115%22%20width=%227%22%20height=%2218%22%20rx=%223%22/%3E%3Crect%20x=%22738%22%20y=%22126%22%20width=%2222%22%20height=%227%22%20rx=%223%22/%3E%3Crect%20x=%22747%22%20y=%22115%22%20width=%227%22%20height=%2218%22%20rx=%223%22/%3E%3Crect%20x=%2218%22%20y=%22255%22%20width=%2222%22%20height=%227%22%20rx=%223%22/%3E%3Crect%20x=%2227%22%20y=%22244%22%20width=%227%22%20height=%2218%22%20rx=%223%22/%3E%3Crect%20x=%2266%22%20y=%22255%22%20width=%2222%22%20height=%227%22%20rx=%223%22/%3E%3Crect%20x=%2275%22%20y=%22244%22%20width=%227%22%20height=%2218%22%20rx=%223%22/%3E%3Crect%20x=%22114%22%20y=%22255%22%20width=%2222%22%20height=%227%22%20rx=%223%22/%3E%3Crect%20x=%22123%22%20y=%22244%22%20width=%227%22%20height=%2218%22%20rx=%223%22/%3E%3Crect%20x=%22162%22%20y=%22255%22%20width=%2222%22%20height=%227%22%20rx=%223%22/%3E%3Crect%20x=%22171%22%20y=%22244%22%20width=%227%22%20height=%2218%22%20rx=%223%22/%3E%3Crect%20x=%22210%22%20y=%22255%22%20width=%2222%22%20height=%227%22%20rx=%223%22/%3E%3Crect%20x=%22219%22%20y=%22244%22%20width=%227%22%20height=%2218%22%20rx=%223%22/%3E%3Crect%20x=%22258%22%20y=%22255%22%20width=%2222%22%20height=%227%22%20rx=%223%22/%3E%3Crect%20x=%22267%22%20y=%22244%22%20width=%227%22%20height=%2218%22%20rx=%223%22/%3E%3Crect%20x=%22306%22%20y=%22255%22%20width=%2222%22%20height=%227%22%20rx=%223%22/%3E%3Crect%20x=%22315%22%20y=%22244%22%20width=%227%22%20height=%2218%22%20rx=%223%22/%3E%3Crect%20x=%22354%22%20y=%22255%22%20width=%2222%22%20height=%227%22%20rx=%223%22/%3E%3Crect%20x=%22363%22%20y=%22244%22%20width=%227%22%20height=%2218%22%20rx=%223%22/%3E%3Crect%20x=%22402%22%20y=%22255%22%20width=%2222%22%20height=%227%22%20rx=%223%22/%3E%3Crect%20x=%22411%22%20y=%22244%22%20width=%227%22%20height=%2218%22%20rx=%223%22/%3E%3Crect%20x=%22450%22%20y=%22255%22%20width=%2222%22%20height=%227%22%20rx=%223%22/%3E%3Crect%20x=%22459%22%20y=%22244%22%20width=%227%22%20height=%2218%22%20rx=%223%22/%3E%3Crect%20x=%22498%22%20y=%22255%22%20width=%2222%22%20height=%227%22%20rx=%223%22/%3E%3Crect%20x=%22507%22%20y=%22244%22%20width=%227%22%20height=%2218%22%20rx=%223%22/%3E%3Crect%20x=%22546%22%20y=%22255%22%20width=%2222%22%20height=%227%22%20rx=%223%22/%3E%3Crect%20x=%22555%22%20y=%22244%22%20width=%227%22%20height=%2218%22%20rx=%223%22/%3E%3Crect%20x=%22594%22%20y=%22255%22%20width=%2222%22%20height=%227%22%20rx=%223%22/%3E%3Crect%20x=%22603%22%20y=%22244%22%20width=%227%22%20height=%2218%22%20rx=%223%22/%3E%3Crect%20x=%22642%22%20y=%22255%22%20width=%2222%22%20height=%227%22%20rx=%223%22/%3E%3Crect%20x=%22651%22%20y=%22244%22%20width=%227%22%20height=%2218%22%20rx=%223%22/%3E%3Crect%20x=%22690%22%20y=%22255%22%20width=%2222%22%20height=%227%22%20rx=%223%22/%3E%3Crect%20x=%22699%22%20y=%22244%22%20width=%227%22%20height=%2218%22%20rx=%223%22/%3E%3Crect%20x=%22738%22%20y=%22255%22%20width=%2222%22%20height=%227%22%20rx=%223%22/%3E%3Crect%20x=%22747%22%20y=%22244%22%20width=%227%22%20height=%2218%22%20rx=%223%22/%3E%3C/g%3E%3Cg%20transform=%22translate%28380%20200%29%22%20fill=%22%23da0000%22%3E%3Cpath%20d=%22M0-58c18%2018%2026%2042%2015%2070-5%2013-14%2023-15%2041-1-18-10-28-15-41-11-28-3-52%2015-70z%22/%3E%3Cpath%20d=%22M-22-16c-32%206-54%2031-48%2063%2028-2%2049-18%2061-43z%22/%3E%3Cpath%20d=%22M22-16c32%206%2054%2031%2048%2063-28-2-49-18-61-43z%22/%3E%3Cpath%20d=%22M-7%2051h14v38H-7z%22/%3E%3Ccircle%20cx=%220%22%20cy=%22-2%22%20r=%2211%22%20fill=%22%23fff%22/%3E%3C/g%3E%3Crect%20x=%222%22%20y=%222%22%20width=%22756%22%20height=%22396%22%20fill=%22none%22%20stroke=%22rgba%28255,255,255,.28%29%22%20stroke-width=%224%22/%3E%3C/svg%3E")}
.flag-btn{width:58px;height:38px;border-radius:10px;border:1px solid color-mix(in srgb,var(--line) 68%,#fff);box-shadow:0 6px 16px rgba(0,0,0,.24), inset 0 0 0 1px rgba(255,255,255,.22)}
.flag-btn.active{width:74px;height:48px;border-radius:12px;filter:none;opacity:1;transform:scale(1);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent),0 16px 32px rgba(0,0,0,.32), inset 0 0 0 1px rgba(255,255,255,.25)}
.flag-btn:not(.active){filter:grayscale(1) saturate(.35) brightness(.78);opacity:.58;transform:scale(.86)}
.flag-btn:not(.active):hover{filter:grayscale(.55) saturate(.75) brightness(.92);opacity:.82;transform:scale(.94)}
.language-switching .global-loading-overlay{opacity:1!important;pointer-events:auto!important;z-index:10040;background:rgba(2,8,14,.58);backdrop-filter:blur(10px)}
.language-switching .global-loading-card{border-color:color-mix(in srgb,var(--accent) 70%,var(--line));box-shadow:0 30px 90px rgba(0,0,0,.55),0 0 0 1px color-mix(in srgb,var(--accent) 24%,transparent) inset}
.language-switching .global-loading-card .loading-spinner.large{width:54px;height:54px;border-width:4px}
.language-switching .global-loading-footer{opacity:1!important;transform:none!important;z-index:10041}
.app-shell.sidebar-collapsed .flag-btn{width:42px;height:29px}.app-shell.sidebar-collapsed .flag-btn.active{width:48px;height:32px}
@media(max-height:720px){.flag-btn{width:52px;height:34px}.flag-btn.active{width:66px;height:42px}}

/* WEB30.1.52 card edge gutter polish: keep cards off viewport/sidebar walls without returning to dead-space grid. */
:root{--contentGutter:clamp(12px,1.05vw,18px);--settingsSideGutter:clamp(8px,.8vw,14px);--settingsColumnGap:clamp(12px,1.15vw,18px)}
.content{padding:var(--contentGutter);}
.foundation-settings-layout{column-gap:var(--settingsColumnGap);padding-inline:var(--settingsSideGutter);box-sizing:border-box;}
.foundation-settings-card,.panel{box-sizing:border-box;}
.foundation-settings-card{margin-bottom:var(--settingsColumnGap);}
.settings-actions{margin-inline:var(--settingsSideGutter);}
.app-shell.sidebar-collapsed .foundation-settings-layout{padding-inline:var(--settingsSideGutter);}
@media(max-width:760px){:root{--contentGutter:10px;--settingsSideGutter:4px;--settingsColumnGap:10px}.settings-actions{margin-inline:0}}

/* WEB30.1.54 animated Iranian flag asset frames: user-provided frames, code integration only. */
.flag-btn[data-lang-switch="fa"]{
  background-image:url('../img/flags/iran-wave-1.webp')!important;
  background-size:cover!important;
  background-position:center!important;
  animation:iranFlagWave 1.35s steps(1,end) infinite;
}
.flag-btn[data-lang-switch="fa"].active{
  animation-duration:1.05s;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 17%,transparent),0 12px 24px rgba(0,0,0,.30),0 0 18px color-mix(in srgb,#239f40 24%,transparent);
}
.flag-btn[data-lang-switch="fa"]::before,
.flag-btn[data-lang-switch="fa"]::after{display:none!important}
@keyframes iranFlagWave{
  0%,24.99%{background-image:url('../img/flags/iran-wave-1.webp')}
  25%,49.99%{background-image:url('../img/flags/iran-wave-2.webp')}
  50%,74.99%{background-image:url('../img/flags/iran-wave-3.webp')}
  75%,100%{background-image:url('../img/flags/iran-wave-4.webp')}
}
@media (prefers-reduced-motion: reduce){
  .flag-btn[data-lang-switch="fa"]{animation:none;background-image:url('../img/flags/iran-wave-2.webp')!important}
}

/* WEB30.1.55 login background public media final */
.login-screen{position:relative;overflow:hidden;background:radial-gradient(circle at 20% 12%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 32%),var(--bg)}
.login-screen:before{content:'';position:absolute;inset:-32px;background:radial-gradient(circle at 15% 18%,rgba(255,255,255,.08),transparent 26%),linear-gradient(135deg,var(--bg2),var(--bg));background-image:var(--login-bg-image),radial-gradient(circle at 15% 18%,rgba(255,255,255,.08),transparent 26%),linear-gradient(135deg,var(--bg2),var(--bg));background-size:var(--login-bg-fit,cover),auto,auto;background-repeat:var(--login-bg-repeat,no-repeat),no-repeat,no-repeat;background-position:var(--login-bg-position,center),center,center;opacity:var(--login-bg-opacity,.7);filter:blur(var(--login-bg-blur,8px)) brightness(var(--login-bg-brightness,85%)) saturate(var(--login-bg-saturate,110%));transform:scale(1.035);transition:opacity .35s ease,filter .35s ease,background-image .45s ease;z-index:0;pointer-events:none}.login-screen:after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(2,8,12,var(--login-bg-tint,.38)),rgba(2,8,12,calc(var(--login-bg-tint,.38) + .12)));z-index:1;pointer-events:none}.login-screen .login-card{position:relative;z-index:2;backdrop-filter:blur(16px) saturate(130%)}.login-bg-enabled:not(.login-bg-image) .login-screen:before{background-image:radial-gradient(circle at 30% 18%,color-mix(in srgb,var(--accent) 28%,transparent),transparent 26%),radial-gradient(circle at 78% 70%,color-mix(in srgb,var(--accent2) 18%,transparent),transparent 32%),linear-gradient(135deg,var(--bg2),var(--bg));background-size:auto,auto,auto}.login-bg-slideshow .login-screen:before{animation:loginBgSoftPan 12s ease-in-out infinite alternate}@keyframes loginBgSoftPan{from{transform:scale(1.035) translate3d(-4px,-2px,0)}to{transform:scale(1.055) translate3d(5px,3px,0)}}.login-bg-underlay-none .login-screen:before{background-image:var(--login-bg-image)!important;background-color:transparent}.login-bg-underlay-light .login-screen:before{background-color:#f8fafc;background-image:var(--login-bg-image),linear-gradient(135deg,#fff,#e5eef8)!important}.login-bg-underlay-dark .login-screen:before{background-color:#020812;background-image:var(--login-bg-image),linear-gradient(135deg,#020812,#172333)!important}.login-bg-underlay-checker .login-screen:before{background-color:#d7dee8;background-image:var(--login-bg-image),linear-gradient(45deg,rgba(255,255,255,.75) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.75) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.75) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.75) 75%)!important;background-size:var(--login-bg-fit,cover),24px 24px,24px 24px,24px 24px,24px 24px!important;background-position:var(--login-bg-position,center),0 0,0 12px,12px -12px,-12px 0!important;background-repeat:var(--login-bg-repeat,no-repeat),repeat,repeat,repeat,repeat!important}.login-background-settings-card{--cardHeaderA:#0ea5e9;--cardHeaderB:#8b5cf6}.login-bg-manager{display:grid;gap:10px;margin-top:10px}.login-bg-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.login-bg-toolbar small{color:var(--muted)}.file-like{position:relative;overflow:hidden;display:inline-flex;align-items:center}.login-bg-assets{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;align-items:start}.login-bg-asset{position:relative;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--panel2) 88%,#000);overflow:hidden;min-height:112px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)}.login-bg-asset.active{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 20%,transparent)}.login-bg-asset>button:first-child{width:100%;height:100%;display:grid;grid-template-rows:82px auto;gap:3px;padding:0;background:transparent;border:0;color:var(--text);text-align:left}.login-bg-asset img{width:100%;height:82px;object-fit:contain;display:block;background:linear-gradient(45deg,rgba(255,255,255,.08) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.08) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.08) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.08) 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0}.login-bg-meta{padding:4px 7px 7px;color:var(--muted);font-size:.72rem;display:flex;justify-content:space-between;gap:4px;align-items:center;min-width:0}.login-bg-meta b{color:var(--text);font-weight:700}.login-bg-meta em{font-style:normal;white-space:nowrap}.login-bg-asset .icon-btn{position:absolute;right:5px;top:5px;width:26px;height:26px;padding:0;background:color-mix(in srgb,var(--bad) 76%,transparent);backdrop-filter:blur(8px);border-color:color-mix(in srgb,#fff 22%,var(--bad));color:#fff;font-weight:900;line-height:1}.login-bg-asset .icon-btn:hover{transform:scale(1.06)}.login-bg-empty{padding:10px;border:1px dashed var(--line);border-radius:12px}@media(max-width:760px){.login-bg-assets{grid-template-columns:repeat(2,minmax(0,1fr))}.login-screen:before{inset:-18px}}
@media(prefers-reduced-motion:reduce){.login-bg-slideshow .login-screen:before{animation:none}}

/* WEB30.1.58 login background global save/load and compact card */
.settings-save-feedback{position:relative;overflow:hidden;display:none;align-items:center;min-height:28px;min-width:min(520px,45vw);max-width:100%;border:1px solid var(--line);border-radius:10px;background:var(--panel2);padding:5px 10px;isolation:isolate;color:var(--text);font-size:12px;margin-inline-end:auto}
.settings-save-feedback.active{display:flex}
.settings-save-feedback span{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 42%,transparent),color-mix(in srgb,var(--accent2) 36%,transparent));transition:width .22s ease;z-index:-1}
.settings-save-feedback b{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.settings-save-feedback.ok{border-color:color-mix(in srgb,var(--good) 70%,var(--line))}
.settings-save-feedback.ok span{background:linear-gradient(90deg,color-mix(in srgb,var(--good) 42%,transparent),color-mix(in srgb,var(--accent2) 28%,transparent))}
.settings-save-feedback.warn{border-color:color-mix(in srgb,var(--warn) 75%,var(--line))}
.settings-save-feedback.warn span{background:linear-gradient(90deg,color-mix(in srgb,var(--warn) 44%,transparent),color-mix(in srgb,var(--accent) 24%,transparent))}
.settings-save-feedback.error{border-color:color-mix(in srgb,var(--bad) 75%,var(--line))}
.settings-save-feedback.error span{background:linear-gradient(90deg,color-mix(in srgb,var(--bad) 44%,transparent),color-mix(in srgb,var(--warn) 24%,transparent))}
html[dir="rtl"] .settings-save-feedback span{left:auto;right:0}
@media(max-width:760px){.settings-save-feedback{flex:1 1 100%;min-width:0;width:100%;margin-inline-end:0}.settings-actions{flex-wrap:wrap}}

/* WEB30.1.58 login background card compact/readable layout */
.login-background-settings-card{break-inside:avoid;page-break-inside:avoid;}
.login-background-settings-card.panel.pad{padding:calc(var(--cardPad) * .78);}
.login-background-settings-card h3{margin-bottom:4px;}
.login-background-settings-card>p{margin:0 0 7px;line-height:1.22;font-size:.86em;}
.login-background-settings-card .setting-row{grid-template-columns:128px 1fr;gap:6px;margin:3px 0;min-height:28px;}
.login-background-settings-card .setting-row>span:first-child{font-size:.86em;}
.login-background-settings-card .seg{gap:4px;}
.login-background-settings-card .seg button{padding:4px 7px;min-height:27px;font-size:.82em;}
.login-bg-manager{gap:7px;margin-top:8px;}
.login-bg-toolbar{gap:6px;}
.login-bg-toolbar .ghost-btn{min-height:28px;padding:5px 8px;}
.login-bg-toolbar small{font-size:.76em;line-height:1.2;}
.login-bg-assets{grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:7px;}
.login-bg-asset{min-height:96px;border-radius:12px;}
.login-bg-asset>button:first-child{grid-template-rows:68px auto;}
.login-bg-asset img{height:68px;}
.login-bg-meta{font-size:.68rem;padding:3px 6px 6px;}
.login-bg-asset .icon-btn{width:23px;height:23px;right:4px;top:4px;border-radius:8px;}
.login-bg-empty{padding:8px;font-size:.82em;}
@media(max-width:760px){.login-background-settings-card .setting-row{grid-template-columns:1fr}.login-bg-assets{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* WEB30.1.60 session warning policy/details */
.session-action-stack{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.warn-btn{background:color-mix(in srgb,var(--warn) 22%,var(--panel2));border:1px solid color-mix(in srgb,var(--warn) 60%,var(--line));color:var(--text);border-radius:10px;padding:6px 9px;cursor:pointer}.warn-btn:hover{background:color-mix(in srgb,var(--warn) 34%,var(--panel2))}.session-warning-line{color:var(--warn);font-weight:700}.warned-session{background:color-mix(in srgb,var(--warn) 7%,transparent)}.session-note-box{margin:8px 0;padding:8px 10px;border:1px dashed color-mix(in srgb,var(--warn) 55%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--warn) 8%,transparent);color:var(--text);font-size:.88rem}.session-policy-chip{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.session-policy-chip small{color:var(--muted)}.session-warning-modal{position:fixed;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.52);backdrop-filter:blur(7px);z-index:12000;padding:18px}.session-warning-box{width:min(460px,calc(100vw - 32px));border:1px solid color-mix(in srgb,var(--warn) 70%,var(--line));border-radius:24px;background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 94%,#000),color-mix(in srgb,var(--panel2) 92%,#000));box-shadow:0 26px 70px rgba(0,0,0,.48),0 0 0 4px color-mix(in srgb,var(--warn) 14%,transparent);padding:24px;text-align:center}.session-warning-box h2{margin:4px 0 8px}.session-warning-box p{color:var(--text);line-height:1.5}.warning-pulse{width:58px;height:58px;margin:0 auto 8px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--warn) 95%,#fff) 0 32%,transparent 34%),radial-gradient(circle,color-mix(in srgb,var(--warn) 42%,transparent) 0 56%,transparent 58%);animation:sessionWarnPulse 1.05s ease-in-out infinite}.session-warning-count{margin:12px auto 14px;padding:8px 10px;border-radius:14px;background:color-mix(in srgb,var(--warn) 13%,transparent);font-weight:800;color:var(--warn)}@keyframes sessionWarnPulse{0%,100%{transform:scale(.94);opacity:.82}50%{transform:scale(1.08);opacity:1}}@media(prefers-reduced-motion:reduce){.warning-pulse{animation:none}}

/* WEB30.1.60_SETTINGS_STORAGE_UNIFICATION_FEEDBACK */
.foundation-settings-card.card-dirty{outline:1px dashed color-mix(in srgb,var(--bad) 58%,transparent);outline-offset:4px;}
.card-save-line{display:none;margin-top:8px;padding:6px 8px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel2) 86%,transparent);color:var(--muted);font-size:.78rem;line-height:1.25;}
.card-save-line.active,.card-save-line.ok,.card-save-line.warn,.card-save-line.error{display:block;}
.card-save-line.active{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));color:var(--text);}
.card-save-line.ok{border-color:color-mix(in srgb,var(--good) 65%,var(--line));color:color-mix(in srgb,var(--good) 88%,var(--text));}
.card-save-line.warn{border-color:color-mix(in srgb,var(--warn) 72%,var(--line));color:color-mix(in srgb,var(--warn) 88%,var(--text));}
.card-save-line.error{border-color:color-mix(in srgb,var(--bad) 72%,var(--line));color:color-mix(in srgb,var(--bad) 88%,var(--text));}
.public-source-badge{display:grid;gap:2px;margin:6px 0 8px;padding:7px 9px;border:1px solid color-mix(in srgb,var(--accent) 42%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--accent) 9%,var(--panel2));}
.public-source-badge b{font-size:.82rem}.public-source-badge small{color:var(--muted);font-size:.74rem;line-height:1.25}


/* WEB30.1.63 device ingest registry */
.device-registry-layout{align-items:start}
.device-registry-layout [data-device-row]{cursor:pointer}
.device-registry-layout [data-device-row]:hover{background:color-mix(in srgb,var(--accent) 9%,transparent)}
.device-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:10px 0}
.device-admin-grid label{display:grid;gap:4px;color:var(--muted);font-size:.82rem}
.device-admin-grid input,.device-admin-grid select{width:100%}
.device-token-card{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0;padding:9px 10px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--panel2) 86%,transparent)}
.device-token-card span{color:var(--muted)}
.device-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:7px;margin:8px 0 12px}
.device-metric-toggle{display:flex;gap:8px;align-items:center;padding:7px 9px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel2) 74%,transparent);color:var(--text);font-size:.84rem}
.device-detail-panel h4{margin:14px 0 8px}
.device-detail-panel code{direction:ltr;unicode-bidi:bidi-override;display:inline-block;max-width:100%;overflow:auto;background:color-mix(in srgb,var(--panel2) 88%,#000);padding:4px 6px;border-radius:7px}
@media(max-width:980px){.device-registry-layout.grid.cols-2{grid-template-columns:1fr}}

/* WEB30.1.76_DATALOGGER_MENU_TABS */
.datalogger-tabs{margin-bottom:var(--gap)}
.chart-panel{min-height:180px;border:1px solid var(--line);border-radius:var(--radius);padding:12px;margin:12px 0;background:rgba(255,255,255,.03)}
.simple-chart{width:100%;height:160px;color:var(--accent)}
.empty-chart{min-height:160px;display:grid;place-items:center;color:var(--muted);border:1px dashed var(--line);border-radius:var(--radius)}
.chart-range{display:flex;justify-content:space-between;color:var(--muted);font-size:.85em;margin-top:4px}

/* WEB30.1.77_DATALOGGER_DEVICES_OPERATIONAL_VIEW */
.device-overview-grid{margin-bottom:var(--gap)}
.device-registry-shell{display:grid;gap:var(--gap)}
.device-registry-shell [data-device-row]{cursor:pointer}
.device-registry-shell [data-device-row]:hover{background:color-mix(in srgb,var(--accent) 9%,transparent)}
.device-status-grid{margin-bottom:var(--gap)}
.device-detail-subgrid{margin-top:var(--gap);align-items:start}
.muted-line{display:block;color:var(--muted);font-size:.74rem;margin-top:2px;line-height:1.2}
.row-actions{display:flex;gap:5px;flex-wrap:wrap;align-items:center}
button.small,.ghost-btn.small,.danger-btn.small{padding:4px 7px;border-radius:8px;font-size:.76rem;min-height:0}
.status-pill.status-active{border-color:color-mix(in srgb,var(--good) 55%,var(--line));color:var(--good);background:color-mix(in srgb,var(--good) 10%,transparent)}
.status-pill.status-pending{border-color:color-mix(in srgb,var(--warn) 55%,var(--line));color:var(--warn);background:color-mix(in srgb,var(--warn) 10%,transparent)}
.status-pill.status-rejected,.status-pill.status-disabled{border-color:color-mix(in srgb,var(--bad) 55%,var(--line));color:var(--bad);background:color-mix(in srgb,var(--bad) 10%,transparent)}
.device-detail-panel .table-wrap{max-height:260px}
@media(max-width:980px){.device-detail-subgrid.grid.cols-2,.device-overview-grid.grid.cols-4{grid-template-columns:1fr}.row-actions{min-width:180px}}

/* WEB30.1.80_DATALOGGER_TELEMETRY_DATA_VIEW */
.telemetry-overview-grid{margin-bottom:var(--gap)}
.telemetry-filter-bar{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.35fr) minmax(260px,auto) auto;gap:10px;align-items:end;margin:10px 0 14px}
.telemetry-filter-bar label{display:flex;flex-direction:column;gap:5px;font-size:.84rem;color:var(--muted)}
.telemetry-filter-bar select{min-height:34px}
.range-selector{display:flex;gap:5px;flex-wrap:wrap;align-items:center}
.range-selector .active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--text)}
.mini-label{display:block;font-size:.78rem;margin-bottom:5px}
.telemetry-selected-hint{color:var(--muted);font-size:.86rem;margin:8px 0 4px}
.telemetry-data-grid{align-items:start;margin-top:var(--gap)}
.telemetry-data-grid h4{margin:4px 0 8px}
@media(max-width:980px){.telemetry-filter-bar{grid-template-columns:1fr}.telemetry-data-grid.grid.cols-2{grid-template-columns:1fr}}

/* WEB30.1.85_DATALOGGER_LOGS_DEVICE_FILTER_CLEAR_FIX */
.datalogger-clean-version-badge{display:inline-flex;align-items:center;gap:8px;margin:0 0 10px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--good) 55%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--good) 10%,transparent);color:var(--text);font-size:.82rem}
.datalogger-log-filter-bar{display:grid;grid-template-columns:minmax(180px,1fr) 140px minmax(220px,1.2fr) 110px auto auto auto;gap:10px;align-items:end;margin:10px 0 14px}
.datalogger-log-filter-bar label{display:flex;flex-direction:column;gap:5px;font-size:.84rem;color:var(--muted)}
.datalogger-log-filter-bar select,.datalogger-log-filter-bar input{min-height:34px}
.datalogger-report-table td:nth-child(2){min-width:180px}.datalogger-report-table td:last-child{min-width:240px}
.datalogger-report-shell{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:var(--gap);align-items:start}
.datalogger-report-devices-panel{position:sticky;top:12px}
.datalogger-device-report-list{display:flex;flex-direction:column;gap:8px;max-height:540px;overflow:auto;padding-inline-end:4px}
.device-report-item{width:100%;text-align:start;border:1px solid var(--line);background:rgba(255,255,255,.035);color:var(--text);border-radius:14px;padding:10px 12px;cursor:pointer}
.device-report-item:hover,.device-report-item.active{border-color:var(--accent);background:rgba(255,68,68,.16)}
.device-report-item b{display:block;font-size:.92rem}.device-report-item small{display:block;color:var(--muted);margin-top:3px;line-height:1.35}
.datalogger-log-filter-bar.compact{grid-template-columns:140px minmax(220px,1fr) 110px auto auto auto}
@media(max-width:980px){.datalogger-log-filter-bar{grid-template-columns:1fr}.datalogger-report-table td:nth-child(2),.datalogger-report-table td:last-child{min-width:160px}.datalogger-report-shell{grid-template-columns:1fr}.datalogger-report-devices-panel{position:static}.datalogger-log-filter-bar.compact{grid-template-columns:1fr}}

/* WEB30.1.89_DATALOGGER_TELEMETRY_DEVICE_SENSOR_VIEW */
.telemetry-device-summary{margin:8px 0 12px;background:color-mix(in srgb,var(--panel) 92%,var(--accent) 8%)}
.telemetry-source-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 10px}
.telemetry-source-tabs .source-tab{border:1px solid var(--line);background:rgba(255,255,255,.035);color:var(--text);border-radius:14px;padding:8px 12px;min-width:112px;text-align:start;cursor:pointer}
.telemetry-source-tabs .source-tab b{display:block;font-size:.86rem;line-height:1.15}
.telemetry-source-tabs .source-tab small{display:block;color:var(--muted);font-size:.72rem;margin-top:3px}
.telemetry-source-tabs .source-tab:hover,.telemetry-source-tabs .source-tab.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,transparent)}
@media(max-width:720px){.telemetry-source-tabs .source-tab{min-width:calc(50% - 4px)}}


/* WEB30.1.90_DATALOGGER_OPERATIONAL_DASHBOARD */
.dashboard-datalogger-panel{margin-top:var(--gap)}
.dashboard-datalogger-grid>section{min-width:0}
.dashboard-datalogger-panel h4{margin:.2rem 0 .6rem}

/* WEB30.1.92_DATALOGGER_PROFESSIONAL_DASHBOARD */
.dashboard-pro-shell{display:flex;flex-direction:column;gap:var(--gap)}
.dashboard-pro-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}
.dashboard-pro-strip section{border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));border-radius:18px;padding:13px 14px;min-width:0}
.dashboard-pro-strip span,.dashboard-pro-eyebrow{display:block;color:var(--muted);font-size:.78rem;letter-spacing:.02em}
.dashboard-pro-strip b{display:block;font-size:1.35rem;line-height:1.1;margin:7px 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-pro-strip small{display:block;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-pro-panel{border:1px solid var(--line);background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 96%,var(--accent) 4%),var(--panel));border-radius:22px;padding:16px;box-shadow:0 18px 45px rgba(0,0,0,.16);overflow:hidden}
.dashboard-pro-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:14px}
.dashboard-pro-header h3{font-size:1.45rem;margin:3px 0 2px;letter-spacing:.01em}
.dashboard-pro-header p{margin:0;color:var(--muted)}
.dashboard-pro-status{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end;color:var(--muted);font-size:.82rem}
.dashboard-pro-device-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.dashboard-pro-device-grid article{border:1px solid var(--line);background:rgba(0,0,0,.13);border-radius:17px;padding:13px;min-width:0}
.dashboard-pro-device-grid span{display:block;color:var(--muted);font-size:.78rem;margin-bottom:7px}
.dashboard-pro-device-grid b{display:block;font-size:1.25rem;line-height:1.12;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-pro-device-grid small{display:block;color:var(--muted);margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-pro-section-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-end;margin:16px 0 10px;border-top:1px solid var(--line);padding-top:14px}
.dashboard-pro-section-head h4{margin:0 0 3px;font-size:1.04rem}.dashboard-pro-section-head p{margin:0;color:var(--muted);font-size:.84rem}.dashboard-pro-section-head strong{color:var(--text);font-size:.9rem}
.dashboard-pro-source-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:8px;margin-bottom:12px}
.dashboard-pro-source-tab{border:1px solid var(--line);background:rgba(255,255,255,.035);color:var(--text);border-radius:15px;padding:10px 12px;text-align:start;cursor:pointer;min-height:58px}
.dashboard-pro-source-tab b{display:block;font-size:.9rem;line-height:1.15}.dashboard-pro-source-tab small{display:block;color:var(--muted);font-size:.72rem;margin-top:5px}
.dashboard-pro-source-tab:hover,.dashboard-pro-source-tab.active{border-color:color-mix(in srgb,var(--accent) 70%,var(--line));background:color-mix(in srgb,var(--accent) 16%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 20%,transparent) inset}
.dashboard-pro-group-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0 4px}
.dashboard-pro-group-summary>div{border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:14px;padding:9px 11px;background:rgba(255,255,255,.025)}
.dashboard-pro-group-summary span{display:block;color:var(--muted);font-size:.73rem}.dashboard-pro-group-summary b{display:block;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-pro-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:8px}
.dashboard-pro-metric-card{border:1px solid var(--line);background:rgba(255,255,255,.035);border-radius:18px;padding:13px;min-width:0;box-shadow:0 10px 24px rgba(0,0,0,.10)}
.dashboard-pro-metric-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.dashboard-pro-metric-head b{display:block;font-size:.95rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.dashboard-pro-metric-head small{display:block;color:var(--muted);font-size:.72rem;margin-top:4px;line-height:1.25}.dashboard-pro-metric-head>span{color:var(--muted);font-size:.76rem;white-space:nowrap}
.dashboard-pro-value{font-size:1.85rem;font-weight:850;letter-spacing:.01em;margin:10px 0 7px;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-pro-value em{font-style:normal;font-size:.82rem;color:var(--muted);font-weight:650;margin-inline-start:6px}
.dashboard-pro-chart{display:block;width:100%;height:78px;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015));color:var(--accent)}
.dashboard-pro-chart-empty{display:flex;align-items:center;justify-content:center;text-align:center;color:var(--muted);font-size:.8rem;padding:10px}
.dashboard-pro-scale,.dashboard-pro-foot{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:.72rem;margin-top:6px}
.dashboard-pro-bottom-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:var(--gap);margin-top:14px;align-items:start}
.dashboard-pro-bottom-grid h4{margin:.1rem 0 .65rem}.dashboard-pro-table-wrap{max-height:330px;overflow:auto;border:1px solid var(--line);border-radius:14px}.dashboard-pro-table-wrap table{margin:0}.dashboard-pro-report-list{display:flex;flex-direction:column;gap:7px;max-height:330px;overflow:auto}.dashboard-pro-report{display:grid;grid-template-columns:128px minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:8px 10px;background:rgba(255,255,255,.025)}.dashboard-pro-report span,.dashboard-pro-report small{color:var(--muted);font-size:.75rem}.dashboard-pro-report b{font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-pro-report small{grid-column:2 / 4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-pro-empty{border:1px dashed var(--line);border-radius:16px;padding:18px;color:var(--muted);text-align:center;background:rgba(255,255,255,.018)}
@media(max-width:1180px){.dashboard-pro-strip,.dashboard-pro-device-grid,.dashboard-pro-group-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-pro-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-pro-bottom-grid{grid-template-columns:1fr}}
@media(max-width:720px){.dashboard-pro-strip,.dashboard-pro-device-grid,.dashboard-pro-group-summary,.dashboard-pro-card-grid{grid-template-columns:1fr}.dashboard-pro-header,.dashboard-pro-section-head{flex-direction:column;align-items:flex-start}.dashboard-pro-status{justify-content:flex-start}.dashboard-pro-report{grid-template-columns:1fr}.dashboard-pro-report small{grid-column:auto}}

/* WEB30.1.93_DATALOGGER_CLEAN_DASHBOARD */
.dash93-shell{display:flex;flex-direction:column;gap:var(--gap)}
.dash93-kpi-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}
.dash93-kpi-row article,.dash93-device-summary article{border:1px solid var(--line);background:rgba(255,255,255,.035);border-radius:18px;padding:14px;min-width:0}
.dash93-kpi-row span,.dash93-device-summary span,.dash93-label{display:block;color:var(--muted);font-size:.76rem;letter-spacing:.02em;text-transform:none}
.dash93-kpi-row b,.dash93-device-summary b{display:block;font-size:1.35rem;line-height:1.1;margin:7px 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash93-kpi-row small,.dash93-device-summary small{display:block;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash93-panel{border:1px solid var(--line);background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 97%,var(--accent) 3%),var(--panel));border-radius:22px;padding:18px;box-shadow:0 16px 42px rgba(0,0,0,.13)}
.dash93-hero{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:14px}
.dash93-hero h3{font-size:1.65rem;margin:4px 0 3px;letter-spacing:.01em}.dash93-hero p{margin:0;color:var(--muted)}
.dash93-status{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap;color:var(--muted);font-size:.82rem}
.dash93-device-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 16px}
.dash93-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:4px 0 10px}.dash93-section-title h4{margin:0 0 3px;font-size:1.02rem}.dash93-section-title p{margin:0;color:var(--muted);font-size:.84rem}.dash93-section-title strong{color:var(--text);font-size:.9rem}.dash93-section-title.compact{margin:0 0 9px;display:block}
.dash93-group-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px;margin-bottom:14px}
.dash93-group{border:1px solid var(--line);background:rgba(255,255,255,.026);color:var(--text);border-radius:16px;padding:12px;text-align:start;cursor:pointer;min-height:76px}
.dash93-group b{display:block;font-size:.96rem;line-height:1.15}.dash93-group span,.dash93-group small{display:block;color:var(--muted);font-size:.76rem;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash93-group:hover,.dash93-group.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent)}
.dash93-focus-card{border:1px solid var(--line);border-radius:20px;background:rgba(0,0,0,.12);padding:14px;margin-top:6px}.dash93-focus-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;margin-bottom:12px}.dash93-focus-head span,.dash93-focus-head small{display:block;color:var(--muted);font-size:.76rem}.dash93-focus-head h4{margin:3px 0 0;font-size:1.15rem}.dash93-focus-head b{display:block;text-align:end;font-size:1.15rem}
.dash93-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.dash93-metric-card{border:1px solid color-mix(in srgb,var(--line) 90%,transparent);background:rgba(255,255,255,.035);border-radius:18px;padding:13px;min-width:0}.dash93-metric-top{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:.78rem}.dash93-metric-top b{color:var(--text);font-size:.94rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash93-metric-value{font-size:1.7rem;font-weight:850;margin:10px 0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash93-metric-card small{display:block;color:var(--muted);font-size:.73rem;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash93-mini-chart{display:flex;width:100%;height:56px;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:14px;background:rgba(255,255,255,.025);color:var(--accent)}.dash93-mini-chart.empty{align-items:center;justify-content:center;color:var(--muted);font-size:.75rem;text-transform:lowercase}
.dash93-bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.46fr);gap:var(--gap);margin-top:14px}.dash93-bottom>section{border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.022);padding:13px}.dash93-activity{display:flex;flex-direction:column;gap:7px}.dash93-activity>div{display:grid;grid-template-columns:132px minmax(0,1fr) auto;gap:8px;align-items:center;border-bottom:1px solid color-mix(in srgb,var(--line) 80%,transparent);padding:7px 0}.dash93-activity span{color:var(--muted);font-size:.78rem}.dash93-activity b{font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash93-actions p{color:var(--muted);font-size:.86rem;margin:.2rem 0 .8rem}.dash93-actions button{margin-inline-end:8px;margin-bottom:6px}.dash93-empty{border:1px dashed var(--line);border-radius:16px;padding:16px;color:var(--muted);text-align:center;background:rgba(255,255,255,.016)}
@media(max-width:1180px){.dash93-kpi-row,.dash93-device-summary,.dash93-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash93-bottom{grid-template-columns:1fr}}
@media(max-width:720px){.dash93-kpi-row,.dash93-device-summary,.dash93-metric-grid,.dash93-focus-head{grid-template-columns:1fr}.dash93-hero,.dash93-section-title{flex-direction:column;align-items:flex-start}.dash93-status{justify-content:flex-start}.dash93-activity>div{grid-template-columns:1fr}.dash93-focus-head b{text-align:start}}

/* WEB30.1.96_DATALOGGER_SENSOR_CHARTS_GRAPH_FIRST */
.sensor-chart-page{margin-top:var(--gap)}
.sensor-chart-toolbar{margin-bottom:10px}
.sensor-chart-control-strip{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;gap:10px;align-items:end;margin:8px 0 12px}
.sensor-chart-control-strip label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:.84rem}
.sensor-chart-control-strip select{min-height:36px}
.sensor-chart-picked-line{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025);padding:10px 12px;margin:8px 0 10px;color:var(--text);font-weight:700}
.sensor-chart-source-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 12px}
.sensor-chart-source-tabs .source-tab{border:1px solid var(--line);background:rgba(255,255,255,.025);color:var(--text);border-radius:999px;padding:8px 13px;cursor:pointer}
.sensor-chart-source-tabs .source-tab b{font-size:.84rem}
.sensor-chart-source-tabs .source-tab:hover,.sensor-chart-source-tabs .source-tab.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent)}
.sensor-chart-shell{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:var(--gap);align-items:start;margin-top:var(--gap)}
.sensor-chart-side{position:sticky;top:12px}
.sensor-chart-side h4,.sensor-chart-main h4{margin:2px 0 10px}
.sensor-chart-metric-list{display:flex;flex-direction:column;gap:8px;max-height:620px;overflow:auto;padding-inline-end:4px}
.sensor-chart-metric-card{width:100%;text-align:start;border:1px solid var(--line);background:rgba(255,255,255,.025);color:var(--text);border-radius:14px;padding:11px 12px;cursor:pointer}
.sensor-chart-metric-card:hover,.sensor-chart-metric-card.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,transparent)}
.sensor-chart-metric-card b{display:block;font-size:.92rem;line-height:1.18}
.sensor-chart-metric-card span{display:block;color:var(--muted);font-size:.72rem;margin-top:4px;direction:ltr;unicode-bidi:bidi-override;overflow-wrap:anywhere}
.sensor-chart-panel{min-height:460px;padding:16px}
.sensor-chart-panel .simple-chart{height:390px}
.sensor-chart-panel .empty-chart{min-height:390px}
.sensor-visual-chart{width:100%;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012));padding:8px;color:var(--accent)}
.chart-empty-visual{display:flex;align-items:center;justify-content:center;border:1px dashed var(--line);border-radius:18px;background:rgba(255,255,255,.018);color:var(--muted)}
.sensor-chart-head{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:12px}
.sensor-chart-head b{display:block;font-size:1.05rem}.sensor-chart-head small{display:block;color:var(--muted);margin-top:3px;direction:ltr;unicode-bidi:bidi-override}
@media(max-width:980px){.sensor-chart-control-strip{grid-template-columns:1fr}.sensor-chart-shell{grid-template-columns:1fr}.sensor-chart-side{position:static}.sensor-chart-metric-list{max-height:300px}.sensor-chart-panel .simple-chart,.sensor-chart-panel .empty-chart{height:300px;min-height:300px}}


/* WEB30.1.101 - Datalogger Live Data */
.live-view-shell{display:flex;flex-direction:column;gap:var(--gap)}
.live-toolbar-panel .telemetry-filter-bar{margin-top:10px}.live-refresh-note{align-self:end;color:var(--muted);font-size:.82rem;padding:8px 0}
.live-device-panel{border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 94%,var(--accent) 6%),var(--panel))}
.live-device-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px}.live-device-head h3{margin:3px 0;font-size:1.45rem}.live-device-head p{margin:0;color:var(--muted)}.live-label{display:block;color:var(--muted);font-size:.75rem;letter-spacing:.03em;text-transform:uppercase}
.live-online-badge{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-weight:850;letter-spacing:.04em}.live-online-badge span{width:11px;height:11px;border-radius:50%;background:var(--muted)}.live-online-badge.online{border-color:color-mix(in srgb,var(--good) 65%,var(--line));color:var(--good)}.live-online-badge.online span{background:var(--good);box-shadow:0 0 0 6px rgba(34,197,94,.14)}.live-online-badge.offline{border-color:color-mix(in srgb,var(--bad) 60%,var(--line));color:var(--bad)}.live-online-badge.offline span{background:var(--bad)}
.live-status-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.live-status-grid article{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.035);padding:12px;min-width:0}.live-status-grid span{display:block;color:var(--muted);font-size:.74rem}.live-status-grid b{display:block;margin:6px 0 4px;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-status-grid small{display:block;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.live-signal-bars{display:inline-flex;align-items:flex-end;gap:3px;height:22px}.live-signal-bars i{display:block;width:7px;border-radius:4px;background:color-mix(in srgb,var(--muted) 45%,transparent)}.live-signal-bars i:nth-child(1){height:7px}.live-signal-bars i:nth-child(2){height:11px}.live-signal-bars i:nth-child(3){height:15px}.live-signal-bars i:nth-child(4){height:20px}.live-signal-bars i.on{background:var(--accent)}
.live-data-panel{display:flex;flex-direction:column;gap:var(--gap)}.live-sensor-section{border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.024);padding:14px}.live-section-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-end;margin-bottom:10px}.live-section-head h4{margin:0 0 3px;font-size:1.05rem}.live-section-head p{margin:0;color:var(--muted);font-size:.82rem}.live-section-head span{color:var(--muted);font-size:.75rem;border:1px solid var(--line);border-radius:999px;padding:4px 8px}
.live-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.live-metric-card{border:1px solid color-mix(in srgb,var(--line) 88%,transparent);border-radius:18px;background:rgba(0,0,0,.11);padding:12px;min-width:0}.live-metric-card.live-quality-ok{border-color:color-mix(in srgb,var(--good) 22%,var(--line))}.live-metric-card.live-quality-warn{border-color:color-mix(in srgb,var(--warn) 48%,var(--line))}.live-metric-top{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:.75rem}.live-metric-top b{color:var(--text);font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-metric-top span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-metric-value{display:flex;align-items:baseline;gap:8px;margin:9px 0}.live-metric-value strong{font-size:1.65rem;line-height:1;font-weight:900}.live-metric-value em{color:var(--muted);font-style:normal}.live-metric-foot{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:.72rem}.live-metric-foot small,.live-metric-foot time{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-empty{border:1px dashed var(--line);border-radius:18px;color:var(--muted);text-align:center;padding:28px;background:rgba(255,255,255,.018)}
@media(max-width:1180px){.live-status-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.live-device-head,.live-section-head{flex-direction:column;align-items:flex-start}.live-status-grid{grid-template-columns:1fr}.live-metric-grid{grid-template-columns:1fr}}

/* WEB30.1.103 - Live Data readability/freshness cleanup */
.live-metric-card.live-freshness-fresh{box-shadow:0 0 0 1px color-mix(in srgb,var(--good) 20%,transparent) inset}
.live-metric-card.live-freshness-recent{box-shadow:0 0 0 1px color-mix(in srgb,#38bdf8 16%,transparent) inset}
.live-metric-card.live-freshness-stale{border-color:color-mix(in srgb,var(--warn) 58%,var(--line));opacity:.82}
.live-metric-card.live-freshness-stale .live-metric-foot time{color:var(--warn);font-weight:800}
.live-metric-foot{align-items:flex-end}
.live-metric-foot time{text-align:right;max-width:58%;line-height:1.25}
.live-refresh-note{font-weight:750;color:var(--text)}
.live-device-filter-bar{grid-template-columns:minmax(190px,1fr) auto minmax(180px,.75fr) minmax(240px,auto)}
.live-load-device-btn{min-height:34px;align-self:end;white-space:nowrap}
.live-load-device-btn.attention{box-shadow:0 0 0 2px rgba(45,212,191,.28)}
.live-selected-note{align-self:end;color:var(--text);font-size:.82rem;font-weight:800;padding:8px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:980px){.live-device-filter-bar{grid-template-columns:1fr}.live-selected-note{white-space:normal}}


/* WEB30.1.105 - Telemetry visual user-friendly view */
.telemetry-graphic-page{margin-top:var(--gap);display:flex;flex-direction:column;gap:12px}
.telemetry-graphic-toolbar{margin-bottom:0}
.telemetry-visual-overview .metric-card .value{font-size:1.15rem}
.telemetry-visual-filter-bar{grid-template-columns:minmax(190px,1fr) minmax(200px,1fr) minmax(260px,auto) auto}
.telemetry-visual-hint{border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.024);padding:9px 11px;color:var(--text);font-weight:750}
.telemetry-visual-layout{display:grid;grid-template-columns:minmax(340px,.92fr) minmax(0,1.08fr);gap:var(--gap);align-items:start}
.telemetry-chart-hero,.telemetry-card-panel{border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.014));padding:14px;min-width:0;box-shadow:0 12px 30px rgba(0,0,0,.10)}
.telemetry-chart-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.telemetry-chart-title>div{display:flex;align-items:center;gap:10px;min-width:0}.telemetry-chart-title span{font-size:1.7rem}.telemetry-chart-title h4{margin:0;font-size:1.08rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.telemetry-chart-title small{display:block;color:var(--muted);font-size:.78rem;margin-top:3px}
.telemetry-chart-body{border:1px solid color-mix(in srgb,var(--accent) 20%,var(--line));border-radius:18px;background:radial-gradient(circle at 15% 10%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 30%),rgba(0,0,0,.10);padding:10px;overflow:hidden}
.telemetry-chart-body .simple-chart{height:260px}.telemetry-chart-body .empty-chart{min-height:260px}.telemetry-chart-body .sensor-visual-chart{border:0;background:transparent;padding:0;height:260px}
.telemetry-chart-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}.telemetry-chart-stats article{border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.026);padding:9px;min-width:0}.telemetry-chart-stats span{display:block;color:var(--muted);font-size:.72rem}.telemetry-chart-stats b{display:block;margin-top:4px;font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.telemetry-chart-stats small{display:block;color:var(--muted);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.telemetry-card-panel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:10px}.telemetry-card-panel-head h4{margin:0}.telemetry-card-panel-head span{color:var(--muted);font-size:.8rem;border:1px solid var(--line);border-radius:999px;padding:4px 8px}
.telemetry-visual-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.telemetry-visual-card{width:100%;border:1px solid var(--line);border-radius:19px;background:rgba(0,0,0,.10);color:var(--text);padding:12px;text-align:start;cursor:pointer;min-width:0;transition:border-color .16s ease,background .16s ease,transform .16s ease}.telemetry-visual-card:hover,.telemetry-visual-card.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);transform:translateY(-1px)}
.telemetry-visual-card.tone-env{background:linear-gradient(180deg,color-mix(in srgb,var(--good) 9%,transparent),rgba(0,0,0,.08))}.telemetry-visual-card.tone-light{background:linear-gradient(180deg,color-mix(in srgb,var(--warn) 10%,transparent),rgba(0,0,0,.08))}.telemetry-visual-card.tone-air{background:linear-gradient(180deg,color-mix(in srgb,#38bdf8 10%,transparent),rgba(0,0,0,.08))}.telemetry-visual-card.tone-motion{background:linear-gradient(180deg,color-mix(in srgb,#a78bfa 10%,transparent),rgba(0,0,0,.08))}.telemetry-visual-card.tone-gps{background:linear-gradient(180deg,color-mix(in srgb,var(--bad) 8%,transparent),rgba(0,0,0,.08))}.telemetry-visual-card.tone-system{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 9%,transparent),rgba(0,0,0,.08))}
.telemetry-visual-top{display:flex;align-items:center;gap:9px;min-width:0}.telemetry-visual-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.04);font-size:1.2rem;flex:0 0 auto}.telemetry-visual-top b{display:block;font-size:.9rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.telemetry-visual-top small{display:block;color:var(--muted);font-size:.72rem;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.telemetry-visual-value{display:flex;align-items:baseline;gap:6px;margin:10px 0 8px}.telemetry-visual-value strong{font-size:1.75rem;line-height:1;font-weight:900}.telemetry-visual-value em{font-style:normal;color:var(--muted);font-size:.82rem;white-space:nowrap}
.telemetry-mini-spark{width:100%;height:46px;color:var(--accent);border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:12px;background:rgba(255,255,255,.022);padding:4px}.telemetry-mini-spark.empty{display:grid;place-items:center;color:var(--muted);font-size:.76rem;text-align:center}
.telemetry-visual-foot{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:.72rem;margin-top:8px}.telemetry-visual-foot span,.telemetry-visual-foot time{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.telemetry-visual-foot time{text-align:right}
.telemetry-visual-empty{border:1px dashed var(--line);border-radius:18px;padding:26px;text-align:center;color:var(--muted);background:rgba(255,255,255,.018)}
.telemetry-raw-details{border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.018);padding:0 12px}.telemetry-raw-details summary{cursor:pointer;padding:12px 2px;font-weight:800;color:var(--muted)}.telemetry-raw-details[open]{padding-bottom:12px}.telemetry-raw-details[open] summary{color:var(--text)}
@media(max-width:1180px){.telemetry-visual-layout{grid-template-columns:1fr}.telemetry-chart-body .simple-chart,.telemetry-chart-body .sensor-visual-chart{height:230px}.telemetry-chart-body .empty-chart{min-height:230px}}
@media(max-width:980px){.telemetry-visual-filter-bar{grid-template-columns:1fr}.telemetry-chart-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.telemetry-visual-grid{grid-template-columns:1fr}.telemetry-chart-title{flex-direction:column}.telemetry-chart-stats{grid-template-columns:1fr}.telemetry-visual-value strong{font-size:1.45rem}}


/* WEB30.1.106 - Datalogger Monitor View inspired by graphical environmental dashboards */
.monitor-view-shell{display:flex;flex-direction:column;gap:14px;background:radial-gradient(circle at 50% 0%,rgba(30,64,110,.34),transparent 42%),linear-gradient(135deg,rgba(5,18,32,.72),rgba(8,18,31,.48));border:1px solid color-mix(in srgb,var(--line) 75%,transparent);border-radius:26px;padding:16px 18px 18px;box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 18px 46px rgba(0,0,0,.16)}
.monitor-dashboard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:8px 4px 8px}.monitor-dashboard-title h2{margin:0 0 4px;font-size:2.05rem;line-height:1;font-weight:950;letter-spacing:-.035em}.monitor-dashboard-title p{margin:0;color:var(--muted);font-size:.93rem}.monitor-dashboard-title small{display:block;margin-top:8px;color:#93c5fd;font-weight:800;letter-spacing:.015em}.monitor-kicker{display:none}.monitor-dashboard-status{display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:220px}.monitor-dashboard-status small{font-weight:750;color:color-mix(in srgb,var(--text) 82%,var(--muted))}.monitor-connected{display:inline-flex;align-items:center;gap:8px;font-weight:950;color:var(--muted)}.monitor-connected i{width:12px;height:12px;border-radius:50%;background:var(--muted);box-shadow:0 0 0 6px color-mix(in srgb,var(--muted) 14%,transparent)}.monitor-connected.online{color:var(--good)}.monitor-connected.online i{background:var(--good);box-shadow:0 0 0 6px rgba(34,197,94,.14)}.monitor-connected.offline{color:var(--bad)}.monitor-connected.offline i{background:var(--bad);box-shadow:0 0 0 6px rgba(239,68,68,.12)}
.monitor-control-strip{display:flex;align-items:center;justify-content:flex-end;gap:8px;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:18px;padding:8px 10px;background:rgba(5,13,23,.30)}.monitor-control-strip label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.78rem;min-width:260px}.monitor-control-strip select{min-height:34px}.monitor-range-control{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.monitor-range-control .mini-label{margin-inline-end:2px}.monitor-range-control .telemetry-range-buttons{margin:0}.monitor-control-strip .ghost-btn,.monitor-control-strip .primary-btn{min-height:34px;padding:7px 12px}.monitor-control-strip .monitor-load-btn{border-color:color-mix(in srgb,var(--accent) 44%,var(--line));background:color-mix(in srgb,var(--accent) 11%,transparent);color:var(--text)}
.monitor-card-grid{display:grid;grid-template-columns:repeat(4,minmax(250px,1fr));gap:14px}.monitor-card{position:relative;min-width:0;border:1px solid color-mix(in srgb,var(--monitor-tone) 44%,var(--line));border-radius:22px;padding:18px 18px 16px;background:radial-gradient(circle at 50% 28%,color-mix(in srgb,var(--monitor-tone) 12%,transparent),transparent 36%),linear-gradient(180deg,rgba(20,39,59,.90),rgba(7,18,30,.94));box-shadow:0 18px 42px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.05);overflow:hidden}.monitor-card::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,color-mix(in srgb,var(--monitor-tone) 9%,transparent),transparent 28%);opacity:.9;pointer-events:none}.monitor-card>*{position:relative;z-index:1}.monitor-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.monitor-card-head>div{display:flex;align-items:center;gap:12px;min-width:0}.monitor-card-head span{font-size:1.48rem;filter:drop-shadow(0 6px 10px color-mix(in srgb,var(--monitor-tone) 25%,transparent))}.monitor-card-head b{font-size:1.12rem;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monitor-card-menu{border:0;background:transparent;color:color-mix(in srgb,var(--text) 70%,var(--muted));font-weight:950;letter-spacing:.16em;cursor:pointer;padding:4px 2px}.monitor-card-menu:hover{color:var(--text)}
.monitor-gauge-svg-wrap{position:relative;height:255px;display:grid;place-items:center;margin-top:0}.monitor-gauge-svg{width:min(100%,304px);height:222px;overflow:visible}.monitor-gauge-track{fill:none;stroke:rgba(78,105,130,.34);stroke-width:18;stroke-linecap:butt}.monitor-gauge-fill{fill:none;stroke:var(--monitor-tone);stroke-width:18;stroke-linecap:butt;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--monitor-tone) 42%,transparent))}.monitor-gauge-minor{stroke:rgba(221,235,248,.42);stroke-width:1.15;stroke-linecap:round}.monitor-gauge-tick{stroke:rgba(241,245,249,.82);stroke-width:2.2;stroke-linecap:round}.monitor-gauge-label{fill:#c7d7e8;font-size:11.5px;font-weight:850;text-anchor:middle;dominant-baseline:middle}.monitor-gauge-needle-line{stroke:#f8fafc;stroke-width:4.6;stroke-linecap:round;filter:drop-shadow(0 4px 8px rgba(0,0,0,.38));opacity:.92}.monitor-gauge-hub-dot{fill:#f8fafc;stroke:var(--monitor-tone);stroke-width:3}.monitor-gauge-readout{position:absolute;left:50%;top:136px;transform:translateX(-50%);display:flex;align-items:baseline;justify-content:center;gap:6px;white-space:nowrap;padding:8px 12px 7px;border-radius:18px;background:radial-gradient(ellipse at center,rgba(8,18,31,.88) 0%,rgba(8,18,31,.72) 58%,rgba(8,18,31,0) 78%);text-shadow:0 5px 18px rgba(0,0,0,.52);z-index:3}.monitor-gauge-readout strong{font-size:clamp(2.65rem,3.3vw,3.38rem);line-height:.9;font-weight:950;letter-spacing:-.05em;color:#f8fafc}.monitor-gauge-readout.monitor-gauge-readout-long strong{font-size:clamp(2.3rem,2.8vw,3rem)}.monitor-gauge-readout em{font-style:normal;color:var(--monitor-tone);font-weight:950;font-size:1.03rem;text-transform:none}
.monitor-card-divider{height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--line) 85%,transparent),transparent);margin:0 0 10px}.monitor-card-divider.thin{margin:11px 0 10px}.monitor-trend-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}.monitor-trend-head span,.monitor-trend-head small{color:#b7c6d6;font-size:.82rem}.monitor-trend{height:118px;color:var(--monitor-tone);border:1px solid rgba(148,163,184,.18);border-radius:16px;background:linear-gradient(180deg,color-mix(in srgb,var(--monitor-tone) 8%,transparent),rgba(0,0,0,.08));padding:6px 8px 5px;overflow:hidden}.monitor-trend-plot{height:82px}.monitor-trend .telemetry-mini-spark{height:82px;width:100%;border:0;background:transparent;color:var(--monitor-tone);padding:0;border-radius:0}.monitor-trend .telemetry-mini-spark.empty{display:grid;place-items:center;height:82px;color:var(--muted);font-size:.75rem}.monitor-trend-axis{display:flex;justify-content:space-between;gap:8px;margin-top:5px;color:#9fb1c4;font-size:.72rem;white-space:nowrap;overflow:hidden}.monitor-trend-axis span{min-width:0;overflow:hidden;text-overflow:ellipsis}.monitor-card-status{display:flex;align-items:center;gap:11px}.monitor-card-status>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--good);color:#fff;font-weight:950;box-shadow:0 8px 20px rgba(34,197,94,.18)}.monitor-card-status b{display:block;font-size:.96rem}.monitor-card-status small{display:block;color:var(--muted);font-size:.78rem;margin-top:2px}.monitor-card-status.status-warn>span,.monitor-card-status.status-stale>span{background:var(--warn)}.monitor-card-status.status-empty>span{background:var(--muted)}.monitor-raw-link{border:1px dashed var(--line);border-radius:18px;padding:10px 12px;background:rgba(255,255,255,.018)}.monitor-raw-link>summary{cursor:pointer;color:var(--muted);font-weight:800}.monitor-raw-link .telemetry-raw-details{margin-top:10px;border:0;padding:0;background:transparent}
@media(max-width:1500px){.monitor-card-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}}
@media(max-width:980px){.monitor-control-strip{justify-content:flex-start;flex-wrap:wrap}.monitor-control-strip label{min-width:min(100%,320px)}}
@media(max-width:820px){.monitor-card-grid{grid-template-columns:1fr}.monitor-dashboard-header{flex-direction:column}.monitor-dashboard-status{align-items:flex-start;min-width:0}.monitor-gauge-svg-wrap{height:248px}.monitor-gauge-readout strong{font-size:2.75rem}}

/* WEB30_1_109 - monitor reference-style refinement */
.monitor-view-shell{
  gap:12px;
  padding:14px 18px 18px;
  background:linear-gradient(180deg,#081827 0%,#061320 100%);
  border-color:rgba(80,118,150,.28);
  border-radius:10px;
}
.monitor-dashboard-header{padding:6px 4px 8px}.monitor-dashboard-title h2{font-size:1.92rem}.monitor-dashboard-title p{font-size:.9rem}.monitor-dashboard-title small{font-size:.78rem;color:#9bc9ef}.monitor-dashboard-status small{font-size:.78rem}
.monitor-control-strip{
  border-radius:12px;
  padding:7px 10px;
  background:rgba(3,12,22,.56);
  border-color:rgba(101,132,160,.28);
}
.monitor-card-grid{gap:12px;align-items:stretch}.monitor-card{
  border-radius:8px;
  padding:16px 16px 15px;
  background:radial-gradient(circle at 50% 36%,color-mix(in srgb,var(--monitor-tone) 7%,transparent),transparent 34%),linear-gradient(180deg,#10243a 0%,#071623 96%);
  border-color:color-mix(in srgb,var(--monitor-tone) 30%,rgba(96,130,160,.36));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 12px 28px rgba(0,0,0,.24);
}
.monitor-card::before{background:linear-gradient(130deg,color-mix(in srgb,var(--monitor-tone) 5%,transparent),transparent 32%);opacity:.85}.monitor-card-head{margin-bottom:6px}.monitor-card-head>div{gap:11px}.monitor-card-head b{font-size:1.08rem;letter-spacing:-.018em}.monitor-card-icon{width:25px;height:25px;color:var(--monitor-tone);fill:none;stroke:currentColor;stroke-width:2.15;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 6px 12px color-mix(in srgb,var(--monitor-tone) 38%,transparent))}.monitor-card-menu{font-size:.95rem;line-height:1}
.monitor-gauge-svg-wrap{height:238px;margin-top:2px;display:grid;place-items:center}.monitor-gauge-svg{width:min(100%,300px);height:226px;overflow:visible}.monitor-gauge-track{stroke:rgba(91,119,145,.34);stroke-width:18;stroke-linecap:butt}.monitor-gauge-fill{stroke:var(--monitor-tone);stroke-width:18;stroke-linecap:butt;filter:drop-shadow(0 0 9px color-mix(in srgb,var(--monitor-tone) 48%,transparent))}.monitor-gauge-minor{stroke:rgba(224,237,248,.38);stroke-width:1.15}.monitor-gauge-tick{stroke:rgba(246,250,255,.86);stroke-width:2.35}.monitor-gauge-label{fill:#d8e9fa;font-size:10.8px;font-weight:900;text-anchor:middle;dominant-baseline:middle}.monitor-gauge-needle-line{stroke:#f8fafc;stroke-width:4.2;stroke-linecap:round;filter:drop-shadow(0 4px 8px rgba(0,0,0,.52));opacity:.94}.monitor-gauge-hub-shadow{fill:rgba(7,16,27,.72);stroke:rgba(255,255,255,.10);stroke-width:1}.monitor-gauge-hub-dot{fill:#f8fafc;stroke:var(--monitor-tone);stroke-width:3.4}.monitor-gauge-readout{top:132px;min-width:142px;padding:9px 15px 10px;gap:6px;border-radius:22px;background:radial-gradient(ellipse at center,rgba(7,16,28,.98) 0%,rgba(7,16,28,.91) 54%,rgba(7,16,28,.20) 82%,rgba(7,16,28,0) 100%);box-shadow:0 0 0 10px rgba(7,16,28,.18);z-index:4}.monitor-gauge-readout strong{font-size:clamp(2.75rem,3.05vw,3.45rem);line-height:.86;font-weight:950;letter-spacing:-.06em}.monitor-gauge-readout.monitor-gauge-readout-long strong{font-size:clamp(2.45rem,2.75vw,3.02rem)}.monitor-gauge-readout em{font-size:1.02rem;font-weight:950;color:var(--monitor-tone)}
.monitor-card-divider{margin:2px 0 10px;background:linear-gradient(90deg,transparent,rgba(114,142,168,.34),transparent)}.monitor-trend-head{margin-bottom:6px}.monitor-trend-head span,.monitor-trend-head small{font-size:.78rem;color:#c5d5e4}.monitor-trend{height:112px;border-radius:8px;padding:5px 7px 5px;background:linear-gradient(180deg,color-mix(in srgb,var(--monitor-tone) 8%,transparent),rgba(5,13,23,.46));border-color:rgba(120,148,174,.20)}.monitor-trend-plot{height:76px}.monitor-trend-svg{height:76px;width:100%;display:block;color:var(--monitor-tone)}.monitor-trend-line{fill:none;stroke:currentColor;stroke-width:2.2;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.monitor-trend-area{fill:currentColor;opacity:.10}.monitor-trend-yaxis text{fill:#c8d8e8;font-size:6.6px;font-weight:700;text-anchor:start;dominant-baseline:middle}.monitor-trend-empty{height:76px;display:grid;place-items:center;color:#8ea3b7;font-size:.76rem}.monitor-trend-axis{margin-top:3px;font-size:.70rem;color:#aec2d5}.monitor-card-divider.thin{margin:10px 0 10px}.monitor-card-status{gap:10px}.monitor-card-status>span{width:32px;height:32px}.monitor-card-status b{font-size:.94rem}.monitor-card-status small{font-size:.75rem;color:#b9c9d8}
@media(max-width:1500px){.monitor-card-grid{grid-template-columns:repeat(4,minmax(220px,1fr))}.monitor-gauge-svg{width:min(100%,270px)}.monitor-gauge-readout strong{font-size:clamp(2.45rem,2.8vw,3.1rem)}}
@media(max-width:1220px){.monitor-card-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}.monitor-gauge-svg{width:min(100%,300px)}}
@media(max-width:820px){.monitor-card-grid{grid-template-columns:1fr}.monitor-gauge-svg-wrap{height:232px}.monitor-gauge-readout strong{font-size:2.7rem}}


/* WEB30_1_110 - monitor polish pass */
.monitor-view-shell{
  gap:13px;
  padding:14px 18px 18px;
  background:
    radial-gradient(circle at 18% 4%,rgba(32,95,150,.13),transparent 34%),
    radial-gradient(circle at 82% 0%,rgba(38,71,120,.10),transparent 28%),
    linear-gradient(180deg,#081827 0%,#061421 100%);
}
.monitor-dashboard-header{
  border-bottom:1px solid rgba(126,160,190,.12);
  padding:4px 2px 12px;
}
.monitor-dashboard-title h2{font-size:1.8rem;letter-spacing:-.045em}.monitor-dashboard-title p{margin-top:2px;color:#c1ceda}.monitor-dashboard-title small{display:block;margin-top:7px;color:#8fc7f5;font-weight:700;letter-spacing:.01em}.monitor-dashboard-status{gap:5px}.monitor-connected{font-size:.88rem}.monitor-dashboard-status small{color:#a7bbcd}
.monitor-control-strip{
  padding:8px 10px;
  margin-bottom:-1px;
  border-radius:14px;
  background:linear-gradient(180deg,rgba(6,21,34,.82),rgba(4,14,24,.64));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
.monitor-control-strip label{font-size:.76rem;color:#9ed3ff}.monitor-control-strip select{height:34px;background:#071a2a;border-color:rgba(128,164,196,.36)}.monitor-range-control .telemetry-range-btn,.monitor-control-strip .ghost-btn{height:32px;border-radius:9px;padding:0 11px}.monitor-load-btn{display:none!important}
.monitor-card-grid{gap:12px}.monitor-card{
  min-height:0;
  padding:15px 15px 14px;
  border-radius:9px;
  background:
    radial-gradient(circle at 50% 34%,color-mix(in srgb,var(--monitor-tone) 8%,transparent),transparent 35%),
    linear-gradient(180deg,#10243a 0%,#081827 64%,#07131f 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 14px 30px rgba(0,0,0,.22);
}
.monitor-card-head{min-height:30px;margin-bottom:4px}.monitor-card-head>div{gap:10px}.monitor-card-head b{font-size:1.02rem;font-weight:900}.monitor-card-icon{width:24px;height:24px;stroke-width:2.25}.monitor-card-menu{font-size:.9rem;color:#d6e4f0;opacity:.9}.monitor-card-menu:hover{opacity:1;transform:translateY(-1px)}
.monitor-gauge-svg-wrap{height:230px;margin-top:0}.monitor-gauge-svg{width:min(100%,292px);height:214px}.monitor-gauge-track{stroke-width:17;stroke:rgba(76,103,128,.36)}.monitor-gauge-fill{stroke-width:17}.monitor-gauge-minor{stroke-width:.95;opacity:.88}.monitor-gauge-tick{stroke-width:2.05}.monitor-gauge-label{font-size:10.2px;fill:#d7e9fa;font-weight:850}.monitor-gauge-needle-line{stroke-width:3.9;opacity:.88}.monitor-gauge-hub-shadow{fill:#081421;stroke:rgba(255,255,255,.16);stroke-width:1.1}.monitor-gauge-hub-dot{r:6.2;filter:drop-shadow(0 3px 7px rgba(0,0,0,.45))}
.monitor-gauge-readout{
  top:142px;
  min-width:122px;
  padding:5px 12px 7px;
  border-radius:16px;
  background:linear-gradient(180deg,rgba(7,17,29,.96),rgba(7,17,29,.90));
  box-shadow:0 0 0 5px rgba(7,17,29,.42),0 12px 22px rgba(0,0,0,.16);
}
.monitor-gauge-readout strong{font-size:clamp(2.34rem,2.62vw,3.02rem);line-height:.9;letter-spacing:-.055em}.monitor-gauge-readout.monitor-gauge-readout-long strong{font-size:clamp(2.08rem,2.34vw,2.72rem)}.monitor-gauge-readout em{font-size:.92rem;margin-left:1px}
.monitor-card-divider{margin:0 0 9px}.monitor-trend-head{margin-bottom:5px}.monitor-trend-head span,.monitor-trend-head small{font-size:.76rem}.monitor-trend{height:105px;border-radius:9px;padding:5px 7px 4px;background:linear-gradient(180deg,color-mix(in srgb,var(--monitor-tone) 7%,transparent),rgba(4,14,24,.45))}.monitor-trend-plot,.monitor-trend-svg,.monitor-trend-empty{height:70px}.monitor-trend-line{stroke-width:2}.monitor-trend-area{opacity:.08}.monitor-trend-yaxis text{font-size:6.3px}.monitor-trend-axis{font-size:.66rem;margin-top:2px}.monitor-card-divider.thin{margin:9px 0 9px}.monitor-card-status>span{width:31px;height:31px}.monitor-card-status b{font-size:.9rem}.monitor-card-status small{font-size:.72rem}.monitor-raw-link{margin-top:2px;border-radius:12px;opacity:.88}
@media(max-width:1500px){.monitor-card-grid{grid-template-columns:repeat(4,minmax(210px,1fr))}.monitor-gauge-svg{width:min(100%,262px)}.monitor-gauge-readout strong{font-size:clamp(2.16rem,2.55vw,2.86rem)}}
@media(max-width:1220px){.monitor-card-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}.monitor-gauge-svg{width:min(100%,292px)}}
@media(max-width:820px){.monitor-gauge-svg-wrap{height:222px}.monitor-gauge-readout{top:139px}.monitor-card-grid{grid-template-columns:1fr}}

/* WEB30.1.111 datalogger graphical dashboard pass */
.dash111-shell{display:flex;flex-direction:column;gap:var(--gap)}
.dash111-kpi-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}
.dash111-kpi{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:20px;padding:15px 16px;background:radial-gradient(circle at 12% 10%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 36%),linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));box-shadow:0 14px 34px rgba(0,0,0,.12);min-width:0}
.dash111-kpi::before{content:"";position:absolute;inset:auto 14px 12px 14px;height:3px;border-radius:999px;background:var(--muted);opacity:.24}.dash111-kpi.ok::before{background:var(--good);opacity:.82}.dash111-kpi.warn::before{background:var(--warn);opacity:.86}.dash111-kpi.bad::before{background:var(--bad);opacity:.86}
.dash111-kpi span,.dash111-label,.dash111-device-summary span,.dash111-focus-head span{display:block;color:var(--muted);font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.dash111-kpi b{display:block;font-size:1.48rem;line-height:1.05;margin:8px 0 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash111-kpi small{display:block;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-bottom:4px}
.dash111-panel{border:1px solid var(--line);border-radius:24px;padding:18px;background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 96%,var(--accent) 4%),var(--panel));box-shadow:0 18px 52px rgba(0,0,0,.16)}
.dash111-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:16px;align-items:stretch;margin-bottom:14px}.dash111-hero-main{border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:22px;padding:17px;background:radial-gradient(circle at 12% 15%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 42%),rgba(255,255,255,.026)}.dash111-hero h3{font-size:clamp(1.65rem,2.2vw,2.35rem);letter-spacing:-.045em;margin:4px 0 2px}.dash111-hero p{margin:0;color:var(--muted);direction:ltr;unicode-bidi:bidi-override;overflow-wrap:anywhere}.dash111-hero-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.dash111-live-badge{display:grid;align-content:center;justify-items:start;gap:6px;border:1px solid var(--line);border-radius:22px;padding:18px;background:linear-gradient(135deg,rgba(255,255,255,.04),rgba(0,0,0,.12))}.dash111-live-badge i{width:16px;height:16px;border-radius:50%;background:#64748b;box-shadow:0 0 0 7px rgba(100,116,139,.12)}.dash111-live-badge.online i{background:var(--good);box-shadow:0 0 0 7px rgba(34,197,94,.14),0 0 24px rgba(34,197,94,.50)}.dash111-live-badge.offline i{background:var(--bad);box-shadow:0 0 0 7px rgba(239,68,68,.13),0 0 22px rgba(239,68,68,.36)}.dash111-live-badge b{font-size:1.32rem;letter-spacing:.05em}.dash111-live-badge small{color:var(--muted);line-height:1.4}
.dash111-device-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 16px}.dash111-device-summary article{border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.028);padding:13px;min-width:0}.dash111-device-summary article.ok{border-color:color-mix(in srgb,var(--good) 42%,var(--line))}.dash111-device-summary article.warn{border-color:color-mix(in srgb,var(--warn) 50%,var(--line))}.dash111-device-summary article.bad{border-color:color-mix(in srgb,var(--bad) 50%,var(--line))}.dash111-device-summary b{display:block;font-size:1.08rem;margin:6px 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash111-device-summary small{display:block;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash111-stations{border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.018);padding:12px;margin-bottom:16px}.dash111-station-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:9px}.dash111-station{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:15px;padding:10px;background:rgba(255,255,255,.025)}.dash111-station.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 13%,transparent)}.dash111-station b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash111-station small{display:block;color:var(--muted);font-size:.73rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash111-station time{color:var(--muted);font-size:.72rem;white-space:nowrap}
.dash111-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:4px 0 10px}.dash111-section-title h4{margin:0 0 3px;font-size:1.02rem}.dash111-section-title p,.dash111-section-title small{margin:0;color:var(--muted);font-size:.84rem}.dash111-section-title strong{font-size:.9rem}.dash111-section-title.compact{display:block;margin:0 0 9px}
.dash111-group-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px;margin-bottom:14px}.dash111-group{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;gap:4px 9px;align-items:center;border:1px solid var(--line);background:rgba(255,255,255,.026);color:var(--text);border-radius:17px;padding:11px;text-align:start;cursor:pointer}.dash111-group:hover,.dash111-group.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent);transform:translateY(-1px)}.dash111-group-icon{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:color-mix(in srgb,var(--accent) 13%,transparent);color:var(--accent)}.dash111-group b{font-size:.93rem;line-height:1.12;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash111-group small{color:var(--muted);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash111-icon-svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.05;stroke-linecap:round;stroke-linejoin:round}
.dash111-dashboard-grid{display:grid;grid-template-columns:minmax(420px,1fr) minmax(440px,1.08fr);gap:var(--gap);align-items:stretch}.dash111-sensor-panel,.dash111-chart-card,.dash111-bottom>section{border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.014));padding:14px;min-width:0;box-shadow:0 12px 34px rgba(0,0,0,.10)}.dash111-focus-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;margin-bottom:12px}.dash111-focus-head h4{margin:3px 0 0;font-size:1.15rem}.dash111-focus-head b{display:block;text-align:end;font-size:1.15rem}.dash111-focus-head small{display:block;color:var(--muted);font-size:.74rem}
.dash111-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dash111-metric-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto auto;gap:6px 10px;text-align:start;border:1px solid color-mix(in srgb,var(--line) 88%,transparent);border-radius:19px;padding:12px;background:rgba(255,255,255,.026);color:var(--text);cursor:pointer;min-width:0}.dash111-metric-card:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);transform:translateY(-1px)}.dash111-metric-card.status-ok{box-shadow:inset 3px 0 0 var(--good)}.dash111-metric-card.status-warn{box-shadow:inset 3px 0 0 var(--warn)}.dash111-metric-card.status-bad{box-shadow:inset 3px 0 0 var(--bad)}.dash111-metric-card.status-unknown{box-shadow:inset 3px 0 0 #64748b}.dash111-metric-icon{grid-row:1/3;display:grid;place-items:center;width:44px;height:44px;border-radius:15px;background:color-mix(in srgb,var(--accent) 13%,transparent);color:var(--accent)}.dash111-metric-main{min-width:0}.dash111-metric-main b{display:block;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash111-metric-main div{display:flex;align-items:baseline;gap:5px;margin-top:5px}.dash111-metric-main strong{font-size:1.55rem;line-height:.95;letter-spacing:-.05em}.dash111-metric-main em{font-style:normal;color:var(--muted);font-size:.8rem}.dash111-metric-spark{grid-column:1/3}.dash111-metric-card small{grid-column:1/3;color:var(--muted);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash111-mini-spark{display:flex;width:100%;height:46px;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:13px;background:rgba(255,255,255,.022);color:var(--accent)}.dash111-mini-spark.empty{align-items:center;justify-content:center;color:var(--muted);font-size:.72rem;text-transform:lowercase}
.dash111-chart-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.dash111-chart-head h4{margin:0 0 3px;font-size:1.05rem}.dash111-chart-head p{margin:0;color:var(--muted);font-size:.82rem}.dash111-chart-zoom{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.dash111-chart-wrap{display:grid;grid-template-columns:46px minmax(0,1fr);gap:8px;align-items:stretch;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));border-radius:18px;padding:11px;background:radial-gradient(circle at 16% 10%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 34%),rgba(0,0,0,.10);overflow:hidden}.dash111-y-axis{display:flex;flex-direction:column;justify-content:space-between;color:var(--muted);font-size:.72rem;text-align:end;padding:5px 0 8px;white-space:nowrap}.dash111-chart-svg{width:100%;height:318px;display:block;overflow:visible}.dash111-chart-grid-h,.dash111-chart-grid-v{stroke:currentColor;color:color-mix(in srgb,var(--text) 22%,transparent);stroke-width:.45;vector-effect:non-scaling-stroke}.dash111-chart-grid-v{opacity:.42}.dash111-chart-line{fill:none;stroke:currentColor;stroke-width:2.25;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px currentColor)}.dash111-chart-dot{fill:currentColor;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 8px currentColor)}.dash111-chart-line.tone-1,.dash111-chart-dot.tone-1,.dash111-chart-legend i.tone-1{color:var(--good);background:var(--good)}.dash111-chart-line.tone-2,.dash111-chart-dot.tone-2,.dash111-chart-legend i.tone-2{color:#38bdf8;background:#38bdf8}.dash111-chart-line.tone-3,.dash111-chart-dot.tone-3,.dash111-chart-legend i.tone-3{color:var(--warn);background:var(--warn)}.dash111-chart-line.tone-4,.dash111-chart-dot.tone-4,.dash111-chart-legend i.tone-4{color:#a78bfa;background:#a78bfa}.dash111-crosshair-v,.dash111-crosshair-h{stroke:color-mix(in srgb,var(--accent) 46%,transparent);stroke-width:.55;stroke-dasharray:2.5 2.5;vector-effect:non-scaling-stroke}.dash111-x-axis{display:flex;justify-content:space-between;color:var(--muted);font-size:.72rem;margin:6px 4px 0 54px}.dash111-chart-legend{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;color:var(--muted);font-size:.78rem}.dash111-chart-legend span{display:inline-flex;align-items:center;gap:6px;min-width:0}.dash111-chart-legend i{width:9px;height:9px;border-radius:50%;box-shadow:0 0 10px currentColor}.dash111-chart-legend em{font-style:normal;color:var(--muted);opacity:.75}.dash111-chart-empty{display:grid;place-items:center;min-height:260px;border:1px dashed var(--line);border-radius:18px;color:var(--muted)}
.dash111-bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.45fr);gap:var(--gap);margin-top:14px}.dash111-activity{display:flex;flex-direction:column;gap:7px}.dash111-activity>div{display:grid;grid-template-columns:132px minmax(0,1fr) auto;gap:8px;align-items:center;border-bottom:1px solid color-mix(in srgb,var(--line) 80%,transparent);padding:7px 0}.dash111-activity span{color:var(--muted);font-size:.78rem}.dash111-activity b{font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash111-note p{color:var(--muted);line-height:1.55;margin:.35rem 0 0}.dash111-empty{border:1px dashed var(--line);border-radius:16px;padding:16px;color:var(--muted);text-align:center;background:rgba(255,255,255,.016)}
.theme-light .dash111-panel,.theme-light .dash111-kpi,.theme-light .dash111-sensor-panel,.theme-light .dash111-chart-card,.theme-light .dash111-bottom>section{background:#fff;color:#102033;border-color:#c8d3df;box-shadow:0 14px 34px rgba(38,58,88,.10)}.theme-light .dash111-chart-wrap{background:#f7fbff}.theme-light .dash111-stations,.theme-light .dash111-metric-card,.theme-light .dash111-device-summary article{background:#f8fbff;color:#102033;border-color:#d6e0ea}
@media(max-width:1280px){.dash111-dashboard-grid{grid-template-columns:1fr}.dash111-chart-svg{height:280px}.dash111-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.dash111-kpi-row,.dash111-device-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.dash111-hero{grid-template-columns:1fr}.dash111-bottom{grid-template-columns:1fr}}
@media(max-width:720px){.dash111-kpi-row,.dash111-device-summary,.dash111-metric-grid,.dash111-focus-head{grid-template-columns:1fr}.dash111-chart-head,.dash111-section-title{flex-direction:column;align-items:flex-start}.dash111-chart-wrap{grid-template-columns:34px minmax(0,1fr);padding:8px}.dash111-chart-svg{height:240px}.dash111-x-axis{margin-left:42px}.dash111-activity>div{grid-template-columns:1fr}.dash111-focus-head b{text-align:start}}


/* WEB30.1.112 dashboard concept rewrite: station monitor, sensor mosaic, finance-like timeline */
.dash112-shell{display:flex;flex-direction:column;gap:14px;min-width:0}.dash112-kpi-ribbon{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.dash112-kpi-ribbon article{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:18px;padding:12px 14px;background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.018));min-width:0}.dash112-kpi-ribbon article:before{content:"";position:absolute;inset:auto auto 0 0;width:100%;height:3px;background:var(--muted);opacity:.55}.dash112-kpi-ribbon article.ok:before{background:var(--good)}.dash112-kpi-ribbon article.warn:before{background:var(--warn)}.dash112-kpi-ribbon article.bad:before{background:var(--bad)}.dash112-kpi-ribbon span,.dash112-card-head span,.dash112-section-title span,.dash112-radar-info span{display:block;color:var(--muted);font-size:.73rem;text-transform:uppercase;letter-spacing:.13em}.dash112-kpi-ribbon b{display:block;margin-top:5px;font-size:1.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash112-kpi-ribbon small{display:block;margin-top:2px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash112-panel{border:1px solid var(--line);border-radius:24px;padding:14px;background:radial-gradient(circle at 20% 0,color-mix(in srgb,var(--accent) 12%,transparent),transparent 34%),linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012));box-shadow:0 20px 60px rgba(0,0,0,.16);min-width:0}.dash112-hero-grid{display:grid;grid-template-columns:minmax(340px,.64fr) minmax(520px,1.36fr);gap:14px;align-items:stretch}.dash112-radar-card,.dash112-chart-card,.dash112-fleet,.dash112-sensors-card,.dash112-activity-card{border:1px solid color-mix(in srgb,var(--line) 88%,transparent);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));padding:14px;min-width:0;box-shadow:0 14px 36px rgba(0,0,0,.11)}.dash112-radar-card{display:grid;grid-template-rows:minmax(210px,1fr) auto;gap:12px;position:relative;overflow:hidden;background:radial-gradient(circle at center,color-mix(in srgb,var(--accent) 18%,transparent),transparent 62%),linear-gradient(180deg,rgba(255,255,255,.04),rgba(0,0,0,.08))}.dash112-radar{position:relative;display:grid;place-items:center;min-height:230px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));border-radius:20px;background:linear-gradient(color-mix(in srgb,var(--accent) 10%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--accent) 10%,transparent) 1px,transparent 1px);background-size:24px 24px;overflow:hidden}.dash112-radar .ring{position:absolute;border:1px solid color-mix(in srgb,var(--accent) 42%,transparent);border-radius:50%;box-shadow:0 0 28px color-mix(in srgb,var(--accent) 12%,transparent)}.dash112-radar .r1{width:72px;height:72px}.dash112-radar .r2{width:140px;height:140px}.dash112-radar .r3{width:206px;height:206px}.dash112-radar .sweep{position:absolute;width:50%;height:50%;left:50%;top:0;transform-origin:0 100%;background:linear-gradient(35deg,color-mix(in srgb,var(--accent) 30%,transparent),transparent 55%);clip-path:polygon(0 100%,100% 0,100% 100%);animation:dash112Sweep 5.5s linear infinite;opacity:.75}.dash112-radar .tower{position:relative;z-index:2;display:grid;place-items:center;width:78px;height:78px;border-radius:28px;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent2) 80%,var(--accent)));color:#001014;box-shadow:0 0 42px color-mix(in srgb,var(--accent) 42%,transparent)}.dash112-radar-card.offline .sweep{animation:none;opacity:.18}.dash112-radar-card.offline .tower{background:linear-gradient(135deg,#64748b,#334155);color:#dbe4ee;box-shadow:none}@keyframes dash112Sweep{to{transform:rotate(360deg)}}.dash112-radar-info h3{font-size:1.5rem;margin:4px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash112-radar-info p{margin:4px 0 0;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash112-status-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.dash112-status-chips b{border:1px solid var(--line);border-radius:999px;padding:5px 9px;background:rgba(255,255,255,.04);font-size:.76rem}.dash112-status-chips b.ok{border-color:var(--good);color:var(--good)}.dash112-status-chips b.bad{border-color:var(--bad);color:var(--bad)}.dash112-command-row{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.dash112-status-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 14px}.dash112-status-board article{border:1px solid var(--line);border-radius:18px;padding:10px 12px;background:rgba(255,255,255,.025);min-width:0}.dash112-status-board article.ok{box-shadow:inset 0 3px 0 var(--good)}.dash112-status-board article.warn{box-shadow:inset 0 3px 0 var(--warn)}.dash112-status-board article.bad{box-shadow:inset 0 3px 0 var(--bad)}.dash112-status-board span{display:block;color:var(--muted);font-size:.72rem}.dash112-status-board b{display:block;margin-top:4px;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash112-status-board small{display:block;margin-top:2px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash112-card-head,.dash112-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px}.dash112-card-head.compact{margin-bottom:9px}.dash112-card-head h4,.dash112-section-title h4{margin:3px 0 0;font-size:1.05rem}.dash112-card-head small,.dash112-section-title small{color:var(--muted)}.dash112-zoom-bar{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.dash112-chart-frame{display:grid;grid-template-columns:50px minmax(0,1fr);gap:9px;padding:10px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:20px;background:radial-gradient(circle at 16% 5%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 36%),rgba(0,0,0,.12);overflow:hidden}.dash112-y-axis{display:flex;flex-direction:column;justify-content:space-between;text-align:end;color:var(--muted);font-size:.72rem;padding:7px 0 9px;white-space:nowrap}.dash112-plot-wrap{position:relative;min-width:0}.dash112-chart-svg{position:relative;z-index:2;width:100%;height:344px;display:block;overflow:visible}.dash112-plot-glow{position:absolute;inset:12% 0 8%;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 8%,transparent),transparent);filter:blur(18px);pointer-events:none}.dash112-grid-h,.dash112-grid-v{stroke:currentColor;color:color-mix(in srgb,var(--text) 19%,transparent);stroke-width:.45;vector-effect:non-scaling-stroke}.dash112-grid-v{opacity:.42}.dash112-chart-line{fill:none;stroke:currentColor;stroke-width:2.15;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px currentColor)}.dash112-chart-dot{fill:currentColor;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 8px currentColor)}.dash112-chart-line.tone-1,.dash112-chart-dot.tone-1,.dash112-chart-legend i.tone-1{color:var(--good);background:var(--good)}.dash112-chart-line.tone-2,.dash112-chart-dot.tone-2,.dash112-chart-legend i.tone-2{color:#38bdf8;background:#38bdf8}.dash112-chart-line.tone-3,.dash112-chart-dot.tone-3,.dash112-chart-legend i.tone-3{color:var(--warn);background:var(--warn)}.dash112-chart-line.tone-4,.dash112-chart-dot.tone-4,.dash112-chart-legend i.tone-4{color:#a78bfa;background:#a78bfa}.dash112-chart-line.tone-5,.dash112-chart-dot.tone-5,.dash112-chart-legend i.tone-5{color:#fb7185;background:#fb7185}.dash112-chart-line.tone-6,.dash112-chart-dot.tone-6,.dash112-chart-legend i.tone-6{color:#2dd4bf;background:#2dd4bf}.dash112-crosshair-v,.dash112-crosshair-h{stroke:color-mix(in srgb,var(--accent) 52%,transparent);stroke-width:.6;stroke-dasharray:2.5 2.5;vector-effect:non-scaling-stroke}.dash112-x-axis{display:flex;justify-content:space-between;color:var(--muted);font-size:.72rem;margin:6px 4px 0 60px}.dash112-chart-legend{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;color:var(--muted);font-size:.78rem}.dash112-chart-legend span{display:inline-flex;align-items:center;gap:6px;min-width:0;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:999px;padding:4px 8px;background:rgba(255,255,255,.025)}.dash112-chart-legend i{width:9px;height:9px;border-radius:50%;box-shadow:0 0 10px currentColor}.dash112-chart-legend b{font-weight:700;color:var(--text);max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash112-chart-legend em{font-style:normal;color:var(--muted);opacity:.75}.dash112-navigator{width:100%;height:28px;margin-top:9px;color:color-mix(in srgb,var(--accent) 82%,var(--text));border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:10px;background:rgba(255,255,255,.018);padding:3px}.dash112-navigator rect{fill:color-mix(in srgb,var(--accent) 22%,transparent);stroke:color-mix(in srgb,var(--accent) 70%,transparent);stroke-width:.8}.dash112-chart-empty,.dash112-empty{display:grid;place-items:center;min-height:180px;border:1px dashed var(--line);border-radius:18px;color:var(--muted);background:rgba(255,255,255,.014);text-align:center}.dash112-fleet{margin-bottom:14px}.dash112-fleet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px}.dash112-station{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;border:1px solid var(--line);border-radius:16px;padding:10px;background:rgba(255,255,255,.024);min-width:0}.dash112-station.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 13%,transparent)}.dash112-station.online{box-shadow:inset 3px 0 0 var(--good)}.dash112-station.offline{box-shadow:inset 3px 0 0 #64748b}.dash112-station i{display:grid;place-items:center;width:32px;height:32px;border-radius:12px;background:rgba(255,255,255,.05);font-style:normal;color:var(--muted);font-weight:900;font-size:.72rem}.dash112-station b,.dash112-station small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash112-station small,.dash112-station time{color:var(--muted);font-size:.74rem}.dash112-source-dock{display:grid;grid-template-columns:repeat(auto-fit,minmax(154px,1fr));gap:9px;margin-bottom:14px}.dash112-source{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;gap:3px 9px;align-items:center;border:1px solid var(--line);border-radius:17px;padding:10px;background:rgba(255,255,255,.024);color:var(--text);text-align:start;cursor:pointer}.dash112-source.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent) inset}.dash112-source>span{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border-radius:14px;background:color-mix(in srgb,var(--accent) 13%,transparent);color:var(--accent)}.dash112-source b,.dash112-source small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash112-source small{color:var(--muted);font-size:.72rem}.dash112-sensor-stage{display:grid;grid-template-columns:minmax(520px,1fr) minmax(310px,.42fr);gap:14px}.dash112-sensor-mosaic{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.dash112-sensor-tile{position:relative;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto auto;gap:5px 10px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.018));color:var(--text);padding:12px;text-align:start;cursor:pointer;min-width:0}.dash112-sensor-tile:after{content:"";position:absolute;right:-24px;top:-28px;width:92px;height:92px;border-radius:50%;background:color-mix(in srgb,var(--accent) 9%,transparent);pointer-events:none}.dash112-sensor-tile.ok{box-shadow:inset 0 3px 0 var(--good)}.dash112-sensor-tile.warn{box-shadow:inset 0 3px 0 var(--warn)}.dash112-sensor-tile.bad{box-shadow:inset 0 3px 0 var(--bad)}.dash112-sensor-tile.unknown{box-shadow:inset 0 3px 0 #64748b}.dash112-sensor-tile:hover{border-color:var(--accent);transform:translateY(-1px);background:color-mix(in srgb,var(--accent) 11%,transparent)}.dash112-sensor-orb{grid-row:1/3;display:grid;place-items:center;width:48px;height:48px;border-radius:17px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);font-style:normal}.dash112-sensor-name{display:block;font-weight:800;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash112-sensor-tile strong{display:block;font-size:1.65rem;letter-spacing:-.045em;line-height:.98;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash112-sensor-tile strong em{font-style:normal;font-size:.78rem;color:var(--muted);margin-left:4px;letter-spacing:0}.dash112-sensor-state{grid-column:1/3;color:var(--muted);font-size:.73rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash112-sensor-spark{grid-column:1/3;display:block}.dash112-mini-spark{display:flex;width:100%;height:45px;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:13px;background:rgba(255,255,255,.018);color:var(--accent)}.dash112-mini-spark.empty{align-items:center;justify-content:center;color:var(--muted);font-size:.72rem}.dash112-activity{display:flex;flex-direction:column;gap:8px}.dash112-activity>div{display:grid;grid-template-columns:106px minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:13px;padding:8px;background:rgba(255,255,255,.02)}.dash112-activity span{color:var(--muted);font-size:.72rem}.dash112-activity b{font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash112-activity em{font-style:normal;border:1px solid var(--line);border-radius:999px;padding:2px 6px;color:var(--muted);font-size:.7rem}.dash112-icon-svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2.05;stroke-linecap:round;stroke-linejoin:round}.theme-light .dash112-panel,.theme-light .dash112-radar-card,.theme-light .dash112-chart-card,.theme-light .dash112-fleet,.theme-light .dash112-sensors-card,.theme-light .dash112-activity-card,.theme-light .dash112-kpi-ribbon article,.theme-light .dash112-status-board article,.theme-light .dash112-station,.theme-light .dash112-source,.theme-light .dash112-sensor-tile{background:#fff;color:#102033;border-color:#c8d3df;box-shadow:0 14px 34px rgba(38,58,88,.10)}.theme-light .dash112-chart-frame,.theme-light .dash112-radar{background-color:#f7fbff;color:#102033}.theme-light .dash112-chart-legend span,.theme-light .dash112-navigator,.theme-light .dash112-mini-spark{background:#f7fbff;border-color:#d6e0ea}@media(max-width:1360px){.dash112-hero-grid{grid-template-columns:1fr}.dash112-chart-svg{height:310px}.dash112-sensor-stage{grid-template-columns:1fr}}@media(max-width:980px){.dash112-kpi-ribbon,.dash112-status-board{grid-template-columns:repeat(2,minmax(0,1fr))}.dash112-chart-frame{grid-template-columns:42px minmax(0,1fr)}.dash112-x-axis{margin-left:50px}}@media(max-width:680px){.dash112-kpi-ribbon,.dash112-status-board,.dash112-sensor-mosaic{grid-template-columns:1fr}.dash112-card-head,.dash112-section-title{flex-direction:column;align-items:flex-start}.dash112-chart-svg{height:245px}.dash112-radar{min-height:190px}.dash112-activity>div{grid-template-columns:1fr}.dash112-source-dock{grid-template-columns:1fr}}

/* WEB30.1.115 Stored History: database-backed metric point history and gap timeline */
.history-page{display:flex;flex-direction:column;gap:14px}.history-filter-bar{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(260px,1.1fr) minmax(160px,.45fr);gap:12px;align-items:end}.history-filter-bar label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:.78rem}.history-range-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.history-metric-strip,.history-chart-panel,.history-side-panel,.history-records-panel{border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025);padding:12px}.history-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.history-section-head h4{margin:0;font-size:1rem}.history-section-head span{color:var(--muted);font-size:.76rem}.history-metric-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:9px}.history-metric-card{display:grid;gap:6px;text-align:start;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.028);color:var(--text);padding:11px;cursor:pointer;min-width:0}.history-metric-card.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 20%,transparent) inset}.history-metric-card b,.history-metric-card small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-metric-card small{color:var(--muted);font-size:.72rem}.history-metric-card strong{font-size:1.2rem;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-metric-card span,.history-metric-card em{font-size:.76rem;color:var(--muted);font-style:normal}.history-main-grid{display:grid;grid-template-columns:minmax(520px,1fr) minmax(260px,.35fr);gap:12px}.history-chart-frame{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px}.history-y-axis{display:flex;flex-direction:column;justify-content:space-between;text-align:end;color:var(--muted);font-size:.72rem;padding:8px 0}.history-chart-wrap{min-width:0}.history-ecg-chart{width:100%;height:330px;display:block;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:16px;background:rgba(0,0,0,.12);overflow:hidden;color:var(--accent)}.history-grid-small{fill:none;stroke:color-mix(in srgb,var(--text) 12%,transparent);stroke-width:.25}.history-grid-big{fill:none;stroke:color-mix(in srgb,var(--text) 22%,transparent);stroke-width:.45}.history-chart-line{fill:none;stroke:currentColor;stroke-width:1.85;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px currentColor)}.history-chart-dot{fill:currentColor;vector-effect:non-scaling-stroke}.history-gap-mark{fill:rgba(239,68,68,.30)}.history-chart-axis{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:.72rem;margin-top:7px}.history-chart-empty,.history-empty{display:grid;place-items:center;min-height:160px;border:1px dashed var(--line);border-radius:16px;color:var(--muted);background:rgba(255,255,255,.018);text-align:center}.history-side-panel p{line-height:1.55;margin:.45rem 0}.history-table-wrap code{font-size:.72rem;white-space:nowrap}.history-summary-grid{margin:0}.theme-light .history-metric-strip,.theme-light .history-chart-panel,.theme-light .history-side-panel,.theme-light .history-records-panel,.theme-light .history-metric-card{background:#fff;color:#102033;border-color:#c8d3df}.theme-light .history-ecg-chart{background:#f7fbff;color:#0f766e}@media(max-width:1100px){.history-filter-bar,.history-main-grid{grid-template-columns:1fr}.history-ecg-chart{height:280px}}@media(max-width:680px){.history-section-head,.history-range-row{align-items:flex-start;flex-direction:column}.history-metric-list{grid-template-columns:1fr}.history-chart-frame{grid-template-columns:38px minmax(0,1fr)}.history-ecg-chart{height:230px}}

/* WEB30.1.116 Stored History layout polish: chart-first, compact metric cards, paged table */
.history-filter-compact{grid-template-columns:minmax(220px,.65fr) minmax(260px,1fr)}
.history-chart-panel-wide{padding:12px 14px 14px}.history-chart-panel-wide .history-ecg-chart{height:430px}
.history-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.history-chart-head h4{margin:0;font-size:1.03rem}.history-chart-head span{display:block;color:var(--muted);font-size:.76rem;margin-top:3px}.history-chart-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;max-width:65%}.history-chart-controls .history-range-selector{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.history-density-control,.history-page-size-control{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.76rem}.history-density-control select,.history-page-size-control select{min-width:92px}
.history-metric-strip-after{order:3}.history-metric-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.history-metric-card{position:relative;overflow:hidden}.history-metric-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent);opacity:.55}.history-metric-card.tone-env::before{background:var(--good)}.history-metric-card.tone-light::before{background:var(--warn)}.history-metric-card.tone-air::before{background:#38bdf8}.history-metric-card.tone-motion::before{background:#a78bfa}.history-metric-card.tone-gps::before{background:var(--bad)}.history-metric-card.tone-system::before{background:#60a5fa}.history-metric-card.tone-other::before{background:var(--accent)}.history-metric-card.tone-env{background:linear-gradient(180deg,color-mix(in srgb,var(--good) 8%,transparent),rgba(0,0,0,.07))}.history-metric-card.tone-light{background:linear-gradient(180deg,color-mix(in srgb,var(--warn) 9%,transparent),rgba(0,0,0,.07))}.history-metric-card.tone-air{background:linear-gradient(180deg,color-mix(in srgb,#38bdf8 9%,transparent),rgba(0,0,0,.07))}.history-metric-card.tone-motion{background:linear-gradient(180deg,color-mix(in srgb,#a78bfa 9%,transparent),rgba(0,0,0,.07))}.history-metric-card.tone-gps{background:linear-gradient(180deg,color-mix(in srgb,var(--bad) 8%,transparent),rgba(0,0,0,.07))}.history-metric-card.tone-system{background:linear-gradient(180deg,color-mix(in srgb,#60a5fa 8%,transparent),rgba(0,0,0,.07))}.history-metric-top{display:flex;align-items:center;gap:8px;min-width:0}.history-metric-icon{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:10px;background:rgba(255,255,255,.07);font-size:1rem}.history-metric-value{display:flex;align-items:flex-end;gap:4px;color:var(--accent)}.history-metric-value strong{font-size:1.24rem}.history-metric-value em{font-style:normal;color:var(--muted);font-size:.76rem}.history-metric-meta{display:grid;grid-template-columns:1fr 1fr;gap:3px}.history-metric-meta span{font-size:.72rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-metric-meta span:first-child{color:var(--text);font-weight:700}.history-table-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin:0 0 8px;color:var(--muted);font-size:.76rem}.history-table-controls button:disabled{opacity:.42;cursor:not-allowed}.history-records-panel .history-table-wrap{max-height:430px;overflow:auto}.theme-light .history-metric-card.tone-env,.theme-light .history-metric-card.tone-light,.theme-light .history-metric-card.tone-air,.theme-light .history-metric-card.tone-motion,.theme-light .history-metric-card.tone-gps,.theme-light .history-metric-card.tone-system{background:#fff}@media(max-width:1100px){.history-chart-head{flex-direction:column}.history-chart-controls{max-width:100%;justify-content:flex-start}.history-chart-controls .history-range-selector{justify-content:flex-start}.history-chart-panel-wide .history-ecg-chart{height:340px}.history-filter-compact{grid-template-columns:1fr}}@media(max-width:680px){.history-chart-controls{align-items:flex-start;flex-direction:column}.history-metric-meta{grid-template-columns:1fr}.history-chart-panel-wide .history-ecg-chart{height:260px}.history-table-controls{justify-content:flex-start}}

/* WEB30.1.118 reusable MPU30 chart engine */
.history-generic-chart-mount{width:100%;min-height:430px}.mpu30-chart-card{position:relative;border:1px solid color-mix(in srgb,var(--line) 78%,var(--accent) 22%);border-radius:18px;background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 94%,var(--accent) 6%),color-mix(in srgb,var(--panel) 98%,#000 2%));padding:12px;box-shadow:var(--shadow-soft);overflow:hidden}.mpu30-chart-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.mpu30-chart-top h4{margin:0;font-size:15px}.mpu30-chart-top span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.mpu30-chart-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mpu30-chart-tools label{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.mpu30-chart-tools select{min-width:92px}.mpu30-chart-stage{position:relative;height:340px;border-radius:14px;overflow:hidden;background:radial-gradient(circle at 18% 0%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 34%),linear-gradient(180deg,color-mix(in srgb,var(--panel-2) 92%,#000 8%),color-mix(in srgb,var(--panel) 88%,#000 12%));border:1px solid color-mix(in srgb,var(--line) 84%,transparent)}.mpu30-chart-svg{width:100%;height:100%;display:block;touch-action:none;cursor:crosshair}.mpu30-chart-bg{fill:rgba(8,12,20,.42)}.mpu30-chart-grid-minor{stroke:rgba(120,150,180,.11);stroke-width:.7;vector-effect:non-scaling-stroke}.mpu30-chart-grid-major{stroke:rgba(120,190,210,.23);stroke-width:1;vector-effect:non-scaling-stroke}.mpu30-chart-gap{fill:rgba(255,180,75,.34)}.mpu30-chart-line{fill:none;stroke:currentColor;stroke-width:2.35;vector-effect:non-scaling-stroke}.mpu30-chart-dot,.mpu30-chart-hit{fill:currentColor;opacity:.92;vector-effect:non-scaling-stroke}.mpu30-chart-bar{fill:currentColor;opacity:.7}.mpu30-chart-candle line{stroke:currentColor;stroke-width:1.4;vector-effect:non-scaling-stroke}.mpu30-chart-candle rect{fill:color-mix(in srgb,currentColor 72%,transparent);stroke:currentColor;stroke-width:1;vector-effect:non-scaling-stroke}.mpu30-chart-candle.down{opacity:.72}.mpu30-chart-line.tone-1,.mpu30-chart-dot.tone-1,.mpu30-chart-hit.tone-1,.mpu30-chart-bar.tone-1,.mpu30-chart-candle.tone-1{color:var(--accent)}.mpu30-chart-line.tone-2,.mpu30-chart-dot.tone-2,.mpu30-chart-hit.tone-2,.mpu30-chart-bar.tone-2,.mpu30-chart-candle.tone-2{color:var(--good)}.mpu30-chart-line.tone-3,.mpu30-chart-dot.tone-3,.mpu30-chart-hit.tone-3,.mpu30-chart-bar.tone-3,.mpu30-chart-candle.tone-3{color:var(--warn)}.mpu30-chart-ylabels text{fill:var(--muted);font-size:14px}.mpu30-chart-xlabel{fill:var(--muted);font-size:12px;opacity:.82}.mpu30-chart-empty{fill:var(--muted);font-size:18px}.mpu30-chart-axis{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px;margin-top:8px;gap:10px}.mpu30-chart-tooltip{position:absolute;z-index:5;min-width:205px;max-width:260px;padding:9px 10px;border-radius:12px;background:color-mix(in srgb,var(--panel) 92%,#000 8%);border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line));box-shadow:var(--shadow-soft);pointer-events:none;font-size:11px}.mpu30-chart-tooltip strong{display:block;margin-bottom:5px;color:var(--text)}.mpu30-chart-tooltip div{display:flex;justify-content:space-between;gap:12px;margin:3px 0}.mpu30-chart-tooltip small{display:block;margin-top:5px;color:var(--muted)}@media(max-width:760px){.mpu30-chart-top{display:block}.mpu30-chart-tools{margin-top:8px}.mpu30-chart-stage{height:285px}}

/* WEB30.1.120 Stored History ruler / filters / export polish */
.history-filter-three{grid-template-columns:minmax(210px,.9fr) minmax(210px,.9fr) minmax(260px,1.2fr)}
.history-chart-controls-near{max-width:none;justify-content:flex-start;margin:0 0 10px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--line) 82%,var(--accent) 18%);border-radius:14px;background:color-mix(in srgb,var(--panel-2) 84%,transparent)}
.history-gap-toggle{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.76rem;white-space:nowrap}.history-gap-toggle input{accent-color:var(--accent)}
.history-chart-controls-near a.ghost-btn{height:34px;display:inline-flex;align-items:center;text-decoration:none}
.mpu30-chart-ruler{margin-top:8px}.mpu30-chart-ruler-track{position:relative;height:38px;border-radius:10px;border:1px solid color-mix(in srgb,var(--line) 82%,var(--accent) 18%);background:linear-gradient(180deg,color-mix(in srgb,var(--panel-2) 92%,#000 8%),color-mix(in srgb,var(--panel) 92%,#000 8%));overflow:hidden}.mpu30-chart-ruler-track i{position:absolute;top:0;bottom:0;display:block}.mpu30-chart-ruler-track i.minor{width:1px;background:rgba(148,163,184,.28);height:15px}.mpu30-chart-ruler-track i.major{width:1px;background:color-mix(in srgb,var(--accent) 64%,var(--text) 12%);height:28px}.mpu30-chart-ruler-track i.major b{position:absolute;top:20px;left:4px;transform:translateX(-50%);font-size:10px;font-weight:600;color:var(--muted);white-space:nowrap}.mpu30-chart-ruler-caption{margin-top:4px;color:var(--muted);font-size:11px;text-align:center}.theme-light .history-chart-controls-near{background:#f8fbff}.theme-light .mpu30-chart-ruler-track{background:#f8fbff}@media(max-width:1100px){.history-filter-three{grid-template-columns:1fr}.history-chart-controls-near{align-items:flex-start;flex-direction:column}.mpu30-chart-ruler-track i.major b{font-size:9px}}
.number-display-preview{display:grid;gap:6px;margin-top:10px;padding:10px;border:1px dashed color-mix(in srgb,var(--accent) 42%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--panel2) 72%,transparent)}.number-display-preview b{font-size:1.02em}.number-display-preview span{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1.08em}.number-display-preview small{color:var(--muted);line-height:1.35}

/* WEB30.1.125 modular advanced chart soft-update layer */
.module-loading-active{position:relative;min-height:80px}
.module-loading-mask{position:absolute;inset:0;z-index:20;display:grid;place-items:center;border-radius:inherit;background:color-mix(in srgb,var(--panel) 72%,transparent);backdrop-filter:blur(3px);animation:chartSoftFade .16s ease-out}
.module-loading-card{display:flex;align-items:center;gap:10px;max-width:min(460px,92%);border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--panel) 94%,#000 6%);box-shadow:0 18px 45px rgba(0,0,0,.24);padding:11px 14px;color:var(--text)}
.module-loading-card b{font-size:.88rem;white-space:nowrap}.module-loading-card small{color:var(--muted);font-size:.72rem;line-height:1.35}.module-loading-card .loading-spinner{width:22px;height:22px}
@keyframes chartSoftFade{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
.module-loading-no-animation .module-loading-mask{animation:none}
.telemetry-chart-body-advanced{padding:0;background:transparent;border:0}.telemetry-generic-chart-mount{min-height:390px}.telemetry-generic-chart-mount .mpu30-chart-card{border-radius:18px}.telemetry-generic-chart-mount .mpu30-chart-stage{height:315px}.telemetry-chart-hero.module-loading-active .module-loading-mask{border-radius:22px}
.chart-settings-card .chart-settings-note{display:flex;align-items:center;gap:10px;border:1px dashed color-mix(in srgb,var(--accent) 32%,var(--line));border-radius:14px;background:rgba(255,255,255,.026);padding:10px;margin-top:10px}.chart-settings-card .chart-settings-note b{display:block}.chart-settings-card .chart-settings-note small{display:block;color:var(--muted);font-size:.72rem;margin-top:2px}
.history-chart-panel.module-loading-active .module-loading-mask,.telemetry-graphic-page.module-loading-active .module-loading-mask,.history-page.module-loading-active .module-loading-mask{border-radius:18px}.history-chart-panel .module-loading-card{position:sticky;top:48px}.telemetry-graphic-page .module-loading-card{position:sticky;top:48px}
@media(max-width:760px){.module-loading-card{align-items:flex-start;flex-direction:column}.telemetry-generic-chart-mount{min-height:330px}.telemetry-generic-chart-mount .mpu30-chart-stage{height:270px}}
/* WEB30.1.126 multi-series telemetry chart additions */
.telemetry-multi-filter-bar{grid-template-columns:minmax(180px,1fr) minmax(260px,1.4fr) auto}.telemetry-series-picker{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.telemetry-series-picker label{display:flex;align-items:center;gap:8px;margin:0;color:var(--muted);font-size:11px}.telemetry-series-picker select{min-width:220px}.telemetry-series-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0 10px}.telemetry-series-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid color-mix(in srgb,currentColor 44%,var(--line));border-radius:999px;background:color-mix(in srgb,currentColor 10%,transparent);color:var(--accent);padding:6px 7px 6px 9px;max-width:100%}.telemetry-series-chip i{font-style:normal;font-size:15px}.telemetry-series-chip b{font-size:12px;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.telemetry-series-chip small{font-size:10px;color:var(--muted);max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.telemetry-series-chip button{width:22px;height:22px;border-radius:999px;border:1px solid color-mix(in srgb,currentColor 35%,var(--line));background:rgba(0,0,0,.12);color:inherit;cursor:pointer;line-height:18px;font-weight:800}.telemetry-series-chip button:hover{background:color-mix(in srgb,currentColor 18%,transparent)}.telemetry-series-empty{border:1px dashed var(--line);border-radius:14px;color:var(--muted);padding:10px;margin:8px 0}.telemetry-hint-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%}.telemetry-hint-grid span{border:1px solid var(--line);border-radius:12px;padding:8px;background:rgba(255,255,255,.025);min-width:0}.telemetry-hint-grid b{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px}.telemetry-multi-stats article:first-child{border-color:color-mix(in srgb,var(--accent) 38%,var(--line))}.mpu30-chart-legend{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 8px}.mpu30-chart-legend-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid color-mix(in srgb,currentColor 34%,var(--line));border-radius:999px;color:var(--accent);padding:4px 8px;background:color-mix(in srgb,currentColor 8%,transparent);font-size:11px}.mpu30-chart-legend-pill i{width:9px;height:9px;border-radius:999px;background:currentColor;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 10%,transparent)}.mpu30-chart-legend-pill b{font-weight:700;max-width:145px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mpu30-chart-legend-pill small{color:var(--muted);font-size:10px}.mpu30-chart-series{transition:opacity .16s ease,filter .16s ease}.mpu30-chart-hover-path{fill:none;stroke:transparent;stroke-width:16;vector-effect:non-scaling-stroke;pointer-events:stroke}.mpu30-chart-svg:has(.mpu30-chart-series:hover) .mpu30-chart-series{opacity:.23}.mpu30-chart-svg .mpu30-chart-series:hover{opacity:1;filter:drop-shadow(0 0 8px currentColor)}.mpu30-chart-series.legend-dim{opacity:.22}.mpu30-chart-series.legend-hot{opacity:1;filter:drop-shadow(0 0 8px currentColor)}.mpu30-chart-cursor{stroke:color-mix(in srgb,var(--accent) 64%,var(--text) 20%);stroke-width:1.4;stroke-dasharray:4 4;vector-effect:non-scaling-stroke;pointer-events:none;opacity:.72}.mpu30-chart-tooltip div b{display:inline-flex;align-items:center;gap:6px}.mpu30-chart-tooltip div i{width:8px;height:8px;border-radius:999px;background:currentColor;display:inline-block}.mpu30-chart-line.tone-4,.mpu30-chart-dot.tone-4,.mpu30-chart-hit.tone-4,.mpu30-chart-bar.tone-4,.mpu30-chart-candle.tone-4,.telemetry-series-chip.tone-4,.mpu30-chart-legend-pill.tone-4,.mpu30-chart-tooltip .tone-4{color:#a78bfa}.mpu30-chart-line.tone-5,.mpu30-chart-dot.tone-5,.mpu30-chart-hit.tone-5,.mpu30-chart-bar.tone-5,.mpu30-chart-candle.tone-5,.telemetry-series-chip.tone-5,.mpu30-chart-legend-pill.tone-5,.mpu30-chart-tooltip .tone-5{color:#fb7185}.mpu30-chart-line.tone-6,.mpu30-chart-dot.tone-6,.mpu30-chart-hit.tone-6,.mpu30-chart-bar.tone-6,.mpu30-chart-candle.tone-6,.telemetry-series-chip.tone-6,.mpu30-chart-legend-pill.tone-6,.mpu30-chart-tooltip .tone-6{color:#38bdf8}.telemetry-series-chip.tone-1,.mpu30-chart-legend-pill.tone-1,.mpu30-chart-tooltip .tone-1{color:var(--accent)}.telemetry-series-chip.tone-2,.mpu30-chart-legend-pill.tone-2,.mpu30-chart-tooltip .tone-2{color:var(--good)}.telemetry-series-chip.tone-3,.mpu30-chart-legend-pill.tone-3,.mpu30-chart-tooltip .tone-3{color:var(--warn)}@media(max-width:980px){.telemetry-multi-filter-bar{grid-template-columns:1fr}.telemetry-hint-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.telemetry-series-picker{justify-content:flex-start}.telemetry-series-picker select{min-width:180px}}@media(max-width:640px){.telemetry-hint-grid{grid-template-columns:1fr}.telemetry-series-picker{align-items:stretch;flex-direction:column}.telemetry-series-picker label,.telemetry-series-picker select,.telemetry-series-picker button{width:100%}.telemetry-series-chip{width:100%;justify-content:flex-start}.telemetry-series-chip b,.telemetry-series-chip small{max-width:none}}

/* WEB30.1.127 full-space telemetry timeline chart workspace */
.telemetry-chart-workspace{margin-top:var(--gap);gap:10px;padding:12px;min-height:calc(100vh - 160px)}
.telemetry-workspace-head{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid color-mix(in srgb,var(--line) 82%,var(--accent) 18%);border-radius:16px;background:linear-gradient(180deg,color-mix(in srgb,var(--panel-2) 86%,transparent),color-mix(in srgb,var(--panel) 96%,transparent));padding:9px 11px}
.telemetry-workspace-head h3{margin:0;font-size:1rem;letter-spacing:.01em}.telemetry-workspace-head span{display:block;font-size:.74rem;margin-top:2px}.telemetry-workspace-head label{display:flex;align-items:center;gap:8px;margin:0;color:var(--muted);font-size:.74rem;white-space:nowrap}.telemetry-workspace-head select{min-width:210px}
.datalogger-clean-version-badge.compact{align-self:flex-start;padding:4px 9px;font-size:.68rem;opacity:.72}.telemetry-chart-stack{display:grid;gap:10px;min-width:0}.telemetry-chart-workspace .telemetry-chart-hero{padding:10px;border-radius:20px;background:radial-gradient(circle at 20% 0%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 30%),linear-gradient(180deg,color-mix(in srgb,var(--panel) 95%,#000 5%),color-mix(in srgb,var(--panel-2) 88%,#000 12%))}
.telemetry-chart-title-compact{align-items:center;margin-bottom:7px}.telemetry-chart-title-compact>div{gap:8px}.telemetry-chart-title-compact span{font-size:1.2rem}.telemetry-chart-title-compact h4{font-size:.98rem}.telemetry-chart-title-compact small{font-size:.7rem}.telemetry-chart-title-compact .ghost-btn{height:30px;padding:4px 10px}
.telemetry-chart-workspace .telemetry-generic-chart-mount{min-height:620px}.telemetry-chart-workspace .telemetry-generic-chart-mount .mpu30-chart-card{padding:8px;border-radius:18px;background:linear-gradient(180deg,rgba(6,12,22,.86),rgba(3,9,18,.92));box-shadow:0 18px 45px rgba(0,0,0,.18)}
.telemetry-chart-workspace .telemetry-generic-chart-mount .mpu30-chart-stage{height:clamp(430px,58vh,680px);border-radius:15px;background:radial-gradient(circle at 18% 10%,color-mix(in srgb,var(--accent) 13%,transparent),transparent 32%),linear-gradient(180deg,rgba(5,12,22,.92),rgba(2,8,16,.98))}
.telemetry-chart-workspace .compact-chart .mpu30-chart-top{position:absolute;right:14px;top:12px;z-index:4;margin:0}.telemetry-chart-workspace .compact-chart .mpu30-chart-top>div{display:none}.telemetry-chart-workspace .compact-chart .mpu30-chart-tools{padding:4px;border:1px solid color-mix(in srgb,var(--line) 65%,transparent);border-radius:12px;background:color-mix(in srgb,var(--panel) 72%,transparent);backdrop-filter:blur(5px)}.telemetry-chart-workspace .compact-chart .mpu30-chart-tools label{font-size:10px}.telemetry-chart-workspace .compact-chart .mpu30-chart-tools select{min-width:82px;height:28px}.telemetry-chart-workspace .compact-chart .mpu30-chart-tools .ghost-btn{height:28px;padding:4px 8px}
.mpu30-chart-area{fill:currentColor;opacity:.105;pointer-events:none}.telemetry-chart-workspace .mpu30-chart-line{stroke-width:2.55}.telemetry-chart-workspace .mpu30-chart-hit{opacity:.95}.telemetry-chart-workspace .mpu30-chart-ylabels.multi-scale text{font-weight:800;opacity:.78}.telemetry-chart-workspace .mpu30-chart-legend{margin:0 0 6px;padding-right:170px}.telemetry-chart-workspace .mpu30-chart-legend-pill{padding:5px 9px;background:color-mix(in srgb,currentColor 10%,transparent);box-shadow:0 0 16px color-mix(in srgb,currentColor 8%,transparent)}
.mpu30-chart-navigator{position:relative;margin-top:9px;height:86px;border:1px solid color-mix(in srgb,var(--line) 72%,var(--accent) 28%);border-radius:14px;overflow:hidden;background:linear-gradient(180deg,rgba(12,20,34,.82),rgba(6,14,27,.92))}.mpu30-chart-nav-svg{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.mpu30-chart-nav-svg:active{cursor:grabbing}.mpu30-chart-nav-bg{fill:rgba(255,255,255,.025)}.mpu30-chart-nav-line{fill:none;stroke:currentColor;stroke-width:1.8;opacity:.74;vector-effect:non-scaling-stroke}.mpu30-chart-nav-line.tone-1{color:var(--accent)}.mpu30-chart-nav-line.tone-2{color:var(--good)}.mpu30-chart-nav-line.tone-3{color:var(--warn)}.mpu30-chart-nav-line.tone-4{color:#a78bfa}.mpu30-chart-nav-line.tone-5{color:#fb7185}.mpu30-chart-nav-line.tone-6{color:#38bdf8}.mpu30-chart-nav-dim{fill:rgba(0,0,0,.44)}.mpu30-chart-nav-window{fill:color-mix(in srgb,var(--accent) 13%,transparent);stroke:color-mix(in srgb,var(--accent) 88%,var(--text) 10%);stroke-width:1.5;vector-effect:non-scaling-stroke}.mpu30-chart-nav-handle{fill:color-mix(in srgb,var(--accent) 35%,var(--panel));stroke:color-mix(in srgb,var(--accent) 82%,var(--text) 14%);stroke-width:1.3;vector-effect:non-scaling-stroke;cursor:ew-resize}
.telemetry-chart-actionbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:9px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--line) 78%,var(--accent) 22%);border-radius:15px;background:color-mix(in srgb,var(--panel-2) 76%,transparent)}.telemetry-range-block{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.telemetry-series-picker-bottom{justify-content:flex-end}.telemetry-series-picker-bottom label{font-size:.72rem}.telemetry-series-picker-bottom select{min-width:260px}.telemetry-chart-workspace .telemetry-series-chips{margin:9px 0 0}.telemetry-chart-workspace .telemetry-series-chip{padding:7px 8px 7px 10px;background:color-mix(in srgb,currentColor 12%,transparent);box-shadow:0 0 18px color-mix(in srgb,currentColor 7%,transparent)}.telemetry-chart-workspace .telemetry-source-tabs{margin:0;display:flex;gap:7px;overflow-x:auto;padding:2px}.telemetry-chart-workspace .source-tab{min-width:120px;padding:8px 10px;border-radius:14px}.telemetry-chart-workspace .source-tab small{opacity:.74}.telemetry-chart-footnote{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:.74rem;padding:4px 2px}.telemetry-chart-footnote span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.theme-light .telemetry-chart-workspace .telemetry-generic-chart-mount .mpu30-chart-card,.theme-light .telemetry-chart-workspace .telemetry-generic-chart-mount .mpu30-chart-stage,.theme-light .mpu30-chart-navigator{background:#f8fbff}.theme-light .mpu30-chart-nav-dim{fill:rgba(226,232,240,.58)}
@media(max-width:980px){.telemetry-workspace-head{align-items:flex-start;flex-direction:column}.telemetry-workspace-head label,.telemetry-workspace-head select{width:100%}.telemetry-chart-actionbar{align-items:flex-start;flex-direction:column}.telemetry-series-picker-bottom{width:100%;justify-content:flex-start}.telemetry-chart-workspace .compact-chart .mpu30-chart-top{position:static;margin-bottom:7px}.telemetry-chart-workspace .compact-chart .mpu30-chart-top>div{display:none}.telemetry-chart-workspace .mpu30-chart-legend{padding-right:0}.telemetry-chart-workspace .telemetry-generic-chart-mount{min-height:500px}.telemetry-chart-workspace .telemetry-generic-chart-mount .mpu30-chart-stage{height:420px}}
@media(max-width:640px){.telemetry-series-picker-bottom label,.telemetry-series-picker-bottom select,.telemetry-series-picker-bottom button{width:100%}.telemetry-range-block{align-items:flex-start;flex-direction:column}.telemetry-chart-footnote{align-items:flex-start;flex-direction:column}.telemetry-chart-workspace .telemetry-generic-chart-mount .mpu30-chart-stage{height:330px}.mpu30-chart-navigator{height:72px}.telemetry-chart-title-compact{align-items:flex-start;flex-direction:column}}
/* WEB30.1.128 dedicated chart settings + chart polish */
.chart-settings-page{display:grid;grid-template-columns:minmax(260px,.82fr) minmax(360px,1.25fr);gap:var(--gap);align-items:start}.chart-settings-page .chart-settings-card{grid-row:span 2}.chart-settings-intro-card,.chart-settings-preview-card{position:relative;overflow:hidden}.chart-settings-hero-icon{width:48px;height:48px;border-radius:18px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 42%,var(--line));background:radial-gradient(circle at 35% 25%,color-mix(in srgb,var(--accent) 28%,transparent),transparent 62%),rgba(255,255,255,.035);font-size:1.5rem;margin-bottom:10px;box-shadow:0 0 26px color-mix(in srgb,var(--accent) 14%,transparent)}.chart-settings-flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}.chart-settings-flow span{border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--accent) 9%,transparent);padding:7px 10px;font-size:.78rem}.chart-settings-flow b{color:var(--muted)}.chart-preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.chart-preset-grid article{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.026);padding:10px}.chart-preset-grid b{display:block;margin-bottom:5px}.chart-preset-grid span{display:block;color:var(--muted);font-size:.76rem;line-height:1.35}.chart-density-compact .telemetry-generic-chart-mount{min-height:500px}.chart-density-compact .telemetry-generic-chart-mount .mpu30-chart-stage{height:clamp(350px,46vh,520px)}.chart-density-large .telemetry-generic-chart-mount{min-height:720px}.chart-density-large .telemetry-generic-chart-mount .mpu30-chart-stage{height:clamp(520px,66vh,760px)}.chart-workspace-analysis .telemetry-chart-title-compact>div{display:flex}.chart-workspace-analysis .compact-chart .mpu30-chart-top>div{display:block}.chart-workspace-compact .telemetry-chart-title-compact small,.chart-workspace-compact .mpu30-chart-axis,.chart-workspace-compact .mpu30-chart-ruler{display:none}.chart-controls-compact .telemetry-chart-actionbar{padding:5px 7px}.chart-controls-compact .telemetry-series-picker-bottom label{font-size:.68rem}.hover-focus-off .mpu30-chart-series.legend-dim,.hover-focus-off .mpu30-chart-series.legend-hot{opacity:1;filter:none}@media(max-width:980px){.chart-settings-page{grid-template-columns:1fr}.chart-settings-page .chart-settings-card{grid-row:auto}.chart-preset-grid{grid-template-columns:1fr}}

/* WEB30.1.129 configurable chart lab */
.chart-title-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.chart-preset-select{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:10px}.chart-preset-select select{height:28px;min-width:132px}.telemetry-chart-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.chart-topology-summary_right .telemetry-chart-layout{grid-template-columns:minmax(0,1fr) minmax(220px,300px);align-items:stretch}.telemetry-chart-summary{display:grid;gap:10px;margin:8px 0 10px}.telemetry-summary-glass_cards{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.telemetry-summary-compact_strip,.telemetry-summary-tiny_chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.telemetry-chart-summary article{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px 10px;align-items:center;border:1px solid color-mix(in srgb,currentColor 30%,var(--line));border-radius:17px;background:linear-gradient(135deg,color-mix(in srgb,currentColor 14%,transparent),rgba(255,255,255,.028));color:var(--accent);padding:10px 12px;box-shadow:0 10px 25px rgba(0,0,0,.10);min-width:0}.telemetry-summary-compact_strip article{min-width:230px}.telemetry-summary-tiny_chips article{display:flex;padding:7px 9px;border-radius:999px}.telemetry-chart-summary article i{width:36px;height:36px;border-radius:14px;display:grid;place-items:center;background:radial-gradient(circle at 35% 22%,color-mix(in srgb,currentColor 42%,transparent),transparent 65%);border:1px solid color-mix(in srgb,currentColor 34%,var(--line));font-style:normal;font-size:1.2rem}.telemetry-chart-summary article b{display:block;color:var(--text);font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.telemetry-chart-summary article small{display:block;color:var(--muted);font-size:.7rem}.telemetry-chart-summary article strong{font-size:1.35rem;color:currentColor;font-weight:900}.telemetry-chart-summary article span{font-size:.68rem;color:var(--muted);white-space:nowrap}.telemetry-chart-summary article.tone-1{color:var(--accent)}.telemetry-chart-summary article.tone-2{color:var(--good)}.telemetry-chart-summary article.tone-3{color:var(--warn)}.telemetry-chart-summary article.tone-4{color:#a78bfa}.telemetry-chart-summary article.tone-5{color:#fb7185}.telemetry-chart-summary article.tone-6{color:#38bdf8}.chart-icons-flat .telemetry-chart-summary article i{box-shadow:none;background:rgba(255,255,255,.04)}.chart-icons-minimal .telemetry-chart-summary article i{display:none}.chart-icons-animated .telemetry-chart-summary article i{animation:chartIconPulse 2.6s ease-in-out infinite}@keyframes chartIconPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}.chart-font-small .mpu30-chart-card,.chart-font-small .telemetry-chart-summary{font-size:.88rem}.chart-font-large .mpu30-chart-card,.chart-font-large .telemetry-chart-summary{font-size:1.06rem}.chart-font-xlarge .mpu30-chart-card,.chart-font-xlarge .telemetry-chart-summary{font-size:1.16rem}.chart-theme-industrial .mpu30-chart-card,.chart-theme-industrial .telemetry-chart-summary article{filter:saturate(.92);border-style:solid}.chart-theme-glass .mpu30-chart-card{backdrop-filter:blur(8px);background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.02))}.chart-theme-clean_light .mpu30-chart-card{background:#f8fbff;color:#142033}.chart-theme-contrast .mpu30-chart-card{border-color:var(--text);box-shadow:none}.chart-theme-custom .mpu30-chart-card,.chart-bg-solid .mpu30-chart-card{background:var(--chart-custom-bg)!important}.chart-bg-none .mpu30-chart-stage{background:transparent!important}.chart-bg-dense_grid .mpu30-chart-stage{background-image:linear-gradient(rgba(120,190,210,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(120,190,210,.08) 1px,transparent 1px),linear-gradient(180deg,rgba(5,12,22,.94),rgba(2,8,16,.98));background-size:18px 18px,18px 18px,auto}.chart-bg-checker .mpu30-chart-stage{background-image:linear-gradient(45deg,rgba(255,255,255,.04) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.04) 25%,transparent 25%),linear-gradient(180deg,rgba(5,12,22,.94),rgba(2,8,16,.98));background-size:22px 22px,22px 22px,auto}.chart-bg-glass .mpu30-chart-stage{backdrop-filter:blur(6px);background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.012))}.chart-topology-controls_right .telemetry-chart-actionbar{display:grid;grid-template-columns:1fr 280px}.chart-topology-minimal_focus .telemetry-chart-title,.chart-topology-minimal_focus .telemetry-series-chips,.chart-topology-minimal_focus .mpu30-chart-axis,.chart-topology-minimal_focus .mpu30-chart-ruler{display:none}.chart-topology-legend_top .telemetry-series-chips{order:-1}.mpu30-chart-axis-columns .axis-col{color:var(--accent);opacity:.95}.mpu30-chart-axis-columns .axis-col line{stroke:currentColor;stroke-width:1;opacity:.42;vector-effect:non-scaling-stroke}.mpu30-chart-axis-columns .axis-col text{fill:currentColor;font-size:10px;font-weight:750}.mpu30-chart-axis-columns .axis-col .unit{font-size:12px}.mpu30-chart-axis-columns .tone-1{color:var(--accent)}.mpu30-chart-axis-columns .tone-2{color:var(--good)}.mpu30-chart-axis-columns .tone-3{color:var(--warn)}.mpu30-chart-axis-columns .tone-4{color:#a78bfa}.mpu30-chart-axis-columns .tone-5{color:#fb7185}.mpu30-chart-axis-columns .tone-6{color:#38bdf8}.mpu30-chart-scatter{fill:currentColor;stroke:rgba(255,255,255,.55);stroke-width:.7;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px currentColor)}.mpu30-chart-series.bar-3d .mpu30-chart-bar{filter:drop-shadow(4px 4px 0 rgba(255,255,255,.08));stroke:rgba(255,255,255,.28);stroke-width:.8;vector-effect:non-scaling-stroke}.mpu30-chart-area.line-soft-area{opacity:.055}.mpu30-chart-line{filter:drop-shadow(0 0 4px color-mix(in srgb,currentColor 28%,transparent))}.chart-quick-modal-backdrop{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;background:rgba(0,0,0,.52);backdrop-filter:blur(3px);padding:18px}.chart-quick-modal{width:min(920px,96vw);max-height:88vh;overflow:auto;border-radius:22px}.chart-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.chart-quick-grid label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:.78rem}.chart-quick-grid select,.chart-quick-grid input{width:100%}.chart-quick-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}.chart-preset-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}@media(max-width:980px){.chart-topology-summary_right .telemetry-chart-layout{grid-template-columns:1fr}.chart-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-title-actions{justify-content:flex-start}.chart-topology-controls_right .telemetry-chart-actionbar{display:flex}}@media(max-width:640px){.telemetry-summary-glass_cards{grid-template-columns:1fr}.chart-quick-grid{grid-template-columns:1fr}.chart-preset-select{width:100%}.chart-preset-select select{width:100%}}

/* WEB30.1.130 engineering metric ruler axes */
.mpu30-chart-card.axis-columns-on .mpu30-chart-stage{position:relative;overflow:hidden}
.mpu30-chart-card.axis-columns-on .mpu30-chart-svg{overflow:visible}
.mpu30-chart-axis-columns{pointer-events:none}
.mpu30-chart-axis-columns .axis-col{color:var(--accent);opacity:.98;filter:drop-shadow(0 0 5px color-mix(in srgb,currentColor 18%,transparent))}
.mpu30-chart-axis-columns .axis-rail-bg{fill:color-mix(in srgb,currentColor 8%,rgba(5,12,22,.72));stroke:color-mix(in srgb,currentColor 46%,var(--line));stroke-width:1;vector-effect:non-scaling-stroke}
.mpu30-chart-axis-columns .axis-spine{stroke:currentColor;stroke-width:1.45;opacity:.86;vector-effect:non-scaling-stroke}
.mpu30-chart-axis-columns .minor-tick{stroke:currentColor;stroke-width:.7;opacity:.42;vector-effect:non-scaling-stroke}
.mpu30-chart-axis-columns .minor-strong,.mpu30-chart-axis-columns .major-tick{stroke:currentColor;stroke-width:1.15;opacity:.76;vector-effect:non-scaling-stroke}
.mpu30-chart-axis-columns .tick-label{fill:currentColor;font-size:8.4px;font-weight:800;paint-order:stroke;stroke:rgba(3,8,15,.78);stroke-width:2.2px;stroke-linejoin:round}
.mpu30-chart-axis-columns .unit{fill:currentColor;font-size:11px;font-weight:900;letter-spacing:.02em;paint-order:stroke;stroke:rgba(3,8,15,.84);stroke-width:2.8px;stroke-linejoin:round}.chart-axis-boxed .mpu30-chart-axis-columns .axis-rail-bg{fill:color-mix(in srgb,currentColor 11%,rgba(2,8,16,.86));stroke-width:1.35;rx:5}
.chart-axis-boxed .mpu30-chart-axis-columns .minor-tick{opacity:.30}.chart-axis-boxed .mpu30-chart-axis-columns .major-tick{opacity:.92}
.chart-axis-striped .mpu30-chart-axis-columns .axis-rail-bg{fill:color-mix(in srgb,currentColor 14%,rgba(2,8,16,.72));stroke-dasharray:2.5 2.5}
.chart-axis-striped .mpu30-chart-axis-columns .minor-tick:nth-of-type(even){opacity:.18}
.chart-axis-compact .mpu30-chart-axis-columns .axis-rail-bg{fill:transparent;stroke-opacity:.30}.chart-axis-compact .mpu30-chart-axis-columns .tick-label.q1,.chart-axis-compact .mpu30-chart-axis-columns .tick-label.q3{display:none}.chart-axis-compact .mpu30-chart-axis-columns .unit{font-size:9px}.chart-axis-compact .mpu30-chart-axis-columns .tick-label{font-size:7.6px}
.chart-axis-engineering .mpu30-chart-axis-columns .axis-rail-bg,.chart-axis-auto .mpu30-chart-axis-columns .axis-rail-bg{fill:color-mix(in srgb,currentColor 9%,rgba(2,8,16,.78))}
@media(max-width:760px){.mpu30-chart-axis-columns .tick-label{font-size:7px}.mpu30-chart-axis-columns .unit{font-size:8px}.chart-axis-engineering .mpu30-chart-axis-columns .tick-label.q1,.chart-axis-engineering .mpu30-chart-axis-columns .tick-label.q3{display:none}}

/* WEB30.1.131 - interactive engineering metric rulers and two-line timeline labels */
.mpu30-chart-xlabel.upper{font-size:10.5px;opacity:.86}
.mpu30-chart-xlabel.lower{font-size:10.5px;opacity:.78}
.mpu30-chart-xlabel-leader{stroke:color-mix(in srgb,var(--muted) 44%,transparent);stroke-width:.7;vector-effect:non-scaling-stroke;opacity:.42}
.mpu30-chart-xlabel-leader.lower{opacity:.34}
.mpu30-chart-axis-columns{pointer-events:auto}
.mpu30-chart-axis-columns .axis-col{pointer-events:auto;cursor:grab;user-select:none;touch-action:none}
.mpu30-chart-axis-columns .axis-rail-hit{fill:transparent;stroke:transparent;pointer-events:all}
.mpu30-chart-axis-columns .axis-col:active{cursor:grabbing}
.mpu30-chart-axis-columns .axis-col:hover .axis-rail-bg{fill:color-mix(in srgb,currentColor 18%,rgba(2,8,16,.82));stroke-width:1.8;filter:drop-shadow(0 0 10px color-mix(in srgb,currentColor 26%,transparent))}
.mpu30-chart-axis-columns .axis-col:hover .axis-spine,.mpu30-chart-axis-columns .axis-col:hover .major-tick{opacity:1;stroke-width:1.65}
.mpu30-chart-axis-columns .axis-col.axis-zoomed .axis-rail-bg{fill:color-mix(in srgb,currentColor 22%,rgba(2,8,16,.78));stroke-width:2;stroke-dasharray:3 2}
.mpu30-chart-axis-columns .zoom-hint{fill:currentColor;font-size:7.3px;font-weight:900;letter-spacing:.08em;opacity:.56;paint-order:stroke;stroke:rgba(3,8,15,.80);stroke-width:2px;stroke-linejoin:round}
.chart-axis-off .mpu30-chart-axis-columns,.chart-axis-off .mpu30-chart-ylabels.multi-scale{display:none}
/* WEB30.1.132: chart plot depth zoom + strict plot clipping + adaptive axis spacing */
.mpu30-chart-plot-clip{pointer-events:all}
.mpu30-chart-card.plot-zoom-on .mpu30-chart-stage{cursor:grab}
.mpu30-chart-card.plot-zoom-on .mpu30-chart-stage:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent)}
.mpu30-chart-card.axis-columns-on .mpu30-chart-svg{overflow:hidden}
.mpu30-chart-card.axis-columns-off .mpu30-chart-svg{overflow:hidden}
.mpu30-chart-card.axis-columns-off .mpu30-chart-stage{padding-inline:0}
.mpu30-chart-card .mpu30-chart-cursor{clip-path:none}
.mpu30-chart-card.plot-zoom-off .mpu30-chart-stage{cursor:grab}

/* WEB30.1.133 mouse interaction polish */
.mpu30-chart-mouse-tools{display:inline-flex;align-items:center;gap:5px;flex-wrap:wrap;max-width:100%;padding:4px 5px;border:1px solid color-mix(in srgb,var(--line) 72%,var(--accent) 28%);border-radius:999px;background:color-mix(in srgb,var(--panel-2) 82%,#000 18%)}
.mpu30-chart-mouse-tools span{font-size:10px;color:var(--muted);white-space:nowrap;padding:0 4px}
.mpu30-chart-mouse-tools .ghost-btn.small{padding:3px 7px;min-height:24px;border-radius:999px;font-size:10px;line-height:1}
.mpu30-chart-mouse-tools .ghost-btn.active{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 58%,var(--line));background:color-mix(in srgb,var(--accent) 15%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent),0 0 14px color-mix(in srgb,var(--accent) 12%,transparent)}
.mpu30-chart-card[data-mouse-mode="pan"] .mpu30-chart-stage,
.mpu30-chart-card[data-mouse-mode="depth"] .mpu30-chart-stage,
.mpu30-chart-card[data-mouse-mode="time"] .mpu30-chart-stage,
.mpu30-chart-card[data-mouse-mode="smart"] .mpu30-chart-stage{cursor:grab}
.mpu30-chart-card .mpu30-chart-stage:active{cursor:grabbing}
@media(max-width:980px){.mpu30-chart-tools{align-items:flex-start}.mpu30-chart-mouse-tools{border-radius:14px}.mpu30-chart-mouse-tools span{width:100%;padding:2px 5px}}

/* WEB30.1.135 chart point density + precise hover/lock polish */
.mpu30-chart-gap-bridge{
  fill:none;
  stroke:color-mix(in srgb,currentColor 52%,var(--warn) 48%);
  stroke-width:2.05;
  stroke-dasharray:5 7;
  stroke-linecap:round;
  opacity:.78;
  vector-effect:non-scaling-stroke;
  pointer-events:none;
  filter:drop-shadow(0 0 3px color-mix(in srgb,currentColor 20%,transparent));
}
.mpu30-chart-hover-path{stroke-width:7;pointer-events:stroke}
.mpu30-chart-series.legend-locked .mpu30-chart-line,
.mpu30-chart-series.legend-locked .mpu30-chart-gap-bridge,
.mpu30-chart-series.legend-locked .mpu30-chart-dot,
.mpu30-chart-series.legend-locked .mpu30-chart-hit,
.mpu30-chart-series.legend-locked .mpu30-chart-scatter,
.mpu30-chart-series.legend-locked .mpu30-chart-bar,
.mpu30-chart-series.legend-locked .mpu30-chart-candle{
  filter:drop-shadow(0 0 11px currentColor) drop-shadow(0 0 3px currentColor);
}
.mpu30-chart-tooltip .tooltip-hit-series{font-weight:800;background:color-mix(in srgb,currentColor 10%,transparent);border-radius:8px;padding:2px 4px;margin-inline:-4px}

/* WEB30.1.137 GPS Tracking base */
.gps-tracking-page{display:grid;gap:var(--gap);min-height:0}.gps-subtabs{position:sticky;top:0;z-index:7;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(10px);padding:6px;border:1px solid var(--line);border-radius:var(--radius)}.gps-map-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:var(--gap);align-items:stretch}.gps-stations-panel{display:flex;flex-direction:column;gap:8px;min-height:0}.gps-station-list{display:grid;gap:7px;max-height:clamp(260px,45vh,560px);overflow:auto;padding-right:3px}.gps-station-card{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--panel2);color:var(--text);padding:9px}.gps-station-card b{font-size:13px}.gps-station-card small,.gps-station-card em{grid-column:2;color:var(--muted);font-size:11px;font-style:normal}.gps-station-card.active{border-color:color-mix(in srgb,var(--accent) 72%,var(--line));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}.gps-station-card.gps-ok{background:linear-gradient(90deg,color-mix(in srgb,var(--good) 10%,transparent),var(--panel2))}.gps-station-card.gps-warn{background:linear-gradient(90deg,color-mix(in srgb,var(--warn) 10%,transparent),var(--panel2))}.gps-station-card.gps-bad{opacity:.82}.gps-map-panel{display:grid;grid-template-rows:auto minmax(360px,1fr) auto;gap:8px}.gps-map-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-wrap:wrap}.gps-range-selector{justify-content:flex-end}.gps-map-canvas{min-height:clamp(380px,62vh,760px);height:100%;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 35%),linear-gradient(135deg,color-mix(in srgb,var(--panel2) 80%,#000),var(--bg));position:relative}.gps-map-empty{height:100%;display:grid;place-items:center;text-align:center;color:var(--muted);gap:6px}.gps-map-empty b{color:var(--text);display:block}.gps-info-list{display:grid;grid-template-columns:auto 1fr;gap:5px 10px;margin:2px 0 0;padding-top:8px;border-top:1px solid var(--line);font-size:12px}.gps-info-list dt{color:var(--muted)}.gps-info-list dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.gps-popup{display:grid;gap:3px;min-width:170px;color:#0b1720}.gps-popup b{font-size:13px}.gps-leaflet-marker{background:transparent;border:0}.gps-leaflet-marker span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border:2px solid rgba(255,255,255,.92);box-shadow:0 4px 16px rgba(0,0,0,.35);font-weight:900;line-height:1;transform-origin:center}.gps-leaflet-marker.gps-warn span{background:linear-gradient(135deg,var(--warn),#f97316)}.gps-leaflet-marker.gps-bad span{background:linear-gradient(135deg,var(--bad),#7f1d1d)}.gps-fallback-svg{width:100%;height:100%;min-height:380px;display:block}.gps-fallback-svg rect{fill:color-mix(in srgb,var(--panel2) 86%,#000);stroke:var(--line)}.gps-fallback-svg text{fill:var(--muted);font:12px system-ui}.gps-fallback-grid{stroke:color-mix(in srgb,var(--line) 76%,transparent);stroke-width:1;fill:none}.gps-fallback-route{fill:none;stroke:var(--accent2);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.gps-fallback-marker circle{fill:var(--accent);stroke:#fff;stroke-width:2}.gps-fallback-marker text{fill:var(--text);font-weight:800}.gps-stats-grid{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:7px}.gps-stats-grid article,.gps-settings-grid article{border:1px solid var(--line);border-radius:12px;background:var(--panel2);padding:9px;display:grid;gap:3px}.gps-stats-grid b{font-size:18px;font-variant-numeric:tabular-nums}.gps-stats-grid span,.gps-settings-grid span{color:var(--muted);font-size:12px}.gps-history-table{max-height:360px}.gps-placeholder-panel{min-height:260px}.gps-feature-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:7px;margin:10px 0}.gps-feature-list span{border:1px dashed color-mix(in srgb,var(--accent) 44%,var(--line));border-radius:999px;padding:7px 10px;color:var(--muted);background:color-mix(in srgb,var(--accent) 8%,transparent)}.gps-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--gap)}@media(max-width:980px){.gps-map-layout{grid-template-columns:1fr}.gps-map-panel{grid-template-rows:auto minmax(320px,55vh) auto}.gps-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.gps-map-head{display:grid}.gps-stats-grid{grid-template-columns:1fr}.gps-info-list dd{text-align:left}.gps-subtabs{overflow:auto;white-space:nowrap;display:flex}}

/* WEB30.1.138 GPS saved tracks */
.gps-save-route-panel{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,420px);gap:var(--gap);align-items:center}.gps-save-route-panel h3{margin:0}.gps-save-route-form{display:flex;gap:8px;align-items:center}.gps-save-route-form input{min-width:0;flex:1}.gps-saved-layout{display:grid;grid-template-columns:minmax(300px,390px) minmax(0,1fr);gap:var(--gap);align-items:stretch}.gps-track-list{display:grid;gap:7px;max-height:clamp(220px,38vh,520px);overflow:auto;padding-right:3px}.gps-track-card{display:grid;gap:3px;text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--panel2);color:var(--text);padding:9px}.gps-track-card b{font-size:13px}.gps-track-card small,.gps-track-card em{color:var(--muted);font-size:11px;font-style:normal}.gps-track-card.active{border-color:color-mix(in srgb,var(--accent) 72%,var(--line));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}.gps-saved-meta{display:grid;gap:8px}.gps-saved-meta .gps-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gps-track-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.danger-btn{border:1px solid color-mix(in srgb,var(--bad) 68%,var(--line));background:color-mix(in srgb,var(--bad) 16%,var(--panel2));color:var(--text);border-radius:10px;padding:7px 10px}.danger-btn:hover{background:color-mix(in srgb,var(--bad) 26%,var(--panel2))}@media(max-width:980px){.gps-saved-layout,.gps-save-route-panel{grid-template-columns:1fr}.gps-save-route-form{flex-direction:column;align-items:stretch}}

/* WEB30.1.139 GPS map source selector */
.gps-map-head-tools{display:flex;align-items:flex-start;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.gps-map-source-picker{display:grid;gap:3px;min-width:190px;font-size:11px;color:var(--muted)}
.gps-map-source-picker select{width:100%;min-height:30px;border-radius:10px;border:1px solid var(--line);background:var(--panel2);color:var(--text);padding:5px 8px;font-size:12px}
.gps-map-provider-note{display:block;margin-top:3px;font-size:11px}
.gps-map-source-card{align-content:start}.gps-map-source-card .gps-map-source-picker{margin-top:5px}
.gps-map-source-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;margin-top:var(--gap)}
.gps-map-source-option{text-align:left;border:1px solid var(--line);border-radius:13px;background:var(--panel2);color:var(--text);padding:10px;display:grid;gap:4px;cursor:pointer}
.gps-map-source-option b{font-size:13px}.gps-map-source-option span{font-size:11px;color:var(--muted)}
.gps-map-source-option.active{border-color:color-mix(in srgb,var(--accent) 70%,var(--line));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 16%,transparent);background:color-mix(in srgb,var(--accent) 9%,var(--panel2))}
.gps-map-source-option:hover{border-color:color-mix(in srgb,var(--accent) 48%,var(--line));transform:translateY(-1px)}
@media(max-width:620px){.gps-map-head-tools{justify-content:stretch}.gps-map-source-picker{min-width:100%}.gps-map-head-tools .gps-range-selector{justify-content:flex-start}}

/* WEB30.1.140 GPS my-position controls */
.gps-my-location-panel{border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--accent) 7%,var(--panel2));padding:9px;display:grid;gap:7px}
.gps-my-location-panel>div{display:grid;gap:2px}.gps-my-location-panel b{font-size:13px}.gps-my-location-panel span{color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}
.gps-my-location-panel label{display:grid;gap:3px;color:var(--muted);font-size:11px}.gps-my-location-panel input[type="number"]{width:100%;min-height:30px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);padding:5px 8px;font-size:12px;font-variant-numeric:tabular-nums}
.gps-my-center-toggle{display:flex!important;grid-template-columns:none!important;align-items:center;gap:7px;color:var(--text)!important}.gps-my-center-toggle input{accent-color:var(--accent)}
.gps-my-location-actions{display:flex;gap:6px;flex-wrap:wrap}.gps-my-location-actions button{min-height:30px}
.gps-leaflet-me-marker{background:transparent;border:0}.gps-leaflet-me-marker span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#2563eb;color:#fff;border:3px solid #fff;box-shadow:0 0 0 3px rgba(37,99,235,.24),0 6px 18px rgba(0,0,0,.35);font-size:14px;line-height:1}
.gps-fallback-me circle{fill:#2563eb;stroke:#fff;stroke-width:3}.gps-fallback-me text{fill:var(--text);font-weight:900}
@media(max-width:620px){.gps-my-location-actions{display:grid}.gps-my-location-actions button{width:100%}}

/* WEB30.1.141 GPS map right-click context menu and local points */
.gps-local-points{border-top:1px solid var(--line);padding-top:6px}
.gps-local-points summary{cursor:pointer;color:var(--text);font-size:12px;font-weight:800}
.gps-saved-map-points{display:grid;gap:6px;margin-top:7px}
.gps-saved-map-points-empty{font-size:11px;color:var(--muted);padding:7px;border:1px dashed var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel) 70%,transparent)}
.gps-saved-map-point{display:grid;gap:3px;border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:7px}
.gps-saved-map-point b{font-size:12px;line-height:1.2}.gps-saved-map-point small{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.gps-saved-map-point>div{display:flex;gap:5px;flex-wrap:wrap}
.gps-map-context-menu{position:fixed;z-index:99999;min-width:230px;max-width:min(290px,calc(100vw - 16px));border:1px solid color-mix(in srgb,var(--accent) 36%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--panel) 96%,#000);box-shadow:0 18px 48px rgba(0,0,0,.38);padding:7px;display:grid;gap:5px;backdrop-filter:blur(12px)}
.gps-map-context-head{display:grid;gap:2px;padding:5px 7px 7px;border-bottom:1px solid var(--line)}
.gps-map-context-head b{font-size:13px}.gps-map-context-head span{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.gps-map-context-menu button{width:100%;border:0;border-radius:10px;background:transparent;color:var(--text);text-align:left;padding:8px 9px;cursor:pointer;font-size:12px}
.gps-map-context-menu button:hover{background:color-mix(in srgb,var(--accent) 16%,transparent)}
.gps-leaflet-saved-point-marker{background:transparent;border:0}.gps-leaflet-saved-point-marker span{display:grid;place-items:center;width:22px;height:22px;border-radius:8px;background:#7c3aed;color:#fff;border:2px solid #fff;box-shadow:0 5px 16px rgba(0,0,0,.32);font-size:12px;line-height:1}

/* WEB30.1.142 GPS live marker motion + non-refresh local map actions */
@keyframes gpsPulseRing{0%{transform:translate(-50%,-50%) scale(.42);opacity:.8}70%{transform:translate(-50%,-50%) scale(1.95);opacity:.08}100%{transform:translate(-50%,-50%) scale(2.1);opacity:0}}
@keyframes gpsMarkerBreath{0%,100%{transform:translate(-50%,-50%) scale(.92)}50%{transform:translate(-50%,-50%) scale(1.08)}}
@keyframes gpsRadarSpin{0%{transform:translate(-50%,-50%) rotate(0deg)}100%{transform:translate(-50%,-50%) rotate(360deg)}}
.gps-leaflet-marker,.gps-leaflet-me-marker,.gps-leaflet-saved-point-marker{background:transparent!important;border:0!important;overflow:visible!important}
.gps-leaflet-marker .gps-marker-pulse{position:absolute;left:50%;top:50%;width:34px;height:34px;border-radius:50%;border:2px solid color-mix(in srgb,var(--accent) 86%,#fff);box-shadow:0 0 18px color-mix(in srgb,var(--accent) 42%,transparent);animation:gpsPulseRing 1.9s ease-out infinite;pointer-events:none;transform:translate(-50%,-50%)}
.gps-leaflet-marker .gps-marker-core{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border:2px solid rgba(255,255,255,.95);box-shadow:0 5px 18px rgba(0,0,0,.38);font-weight:900;line-height:1;transform:translate(-50%,-50%);transform-origin:center;z-index:2}
.gps-leaflet-marker.gps-warn .gps-marker-core{background:linear-gradient(135deg,var(--warn),#f97316)}
.gps-leaflet-marker.gps-bad .gps-marker-core{background:linear-gradient(135deg,var(--bad),#7f1d1d)}
.gps-leaflet-marker.gps-warn .gps-marker-pulse{border-color:color-mix(in srgb,var(--warn) 86%,#fff);box-shadow:0 0 18px color-mix(in srgb,var(--warn) 42%,transparent)}
.gps-leaflet-marker.gps-bad .gps-marker-pulse{border-color:color-mix(in srgb,var(--bad) 86%,#fff);box-shadow:0 0 18px color-mix(in srgb,var(--bad) 42%,transparent)}
.gps-marker-label{position:absolute;left:35px;top:50%;transform:translateY(-50%);display:block;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:4px 7px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(8,18,30,.78);color:#fff;font-size:11px;font-weight:800;box-shadow:0 4px 14px rgba(0,0,0,.28);backdrop-filter:blur(8px);pointer-events:none}
.gps-marker-tooltip{border:1px solid var(--line)!important;background:color-mix(in srgb,var(--panel) 92%,#000)!important;color:var(--text)!important;box-shadow:0 8px 24px rgba(0,0,0,.3)!important;border-radius:10px!important;font-weight:800!important}
.gps-leaflet-me-marker{position:relative!important;width:86px!important;height:86px!important;contain:layout style}
.gps-leaflet-me-marker .gps-me-radar{position:absolute;left:50%;top:50%;width:76px;height:76px;border-radius:50%;border:1px solid rgba(59,130,246,.50);box-shadow:0 0 0 1px rgba(59,130,246,.20) inset,0 0 28px rgba(59,130,246,.24);transform:translate(-50%,-50%);pointer-events:none}
.gps-leaflet-me-marker .gps-me-radar:before,.gps-leaflet-me-marker .gps-me-radar:after{content:"";position:absolute;left:50%;top:50%;border-radius:50%;border:1px solid rgba(59,130,246,.22);transform:translate(-50%,-50%);pointer-events:none}.gps-leaflet-me-marker .gps-me-radar:before{width:48px;height:48px}.gps-leaflet-me-marker .gps-me-radar:after{width:24px;height:24px}
.gps-leaflet-me-marker .gps-me-sweep{position:absolute;left:50%;top:50%;width:76px;height:76px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg,transparent 246deg,rgba(59,130,246,.08) 286deg,rgba(59,130,246,.28) 326deg,rgba(59,130,246,.92) 358deg,rgba(191,219,254,.98) 360deg);clip-path:circle(50%);animation:gpsRadarSpin 3.6s linear infinite;opacity:.92;transform:translate(-50%,-50%) rotate(0deg);transform-origin:50% 50%;pointer-events:none;filter:drop-shadow(0 0 10px rgba(59,130,246,.28))}
.gps-leaflet-me-marker span{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#2563eb;color:#fff;border:3px solid #fff;box-shadow:0 0 0 4px rgba(37,99,235,.22),0 7px 20px rgba(0,0,0,.38);font-size:13px;line-height:1;transform:translate(-50%,-50%);animation:gpsMarkerBreath 1.7s ease-in-out infinite;z-index:3;pointer-events:none}
.gps-leaflet-me-marker b{position:absolute;left:50%;top:82px;transform:translateX(-50%);white-space:nowrap;padding:4px 8px;border-radius:999px;background:rgba(37,99,235,.86);color:#fff;border:1px solid rgba(255,255,255,.28);font-size:11px;box-shadow:0 6px 18px rgba(0,0,0,.28);pointer-events:none}
.gps-reference-radius{stroke:#3b82f6;fill:#3b82f6}
.gps-leaflet-saved-point-marker{width:34px!important;height:34px!important}
.gps-leaflet-saved-point-marker i{position:absolute;left:50%;top:50%;width:26px;height:26px;border-radius:10px;border:2px solid rgba(124,58,237,.72);animation:gpsPulseRing 2.2s ease-out infinite;pointer-events:none}
.gps-leaflet-saved-point-marker span{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:22px;height:22px;border-radius:8px;background:#7c3aed;color:#fff;border:2px solid #fff;box-shadow:0 5px 16px rgba(0,0,0,.32);font-size:12px;line-height:1;transform:translate(-50%,-50%);z-index:2}
.gps-leaflet-saved-point-marker b{position:absolute;left:28px;top:50%;transform:translateY(-50%);max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:3px 7px;border-radius:999px;background:rgba(69,32,130,.78);color:#fff;font-size:10.5px;border:1px solid rgba(255,255,255,.2);pointer-events:none}
.gps-map-context-menu button{touch-action:manipulation}


/* WEB30.1.143 GPS current-system radar alignment fix */
.gps-leaflet-me-marker .gps-me-radar,.gps-leaflet-me-marker .gps-me-sweep,.gps-leaflet-me-marker span{box-sizing:border-box}

/* WEB30.1.144 GPS geofence base */
.gps-geofence-layout{display:grid;grid-template-columns:minmax(310px,410px) minmax(0,1fr);gap:var(--gap);align-items:stretch}
.gps-geofence-form{display:grid;gap:8px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--accent) 6%,var(--panel2));padding:10px}
.gps-geofence-form h3{margin:0;font-size:14px}.gps-geofence-form label{display:grid;gap:3px;color:var(--muted);font-size:11px}.gps-geofence-form input,.gps-geofence-form select{width:100%;min-height:30px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);padding:5px 8px;font-size:12px}.gps-geofence-row{display:grid;grid-template-columns:1fr 1fr;gap:7px}.gps-geofence-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.gps-geofence-checks label{display:flex;align-items:center;gap:6px;color:var(--text);border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:6px}.gps-geofence-checks input{width:auto;min-height:0;accent-color:var(--accent)}.gps-geofence-actions{display:flex;gap:6px;flex-wrap:wrap}.gps-geofence-list{display:grid;gap:7px;max-height:clamp(220px,34vh,520px);overflow:auto;padding-right:3px}.gps-geofence-card{display:grid;gap:3px;text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--panel2);color:var(--text);padding:9px}.gps-geofence-card b{font-size:13px}.gps-geofence-card small,.gps-geofence-card em{color:var(--muted);font-size:11px;font-style:normal}.gps-geofence-card.active{border-color:color-mix(in srgb,var(--accent) 72%,var(--line));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}.gps-geofence-card.disabled{opacity:.62}.gps-geofence-meta{display:grid;gap:8px}.gps-geofence-circle{stroke:var(--warn);fill:var(--warn)}.gps-geofence-circle.disabled{stroke:#64748b;fill:#64748b}.gps-geofence-draft-circle{stroke:var(--good);fill:var(--good);stroke-dasharray:8 6;animation:gpsFenceDraftDash 1.4s linear infinite}.gps-geofence-center-dot{stroke:#fff;fill:var(--good)}@keyframes gpsFenceDraftDash{to{stroke-dashoffset:-28}}@media(max-width:980px){.gps-geofence-layout{grid-template-columns:1fr}.gps-geofence-checks{grid-template-columns:1fr}.gps-geofence-actions{display:grid}.gps-geofence-actions button{width:100%}}

/* WEB30.1.145 GPS alert rules and browser event log */
.gps-alerts-layout{display:grid;grid-template-columns:minmax(320px,430px) minmax(320px,.8fr) minmax(360px,1fr);gap:var(--gap);align-items:start}
.gps-alert-settings,.gps-alert-status,.gps-alert-events{min-width:0}.gps-alert-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}.gps-alert-rule-grid label{display:grid;gap:5px;border:1px solid var(--line);border-radius:13px;background:var(--panel2);padding:9px;color:var(--text)}.gps-alert-rule-grid span{font-size:11px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.gps-alert-rule-grid input[type="number"]{width:100%;min-height:32px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);padding:5px 8px}.gps-alert-rule-grid input[type="checkbox"]{width:22px;height:22px;accent-color:var(--accent)}.gps-alert-actions{display:flex;gap:8px;flex-wrap:wrap}.gps-alert-event-list,.gps-alert-status-list{display:grid;gap:8px;max-height:clamp(280px,54vh,680px);overflow:auto;padding-right:3px}.gps-alert-empty{border:1px dashed var(--line);border-radius:14px;background:color-mix(in srgb,var(--panel) 70%,transparent);color:var(--muted);padding:12px}.gps-alert-event{display:grid;gap:5px;border:1px solid var(--line);border-radius:14px;background:var(--panel2);padding:10px;box-shadow:inset 3px 0 0 color-mix(in srgb,var(--accent) 58%,transparent)}.gps-alert-event b{display:block;font-size:13px}.gps-alert-event span{display:block;color:var(--text);font-size:12px;line-height:1.35}.gps-alert-event small,.gps-alert-event em{display:block;color:var(--muted);font-size:11px;font-style:normal}.gps-alert-event.gps-alert-critical{box-shadow:inset 3px 0 0 var(--bad);border-color:color-mix(in srgb,var(--bad) 42%,var(--line))}.gps-alert-event.gps-alert-warning{box-shadow:inset 3px 0 0 var(--warn);border-color:color-mix(in srgb,var(--warn) 42%,var(--line))}.gps-alert-event.gps-alert-info{box-shadow:inset 3px 0 0 var(--accent)}.gps-alert-status{display:grid;gap:8px}.gps-alert-status-list .gps-alert-status{display:grid;gap:3px;border:1px solid var(--line);border-radius:13px;background:var(--panel2);padding:9px}.gps-alert-status b{font-size:12px;text-transform:uppercase;letter-spacing:.08em}.gps-alert-status em{font-style:normal;color:var(--text);font-weight:900}.gps-alert-status small{color:var(--muted);font-size:11px}.gps-alert-status.ok{border-color:color-mix(in srgb,var(--good) 36%,var(--line))}.gps-alert-status.warn{border-color:color-mix(in srgb,var(--warn) 48%,var(--line));box-shadow:0 0 0 2px color-mix(in srgb,var(--warn) 8%,transparent)}@media(max-width:1280px){.gps-alerts-layout{grid-template-columns:1fr 1fr}.gps-alert-events{grid-column:1/-1}}@media(max-width:780px){.gps-alerts-layout,.gps-alert-rule-grid{grid-template-columns:1fr}.gps-alert-actions{display:grid}.gps-alert-actions button{width:100%}}

/* WEB30.1.147 GPS polygon geofence builder */
.gps-polygon-builder{display:grid;gap:8px;border:1px dashed color-mix(in srgb,var(--accent2) 48%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--accent2) 7%,transparent);padding:9px}
.gps-polygon-builder>div:first-child{display:grid;gap:2px}.gps-polygon-builder b{font-size:13px}.gps-polygon-builder small{color:var(--muted);font-size:11px}
.gps-polygon-empty{border:1px dashed var(--line);border-radius:10px;color:var(--muted);padding:8px;font-size:11px;background:color-mix(in srgb,var(--panel) 72%,transparent)}
.gps-polygon-points{display:grid;gap:4px;max-height:128px;overflow:auto;padding-right:3px}.gps-polygon-points span{display:grid;grid-template-columns:26px 1fr;align-items:center;gap:6px;border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:5px 7px;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.gps-polygon-points b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:color-mix(in srgb,var(--accent2) 75%,var(--accent));color:#fff;font-size:11px}
.gps-geofence-polygon{stroke:#a855f7;fill:#a855f7}.gps-geofence-polygon.disabled{stroke:#64748b;fill:#64748b}.gps-geofence-draft-polygon{stroke:#22d3ee;fill:#22d3ee;stroke-dasharray:9 7;animation:gpsFenceDraftDash 1.5s linear infinite}.gps-geofence-polygon-dot{stroke:#fff;fill:#a855f7}.gps-polygon-index{background:rgba(15,23,42,.76);color:#fff;border:1px solid rgba(255,255,255,.28);border-radius:999px;font-size:10px;font-weight:900;padding:1px 4px;box-shadow:0 4px 12px rgba(0,0,0,.28)}
.gps-geofence-card.gps-fence-polygon{box-shadow:inset 3px 0 0 color-mix(in srgb,#a855f7 72%,transparent)}
.gps-map-context-menu button[data-action="polygon-vertex"]{background:color-mix(in srgb,#a855f7 12%,transparent)}

/* WEB30.1.148 GPS route replay */
.gps-replay-panel{border:1px solid var(--line);border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 9%,var(--panel2)),color-mix(in srgb,var(--accent2) 5%,var(--panel2)));padding:9px;display:grid;gap:8px;align-self:start}
.gps-replay-panel.disabled{opacity:.72}.gps-replay-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}.gps-replay-head h3{margin:0;font-size:14px}.gps-replay-head span,.gps-replay-foot span{color:var(--muted);font-size:11px}.gps-replay-head label{display:grid;gap:3px;color:var(--muted);font-size:11px;min-width:110px}.gps-replay-head select{min-height:30px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);padding:4px 8px}.gps-replay-actions{display:flex;gap:7px;flex-wrap:wrap}.gps-replay-progress{width:100%;accent-color:var(--accent)}.gps-replay-foot{display:grid;gap:2px}.gps-replay-foot #gpsReplayPointText{color:var(--text);font-variant-numeric:tabular-nums}.gps-replay-marker{background:transparent;border:0;width:54px!important;height:54px!important}.gps-replay-marker i{position:absolute;left:50%;top:50%;width:44px;height:44px;border-radius:50%;border:2px solid rgba(34,211,238,.68);transform:translate(-50%,-50%);animation:gpsPulseRing 1.6s ease-out infinite;box-shadow:0 0 20px rgba(34,211,238,.24)}.gps-replay-marker span{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#22d3ee,#2563eb);color:#fff;border:2px solid rgba(255,255,255,.95);box-shadow:0 6px 18px rgba(0,0,0,.36);font-size:14px;font-weight:900;transform-origin:center;z-index:2}.gps-replay-marker b{position:absolute;left:50%;top:44px;transform:translateX(-50%);white-space:nowrap;padding:3px 7px;border-radius:999px;background:rgba(8,47,73,.86);color:#fff;border:1px solid rgba(255,255,255,.22);font-size:10.5px;box-shadow:0 6px 18px rgba(0,0,0,.28)}.gps-replay-trace{stroke:#22d3ee;filter:drop-shadow(0 0 8px rgba(34,211,238,.28))}@media(max-width:620px){.gps-replay-actions{display:grid}.gps-replay-actions button{width:100%}.gps-replay-head{display:grid}.gps-replay-head label{min-width:0;width:100%}}

/* WEB30.1.150 GPS map sizing + fullscreen workspace */
.gps-map-panel{grid-template-rows:auto minmax(300px,auto) auto;min-height:0}
.gps-map-shell{position:relative;display:grid;grid-template-rows:minmax(340px,clamp(341px,51vh,616px)) auto auto;gap:8px;min-height:0}
.gps-map-canvas{min-height:clamp(341px,51vh,616px);height:100%}
.gps-map-fullscreen-open{position:absolute;right:12px;top:12px;z-index:700;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(8,18,30,.78);color:#fff;padding:7px 11px;font-size:12px;font-weight:800;box-shadow:0 10px 30px rgba(0,0,0,.32);backdrop-filter:blur(10px);cursor:pointer}
.gps-map-fullscreen-open:hover{background:rgba(15,23,42,.92);border-color:color-mix(in srgb,var(--accent) 70%,#fff 10%)}
.gps-map-fullscreen-toolbar{display:none;align-items:center;gap:7px;flex-wrap:wrap;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:linear-gradient(135deg,rgba(2,8,23,.88),rgba(15,23,42,.8));padding:8px 10px;box-shadow:0 12px 34px rgba(0,0,0,.34);backdrop-filter:blur(12px);z-index:760}
.gps-map-fullscreen-toolbar strong{margin-right:auto;color:#fff;font-size:13px;letter-spacing:.02em}.gps-map-fullscreen-toolbar button{white-space:nowrap}
.gps-map-shell.gps-map-fullscreen,.gps-map-shell:fullscreen{position:fixed!important;inset:10px!important;z-index:10000;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:10px;min-height:0;background:radial-gradient(circle at 50% 0%,rgba(34,211,238,.1),transparent 42%),rgba(2,8,23,.96);border:1px solid rgba(255,255,255,.15);border-radius:18px;padding:10px;box-shadow:0 24px 80px rgba(0,0,0,.72)}
.gps-map-shell.gps-map-fullscreen .gps-map-fullscreen-toolbar,.gps-map-shell:fullscreen .gps-map-fullscreen-toolbar{display:flex}
.gps-map-shell.gps-map-fullscreen .gps-map-fullscreen-open,.gps-map-shell:fullscreen .gps-map-fullscreen-open{display:none}
.gps-map-shell.gps-map-fullscreen .gps-map-canvas,.gps-map-shell:fullscreen .gps-map-canvas{min-height:0;height:100%;border-radius:16px}
body.gps-map-fullscreen-active{overflow:hidden}
.gps-map-timeline{border:1px solid var(--line);border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,var(--panel2)),color-mix(in srgb,var(--accent2) 6%,var(--panel2)));padding:8px;min-height:54px;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.gps-map-timeline[hidden]{display:none!important}.gps-map-timeline-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.gps-map-timeline-head b{font-size:12px}.gps-map-timeline-head span{font-size:11px;color:var(--muted)}
.gps-map-timeline-rail{display:flex;gap:4px;overflow:auto;padding:4px 1px 2px;scrollbar-width:thin}.gps-map-timeline-rail button{position:relative;min-width:20px;height:32px;border:0;border-radius:9px;background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center;align-content:center;gap:1px}.gps-map-timeline-rail button i{display:block;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent),0 0 12px color-mix(in srgb,var(--accent) 50%,transparent)}.gps-map-timeline-rail button small{font-size:8px;line-height:1}.gps-map-timeline-rail button:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--text)}
.gps-map-chip-list{display:flex;gap:7px;overflow:auto;padding:2px 1px 4px}.gps-map-chip-list button{min-width:190px;max-width:260px;text-align:left;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel) 78%,#000);color:var(--text);padding:8px;display:grid;gap:3px;cursor:pointer}.gps-map-chip-list button:hover{border-color:color-mix(in srgb,var(--accent) 70%,var(--line));background:color-mix(in srgb,var(--accent) 10%,var(--panel))}.gps-map-chip-list b{font-size:12px}.gps-map-chip-list span,.gps-map-chip-list em{font-size:11px;color:var(--muted);font-style:normal}
.leaflet-overlay-pane .gps-geofence-circle,.leaflet-overlay-pane .gps-geofence-polygon{stroke-width:4px;stroke-opacity:.96;fill-opacity:.14;filter:drop-shadow(0 0 7px rgba(245,158,11,.28))}.leaflet-overlay-pane .gps-geofence-polygon{filter:drop-shadow(0 0 8px rgba(168,85,247,.32))}.leaflet-overlay-pane .gps-geofence-circle.disabled,.leaflet-overlay-pane .gps-geofence-polygon.disabled{stroke-opacity:.5;fill-opacity:.06;filter:none}.gps-geofence-tooltip{background:rgba(2,8,23,.82);color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:999px;font-size:11px;font-weight:900;padding:3px 8px;box-shadow:0 8px 22px rgba(0,0,0,.38)}.gps-geofence-tooltip::before{display:none}
@media(max-width:980px){.gps-map-shell{grid-template-rows:minmax(308px,53vh) auto auto}.gps-map-canvas{min-height:308px}.gps-map-fullscreen-toolbar{gap:5px}.gps-map-fullscreen-toolbar strong{flex-basis:100%;margin-right:0}}
@media(max-width:620px){.gps-map-shell.gps-map-fullscreen,.gps-map-shell:fullscreen{inset:4px!important;border-radius:12px;padding:6px}.gps-map-fullscreen-toolbar button{font-size:11px;padding:5px 7px}.gps-map-timeline-head{display:grid}.gps-map-chip-list button{min-width:170px}}

/* WEB30.1.191 GPS map controls + non-blank subtab switching */
.gps-map-controls{display:flex;align-items:center;gap:7px;flex-wrap:wrap;border:1px solid var(--line);border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--panel2) 88%,#000),color-mix(in srgb,var(--accent) 6%,var(--panel2)));padding:7px 8px;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.gps-map-controls button{min-height:30px;white-space:nowrap}.gps-map-controls button:disabled{opacity:.48;cursor:not-allowed}.gps-map-polygon-mode{border-color:color-mix(in srgb,var(--accent2) 46%,var(--line))!important}.gps-map-polygon-mode.active{background:linear-gradient(135deg,color-mix(in srgb,var(--accent2) 26%,var(--panel2)),color-mix(in srgb,var(--accent) 14%,var(--panel2)));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent2) 20%,transparent);color:var(--text)}
.gps-tracking-page.gps-tab-loading{position:relative}.gps-tracking-page.gps-tab-loading::before{content:'Loading GPS tab…';position:sticky;top:42px;justify-self:end;z-index:9;margin-bottom:-38px;border:1px solid color-mix(in srgb,var(--accent) 36%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--panel) 94%,#000);color:var(--muted);padding:6px 10px;font-size:11px;box-shadow:0 10px 26px rgba(0,0,0,.24)}
@media(max-width:720px){.gps-map-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.gps-map-controls button{width:100%}}

/* WEB30.1.151 GPS fullscreen map layer manager */
.gps-fs-layer-toggle.active{border-color:color-mix(in srgb,var(--good) 62%,rgba(255,255,255,.22));background:color-mix(in srgb,var(--good) 18%,rgba(15,23,42,.72));color:#fff}
.gps-fs-layer-toggle.off{opacity:.56;text-decoration:line-through;background:rgba(15,23,42,.48)}
.gps-layer-manager{display:grid;gap:9px}.gps-layer-manager-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:7px}.gps-layer-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);color:var(--text);padding:9px 10px;cursor:pointer;text-align:left}.gps-layer-toggle span{font-weight:800;font-size:12px}.gps-layer-toggle em{font-style:normal;min-width:24px;text-align:center;border-radius:999px;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);font-size:11px;padding:2px 7px}.gps-layer-toggle.active{border-color:color-mix(in srgb,var(--good) 58%,var(--line));box-shadow:inset 3px 0 0 color-mix(in srgb,var(--good) 80%,transparent)}.gps-layer-toggle.off{opacity:.66;background:color-mix(in srgb,var(--panel2) 72%,#000);box-shadow:inset 3px 0 0 color-mix(in srgb,var(--bad) 58%,transparent)}.gps-layer-toggle.off span{text-decoration:line-through}.gps-layer-manager-actions{display:flex;gap:7px;flex-wrap:wrap}
.gps-map-shell.gps-hide-stations .gps-leaflet-marker{display:none!important}.gps-map-shell.gps-hide-me .gps-leaflet-me-marker,.gps-map-shell.gps-hide-me .leaflet-overlay-pane .gps-reference-radius{display:none!important}.gps-map-shell.gps-hide-points .gps-leaflet-saved-point-marker{display:none!important}.gps-map-shell.gps-hide-track .leaflet-overlay-pane .gps-history-route,.gps-map-shell.gps-hide-track .leaflet-overlay-pane .gps-history-point,.gps-map-shell.gps-hide-track .leaflet-overlay-pane .gps-history-stop,.gps-map-shell.gps-hide-track .leaflet-overlay-pane .gps-replay-trace,.gps-map-shell.gps-hide-track .gps-replay-marker{display:none!important}.gps-map-shell.gps-hide-geofences .leaflet-overlay-pane .gps-geofence-circle,.gps-map-shell.gps-hide-geofences .leaflet-overlay-pane .gps-geofence-polygon,.gps-map-shell.gps-hide-geofences .leaflet-overlay-pane .gps-geofence-center-dot,.gps-map-shell.gps-hide-geofences .leaflet-overlay-pane .gps-geofence-polygon-dot,.gps-map-shell.gps-hide-geofences .gps-geofence-tooltip{display:none!important}.gps-map-shell.gps-hide-alerts .gps-alert-map-marker{display:none!important}.gps-map-shell.gps-hide-timeline .gps-map-timeline{display:none!important}
.gps-alert-map-marker{background:transparent!important;border:0!important;overflow:visible!important;width:42px!important;height:42px!important}.gps-alert-map-marker i{position:absolute;left:50%;top:50%;width:38px;height:38px;border-radius:50%;border:2px solid rgba(239,68,68,.72);transform:translate(-50%,-50%);animation:gpsPulseRing 1.35s ease-out infinite;box-shadow:0 0 22px rgba(239,68,68,.24)}.gps-alert-map-marker span{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,var(--bad),#f97316);color:#fff;border:2px solid rgba(255,255,255,.94);box-shadow:0 6px 18px rgba(0,0,0,.36);font-weight:900;transform:translate(-50%,-50%);z-index:2}.gps-alert-map-marker b{position:absolute;left:30px;top:50%;transform:translateY(-50%);max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:3px 7px;border-radius:999px;background:rgba(127,29,29,.86);color:#fff;border:1px solid rgba(255,255,255,.22);font-size:10.5px;box-shadow:0 6px 18px rgba(0,0,0,.28)}.gps-alert-map-marker.gps-alert-info span{background:linear-gradient(135deg,#0ea5e9,#2563eb)}.gps-alert-map-marker.gps-alert-critical span{background:linear-gradient(135deg,#dc2626,#7f1d1d)}
@media(max-width:980px){.gps-map-fullscreen-toolbar{max-height:28vh;overflow:auto}.gps-layer-manager-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* WEB30.1.152 GPS SMS dispatch bridge */
.gps-sms-runtime{margin-top:12px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:rgba(148,163,184,.08);display:flex;flex-direction:column;gap:4px}
.gps-sms-runtime div{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.gps-sms-runtime b{font-size:13px}
.gps-sms-runtime span{font-size:12px;color:var(--muted)}
.gps-sms-runtime small{font-size:11px;color:var(--muted)}
.gps-sms-runtime.ready{border-color:rgba(34,197,94,.45);background:rgba(34,197,94,.10)}
.gps-sms-runtime.ready span{color:#86efac}
.gps-sms-runtime.blocked{border-color:rgba(245,158,11,.36);background:rgba(245,158,11,.08)}
.gps-sms-runtime.blocked span{color:#fbbf24}

/* WEB30.1.153 GPS alert map review */
.gps-alerts-layout{grid-template-columns:minmax(320px,410px) minmax(300px,380px) minmax(420px,1fr)}
.gps-alert-map-panel{grid-column:3;grid-row:1 / span 2;min-width:0}.gps-alert-map-panel .gps-map-shell{height:clamp(420px,62vh,760px)}.gps-alert-map-panel .gps-map-canvas{height:100%}.gps-alert-events{grid-column:1 / span 2}.gps-alert-map-focus{justify-self:start;margin-top:4px;padding:4px 8px;font-size:11px}.gps-map-alert-chip-list button{border-left:3px solid var(--warn)}.gps-map-alert-chip-list button b{color:var(--text)}
@media(max-width:1280px){.gps-alerts-layout{grid-template-columns:1fr 1fr}.gps-alert-map-panel{grid-column:1/-1;grid-row:auto}.gps-alert-events{grid-column:1/-1}.gps-alert-map-panel .gps-map-shell{height:clamp(360px,56vh,700px)}}
@media(max-width:780px){.gps-alert-map-panel .gps-map-shell{height:420px}.gps-alert-events{grid-column:auto}}

/* WEB30.1.154 GPS reports/export */
.gps-reports-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:14px;align-items:start}.gps-report-overview,.gps-report-preview{grid-column:1/-1}.gps-report-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-top:12px}.gps-report-kpi-grid article{border:1px solid var(--line);border-radius:14px;padding:12px;background:rgba(255,255,255,.035);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.gps-report-kpi-grid b{display:block;font-size:1.25rem;line-height:1.15}.gps-report-kpi-grid span{display:block;color:var(--muted);font-size:.78rem;margin-top:4px}.gps-report-export-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.gps-report-export-grid button{justify-content:center;min-height:38px}.gps-report-warning-list{display:grid;gap:8px}.gps-report-warning-list article{display:grid;grid-template-columns:1fr auto;gap:3px 10px;border:1px solid rgba(245,158,11,.28);background:rgba(245,158,11,.08);border-radius:12px;padding:10px}.gps-report-warning-list article span{grid-column:1/-1;color:var(--muted);font-size:.82rem}.gps-report-warning-list article em{font-style:normal;color:#fbbf24;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.gps-report-preview .gps-history-table{max-height:420px;overflow:auto}@media(max-width:980px){.gps-reports-layout{grid-template-columns:1fr}}

/* WEB30.1.155 SMS provider selector */
.sms-provider-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;align-items:stretch}
.sms-provider-card{border:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:18px;padding:12px;background:color-mix(in srgb,var(--panel) 88%,#000 12%);box-shadow:0 10px 24px rgba(0,0,0,.16);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.sms-provider-card.active{border-color:color-mix(in srgb,var(--accent) 75%,white 10%);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent),0 12px 28px rgba(0,0,0,.22);transform:translateY(-1px)}
.sms-provider-radio{display:flex;align-items:flex-start;gap:10px;margin:0 0 10px 0;cursor:pointer}
.sms-provider-radio input{margin-top:3px}
.sms-provider-radio b{display:block;font-size:1.02rem}
.sms-provider-radio span{display:block;color:var(--muted);font-size:.84rem;margin-top:2px}
.compact-provider-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.compact-kv{margin-top:8px;font-size:.86rem}
.sms-provider-selector-panel .form-actions{align-items:center;gap:8px;flex-wrap:wrap}

/* WEB30.1.156 Faraz SMS only + header status */
.sms-header-pill{position:relative;cursor:pointer;border:1px solid var(--line);background:color-mix(in srgb,var(--panel2) 88%,transparent);color:var(--text);font:inherit;min-width:0}
.sms-header-pill.ready{border-color:rgba(34,197,94,.55);box-shadow:0 0 0 1px rgba(34,197,94,.15),0 0 16px rgba(34,197,94,.12)}
.sms-header-pill.warn{border-color:rgba(245,158,11,.65);box-shadow:0 0 0 1px rgba(245,158,11,.17)}
.sms-header-pill.bad{border-color:rgba(239,68,68,.56);box-shadow:0 0 0 1px rgba(239,68,68,.14)}
.sms-header-pill.blink-warn{animation:smsBlinkWarn 1.1s ease-in-out infinite}
.sms-header-pill.blink-bad{animation:smsBlinkBad .9s ease-in-out infinite}
.sms-header-icon{font-size:14px;line-height:1;filter:drop-shadow(0 0 5px currentColor)}
.sms-header-pill #smsHeaderStatus{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sms-header-tooltip{display:none;position:absolute;right:0;top:calc(100% + 10px);z-index:10050;width:340px;padding:12px;border:1px solid color-mix(in srgb,var(--accent) 42%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--panel) 94%,#000 6%);box-shadow:0 18px 50px rgba(0,0,0,.38);text-align:left;line-height:1.35;color:var(--text);white-space:normal}
.sms-header-tooltip:before{content:'';position:absolute;right:20px;top:-7px;width:12px;height:12px;transform:rotate(45deg);background:inherit;border-left:1px solid color-mix(in srgb,var(--accent) 42%,var(--line));border-top:1px solid color-mix(in srgb,var(--accent) 42%,var(--line))}
.sms-header-pill:hover .sms-header-tooltip,.sms-header-pill:focus-visible .sms-header-tooltip{display:grid;gap:6px}
.sms-header-tooltip strong{color:var(--accent)}
.sms-header-tooltip div{display:grid;grid-template-columns:105px minmax(0,1fr);gap:8px;font-size:.82rem;color:var(--text);align-items:center}
.sms-header-tooltip div span{color:var(--muted);font-size:.76rem}
.sms-header-tooltip div b{font-weight:800;overflow-wrap:anywhere}
.sms-header-tooltip small,.sms-header-tooltip em{color:var(--muted);font-size:.76rem}
.sms-header-tooltip hr{width:100%;border:0;border-top:1px solid var(--line);margin:5px 0}
.sms-header-ack{justify-self:start;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;padding:4px 10px;margin-top:2px;color:var(--text);background:color-mix(in srgb,var(--panel2) 88%,transparent);font-size:.76rem;font-weight:800;cursor:pointer}
.sms-header-ack:hover{border-color:color-mix(in srgb,var(--accent) 60%,var(--line));color:var(--accent)}
@keyframes smsBlinkWarn{0%,100%{box-shadow:0 0 0 1px rgba(245,158,11,.16),0 0 0 rgba(245,158,11,0)}50%{box-shadow:0 0 0 1px rgba(245,158,11,.65),0 0 18px rgba(245,158,11,.38)}}
@keyframes smsBlinkBad{0%,100%{box-shadow:0 0 0 1px rgba(239,68,68,.16),0 0 0 rgba(239,68,68,0)}50%{box-shadow:0 0 0 1px rgba(239,68,68,.75),0 0 18px rgba(239,68,68,.42)}}
.sms-capability-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin-top:10px}
.sms-capability-card{border:1px solid var(--line);border-radius:14px;padding:10px;background:color-mix(in srgb,var(--panel2) 82%,transparent);display:grid;gap:5px}
.sms-capability-card b{font-size:.92rem;color:var(--text)}
.sms-capability-card span{font-size:.8rem;color:var(--muted)}
.sms-capability-card small{justify-self:start;border-radius:999px;padding:2px 7px;font-size:.7rem;background:rgba(148,163,184,.16);color:var(--muted)}
.sms-capability-card.active{border-color:rgba(34,197,94,.42);background:rgba(34,197,94,.08)}
.sms-capability-card.active small{background:rgba(34,197,94,.16);color:#86efac}
.sms-capability-card.future_ready{border-color:rgba(59,130,246,.32);background:rgba(59,130,246,.07)}
.sms-capability-card.future_ready small{background:rgba(59,130,246,.16);color:#93c5fd}

/* WEB30.1.175 SMS status counters */
.sms-status-count-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;margin:8px 0 12px}
.sms-status-count{border:1px solid var(--line);border-radius:14px;padding:8px 10px;background:color-mix(in srgb,var(--panel2) 86%,transparent);display:grid;gap:3px;min-width:0}
.sms-status-count b{font-size:1.08rem;line-height:1.05;color:var(--text);font-weight:900}
.sms-status-count span{font-size:.75rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sms-status-count.sent{border-color:rgba(59,130,246,.34);background:rgba(59,130,246,.08)}
.sms-status-count.queued,.sms-status-count.pending{border-color:rgba(245,158,11,.34);background:rgba(245,158,11,.08)}
.sms-status-count.delivered{border-color:rgba(34,197,94,.36);background:rgba(34,197,94,.08)}
.sms-status-count.blocked,.sms-status-count.failed{border-color:rgba(239,68,68,.34);background:rgba(239,68,68,.08)}
.sms-status-count.delivered b{color:#86efac}.sms-status-count.queued b,.sms-status-count.pending b{color:#fbbf24}.sms-status-count.blocked b,.sms-status-count.failed b{color:#fca5a5}.sms-status-count.sent b{color:#93c5fd}
.lang-fa .sms-header-tooltip{direction:rtl;text-align:right;left:0;right:auto}
.lang-fa .sms-header-tooltip:before{left:20px;right:auto}
.lang-fa .sms-header-tooltip div{grid-template-columns:92px minmax(0,1fr)}
.lang-fa .sms-header-ack{justify-self:end}
@media(max-width:880px){.sms-header-pill #smsHeaderStatus{max-width:120px}.sms-header-tooltip{right:-90px;width:min(340px,calc(100vw - 28px))}}

/* WEB30.1.157 Faraz SMS clean status fixes */
.sms-provider-kv{align-items:start}
.sms-provider-kv b{white-space:nowrap;color:var(--text)}
.sms-provider-kv span{min-width:0;overflow-wrap:anywhere}
.sms-provider-selector-panel .field-hint{display:block;margin-top:4px;color:var(--muted);font-size:.74rem;line-height:1.25}
.sms-inline-note{margin-top:10px;padding:9px 10px;border:1px solid rgba(59,130,246,.25);border-radius:12px;background:rgba(59,130,246,.07);color:var(--muted);font-size:.82rem;line-height:1.38}
.sms-inline-note b{color:var(--text)}
.sms-header-pill.bad #smsHeaderStatus{color:#fecaca}
.sms-header-pill.warn #smsHeaderStatus{color:#fde68a}
.sms-header-pill.ready #smsHeaderStatus{color:#bbf7d0}
.sms-inline-note.danger{border-color:rgba(248,113,113,.45);background:rgba(248,113,113,.12);color:#fecaca}
.sms-api-debug table{font-size:.76rem}
.sms-api-debug td:nth-child(4),.sms-api-debug td:nth-child(5){font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem;word-break:break-all}
.sms-status-count[data-sms-log-filter]{cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.sms-status-count[data-sms-log-filter]:hover,.sms-status-count[data-sms-log-filter]:focus-visible{border-color:color-mix(in srgb,var(--accent) 60%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent);transform:translateY(-1px);outline:none}
.sms-status-count.active{border-color:color-mix(in srgb,var(--accent) 70%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 28%,transparent),0 0 18px color-mix(in srgb,var(--accent) 12%,transparent)}
.sms-log-toolbar{align-items:end;gap:8px;flex-wrap:wrap}
.sms-log-toolbar label{display:grid;gap:3px;font-size:.76rem;color:var(--muted);min-width:150px}
.sms-log-toolbar select,.sms-log-toolbar input{min-height:32px;border-radius:10px}
.sms-log-action{display:inline-flex;align-items:center;max-width:180px;padding:3px 8px;border-radius:999px;border:1px solid var(--line);font-size:.74rem;line-height:1.2;color:var(--muted);background:color-mix(in srgb,var(--panel2) 88%,transparent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sms-log-action.pending,.sms-log-action.queued,.sms-log-action.accepted,.sms-log-action.approved,.sms-log-action.checked{border-color:rgba(245,158,11,.34);background:rgba(245,158,11,.08);color:#fbbf24}
.sms-log-action.sent{border-color:rgba(59,130,246,.34);background:rgba(59,130,246,.08);color:#93c5fd}
.sms-log-action.delivered{border-color:rgba(34,197,94,.36);background:rgba(34,197,94,.08);color:#86efac}
.sms-log-action.blocked,.sms-log-action.rejected,.sms-log-action.failed{border-color:rgba(239,68,68,.34);background:rgba(239,68,68,.08);color:#fca5a5}

/* WEB30.1.179 SMS panel settings cards */
.sms-provider-card-form{display:grid;gap:12px}
.sms-provider-settings-grid{align-items:start}
.sms-settings-card{position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--line) 82%,transparent)}
.sms-settings-card:before{content:'';position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 60%,transparent),transparent);opacity:.75}
.sms-settings-card h3{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.sms-settings-card h3:before{content:'✉';display:inline-grid;place-items:center;width:22px;height:22px;border-radius:8px;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);font-size:.82rem}
.sms-settings-card-main h3:before{content:'🔑'}
.sms-settings-card-status h3:before{content:'●'}
.sms-provider-actionbar{position:sticky;bottom:8px;z-index:15;display:flex;gap:8px;justify-content:flex-end;align-items:center;flex-wrap:wrap;padding:10px;border:1px solid color-mix(in srgb,var(--accent) 26%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--panel) 92%,#000 8%);box-shadow:0 12px 34px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.04)}
.sms-provider-actionbar button,.sms-mini-actions button{min-height:34px;border-radius:12px;font-weight:800;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.sms-provider-actionbar button:hover,.sms-mini-actions button:hover{transform:translateY(-1px)}
.sms-action-save{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 28%,transparent),0 0 18px color-mix(in srgb,var(--accent) 13%,transparent)}
.sms-action-check{border-color:rgba(59,130,246,.38)!important;background:rgba(59,130,246,.08)!important;color:#bfdbfe!important}
.sms-action-send{border-color:rgba(34,197,94,.38)!important;background:rgba(34,197,94,.08)!important;color:#bbf7d0!important}
.sms-live-preview{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:6px 10px;margin:4px 0 10px;background:color-mix(in srgb,var(--panel2) 88%,transparent);font-weight:900;max-width:100%}
.sms-live-preview b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}
.sms-live-dot{width:10px;height:10px;border-radius:999px;background:var(--bad);box-shadow:0 0 10px rgba(239,68,68,.3)}
.sms-live-dot.ok{background:var(--good);box-shadow:0 0 10px rgba(34,197,94,.38)}
.sms-provider-mini-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin:8px 0 10px}
.sms-provider-mini-stats article,.sms-provider-route-summary span{border:1px solid var(--line);border-radius:14px;padding:8px 10px;background:color-mix(in srgb,var(--panel2) 86%,transparent);display:grid;gap:2px}
.sms-provider-mini-stats b,.sms-provider-route-summary b{font-size:1rem;color:var(--text);font-weight:900;line-height:1.1}
.sms-provider-mini-stats span,.sms-provider-route-summary span{color:var(--muted);font-size:.75rem}
.sms-provider-route-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:8px 0 12px}
.sms-check-status-box{margin-top:10px}
.sms-footer-chip.ok{border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.08);color:#bbf7d0}
.sms-footer-chip.warn{border-color:rgba(245,158,11,.36);background:rgba(245,158,11,.08);color:#fde68a}
.sms-footer-chip.bad{border-color:rgba(239,68,68,.34);background:rgba(239,68,68,.08);color:#fecaca}
@media(max-width:880px){.sms-provider-actionbar{position:static;justify-content:stretch}.sms-provider-actionbar button{flex:1 1 140px}.sms-live-preview b{max-width:170px}}

/* WEB30_1_180: SMS recipient management cards */
.sms-recipient-workspace{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(320px,1fr);gap:12px;align-items:start}
.sms-recipient-list-card{grid-column:1 / -1}
.sms-recipient-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin:8px 0 10px}
.sms-recipient-stat-grid article{border:1px solid var(--line);border-radius:14px;padding:9px 10px;background:color-mix(in srgb,var(--panel2) 86%,transparent);display:grid;gap:2px}
.sms-recipient-stat-grid b{font-size:1.16rem;font-weight:900;color:var(--text);line-height:1.05}
.sms-recipient-stat-grid span{font-size:.74rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sms-recipient-flags{display:flex;gap:5px;flex-wrap:wrap;align-items:center}
.sms-recipient-flag{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;padding:2px 7px;font-size:.72rem;font-weight:800;background:color-mix(in srgb,var(--panel2) 88%,transparent)}
.sms-recipient-flag.critical{border-color:rgba(239,68,68,.36);background:rgba(239,68,68,.1);color:#fca5a5}
.sms-recipient-flag.warning{border-color:rgba(245,158,11,.38);background:rgba(245,158,11,.1);color:#fbbf24}
.sms-recipient-flag.info{border-color:rgba(59,130,246,.35);background:rgba(59,130,246,.1);color:#93c5fd}
.sms-recipient-flag.report{border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.1);color:#86efac}
.sms-phone-chip{font-family:var(--mono);border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:999px;padding:3px 8px;background:color-mix(in srgb,var(--accent) 8%,transparent);white-space:nowrap}
.sms-recipient-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.sms-recipient-table tr.is-disabled{opacity:.58}
.sms-recipient-table td b{display:block}.sms-recipient-table td small{display:block;color:var(--muted);margin-top:2px;max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sms-recipient-form-actions{gap:8px;align-items:center;flex-wrap:wrap}
@media(max-width:980px){.sms-recipient-workspace{grid-template-columns:1fr}.sms-recipient-actions{justify-content:flex-start}}

/* WEB30.1.181 SMS settings layout and panel check tuning */
.sms-provider-settings-grid{
  grid-template-columns:minmax(340px,1.08fr) minmax(315px,.92fr);
  gap:10px;
  align-items:start;
  grid-auto-flow:dense;
  padding-bottom:54px;
}
.sms-provider-settings-grid .sms-settings-card{padding:12px;min-height:0}
.sms-provider-settings-grid .sms-settings-card-status{grid-column:2;grid-row:1 / span 2;position:sticky;top:6px;z-index:3}
.sms-provider-settings-grid .sms-settings-card-main{grid-column:1;grid-row:1}
.sms-provider-settings-grid .sms-settings-card-health{grid-column:1 / -1}
.sms-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}
.sms-card-head h3{margin:0!important}
.sms-compact-form-grid{gap:8px}
.sms-compact-form-grid label{min-width:0}
.sms-provider-actionbar{padding:8px 10px;gap:7px;box-shadow:0 10px 28px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.06)}
.sms-provider-actionbar button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:7px 13px;font-size:.86rem;font-weight:800;line-height:1.1;text-shadow:none;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}
.sms-provider-actionbar button span{line-height:1;display:inline-flex;align-items:center}
.sms-provider-actionbar .sms-action-icon{width:18px;height:18px;border-radius:7px;display:inline-grid;place-items:center;background:rgba(255,255,255,.12);font-size:.86rem;font-weight:900}
.sms-action-check{border-color:rgba(96,165,250,.52)!important;background:linear-gradient(180deg,rgba(59,130,246,.18),rgba(59,130,246,.08))!important;color:#eaf2ff!important}
.sms-action-send{border-color:rgba(52,211,153,.50)!important;background:linear-gradient(180deg,rgba(34,197,94,.18),rgba(34,197,94,.08))!important;color:#ecfdf5!important}
.sms-action-save{color:#fff!important;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 92%,#fff 8%),color-mix(in srgb,var(--accent) 72%,#000 28%))!important;border-color:color-mix(in srgb,var(--accent) 86%,var(--line))!important}
.sms-settings-card-health .sms-inline-note{margin:0 0 10px}
.sms-settings-card-status .sms-provider-kv{font-size:.82rem}
.sms-settings-card-status .sms-provider-mini-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
.sms-settings-card-status .sms-status-count-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
@media(max-width:1100px){
  .sms-provider-settings-grid{grid-template-columns:1fr;padding-bottom:12px}
  .sms-provider-settings-grid .sms-settings-card-status,.sms-provider-settings-grid .sms-settings-card-main,.sms-provider-settings-grid .sms-settings-card-health{grid-column:auto;grid-row:auto;position:relative;top:auto}
}

/* WEB30.1.182 SMS settings compact stacked cards + color palette */
.sms-provider-settings-columns{
  display:grid;
  grid-template-columns:minmax(380px,1fr) minmax(330px,.78fr);
  gap:10px;
  align-items:start;
  grid-auto-flow:initial;
  padding-bottom:54px;
}
.sms-provider-stack{display:grid;gap:10px;align-content:start;min-width:0}
.sms-provider-stack-left{grid-column:1;grid-row:1}
.sms-provider-stack-right{grid-column:2;grid-row:1}
.sms-provider-settings-columns .sms-settings-card,
.sms-provider-settings-columns .sms-settings-card-main,
.sms-provider-settings-columns .sms-settings-card-health,
.sms-provider-settings-columns .sms-settings-card-status{
  grid-column:auto!important;
  grid-row:auto!important;
  min-height:0;
}
.sms-provider-settings-columns .sms-settings-card-status{position:sticky;top:6px;z-index:4}
.sms-provider-settings-columns .sms-settings-card{
  --sms-card-accent:var(--accent);
  border:1px solid color-mix(in srgb,var(--sms-card-accent) 38%,var(--line));
  background:
    linear-gradient(180deg,color-mix(in srgb,var(--sms-card-accent) 9%,transparent),transparent 35%),
    color-mix(in srgb,var(--panel) 94%,#000 6%);
  box-shadow:
    inset 4px 0 0 color-mix(in srgb,var(--sms-card-accent) 72%,transparent),
    inset 0 1px 0 rgba(255,255,255,.04),
    0 8px 22px rgba(0,0,0,.16);
}
.sms-provider-settings-columns .sms-settings-card:before{
  height:2px;
  background:linear-gradient(90deg,color-mix(in srgb,var(--sms-card-accent) 72%,transparent),transparent 78%);
  opacity:.9;
}
.sms-provider-settings-columns .sms-settings-card h3:before{
  background:color-mix(in srgb,var(--sms-card-accent) 18%,transparent);
  color:color-mix(in srgb,var(--sms-card-accent) 88%,#fff 12%);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--sms-card-accent) 24%,transparent),0 0 12px color-mix(in srgb,var(--sms-card-accent) 12%,transparent);
}
.sms-card-teal{--sms-card-accent:#2dd4bf}
.sms-card-amber{--sms-card-accent:var(--warn)}
.sms-card-blue{--sms-card-accent:#60a5fa}
.sms-card-cyan{--sms-card-accent:#22d3ee}
.sms-card-red{--sms-card-accent:#fb7185}
.sms-card-violet{--sms-card-accent:#a78bfa}
.sms-card-indigo{--sms-card-accent:#818cf8}
.sms-card-green{--sms-card-accent:#34d399}
.sms-provider-settings-columns .sms-card-teal h3:before{content:'●'}
.sms-provider-settings-columns .sms-card-amber h3:before{content:'🔑'}
.sms-provider-settings-columns .sms-card-blue h3:before{content:'▣'}
.sms-provider-settings-columns .sms-card-cyan h3:before{content:'▤'}
.sms-provider-settings-columns .sms-card-red h3:before{content:'⚠'}
.sms-provider-settings-columns .sms-card-violet h3:before{content:'↻'}
.sms-provider-settings-columns .sms-card-indigo h3:before{content:'✓'}
.sms-provider-settings-columns .sms-card-green h3:before{content:'👥'}
@media(max-width:1100px){
  .sms-provider-settings-columns{grid-template-columns:1fr;padding-bottom:12px}
  .sms-provider-stack-left,.sms-provider-stack-right{grid-column:1;grid-row:auto}
  .sms-provider-stack-right{order:-1}
  .sms-provider-settings-columns .sms-settings-card-status{position:relative;top:auto}
}

/* WEB30.1.183 - SMS tab layout cleanup, phonebook and consistent actions */
.sms-alert-tabs{position:sticky;top:0;z-index:12;background:color-mix(in srgb,var(--bg) 94%,transparent);padding:6px 0 8px;backdrop-filter:blur(10px)}
.sms-provider-card-form,.sms-recipient-workspace,.sms-phonebook-workspace{display:grid;gap:10px;align-items:start}
.sms-phonebook-workspace{grid-template-columns:minmax(320px,0.95fr) minmax(520px,1.6fr)}
.sms-phonebook-workspace>section:first-child{grid-column:1 / -1}
.sms-phonebook-workspace .scroll-card{max-height:min(58vh,620px);overflow:auto}
.sms-provider-settings-columns{gap:10px!important;grid-template-columns:minmax(430px,1.1fr) minmax(360px,.8fr)!important;align-items:start!important}
.sms-provider-stack{gap:10px!important}
.sms-provider-settings-columns .sms-settings-card{margin:0!important;padding:10px 12px!important}
.sms-settings-card{border-width:1px!important;box-shadow:0 10px 22px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.035)}
.sms-settings-card h3{margin:0 0 10px!important;font-size:.96rem;letter-spacing:.01em}
.sms-standard-form,.sms-compact-form-grid{grid-template-columns:repeat(3,minmax(190px,1fr));gap:10px 12px!important;align-items:end}
.sms-standard-form label,.sms-compact-form-grid label{min-width:0}
.sms-standard-form .wide,.sms-compact-form-grid .wide{grid-column:1 / -1}
.sms-tab-actionbar,.sms-recipient-form-actions,.sms-provider-actionbar{display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:8px!important;grid-column:1 / -1;margin-top:4px;padding-top:8px;border-top:1px solid color-mix(in srgb,var(--line) 72%,transparent)}
.sms-tab-actionbar button,.sms-recipient-form-actions button,.sms-provider-actionbar button,.sms-log-toolbar button{font-weight:850!important;line-height:1.1!important;text-shadow:none!important;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision;min-height:36px!important;border-radius:12px!important;padding:.52rem .86rem!important;box-shadow:0 7px 18px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.06)}
.sms-tab-actionbar .primary-btn,.sms-recipient-form-actions .primary-btn,.sms-provider-actionbar .primary-btn{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 92%,white 10%),color-mix(in srgb,var(--accent) 72%,#000 12%))!important;color:#fff!important;border-color:color-mix(in srgb,var(--accent) 70%,white 12%)!important}
.sms-tab-actionbar .ghost-btn,.sms-recipient-form-actions .ghost-btn,.sms-provider-actionbar .ghost-btn{background:color-mix(in srgb,var(--panel2) 88%,#000 8%)!important;border-color:color-mix(in srgb,var(--line) 88%,var(--accent) 12%)!important;color:var(--text)!important}
.sms-template-form.panel.inset{margin:0 0 10px;padding:10px 12px;border-left:3px solid color-mix(in srgb,var(--accent) 72%,transparent)}
.sms-template-form textarea{font-family:inherit;line-height:1.55;resize:vertical}
.sms-phonebook-workspace table td small,.sms-recipient-table td small{display:block;color:var(--muted);font-size:.75rem;margin-top:2px}
.sms-phone-chip{font-variant-numeric:tabular-nums;letter-spacing:.02em}
.sms-recipient-actions,.sms-phonebook-workspace td:last-child{white-space:nowrap}
.sms-provider-route-summary span small{color:var(--muted);font-size:.75rem}
.sms-alert-tabs .tab{min-height:34px;font-weight:800}
.sms-settings-card input[type="checkbox"]{width:18px;height:18px;accent-color:var(--accent);vertical-align:middle;box-shadow:none!important;image-rendering:auto}
.sms-settings-card .form-grid label:has(input[type="checkbox"]){display:flex;align-items:center;gap:8px;min-height:38px;padding:7px 9px;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:12px;background:color-mix(in srgb,var(--panel2) 72%,transparent)}
.sms-log-toolbar{gap:8px;align-items:end;flex-wrap:wrap}
@media(max-width:1100px){.sms-provider-settings-columns,.sms-phonebook-workspace{grid-template-columns:1fr!important}.sms-provider-stack-left,.sms-provider-stack-right{grid-column:auto!important}.sms-provider-stack-right{order:-1}.sms-standard-form,.sms-compact-form-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}}
@media(max-width:720px){.sms-standard-form,.sms-compact-form-grid{grid-template-columns:1fr}.sms-tab-actionbar,.sms-recipient-form-actions,.sms-provider-actionbar{justify-content:stretch!important}.sms-tab-actionbar button,.sms-recipient-form-actions button,.sms-provider-actionbar button{flex:1 1 130px}}

/* WEB30.1.184 - SMS tab alignment, checkbox readability, fixed action bars */
.sms-tab-workspace{display:grid;grid-template-columns:minmax(420px,1fr) minmax(420px,1fr);gap:10px;align-items:start}
.sms-tab-workspace>section{min-width:0;margin:0!important}
.sms-clean-form{align-items:end!important}
.sms-option-grid{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px 10px;align-items:stretch}
.sms-check-field{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;min-height:38px!important;margin:0!important;padding:7px 10px!important;border:1px solid color-mix(in srgb,var(--line) 82%,transparent)!important;border-radius:12px!important;background:color-mix(in srgb,var(--panel2) 74%,transparent)!important;color:var(--text)!important;line-height:1.2!important;white-space:nowrap!important}
.sms-check-field input[type="checkbox"]{flex:0 0 auto!important;width:18px!important;height:18px!important;margin:0!important;position:static!important;display:inline-block!important;accent-color:var(--accent)!important}
.sms-check-field span{display:inline-block!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;color:var(--text)!important;font-weight:700!important}
.sms-table-check{min-width:92px!important;max-width:116px!important;padding:5px 7px!important;min-height:30px!important;font-size:.78rem!important}
.sms-table-check input[type="checkbox"]{width:16px!important;height:16px!important}
.sms-events-table th,.sms-events-table td{vertical-align:middle!important}
.sms-events-table td:nth-child(4){min-width:116px!important}
.sms-events-table input[type="number"],.sms-events-table select{min-width:92px!important;max-width:100%}
.sms-row-actions{display:flex!important;gap:6px!important;align-items:center!important;white-space:nowrap!important}
.sms-row-actions .mini{min-height:30px!important;padding:4px 8px!important;border-radius:10px!important;font-size:.78rem!important;font-weight:850!important}
.sms-tab-actionbar{position:sticky;bottom:0;z-index:8;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--panel) 94%,#000 6%) 20%);padding:9px 0 0!important;margin-top:8px!important}
.sms-tab-actionbar button{min-width:108px!important}
.sms-settings-card .form-grid label:has(input[type="checkbox"]):not(.sms-check-field){display:flex!important;align-items:center!important;gap:8px!important;min-height:38px!important;padding:7px 10px!important}
.sms-settings-card .form-grid label:has(input[type="checkbox"]):not(.sms-check-field) input[type="checkbox"]{margin:0!important;flex:0 0 auto!important}
@media(max-width:1100px){.sms-tab-workspace{grid-template-columns:1fr}.sms-option-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}}
@media(max-width:720px){.sms-option-grid{grid-template-columns:1fr}.sms-row-actions{flex-wrap:wrap}.sms-tab-actionbar button{flex:1 1 130px}}

/* WEB30.1.191 GPS map shortcut controls */
.gps-map-controls .gps-map-source-quick{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-left:auto;border-left:1px solid var(--line);padding-left:7px}
.gps-map-source-quick .mini.active,.gps-map-controls .ghost-btn.active{background:color-mix(in srgb,var(--accent) 18%,var(--panel2));border-color:color-mix(in srgb,var(--accent) 55%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 16%,transparent)}
.gps-map-context-menu-wide{min-width:300px;max-width:min(420px,calc(100vw - 16px));max-height:min(82vh,740px);overflow:auto}
.gps-map-context-group{display:grid;gap:4px;padding:5px;border:1px solid color-mix(in srgb,var(--line) 75%,transparent);border-radius:12px;background:color-mix(in srgb,var(--panel2) 56%,transparent)}
.gps-map-context-group strong{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:0 4px 2px}
.gps-map-context-menu button{display:grid;grid-template-columns:1fr auto;gap:1px 8px;align-items:center}
.gps-map-context-menu button span{font-weight:760;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gps-map-context-menu button em{font-size:10px;font-style:normal;color:var(--accent2);background:color-mix(in srgb,var(--accent2) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent2) 28%,transparent);border-radius:999px;padding:2px 6px;white-space:nowrap}
.gps-map-context-menu button small{grid-column:1/-1;color:var(--muted);font-size:10.5px;line-height:1.25}.gps-context-close{margin-top:4px}
.gps-shortcuts-settings-panel{display:grid;gap:10px}.gps-shortcut-editor-list{display:grid;gap:7px}.gps-shortcut-editor-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(130px,170px) auto auto auto;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);padding:8px}.gps-shortcut-editor-row div{display:grid;gap:2px;min-width:0}.gps-shortcut-editor-row b{font-size:13px}.gps-shortcut-editor-row small{color:var(--muted);font-size:11px}.gps-shortcut-editor-row em{color:var(--accent2);font-style:normal;font-size:11px}.gps-shortcut-editor-row label{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--muted);white-space:nowrap}.gps-shortcut-editor-row select{width:100%;min-height:31px}
@media(max-width:860px){.gps-map-controls .gps-map-source-quick{grid-column:1/-1;margin-left:0;border-left:0;border-top:1px solid var(--line);padding:7px 0 0}.gps-shortcut-editor-row{grid-template-columns:1fr 1fr 1fr 1fr}.gps-shortcut-editor-row>div{grid-column:1/-1}.gps-shortcut-editor-row select{grid-column:1/-1}}
@media(max-width:520px){.gps-shortcut-editor-row{grid-template-columns:1fr 1fr}.gps-map-context-menu button span{white-space:normal}}

/* WEB30.1.192 - compact GPS settings + database-backed shortcut editor */
.gps-settings-grid.compact{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}
.gps-settings-grid.compact article{padding:8px;min-width:0}
.gps-map-source-list.compact{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:7px;margin-top:8px}
.gps-shortcuts-settings-panel .toolbar{align-items:flex-start;gap:10px}
.gps-shortcut-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.gps-shortcut-editor-list.compact{gap:5px}
.gps-shortcut-editor-row.compact{grid-template-columns:66px minmax(150px,1fr) minmax(105px,135px) 58px 52px 58px;gap:6px;padding:6px 7px;border-radius:10px}
.gps-shortcut-editor-row.compact.disabled{opacity:.66;background:color-mix(in srgb,var(--panel2) 78%,var(--bg))}
.gps-shortcut-editor-row.compact .gps-shortcut-enable{font-weight:800;color:var(--text)}
.gps-shortcut-editor-row.compact .gps-shortcut-name{display:grid;gap:1px;min-width:0}
.gps-shortcut-editor-row.compact b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gps-shortcut-editor-row.compact em{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--accent2)}
.gps-shortcut-editor-row.compact label{font-size:11.5px}
.gps-shortcut-editor-row.compact select{min-height:29px;font-size:12px;padding:4px 6px}
.gps-shortcut-footer{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:7px}
@media(max-width:980px){.gps-shortcut-editor-row.compact{grid-template-columns:62px 1fr minmax(110px,1fr);}.gps-shortcut-editor-row.compact label:not(.gps-shortcut-enable){justify-content:flex-start}.gps-shortcut-editor-row.compact .gps-shortcut-name{grid-column:auto}.gps-shortcut-editor-row.compact select{grid-column:auto}}
@media(max-width:620px){.gps-shortcut-actions{justify-content:flex-start}.gps-shortcut-editor-row.compact{grid-template-columns:1fr 1fr}.gps-shortcut-editor-row.compact .gps-shortcut-name{grid-column:1/-1;order:-1}.gps-shortcut-editor-row.compact select{grid-column:1/-1}}

/* WEB30.1.194 GPS tracking lab base */
.gps-map-context-menu-compact{min-width:250px;max-width:min(330px,calc(100vw - 16px));max-height:min(78vh,640px);overflow:auto;padding:6px;gap:4px}
.gps-map-context-menu-compact .gps-map-context-group{gap:2px;padding:4px;border-radius:10px}
.gps-map-context-menu-compact button{padding:6px 7px;border-radius:8px;font-size:11.5px;grid-template-columns:1fr auto}
.gps-map-context-menu-compact button small{display:none!important}
.gps-map-context-menu-compact button em{font-size:9.5px;padding:1px 5px;max-width:118px;overflow:hidden;text-overflow:ellipsis}
.gps-current-action-card,.gps-track-recorder-card,.gps-layer-check-card,.gps-reference-accordion{border:1px solid var(--line);border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--panel2) 86%,transparent),color-mix(in srgb,var(--accent) 4%,transparent));padding:9px;display:grid;gap:7px}
.gps-current-action-card h3,.gps-track-recorder-card h3,.gps-layer-check-card h3{font-size:13px;margin:0}.toolbar.tight{align-items:center;gap:6px}.toolbar.tight .muted{font-size:11px}
.gps-action-selected{display:grid;gap:3px;border:1px dashed color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:10px;padding:8px;background:color-mix(in srgb,var(--accent) 5%,transparent)}
.gps-action-selected.empty{opacity:.72}.gps-action-selected b{font-size:12.5px;overflow-wrap:anywhere}.gps-action-selected span{font-size:11.5px;color:var(--muted);line-height:1.35;overflow-wrap:anywhere}.gps-action-buttons{display:flex;gap:5px;flex-wrap:wrap}.gps-action-buttons .small{padding:5px 8px;font-size:11px}
.gps-reference-accordion{padding:0}.gps-reference-accordion>summary{cursor:pointer;padding:9px;font-weight:800;font-size:12px;color:var(--text)}.gps-reference-accordion[open]>summary{border-bottom:1px solid var(--line)}.gps-reference-accordion .gps-my-location-panel{border:0;background:transparent;padding:9px;margin:0}
.gps-layer-check-list{display:grid;grid-template-columns:1fr;gap:5px}.gps-layer-check-list label{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px;border:1px solid color-mix(in srgb,var(--line) 76%,transparent);border-radius:9px;background:color-mix(in srgb,var(--panel2) 58%,transparent);padding:5px 7px;font-size:11.5px}.gps-layer-check-list em{font-style:normal;color:var(--accent2);font-size:10.5px}.gps-layer-check-list input{accent-color:var(--accent)}
.gps-recorder-state{border-radius:999px;padding:3px 7px;font-size:10.5px;font-weight:800;background:color-mix(in srgb,var(--muted) 16%,transparent);color:var(--muted)}.gps-recorder-state.on{background:color-mix(in srgb,var(--bad) 16%,transparent);color:var(--bad);animation:pulseWarn 1.2s infinite}
.gps-recorder-fields{display:grid;grid-template-columns:minmax(90px,120px) 1fr;gap:6px}.gps-recorder-fields label{display:grid;gap:3px;font-size:11px;color:var(--muted)}.gps-recorder-fields input{min-height:30px;font-size:12px;padding:4px 7px}
.gps-track-list h4,.gps-stations-panel h4{margin:6px 0 2px;font-size:12px;color:var(--muted);letter-spacing:.03em;text-transform:uppercase}.gps-track-card mark,.gps-track-source-tag{border-radius:999px;padding:1px 6px;background:color-mix(in srgb,var(--accent2) 15%,transparent);color:var(--accent2);font-size:10px}.gps-track-manual mark,.gps-track-source-tag{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn)}.gps-track-list-manual{border-top:1px dashed var(--line);padding-top:5px}.gps-saved-meta{display:grid;gap:7px}.gps-track-source-tag{justify-self:start;font-weight:800}
.gps-shortcut-editor-row.compact.dense{grid-template-columns:58px 78px minmax(120px,1fr) minmax(95px,125px) 50px 46px 52px}.gps-shortcut-editor-row.compact .gps-shortcut-context{color:var(--accent2)}
@media(max-width:1180px){.gps-shortcut-editor-row.compact.dense{grid-template-columns:58px 72px 1fr minmax(95px,1fr);}.gps-shortcut-editor-row.compact.dense label:not(.gps-shortcut-enable):not(.gps-shortcut-context){justify-content:flex-start}}
@media(max-width:620px){.gps-recorder-fields{grid-template-columns:1fr}.gps-shortcut-editor-row.compact.dense{grid-template-columns:1fr 1fr}.gps-shortcut-editor-row.compact .gps-shortcut-name{grid-column:1/-1;order:-1}}


/* WEB30.1.194 GPS Tracking Lab isolated test workspace */
.gps-lab-layout{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);grid-template-rows:auto auto;gap:var(--gap);align-items:stretch}
.gps-lab-side{display:grid;gap:9px;align-content:start;max-height:calc(100vh - 210px);overflow:auto}
.gps-lab-map-panel{display:grid;grid-template-rows:auto minmax(430px,1fr) auto;gap:8px;min-width:0}
.gps-lab-map-panel .gps-map-shell{grid-template-rows:minmax(430px,clamp(440px,62vh,760px)) auto auto}
.gps-lab-dock{grid-column:1/-1;display:grid;gap:8px;position:sticky;bottom:10px;z-index:6;background:linear-gradient(135deg,color-mix(in srgb,var(--panel2) 92%,transparent),color-mix(in srgb,var(--accent) 6%,transparent));box-shadow:0 -8px 28px rgba(0,0,0,.18)}
.gps-lab-actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.gps-lab-field{display:grid;gap:5px;font-size:12px;color:var(--muted)}
.gps-lab-track-list{display:grid;gap:6px;max-height:220px;overflow:auto;padding:4px 2px}
.gps-lab-track-row{display:grid;gap:2px;text-align:left;border:1px solid var(--line);border-radius:11px;background:var(--panel2);color:var(--text);padding:8px;cursor:pointer}
.gps-lab-track-row b{font-size:12.5px}.gps-lab-track-row span{font-size:11px;color:var(--muted)}
.gps-lab-track-row.active{border-color:color-mix(in srgb,var(--accent) 72%,var(--line));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}
.gps-lab-contract{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--muted)}.gps-lab-contract b{color:var(--text)}
@media(max-width:1100px){.gps-lab-layout{grid-template-columns:1fr}.gps-lab-side{max-height:none}.gps-lab-dock{position:static}.gps-lab-map-panel .gps-map-shell{grid-template-rows:minmax(340px,56vh) auto auto}}

/* WEB30.1.195 GPS Tracking Lab unified replay/timeline dock */
.gps-map-timeline-rail button.active{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 42%,transparent)}
.gps-map-timeline-rail button.active i{width:11px;height:11px;background:var(--warn);box-shadow:0 0 0 4px color-mix(in srgb,var(--warn) 18%,transparent),0 0 16px color-mix(in srgb,var(--warn) 54%,transparent)}
.gps-map-timeline-rail button[data-gps-point-tip]:hover::after{content:attr(data-gps-point-tip);position:absolute;left:50%;bottom:38px;transform:translateX(-50%);width:max-content;max-width:min(360px,70vw);white-space:normal;text-align:left;z-index:50;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel) 96%,#000);color:var(--text);box-shadow:0 12px 35px rgba(0,0,0,.32);padding:7px 9px;font-size:11px;line-height:1.45;pointer-events:none}
.gps-lab-layout{grid-template-rows:auto auto}.gps-lab-side details{border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--panel2) 86%,transparent);padding:7px}.gps-lab-side details summary{cursor:pointer;font-weight:800;font-size:12px;color:var(--text)}
.gps-lab-dock{bottom:calc(var(--footer-h, 0px) + 8px);align-self:end}.gps-lab-dock-wrap{border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--panel2) 84%,transparent);overflow:hidden}.gps-lab-dock-wrap+ .gps-lab-dock-wrap{margin-top:6px}.gps-lab-dock-wrap>summary{display:flex;justify-content:space-between;gap:10px;align-items:center;cursor:pointer;padding:8px 10px;font-size:12px}.gps-lab-dock-wrap>summary b{font-size:12.5px}.gps-lab-dock-wrap>summary span{color:var(--muted);font-size:11px;text-align:right}.gps-lab-dock-body{display:grid;gap:8px;padding:0 9px 9px}.gps-lab-dock .gps-replay-panel{padding:8px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 7%,var(--panel2)),color-mix(in srgb,var(--accent2) 4%,var(--panel2)))}.gps-lab-track-accordions{display:grid;gap:7px;padding:0 9px 9px}.gps-lab-track-accordions details{border:1px dashed var(--line);border-radius:11px;padding:7px;background:color-mix(in srgb,var(--panel) 60%,transparent)}.gps-lab-track-accordions summary{font-size:12px;font-weight:800;cursor:pointer}.gps-lab-dock .gps-track-recorder-card{margin:0 9px 9px}.gps-lab-side .gps-reference-accordion{margin-top:7px}.gps-lab-side .gps-layer-check-card{margin-top:7px}.gps-lab-map-panel{grid-template-rows:auto minmax(430px,1fr)}
@media(max-width:1100px){.gps-lab-dock{bottom:0}.gps-lab-dock-wrap>summary{display:grid}.gps-lab-dock-wrap>summary span{text-align:left}.gps-map-timeline-rail button[data-gps-point-tip]:hover::after{left:0;transform:none;max-width:76vw}}

/* WEB30.1.196 GPS Tracking Lab compact dock */
.gps-lab-dock{padding:6px 8px!important;gap:5px!important;max-height:clamp(118px,24vh,230px)!important;overflow:auto!important;resize:vertical!important}
.gps-lab-dock-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel2) 88%,transparent);padding:5px 7px}
.gps-lab-dock-top b{font-size:12px;letter-spacing:.02em;text-transform:uppercase;color:var(--accent2)}
.gps-lab-dock-top span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px}
.gps-lab-dock-top div{display:flex;gap:5px;justify-content:flex-end;flex-wrap:wrap}
.gps-lab-dock-wrap{border-radius:10px!important}
.gps-lab-dock-wrap+ .gps-lab-dock-wrap{margin-top:4px!important}
.gps-lab-dock-wrap>summary{padding:5px 8px!important;min-height:30px!important}
.gps-lab-dock-wrap>summary b{font-size:11.5px!important}
.gps-lab-dock-wrap>summary span{font-size:10.5px!important;max-width:52vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gps-lab-dock-body{gap:5px!important;padding:0 7px 7px!important}
.gps-lab-dock .gps-replay-panel{padding:5px 6px!important;gap:5px!important;border-radius:10px!important}
.gps-lab-dock .gps-replay-head{align-items:center!important;gap:6px!important}
.gps-lab-dock .gps-replay-head h3{font-size:12px!important;max-width:48vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gps-lab-dock .gps-replay-head span,.gps-lab-dock .gps-replay-foot span{font-size:10.5px!important}
.gps-lab-dock .gps-replay-head label{min-width:82px!important;font-size:10.5px!important;gap:1px!important}
.gps-lab-dock .gps-replay-head select{min-height:26px!important;padding:2px 6px!important;font-size:11px!important}
.gps-lab-dock .gps-replay-actions,.gps-lab-actions{gap:4px!important}
.gps-lab-dock .gps-replay-actions .small,.gps-lab-actions .small{padding:4px 7px!important;font-size:10.5px!important}
.gps-lab-dock .gps-replay-foot{display:block!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gps-lab-dock .gps-replay-progress{height:18px!important}
.gps-lab-track-accordions{gap:5px!important;padding:0 7px 7px!important}
.gps-lab-track-accordions details{padding:5px!important;border-radius:9px!important}
.gps-lab-track-list{max-height:120px!important;gap:4px!important}
.gps-lab-track-row{padding:5px 7px!important;border-radius:9px!important;grid-template-columns:minmax(0,1fr) auto;align-items:center}
.gps-lab-track-row b{font-size:11.5px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gps-lab-track-row span{font-size:10px!important;white-space:nowrap}
.gps-lab-dock .gps-track-recorder-card{margin:0 7px 7px!important;padding:6px!important;border-radius:10px!important}
.gps-lab-dock .gps-track-recorder-card h3,.gps-lab-dock .gps-track-recorder-card .muted{display:none!important}
.gps-lab-dock .gps-recorder-fields{grid-template-columns:90px minmax(120px,1fr)!important;gap:5px!important}
.gps-lab-dock .gps-recorder-fields input{min-height:27px!important;font-size:11px!important}
.gps-lab-dock.floating{position:fixed!important;left:clamp(300px,24vw,440px)!important;right:18px!important;bottom:calc(var(--footer-h,0px) + 12px)!important;z-index:40!important;max-height:clamp(120px,28vh,300px)!important;box-shadow:0 18px 55px rgba(0,0,0,.38)!important;backdrop-filter:blur(10px)}
.gps-lab-map-panel .gps-map-shell{grid-template-rows:minmax(480px,clamp(500px,68vh,820px)) auto auto!important}
@media(max-width:1100px){.gps-lab-dock{position:sticky!important;bottom:calc(var(--footer-h,0px) + 6px)!important}.gps-lab-dock.floating{left:10px!important;right:10px!important;bottom:calc(var(--footer-h,0px) + 10px)!important}.gps-lab-dock-top{grid-template-columns:1fr auto}.gps-lab-dock-top span{grid-column:1/-1;order:3}.gps-lab-map-panel .gps-map-shell{grid-template-rows:minmax(380px,62vh) auto auto!important}}
@media(max-width:640px){.gps-lab-dock{max-height:32vh!important}.gps-lab-dock .gps-replay-head{display:grid!important}.gps-lab-dock .gps-replay-head h3{max-width:100%}.gps-lab-dock-wrap>summary span{max-width:42vw}.gps-lab-dock .gps-recorder-fields{grid-template-columns:1fr!important}}

/* WEB30.1.198 GPS Tracking Lab floating card placement */
.gps-lab-dock{touch-action:auto}
.gps-lab-dock.floating{position:fixed!important;right:auto!important;bottom:auto!important;z-index:5000!important;max-height:none!important;resize:none!important;overflow:auto!important;box-shadow:0 20px 70px rgba(0,0,0,.46),0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent)!important;backdrop-filter:blur(12px);isolation:isolate}
.gps-lab-dock.floating .gps-lab-dock-top{cursor:grab;user-select:none}
.gps-lab-dock.floating:active .gps-lab-dock-top{cursor:grabbing}
.gps-lab-dock-moving,.gps-lab-dock-moving *{user-select:none!important;cursor:grabbing!important}
.gps-lab-resize-handle{display:none;position:absolute;z-index:2;background:transparent}
.gps-lab-dock.floating .gps-lab-resize-handle{display:block}
.gps-lab-resize-left{left:-4px;top:12px;bottom:12px;width:9px;cursor:ew-resize}
.gps-lab-resize-right{right:-4px;top:12px;bottom:12px;width:9px;cursor:ew-resize}
.gps-lab-resize-bottom{left:12px;right:12px;bottom:-4px;height:9px;cursor:ns-resize}
.gps-lab-resize-bl{left:-5px;bottom:-5px;width:16px;height:16px;cursor:nesw-resize}
.gps-lab-resize-br{right:-5px;bottom:-5px;width:16px;height:16px;cursor:nwse-resize}
.gps-lab-dock.floating .gps-lab-resize-br::after,.gps-lab-dock.floating .gps-lab-resize-bl::after{content:'';position:absolute;inset:4px;border-right:2px solid color-mix(in srgb,var(--muted) 72%,transparent);border-bottom:2px solid color-mix(in srgb,var(--muted) 72%,transparent);opacity:.65}
.gps-lab-dock.floating .gps-lab-resize-bl::after{transform:scaleX(-1)}
@media(max-width:1100px){.gps-lab-dock.floating{position:fixed!important;right:auto!important;bottom:auto!important;max-width:calc(100vw - 20px)!important;max-height:calc(100vh - 70px)!important}}


/* WEB30.1.198 GPS Tracking Lab floating card drag/resize fix */
.gps-lab-dock.floating{left:auto!important;right:auto!important;bottom:auto!important;z-index:7000!important;min-width:280px!important;min-height:118px!important;overflow:auto!important;contain:layout paint}
.gps-lab-dock.floating .gps-lab-dock-top{position:relative;z-index:3;cursor:grab;touch-action:none}
.gps-lab-dock.floating .gps-lab-resize-handle{display:block;position:absolute;z-index:8;pointer-events:auto;background:transparent;touch-action:none}
.gps-lab-resize-left{left:0!important;top:10px!important;bottom:10px!important;width:10px!important;cursor:ew-resize!important}
.gps-lab-resize-right{right:0!important;top:10px!important;bottom:10px!important;width:10px!important;cursor:ew-resize!important}
.gps-lab-resize-top{left:10px!important;right:10px!important;top:0!important;height:10px!important;cursor:ns-resize!important}
.gps-lab-resize-bottom{left:10px!important;right:10px!important;bottom:0!important;height:10px!important;cursor:ns-resize!important}
.gps-lab-resize-tl{left:0!important;top:0!important;width:18px!important;height:18px!important;cursor:nwse-resize!important}
.gps-lab-resize-tr{right:0!important;top:0!important;width:18px!important;height:18px!important;cursor:nesw-resize!important}
.gps-lab-resize-bl{left:0!important;bottom:0!important;width:18px!important;height:18px!important;cursor:nesw-resize!important}
.gps-lab-resize-br{right:0!important;bottom:0!important;width:18px!important;height:18px!important;cursor:nwse-resize!important}
.gps-lab-dock.floating .gps-lab-resize-br::after,.gps-lab-dock.floating .gps-lab-resize-bl::after,.gps-lab-dock.floating .gps-lab-resize-tr::after,.gps-lab-dock.floating .gps-lab-resize-tl::after{content:'';position:absolute;inset:4px;border-right:2px solid color-mix(in srgb,var(--muted) 72%,transparent);border-bottom:2px solid color-mix(in srgb,var(--muted) 72%,transparent);opacity:.72;pointer-events:none}.gps-lab-dock.floating .gps-lab-resize-tr::after{transform:scaleY(-1)}
.gps-lab-dock.floating .gps-lab-resize-tl::after{transform:scale(-1)}

/* WEB30.1.199 - Tracking Lab floating dock layering + real accordion sizing */
.gps-lab-dock.floating{z-index:2147483000!important;display:flex!important;flex-direction:column!important;gap:5px!important;overflow:hidden!important;max-width:calc(100vw - 20px)!important;max-height:calc(100vh - 64px)!important}
.gps-lab-dock.floating::before{content:'';position:absolute;inset:-1px;border-radius:inherit;z-index:-1;background:color-mix(in srgb,var(--panel) 98%,transparent);box-shadow:0 22px 80px rgba(0,0,0,.58)}
.gps-lab-dock.floating .gps-lab-dock-top{flex:0 0 auto!important}
.gps-lab-dock.floating .gps-lab-dock-wrap{flex:0 0 auto!important;min-height:0!important;max-height:none!important;display:block!important;overflow:hidden!important}
.gps-lab-dock.floating .gps-lab-dock-wrap:not([open]){height:auto!important;min-height:0!important;max-height:34px!important}
.gps-lab-dock.floating .gps-lab-dock-wrap:not([open])>*:not(summary){display:none!important}
.gps-lab-dock.floating .gps-lab-dock-wrap[open]{flex:1 1 0!important;display:flex!important;flex-direction:column!important;min-height:34px!important;overflow:hidden!important}
.gps-lab-dock.floating .gps-lab-dock-wrap[open]>summary{flex:0 0 auto!important}
.gps-lab-dock.floating .gps-lab-dock-wrap[open]>.gps-lab-dock-body,
.gps-lab-dock.floating .gps-lab-dock-wrap[open]>.gps-lab-track-accordions,
.gps-lab-dock.floating .gps-lab-dock-wrap[open]>.gps-track-recorder-card{flex:1 1 auto!important;min-height:0!important;overflow:auto!important}
.gps-lab-dock.floating .gps-lab-dock-wrap summary{position:relative;z-index:4;background:color-mix(in srgb,var(--panel2) 92%,transparent)}
.gps-lab-dock.floating .gps-lab-resize-handle{opacity:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.gps-lab-dock.floating .gps-lab-resize-handle::after{display:none!important}
.gps-lab-dock.floating .gps-lab-resize-handle:hover{opacity:.18!important;background:color-mix(in srgb,var(--accent) 35%,transparent)!important}
.gps-lab-dock.floating ~ *, .gps-lab-map-panel .leaflet-control-container{z-index:1!important}


/* WEB30.1.200 GPS Tracking Lab map/timeline polish */
.gps-lab-dock-floating-active .shell-toggle-layer .shell-edge-handle{
  z-index:1!important;
  opacity:.10!important;
  pointer-events:none!important;
}
.gps-lab-dock.floating{z-index:2147483000!important}
.gps-lab-dock.floating .gps-lab-resize-handle,
.gps-lab-dock.floating .gps-lab-resize-handle:hover{
  opacity:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
}
.gps-map-source-card{gap:6px!important}
.gps-map-source-actions{display:flex;gap:5px;flex-wrap:wrap;margin-top:4px}
.gps-map-source-actions .mini{padding:4px 7px!important;font-size:10.5px!important}
.gps-replay-progress-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.gps-replay-ruler{position:relative;height:42px;margin:2px 0 1px;border:1px solid color-mix(in srgb,var(--line) 80%,var(--accent) 20%);border-radius:10px;background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 74%,transparent),color-mix(in srgb,var(--panel2) 90%,transparent));overflow:visible;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.gps-replay-ruler::before{content:'';position:absolute;left:8px;right:8px;top:20px;height:2px;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 65%,transparent),color-mix(in srgb,var(--text) 46%,transparent))}
.gps-replay-ruler.empty{display:grid;place-items:center;height:34px;color:var(--muted);font-size:11px}
.gps-replay-ruler button{position:absolute;top:5px;transform:translateX(-50%);width:18px;height:30px;padding:0;border:0;background:transparent;color:var(--muted);cursor:pointer;overflow:visible}
.gps-replay-ruler button[aria-hidden="true"]{width:9px;pointer-events:auto}
.gps-replay-ruler button i{display:block;margin:0 auto;width:1px;height:17px;border-radius:999px;background:color-mix(in srgb,var(--text) 48%,transparent)}
.gps-replay-ruler button.major i{height:24px;width:2px;background:color-mix(in srgb,var(--accent) 82%,var(--text) 12%)}
.gps-replay-ruler button small{position:absolute;left:50%;top:25px;transform:translateX(-50%);font-size:8.5px;line-height:1;color:var(--muted);white-space:nowrap}
.gps-replay-ruler button.active i{width:4px;height:28px;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent),0 0 18px color-mix(in srgb,var(--accent) 55%,transparent)}
.gps-replay-ruler button:hover i{background:var(--warn);box-shadow:0 0 12px color-mix(in srgb,var(--warn) 45%,transparent)}
.gps-replay-ruler button[data-gps-point-tip]:hover::after{content:attr(data-gps-point-tip);position:absolute;left:50%;bottom:34px;transform:translateX(-50%);z-index:80;width:max-content;max-width:min(420px,76vw);white-space:normal;text-align:left;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel) 97%,#000);color:var(--text);box-shadow:0 14px 36px rgba(0,0,0,.36);padding:7px 9px;font-size:11px;line-height:1.45;pointer-events:none}
.gps-map-timeline-rail.ruler{position:relative;height:40px;display:block;overflow:visible;padding:0 12px;background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 50%,transparent),transparent);border-radius:10px}
.gps-map-timeline-rail.ruler::before{content:'';position:absolute;left:12px;right:12px;top:18px;height:2px;border-radius:999px;background:color-mix(in srgb,var(--text) 35%,transparent)}
.gps-map-timeline-rail.ruler button{position:relative;min-width:13px;height:34px;border-radius:4px;background:transparent;margin-right:3px}
.gps-map-timeline-rail.ruler button i{width:1px;height:16px;border-radius:999px;background:color-mix(in srgb,var(--text) 55%,transparent);box-shadow:none}
.gps-map-timeline-rail.ruler button.major i{width:2px;height:24px;background:var(--accent)}
.gps-map-timeline-rail.ruler button small{font-size:8px;color:var(--muted)}
.gps-history-point.gps-track-sample-point{stroke:#38bdf8;fill:#38bdf8;filter:drop-shadow(0 0 5px rgba(56,189,248,.35))}
.gps-track-point-tooltip{border:1px solid color-mix(in srgb,var(--accent) 38%,var(--line));background:color-mix(in srgb,var(--panel) 96%,#000);color:var(--text);border-radius:9px;box-shadow:0 10px 28px rgba(0,0,0,.32);font-size:11px;line-height:1.4;padding:5px 7px}

/* WEB30.1.204 device-separated header/footer status chips */
.settings-subtitle{margin:10px 0 5px;font-size:.78rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-top:1px solid var(--line);padding-top:8px}
.footer-device-chip{position:relative;gap:5px;isolation:isolate}
.footer-device-chip b{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800}
.footer-device-chip em{font-style:normal;color:var(--muted);font-size:.72rem;white-space:nowrap}
.footer-device-chip.state-ok{border-color:rgba(34,197,94,.36);background:rgba(34,197,94,.08);color:#bbf7d0}
.footer-device-chip.state-warn{border-color:rgba(245,158,11,.42);background:rgba(245,158,11,.09);color:#fde68a}
.footer-device-chip.state-bad{border-color:rgba(239,68,68,.38);background:rgba(239,68,68,.09);color:#fecaca}
.footer-device-chip .footer-device-tooltip{display:none;position:absolute;left:0;bottom:calc(100% + 8px);min-width:260px;max-width:360px;padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel2) 96%,#000);box-shadow:0 18px 50px rgba(0,0,0,.45);z-index:12000;color:var(--text)}
.footer-device-chip:hover .footer-device-tooltip{display:grid;gap:4px}
.footer-device-tooltip i{display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px;font-style:normal;font-size:.76rem;line-height:1.25}
.footer-device-tooltip b{max-width:none;color:var(--muted);font-weight:700;white-space:nowrap}
.footer-device-tooltip em{font-size:.76rem;color:var(--text);white-space:normal;overflow-wrap:anywhere}
.lang-fa .footer-device-chip .footer-device-tooltip{left:auto;right:0;text-align:right}
.lang-fa .footer-device-tooltip i{grid-template-columns:minmax(0,1fr) 92px}.lang-fa .footer-device-tooltip i b{order:2}.lang-fa .footer-device-tooltip i em{order:1}
@media(max-width:900px){.footer-device-chip b{max-width:92px}.footer-device-chip .footer-device-tooltip{left:auto;right:0;min-width:230px}}
/* WEB30.1.205 live device apply + footer station balloon card */
.footer-device-popover{position:fixed;z-index:12060;width:min(360px,calc(100vw - 18px));padding:12px;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--panel) 94%,#000 6%);box-shadow:0 18px 52px rgba(0,0,0,.42);color:var(--text);line-height:1.35;gap:6px;pointer-events:auto;backdrop-filter:blur(12px)}
.footer-device-popover:after{content:'';position:absolute;left:24px;bottom:-7px;width:12px;height:12px;transform:rotate(45deg);background:inherit;border-right:1px solid color-mix(in srgb,var(--accent) 38%,var(--line));border-bottom:1px solid color-mix(in srgb,var(--accent) 38%,var(--line))}
.footer-device-popover strong{color:var(--accent);font-size:.9rem;margin-bottom:2px;overflow-wrap:anywhere}
.footer-device-popover div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px;align-items:center;font-size:.78rem}
.footer-device-popover div span{color:var(--muted);font-size:.74rem}
.footer-device-popover div b{font-weight:800;overflow-wrap:anywhere;min-width:0}
.footer-device-popover.state-ok{border-color:rgba(34,197,94,.46)}
.footer-device-popover.state-ok strong{color:#bbf7d0}
.footer-device-popover.state-warn{border-color:rgba(245,158,11,.5)}
.footer-device-popover.state-warn strong{color:#fde68a}
.footer-device-popover.state-bad{border-color:rgba(239,68,68,.48)}
.footer-device-popover.state-bad strong{color:#fecaca}
.lang-fa .footer-device-popover{direction:rtl;text-align:right}
.lang-fa .footer-device-popover:after{left:auto;right:24px}
.lang-fa .footer-device-popover div{grid-template-columns:minmax(0,1fr) 92px}.lang-fa .footer-device-popover div span{order:2}.lang-fa .footer-device-popover div b{order:1}
.live-load-device-btn.attention{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 38%,transparent),0 0 18px color-mix(in srgb,var(--accent) 22%,transparent)}

/* WEB30.1.207 - Live Map fullscreen button and device layer visibility fix */
.gps-map-shell{position:relative;}
.gps-map-layer-overlay{position:absolute;left:12px;right:12px;top:12px;z-index:620;border:1px solid color-mix(in srgb,var(--line) 84%,transparent);border-radius:14px;background:color-mix(in srgb,var(--panel) 84%,transparent);box-shadow:0 14px 34px rgba(0,0,0,.28);backdrop-filter:blur(12px);overflow:hidden;max-width:calc(100% - 24px)}
.gps-map-layer-overlay>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:30px;padding:6px 10px;cursor:pointer;font-size:12px;list-style:none;user-select:none}
.gps-map-layer-overlay>summary::-webkit-details-marker{display:none}.gps-map-layer-overlay>summary b{color:var(--accent);text-transform:uppercase;letter-spacing:.03em}.gps-map-layer-overlay>summary span{color:var(--muted);font-size:11px}
.gps-map-layer-strip{display:flex;gap:8px;align-items:center;overflow-x:auto;padding:0 10px 9px}.gps-map-layer-group{display:flex;gap:6px;align-items:center;flex-wrap:nowrap}.gps-map-device-layer-group{padding-left:8px;border-left:1px solid var(--line)}
.gps-map-layer-pill{display:flex;align-items:center;gap:5px;white-space:nowrap;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:999px;background:color-mix(in srgb,var(--panel2) 78%,transparent);padding:4px 8px;font-size:11px;cursor:pointer}.gps-map-layer-pill input{accent-color:var(--accent);width:13px;height:13px}.gps-map-layer-pill span{font-weight:700}.gps-map-layer-pill em{font-style:normal;color:var(--accent2);font-size:10px}.gps-map-layer-pill.off{opacity:.58}.gps-map-layer-pill.off span{text-decoration:line-through}.gps-map-layer-pill.device{border-color:color-mix(in srgb,var(--accent) 32%,var(--line));}.gps-map-layer-pill.device.nogps{border-color:color-mix(in srgb,var(--warn) 35%,var(--line));}
.gps-map-layer-overlay:not([open]){right:auto;min-width:190px}.gps-map-layer-overlay:not([open]) .gps-map-layer-strip{display:none}.gps-map-layer-overlay:not([open])>summary{border-bottom:0}.gps-map-fullscreen .gps-map-layer-overlay,.gps-map-shell:fullscreen .gps-map-layer-overlay{top:58px;left:14px;right:14px;z-index:10020}
.gps-side-accordion{border:1px solid var(--line);border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--panel2) 86%,transparent),color-mix(in srgb,var(--accent) 4%,transparent));padding:0;overflow:hidden}.gps-side-accordion>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;padding:8px 9px;min-height:30px;font-size:12px;list-style:none}.gps-side-accordion>summary::-webkit-details-marker{display:none}.gps-side-accordion>summary b{font-weight:900}.gps-side-accordion>summary span{font-size:11px;color:var(--muted);text-align:right}.gps-side-accordion[open]>summary{border-bottom:1px solid var(--line)}.gps-current-action-card{display:block}.gps-current-action-body{display:grid;gap:7px;padding:8px}.gps-track-recorder-accordion .gps-track-recorder-card{border:0;background:transparent;border-radius:0;padding:8px;margin:0}.gps-track-recorder-accordion:not([open]) .gps-track-recorder-card{display:none}
.gps-stations-panel>.gps-layer-check-card{display:none!important}.gps-map-shell .gps-map-canvas{position:relative;z-index:1}.gps-map-shell .gps-map-controls,.gps-map-shell .gps-map-timeline{z-index:630;position:relative}.gps-map-shell .gps-map-fullscreen-open{position:absolute!important;right:12px!important;top:12px!important;left:auto!important;bottom:auto!important;display:inline-flex!important;align-items:center;justify-content:center;width:auto!important;min-width:0!important;max-width:150px!important;height:auto!important;min-height:0!important;padding:7px 11px!important;line-height:1.1!important;white-space:nowrap!important;z-index:760!important;border-radius:999px!important}
@media(max-width:760px){.gps-map-layer-overlay{left:8px;right:8px;top:8px}.gps-map-layer-strip{display:grid;grid-template-columns:1fr;max-height:190px}.gps-map-layer-group{flex-wrap:wrap}.gps-map-device-layer-group{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:7px}}


/* WEB30.1.208 - Live Map layer controls above map, not overlaying map canvas */
.gps-map-panel{grid-template-rows:auto minmax(0,1fr) auto}
.gps-map-shell{display:grid;grid-template-rows:auto minmax(340px,clamp(341px,51vh,616px)) auto auto;gap:8px;position:relative}
.gps-map-stage{position:relative;min-height:clamp(340px,51vh,616px);height:100%;min-width:0}
.gps-map-stage>.gps-map-canvas{height:100%;min-height:clamp(340px,51vh,616px)}
.gps-map-layer-overlay{position:static!important;left:auto!important;right:auto!important;top:auto!important;z-index:auto!important;max-width:none!important;margin:0;border-radius:14px;background:color-mix(in srgb,var(--panel2) 70%,transparent);box-shadow:none;backdrop-filter:none;overflow:visible}
.gps-map-layer-overlay>summary{min-height:28px;padding:5px 9px;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}
.gps-map-layer-overlay:not([open]){min-width:0;width:100%}.gps-map-layer-overlay:not([open]) .gps-map-layer-strip{display:none!important}
.gps-map-layer-strip{display:grid!important;grid-template-columns:1fr;gap:5px;overflow:visible!important;padding:6px 9px 8px!important}
.gps-map-layer-row{display:grid;grid-template-columns:78px minmax(0,1fr);gap:8px;align-items:start;min-width:0}
.gps-map-layer-row>strong{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding-top:5px;white-space:nowrap}
.gps-map-layer-group{display:flex;gap:5px;align-items:center;flex-wrap:wrap!important;min-width:0}
.gps-map-device-layer-group{padding-left:0!important;border-left:0!important}
.gps-map-layer-pill{padding:4px 8px;font-size:10.5px;min-height:26px}.gps-map-layer-pill input{width:12px;height:12px}.gps-map-layer-pill em{font-size:9.5px}
.gps-map-shell .gps-map-fullscreen-open{position:absolute!important;right:10px!important;top:10px!important;z-index:760!important}
.gps-map-shell.gps-map-fullscreen,.gps-map-shell:fullscreen{grid-template-rows:auto auto minmax(0,1fr) auto auto!important}.gps-map-shell.gps-map-fullscreen .gps-map-stage,.gps-map-shell:fullscreen .gps-map-stage{min-height:0;height:100%}.gps-map-shell.gps-map-fullscreen .gps-map-canvas,.gps-map-shell:fullscreen .gps-map-canvas{height:100%;min-height:0}
.gps-map-fullscreen .gps-map-layer-overlay,.gps-map-shell:fullscreen .gps-map-layer-overlay{position:static!important;top:auto!important;left:auto!important;right:auto!important;z-index:auto!important}
@media(max-width:760px){.gps-map-layer-row{grid-template-columns:1fr}.gps-map-layer-row>strong{padding-top:0}.gps-map-layer-strip{max-height:none!important}.gps-map-layer-group{flex-wrap:wrap!important}}

/* WEB30.1.209 GPS Tracking Lab goal-first redesign */
.gps-lab-layout.gps-lab-redesign{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto minmax(360px,1fr) auto!important;gap:8px!important;align-items:stretch!important}
.gps-lab-redesign .gps-lab-toolbar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;padding:7px 9px!important;min-height:0!important}
.gps-lab-toolbar-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.gps-lab-toolbar-main>b{font-size:13px;color:var(--accent);text-transform:uppercase;letter-spacing:.04em}.gps-lab-toolbar-main label{display:flex!important;align-items:center!important;gap:5px!important;font-size:11px!important;color:var(--muted)!important}.gps-lab-toolbar-main select{min-height:31px!important;max-width:260px!important}.gps-lab-toolbar-range{display:flex;justify-content:flex-end;min-width:0}.gps-lab-toolbar-range .range-selector{gap:4px!important;flex-wrap:wrap!important}.gps-lab-toolbar-range .small{padding:5px 8px!important;font-size:11px!important}
.gps-lab-redesign .gps-lab-map-panel{display:grid!important;grid-template-rows:auto minmax(410px,1fr)!important;gap:6px!important;padding:8px!important;min-width:0!important;min-height:0!important}.gps-lab-redesign .gps-map-head{padding:0!important;margin:0!important}.gps-lab-redesign .gps-map-head h3{font-size:13px!important;margin:0!important}.gps-lab-redesign .gps-map-head .muted{font-size:11px!important}.gps-lab-redesign .gps-map-shell{grid-template-rows:auto minmax(400px,clamp(420px,56vh,720px)) auto auto!important;gap:6px!important}.gps-lab-redesign .gps-map-canvas{min-height:400px!important}
.gps-lab-dock.gps-lab-workbench{position:relative!important;bottom:auto!important;display:grid!important;gap:6px!important;padding:7px!important;max-height:none!important;resize:none!important;overflow:visible!important;z-index:7!important;align-self:stretch!important;background:linear-gradient(135deg,color-mix(in srgb,var(--panel2) 94%,transparent),color-mix(in srgb,var(--accent) 4%,transparent))!important}
.gps-lab-workbench .gps-lab-dock-top{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;align-items:center!important;padding:6px 8px!important;border-radius:12px!important}.gps-lab-workbench .gps-lab-dock-top>div:first-child{display:grid!important;gap:1px!important;justify-content:start!important}.gps-lab-workbench .gps-lab-dock-top b{font-size:11px!important;color:var(--accent)!important;letter-spacing:.05em}.gps-lab-workbench .gps-lab-dock-top strong{font-size:13px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:58vw!important}.gps-lab-workbench .gps-lab-dock-top small{font-size:10.5px!important;color:var(--muted)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.gps-lab-top-actions{display:flex!important;gap:4px!important;flex-wrap:wrap!important;justify-content:flex-end!important}.gps-lab-top-actions .small{padding:4px 7px!important;font-size:10.5px!important}
.gps-lab-selected-stats{display:flex!important;gap:5px!important;flex-wrap:wrap!important}.gps-lab-selected-stats span{display:inline-flex;align-items:center;min-height:24px;padding:3px 7px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--panel) 75%,transparent);font-size:11px;color:var(--muted)}
.gps-lab-workbench-grid{display:grid!important;grid-template-columns:minmax(250px,.9fr) minmax(360px,1.4fr) minmax(270px,.85fr)!important;gap:6px!important;min-width:0!important;align-items:start!important}.gps-lab-workbench .gps-lab-dock-wrap{margin:0!important;border-radius:12px!important;background:color-mix(in srgb,var(--panel2) 88%,transparent)!important;min-height:0!important;overflow:hidden!important}.gps-lab-workbench .gps-lab-dock-wrap>summary{padding:6px 8px!important;min-height:32px!important;border-bottom:1px solid color-mix(in srgb,var(--line) 82%,transparent)!important}.gps-lab-workbench .gps-lab-dock-wrap:not([open])>*:not(summary){display:none!important}.gps-lab-workbench .gps-lab-dock-wrap:not([open]){height:auto!important}.gps-lab-workbench .gps-lab-dock-wrap>summary b{font-size:11.5px!important}.gps-lab-workbench .gps-lab-dock-wrap>summary span{font-size:10.5px!important;color:var(--muted)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gps-lab-track-columns{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:7px}.gps-lab-track-columns h4{margin:0 0 5px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.gps-lab-track-list{display:grid;gap:4px;max-height:176px;overflow:auto;scrollbar-width:thin}.gps-lab-track-row{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:1px!important;text-align:left!important;padding:6px 7px!important;min-height:42px!important;border-radius:10px!important;background:color-mix(in srgb,var(--panel) 70%,transparent)!important}.gps-lab-track-row b{font-size:11.5px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.gps-lab-track-row span{font-size:10px!important;color:var(--muted)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.gps-lab-track-row.active{border-color:color-mix(in srgb,var(--accent) 70%,var(--line))!important;background:color-mix(in srgb,var(--accent) 16%,var(--panel))!important}
.gps-lab-workbench .gps-replay-panel{padding:6px!important;gap:5px!important;border-radius:11px!important;background:color-mix(in srgb,var(--panel) 82%,transparent)!important}.gps-lab-workbench .gps-replay-head{display:flex!important;align-items:center!important;gap:8px!important}.gps-lab-workbench .gps-replay-head h3{display:none!important}.gps-lab-workbench .gps-replay-head span{font-size:10.5px!important;color:var(--muted)!important}.gps-lab-workbench .gps-replay-head label{margin-left:auto!important;display:flex!important;align-items:center!important;gap:4px!important;min-width:0!important;font-size:10px!important}.gps-lab-workbench .gps-replay-head select{min-height:26px!important;padding:2px 6px!important;font-size:11px!important}.gps-lab-workbench .gps-replay-actions{display:flex!important;gap:4px!important}.gps-lab-workbench .gps-replay-actions .small{padding:4px 7px!important;font-size:10.5px!important}.gps-lab-workbench .gps-replay-ruler{height:38px!important;margin:1px 0!important}.gps-lab-workbench .gps-replay-foot{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.gps-lab-workbench .gps-replay-foot span{font-size:10.5px!important}
.gps-lab-workbench .gps-track-recorder-card.compact{margin:0!important;padding:7px!important;border:0!important;background:transparent!important}.gps-recorder-line{display:flex;gap:6px;align-items:center;margin-bottom:6px}.gps-recorder-line b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.gps-recorder-line em{margin-left:auto;font-style:normal;color:var(--muted);font-size:10.5px}.gps-lab-workbench .gps-recorder-state{font-size:10px!important;padding:3px 7px!important;border-radius:999px;background:color-mix(in srgb,var(--muted) 14%,transparent);color:var(--muted)}.gps-lab-workbench .gps-recorder-state.on{background:rgba(239,68,68,.16);color:#fecaca}.gps-lab-workbench .gps-recorder-fields{display:grid!important;grid-template-columns:62px minmax(120px,1fr) auto auto auto!important;gap:5px!important;align-items:end!important}.gps-lab-workbench .gps-recorder-fields label{font-size:10px!important;color:var(--muted)!important;display:grid!important;gap:2px!important}.gps-lab-workbench .gps-recorder-fields input{min-height:27px!important;font-size:11px!important;padding:3px 6px!important}.gps-lab-workbench .gps-recorder-fields .wide{min-width:0}.gps-lab-workbench .gps-recorder-fields .small{padding:4px 7px!important;font-size:10.5px!important;min-height:28px!important}
.gps-lab-workbench.floating{position:fixed!important;z-index:2147483000!important;max-width:calc(100vw - 20px)!important;max-height:calc(100vh - 64px)!important;overflow:auto!important;resize:none!important}.gps-lab-workbench.floating .gps-lab-workbench-grid{grid-template-columns:minmax(230px,.95fr) minmax(330px,1.45fr) minmax(250px,.85fr)!important}.gps-lab-workbench.floating .gps-lab-dock-top{cursor:grab}.gps-lab-workbench.floating .gps-lab-resize-handle{display:block!important}
@media(max-width:1240px){.gps-lab-workbench-grid{grid-template-columns:1fr 1.35fr!important}.gps-lab-record-zone{grid-column:1/-1}.gps-lab-workbench .gps-recorder-fields{grid-template-columns:72px minmax(180px,1fr) auto auto auto!important}}
@media(max-width:840px){.gps-lab-redesign .gps-lab-toolbar{display:grid!important}.gps-lab-toolbar-main{display:grid!important;grid-template-columns:1fr auto;align-items:end}.gps-lab-toolbar-main>b{grid-column:1/-1}.gps-lab-toolbar-main label{display:grid!important}.gps-lab-workbench-grid{grid-template-columns:1fr!important}.gps-lab-track-columns{grid-template-columns:1fr}.gps-lab-workbench .gps-recorder-fields{grid-template-columns:1fr 1fr!important}.gps-lab-workbench .gps-recorder-fields button{width:100%}}
.gps-lab-workbench.floating{display:grid!important;grid-auto-rows:auto!important;gap:6px!important}
.gps-lab-workbench.floating .gps-lab-dock-wrap[open],.gps-lab-workbench.floating .gps-lab-dock-wrap:not([open]){display:block!important;flex:none!important;max-height:none!important}
.gps-lab-workbench.floating .gps-lab-dock-wrap[open]>*:not(summary){display:block!important}
.gps-lab-workbench.floating .gps-lab-track-browser[open]>.gps-lab-track-columns{display:grid!important}.gps-lab-workbench.floating .gps-lab-dock-body{overflow:visible!important}.gps-lab-workbench.floating .gps-track-recorder-card{overflow:visible!important}

/* WEB30.1.210 GPS industrial workspace */
.gps-industrial-hero{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);gap:12px;align-items:stretch;margin-bottom:10px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 13%,var(--panel)),color-mix(in srgb,var(--accent2) 8%,var(--panel2)));border-color:color-mix(in srgb,var(--accent) 24%,var(--line))}
.gps-industrial-title{display:grid;align-content:center;gap:4px}.gps-industrial-title b{font-size:18px;letter-spacing:.04em;text-transform:uppercase;color:var(--accent2)}.gps-industrial-title span{font-size:12px;color:var(--muted)}
.gps-industrial-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.gps-industrial-kpis article{min-width:0;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:12px;padding:9px 10px;background:color-mix(in srgb,var(--panel) 72%,transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.gps-industrial-kpis b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gps-industrial-kpis span{display:block;margin-top:3px;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.gps-industrial-tabs{position:sticky;top:0;z-index:12;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(10px);padding:6px;border:1px solid var(--line);border-radius:14px;margin-bottom:10px}.gps-industrial-tabs .tab{min-height:34px}
.gps-points-layout{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:10px}.gps-point-create-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:8px 0}.gps-point-create-grid input:first-child{grid-column:1/-1}.gps-point-create-grid button{grid-column:1/-1}.gps-point-list{display:grid;gap:6px;max-height:260px;overflow:auto;margin-bottom:10px}.gps-point-card{display:grid;gap:3px;text-align:left;border:1px solid var(--line);border-radius:11px;padding:8px 9px;background:var(--panel2);color:var(--text);cursor:pointer}.gps-point-card:hover,.gps-point-card.active{border-color:color-mix(in srgb,var(--accent) 62%,var(--line));background:color-mix(in srgb,var(--accent) 9%,var(--panel2))}.gps-point-card b{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gps-point-card small,.gps-point-card em{font-size:10.5px;color:var(--muted);font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gps-point-card.local{border-style:dashed}.gps-point-meta{border:1px solid var(--line);border-radius:12px;padding:8px;background:color-mix(in srgb,var(--panel) 65%,transparent)}
.gps-lab-redesign{display:grid;gap:10px}.gps-lab-redesign .gps-lab-toolbar{position:static;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.gps-lab-redesign .gps-lab-map-panel{min-height:0}.gps-lab-redesign .gps-lab-map-panel .gps-map-shell{grid-template-rows:minmax(480px,68vh) auto auto!important}.gps-lab-workbench{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;z-index:1!important;max-height:none!important;resize:none!important;overflow:visible!important;margin:0!important}.gps-lab-workbench.floating{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;box-shadow:none!important}.gps-lab-workbench .gps-lab-resize-handle{display:none!important}.gps-lab-workbench-grid{display:grid!important;grid-template-columns:minmax(260px,.9fr) minmax(360px,1.25fr) minmax(260px,.9fr);gap:8px!important}.gps-lab-dock-top{cursor:default!important}.gps-lab-track-columns{display:grid;grid-template-columns:1fr 1fr;gap:8px}.gps-lab-track-list{max-height:230px!important}.gps-lab-dock-wrap{min-height:0}
@media(max-width:1200px){.gps-industrial-hero{grid-template-columns:1fr}.gps-industrial-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.gps-points-layout{grid-template-columns:1fr}.gps-lab-workbench-grid{grid-template-columns:1fr}.gps-lab-redesign .gps-lab-toolbar{grid-template-columns:1fr}.gps-lab-track-columns{grid-template-columns:1fr}}
@media(max-width:700px){.gps-industrial-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.gps-point-create-grid{grid-template-columns:1fr}.gps-industrial-tabs{position:static}}


/* WEB30.1.212 GPS timeline compact + popup behavior polish */
.gps-map-timeline-rail.ruler{position:relative!important;height:42px!important;display:block!important;overflow:visible!important;padding:0 14px!important;white-space:nowrap!important}
.gps-map-timeline-rail.ruler button{position:absolute!important;top:4px!important;transform:translateX(-50%)!important;margin:0!important;min-width:0!important;width:18px!important;height:34px!important;display:block!important;padding:0!important;overflow:visible!important}
.gps-map-timeline-rail.ruler button i{position:absolute!important;left:50%!important;top:2px!important;transform:translateX(-50%)!important}
.gps-map-timeline-rail.ruler button small{position:absolute!important;left:50%!important;top:25px!important;transform:translateX(-50%)!important;white-space:nowrap!important;line-height:1!important}
.gps-map-timeline-rail.ruler button:first-child{left:14px!important;transform:none!important}.gps-map-timeline-rail.ruler button:first-child i,.gps-map-timeline-rail.ruler button:first-child small{left:0!important;transform:none!important}
.gps-map-timeline-rail.ruler button:last-child{left:auto!important;right:14px!important;transform:none!important}.gps-map-timeline-rail.ruler button:last-child i,.gps-map-timeline-rail.ruler button:last-child small{left:auto!important;right:0!important;transform:none!important}
.gps-lab-redesign{gap:8px!important}.gps-lab-redesign .gps-lab-map-panel .gps-map-shell{grid-template-rows:minmax(420px,62vh) auto auto!important;gap:6px!important}.gps-lab-dock.gps-lab-workbench{padding:6px!important;gap:5px!important}.gps-lab-workbench .gps-lab-dock-top{min-height:0!important;padding:5px 7px!important}.gps-lab-workbench .gps-lab-selected-stats{gap:4px!important}.gps-lab-workbench .gps-lab-selected-stats span{min-height:20px!important;padding:2px 7px!important;font-size:10.5px!important}.gps-lab-workbench-grid{grid-template-columns:minmax(260px,.85fr) minmax(420px,1.5fr) minmax(230px,.65fr)!important;gap:6px!important}.gps-lab-workbench .gps-lab-dock-wrap>summary{min-height:28px!important;padding:5px 7px!important}.gps-lab-workbench .gps-lab-dock-wrap:not([open]){opacity:.84!important}.gps-lab-track-list{max-height:150px!important}.gps-lab-track-list>.muted{min-height:0!important;padding:6px 8px!important;font-size:11px!important;border:1px dashed color-mix(in srgb,var(--line) 70%,transparent);border-radius:10px}.gps-lab-workbench .gps-replay-ruler{height:40px!important;min-width:260px!important}.gps-lab-workbench .gps-replay-panel{min-width:0!important}.gps-lab-workbench .gps-replay-progress-native{display:none!important}.gps-lab-workbench .gps-replay-foot{min-height:18px!important}.leaflet-popup{z-index:780!important}
@media(max-width:1200px){.gps-lab-workbench-grid{grid-template-columns:1fr!important}.gps-lab-workbench .gps-replay-ruler{min-width:0!important}}

/* WEB30.1.213 - GPS map layer row height fix
   The GPS shell has 4 direct rows: layer controls, map stage, map controls, timeline.
   Previous compact lab overrides accidentally used a 3-row map-first template, so the
   layer panel consumed the large map row and pushed the actual map downward. */
.gps-lab-redesign .gps-lab-map-panel .gps-map-shell,
.gps-tracking-page .gps-lab-redesign .gps-lab-map-panel .gps-map-shell{
  grid-template-rows:auto minmax(420px,62vh) auto auto!important;
  align-items:start!important;
}
.gps-lab-redesign .gps-map-layer-overlay,
.gps-tracking-page .gps-map-layer-overlay{
  align-self:start!important;
  height:auto!important;
  min-height:0!important;
  max-height:160px!important;
  overflow:hidden!important;
}
.gps-lab-redesign .gps-map-layer-strip,
.gps-tracking-page .gps-map-layer-strip{
  max-height:104px!important;
  overflow:auto!important;
  scrollbar-width:thin;
}
.gps-lab-redesign .gps-map-stage,
.gps-tracking-page .gps-map-stage{
  align-self:stretch!important;
  min-height:420px!important;
}
@media(max-width:900px){
  .gps-lab-redesign .gps-lab-map-panel .gps-map-shell,
  .gps-tracking-page .gps-lab-redesign .gps-lab-map-panel .gps-map-shell{
    grid-template-rows:auto minmax(360px,58vh) auto auto!important;
  }
  .gps-lab-redesign .gps-map-stage,
  .gps-tracking-page .gps-map-stage{min-height:360px!important}
}

/* WEB30.1.214 - GPS track player workspace
   Player becomes the primary horizontal video-style control. Tracks and recording stay as secondary tools. */
.gps-lab-player-zone{
  display:grid!important;
  gap:6px!important;
  border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line))!important;
  border-radius:13px!important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--panel) 86%,transparent),color-mix(in srgb,var(--accent2) 5%,transparent))!important;
  padding:7px!important;
  min-width:0!important;
}
.gps-lab-player-caption{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  min-width:0!important;
  padding:0 2px!important;
}
.gps-lab-player-caption b{font-size:11px!important;color:var(--accent)!important;text-transform:uppercase!important;letter-spacing:.05em!important}
.gps-lab-player-caption span{font-size:10.5px!important;color:var(--muted)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;min-width:0!important}
.gps-lab-tools-grid{
  display:grid!important;
  grid-template-columns:minmax(300px,1fr) minmax(260px,.72fr)!important;
  gap:7px!important;
  min-width:0!important;
}
.gps-lab-workbench .gps-video-player{
  border-radius:11px!important;
  border-color:color-mix(in srgb,var(--accent) 22%,var(--line))!important;
  background:color-mix(in srgb,var(--panel2) 82%,transparent)!important;
  padding:7px!important;
  gap:6px!important;
}
.gps-lab-workbench .gps-video-player .gps-replay-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:8px!important;
  align-items:end!important;
}
.gps-lab-workbench .gps-video-player .gps-replay-head h3{
  display:block!important;
  font-size:12px!important;
  margin:0!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.gps-lab-workbench .gps-video-player .gps-replay-head label{
  margin-left:0!important;
  justify-self:end!important;
}
.gps-video-actions{
  display:grid!important;
  grid-template-columns:auto auto auto auto!important;
  align-items:center!important;
  justify-content:start!important;
  gap:5px!important;
}
.gps-video-actions button{min-width:64px!important;text-align:center!important}
.gps-video-actions #gpsReplayPlayPauseBtn{min-width:76px!important}
.gps-lab-workbench .gps-video-player .gps-replay-ruler{
  height:48px!important;
  min-width:0!important;
  margin:0!important;
  overflow:visible!important;
}
.gps-lab-workbench .gps-video-player .gps-replay-ruler::before{top:24px!important}
.gps-lab-workbench .gps-video-player .gps-replay-ruler button{top:6px!important;height:36px!important}
.gps-lab-workbench .gps-video-player .gps-replay-ruler button small{top:30px!important}
.gps-lab-workbench .gps-video-player .gps-replay-foot{
  min-height:22px!important;
  padding:2px 4px!important;
  border-radius:8px!important;
  background:color-mix(in srgb,var(--bg) 34%,transparent)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.gps-lab-workbench .gps-video-player .gps-replay-foot span{font-size:11px!important;color:var(--text)!important}
.gps-lab-workbench .gps-lab-workbench-grid{display:none!important}
.gps-lab-workbench .gps-lab-dock-wrap>summary{min-height:30px!important}
.gps-lab-track-browser:not([open]),.gps-lab-record-zone:not([open]){opacity:.78!important}
@media(max-width:1100px){
  .gps-lab-tools-grid{grid-template-columns:1fr!important}
  .gps-video-actions{grid-template-columns:repeat(5,minmax(0,1fr))!important}
  .gps-video-actions button{min-width:0!important;padding-left:4px!important;padding-right:4px!important}
}
@media(max-width:680px){
  .gps-lab-workbench .gps-video-player .gps-replay-head{grid-template-columns:1fr!important}
  .gps-video-actions{grid-template-columns:1fr 1fr!important}
  .gps-video-actions button{width:100%!important}
  .gps-video-actions #gpsReplayStopBtn{grid-column:1/-1!important}
}

/* WEB30.1.215 GPS track player DB read polish */
.gps-play-toggle.playing{filter:saturate(1.12);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 28%,transparent),0 8px 20px rgba(0,0,0,.22)!important}
.gps-lab-db-note{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 6px!important}
.gps-lab-db-note span{display:inline-flex;align-items:center;min-height:22px;padding:3px 8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--line) 75%,transparent);background:color-mix(in srgb,var(--panel-2) 74%,transparent);color:var(--muted);font-size:10.5px;font-weight:700}
.gps-track-src-telemetry_database b::before{content:'DB ';display:inline-flex;margin-right:5px;padding:1px 5px;border-radius:999px;background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--accent);font-size:9px;font-weight:900;letter-spacing:.04em}
.gps-track-src-telemetry_database span{color:var(--text)!important}

/* WEB30.1.216 - GPS compact command workspace
   Remove redundant GPS headers and keep optional controls in collapsed accordions so the map stays primary. */
.gps-compact-command-page{
  gap:6px!important;
}
.gps-compact-command-page .gps-industrial-hero,
.gps-tracking-page .gps-industrial-hero{
  display:none!important;
}
.gps-compact-command-page .gps-industrial-tabs{
  margin-bottom:6px!important;
  padding:4px!important;
  border-radius:12px!important;
  position:sticky!important;
  top:0!important;
}
.gps-compact-command-page .gps-industrial-tabs .tab{
  min-height:30px!important;
  padding:5px 10px!important;
  font-size:12px!important;
}
.gps-compact-command-page .gps-lab-redesign{
  gap:6px!important;
}
.gps-compact-command-page .gps-lab-redesign .gps-lab-toolbar{
  padding:5px 8px!important;
  border-radius:12px!important;
}
.gps-compact-command-page .gps-lab-toolbar-main>b{
  font-size:12px!important;
}
.gps-compact-command-page .gps-lab-toolbar-main select,
.gps-compact-command-page .gps-map-source-picker select{
  min-height:28px!important;
  padding-top:3px!important;
  padding-bottom:3px!important;
}
.gps-compact-command-page .gps-lab-toolbar-range .small,
.gps-compact-command-page .gps-range-selector .small{
  min-height:26px!important;
  padding:4px 8px!important;
  font-size:10.5px!important;
}
.gps-compact-command-page .gps-lab-redesign .gps-lab-map-panel{
  padding:6px!important;
  gap:4px!important;
  grid-template-rows:minmax(0,1fr)!important;
}
.gps-compact-command-page .gps-lab-redesign .gps-map-head.compact{
  display:none!important;
}
.gps-compact-command-page .gps-lab-redesign .gps-lab-map-panel .gps-map-shell,
.gps-compact-command-page .gps-map-shell{
  gap:4px!important;
}
.gps-compact-command-page .gps-map-layer-overlay{
  border-radius:12px!important;
  max-height:118px!important;
  background:color-mix(in srgb,var(--panel2) 64%,transparent)!important;
}
.gps-compact-command-page .gps-map-layer-overlay>summary{
  min-height:24px!important;
  padding:3px 8px!important;
  font-size:11px!important;
}
.gps-compact-command-page .gps-map-layer-overlay>summary b{
  font-size:11px!important;
}
.gps-compact-command-page .gps-map-layer-overlay:not([open]){
  max-height:28px!important;
  opacity:.9!important;
}
.gps-compact-command-page .gps-map-layer-strip{
  max-height:82px!important;
  padding:4px 8px 6px!important;
}
.gps-compact-command-page .gps-map-layer-row{
  gap:6px!important;
  min-height:0!important;
}
.gps-compact-command-page .gps-map-layer-row>strong{
  font-size:10px!important;
  min-width:70px!important;
}
.gps-compact-command-page .gps-map-layer-pill{
  min-height:25px!important;
  padding:3px 8px!important;
  font-size:10.5px!important;
}
.gps-compact-command-page .gps-map-layer-pill span{
  max-width:160px!important;
}
.gps-compact-command-page .gps-map-stage{
  min-height:clamp(430px,67vh,760px)!important;
}
.gps-compact-command-page .gps-map-canvas{
  min-height:clamp(430px,67vh,760px)!important;
}
.gps-compact-command-page .gps-map-controls{
  padding:4px!important;
  gap:4px!important;
}
.gps-compact-command-page .gps-map-controls .small,
.gps-compact-command-page .gps-map-source-quick .mini{
  min-height:25px!important;
  padding:3px 7px!important;
  font-size:10.5px!important;
}
.gps-compact-command-page .gps-lab-dock.gps-lab-workbench{
  padding:5px!important;
}
.gps-compact-command-page .gps-lab-workbench .gps-lab-dock-top{
  padding:4px 6px!important;
}
.gps-compact-command-page .gps-lab-workbench .gps-lab-dock-top small,
.gps-compact-command-page .gps-lab-workbench .gps-lab-db-note span{
  font-size:10px!important;
}
@media(max-width:900px){
  .gps-compact-command-page .gps-map-stage,
  .gps-compact-command-page .gps-map-canvas{min-height:360px!important}
  .gps-compact-command-page .gps-industrial-tabs{position:static!important;overflow:auto;white-space:nowrap;display:flex!important}
}

/* WEB30.1.217 - GPS tab responsibility cleanup
   Each GPS subtab now keeps the shared map/layer shell, but only shows controls and panels relevant to that tab. */
.gps-compact-command-page .gps-map-controls #gpsMapLayersBtn{display:none!important}
.gps-compact-command-page .gps-map-controls{align-items:center;min-height:0!important}
.gps-compact-command-page .gps-map-controls button{white-space:nowrap}
.gps-compact-command-page .gps-map-mode-track .gps-map-controls{justify-content:flex-start}
.gps-compact-command-page .gps-map-mode-points .gps-map-controls,
.gps-compact-command-page .gps-map-mode-geofence .gps-map-controls,
.gps-compact-command-page .gps-map-mode-alerts .gps-map-controls{justify-content:flex-start}
.gps-tab-details{border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:13px;background:color-mix(in srgb,var(--panel2) 74%,transparent);overflow:hidden}
.gps-tab-details>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:32px;padding:7px 10px;cursor:pointer;list-style:none;font-size:12px}
.gps-tab-details>summary::-webkit-details-marker{display:none}.gps-tab-details>summary b{color:var(--text);font-weight:900}.gps-tab-details>summary span{color:var(--muted);font-size:11px}.gps-tab-details>*:not(summary){margin:8px 10px 10px}
.gps-points-layout.gps-tab-workspace{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(300px,390px)!important;gap:8px!important;align-items:stretch!important}
.gps-points-tools-panel,.gps-zone-tools-panel{display:flex;flex-direction:column;gap:7px;min-height:0;max-height:calc(100vh - 220px);overflow:auto}
.gps-points-tools-panel .toolbar,.gps-zone-tools-panel .toolbar{padding-bottom:4px;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent)}
.gps-points-workspace .gps-point-create-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.gps-points-workspace .gps-point-create-grid input:first-child,.gps-points-workspace .gps-point-create-grid button{grid-column:1/-1}
.gps-points-workspace .gps-point-list{max-height:clamp(160px,26vh,360px);overflow:auto;padding-right:3px}
.gps-points-workspace #gpsPointsDeviceSelect{display:none!important}
.gps-zone-workspace{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(320px,430px)!important;gap:8px!important;align-items:stretch!important}
.gps-zone-workspace .gps-zone-map-panel{min-width:0}.gps-zone-workspace .gps-zone-tools-panel{min-width:0}
.gps-zone-workspace .gps-geofence-form{border:0!important;background:transparent!important;padding:0!important;margin:0!important}
.gps-zone-workspace .gps-geofence-form>h3,.gps-zone-workspace .gps-geofence-form>small.muted{display:none!important}
.gps-zone-workspace .gps-geofence-list{max-height:clamp(170px,28vh,360px)!important}.gps-zone-workspace .gps-info-list{font-size:11px}
.gps-tab-map-head{min-height:0!important;margin-bottom:0!important}.gps-tab-map-head h3{font-size:13px!important;margin:0}.gps-tab-map-head .muted{font-size:11px!important}
.gps-compact-command-page .gps-points-map-panel,.gps-compact-command-page .gps-zone-map-panel{padding:6px!important;gap:5px!important;grid-template-rows:auto minmax(0,1fr)!important}
.gps-compact-command-page .gps-points-map-panel .gps-map-stage,.gps-compact-command-page .gps-zone-map-panel .gps-map-stage{min-height:clamp(430px,66vh,780px)!important}
.gps-compact-command-page .gps-points-map-panel .gps-map-canvas,.gps-compact-command-page .gps-zone-map-panel .gps-map-canvas{min-height:clamp(430px,66vh,780px)!important}
@media(max-width:1120px){.gps-points-layout.gps-tab-workspace,.gps-zone-workspace{grid-template-columns:1fr!important}.gps-points-tools-panel,.gps-zone-tools-panel{max-height:none}.gps-points-map-panel,.gps-zone-map-panel{order:1}.gps-points-tools-panel,.gps-zone-tools-panel{order:2}}
@media(max-width:680px){.gps-points-workspace .gps-point-create-grid{grid-template-columns:1fr}.gps-tab-details>summary{align-items:flex-start;flex-direction:column}}

/* WEB30.1.219 - GPS tracking review-first layout
   In Tracks / Timeline, keep the map as the main workspace. Only the selected track player stays directly under the map; track library and browser recorder move to lower collapsed management accordions. */
.gps-compact-command-page .gps-lab-toolbar{
  position:sticky!important;
  top:44px!important;
  z-index:11!important;
}
.gps-compact-command-page .gps-lab-toolbar-main{
  display:flex!important;
  align-items:end!important;
  flex-wrap:wrap!important;
  gap:8px!important;
}
.gps-compact-command-page .gps-lab-toolbar-main>b{
  display:none!important;
}
.gps-compact-command-page .gps-lab-map-panel{
  padding:5px!important;
  border-radius:14px!important;
}
.gps-compact-command-page .gps-lab-redesign .gps-lab-map-panel .gps-map-shell{
  grid-template-rows:auto minmax(430px,64vh) auto auto!important;
  gap:4px!important;
}
.gps-compact-command-page .gps-lab-redesign .gps-map-timeline{
  display:none!important;
}
.gps-compact-command-page .gps-lab-review-strip{
  position:relative!important;
  display:grid!important;
  gap:4px!important;
  padding:5px!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--panel2) 88%,transparent),color-mix(in srgb,var(--accent) 5%,transparent))!important;
  box-shadow:none!important;
}
.gps-compact-command-page .gps-lab-compact-top{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:8px!important;
  align-items:center!important;
  padding:3px 5px!important;
  min-height:0!important;
  border-bottom:1px solid color-mix(in srgb,var(--line) 65%,transparent)!important;
}
.gps-compact-command-page .gps-lab-compact-top>div:first-child{
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
  gap:8px!important;
}
.gps-compact-command-page .gps-lab-compact-top b{
  color:var(--accent)!important;
  font-size:10.5px!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
  white-space:nowrap!important;
}
.gps-compact-command-page .gps-lab-compact-top strong{
  display:block!important;
  min-width:140px!important;
  max-width:42vw!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:12.5px!important;
}
.gps-compact-command-page .gps-lab-compact-top small{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:var(--muted)!important;
  font-size:10.5px!important;
}
.gps-compact-command-page .gps-lab-top-actions{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:4px!important;
}
.gps-compact-command-page .gps-lab-top-actions .small{
  min-height:24px!important;
  padding:3px 7px!important;
  font-size:10.5px!important;
}
.gps-compact-command-page .gps-lab-player-zone.compact{
  padding:4px!important;
  border-radius:11px!important;
  gap:3px!important;
}
.gps-compact-command-page .gps-lab-player-zone.compact .gps-replay-panel{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) minmax(140px,auto)!important;
  grid-template-areas:"actions ruler foot"!important;
  align-items:center!important;
  gap:6px!important;
  padding:4px!important;
  border:0!important;
  background:transparent!important;
}
.gps-compact-command-page .gps-lab-player-zone.compact .gps-replay-head{
  display:none!important;
}
.gps-compact-command-page .gps-lab-player-zone.compact .gps-video-actions{
  grid-area:actions!important;
  display:flex!important;
  align-items:center!important;
  gap:4px!important;
  white-space:nowrap!important;
}
.gps-compact-command-page .gps-lab-player-zone.compact .gps-video-actions button{
  min-width:56px!important;
  min-height:24px!important;
  padding:3px 7px!important;
  font-size:10.5px!important;
}
.gps-compact-command-page .gps-lab-player-zone.compact .gps-video-actions #gpsReplayPlayPauseBtn{
  min-width:68px!important;
}
.gps-compact-command-page .gps-lab-player-zone.compact .gps-replay-ruler{
  grid-area:ruler!important;
  height:34px!important;
  min-width:0!important;
  padding:0 10px!important;
}
.gps-compact-command-page .gps-lab-player-zone.compact .gps-replay-ruler::before{
  top:17px!important;
}
.gps-compact-command-page .gps-lab-player-zone.compact .gps-replay-ruler button{
  top:2px!important;
  height:28px!important;
}
.gps-compact-command-page .gps-lab-player-zone.compact .gps-replay-ruler button i{
  height:13px!important;
}
.gps-compact-command-page .gps-lab-player-zone.compact .gps-replay-ruler button.major i{
  height:19px!important;
}
.gps-compact-command-page .gps-lab-player-zone.compact .gps-replay-ruler button small{
  top:22px!important;
  font-size:7.5px!important;
}
.gps-compact-command-page .gps-lab-player-zone.compact .gps-replay-progress-native{
  display:none!important;
}
.gps-compact-command-page .gps-lab-player-zone.compact .gps-replay-foot{
  grid-area:foot!important;
  min-height:24px!important;
  max-width:280px!important;
  padding:3px 6px!important;
  background:color-mix(in srgb,var(--bg) 34%,transparent)!important;
  border-radius:9px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.gps-compact-command-page .gps-lab-player-zone.compact .gps-replay-foot span{
  font-size:10.5px!important;
}
.gps-compact-command-page .gps-lab-management-panel{
  display:grid!important;
  gap:6px!important;
  padding:6px!important;
  border-radius:14px!important;
  background:color-mix(in srgb,var(--panel2) 56%,transparent)!important;
}
.gps-compact-command-page .gps-lab-management-panel .gps-lab-dock-wrap{
  border:1px solid color-mix(in srgb,var(--line) 82%,transparent)!important;
  border-radius:12px!important;
  overflow:hidden!important;
  background:color-mix(in srgb,var(--panel) 46%,transparent)!important;
}
.gps-compact-command-page .gps-lab-management-panel .gps-lab-dock-wrap>summary{
  min-height:30px!important;
  padding:6px 9px!important;
}
.gps-compact-command-page .gps-lab-management-panel .gps-lab-dock-wrap:not([open]){
  opacity:.86!important;
}
.gps-compact-command-page .gps-lab-management-panel .gps-lab-track-columns{
  padding:7px!important;
}
.gps-lab-track-item{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:5px!important;
  align-items:center!important;
}
.gps-lab-track-item .gps-lab-track-row{
  min-width:0!important;
  width:100%!important;
}
.gps-lab-track-item.active .gps-lab-track-row{
  border-color:color-mix(in srgb,var(--accent) 72%,var(--line))!important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)!important;
}
.gps-lab-save-browser-row{
  min-height:26px!important;
  padding:3px 7px!important;
  font-size:10.5px!important;
}
@media(max-width:1200px){
  .gps-compact-command-page .gps-lab-player-zone.compact .gps-replay-panel{
    grid-template-columns:1fr!important;
    grid-template-areas:"actions" "ruler" "foot"!important;
  }
  .gps-compact-command-page .gps-lab-player-zone.compact .gps-replay-foot{max-width:none!important}
  .gps-compact-command-page .gps-lab-compact-top{grid-template-columns:1fr!important}
}
@media(max-width:780px){
  .gps-compact-command-page .gps-lab-redesign .gps-lab-map-panel .gps-map-shell{grid-template-rows:auto minmax(340px,56vh) auto auto!important}
  .gps-compact-command-page .gps-lab-compact-top>div:first-child{display:grid!important;gap:2px!important}
  .gps-compact-command-page .gps-lab-compact-top strong{max-width:100%!important}
  .gps-lab-track-item{grid-template-columns:1fr!important}
}

/* WEB30.1.220 - GPS track/timeline industrial polish
   Tracks / Timeline keeps map + selected player as the working area; management cards stay visually separated and collapsible. */
.gps-compact-command-page .gps-lab-review-strip{
  border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line))!important;
}
.gps-compact-command-page .gps-lab-selected-manager{
  margin-top:4px!important;
  border:1px solid color-mix(in srgb,var(--accent2) 20%,var(--line))!important;
  border-radius:12px!important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--panel) 76%,transparent),color-mix(in srgb,var(--accent2) 5%,transparent))!important;
  overflow:hidden!important;
}
.gps-compact-command-page .gps-lab-selected-manager>summary,
.gps-compact-command-page .gps-lab-management-panel .gps-lab-dock-wrap>summary{
  position:relative!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:8px!important;
  cursor:pointer!important;
  list-style:none!important;
  border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent)!important;
  background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 9%,transparent),transparent)!important;
}
.gps-compact-command-page .gps-lab-selected-manager>summary::-webkit-details-marker,
.gps-compact-command-page .gps-lab-management-panel .gps-lab-dock-wrap>summary::-webkit-details-marker{display:none!important}
.gps-compact-command-page .gps-lab-selected-manager>summary::after,
.gps-compact-command-page .gps-lab-management-panel .gps-lab-dock-wrap>summary::after{
  content:'▸';
  color:var(--accent);
  font-size:12px;
  transition:transform .16s ease;
}
.gps-compact-command-page .gps-lab-selected-manager[open]>summary::after,
.gps-compact-command-page .gps-lab-management-panel .gps-lab-dock-wrap[open]>summary::after{transform:rotate(90deg)}
.gps-compact-command-page .gps-lab-selected-manager>summary b,
.gps-compact-command-page .gps-lab-management-panel .gps-lab-dock-wrap>summary b{
  color:var(--accent)!important;
  text-transform:uppercase!important;
  letter-spacing:.045em!important;
  font-size:11px!important;
  white-space:nowrap!important;
}
.gps-compact-command-page .gps-lab-selected-manager>summary span,
.gps-compact-command-page .gps-lab-management-panel .gps-lab-dock-wrap>summary span{
  color:var(--muted)!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:10.5px!important;
}
.gps-lab-selected-manager-body{
  display:grid;
  grid-template-columns:minmax(220px,1fr) auto auto;
  gap:7px;
  align-items:end;
  padding:7px;
}
.gps-lab-track-name-edit{display:grid;gap:3px;font-size:10.5px;color:var(--muted);min-width:0}
.gps-lab-track-name-edit input{min-height:28px;border-radius:9px;border:1px solid var(--line);background:var(--panel2);color:var(--text);padding:4px 8px;font-size:12px;min-width:0}
.gps-lab-selected-chips{display:flex;align-items:center;gap:5px;flex-wrap:wrap;align-self:center}
.gps-lab-selected-chips span{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--line) 74%,transparent);background:color-mix(in srgb,var(--panel2) 74%,transparent);font-size:10.5px;color:var(--muted);white-space:nowrap}
.gps-lab-manager-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap}
.gps-lab-manager-actions .small{min-height:26px!important;padding:4px 8px!important;font-size:10.5px!important}
.gps-lab-track-groups{
  display:grid;
  grid-template-columns:repeat(4,minmax(180px,1fr));
  gap:8px;
  padding:8px;
}
.gps-lab-track-groups article{
  min-width:0;
  border:1px solid color-mix(in srgb,var(--line) 72%,transparent);
  border-radius:12px;
  background:color-mix(in srgb,var(--panel2) 42%,transparent);
  padding:7px;
}
.gps-lab-track-groups h4{
  margin:0 0 6px!important;
  color:var(--muted)!important;
  font-size:10.5px!important;
  text-transform:uppercase!important;
  letter-spacing:.045em!important;
}
.gps-lab-track-groups .gps-lab-track-list{max-height:190px!important}
.gps-lab-station-selector{margin-top:0!important}
.gps-lab-station-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:6px;padding:8px}
.gps-lab-station-chip{display:grid;gap:2px;text-align:left;border:1px solid color-mix(in srgb,var(--line) 76%,transparent);border-radius:11px;background:color-mix(in srgb,var(--panel2) 70%,transparent);color:var(--text);padding:7px 8px;cursor:pointer;min-width:0}
.gps-lab-station-chip b{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gps-lab-station-chip span{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gps-lab-station-chip.active{border-color:color-mix(in srgb,var(--accent) 72%,var(--line));background:color-mix(in srgb,var(--accent) 13%,var(--panel2));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 14%,transparent)}.gps-lab-station-chip.gps-bad{opacity:.7}.gps-lab-station-chip.gps-warn{border-color:color-mix(in srgb,var(--warn) 50%,var(--line))}
.gps-industrial-record-card{display:grid!important;gap:7px!important;padding:8px!important;border:1px solid color-mix(in srgb,var(--line) 78%,transparent)!important;border-radius:12px!important;background:linear-gradient(135deg,color-mix(in srgb,var(--panel2) 76%,transparent),color-mix(in srgb,var(--warn) 3%,transparent))!important}
.gps-recorder-headline{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.gps-recorder-headline>div:first-child{display:flex;align-items:center;gap:7px;min-width:0}.gps-recorder-headline b{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.gps-recorder-live-stats{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}.gps-recorder-live-stats span{min-height:22px;padding:3px 7px;border:1px solid color-mix(in srgb,var(--line) 68%,transparent);border-radius:999px;background:color-mix(in srgb,var(--panel) 70%,transparent);font-size:10.5px;color:var(--muted);white-space:nowrap}.gps-recorder-state{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:22px;padding:3px 7px;border-radius:999px;background:color-mix(in srgb,var(--muted) 14%,transparent);color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.06em}.gps-recorder-state.on{background:rgba(239,68,68,.18);color:#fecaca;box-shadow:0 0 0 2px rgba(239,68,68,.08)}
.gps-recorder-progress{height:5px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--panel) 76%,#000);border:1px solid color-mix(in srgb,var(--line) 50%,transparent)}.gps-recorder-progress i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .25s ease}.gps-recorder-hint{display:block;color:var(--muted);font-size:10.5px;line-height:1.35}.gps-industrial-record-card .gps-recorder-fields{display:grid!important;grid-template-columns:96px minmax(220px,1fr) auto auto auto!important;gap:6px!important;align-items:end!important}.gps-industrial-record-card .gps-recorder-fields label{display:grid!important;gap:3px!important;font-size:10.5px!important;color:var(--muted)!important}.gps-industrial-record-card .gps-recorder-fields input{min-height:29px!important;border-radius:9px!important}.gps-industrial-record-card .gps-recorder-fields button{min-width:58px!important;min-height:29px!important;padding:4px 9px!important;font-size:10.5px!important}
@media(max-width:1280px){.gps-lab-track-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.gps-lab-selected-manager-body{grid-template-columns:1fr}.gps-lab-manager-actions{justify-content:flex-start}.gps-industrial-record-card .gps-recorder-fields{grid-template-columns:1fr 1fr auto auto auto!important}}
@media(max-width:760px){.gps-lab-track-groups{grid-template-columns:1fr}.gps-industrial-record-card .gps-recorder-fields{grid-template-columns:1fr 1fr!important}.gps-industrial-record-card .gps-recorder-fields button{width:100%}.gps-recorder-headline{align-items:flex-start;flex-direction:column}.gps-recorder-live-stats{justify-content:flex-start}.gps-lab-selected-manager-body{padding:7px}.gps-lab-manager-actions .small{flex:1 1 120px}}

/* WEB30.1.221 - GPS Tracks/Timeline two-layer management layout
   Map and compact player remain the primary working area. Selection lists stay in the left management layer; edit/export/save/record actions stay in the right action layer. */
.gps-compact-command-page .gps-lab-player-strip{
  grid-column:1/-1!important;
  padding:5px!important;
  margin:0!important;
  border-color:color-mix(in srgb,var(--accent) 22%,var(--line))!important;
}
.gps-compact-command-page .gps-lab-player-strip .gps-lab-selected-manager{
  display:none!important;
}
.gps-compact-command-page .gps-lab-two-layer-panel{
  padding:6px!important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--panel2) 60%,transparent),color-mix(in srgb,var(--accent) 3%,transparent))!important;
  border:1px solid color-mix(in srgb,var(--line) 80%,transparent)!important;
}
.gps-lab-management-grid{
  display:grid!important;
  grid-template-columns:minmax(360px,1.18fr) minmax(320px,.82fr)!important;
  gap:8px!important;
  align-items:start!important;
}
.gps-lab-management-col{
  display:grid!important;
  gap:8px!important;
  min-width:0!important;
  align-content:start!important;
}
.gps-lab-management-col-left .gps-lab-dock-wrap,
.gps-lab-management-col-right .gps-lab-dock-wrap{
  margin:0!important;
}
.gps-compact-command-page .gps-lab-management-grid .gps-lab-dock-wrap{
  border:1px solid color-mix(in srgb,var(--line) 82%,transparent)!important;
  border-radius:13px!important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--panel) 70%,transparent),color-mix(in srgb,var(--panel2) 55%,transparent))!important;
  box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 5%,transparent)!important;
}
.gps-compact-command-page .gps-lab-management-grid .gps-lab-dock-wrap>summary{
  min-height:34px!important;
  padding:7px 10px!important;
  border-bottom:0!important;
  background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 10%,transparent),color-mix(in srgb,var(--panel2) 26%,transparent))!important;
}
.gps-compact-command-page .gps-lab-management-grid .gps-lab-dock-wrap[open]>summary{
  border-bottom:1px solid color-mix(in srgb,var(--line) 66%,transparent)!important;
}
.gps-compact-command-page .gps-lab-management-grid .gps-lab-dock-wrap>summary::after{
  content:'▸';
  display:inline-grid;
  place-items:center;
  width:20px;
  height:20px;
  border-radius:999px;
  border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);
  color:var(--accent)!important;
  background:color-mix(in srgb,var(--accent) 8%,transparent);
  transition:transform .16s ease, background .16s ease;
}
.gps-compact-command-page .gps-lab-management-grid .gps-lab-dock-wrap[open]>summary::after{
  transform:rotate(90deg);
  background:color-mix(in srgb,var(--accent) 17%,transparent);
}
.gps-lab-management-col-left .gps-lab-station-grid{
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;
  max-height:180px!important;
  overflow:auto!important;
  padding:8px!important;
}
.gps-lab-management-col-left .gps-lab-track-groups{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  padding:8px!important;
  gap:7px!important;
}
.gps-lab-management-col-left .gps-lab-track-groups article{
  padding:7px!important;
  min-height:0!important;
}
.gps-lab-management-col-left .gps-lab-track-list{
  max-height:170px!important;
}
.gps-lab-management-col-right .gps-lab-selected-manager{
  border-color:color-mix(in srgb,var(--accent2) 28%,var(--line))!important;
}
.gps-lab-management-col-right .gps-lab-selected-manager-body{
  grid-template-columns:1fr!important;
  padding:8px!important;
}
.gps-lab-management-col-right .gps-lab-manager-actions{
  justify-content:flex-start!important;
}
.gps-lab-management-col-right .gps-lab-manager-actions .small{
  flex:0 0 auto!important;
}
.gps-lab-management-col-right .gps-industrial-record-card{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  padding:8px!important;
}
.gps-lab-management-col-right .gps-industrial-record-card .gps-recorder-fields{
  grid-template-columns:76px minmax(150px,1fr) repeat(3,auto)!important;
}
@media(max-width:1280px){
  .gps-lab-management-grid{grid-template-columns:1fr!important}
  .gps-lab-management-col-left .gps-lab-track-groups{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:780px){
  .gps-lab-management-col-left .gps-lab-track-groups{grid-template-columns:1fr!important}
  .gps-lab-management-col-right .gps-industrial-record-card .gps-recorder-fields{grid-template-columns:1fr 1fr!important}
}

/* WEB30.1.222 - GPS manual record flow + non-sticky GPS controls
   Keep the Tracks/Timeline tab scrollable normally and make manual recording an explicit Stop -> Save workflow. */
.gps-tracking-page .gps-subtabs,
.gps-tracking-page .gps-industrial-tabs,
.gps-compact-command-page .gps-industrial-tabs,
.gps-compact-command-page .gps-lab-toolbar{
  position:static!important;
  top:auto!important;
  z-index:auto!important;
  backdrop-filter:none!important;
}
.gps-compact-command-page .gps-lab-toolbar{
  box-shadow:none!important;
}
.gps-lab-management-col-right .gps-industrial-record-card .gps-recorder-fields,
.gps-industrial-record-card .gps-recorder-fields{
  grid-template-columns:82px minmax(160px,1fr) repeat(4,auto)!important;
}
.gps-industrial-record-card.has-draft{
  border-color:color-mix(in srgb,var(--accent) 34%,var(--line))!important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--panel2) 76%,transparent),color-mix(in srgb,var(--accent) 6%,transparent))!important;
}
.gps-recorder-state.stopped{
  background:color-mix(in srgb,var(--accent) 18%,transparent)!important;
  color:color-mix(in srgb,var(--accent) 72%,#fff)!important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 10%,transparent)!important;
}
.gps-industrial-record-card #gpsManualRecordSaveBtn:not(:disabled){
  box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)!important;
}
.gps-recorder-live-stats span:first-child,
.gps-recorder-live-stats span:nth-child(2){
  color:var(--text)!important;
  border-color:color-mix(in srgb,var(--accent) 28%,var(--line))!important;
}
@media(max-width:1180px){
  .gps-lab-management-col-right .gps-industrial-record-card .gps-recorder-fields,
  .gps-industrial-record-card .gps-recorder-fields{grid-template-columns:1fr 1fr repeat(2,auto)!important}
}
@media(max-width:760px){
  .gps-lab-management-col-right .gps-industrial-record-card .gps-recorder-fields,
  .gps-industrial-record-card .gps-recorder-fields{grid-template-columns:1fr 1fr!important}
  .gps-industrial-record-card .gps-recorder-fields button{width:100%!important}
}

/* WEB30.1.223 GPS performance trace */
.gps-performance-trace{
  display:grid;
  gap:4px;
  border:1px solid color-mix(in srgb,var(--line) 82%,transparent);
  border-radius:12px;
  background:color-mix(in srgb,var(--panel2) 72%,transparent);
  padding:7px 9px;
  margin:0;
  font-size:11px;
  color:var(--muted);
}
.gps-performance-trace .gps-perf-chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  align-items:center;
}
.gps-performance-trace .gps-perf-chip-row span{
  display:inline-flex;
  align-items:center;
  gap:4px;
  min-height:22px;
  padding:2px 7px;
  border-radius:999px;
  border:1px solid color-mix(in srgb,var(--line) 78%,transparent);
  background:color-mix(in srgb,var(--panel) 76%,transparent);
  white-space:nowrap;
}
.gps-performance-trace .gps-perf-chip-row b{
  color:var(--text);
  font-weight:800;
}
.gps-performance-trace small{
  color:var(--muted);
  line-height:1.35;
}

/* WEB30.1.224 - GPS performance/layout hotfix
   Keep the trace compact and stop it from taking the map grid row. */
.gps-compact-command-page .gps-lab-redesign{
  grid-template-rows:auto auto minmax(360px,1fr) auto!important;
}
.gps-compact-command-page .gps-performance-trace{
  min-height:0!important;
  align-self:start!important;
  padding:4px 8px!important;
  border-radius:11px!important;
  background:color-mix(in srgb,var(--panel2) 58%,transparent)!important;
}
.gps-compact-command-page .gps-performance-trace .gps-perf-chip-row{
  gap:4px!important;
}
.gps-compact-command-page .gps-performance-trace .gps-perf-chip-row span{
  min-height:19px!important;
  padding:1px 6px!important;
  font-size:10.5px!important;
}
.gps-compact-command-page .gps-performance-trace small{
  font-size:10px!important;
}

/* WEB30.1.227 Manual datalogger maintenance guard in header */
.db-guard-header-pill{position:relative;cursor:pointer;border:1px solid var(--line);background:color-mix(in srgb,var(--panel2) 88%,transparent);color:var(--text);font:inherit;min-width:0}
.db-guard-header-pill.ok{border-color:rgba(34,197,94,.55);box-shadow:0 0 0 1px rgba(34,197,94,.15),0 0 14px rgba(34,197,94,.10)}
.db-guard-header-pill.warn{border-color:rgba(245,158,11,.65);box-shadow:0 0 0 1px rgba(245,158,11,.18)}
.db-guard-header-pill.bad{border-color:rgba(239,68,68,.58);box-shadow:0 0 0 1px rgba(239,68,68,.16)}
.db-guard-header-pill.muted{border-color:rgba(148,163,184,.34);opacity:.78}
.db-guard-header-pill.warn{animation:dbGuardBlinkWarn 1.45s ease-in-out infinite}
.db-guard-header-pill.bad{animation:dbGuardBlinkBad 1.05s ease-in-out infinite}
.db-guard-header-pill #dbGuardHeaderStatus{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.db-guard-header-tooltip{display:none;position:absolute;right:0;top:calc(100% + 10px);z-index:10060;width:360px;padding:12px;border:1px solid color-mix(in srgb,var(--accent) 42%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--panel) 94%,#000 6%);box-shadow:0 18px 50px rgba(0,0,0,.38);text-align:left;line-height:1.35;color:var(--text);white-space:normal}
.db-guard-header-tooltip:before{content:'';position:absolute;right:20px;top:-7px;width:12px;height:12px;transform:rotate(45deg);background:inherit;border-left:1px solid color-mix(in srgb,var(--accent) 42%,var(--line));border-top:1px solid color-mix(in srgb,var(--accent) 42%,var(--line))}
.db-guard-header-pill:hover .db-guard-header-tooltip,.db-guard-header-pill:focus-visible .db-guard-header-tooltip{display:grid;gap:6px}
.db-guard-header-tooltip strong{color:var(--accent)}
.db-guard-header-tooltip div{display:grid;grid-template-columns:126px minmax(0,1fr);gap:8px;font-size:.82rem;color:var(--text);align-items:center}
.db-guard-header-tooltip div span{color:var(--muted);font-size:.76rem}
.db-guard-header-tooltip div b{font-weight:800;overflow-wrap:anywhere}
.db-guard-header-tooltip small{color:var(--muted);font-size:.76rem}
.db-guard-card{border-color:color-mix(in srgb,var(--accent) 28%,var(--line));background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 5%,transparent),transparent)}
.db-guard-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:10px 0}
.db-guard-overview article{border:1px solid var(--line);border-radius:14px;padding:9px;background:color-mix(in srgb,var(--panel2) 78%,transparent)}
.db-guard-overview b{display:block;font-size:1.04rem}.db-guard-overview span{display:block;color:var(--muted);font-size:.75rem;margin-top:3px}
@keyframes dbGuardBlinkWarn{0%,100%{box-shadow:0 0 0 1px rgba(245,158,11,.14),0 0 0 rgba(245,158,11,0)}50%{box-shadow:0 0 0 1px rgba(245,158,11,.58),0 0 16px rgba(245,158,11,.32)}}
@keyframes dbGuardBlinkBad{0%,100%{box-shadow:0 0 0 1px rgba(239,68,68,.16),0 0 0 rgba(239,68,68,0)}50%{box-shadow:0 0 0 1px rgba(239,68,68,.76),0 0 18px rgba(239,68,68,.42)}}

/* WEB30.1.228 - Global card/layout boundary standard
   Purpose: make cards, headers, and page sections visually separable across dark/light themes without changing runtime logic. */
.content{
  padding:clamp(8px,1vw,14px)!important;
}
.grid,.settings-grid{
  align-items:start;
}
.panel{
  border-color:color-mix(in srgb,var(--line) 82%,var(--text) 8%)!important;
  background:
    linear-gradient(180deg,color-mix(in srgb,#fff 4%,transparent),color-mix(in srgb,#000 6%,transparent)),
    color-mix(in srgb,var(--panel) 94%,var(--bg2) 6%)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.18),inset 0 1px 0 color-mix(in srgb,#fff 8%,transparent)!important;
}
.panel.pad{
  padding:calc(var(--cardPad) + 2px)!important;
}
.panel.pad > h3:first-child,
.panel.pad > .toolbar:first-child{
  margin:calc((var(--cardPad) + 2px) * -1) calc((var(--cardPad) + 2px) * -1) calc(var(--gap) + 2px)!important;
  padding:9px calc(var(--cardPad) + 2px)!important;
  border-bottom:1px solid color-mix(in srgb,var(--line) 88%,var(--accent) 12%)!important;
  border-radius:calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0!important;
  background:
    linear-gradient(90deg,color-mix(in srgb,var(--accent) 12%,transparent),transparent 42%),
    color-mix(in srgb,var(--panel2) 86%,var(--bg2) 14%)!important;
}
.panel.pad > .toolbar:first-child{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px!important;
}
.panel.pad > .toolbar:first-child h3,
.panel.pad > h3:first-child{
  color:var(--text)!important;
  font-weight:850!important;
  letter-spacing:-.01em;
}
.panel.pad > .toolbar:first-child h3{
  margin:0 0 3px!important;
}
.panel.pad > .toolbar:first-child .muted{
  display:block;
  line-height:1.35;
}
.panel.pad > p.muted:first-of-type,
.panel.pad > h3:first-child + p.muted{
  margin-top:0!important;
}
.form-grid{
  gap:10px!important;
}
.form-grid label,
.full-label{
  border:1px solid color-mix(in srgb,var(--line) 72%,transparent);
  border-radius:calc(var(--radius) - 2px);
  background:color-mix(in srgb,var(--panel2) 42%,transparent);
  padding:8px 9px;
}
.form-grid label input,
.form-grid label select,
.full-label input{
  margin-top:1px;
}
.table-wrap{
  border-color:color-mix(in srgb,var(--line) 88%,var(--accent) 7%)!important;
  background:color-mix(in srgb,var(--bg2) 58%,transparent);
}
.table-wrap th{
  color:color-mix(in srgb,var(--text) 72%,var(--muted));
  background:color-mix(in srgb,var(--panel2) 92%,var(--bg2) 8%)!important;
}
.metric-card,.db-guard-overview article,.role-card,.profile-item,.access-user-card{
  border-color:color-mix(in srgb,var(--line) 82%,var(--accent) 8%)!important;
}
.theme-light .panel{
  border-color:#c5d0dc!important;
  background:#ffffff!important;
  box-shadow:0 12px 28px rgba(15,23,42,.11),inset 0 1px 0 rgba(255,255,255,.9)!important;
}
.theme-light .panel.pad > h3:first-child,
.theme-light .panel.pad > .toolbar:first-child{
  background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 10%,#eef5fb),#f6f9fc 48%)!important;
  border-bottom-color:#cbd7e3!important;
}
.theme-light .form-grid label,
.theme-light .full-label{
  background:#f7fbff!important;
  border-color:#cbd7e3!important;
}
.theme-light .table-wrap{
  background:#f8fbff!important;
  border-color:#cbd7e3!important;
}
.theme-light .table-wrap th{
  background:#eef4fa!important;
  color:#44546a!important;
}

/* WEB30.1.228 - Database Maintenance page structure: one page scroll, clear card ownership, less dead space. */
.db-maintenance-page.settings-grid{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:12px!important;
  padding-bottom:28px!important;
}
.db-maintenance-page > .panel{
  grid-column:span 6;
  min-width:0;
}
.db-maintenance-page .db-manual-card{
  grid-column:1 / -1;
}
.db-maintenance-page .db-check-card,
.db-maintenance-page .db-result-card,
.db-maintenance-page .db-backup-list-card,
.db-maintenance-page .db-audit-card{
  grid-column:span 6;
}
.db-maintenance-page .scroll-card{
  max-height:none!important;
  overflow:visible!important;
}
.db-maintenance-page .sticky-actions{
  position:static!important;
  flex-wrap:wrap;
  background:color-mix(in srgb,var(--panel) 88%,var(--bg2) 12%)!important;
  border:1px solid color-mix(in srgb,var(--line) 80%,transparent)!important;
  border-radius:calc(var(--radius) - 2px)!important;
  padding:8px!important;
  margin-top:10px!important;
}
.db-maintenance-page .sticky-actions button{
  min-width:140px;
}
.db-maintenance-page .db-manual-card .sticky-actions button:first-child{
  min-width:230px;
}
.db-maintenance-page .db-guard-overview{
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;
  gap:9px!important;
}
.db-maintenance-page .db-guard-overview article{
  background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 5%,transparent),color-mix(in srgb,var(--panel2) 80%,transparent))!important;
  min-height:76px;
}
.db-maintenance-page .kv-list{
  border:1px solid color-mix(in srgb,var(--line) 70%,transparent);
  border-radius:calc(var(--radius) - 2px);
  background:color-mix(in srgb,var(--panel2) 40%,transparent);
  padding:9px 10px;
  margin:10px 0!important;
}
.db-maintenance-page .db-manual-card .form-grid{
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
}
.db-maintenance-page .table-wrap{
  max-height:330px;
}
.db-maintenance-page .db-manual-card .table-wrap{
  max-height:240px;
}
.db-maintenance-page .db-audit-card .table-wrap,
.db-maintenance-page .db-backup-list-card .table-wrap{
  max-height:300px;
}
.db-maintenance-page .db-result-card{
  min-height:180px;
}
.db-maintenance-page .db-result-card pre,
.db-maintenance-page .db-result-card code{
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
@media(max-width:1180px){
  .db-maintenance-page.settings-grid{grid-template-columns:1fr!important}
  .db-maintenance-page > .panel,
  .db-maintenance-page .db-check-card,
  .db-maintenance-page .db-result-card,
  .db-maintenance-page .db-backup-list-card,
  .db-maintenance-page .db-audit-card{grid-column:1 / -1!important}
}
@media(max-width:760px){
  .panel.pad > h3:first-child,
  .panel.pad > .toolbar:first-child{
    padding:8px 10px!important;
  }
  .db-maintenance-page .sticky-actions button{width:100%;min-width:0!important}
}

/* WEB30.1.229 SMS Pattern Lab */
.sms-pattern-lab-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:14px;align-items:start;direction:rtl}
.sms-pattern-lab-main,.sms-pattern-preview-card{min-width:0}
.sms-pattern-top-grid{grid-template-columns:repeat(3,minmax(180px,1fr));direction:rtl}
.sms-pattern-body-label{display:grid;gap:8px;margin-top:12px;color:var(--muted)}
.sms-pattern-body-label textarea{min-height:170px;resize:vertical;font-size:1rem;line-height:1.8;direction:rtl;text-align:right}
.sms-variable-chip-wrap{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px;padding:12px;border:1px solid var(--controlLine);border-radius:16px;background:var(--panel2)}
.sms-variable-chip-wrap>b{margin-inline-end:6px;color:var(--text)}
.sms-variable-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid color-mix(in srgb,var(--accent) 42%,var(--line));background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--text);border-radius:999px;padding:7px 10px;cursor:pointer;font-weight:800;direction:ltr}
.sms-variable-chip:hover{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}
.sms-variable-chip small{font-weight:700;color:var(--muted);direction:rtl}
.sms-pattern-values{margin-top:12px;border:1px solid var(--line);border-radius:14px;padding:10px;background:var(--surface)}
.sms-pattern-values summary{cursor:pointer;font-weight:900;color:var(--text)}
.sms-pattern-value-grid{grid-template-columns:repeat(3,minmax(160px,1fr));margin-top:10px;direction:rtl}
.sms-pattern-preview-text{white-space:pre-wrap;min-height:180px;border:1px solid var(--controlLine);border-radius:16px;padding:16px;background:var(--panel2);font-size:1.08rem;line-height:1.9;color:var(--text);direction:rtl;text-align:right;margin:10px 0}
.sms-pattern-preview-meta{font-weight:900;margin:8px 0;color:var(--muted)}
.sms-pattern-issues{display:grid;gap:6px;margin:8px 0 12px 0;padding:0;list-style:none}
.sms-pattern-issues li{border:1px solid var(--line);border-radius:12px;padding:8px 10px;background:var(--panel2)}
.sms-pattern-issues li.ok{border-color:color-mix(in srgb,var(--good) 60%,var(--line));color:var(--good)}
.sms-pattern-issues li.warn{border-color:color-mix(in srgb,var(--warn) 60%,var(--line));color:var(--warn)}
.sms-pattern-issues li.bad{border-color:color-mix(in srgb,var(--bad) 60%,var(--line));color:var(--bad)}
.sms-template-editor textarea{direction:rtl;text-align:right;line-height:1.7}
@media(max-width:980px){.sms-pattern-lab-layout{grid-template-columns:1fr}.sms-pattern-top-grid,.sms-pattern-value-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.sms-pattern-top-grid,.sms-pattern-value-grid{grid-template-columns:1fr}}

/* WEB30.1.230 SMS Provider Pattern Builder */
.sms-provider-pattern-workspace{display:grid;grid-template-columns:minmax(260px,.55fr) minmax(0,1.45fr) minmax(340px,.8fr);gap:14px;align-items:start;direction:rtl}
.sms-provider-pattern-summary{grid-column:1 / -1}
.sms-provider-pattern-stats{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;margin-top:12px}
.sms-provider-pattern-stats article{border:1px solid var(--line);border-radius:16px;background:var(--panel2);padding:12px;text-align:center}
.sms-provider-pattern-stats b{display:block;font-size:1.25rem;color:var(--text)}
.sms-provider-pattern-stats span{display:block;color:var(--muted);font-weight:800;margin-top:4px}
.sms-provider-template-list{display:grid;gap:8px;max-height:620px;overflow:auto;padding-inline-end:4px}
.sms-provider-template-item{display:grid;text-align:right;gap:5px;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:14px;padding:10px;cursor:pointer}
.sms-provider-template-item small{color:var(--muted);font-weight:700;line-height:1.5}
.sms-provider-template-item.active{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 22%,transparent);background:color-mix(in srgb,var(--accent) 11%,var(--panel2))}
.sms-provider-pattern-badge{display:inline-flex;align-items:center;border-radius:999px;border:1px solid var(--line);padding:7px 10px;font-weight:900;white-space:nowrap;background:var(--panel2)}
.sms-provider-pattern-badge.ok{border-color:color-mix(in srgb,var(--good) 70%,var(--line));color:var(--good)}
.sms-provider-pattern-badge.warn{border-color:color-mix(in srgb,var(--warn) 70%,var(--line));color:var(--warn)}
.sms-provider-pattern-badge.bad{border-color:color-mix(in srgb,var(--bad) 70%,var(--line));color:var(--bad)}
.sms-provider-pattern-badge.draft{border-color:color-mix(in srgb,var(--accent) 60%,var(--line));color:var(--accent)}
.sms-event-pill-wrap{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 12px}
.sms-event-pill{display:inline-flex;border:1px solid var(--line);background:var(--panel2);border-radius:999px;padding:6px 9px;color:var(--muted);font-weight:800}
.sms-provider-variable-table{margin:12px 0;max-height:280px;overflow:auto;border:1px solid var(--line);border-radius:14px}
.sms-provider-variable-table table{margin:0}
.sms-provider-variable-table code{direction:ltr;unicode-bidi:embed;font-weight:900;color:var(--accent)}
.sms-provider-final-preview{min-height:140px}
@media(max-width:1180px){.sms-provider-pattern-workspace{grid-template-columns:1fr}.sms-provider-pattern-summary,.sms-provider-pattern-list,.sms-provider-pattern-editor,.sms-provider-pattern-register{grid-column:1 / -1}.sms-provider-pattern-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.sms-provider-pattern-stats{grid-template-columns:1fr}}
/* WEB30.1.232_SMS_DUAL_MODE_CHARACTER_COUNTER */
#smsPatternBodyCounter{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border:1px dashed color-mix(in srgb,var(--accent) 34%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--accent) 7%,transparent);font-size:.86rem;font-weight:900;color:var(--muted)}

/* WEB30.1.233-1.234 SMS dual-mode provider rule correction and workflow sync */
.sms-textarea-counter-wrap{position:relative;display:block}
.sms-textarea-counter-wrap textarea{width:100%;box-sizing:border-box;padding-bottom:42px!important}
.sms-textarea-counter{position:absolute;inset-inline-start:12px;bottom:10px;display:inline-flex;align-items:center;gap:6px;max-width:calc(100% - 24px);border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--panel2) 92%,transparent);color:var(--muted);font-size:.82rem;font-weight:900;line-height:1.2;padding:7px 10px;box-shadow:0 10px 26px rgba(0,0,0,.16);pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:2}
.sms-textarea-counter.ok{border-color:color-mix(in srgb,var(--good) 55%,var(--line));color:var(--good)}
.sms-textarea-counter.warn{border-color:color-mix(in srgb,var(--warn) 65%,var(--line));color:var(--warn)}
.sms-textarea-counter.bad{border-color:color-mix(in srgb,var(--bad) 70%,var(--line));color:var(--bad)}

/* WEB30.1.234 SMS pattern workflow / template clarity */
.sms-provider-pattern-workflow .sms-provider-pattern-list,
.sms-provider-pattern-workflow .sms-provider-pattern-editor,
.sms-provider-pattern-workflow .sms-provider-pattern-register,

.sms-template-clean-shell{display:flex;flex-direction:column;gap:14px;overflow:visible!important;direction:rtl;}
.sms-template-clean-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:16px;padding:12px 14px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 7%,var(--surface)),var(--surface-soft));}
.sms-template-clean-head h3{margin:0 0 4px;font-size:1.15rem;}
.sms-template-clean-head p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.7;}
.sms-template-clean-summary{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.sms-template-clean-summary span{border:1px solid var(--border);background:var(--surface-soft);border-radius:999px;padding:7px 10px;font-weight:800;font-size:.82rem;white-space:nowrap;}
.sms-template-clean-layout{display:grid;grid-template-columns:minmax(700px,1.15fr) minmax(560px,.85fr);grid-template-areas:"editor list";gap:16px;align-items:start;}
.sms-template-clean-list{grid-area:list;}
.sms-template-clean-editor{grid-area:editor;}
.sms-template-clean-list,.sms-template-clean-editor{border:1px solid color-mix(in srgb,var(--accent) 32%,var(--border));background:var(--surface-soft);border-radius:18px;padding:12px;box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 14px 32px rgba(0,0,0,.12);}
.sms-template-clean-list-head{display:flex;justify-content:space-between;gap:10px;align-items:end;padding:3px 4px 10px;border-bottom:1px solid var(--border);}
.sms-template-clean-list-head b{font-size:1rem;}
.sms-template-clean-list-head small{color:var(--muted);font-size:.78rem;}
.sms-template-list-table-head{display:grid;grid-template-columns:42px minmax(220px,1.7fr) 64px minmax(96px,.8fr) minmax(106px,.82fr);gap:8px;padding:9px 10px;margin-top:10px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--accent) 8%,var(--surface));color:var(--muted);font-size:.75rem;font-weight:900;}
.sms-template-clean-list-scroll{display:flex;flex-direction:column;gap:7px;max-height:650px;overflow:auto;padding-top:9px;padding-inline-start:4px;}
.sms-template-row-clean{width:100%;display:grid;grid-template-columns:42px minmax(220px,1.7fr) 64px minmax(96px,.8fr) minmax(106px,.82fr);gap:8px;align-items:center;text-align:right;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:13px;padding:9px 10px;cursor:pointer;min-height:74px;}
.sms-template-row-clean:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,var(--surface));}
.sms-template-row-clean.selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 26%,transparent);background:color-mix(in srgb,var(--accent) 10%,var(--surface));}
.sms-template-row-index{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:var(--surface-soft);border:1px solid color-mix(in srgb,var(--accent) 50%,var(--border));font-weight:900;color:var(--accent);}
.sms-template-row-title{display:flex;flex-direction:column;gap:3px;min-width:0;line-height:1.35;}
.sms-template-row-title b{font-size:.94rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sms-template-row-title code{font-size:.72rem;color:var(--accent);direction:ltr;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sms-template-row-title small{font-size:.76rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sms-template-row-status{display:flex;align-items:center;justify-content:center;gap:6px;font-size:.78rem;font-weight:900;white-space:nowrap;}
.sms-template-row-mode,.sms-template-row-pattern{display:flex;justify-content:center;min-width:0;}
.sms-template-row-mode .sms-mini-badge,.sms-template-row-pattern .sms-mini-badge{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sms-state-dot{display:inline-block;width:12px;height:12px;border-radius:50%;border:1px solid rgba(255,255,255,.25);box-shadow:0 0 0 3px rgba(0,0,0,.12);}
.sms-state-dot.on{background:#22c55e;box-shadow:0 0 12px rgba(34,197,94,.55);}
.sms-state-dot.off{background:#64748b;opacity:.75;}
.sms-template-clean-editor{display:flex;flex-direction:column;gap:12px;}
.sms-template-editor-head-clean{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--border));border-radius:15px;padding:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 8%,var(--surface)),var(--surface));}
.sms-template-editor-head-clean.active{border-color:rgba(34,197,94,.5);}
.sms-template-editor-head-clean.off{opacity:.88;}
.sms-template-title-clean span{display:block;color:var(--muted);font-size:.78rem;margin-bottom:3px;}
.sms-template-title-clean h3{margin:0 0 4px;font-size:1.08rem;}
.sms-template-title-clean code{font-size:.78rem;color:var(--accent);direction:ltr;display:block;text-align:right;}
.sms-active-switch-clean{display:inline-flex!important;align-items:center;gap:8px;border:1px solid var(--border);border-radius:999px;background:var(--surface-soft);padding:6px 9px!important;min-height:0!important;color:var(--text)!important;}
.sms-active-switch-clean input{position:absolute;opacity:0;pointer-events:none;}
.sms-active-switch-clean span{width:34px;height:18px;border-radius:999px;background:#64748b;position:relative;display:inline-block;transition:.15s;}
.sms-active-switch-clean span:before{content:"";position:absolute;top:2px;right:2px;width:14px;height:14px;border-radius:50%;background:white;transition:.15s;}
.sms-active-switch-clean input:checked+span{background:#22c55e;}
.sms-active-switch-clean input:checked+span:before{right:18px;}
.sms-active-switch-clean b{font-size:.82rem;white-space:nowrap;}
.sms-template-meta-clean{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.sms-field-box{display:flex!important;flex-direction:column;gap:7px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border));border-radius:14px;background:var(--surface);padding:10px!important;color:var(--muted);font-size:.8rem;min-height:78px;}
.sms-field-title{display:inline-flex;align-self:flex-start;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,var(--surface-soft));border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));color:var(--text);font-weight:900;font-size:.78rem;}
.sms-field-box input,.sms-field-box select{width:100%;}
.sms-template-status-clean{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
.sms-template-status-clean>span{border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));background:var(--surface);border-radius:13px;padding:9px;min-height:58px;display:flex;flex-direction:column;gap:6px;}
.sms-template-status-clean small{display:inline-flex;align-self:flex-start;color:var(--muted);font-size:.72rem;border-bottom:1px solid color-mix(in srgb,var(--accent) 30%,transparent);padding-bottom:2px;}
.sms-template-status-clean b{font-size:.83rem;line-height:1.45;}
.sms-template-editor-grid-clean{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:stretch;}
.sms-template-edit-box-clean{border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));background:var(--surface);border-radius:15px;padding:12px;display:flex;flex-direction:column;gap:8px;min-width:0;}
.sms-template-edit-box-clean.primary{border-inline-start:4px solid var(--accent);}
.sms-template-edit-box-clean.provider{border-inline-start:4px solid color-mix(in srgb,var(--accent2,var(--accent)) 72%,var(--accent));}
.sms-template-box-title{display:flex;justify-content:space-between;gap:8px;align-items:center;border-bottom:1px solid var(--border);padding-bottom:8px;}
.sms-template-box-title b{font-size:.94rem;}
.sms-box-hint{margin:0;color:var(--muted);font-size:.78rem;line-height:1.6;}
.sms-template-edit-box-clean textarea{min-height:150px;resize:vertical;line-height:1.85;text-align:right;}
.sms-template-edit-box-clean pre{margin:0;min-height:150px;max-height:280px;overflow:auto;white-space:pre-wrap;line-height:1.85;border:1px solid var(--border);border-radius:12px;padding:10px;background:var(--input-bg,var(--surface-soft));color:var(--text);font-family:inherit;font-size:.92rem;direction:rtl;text-align:right;}
.sms-template-actions-clean{display:flex;gap:10px;justify-content:flex-start;align-items:center;border-top:1px solid var(--border);padding-top:12px;}
@media (max-width:1280px){.sms-template-clean-layout{grid-template-columns:1fr;grid-template-areas:"list" "editor"}.sms-template-clean-list-scroll{max-height:420px}.sms-template-editor-grid-clean{grid-template-columns:1fr}.sms-template-meta-clean,.sms-template-status-clean{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.sms-template-list-table-head{display:none}.sms-template-row-clean{grid-template-columns:32px 1fr}.sms-template-row-status,.sms-template-row-mode,.sms-template-row-pattern{grid-column:2;justify-content:flex-start}.sms-template-meta-clean,.sms-template-status-clean{grid-template-columns:1fr}.sms-template-clean-head,.sms-template-editor-head-clean,.sms-template-actions-clean{flex-direction:column;align-items:stretch}.sms-template-actions-clean button{width:100%}}

/* WEB30.1.239 SMS Templates: real RTL boxed editor, every title owns its field */
.sms-template-clean-shell{direction:rtl;gap:16px!important;}
.sms-template-clean-layout{display:grid!important;direction:ltr!important;grid-template-columns:minmax(640px,.86fr) minmax(760px,1.14fr)!important;grid-template-areas:"editor list"!important;gap:18px!important;align-items:start!important;}
.sms-template-clean-list{grid-area:list!important;direction:rtl!important;min-width:0!important;}
.sms-template-clean-editor{grid-area:editor!important;direction:rtl!important;min-width:0!important;gap:14px!important;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--border))!important;background:color-mix(in srgb,var(--surface) 88%,#000)!important;}
.sms-template-clean-list{border:1px solid color-mix(in srgb,var(--accent) 38%,var(--border))!important;background:color-mix(in srgb,var(--surface) 88%,#000)!important;}
.sms-template-clean-list-head,.sms-template-clean-head{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 10%,var(--surface)),var(--surface-soft))!important;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border))!important;border-radius:14px!important;padding:12px!important;}
.sms-template-list-table-head{grid-template-columns:42px minmax(310px,1.95fr) 78px minmax(118px,.8fr) minmax(132px,.88fr)!important;border:1px solid color-mix(in srgb,var(--accent) 36%,var(--border))!important;background:color-mix(in srgb,var(--accent) 12%,var(--surface))!important;color:var(--text)!important;}
.sms-template-row-clean{grid-template-columns:42px minmax(310px,1.95fr) 78px minmax(118px,.8fr) minmax(132px,.88fr)!important;border:1px solid color-mix(in srgb,var(--line,var(--border)) 80%,var(--accent))!important;background:var(--surface)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;}
.sms-template-row-clean.selected{border-color:var(--accent)!important;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 13%,var(--surface)),var(--surface))!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 30%,transparent),inset 4px 0 0 var(--accent)!important;}
.sms-template-row-title b{font-size:1rem!important;}
.sms-template-row-title small{max-width:100%;}
.sms-editor-main-card{border:1px solid color-mix(in srgb,var(--accent) 38%,var(--border));border-radius:16px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 8%,var(--surface)),var(--surface));padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;}
.sms-editor-main-card.active{border-color:color-mix(in srgb,#22c55e 55%,var(--border));}
.sms-editor-main-title small{display:block;color:var(--muted);font-size:.78rem;margin-bottom:4px;}
.sms-editor-main-title h3{margin:0 0 4px;font-size:1.1rem;line-height:1.35;}
.sms-editor-main-title code{display:block;direction:ltr;text-align:right;color:var(--accent);font-weight:900;}
.sms-section-frame{border:1px solid color-mix(in srgb,var(--accent) 34%,var(--border));border-radius:17px;background:var(--surface-soft);padding:12px;box-shadow:inset 0 1px 0 rgba(255,255,255,.03);}
.sms-section-frame + .sms-section-frame{margin-top:0;}
.sms-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:13px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 10%,var(--surface)),var(--surface));padding:9px 11px;margin-bottom:12px;}
.sms-section-title b{font-size:.98rem;color:var(--text);}
.sms-section-title small{color:var(--muted);font-size:.76rem;line-height:1.5;}
.sms-control-grid{display:grid;gap:10px;}
.sms-control-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));}
.sms-control-grid.four{grid-template-columns:repeat(4,minmax(0,1fr));}
.sms-control-card,.sms-read-card{display:block!important;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border))!important;border-radius:14px!important;background:var(--surface)!important;padding:0!important;min-height:0!important;overflow:hidden!important;color:var(--text)!important;}
.sms-control-title{display:block!important;margin:0!important;padding:8px 11px!important;border-bottom:1px solid color-mix(in srgb,var(--accent) 24%,var(--border))!important;background:color-mix(in srgb,var(--accent) 8%,var(--surface-soft))!important;color:var(--text)!important;font-size:.78rem!important;font-weight:900!important;line-height:1.5!important;}
.sms-control-body,.sms-read-body{display:block;padding:10px 11px!important;min-height:45px;}
.sms-control-body input,.sms-control-body select{width:100%!important;margin:0!important;background:var(--input-bg,var(--surface-soft))!important;border:1px solid color-mix(in srgb,var(--border) 78%,var(--accent))!important;border-radius:10px!important;text-align:right!important;}
.sms-read-body{font-weight:800;line-height:1.7;word-break:break-word;}
.sms-template-edit-box-clean{border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border))!important;border-radius:15px!important;padding:0!important;overflow:hidden!important;background:var(--surface)!important;}
.sms-template-edit-box-clean.primary,.sms-template-edit-box-clean.provider{border-inline-start:1px solid color-mix(in srgb,var(--accent) 35%,var(--border))!important;}
.sms-template-box-title{margin:0!important;padding:9px 11px!important;border-bottom:1px solid color-mix(in srgb,var(--accent) 28%,var(--border))!important;background:color-mix(in srgb,var(--accent) 8%,var(--surface-soft))!important;}
.sms-box-hint{padding:0 11px!important;margin:9px 0 0!important;}
.sms-template-edit-box-clean .sms-textarea-counter-wrap{margin:10px 11px 12px!important;}
.sms-template-edit-box-clean pre{margin:10px 11px 12px!important;}
.sms-template-actions-clean{border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border))!important;border-radius:15px!important;background:var(--surface-soft)!important;padding:12px!important;justify-content:flex-start!important;}
.sms-active-switch-clean{border:1px solid color-mix(in srgb,#22c55e 40%,var(--border))!important;background:color-mix(in srgb,#22c55e 7%,var(--surface-soft))!important;}
@media (max-width:1500px){.sms-template-clean-layout{grid-template-columns:minmax(560px,.85fr) minmax(660px,1.15fr)!important}.sms-template-list-table-head,.sms-template-row-clean{grid-template-columns:38px minmax(260px,1.8fr) 70px minmax(106px,.75fr) minmax(116px,.82fr)!important}}
@media (max-width:1180px){.sms-template-clean-layout{grid-template-columns:1fr!important;grid-template-areas:"list" "editor"!important}.sms-control-grid.two,.sms-control-grid.four,.sms-template-editor-grid-clean{grid-template-columns:1fr!important}.sms-template-clean-list-scroll{max-height:420px!important}}

/* WEB30.1.242 SMS Templates: simple boxed layout, no horizontal overflow, dark-safe colors */
.sms-tpl-shell{
  --smsTplPanel:var(--panel,#101d27);
  --smsTplPanel2:var(--panel2,#14232f);
  --smsTplControl:var(--control,#09131b);
  --smsTplInput:var(--input,#09131b);
  --smsTplLine:var(--line,#2a3a47);
  --smsTplControlLine:var(--controlLine,#394b58);
  --smsTplText:var(--text,#edf5ff);
  --smsTplMuted:var(--muted,#9eafbd);
  --smsTplAccent:var(--accent,#2388ff);
  direction:rtl!important;
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  max-width:100%!important;
  overflow-x:hidden!important;
  color:var(--smsTplText)!important;
}
.sms-tpl-shell *{box-sizing:border-box;min-width:0}
.sms-tpl-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  border:1px solid var(--smsTplControlLine);
  border-radius:12px;
  padding:10px 12px;
  background:linear-gradient(180deg,var(--smsTplPanel2),var(--smsTplPanel));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 2px 0 rgba(0,0,0,.28);
}
.sms-tpl-top h3{margin:0 0 3px;font-size:1.02rem;line-height:1.35;color:var(--smsTplText)}
.sms-tpl-top p{margin:0;color:var(--smsTplMuted);font-size:.84rem;line-height:1.6}
.sms-tpl-stats{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-start}
.sms-tpl-stats span{border:1px solid var(--smsTplControlLine);background:var(--smsTplControl);border-radius:999px;padding:5px 9px;font-weight:800;font-size:.78rem;white-space:nowrap;color:var(--smsTplText)}
.sms-tpl-layout{
  display:grid!important;
  direction:ltr!important;
  grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr)!important;
  grid-template-areas:"editor list"!important;
  gap:10px!important;
  align-items:start!important;
  width:100%!important;
  max-width:100%!important;
  overflow-x:hidden!important;
}
.sms-tpl-list-panel,
.sms-tpl-editor{
  min-width:0!important;
  max-width:100%!important;
  border:1px solid var(--smsTplControlLine)!important;
  border-radius:12px!important;
  background:var(--smsTplPanel)!important;
  padding:10px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 2px 0 rgba(0,0,0,.24)!important;
}
.sms-tpl-list-panel{grid-area:list!important;direction:rtl!important}
.sms-tpl-editor{grid-area:editor!important;direction:rtl!important;display:flex!important;flex-direction:column!important;gap:10px!important}
.sms-tpl-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  border:1px solid var(--smsTplLine);
  border-radius:10px;
  background:var(--smsTplPanel2);
  padding:8px 10px;
  margin-bottom:8px;
}
.sms-tpl-panel-head b{font-size:.92rem;color:var(--smsTplText)}
.sms-tpl-panel-head small{font-size:.74rem;color:var(--smsTplMuted)}
.sms-tpl-list-head,
.sms-tpl-row{
  display:grid;
  grid-template-columns:32px minmax(0,1fr) 52px 86px 92px;
  gap:6px;
  align-items:center;
  width:100%;
}
.sms-tpl-list-head{
  border:1px solid var(--smsTplLine);
  border-radius:9px;
  background:var(--smsTplControl);
  padding:7px 8px;
  color:var(--smsTplMuted);
  font-size:.72rem;
  font-weight:900;
  margin-bottom:7px;
}
.sms-tpl-list-scroll{display:flex;flex-direction:column;gap:6px;max-height:calc(100vh - 260px);overflow-y:auto;overflow-x:hidden;padding:1px 1px 1px 4px}
.sms-tpl-row{
  text-align:right;
  border:1px solid var(--smsTplLine);
  background:var(--smsTplPanel2);
  color:var(--smsTplText);
  border-radius:10px;
  padding:7px 8px;
  min-height:62px;
  cursor:pointer;
}
.sms-tpl-row:hover{border-color:var(--smsTplAccent);background:linear-gradient(90deg,rgba(35,136,255,.10),var(--smsTplPanel2))}
.sms-tpl-row.selected{border-color:var(--smsTplAccent);background:linear-gradient(90deg,rgba(35,136,255,.18),var(--smsTplPanel2));box-shadow:inset 3px 0 0 var(--smsTplAccent)}
.sms-tpl-row-no{display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--smsTplControlLine);border-radius:8px;background:var(--smsTplControl);color:var(--smsTplAccent);font-weight:900}
.sms-tpl-row-main{display:flex;flex-direction:column;gap:2px;min-width:0;line-height:1.35}
.sms-tpl-row-main b{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--smsTplText)}
.sms-tpl-row-main code{direction:ltr;text-align:right;color:var(--smsTplAccent);font-size:.7rem;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sms-tpl-row-main small{font-size:.72rem;color:var(--smsTplMuted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sms-tpl-row-chip{display:inline-flex;align-items:center;justify-content:center;min-height:24px;border:1px solid var(--smsTplLine);border-radius:999px;background:var(--smsTplControl);padding:3px 6px;font-size:.7rem;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;color:var(--smsTplText)}
.sms-tpl-row-chip.ok{border-color:rgba(34,197,94,.55);color:#22c55e;background:rgba(34,197,94,.08)}
.sms-tpl-row-chip.muted{color:var(--smsTplMuted)}
.sms-tpl-row-chip.warn,.sms-tpl-row-chip.pending{border-color:rgba(245,158,11,.55);color:var(--warn,#f59e0b)}
.sms-tpl-row-chip.bad,.sms-tpl-row-chip.rejected{border-color:rgba(239,68,68,.60);color:var(--bad,#ef4444)}
.sms-tpl-fieldset{
  border:1px solid var(--smsTplControlLine)!important;
  border-radius:12px!important;
  background:var(--smsTplPanel2)!important;
  padding:16px 10px 10px!important;
  margin:0!important;
  min-inline-size:0!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
}
.sms-tpl-fieldset legend{
  padding:3px 9px!important;
  margin-inline-start:10px!important;
  border:1px solid var(--smsTplControlLine);
  border-radius:8px;
  background:var(--smsTplControl);
  color:var(--smsTplText);
  font-weight:900;
  font-size:.82rem;
  line-height:1.45;
}
.sms-tpl-selected-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch;background:var(--smsTplPanel2)!important}
.sms-tpl-selected-title{border:1px solid var(--smsTplLine);border-radius:10px;background:var(--smsTplPanel);padding:8px 10px}
.sms-tpl-selected-title small{display:block;color:var(--smsTplMuted);font-size:.72rem;margin-bottom:2px}
.sms-tpl-selected-title h3{margin:0 0 2px;font-size:.98rem;line-height:1.35;color:var(--smsTplText)}
.sms-tpl-selected-title code{display:block;direction:ltr;text-align:right;color:var(--smsTplAccent);font-weight:900;font-size:.78rem}
.sms-tpl-grid{display:grid;gap:8px}
.sms-tpl-grid.two,.sms-tpl-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}
.sms-tpl-field{display:flex!important;flex-direction:column!important;border:1px solid var(--smsTplLine)!important;border-radius:10px!important;background:var(--smsTplPanel)!important;overflow:hidden!important;min-height:66px!important;color:var(--smsTplText)!important}
.sms-tpl-field.compact{min-height:0!important;width:max-content;max-width:100%}
.sms-tpl-field-title{display:block!important;padding:6px 9px!important;border-bottom:1px solid var(--smsTplLine)!important;background:var(--smsTplControl)!important;color:var(--smsTplMuted)!important;font-size:.74rem!important;font-weight:900!important;line-height:1.45!important}
.sms-tpl-field-body{display:flex!important;align-items:center!important;min-height:40px!important;padding:8px 9px!important;color:var(--smsTplText)!important}
.sms-tpl-field-body input,.sms-tpl-field-body select{
  width:100%!important;
  height:36px!important;
  margin:0!important;
  border:1px solid var(--smsTplControlLine)!important;
  border-radius:8px!important;
  background:var(--smsTplInput)!important;
  color:var(--smsTplText)!important;
  text-align:right!important;
  font-weight:750!important;
}
.sms-tpl-field.readonly .sms-tpl-field-body{align-items:flex-start;line-height:1.6;font-weight:850;word-break:break-word}
.sms-tpl-pill{display:inline-flex;border:1px solid var(--smsTplLine);border-radius:999px;background:var(--smsTplControl);padding:4px 7px;font-size:.72rem;margin:2px;color:var(--smsTplText)}
.sms-tpl-pill.muted{color:var(--smsTplMuted)}
.sms-tpl-switch{display:inline-flex!important;align-items:center!important;gap:8px!important;border:1px solid rgba(34,197,94,.45)!important;border-radius:999px!important;background:rgba(34,197,94,.08)!important;padding:6px 9px!important;min-height:0!important;color:var(--smsTplText)!important;white-space:nowrap!important}
.sms-tpl-switch input{position:absolute;opacity:0;pointer-events:none}
.sms-tpl-switch span{width:34px;height:19px;border-radius:999px;background:#64748b;position:relative;display:inline-block;transition:.15s;flex:0 0 auto}
.sms-tpl-switch span:before{content:"";position:absolute;top:2px;right:2px;width:15px;height:15px;border-radius:50%;background:#f8fafc;transition:.15s}
.sms-tpl-switch input:checked+span{background:#22c55e}
.sms-tpl-switch input:checked+span:before{right:17px}
.sms-tpl-switch b{font-size:.8rem;white-space:nowrap;color:var(--smsTplText)}
.sms-tpl-text-grid{display:grid;grid-template-columns:1fr;gap:8px;align-items:stretch}
.sms-tpl-text-card{display:flex;flex-direction:column;border:1px solid var(--smsTplLine);border-radius:10px;background:var(--smsTplPanel);overflow:hidden;min-width:0}
.sms-tpl-text-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border-bottom:1px solid var(--smsTplLine);background:var(--smsTplControl)}
.sms-tpl-text-head b{font-size:.85rem;color:var(--smsTplText)}
.sms-tpl-text-card p{margin:0;padding:7px 9px 0;color:var(--smsTplMuted);font-size:.74rem;line-height:1.55}
.sms-tpl-text-card .sms-textarea-counter-wrap{margin:8px 9px 10px!important}
.sms-tpl-text-card textarea{min-height:130px!important;max-height:260px!important;line-height:1.75!important;text-align:right!important;resize:vertical;background:var(--smsTplInput)!important;color:var(--smsTplText)!important;border:1px solid var(--smsTplControlLine)!important;border-radius:8px!important}
.sms-tpl-text-card pre{margin:8px 9px 10px!important;min-height:110px;max-height:220px;overflow:auto;white-space:pre-wrap;line-height:1.75;border:1px solid var(--smsTplControlLine);border-radius:8px;padding:9px;background:var(--smsTplInput);color:var(--smsTplText);font-family:inherit;font-size:.86rem;direction:rtl;text-align:right}
.sms-tpl-actions{display:flex;gap:8px;justify-content:flex-start;align-items:center;border:1px solid var(--smsTplControlLine);border-radius:10px;background:var(--smsTplPanel2);padding:9px;margin:0;flex-wrap:wrap}
@media (max-width:1180px){
  .sms-tpl-layout{grid-template-columns:1fr!important;grid-template-areas:"list" "editor"!important}
  .sms-tpl-list-scroll{max-height:360px}
}
@media (max-width:760px){
  .sms-tpl-top{flex-direction:column}
  .sms-tpl-list-head{display:none}
  .sms-tpl-row{grid-template-columns:28px minmax(0,1fr);align-items:start}
  .sms-tpl-row-chip{grid-column:2;justify-content:flex-start;width:max-content;max-width:100%}
  .sms-tpl-grid.two,.sms-tpl-grid.four,.sms-tpl-selected-box{grid-template-columns:1fr!important}
  .sms-tpl-actions{flex-direction:column;align-items:stretch}
  .sms-tpl-actions button{width:100%}
}


/* WEB30.1.243 SMS Templates: Persian-readable font tuning only */
.sms-tpl-shell{
  --smsTplFontFa:"Vazirmatn","IRANSansX","IRANSans","Shabnam","Tahoma","Segoe UI",Arial,sans-serif;
  font-family:var(--smsTplFontFa)!important;
  font-weight:500!important;
  letter-spacing:0!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.sms-tpl-shell :where(button,input,select,textarea,pre,span,b,small,label,legend,h3,p){
  font-family:var(--smsTplFontFa)!important;
  letter-spacing:0!important;
}
.sms-tpl-shell :where(.sms-tpl-top h3,.sms-tpl-panel-head b,.sms-tpl-selected-title h3){
  font-weight:800!important;
}
.sms-tpl-shell :where(.sms-tpl-list-head,.sms-tpl-fieldset legend,.sms-tpl-field-title,.sms-tpl-row-chip,.sms-tpl-stats span,.sms-tpl-switch b){
  font-weight:700!important;
}
.sms-tpl-shell :where(.sms-tpl-row-main b,.sms-tpl-selected-title h3,.sms-tpl-field-body input,.sms-tpl-field-body select,.sms-tpl-field.readonly .sms-tpl-field-body){
  font-weight:650!important;
}
.sms-tpl-shell :where(.sms-tpl-top p,.sms-tpl-panel-head small,.sms-tpl-row-main small,.sms-tpl-field-title,.sms-tpl-text-card p){
  font-weight:500!important;
}
.sms-tpl-shell :where(code,.sms-tpl-row-main code,.sms-tpl-selected-title code){
  font-family:"Cascadia Mono",Consolas,"Courier New",monospace!important;
  font-weight:700!important;
  letter-spacing:.01em!important;
  direction:ltr!important;
  unicode-bidi:plaintext;
}

/* WEB30.1.244 SMS provider pattern API sync indicators */
.sms-title-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.sms-provider-remote-state{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0;padding:9px;border:1px solid var(--panel-border);border-radius:12px;background:rgba(15,23,42,.34)}
.sms-provider-remote-state small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted)}
.sms-provider-remote-state b{color:var(--text-main)}
.sms-tpl-stats button.ghost-btn.mini{min-height:0;padding:5px 9px;border-radius:999px;font-size:.78rem;font-weight:700}
.sms-tpl-field.wide{grid-column:1/-1}
@media (max-width:900px){.sms-provider-remote-state{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.sms-title-actions{justify-content:flex-start}.sms-provider-remote-state{grid-template-columns:1fr}}

/* WEB30.1.245 auth/password reset UI: compact security controls only */
.forgot-password-panel{
  margin-top:12px;
  border:1px solid var(--panel-border);
  border-radius:14px;
  background:rgba(15,23,42,.72);
  padding:12px;
  box-shadow:0 12px 28px rgba(0,0,0,.22) inset;
}
.forgot-password-panel.hidden{display:none!important}
.forgot-password-panel .toolbar.compact{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.forgot-password-panel .toolbar.compact h3{margin:0;font-size:1rem}
.forgot-password-panel .login-form.compact{gap:8px;margin:0 0 10px}
.forgot-password-panel .reset-apply-form{border-top:1px solid var(--panel-border);padding-top:10px}
.login-action-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.login-action-row .ghost-btn{white-space:nowrap}
.password-change-box,.password-reset-admin-box,.password-reset-permission-box{
  margin-top:12px;
  padding:12px;
  border:1px solid var(--panel-border);
  border-radius:14px;
  background:rgba(15,23,42,.38);
}
.password-change-box h4,.password-reset-admin-box h4,.password-reset-permission-box h4{margin:0 0 8px;font-size:1rem;color:var(--text-main)}
.password-reset-permission-box.hidden{display:none!important}
.password-reset-permission-box textarea{width:100%;resize:vertical;min-height:76px;margin:6px 0 8px}
.sticky-actions.compact{padding-top:8px;gap:8px;align-items:center}
.reset-link-box{
  width:100%;
  min-height:110px;
  margin-top:8px;
  resize:vertical;
  direction:ltr;
  font-family:"Cascadia Mono",Consolas,"Courier New",monospace;
  font-size:.78rem;
  line-height:1.45;
  color:var(--text-main);
  background:rgba(2,6,23,.72);
  border:1px solid var(--panel-border);
  border-radius:10px;
  padding:9px;
}
@media (max-width:720px){
  .login-action-row,.sticky-actions.compact{align-items:stretch;flex-direction:column}
  .login-action-row button,.sticky-actions.compact button{width:100%}
}


/* WEB30.1.246 - Header client cache status / manual clear */
.cache-header-wrap{position:relative;display:inline-flex;align-items:center;}
.cache-header-pill{gap:.35rem;min-width:74px;justify-content:center;}
.cache-header-pill.ok{border-color:rgba(39,230,147,.48);background:rgba(18,72,55,.72);color:#d8fff0;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 0 1px rgba(39,230,147,.12);}
.cache-header-pill.warn{border-color:rgba(255,188,77,.55);background:rgba(87,58,17,.75);color:#fff1cc;}
.cache-header-pill.muted{border-color:rgba(143,165,188,.28);background:rgba(13,26,38,.82);color:#cfe1f2;}
.cache-header-panel{position:absolute;top:calc(100% + 9px);right:0;z-index:60;width:min(360px,calc(100vw - 24px));padding:12px;border:1px solid rgba(98,160,220,.38);border-radius:14px;background:rgba(9,22,34,.98);box-shadow:0 18px 42px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.07);color:#eaf5ff;display:none;text-align:left;}
html[dir="rtl"] .cache-header-panel{right:auto;left:0;text-align:right;}
.cache-header-wrap.open .cache-header-panel{display:block;}
.cache-panel-title{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:10px;border-bottom:1px solid rgba(130,170,210,.18);padding-bottom:8px;}
.cache-panel-title b{font-size:.88rem;}
.cache-panel-title small{color:#9eb6ca;font-size:.72rem;max-width:190px;line-height:1.45;}
.cache-panel-rows{display:grid;gap:6px;margin-bottom:10px;}
.cache-panel-rows div{display:flex;justify-content:space-between;gap:12px;border:1px solid rgba(130,170,210,.12);border-radius:10px;background:rgba(255,255,255,.035);padding:6px 8px;}
.cache-panel-rows span{color:#a9bfd4;font-size:.72rem;}
.cache-panel-rows b{font-size:.72rem;color:#f2f8ff;word-break:break-word;text-align:end;}
.cache-panel-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;}
.cache-panel-actions .small{padding:6px 10px;font-size:.72rem;}
@media (max-width:760px){.cache-header-panel{right:-110px;width:min(320px,calc(100vw - 18px));}.cache-header-pill span{display:none;}.cache-header-pill{min-width:48px;}}

/* WEB30.1.249 auth OTP reset UI: email-only first stage */
.forgot-password-panel input[name="otp_code"]{
  letter-spacing:.28em;
  text-align:center;
  direction:ltr;
  font-family:"Cascadia Mono",Consolas,"Courier New",monospace;
  font-weight:800;
}
.legacy-reset-fields.hidden{display:none!important}
.legacy-reset-fields{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  border:1px dashed var(--panel-border);
  border-radius:12px;
  padding:8px;
  background:rgba(15,23,42,.36);
}
@media (max-width:720px){.legacy-reset-fields{grid-template-columns:1fr}}

/* WEB30.1.250 - Site e-mail / password reset settings */
.mail-status-grid .metric-card{min-height:92px}
.mail-settings-panel{border-inline-start:4px solid rgba(148,163,184,.45)}
.mail-settings-panel.ok{border-inline-start-color:rgba(34,197,94,.9)}
.mail-settings-panel.warn{border-inline-start-color:rgba(245,158,11,.95)}
.mail-settings-panel.bad{border-inline-start-color:rgba(239,68,68,.95)}
.mail-settings-form .wide,.mail-test-grid .wide{grid-column:1/-1}
.mail-settings-form textarea{min-height:150px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical;line-height:1.55}
.mail-settings-form .switch-line{display:flex;align-items:center;gap:10px;min-height:42px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:rgba(255,255,255,.025)}
.mail-settings-form .switch-line input{width:auto;min-width:auto}
.mail-test-panel{border:1px dashed rgba(125,211,252,.28)}
.mail-test-grid{align-items:end}
#mailTestResult{margin-top:8px;min-height:22px}

/* WEB30.1.253 SMTP diagnostic visibility */
.mail-diagnostic-box{margin-top:10px;border:1px dashed rgba(148,163,184,.45);border-radius:12px;padding:10px;background:rgba(15,23,42,.22);display:grid;gap:6px;max-width:760px}
.mail-diagnostic-box>b{display:block;margin-bottom:2px;color:var(--text,#e5edf7)}
.mail-diagnostic-box>div{display:grid;grid-template-columns:minmax(90px,150px) 1fr;gap:8px;align-items:start}
.mail-diagnostic-box span{color:var(--muted,#9fb3c8);font-size:.86rem}
.mail-diagnostic-box code{white-space:pre-wrap;word-break:break-word;background:rgba(2,6,23,.35);border-radius:8px;padding:3px 6px;color:var(--text,#e5edf7)}
.ok-text{color:#22c55e;font-weight:800}.bad-text{color:#fb7185;font-weight:800}

/* WEB30.17.842 domain/host e-mail workspace */
.email-hub-page{display:grid;gap:12px}
.email-hub-tabs{margin-bottom:10px}
.host-mail-preset-actions{align-items:center;gap:10px;flex-wrap:wrap}
.mail-diagnostic-attempts{margin-top:8px;border-top:1px solid rgba(148,163,184,.25);padding-top:8px;display:grid;gap:5px}
.mail-diagnostic-attempts>b{color:var(--text,#e5edf7);font-size:.9rem}
.mail-diagnostic-attempts>div{display:grid;grid-template-columns:minmax(160px,260px) 1fr;gap:8px;align-items:start}
.mail-diagnostic-attempts span{color:var(--muted,#9fb3c8);font-size:.84rem}
.mail-diagnostic-attempts code{white-space:pre-wrap;word-break:break-word;background:rgba(2,6,23,.35);border-radius:8px;padding:3px 6px;color:var(--text,#e5edf7)}

/* WEB30.1.256 global e-mail service foundation */
.mail-channel-card{border:1px solid rgba(148,163,184,.28);border-inline-start:4px solid rgba(148,163,184,.55)}
.mail-channel-card.ok{border-inline-start-color:rgba(34,197,94,.92)}
.mail-channel-card.warn{border-inline-start-color:rgba(245,158,11,.95)}
.mail-channel-card.bad{border-inline-start-color:rgba(239,68,68,.95)}
.mail-channel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:8px 0 4px}
.mail-channel-grid>div{border:1px solid var(--border);border-radius:var(--radius);background:rgba(255,255,255,.025);padding:10px;display:grid;gap:4px}
.mail-channel-grid b{font-size:.86rem;color:var(--muted,#9fb3c8)}
.mail-channel-grid span{font-weight:700;color:var(--text,#e5edf7)}
.mail-template-panel{border:1px solid rgba(125,211,252,.22)}
.mail-template-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 14px}
.mail-template-tabs .tab{border:1px solid var(--border);background:rgba(255,255,255,.035);color:var(--text);border-radius:999px;padding:8px 12px;cursor:pointer}
.mail-template-tabs .tab.active{border-color:rgba(125,211,252,.75);background:rgba(14,165,233,.16)}
.mail-variable-help{border:1px dashed rgba(148,163,184,.38);border-radius:12px;padding:10px;background:rgba(15,23,42,.18);display:grid;gap:6px}
.mail-variable-help code{display:inline-block;margin:2px 4px 2px 0;padding:3px 7px;border-radius:999px;background:rgba(2,6,23,.45);border:1px solid rgba(148,163,184,.3)}
.mail-template-preview{margin-top:12px;border:1px dashed rgba(125,211,252,.28);border-radius:12px;padding:12px;background:rgba(2,6,23,.22)}
.mail-template-preview pre{white-space:pre-wrap;word-break:break-word;margin:10px 0 0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--text,#e5edf7)}
.mail-template-roadmap{border:1px solid rgba(168,85,247,.25);background:rgba(88,28,135,.08)}
.mail-log-panel{border:1px solid rgba(148,163,184,.28)}
.mail-log-filters{justify-content:flex-start;gap:10px;margin:8px 0 12px;flex-wrap:wrap}
.mail-log-filters select{min-width:150px}
@media(max-width:860px){.mail-channel-grid{grid-template-columns:1fr}.mail-diagnostic-box>div,.mail-diagnostic-attempts>div{grid-template-columns:1fr}}

/* WEB30.1.257 - Auth reset channel selection and staged SMS/e-mail flow */
.reset-step-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0 10px}
.reset-step-strip span{height:24px;border-radius:999px;display:grid;place-items:center;border:1px solid var(--panel-border);background:rgba(15,23,42,.62);color:var(--muted);font-weight:800;font-size:.78rem}
.reset-step-strip span.active{background:linear-gradient(135deg,rgba(34,211,238,.22),rgba(59,130,246,.26));border-color:rgba(34,211,238,.55);color:#eaffff;box-shadow:0 0 0 1px rgba(34,211,238,.12),0 0 18px rgba(34,211,238,.14)}
.reset-channel-toggle{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:2px}
.reset-channel-toggle label{display:flex!important;align-items:center;gap:8px;border:1px solid var(--panel-border);border-radius:12px;background:rgba(2,6,23,.38);padding:9px 10px;color:var(--text-main);cursor:pointer}
.reset-channel-toggle label:has(input:checked){border-color:rgba(34,211,238,.62);background:rgba(8,47,73,.48);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.reset-step-panel.hidden,.forgot-password-panel label.hidden{display:none!important}
.reset-step-panel{animation:softIn .16s ease-out}
@keyframes softIn{from{opacity:.4;transform:translateY(3px)}to{opacity:1;transform:none}}
@media (max-width:520px){.reset-channel-toggle{grid-template-columns:1fr}}


/* WEB30.1.258 - reset flow must replace login form, not stack under it */
.login-card.reset-mode #loginForm{display:none!important}
.login-card.reset-mode .forgot-password-panel{margin-top:4px}
.password-reset-simple-rule{display:block;border:1px solid rgba(34,197,94,.25);background:rgba(22,101,52,.14);border-radius:10px;padding:7px 9px;color:#d8ffe8}
/* WEB30.1.260 - visible password reset feedback */
.reset-message{
  min-height:22px;
  border:1px solid rgba(148,163,184,.28);
  border-radius:10px;
  padding:7px 9px;
  margin:0 0 10px;
  background:rgba(15,23,42,.42);
  color:var(--muted);
}
.reset-message.hidden{display:none!important}
.reset-message[data-state="ok"]{border-color:rgba(34,197,94,.42);background:rgba(22,101,52,.16);color:#d8ffe8}
.reset-message[data-state="bad"]{border-color:rgba(248,113,113,.42);background:rgba(127,29,29,.16);color:#fecaca}
.reset-message[data-state="working"]{border-color:rgba(59,130,246,.45);background:rgba(30,64,175,.16);color:#dbeafe}
.reset-apply-form button[disabled]{opacity:.72;cursor:wait}

/* WEB30.1.265 - SMS log maintenance */
.sms-log-note{margin:8px 0 10px;padding:8px 10px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);background:color-mix(in srgb,var(--panel2) 82%,transparent);font-size:.82rem}
.sms-log-select,#smsLogSelectAll{width:16px;height:16px;accent-color:var(--accent)}
.sms-log-toolbar .danger-btn:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.4)}
.sms-log-toolbar label select#smsLogLimit{min-width:80px}

/* WEB30.1.272 - Password recovery policy settings */
.recovery-settings-grid{align-items:start}
.recovery-settings-grid .panel{border:1px solid rgba(34,211,238,.18)}
.recovery-settings-grid .form-grid label small{display:block;margin-top:4px;color:var(--muted);font-size:.75rem;font-weight:500}
.recovery-policy-note{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px dashed rgba(125,211,252,.32);background:rgba(8,47,73,.14);border-radius:12px;padding:10px}
.recovery-policy-note span{font-weight:800;color:var(--text,#e5edf7)}
.recovery-actions-card{grid-column:1/-1;border-color:rgba(34,197,94,.28)!important;background:rgba(22,101,52,.08)}
.recovery-status-grid .metric-card{min-height:96px}
@media(max-width:860px){.recovery-policy-note{align-items:flex-start;flex-direction:column}}
.password-quality-meter{border:1px solid rgba(148,163,184,.34);border-radius:10px;background:rgba(15,23,42,.38);padding:8px 10px;display:grid;gap:3px;font-size:.82rem}
.password-quality-meter.hidden{display:none!important}
.password-quality-meter b{color:var(--muted)}
.password-quality-meter span{font-weight:800;color:var(--text)}
.password-quality-meter small{color:var(--muted)}
.password-quality-meter[data-score="0"],.password-quality-meter[data-score="1"]{border-color:rgba(248,113,113,.45);background:rgba(127,29,29,.16)}
.password-quality-meter[data-score="2"],.password-quality-meter[data-score="3"]{border-color:rgba(245,158,11,.45);background:rgba(120,53,15,.16)}
.password-quality-meter[data-score="4"]{border-color:rgba(34,197,94,.45);background:rgba(22,101,52,.16)}

/* WEB30.1.280 Messages Center base */
.messages-header-pill{position:relative;border:1px solid var(--line);background:color-mix(in srgb,var(--panel2) 88%,transparent);color:var(--text);font:inherit;cursor:pointer}
.messages-header-pill.warn{border-color:rgba(245,158,11,.72);box-shadow:0 0 0 1px rgba(245,158,11,.18),0 0 16px rgba(245,158,11,.12);animation:smsBlinkWarn 1.5s ease-in-out infinite}
.messages-header-pill.muted{opacity:.82}
.messages-header-pill #messagesHeaderStatus{min-width:18px;text-align:center;color:inherit}
.messages-shell{display:grid;gap:12px}.messages-toolbar{align-items:flex-start}.messages-tabs{margin:0}.messages-filter-compact{display:flex;gap:10px;align-items:end;flex-wrap:wrap;padding:10px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--panel2) 62%,transparent)}.messages-filter-compact label,.messages-filter-row label{display:grid;gap:4px;color:var(--muted);font-size:.78rem;min-width:150px}.messages-filter-compact .messages-search-label{flex:1 1 260px}.messages-filter-compact input,.messages-filter-compact select,.messages-filter-row input,.messages-filter-row select{min-height:34px;border-radius:10px}.messages-filter-row{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.messages-filter-advanced{margin-top:-4px;padding:10px;border:1px dashed var(--line);border-radius:14px;background:color-mix(in srgb,var(--panel) 62%,transparent)}.messages-filter-actions{display:flex;gap:8px;align-items:center;margin-bottom:1px}.messages-layout{display:grid;grid-template-columns:minmax(320px,42%) minmax(0,1fr);gap:12px;align-items:start}.messages-list{border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--panel2) 76%,transparent);overflow:hidden}.messages-list-head{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel) 84%,transparent)}.message-row{width:100%;display:grid;grid-template-columns:48px minmax(0,1.4fr) minmax(110px,.8fr) 92px;gap:10px;align-items:center;padding:10px 12px;border:0;border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent);background:transparent;color:var(--text);text-align:left;cursor:pointer}.message-row:hover,.message-row.active{background:color-mix(in srgb,var(--accent) 10%,transparent)}.message-row.unread{background:color-mix(in srgb,var(--accent) 7%,transparent)}.message-row.unread .message-main>b{color:var(--accent);font-weight:950}.message-main,.message-party{display:grid;gap:2px;min-width:0}.message-main>b,.message-party>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-main small,.message-party small,.message-time{color:var(--muted);font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-channel{display:inline-flex;align-items:center;justify-content:center;width:38px;height:28px;border-radius:999px;border:1px solid var(--line);font-size:.68rem;font-weight:950;letter-spacing:.03em;background:rgba(148,163,184,.08);color:var(--muted)}.message-channel.sms{color:#bbf7d0;border-color:rgba(34,197,94,.42);background:rgba(34,197,94,.09)}.message-channel.email{color:#bfdbfe;border-color:rgba(59,130,246,.42);background:rgba(59,130,246,.09)}.message-channel.system{color:#fde68a;border-color:rgba(245,158,11,.45);background:rgba(245,158,11,.1)}.message-channel.big{width:48px;height:34px;margin-right:8px}.message-detail{min-height:360px}.message-detail-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:12px}.message-detail-head>div{min-width:0}.message-detail-head h3{display:inline-block;margin:0 0 3px;vertical-align:middle}.message-meta-grid{display:grid;grid-template-columns:92px minmax(0,1fr);gap:6px 10px;margin:10px 0;padding:10px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--panel2) 70%,transparent)}.message-meta-grid span{color:var(--muted);font-size:.75rem}.message-meta-grid b{min-width:0;overflow-wrap:anywhere}.message-body{min-height:120px;white-space:normal;overflow-wrap:anywhere;line-height:1.65;padding:14px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--panel) 82%,transparent);margin:12px 0}.messages-empty{padding:24px;text-align:center;color:var(--muted)}.ghost-btn.full{width:calc(100% - 20px);margin:10px}.lang-fa .message-row{text-align:right;direction:rtl}.lang-fa .message-detail{text-align:right;direction:rtl}.lang-fa .message-channel.big{margin-right:0;margin-left:8px}.lang-fa .message-meta-grid{grid-template-columns:90px minmax(0,1fr)}@media(max-width:980px){.messages-layout{grid-template-columns:1fr}.message-row{grid-template-columns:42px minmax(0,1fr) 82px}.message-party{display:none}}

/* WEB30.1.281 Messages header fit + folder tabs polish */
.messages-header-pill{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:54px;height:24px;max-width:68px;padding:2px 7px;line-height:1;direction:ltr;overflow:visible;flex:0 0 auto}
.messages-header-pill>span{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:10px;font-weight:950;letter-spacing:.02em;line-height:1}
.messages-header-pill #messagesHeaderStatus{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:16px;max-width:28px;height:16px;padding:0 4px;border-radius:999px;background:color-mix(in srgb,var(--accent) 18%,transparent);font-size:10px;font-weight:950;line-height:1;overflow:hidden;text-overflow:ellipsis}
.messages-folder-tabs{display:flex;gap:7px;align-items:center;flex-wrap:wrap;padding:6px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--panel2) 72%,transparent)}
.messages-folder-tabs .tab{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:6px 10px;border-radius:11px}
.messages-folder-tabs .tab b{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:color-mix(in srgb,var(--panel) 78%,transparent);font-size:10px;color:var(--muted)}
.messages-folder-tabs .tab.active b{background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--text)}
@media(max-width:1180px){.messages-header-pill{min-width:46px;max-width:54px;padding-inline:5px}.messages-header-pill>span{font-size:9px}.messages-header-pill #messagesHeaderStatus{min-width:14px;height:14px;font-size:9px;padding:0 3px}}

/* WEB30.1.282_MESSAGES_SEND_REPLY_BASE */
.message-compose-panel{min-height:360px}
.message-compose-form{display:grid;gap:12px}
.messages-compose-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:10px;align-items:end}
.messages-compose-grid label,.message-compose-form label{display:grid;gap:5px;color:var(--muted);font-size:.78rem}
.messages-compose-grid input,.messages-compose-grid select,.message-compose-form textarea{width:100%;border-radius:12px;border:1px solid var(--line);background:var(--field);color:var(--text);padding:9px 10px}
.message-compose-form textarea{resize:vertical;min-height:140px;line-height:1.55}
.message-compose-target{display:grid;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--panel2) 72%,transparent)}
.message-compose-target span,.message-compose-target small{color:var(--muted);font-size:.76rem}
.message-compose-target b{overflow-wrap:anywhere}
#messageComposeCounter{justify-self:end;color:var(--muted)}
.lang-fa .message-compose-panel{text-align:right;direction:rtl}
@media(max-width:980px){.messages-compose-grid{grid-template-columns:1fr}}


/* WEB30.1.287_MESSAGES_HEADER_QUICK_PANEL */
.messages-header-wrap{position:relative;display:inline-flex;align-items:center;flex:0 0 auto}
.messages-header-panel{position:absolute;top:calc(100% + 9px);right:0;width:min(360px,calc(100vw - 24px));max-height:420px;overflow:auto;z-index:1500;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--panel) 96%,#000 4%);box-shadow:0 18px 48px rgba(0,0,0,.38);padding:10px;display:none;text-align:left;direction:ltr}
.messages-header-panel.open{display:grid;gap:9px}
.messages-header-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 4px 8px;border-bottom:1px solid var(--line)}
.messages-header-panel-head b{font-size:.9rem}.messages-header-panel-head span{color:var(--muted);font-size:.76rem;font-weight:800}
.messages-header-list{display:grid;gap:6px}.messages-header-item{display:grid;grid-template-columns:42px minmax(0,1fr) 56px;grid-template-areas:'ico name time' 'ico prev time';gap:2px 8px;width:100%;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:12px;background:color-mix(in srgb,var(--panel2) 72%,transparent);color:var(--text);padding:8px;text-align:left;cursor:pointer}.messages-header-item:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 9%,transparent)}.messages-header-item.unread{box-shadow:inset 3px 0 0 color-mix(in srgb,var(--accent) 85%,transparent)}.messages-header-item .message-channel{grid-area:ico}.messages-header-item b{grid-area:name;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.messages-header-item small{grid-area:prev;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.74rem}.messages-header-item em{grid-area:time;color:var(--muted);font-style:normal;font-size:.7rem;text-align:right;align-self:center}.messages-header-empty{padding:16px;text-align:center;color:var(--muted);font-size:.82rem}.messages-header-panel-actions{display:flex;gap:8px;justify-content:flex-end;border-top:1px solid var(--line);padding-top:8px}.lang-fa .messages-header-panel{right:auto;left:0;text-align:right;direction:rtl}.lang-fa .messages-header-item{text-align:right;direction:rtl}.lang-fa .messages-header-item em{text-align:left}
@media(max-width:720px){.messages-header-panel{position:fixed;top:58px;right:10px;left:10px;width:auto}.lang-fa .messages-header-panel{left:10px;right:10px}}
/* WEB30.1.291_MESSAGES_ALL_OUTBOX_MULTI_RECIPIENTS */
.message-recipient-box{display:grid;gap:8px;margin:10px 0 12px;padding:10px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--panel2) 66%,transparent)}
.message-recipient-box>b{font-size:.92rem}.message-recipient-box>small{color:var(--muted);font-size:.75rem}
.messages-compose-grid.two{grid-template-columns:minmax(220px,1.2fr) minmax(180px,.8fr)}
.messages-compose-grid select[multiple]{min-height:118px;line-height:1.35;padding:7px 8px}
.messages-compose-grid textarea[name="recipient_phones"]{min-height:118px;resize:vertical}
@media(max-width:980px){.messages-compose-grid.two{grid-template-columns:1fr}}

/* WEB30.1.293 - Messages mail-client layout polish */
.messages-mail-client{padding:12px;gap:10px}
.messages-mail-toolbar{padding:2px 2px 10px;border-bottom:1px solid color-mix(in srgb,var(--line) 78%,transparent)}
.messages-mail-workspace{display:grid;grid-template-columns:238px minmax(0,1fr);gap:12px;align-items:start;min-height:620px}
.messages-mail-sidebar{position:sticky;top:10px;display:grid;gap:10px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,color-mix(in srgb,var(--panel2) 86%,transparent),color-mix(in srgb,var(--panel) 74%,transparent));padding:12px;min-height:580px;align-self:start}
.messages-mail-brand{display:flex;align-items:center;gap:9px;padding:4px 2px 8px;border-bottom:1px solid color-mix(in srgb,var(--line) 74%,transparent)}
.messages-mail-brand>span{width:34px;height:34px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 42%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--accent) 12%,transparent);font-size:18px}
.messages-mail-brand b,.messages-mailbox-text b{display:block;color:var(--text);font-weight:900;line-height:1.15}
.messages-mail-brand small,.messages-mailbox-text small{display:block;color:var(--muted);font-size:.72rem;line-height:1.25;margin-top:2px}
.messages-compose-main{justify-content:center;margin-top:2px}
.messages-mailbox-nav{display:grid;gap:6px;margin-top:2px}
.messages-mailbox-item{position:relative;width:100%;display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:13px;background:color-mix(in srgb,var(--panel) 48%,transparent);color:var(--text);padding:8px 9px;text-align:left;cursor:pointer;transition:.15s ease}
.messages-mailbox-item:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 8%,transparent);transform:translateX(1px)}
.messages-mailbox-item.active{border-color:color-mix(in srgb,var(--accent) 68%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 18%,transparent),color-mix(in srgb,var(--panel2) 76%,transparent));box-shadow:inset 3px 0 0 color-mix(in srgb,var(--accent) 90%,transparent)}
.messages-mailbox-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--panel2) 82%,transparent);border:1px solid color-mix(in srgb,var(--line) 70%,transparent);font-size:.92rem;font-weight:900}
.messages-mailbox-item em{font-style:normal;min-width:24px;height:20px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:color-mix(in srgb,var(--panel2) 82%,transparent);color:var(--muted);font-size:.72rem;font-weight:900}
.messages-mailbox-item strong{position:absolute;right:8px;top:5px;min-width:17px;height:17px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:color-mix(in srgb,var(--warn,#f59e0b) 82%,#000 10%);color:#111827;font-size:.68rem;font-weight:1000;box-shadow:0 0 0 2px color-mix(in srgb,var(--panel2) 80%,transparent)}
.messages-mail-note{margin-top:auto;border:1px dashed color-mix(in srgb,var(--line) 86%,transparent);border-radius:14px;background:color-mix(in srgb,var(--panel) 58%,transparent);padding:9px;display:grid;gap:3px;color:var(--muted);font-size:.74rem;line-height:1.35}
.messages-mail-note b{color:var(--text);font-size:.78rem}
.messages-mail-main{min-width:0;display:grid;gap:10px}
.messages-mail-main .messages-filter-compact{border-radius:16px;padding:8px 10px;background:color-mix(in srgb,var(--panel2) 54%,transparent)}
.messages-mail-main .messages-layout{grid-template-columns:minmax(310px,39%) minmax(0,1fr);gap:10px;min-height:520px}
.messages-mail-main .messages-list,.messages-mail-main .message-detail{min-height:520px;border-radius:18px}
.messages-mail-main .messages-list{box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.messages-mail-main .message-row{grid-template-columns:42px minmax(0,1.35fr) minmax(108px,.75fr) 82px;padding:9px 10px}
.messages-mail-main .message-detail{border:1px solid var(--line);background:color-mix(in srgb,var(--panel2) 62%,transparent)}
.lang-fa .messages-mailbox-item{text-align:right;direction:rtl;grid-template-columns:auto minmax(0,1fr) 32px}.lang-fa .messages-mailbox-icon{grid-column:3}.lang-fa .messages-mailbox-item em{grid-column:1;grid-row:1}.lang-fa .messages-mailbox-item strong{left:8px;right:auto}.lang-fa .messages-mailbox-item:hover{transform:translateX(-1px)}
@media(max-width:1180px){.messages-mail-workspace{grid-template-columns:210px minmax(0,1fr)}.messages-mail-main .messages-layout{grid-template-columns:minmax(280px,42%) minmax(0,1fr)}}
@media(max-width:980px){.messages-mail-workspace{grid-template-columns:1fr}.messages-mail-sidebar{position:relative;top:0;min-height:auto}.messages-mailbox-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.messages-mail-main .messages-layout{grid-template-columns:1fr}.messages-mail-main .messages-list,.messages-mail-main .message-detail{min-height:unset}}
@media(max-width:620px){.messages-mailbox-nav{grid-template-columns:1fr}.messages-mail-main .message-row{grid-template-columns:38px minmax(0,1fr);grid-template-areas:'ico main' 'ico party' 'ico time'}.message-row .message-channel{grid-area:ico}.message-row .message-main{grid-area:main}.message-row .message-party{grid-area:party}.message-row .message-time{grid-area:time}}

/* WEB30.1.295 - Dynamic user dashboard foundation */
.userdash-shell{display:grid;gap:14px;min-width:0}
.userdash-hero{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(360px,.95fr);gap:16px;align-items:center;padding:18px;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:24px;background:radial-gradient(circle at 12% 18%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 38%),linear-gradient(135deg,color-mix(in srgb,var(--panel2) 88%,transparent),color-mix(in srgb,var(--panel) 68%,transparent));box-shadow:0 18px 42px rgba(0,0,0,.13)}
.userdash-avatar-wrap{width:76px;height:76px;border-radius:24px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 48%,var(--line));background:color-mix(in srgb,var(--accent) 14%,transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.userdash-avatar{width:62px;height:62px;border-radius:19px;display:grid;place-items:center;object-fit:cover;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 70%,#fff 8%),color-mix(in srgb,var(--accent) 26%,#000 18%));color:#fff;font-weight:950;font-size:1.08rem;letter-spacing:.04em}
.userdash-hero-main span,.userdash-section-head span,.userdash-status-card span{display:block;color:color-mix(in srgb,var(--accent) 72%,var(--muted));font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.userdash-hero-main h3{margin:4px 0 5px;font-size:clamp(1.55rem,3vw,2.45rem);line-height:1.02;letter-spacing:-.045em;color:var(--text)}
.userdash-hero-main p{margin:0;color:var(--muted);font-size:.92rem;font-weight:650}
.userdash-hero-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.userdash-hero-stats article,.userdash-status-card{border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:17px;background:color-mix(in srgb,var(--panel2) 64%,transparent);padding:10px 12px;min-width:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.userdash-hero-stats b,.userdash-status-card b{display:block;color:var(--text);font-size:1rem;font-weight:950;line-height:1.16;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.userdash-hero-stats span,.userdash-status-card small{display:block;margin-top:4px;color:var(--muted);font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.userdash-hero-stats article.ok,.userdash-status-card.ok{border-color:color-mix(in srgb,var(--good) 38%,var(--line));background:color-mix(in srgb,var(--good) 9%,var(--panel2))}.userdash-hero-stats article.warn,.userdash-status-card.warn{border-color:color-mix(in srgb,var(--warn,#f59e0b) 42%,var(--line));background:color-mix(in srgb,var(--warn,#f59e0b) 10%,var(--panel2))}.userdash-hero-stats article.bad,.userdash-status-card.bad{border-color:color-mix(in srgb,var(--bad) 42%,var(--line));background:color-mix(in srgb,var(--bad) 10%,var(--panel2))}
.userdash-status-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.userdash-status-card{padding:12px 13px;border-radius:18px}.userdash-status-card b{font-size:1.05rem;margin-top:4px}
.userdash-main-grid{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(320px,.75fr) minmax(320px,.75fr);gap:14px;align-items:start}.userdash-actions,.userdash-feed{border-radius:22px;min-width:0}.userdash-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.userdash-section-head h4{margin:4px 0 0;color:var(--text);font-size:1rem;line-height:1.18}.userdash-section-head small{color:var(--muted);font-size:.75rem;white-space:nowrap}
.userdash-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.userdash-action{display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-areas:'ico title' 'ico text';gap:3px 10px;align-items:center;text-align:left;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:16px;background:linear-gradient(180deg,color-mix(in srgb,var(--panel2) 72%,transparent),color-mix(in srgb,var(--panel) 60%,transparent));color:var(--text);padding:11px;cursor:pointer;transition:.16s ease;min-height:74px}.userdash-action:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 55%,var(--line));box-shadow:0 12px 28px rgba(0,0,0,.12)}.userdash-action i{grid-area:ico;width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 13%,transparent);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));font-style:normal;font-weight:950}.userdash-action b{grid-area:title;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.userdash-action small{grid-area:text;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.userdash-action.ok i{background:color-mix(in srgb,var(--good) 13%,transparent);border-color:color-mix(in srgb,var(--good) 36%,var(--line))}.userdash-action.warn i{background:color-mix(in srgb,var(--warn,#f59e0b) 16%,transparent);border-color:color-mix(in srgb,var(--warn,#f59e0b) 44%,var(--line))}.userdash-action.bad i{background:color-mix(in srgb,var(--bad) 14%,transparent);border-color:color-mix(in srgb,var(--bad) 44%,var(--line))}
.userdash-feed-list{display:grid;gap:8px;max-height:330px;overflow:auto;padding-inline-end:2px}.userdash-feed-item{display:grid;grid-template-columns:104px minmax(0,1fr);grid-template-areas:'time title' 'time meta';gap:2px 10px;width:100%;text-align:left;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:14px;background:color-mix(in srgb,var(--panel) 58%,transparent);color:var(--text);padding:9px 10px;cursor:pointer}.userdash-feed-item:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 8%,transparent)}.userdash-feed-item span{grid-area:time;color:var(--muted);font-size:.72rem;align-self:center}.userdash-feed-item b{grid-area:title;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.86rem}.userdash-feed-item small{grid-area:meta;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.73rem}.userdash-feed-item.unread{box-shadow:inset 3px 0 0 color-mix(in srgb,var(--accent) 86%,transparent)}.userdash-feed-item.bad{box-shadow:inset 3px 0 0 color-mix(in srgb,var(--bad) 82%,transparent)}.userdash-feed-item.warning,.userdash-feed-item.warn{box-shadow:inset 3px 0 0 color-mix(in srgb,var(--warn,#f59e0b) 82%,transparent)}
.userdash-empty{border:1px dashed color-mix(in srgb,var(--line) 86%,transparent);border-radius:16px;background:color-mix(in srgb,var(--panel) 38%,transparent);color:var(--muted);padding:16px;text-align:center;font-size:.84rem}.userdash-device-workspace{display:grid;gap:10px;margin-top:2px}.userdash-device-workspace>.dash112-panel{margin-top:0}.userdash-limited{border-radius:20px}
.lang-fa .userdash-action,.lang-fa .userdash-feed-item{text-align:right;direction:rtl}.lang-fa .userdash-action{grid-template-columns:minmax(0,1fr) 38px;grid-template-areas:'title ico' 'text ico'}.lang-fa .userdash-feed-item{grid-template-columns:minmax(0,1fr) 104px;grid-template-areas:'title time' 'meta time'}.lang-fa .userdash-feed-item.unread{box-shadow:inset -3px 0 0 color-mix(in srgb,var(--accent) 86%,transparent)}.lang-fa .userdash-feed-item.bad{box-shadow:inset -3px 0 0 color-mix(in srgb,var(--bad) 82%,transparent)}.lang-fa .userdash-feed-item.warning,.lang-fa .userdash-feed-item.warn{box-shadow:inset -3px 0 0 color-mix(in srgb,var(--warn,#f59e0b) 82%,transparent)}
@media(max-width:1280px){.userdash-hero{grid-template-columns:auto minmax(0,1fr)}.userdash-hero-stats{grid-column:1 / -1;grid-template-columns:repeat(4,minmax(0,1fr))}.userdash-status-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.userdash-main-grid{grid-template-columns:1fr 1fr}.userdash-main-grid .userdash-actions{grid-column:1 / -1}.userdash-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.userdash-hero{grid-template-columns:1fr;text-align:center}.userdash-avatar-wrap{margin:auto}.userdash-hero-stats,.userdash-status-grid,.userdash-main-grid,.userdash-action-grid{grid-template-columns:1fr}.userdash-main-grid .userdash-actions{grid-column:auto}.userdash-section-head{flex-direction:column}.userdash-feed-item,.lang-fa .userdash-feed-item{grid-template-columns:1fr;grid-template-areas:'title' 'meta' 'time'}}

/* WEB30.1.296 dynamic colorful user dashboard */
.dash296-shell{display:grid;gap:15px;min-width:0}.dash296-svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.dash296-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(230px,.34fr);gap:18px;align-items:center;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:28px;padding:20px;background:radial-gradient(circle at 12% 8%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 38%),radial-gradient(circle at 88% 20%,rgba(34,211,238,.15),transparent 34%),linear-gradient(135deg,color-mix(in srgb,var(--panel2) 88%,#0f172a 12%),color-mix(in srgb,var(--panel) 78%,#111827 22%));box-shadow:0 22px 60px rgba(0,0,0,.18)}.dash296-hero-bg{position:absolute;inset:0;pointer-events:none;opacity:.72}.dash296-hero-bg span{position:absolute;border-radius:999px;filter:blur(2px);opacity:.55}.dash296-hero-bg span:nth-child(1){width:260px;height:260px;left:-90px;top:-120px;background:color-mix(in srgb,var(--accent) 24%,transparent)}.dash296-hero-bg span:nth-child(2){width:180px;height:180px;right:20%;bottom:-110px;background:rgba(168,85,247,.18)}.dash296-hero-bg span:nth-child(3){width:120px;height:120px;right:-30px;top:35px;background:rgba(34,197,94,.15)}.dash296-profile-orb{position:relative;z-index:1;width:86px;height:86px;border-radius:30px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 55%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 26%,transparent),rgba(255,255,255,.03));box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 16px 40px color-mix(in srgb,var(--accent) 13%,transparent)}.dash296-avatar{width:68px;height:68px;border-radius:24px;display:grid;place-items:center;object-fit:cover;background:linear-gradient(135deg,var(--accent),#8b5cf6);color:#fff;font-size:1.1rem;font-weight:950}.dash296-hero-copy{position:relative;z-index:1;min-width:0}.dash296-kicker{display:block;color:color-mix(in srgb,var(--accent) 80%,var(--muted));font-weight:950;font-size:.78rem;letter-spacing:.05em}.dash296-hero-copy h3{margin:5px 0 6px;font-size:clamp(1.65rem,3.4vw,2.7rem);line-height:1.02;color:var(--text);letter-spacing:-.045em}.dash296-hero-copy p{margin:0;color:var(--muted);max-width:780px;font-weight:650}.dash296-hero-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.dash296-hero-tags b{border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--accent) 9%,transparent);padding:6px 10px;font-size:.78rem;color:var(--text)}.dash296-live-clock{position:relative;z-index:1;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:22px;background:rgba(255,255,255,.045);padding:14px;display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px;align-items:center;backdrop-filter:blur(10px)}.dash296-live-clock i{grid-row:1 / span 2;width:42px;height:42px;border-radius:16px;display:grid;place-items:center;color:#38bdf8;background:rgba(56,189,248,.13);font-style:normal}.dash296-live-clock b{font-size:1.15rem}.dash296-live-clock span{grid-column:2;color:var(--muted);font-size:.76rem}.dash296-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.dash296-kpi{position:relative;overflow:hidden;display:grid;grid-template-columns:48px minmax(0,1fr);gap:11px;align-items:center;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:22px;padding:13px;background:linear-gradient(180deg,rgba(255,255,255,.048),rgba(255,255,255,.018));box-shadow:0 14px 34px rgba(0,0,0,.10);min-width:0}.dash296-kpi:before{content:"";position:absolute;inset:auto 0 0 0;height:4px;background:var(--dash-tone,#38bdf8);opacity:.9}.dash296-kpi:after{content:"";position:absolute;inset:-45% auto auto -22%;width:110px;height:110px;border-radius:999px;background:var(--dash-tone,#38bdf8);opacity:.12}.dash296-kpi-icon{position:relative;z-index:1;width:48px;height:48px;border-radius:18px;display:grid;place-items:center;color:var(--dash-tone,#38bdf8);background:color-mix(in srgb,var(--dash-tone,#38bdf8) 14%,transparent);border:1px solid color-mix(in srgb,var(--dash-tone,#38bdf8) 34%,var(--line))}.dash296-kpi span{display:block;color:var(--muted);font-weight:850;font-size:.72rem}.dash296-kpi b{display:block;margin-top:4px;color:var(--text);font-size:1.12rem;font-weight:950;line-height:1.08;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash296-kpi small{display:block;margin-top:3px;color:var(--muted);font-size:.73rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash296-kpi.green,.dash296-card .green{--dash-tone:#22c55e}.dash296-kpi.blue,.dash296-card .blue{--dash-tone:#38bdf8}.dash296-kpi.purple,.dash296-card .purple{--dash-tone:#a78bfa}.dash296-kpi.orange,.dash296-card .orange{--dash-tone:#f59e0b}.dash296-kpi.red,.dash296-card .red{--dash-tone:#fb7185}.dash296-kpi.teal,.dash296-card .teal{--dash-tone:#2dd4bf}.dash296-focus-grid{display:grid;grid-template-columns:minmax(310px,.55fr) minmax(520px,1.45fr);gap:14px;align-items:stretch}.dash296-lower-grid{display:grid;grid-template-columns:minmax(360px,1fr) minmax(320px,.82fr) minmax(260px,.55fr);gap:14px;align-items:start}.dash296-card{border:1px solid color-mix(in srgb,var(--line) 84%,transparent);border-radius:24px;background:radial-gradient(circle at 12% 0,color-mix(in srgb,var(--accent) 10%,transparent),transparent 35%),linear-gradient(180deg,rgba(255,255,255,.047),rgba(255,255,255,.016));box-shadow:0 16px 42px rgba(0,0,0,.12);padding:14px;min-width:0}.dash296-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.dash296-card-head span{display:block;color:color-mix(in srgb,var(--accent) 76%,var(--muted));font-weight:950;font-size:.73rem;letter-spacing:.05em;text-transform:uppercase}.dash296-card-head h4{margin:4px 0 0;color:var(--text);font-size:1.03rem;line-height:1.16}.dash296-card-head small{color:var(--muted);white-space:nowrap}.dash296-live-station{display:grid;gap:13px;background:radial-gradient(circle at 50% 18%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 54%),linear-gradient(180deg,rgba(255,255,255,.05),rgba(0,0,0,.05))}.dash296-station-visual{display:grid;grid-template-columns:minmax(0,1fr) 118px;gap:12px;align-items:center}.dash296-radar-mini{position:relative;min-height:210px;border-radius:22px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));background:linear-gradient(color-mix(in srgb,var(--accent) 8%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--accent) 8%,transparent) 1px,transparent 1px);background-size:22px 22px;display:grid;place-items:center;overflow:hidden}.dash296-radar-mini .r{position:absolute;border:1px solid color-mix(in srgb,var(--accent) 38%,transparent);border-radius:50%;box-shadow:0 0 26px color-mix(in srgb,var(--accent) 10%,transparent)}.dash296-radar-mini .r1{width:70px;height:70px}.dash296-radar-mini .r2{width:126px;height:126px}.dash296-radar-mini .r3{width:182px;height:182px}.dash296-radar-mini .beam{position:absolute;width:50%;height:50%;left:50%;top:0;transform-origin:0 100%;background:linear-gradient(36deg,color-mix(in srgb,var(--accent) 28%,transparent),transparent 58%);clip-path:polygon(0 100%,100% 0,100% 100%);animation:dash296Sweep 5s linear infinite}.dash296-live-station.offline .beam{animation:none;opacity:.14}.dash296-radar-mini i{position:relative;z-index:2;width:66px;height:66px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),#22c55e);color:#061018;box-shadow:0 0 34px color-mix(in srgb,var(--accent) 34%,transparent);font-style:normal}@keyframes dash296Sweep{to{transform:rotate(360deg)}}.dash296-health-ring{--p:0;width:112px;height:112px;border-radius:50%;display:grid;place-items:center;align-content:center;background:conic-gradient(#22c55e calc(var(--p)*1%),rgba(148,163,184,.18) 0);box-shadow:inset 0 0 0 10px rgba(0,0,0,.12);position:relative}.dash296-health-ring:after{content:"";position:absolute;inset:12px;border-radius:50%;background:var(--panel)}.dash296-health-ring b,.dash296-health-ring span{position:relative;z-index:1}.dash296-health-ring b{font-size:1.15rem;font-weight:950}.dash296-health-ring span{font-size:.68rem;color:var(--muted);font-weight:850}.dash296-station-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dash296-station-facts>*{border:1px solid color-mix(in srgb,var(--line) 84%,transparent);border-radius:14px;background:rgba(255,255,255,.03);padding:8px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:.78rem}.dash296-station-facts b{color:var(--text)}.dash296-station-facts b.ok{box-shadow:inset 0 -3px 0 #22c55e}.dash296-station-facts b.bad{box-shadow:inset 0 -3px 0 #fb7185}.dash296-chart-zone{padding:12px}.dash296-chart-zone>.dash112-chart-card{box-shadow:none;border-radius:20px;background:rgba(255,255,255,.025)}.dash296-source-mini{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.dash296-source-mini button{border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:999px;background:rgba(255,255,255,.03);color:var(--muted);padding:5px 9px;cursor:pointer;font-size:.74rem}.dash296-source-mini button.active{border-color:color-mix(in srgb,var(--accent) 62%,var(--line));background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--text)}.dash296-time-list,.dash296-message-list{display:grid;gap:8px;max-height:365px;overflow:auto;padding-inline-end:2px}.dash296-time-list button,.dash296-message-list button{width:100%;border:1px solid color-mix(in srgb,var(--line) 84%,transparent);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.036),rgba(255,255,255,.012));color:var(--text);padding:9px 10px;cursor:pointer;min-width:0}.dash296-time-list button{display:grid;grid-template-columns:38px 88px minmax(0,1fr);grid-template-areas:'ico time title' 'ico time meta';gap:2px 9px;text-align:left;box-shadow:inset 3px 0 0 var(--dash-tone,#38bdf8)}.dash296-time-list i{grid-area:ico;width:36px;height:36px;border-radius:14px;display:grid;place-items:center;color:var(--dash-tone,#38bdf8);background:color-mix(in srgb,var(--dash-tone,#38bdf8) 13%,transparent);font-style:normal}.dash296-time-list span{grid-area:time;color:var(--muted);font-size:.72rem;align-self:center}.dash296-time-list b{grid-area:title;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.86rem}.dash296-time-list small{grid-area:meta;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.74rem}.dash296-message-list button{display:grid;grid-template-columns:38px minmax(0,1fr) 74px;gap:9px;align-items:center;text-align:left}.dash296-message-list button.unread{border-color:color-mix(in srgb,#a78bfa 46%,var(--line));background:linear-gradient(90deg,rgba(167,139,250,.12),rgba(255,255,255,.018))}.dash296-message-list i{width:36px;height:36px;border-radius:14px;display:grid;place-items:center;color:#a78bfa;background:rgba(167,139,250,.12);font-style:normal}.dash296-message-list b,.dash296-message-list small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash296-message-list small,.dash296-message-list time{color:var(--muted);font-size:.72rem}.dash296-action-dock{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dash296-action-dock button{border:1px solid color-mix(in srgb,var(--line) 84%,transparent);border-radius:18px;background:linear-gradient(180deg,color-mix(in srgb,var(--dash-tone,#38bdf8) 10%,transparent),rgba(255,255,255,.018));color:var(--text);min-height:78px;display:grid;place-items:center;gap:5px;cursor:pointer}.dash296-action-dock button:hover,.dash296-time-list button:hover,.dash296-message-list button:hover{border-color:color-mix(in srgb,var(--dash-tone,var(--accent)) 58%,var(--line));transform:translateY(-1px)}.dash296-action-dock i{width:34px;height:34px;border-radius:14px;display:grid;place-items:center;color:var(--dash-tone,#38bdf8);background:color-mix(in srgb,var(--dash-tone,#38bdf8) 13%,transparent);font-style:normal}.dash296-action-dock span{font-weight:900;font-size:.82rem}.dash296-sensor-board{display:grid;gap:12px}.dash296-sensor-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.32fr);gap:12px;align-items:start}.dash296-sensor-grid aside{border:1px solid color-mix(in srgb,var(--line) 84%,transparent);border-radius:20px;padding:10px;background:rgba(255,255,255,.023);min-width:0}.dash296-sensor-board .dash112-source-dock{margin:0}.dash296-sensor-board .dash112-sensor-mosaic{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.dash296-sensor-board .dash112-empty{min-height:130px}.theme-light .dash296-hero,.theme-light .dash296-kpi,.theme-light .dash296-card,.theme-light .dash296-time-list button,.theme-light .dash296-message-list button,.theme-light .dash296-action-dock button{background:#fff;color:#102033;border-color:#d4dfea;box-shadow:0 16px 38px rgba(38,58,88,.10)}.theme-light .dash296-live-clock,.theme-light .dash296-station-facts>*{background:#f7fbff}.theme-light .dash296-health-ring:after{background:#fff}.lang-fa .dash296-time-list button{text-align:right;grid-template-columns:38px 88px minmax(0,1fr);grid-template-areas:'ico time title' 'ico time meta';box-shadow:inset -3px 0 0 var(--dash-tone,#38bdf8)}.lang-fa .dash296-message-list button{text-align:right;grid-template-columns:74px minmax(0,1fr) 38px}.lang-fa .dash296-message-list i{grid-column:3}.lang-fa .dash296-message-list time{grid-column:1;grid-row:1}.lang-fa .dash296-message-list div{grid-column:2;grid-row:1}@media(max-width:1500px){.dash296-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dash296-focus-grid{grid-template-columns:1fr}.dash296-lower-grid{grid-template-columns:1fr 1fr}.dash296-actions{grid-column:1 / -1}.dash296-action-dock{grid-template-columns:repeat(6,minmax(0,1fr))}}@media(max-width:980px){.dash296-hero{grid-template-columns:1fr}.dash296-live-clock{max-width:100%}.dash296-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash296-lower-grid,.dash296-sensor-grid{grid-template-columns:1fr}.dash296-action-dock{grid-template-columns:repeat(3,minmax(0,1fr))}.dash296-station-visual{grid-template-columns:1fr}.dash296-health-ring{margin:auto}.dash296-time-list button{grid-template-columns:38px minmax(0,1fr);grid-template-areas:'ico title' 'ico meta' 'time time'}}@media(max-width:620px){.dash296-kpi-grid,.dash296-action-dock,.dash296-station-facts{grid-template-columns:1fr}.dash296-profile-orb{width:76px;height:76px}.dash296-radar-mini{min-height:170px}.dash296-message-list button,.lang-fa .dash296-message-list button{grid-template-columns:38px minmax(0,1fr);}.dash296-message-list time{display:none}}

/* WEB30.1.297 - Dynamic radar dashboard refinement */
.dash297-shell{gap:14px}.dash297-radar-stage{display:grid;grid-template-columns:minmax(680px,1.62fr) minmax(360px,.78fr);gap:14px;align-items:stretch}.dash297-side-stack{display:grid;gap:14px;min-width:0}.dash297-side-stack .dash296-chart-zone{min-height:330px}.dash297-side-stack .dash296-timeline{min-height:0}.dash297-radar-panel{position:relative;overflow:hidden;padding:14px;background:radial-gradient(circle at 52% 45%,rgba(34,211,238,.09),transparent 36%),radial-gradient(circle at 12% 10%,rgba(34,197,94,.12),transparent 34%),linear-gradient(135deg,color-mix(in srgb,var(--panel) 86%,#07111f 14%),color-mix(in srgb,var(--panel2) 78%,#020617 22%));border-color:color-mix(in srgb,#22d3ee 22%,var(--line));box-shadow:0 24px 70px rgba(0,0,0,.18)}.dash297-radar-panel:before{content:"";position:absolute;inset:-30%;background:linear-gradient(115deg,transparent 0 46%,rgba(34,211,238,.065) 49%,transparent 52% 100%);pointer-events:none}.dash297-radar-head{position:relative;z-index:3;margin-bottom:10px}.dash297-radar-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.dash297-radar-badges b{border:1px solid rgba(34,211,238,.28);border-radius:999px;background:rgba(34,211,238,.08);color:var(--text);padding:6px 10px;font-size:.76rem}.dash297-radar-layout{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(248px,.34fr);gap:12px;align-items:stretch}.dash297-radar-map{position:relative;min-height:520px;border-radius:26px;overflow:hidden;border:1px solid rgba(34,211,238,.24);background:radial-gradient(circle at 50% 50%,rgba(34,197,94,.16) 0 1px,transparent 2px),linear-gradient(rgba(34,211,238,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(34,211,238,.055) 1px,transparent 1px),radial-gradient(circle at 50% 50%,rgba(34,211,238,.08),transparent 58%),linear-gradient(145deg,rgba(2,6,23,.86),rgba(15,23,42,.74));background-size:24px 24px,28px 28px,28px 28px,100% 100%,100% 100%;box-shadow:inset 0 0 80px rgba(2,6,23,.42)}.dash297-map-lines{position:absolute;inset:0;width:100%;height:100%;opacity:.38;filter:drop-shadow(0 0 10px rgba(34,211,238,.26))}.dash297-map-lines path{fill:none;stroke:rgba(148,244,255,.42);stroke-width:.42;stroke-dasharray:2 2}.dash297-ring{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid rgba(45,212,191,.26);border-radius:50%;box-shadow:0 0 26px rgba(45,212,191,.08),inset 0 0 22px rgba(45,212,191,.035)}.dash297-ring.r1{width:19%;height:19%}.dash297-ring.r2{width:38%;height:38%}.dash297-ring.r3{width:58%;height:58%}.dash297-ring.r4{width:78%;height:78%}.dash297-axis{position:absolute;background:linear-gradient(90deg,transparent,rgba(45,212,191,.22),transparent)}.dash297-axis.h{left:6%;right:6%;top:50%;height:1px}.dash297-axis.v{top:6%;bottom:6%;left:50%;width:1px;background:linear-gradient(180deg,transparent,rgba(45,212,191,.22),transparent)}.dash297-sweep{position:absolute;left:50%;top:50%;width:41%;height:41%;transform-origin:0 0;background:conic-gradient(from -16deg,rgba(34,211,238,.34),rgba(34,211,238,.10) 21deg,transparent 46deg);clip-path:polygon(0 0,100% 9%,100% 100%,0 0);animation:dash297Sweep 6s linear infinite;filter:blur(.1px)}@keyframes dash297Sweep{to{transform:rotate(360deg)}}.dash297-center-hub{position:absolute;left:50%;top:50%;z-index:5;transform:translate(-50%,-50%);width:128px;min-height:96px;border-radius:30px;display:grid;place-items:center;align-content:center;gap:4px;text-align:center;border:1px solid rgba(34,211,238,.45);background:linear-gradient(180deg,rgba(8,145,178,.78),rgba(15,23,42,.92));box-shadow:0 0 0 10px rgba(34,211,238,.055),0 0 46px rgba(34,211,238,.28),inset 0 1px 0 rgba(255,255,255,.16);color:#e0fcff}.dash297-center-hub i{width:38px;height:38px;border-radius:15px;display:grid;place-items:center;background:rgba(255,255,255,.11);font-style:normal}.dash297-center-hub b{font-size:.9rem;font-weight:950}.dash297-center-hub small{max-width:104px;color:rgba(224,252,255,.75);font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash297-radar-node{--tone:#22c55e;position:absolute;left:calc(var(--x)*1%);top:calc(var(--y)*1%);z-index:6;transform:translate(-50%,-50%);border:0;background:transparent;color:var(--text);cursor:pointer;min-width:96px;min-height:62px;padding:0;display:grid;place-items:center;text-align:center}.dash297-radar-node .pulse{position:absolute;left:50%;top:50%;width:42px;height:42px;border:1px solid var(--tone);border-radius:50%;transform:translate(-50%,-50%);opacity:.7;animation:dash297Pulse 2.4s ease-out infinite;box-shadow:0 0 22px color-mix(in srgb,var(--tone) 45%,transparent)}.dash297-radar-node i{width:15px;height:15px;border-radius:50%;background:var(--tone);box-shadow:0 0 0 6px color-mix(in srgb,var(--tone) 13%,transparent),0 0 22px color-mix(in srgb,var(--tone) 58%,transparent);position:relative;z-index:2}.dash297-radar-node b,.dash297-radar-node small{position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap;max-width:130px;overflow:hidden;text-overflow:ellipsis;text-shadow:0 2px 10px rgba(0,0,0,.75)}.dash297-radar-node b{top:39px;font-size:.73rem;font-weight:950;color:#eaffff}.dash297-radar-node small{top:58px;font-size:.65rem;color:rgba(226,232,240,.74)}.dash297-radar-node.selected i{width:19px;height:19px;background:#22d3ee}.dash297-radar-node.selected .pulse{width:58px;height:58px;border-color:#22d3ee;animation-duration:1.7s}.dash297-radar-node.offline{opacity:.62}.dash297-radar-node.offline .pulse{animation:none;opacity:.28}.dash297-radar-node:hover{filter:brightness(1.22)}@keyframes dash297Pulse{0%{transform:translate(-50%,-50%) scale(.7);opacity:.75}100%{transform:translate(-50%,-50%) scale(2.1);opacity:0}}.dash297-radar-info{display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;gap:9px;min-width:0}.dash297-radar-stat{border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:18px;background:rgba(255,255,255,.038);padding:10px;min-width:0}.dash297-radar-stat span{display:block;color:color-mix(in srgb,#22d3ee 70%,var(--muted));font-size:.72rem;font-weight:950}.dash297-radar-stat b{display:block;margin-top:4px;color:var(--text);font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash297-radar-stat small{display:block;margin-top:3px;color:var(--muted);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash297-station-list{display:grid;gap:7px;overflow:auto;min-height:0;padding-inline-end:2px}.dash297-station-chip{border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:16px;background:rgba(255,255,255,.03);color:var(--text);display:grid;grid-template-columns:12px minmax(0,1fr);grid-template-areas:'dot name' 'dot meta';gap:1px 8px;align-items:center;padding:8px 9px;text-align:inherit;cursor:pointer}.dash297-station-chip i{grid-area:dot;width:9px;height:9px;border-radius:50%;background:#64748b;box-shadow:0 0 12px rgba(100,116,139,.55)}.dash297-station-chip.online i{background:#22c55e;box-shadow:0 0 14px rgba(34,197,94,.65)}.dash297-station-chip span{grid-area:name;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:900;font-size:.78rem}.dash297-station-chip small{grid-area:meta;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:.68rem}.dash297-station-chip:hover{border-color:rgba(34,211,238,.38);background:rgba(34,211,238,.07)}.dash297-radar-legend{display:flex;gap:8px;flex-wrap:wrap;align-items:center;color:var(--muted);font-size:.7rem}.dash297-radar-legend span{display:inline-flex;align-items:center;gap:5px}.dash297-radar-legend i{width:8px;height:8px;border-radius:50%;display:inline-block}.dash297-radar-legend .ok{background:#22c55e}.dash297-radar-legend .warn{background:#f59e0b}.dash297-radar-legend .off{background:#64748b}.dash297-radar-empty{min-height:280px;border:1px dashed color-mix(in srgb,var(--accent) 38%,var(--line));border-radius:22px;display:grid;place-items:center;text-align:center;color:var(--muted);background:rgba(255,255,255,.025)}.theme-light .dash297-radar-panel{background:linear-gradient(135deg,#ffffff,#f4fbff);border-color:#c7e8f3}.theme-light .dash297-radar-map{background:radial-gradient(circle at 50% 50%,rgba(14,165,233,.16) 0 1px,transparent 2px),linear-gradient(rgba(14,165,233,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(14,165,233,.08) 1px,transparent 1px),radial-gradient(circle at 50% 50%,rgba(14,165,233,.11),transparent 58%),linear-gradient(145deg,#f8fcff,#eef7fb);box-shadow:inset 0 0 60px rgba(14,116,144,.10)}.theme-light .dash297-center-hub{background:linear-gradient(180deg,#0ea5e9,#075985);color:#fff}.theme-light .dash297-radar-node b,.theme-light .dash297-radar-node small{text-shadow:0 1px 6px rgba(255,255,255,.9);color:#0f172a}.theme-light .dash297-radar-node small{color:#475569}.theme-light .dash297-radar-stat,.theme-light .dash297-station-chip{background:#ffffff;border-color:#d7e4ee}@media(max-width:1500px){.dash297-radar-stage{grid-template-columns:1fr}.dash297-side-stack{grid-template-columns:1fr 1fr}.dash297-radar-map{min-height:500px}}@media(max-width:980px){.dash297-radar-layout{grid-template-columns:1fr}.dash297-radar-map{min-height:440px}.dash297-side-stack{grid-template-columns:1fr}.dash297-radar-info{grid-template-rows:auto}.dash297-station-list{max-height:220px}.dash297-radar-node b{font-size:.68rem}.dash297-radar-node small{display:none}}@media(max-width:620px){.dash297-radar-map{min-height:340px}.dash297-radar-stage{grid-template-columns:1fr}.dash297-center-hub{width:104px;min-height:82px;border-radius:24px}.dash297-radar-node{min-width:70px}.dash297-radar-node b{max-width:84px}.dash297-radar-badges{justify-content:flex-start}.dash297-ring.r4{width:86%;height:86%}}
.dash297-link-lines{position:absolute;inset:0;width:100%;height:100%;z-index:1;opacity:.42;pointer-events:none}.dash297-link-lines line{stroke:rgba(45,212,191,.34);stroke-width:.28;stroke-dasharray:1.4 1.8;filter:drop-shadow(0 0 6px rgba(45,212,191,.24))}

/* WEB30.1.298 - Dashboard radar interaction cockpit */
.dash298-shell{gap:12px}.dash298-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:24px;padding:14px 18px;background:radial-gradient(circle at 10% 20%,rgba(34,211,238,.13),transparent 30%),linear-gradient(135deg,color-mix(in srgb,var(--panel) 92%,#0f172a 8%),color-mix(in srgb,var(--panel2) 86%,#020617 14%));box-shadow:0 18px 42px rgba(0,0,0,.12)}.dash298-hero span{font-weight:950;color:#22d3ee;font-size:.8rem}.dash298-hero h3{margin:4px 0;font-size:1.45rem}.dash298-hero p{margin:0;color:var(--muted);font-size:.86rem}.dash298-hero-status{min-width:240px;border:1px solid rgba(34,211,238,.22);border-radius:18px;padding:10px 12px;background:rgba(34,211,238,.06);text-align:start}.dash298-hero-status b,.dash298-hero-status small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash298-hero-status small{color:var(--muted);margin-top:3px}.dash298-kpi-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.dash298-kpi-strip article{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:20px;padding:12px 14px;display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-areas:'icon label' 'icon value' 'icon meta';gap:1px 10px;background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.025))}.dash298-kpi-strip article:before{content:"";position:absolute;inset:auto -20% -45% auto;width:110px;height:110px;border-radius:50%;background:var(--kpi);opacity:.18;filter:blur(2px)}.dash298-kpi-strip i{grid-area:icon;width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:var(--kpi);color:white;box-shadow:0 10px 26px color-mix(in srgb,var(--kpi) 32%,transparent)}.dash298-kpi-strip svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.9}.dash298-kpi-strip span{grid-area:label;font-size:.76rem;color:var(--muted);font-weight:900}.dash298-kpi-strip b{grid-area:value;font-size:1.28rem;line-height:1.15}.dash298-kpi-strip small{grid-area:meta;color:var(--muted);font-size:.72rem}.dash298-kpi-strip .green{--kpi:#22c55e}.dash298-kpi-strip .cyan{--kpi:#06b6d4}.dash298-kpi-strip .orange{--kpi:#f59e0b}.dash298-kpi-strip .purple{--kpi:#8b5cf6}.dash298-radar-stage{grid-template-columns:minmax(760px,1.72fr) minmax(410px,.78fr);align-items:stretch}.dash298-radar-panel{min-width:0}.dash298-radar-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.38fr)}.dash298-radar-map{min-height:520px}.dash298-radar-map:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 31px,rgba(34,211,238,.035) 32px),repeating-linear-gradient(90deg,transparent 0 31px,rgba(34,211,238,.035) 32px);mix-blend-mode:screen;pointer-events:none}.dash298-center-hub{box-shadow:0 0 0 12px rgba(34,211,238,.055),0 0 0 24px rgba(34,197,94,.035),0 0 52px rgba(34,211,238,.34),inset 0 1px 0 rgba(255,255,255,.18)}.dash298-radar-node.offline{--tone:#ef4444;opacity:.88;filter:saturate(1.08)}.dash298-radar-node.offline i{background:#ef4444;box-shadow:0 0 0 6px rgba(239,68,68,.13),0 0 24px rgba(239,68,68,.48)}.dash298-radar-node.offline:after{content:"";position:absolute;left:50%;top:50%;width:34px;height:2px;background:#ef4444;transform:translate(-50%,-50%) rotate(-35deg);box-shadow:0 0 13px rgba(239,68,68,.75);border-radius:999px}.dash298-radar-node.selected{z-index:20}.dash298-radar-node.selected b{color:#a7f3d0}.dash298-target-tooltip{position:absolute;z-index:50;inset:auto auto calc(100% - 2px) 50%;transform:translateX(-50%) translateY(-10px);min-width:210px;border:1px solid rgba(34,211,238,.34);border-radius:18px;background:linear-gradient(180deg,rgba(2,6,23,.94),rgba(15,23,42,.94));box-shadow:0 22px 60px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.08);padding:10px;color:#e2f8ff;opacity:0;visibility:hidden;pointer-events:none;text-align:initial}.dash298-radar-node:hover .dash298-target-tooltip,.dash298-radar-node:focus-visible .dash298-target-tooltip{opacity:1;visibility:visible}.dash298-target-tooltip:after{content:"";position:absolute;left:50%;bottom:-7px;width:12px;height:12px;background:rgba(15,23,42,.94);border-right:1px solid rgba(34,211,238,.28);border-bottom:1px solid rgba(34,211,238,.28);transform:translateX(-50%) rotate(45deg)}.dash298-target-tooltip header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;border-bottom:1px solid rgba(148,163,184,.16);padding-bottom:7px}.dash298-target-tooltip header b{position:static;transform:none;max-width:132px;text-shadow:none;color:#f8fafc;font-size:.8rem}.dash298-target-tooltip header em{font-size:.65rem;font-style:normal;border-radius:999px;padding:3px 7px;font-weight:950}.dash298-target-tooltip header em.ok{background:rgba(34,197,94,.14);color:#86efac}.dash298-target-tooltip header em.bad{background:rgba(239,68,68,.15);color:#fca5a5}.dash298-target-tooltip div:not(:first-child){display:flex;align-items:center;justify-content:space-between;gap:12px;margin:6px 0;font-size:.74rem}.dash298-target-tooltip span{color:#94a3b8}.dash298-target-tooltip div b{position:static;transform:none;max-width:110px;text-shadow:none;color:#e2e8f0;font-size:.74rem}.dash298-signal-bars{display:inline-flex;align-items:flex-end;gap:3px;height:19px;min-width:42px;direction:ltr}.dash298-signal-bars i{display:block;width:5px;border-radius:4px;background:rgba(148,163,184,.28);box-shadow:none}.dash298-signal-bars i:nth-child(1){height:6px}.dash298-signal-bars i:nth-child(2){height:9px}.dash298-signal-bars i:nth-child(3){height:12px}.dash298-signal-bars i:nth-child(4){height:15px}.dash298-signal-bars i:nth-child(5){height:18px}.dash298-signal-bars i.on{background:#22c55e;box-shadow:0 0 10px rgba(34,197,94,.65)}.dash298-radar-info{grid-template-rows:auto auto minmax(150px,.9fr) minmax(120px,.7fr) auto}.dash298-device-card{border:1px solid rgba(34,211,238,.22);border-radius:20px;background:radial-gradient(circle at 10% 10%,rgba(34,211,238,.12),transparent 55%),rgba(255,255,255,.04);padding:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.dash298-device-card.offline{border-color:rgba(239,68,68,.28);background:radial-gradient(circle at 10% 10%,rgba(239,68,68,.13),transparent 55%),rgba(255,255,255,.035)}.dash298-device-card span{display:block;font-size:.72rem;font-weight:950;color:#22d3ee}.dash298-device-card b{display:block;margin-top:3px;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash298-device-card small{display:block;margin-top:2px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash298-device-facts{display:grid;grid-template-columns:1fr 1fr;gap:7px}.dash298-device-facts article{border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:16px;background:rgba(255,255,255,.03);padding:8px}.dash298-device-facts span{display:block;color:var(--muted);font-size:.68rem;font-weight:900}.dash298-device-facts b{display:block;margin-top:3px;font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash298-panel-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.dash298-panel-title span{font-size:.78rem;font-weight:950;color:#22d3ee}.dash298-panel-title b{min-width:28px;height:24px;border-radius:999px;display:grid;place-items:center;background:rgba(34,211,238,.1);border:1px solid rgba(34,211,238,.2);font-size:.72rem}.dash298-sensor-panel,.dash298-station-panel{min-height:0;border:1px solid color-mix(in srgb,var(--line) 76%,transparent);border-radius:18px;background:rgba(255,255,255,.025);padding:9px;overflow:hidden}.dash298-sensor-list{display:grid;gap:7px;max-height:230px;overflow:auto;padding-inline-end:2px}.dash298-sensor-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:15px;background:rgba(255,255,255,.035);color:var(--text);padding:7px;text-align:inherit;cursor:pointer}.dash298-sensor-row:hover,.dash298-sensor-row.active{border-color:rgba(34,211,238,.42);background:rgba(34,211,238,.08)}.dash298-sensor-row.bad{border-color:rgba(239,68,68,.24)}.dash298-sensor-row.warn{border-color:rgba(245,158,11,.24)}.dash298-sensor-row i{width:34px;height:34px;border-radius:13px;display:grid;place-items:center;background:rgba(34,211,238,.09);font-style:normal}.dash298-sensor-row span,.dash298-sensor-row b,.dash298-sensor-row small{min-width:0}.dash298-sensor-row span b{display:block;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash298-sensor-row span small{display:block;color:var(--muted);font-size:.65rem}.dash298-sensor-row strong{font-size:.78rem;white-space:nowrap}.dash298-sensor-row strong em{font-style:normal;color:var(--muted);font-size:.64rem;margin-inline-start:3px}.dash298-station-chip.selected{border-color:rgba(34,211,238,.55);background:rgba(34,211,238,.09)}.dash298-chart-card{min-height:100%;display:flex;flex-direction:column;gap:10px}.dash298-chart-head{align-items:flex-start}.dash298-range-tabs{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.dash298-range-tabs button{border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:999px;background:rgba(255,255,255,.045);color:var(--text);font-size:.72rem;font-weight:950;padding:6px 9px;cursor:pointer}.dash298-range-tabs button.active{background:linear-gradient(135deg,#06b6d4,#22c55e);color:white;border-color:transparent;box-shadow:0 10px 24px rgba(34,211,238,.18)}.dash298-chart-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.dash298-chart-summary article{border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:16px;background:rgba(255,255,255,.035);padding:9px}.dash298-chart-summary span{display:block;color:var(--muted);font-size:.68rem;font-weight:900}.dash298-chart-summary b{display:block;margin-top:3px;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash298-history-ribbon{height:58px;border:1px solid rgba(34,211,238,.16);border-radius:18px;background:linear-gradient(180deg,rgba(34,211,238,.05),rgba(255,255,255,.025));padding:8px;display:flex;align-items:flex-end;gap:3px;overflow:hidden}.dash298-history-ribbon i{flex:1;min-width:3px;height:var(--h);border-radius:999px 999px 4px 4px;background:linear-gradient(180deg,#22d3ee,#22c55e);opacity:calc(.45 + (var(--i) / 50));box-shadow:0 0 12px rgba(34,211,238,.22)}.dash298-history-ribbon.empty{display:grid;place-items:center;color:var(--muted);font-size:.72rem}.dash298-live-plot{display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px;min-height:270px}.dash298-chart-svg .tone-1{stroke:#22d3ee}.dash298-chart-empty{min-height:270px;border:1px dashed rgba(34,211,238,.25);border-radius:20px;display:grid;place-items:center;text-align:center;color:var(--muted);padding:18px}.dash298-chart-empty b,.dash298-chart-empty span{display:block}.dash298-zoom-bar{justify-content:flex-end;margin-top:auto}.dash298-empty-soft{border:1px dashed color-mix(in srgb,var(--line) 85%,transparent);border-radius:14px;padding:12px;text-align:center;color:var(--muted);font-size:.75rem}.theme-light .dash298-hero,.theme-light .dash298-radar-panel,.theme-light .dash298-chart-card{background:linear-gradient(135deg,#ffffff,#f4fbff)}.theme-light .dash298-target-tooltip{background:linear-gradient(180deg,#ffffff,#eef7fb);color:#0f172a;border-color:#bae6fd}.theme-light .dash298-target-tooltip:after{background:#eef7fb}.theme-light .dash298-target-tooltip header b,.theme-light .dash298-target-tooltip div b{color:#0f172a}@media(max-width:1500px){.dash298-radar-stage{grid-template-columns:1fr}.dash298-chart-card{min-height:430px}.dash298-radar-map{min-height:500px}}@media(max-width:980px){.dash298-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.dash298-hero{flex-direction:column;align-items:stretch}.dash298-hero-status{min-width:0}.dash298-radar-layout{grid-template-columns:1fr}.dash298-radar-info{grid-template-rows:auto}.dash298-sensor-list{max-height:220px}.dash298-chart-summary{grid-template-columns:1fr}.dash298-live-plot{min-height:230px}}@media(max-width:620px){.dash298-kpi-strip{grid-template-columns:1fr}.dash298-radar-map{min-height:350px}.dash298-target-tooltip{display:none}.dash298-device-facts{grid-template-columns:1fr}.dash298-live-plot{grid-template-columns:34px minmax(0,1fr)}}

/* WEB30.1.299 - Dashboard radar sizing, bounded tooltip, and local loaders */
.dash299-radar-layout{grid-template-columns:minmax(0,1fr) minmax(248px,.30fr);gap:12px;align-items:stretch}
.dash299-radar-map{aspect-ratio:16/10;min-height:0;height:auto;max-height:560px;overflow:hidden;isolation:isolate;contain:layout paint;flex:0 0 auto}
.dash299-radar-info{grid-template-rows:auto auto minmax(120px,.62fr) minmax(88px,.42fr) auto;gap:8px;min-width:0}
.dash299-sensor-panel{position:relative;min-height:176px;padding:8px}
.dash299-sensor-panel .dash298-panel-title{margin-bottom:6px}
.dash299-sensor-panel .dash298-panel-title span{font-size:.74rem}
.dash299-sensor-list{max-height:184px;gap:6px;min-height:136px;align-content:start}
.dash299-sensor-row{grid-template-columns:30px minmax(0,1fr) auto;gap:6px;padding:6px;border-radius:13px;min-height:44px}
.dash299-sensor-row i{width:30px;height:30px;border-radius:11px;font-size:.78rem}
.dash299-sensor-row span b{font-size:.7rem;line-height:1.2}
.dash299-sensor-row span small{font-size:.6rem;line-height:1.15}
.dash299-sensor-row strong{font-size:.72rem;max-width:78px;overflow:hidden;text-overflow:ellipsis}
.dash299-radar-node .dash298-target-tooltip{max-width:min(232px,34vw);min-width:202px}
.dash299-radar-node.edge-left .dash298-target-tooltip{left:0;right:auto;transform:translateX(0) translateY(-10px)}
.dash299-radar-node.edge-right .dash298-target-tooltip{left:auto;right:0;transform:translateX(0) translateY(-10px)}
.dash299-radar-node.edge-top .dash298-target-tooltip{top:calc(100% + 8px);bottom:auto;transform:translateX(-50%) translateY(0)}
.dash299-radar-node.edge-top.edge-left .dash298-target-tooltip{transform:translateX(0) translateY(0)}
.dash299-radar-node.edge-top.edge-right .dash298-target-tooltip{transform:translateX(0) translateY(0)}
.dash299-radar-node.edge-bottom .dash298-target-tooltip{top:auto;bottom:calc(100% + 8px)}
.dash299-radar-node.edge-left .dash298-target-tooltip:after{left:24px;right:auto}
.dash299-radar-node.edge-right .dash298-target-tooltip:after{left:auto;right:24px}
.dash299-radar-node.edge-top .dash298-target-tooltip:after{top:-7px;bottom:auto;border-right:0;border-bottom:0;border-left:1px solid rgba(34,211,238,.28);border-top:1px solid rgba(34,211,238,.28)}
.dash299-local-loader{display:grid;place-items:center;text-align:center;gap:10px;min-height:136px;color:#bae6fd;border:1px dashed rgba(34,211,238,.22);border-radius:16px;background:radial-gradient(circle at center,rgba(34,211,238,.11),rgba(2,6,23,.04) 62%)}
.dash299-local-loader span{width:38px;height:38px;border-radius:999px;border:3px solid rgba(148,163,184,.22);border-top-color:#22d3ee;border-inline-start-color:#22c55e;animation:dash299Spin .82s linear infinite;box-shadow:0 0 28px rgba(34,211,238,.22)}
.dash299-local-loader b{font-size:.76rem;font-weight:950;color:inherit}
@keyframes dash299Spin{to{transform:rotate(360deg)}}
.dash299-chart-body{position:relative;min-height:392px;display:flex;flex-direction:column;gap:10px}
.dash299-chart-body>.dash299-local-loader{position:absolute;inset:0;z-index:9;min-height:0;background:radial-gradient(circle at center,rgba(34,211,238,.16),rgba(15,23,42,.88) 60%);backdrop-filter:blur(3px)}
.dash299-chart-content{display:flex;flex-direction:column;gap:10px;transition:opacity .18s ease,filter .18s ease}
.dash299-chart-content.dimmed{opacity:.34;filter:blur(1px);pointer-events:none}
.theme-light .dash299-local-loader{background:radial-gradient(circle at center,rgba(14,165,233,.14),rgba(255,255,255,.78) 62%);color:#0369a1}
.theme-light .dash299-chart-body>.dash299-local-loader{background:radial-gradient(circle at center,rgba(14,165,233,.18),rgba(255,255,255,.86) 60%)}
@media(min-width:1501px){.dash299-radar-stage{grid-template-columns:minmax(0,1.08fr) minmax(420px,.72fr)}}
@media(max-width:1500px){.dash299-radar-map{max-height:none}.dash299-radar-layout{grid-template-columns:minmax(0,1fr) minmax(240px,.28fr)}}
@media(max-width:980px){.dash299-radar-layout{grid-template-columns:1fr}.dash299-radar-map{aspect-ratio:16/11}.dash299-sensor-list{max-height:220px}.dash299-chart-body{min-height:320px}}
@media(max-width:620px){.dash299-radar-map{aspect-ratio:1/1;min-height:340px}.dash299-radar-node .dash298-target-tooltip{display:none}.dash299-sensor-row{grid-template-columns:28px minmax(0,1fr)}}

/* WEB30.1.300 - Dashboard radar header device/sensor strips; map contains only device nodes */
.dash300-radar-panel{display:flex;flex-direction:column;gap:10px;overflow:hidden}
.dash300-radar-panel>.dash296-card-head,.dash300-radar-panel .dash297-radar-head{display:none!important}
.dash300-radar-toolbar{position:relative;z-index:5;display:grid;gap:7px;border:1px solid rgba(34,211,238,.18);border-radius:20px;background:linear-gradient(135deg,rgba(15,23,42,.74),rgba(2,6,23,.30));padding:8px;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.dash300-device-strip,.dash300-sensor-strip{display:grid;grid-template-columns:86px minmax(0,1fr);gap:8px;align-items:start;min-width:0}
.dash300-strip-title{min-height:32px;border:1px solid rgba(148,163,184,.18);border-radius:14px;background:rgba(255,255,255,.03);padding:6px 8px;display:grid;align-content:center;gap:1px;min-width:0}
.dash300-strip-title b{font-size:.72rem;font-weight:950;color:#e2e8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash300-strip-title span{font-size:.6rem;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash300-chip-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-height:32px;min-width:0;max-height:38px;overflow:auto;padding:1px 2px 2px;scrollbar-width:thin}
.dash300-chip-row.sensors{max-height:82px;align-content:flex-start}
.dash300-device-chip,.dash300-sensor-chip{border:1px solid rgba(148,163,184,.24);background:rgba(255,255,255,.035);color:var(--text);border-radius:999px;min-height:31px;padding:5px 8px;display:inline-flex;align-items:center;gap:6px;max-width:180px;cursor:pointer;text-align:inherit;transition:border-color .14s ease,background .14s ease,transform .14s ease,box-shadow .14s ease}
.dash300-device-chip:hover,.dash300-sensor-chip:hover{transform:translateY(-1px);border-color:rgba(34,211,238,.44);background:rgba(34,211,238,.08)}
.dash300-device-chip i{width:9px;height:9px;border-radius:999px;flex:0 0 auto;background:#64748b;box-shadow:0 0 12px rgba(100,116,139,.55)}
.dash300-device-chip.online i{background:#22c55e;box-shadow:0 0 13px rgba(34,197,94,.72)}
.dash300-device-chip.warn i{background:#f59e0b;box-shadow:0 0 13px rgba(245,158,11,.72)}
.dash300-device-chip.offline i{background:#ef4444;box-shadow:0 0 13px rgba(239,68,68,.72)}
.dash300-device-chip.selected{border-color:rgba(34,211,238,.70);background:linear-gradient(135deg,rgba(34,211,238,.16),rgba(34,197,94,.08));box-shadow:0 0 0 1px rgba(34,211,238,.10),0 10px 24px rgba(34,211,238,.08)}
.dash300-device-chip span{font-size:.73rem;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.dash300-device-chip small{font-size:.59rem;color:#94a3b8;white-space:nowrap}
.dash300-sensor-chip{border-radius:14px;padding:5px 7px;max-width:205px;background:rgba(2,6,23,.24)}
.dash300-sensor-chip i{width:24px;height:24px;border-radius:10px;display:grid;place-items:center;background:rgba(34,211,238,.10);font-style:normal;font-size:.72rem;flex:0 0 auto}
.dash300-sensor-chip span{font-size:.68rem;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;max-width:92px}
.dash300-sensor-chip b{font-size:.68rem;font-weight:950;white-space:nowrap;color:#bae6fd}
.dash300-sensor-chip b em{font-style:normal;color:#94a3b8;font-size:.58rem;margin-inline-start:3px}
.dash300-sensor-chip.active{border-color:rgba(34,197,94,.68);background:linear-gradient(135deg,rgba(34,197,94,.14),rgba(34,211,238,.08));box-shadow:0 0 0 1px rgba(34,197,94,.10)}
.dash300-sensor-chip.bad{border-color:rgba(239,68,68,.36)}
.dash300-sensor-chip.warn{border-color:rgba(245,158,11,.42)}
.dash300-sensor-empty{min-height:31px;display:flex;align-items:center;color:#94a3b8;border:1px dashed rgba(148,163,184,.28);border-radius:999px;padding:5px 10px;font-size:.72rem;background:rgba(255,255,255,.025)}
.dash300-header-loader{min-height:42px;min-width:260px;flex:1 1 260px;border:1px dashed rgba(34,211,238,.28);border-radius:16px;background:radial-gradient(circle at center,rgba(34,211,238,.13),rgba(255,255,255,.025) 62%);display:flex;align-items:center;justify-content:center;gap:9px;color:#bae6fd;font-size:.72rem;font-weight:950}
.dash300-header-loader span{width:25px;height:25px;border-radius:999px;border:3px solid rgba(148,163,184,.22);border-top-color:#22d3ee;border-inline-start-color:#22c55e;animation:dash299Spin .82s linear infinite;box-shadow:0 0 22px rgba(34,211,238,.22)}
.dash300-radar-layout{display:block!important;grid-template-columns:1fr!important;min-width:0}
.dash300-radar-map{width:100%;max-height:560px;aspect-ratio:16/10;min-height:0;contain:layout paint;flex:0 0 auto}
.dash300-radar-node .dash298-target-tooltip{z-index:30}
.theme-light .dash300-radar-toolbar{background:linear-gradient(135deg,#ffffff,#f5fbff);border-color:#d7e4ee}
.theme-light .dash300-strip-title,.theme-light .dash300-device-chip,.theme-light .dash300-sensor-chip{background:#ffffff;border-color:#d7e4ee;color:#0f172a}
.theme-light .dash300-strip-title b{color:#0f172a}.theme-light .dash300-sensor-chip b{color:#0369a1}.theme-light .dash300-header-loader{background:radial-gradient(circle at center,rgba(14,165,233,.16),rgba(255,255,255,.82) 62%);color:#0369a1}
@media(max-width:980px){.dash300-device-strip,.dash300-sensor-strip{grid-template-columns:1fr}.dash300-chip-row{max-height:78px}.dash300-chip-row.sensors{max-height:110px}.dash300-radar-map{aspect-ratio:16/11}}
@media(max-width:620px){.dash300-radar-toolbar{padding:7px}.dash300-device-chip,.dash300-sensor-chip{max-width:100%;width:100%;justify-content:flex-start}.dash300-radar-map{aspect-ratio:1/1;min-height:340px}.dash300-header-loader{min-width:0;width:100%}}


/* WEB30.1.301 - Remove extra title/stat cards from radar header; keep only device and sensor strips */
.dash301-radar-toolbar{gap:6px;padding:7px 8px}
.dash301-device-strip,.dash301-sensor-strip{display:block!important;min-width:0}
.dash301-radar-toolbar .dash300-strip-title{display:none!important}
.dash301-radar-toolbar .dash300-chip-row{width:100%;min-height:30px;max-height:36px;padding:1px 2px;overflow:auto}
.dash301-radar-toolbar .dash300-chip-row.sensors{max-height:74px;align-content:flex-start}
.dash301-radar-toolbar .dash300-chip-row.empty{max-height:none;overflow:hidden}
.dash301-radar-toolbar .dash300-device-chip{min-height:29px;padding:4px 8px;max-width:170px}
.dash301-radar-toolbar .dash300-sensor-chip{min-height:30px;padding:4px 7px;max-width:198px}
.dash301-radar-toolbar .dash300-sensor-empty{min-height:29px}
@media(max-width:980px){.dash301-radar-toolbar .dash300-chip-row{max-height:72px}.dash301-radar-toolbar .dash300-chip-row.sensors{max-height:104px}}

/* WEB30.1.303 - Compact dashboard hero with site news icons */
.dash303-hero{
  min-height:0;
  padding:8px 12px;
  border-radius:18px;
  display:grid;
  grid-template-columns:minmax(150px,.72fr) minmax(420px,1.8fr) minmax(190px,.62fr);
  align-items:center;
  gap:12px;
}
.dash303-identity{min-width:0;display:grid;gap:1px}
.dash303-identity span{font-size:.72rem;font-weight:950;color:#22d3ee;line-height:1.15}
.dash303-identity h3{margin:0;font-size:1.12rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash303-news-dock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;min-width:0}
.dash303-news-dock article{--dash-tone:#38bdf8;display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;align-items:center;min-width:0;border:1px solid color-mix(in srgb,var(--dash-tone) 24%,var(--line));border-radius:15px;padding:7px 8px;background:linear-gradient(135deg,color-mix(in srgb,var(--dash-tone) 12%,transparent),rgba(255,255,255,.022));box-shadow:inset 0 1px 0 rgba(255,255,255,.055)}
.dash303-news-dock article.blue{--dash-tone:#38bdf8}.dash303-news-dock article.cyan{--dash-tone:#22d3ee}.dash303-news-dock article.teal{--dash-tone:#2dd4bf}.dash303-news-dock article.green{--dash-tone:#22c55e}.dash303-news-dock article.orange{--dash-tone:#f59e0b}.dash303-news-dock article.purple{--dash-tone:#a855f7}.dash303-news-dock article.red{--dash-tone:#fb7185}
.dash303-news-dock i{width:34px;height:34px;border-radius:13px;display:grid;place-items:center;color:var(--dash-tone);background:color-mix(in srgb,var(--dash-tone) 14%,transparent);box-shadow:0 0 18px color-mix(in srgb,var(--dash-tone) 14%,transparent);font-style:normal}
.dash303-news-dock .dash296-svg{width:19px;height:19px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.dash303-news-dock div{min-width:0;display:grid;gap:1px}
.dash303-news-dock span{font-size:.66rem;font-weight:950;color:color-mix(in srgb,var(--dash-tone) 82%,var(--muted));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash303-news-dock b{font-size:.8rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.1}
.dash303-news-dock small{font-size:.63rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.1}
.dash303-hero-status{min-width:0;border-radius:16px;padding:8px 12px;align-self:stretch;display:grid;align-content:center}
.dash303-hero-status b{font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash303-hero-status small{font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.theme-light .dash303-news-dock article{background:#fff;border-color:#d4e3ef;box-shadow:0 8px 20px rgba(38,58,88,.06)}
@media(max-width:1500px){.dash303-hero{grid-template-columns:1fr}.dash303-news-dock{grid-template-columns:repeat(4,minmax(0,1fr))}.dash303-hero-status{max-width:none}}
@media(max-width:900px){.dash303-news-dock{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.dash303-news-dock{grid-template-columns:1fr}.dash303-hero{padding:10px}.dash303-news-dock article{grid-template-columns:30px minmax(0,1fr)}.dash303-news-dock i{width:30px;height:30px}}

/* WEB30.1.304 - Dashboard View 02 industrial / tactical ops deck under radar and live chart */
.dash304-shell{gap:10px}
.dash304-primary-view{position:relative;z-index:2}
.dash304-view2{display:grid;gap:10px;margin-top:2px;padding-top:2px;min-width:0}
.dash304-view2-head{position:relative;overflow:hidden;border:1px solid rgba(34,211,238,.18);border-radius:20px;background:linear-gradient(135deg,rgba(2,6,23,.62),rgba(15,23,42,.30)),radial-gradient(circle at 94% 18%,rgba(34,211,238,.14),transparent 36%);padding:10px 14px;display:grid;grid-template-columns:minmax(160px,.45fr) minmax(0,1fr) minmax(260px,.8fr);align-items:center;gap:10px;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.dash304-view2-head:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(34,211,238,.07),transparent);transform:translateX(-80%);animation:dash304SweepLine 8s linear infinite;pointer-events:none}
.dash304-view2-head span{position:relative;z-index:1;color:#22d3ee;font-size:.72rem;font-weight:950;letter-spacing:.08em;white-space:nowrap}
.dash304-view2-head h3{position:relative;z-index:1;margin:0;color:var(--text);font-size:1.03rem;line-height:1.18;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash304-view2-head small{position:relative;z-index:1;color:#94a3b8;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:end}
@keyframes dash304SweepLine{to{transform:translateX(80%)}}
.dash304-ops-grid{display:grid;grid-template-columns:minmax(310px,1.05fr) minmax(300px,.9fr) minmax(320px,1fr) minmax(300px,.92fr);gap:10px;align-items:stretch;min-width:0}
.dash304-card{position:relative;overflow:hidden;border:1px solid rgba(148,163,184,.18);border-radius:22px;background:linear-gradient(180deg,rgba(15,23,42,.70),rgba(2,6,23,.36));box-shadow:0 16px 38px rgba(0,0,0,.15),inset 0 1px 0 rgba(255,255,255,.045);padding:11px;min-width:0;min-height:245px}
.dash304-card:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(34,211,238,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(34,211,238,.028) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(180deg,rgba(0,0,0,.7),transparent 88%);pointer-events:none}
.dash304-card header{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:9px;border-bottom:1px solid rgba(148,163,184,.12);padding-bottom:8px}
.dash304-card header span{font-size:.62rem;font-weight:950;color:#22d3ee;letter-spacing:.08em;white-space:nowrap}
.dash304-card header h4{margin:0;color:var(--text);font-size:.9rem;line-height:1.15;text-align:end}
.dash304-empty{position:relative;z-index:1;border:1px dashed rgba(148,163,184,.22);border-radius:16px;background:rgba(255,255,255,.025);color:#94a3b8;text-align:center;padding:18px;font-size:.78rem}
.dash304-readiness-list{position:relative;z-index:1;display:grid;gap:7px;max-height:330px;overflow:auto;padding-inline-end:2px;scrollbar-width:thin}
.dash304-ready-row{--row-tone:#64748b;display:grid;grid-template-columns:minmax(0,1fr) 64px 44px;gap:8px;align-items:center;border:1px solid color-mix(in srgb,var(--row-tone) 28%,rgba(148,163,184,.18));border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--row-tone) 11%,transparent),rgba(255,255,255,.018));padding:8px;min-width:0}
.dash304-ready-row.ok{--row-tone:#22c55e}.dash304-ready-row.warn{--row-tone:#f59e0b}.dash304-ready-row.bad{--row-tone:#ef4444}
.dash304-ready-row>div{display:grid;grid-template-columns:14px minmax(0,1fr);grid-template-areas:'led title' 'led meta';gap:1px 7px;min-width:0}
.dash304-ready-row>div i{grid-area:led;width:10px;height:10px;border-radius:999px;align-self:center;background:var(--row-tone);box-shadow:0 0 15px color-mix(in srgb,var(--row-tone) 62%,transparent)}
.dash304-ready-row>div b{grid-area:title;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.78rem;color:var(--text)}
.dash304-ready-row>div small{grid-area:meta;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.63rem;color:#94a3b8}
.dash304-ready-row em{font-style:normal;display:flex;justify-content:center}.dash304-ready-row strong{font-size:.82rem;text-align:end;color:var(--row-tone)}
.dash304-bars{--p:0;grid-column:1 / -1;display:grid;grid-template-columns:repeat(16,1fr);gap:3px;height:5px;direction:ltr}
.dash304-bars i{display:block;border-radius:999px;background:rgba(148,163,184,.18);box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}
.dash304-bars i.on{background:linear-gradient(90deg,#22d3ee,#22c55e);box-shadow:0 0 8px rgba(34,211,238,.22)}
.dash304-pipeline-list{position:relative;z-index:1;display:grid;gap:8px}
.dash304-pipeline-list article{--dash-tone:#38bdf8;display:grid;grid-template-columns:40px minmax(0,1fr);gap:9px;align-items:center;border:1px solid color-mix(in srgb,var(--dash-tone) 25%,rgba(148,163,184,.18));border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--dash-tone) 12%,transparent),rgba(255,255,255,.018));padding:9px;min-width:0}
.dash304-pipeline-list article.green{--dash-tone:#22c55e}.dash304-pipeline-list article.cyan{--dash-tone:#22d3ee}.dash304-pipeline-list article.teal{--dash-tone:#2dd4bf}.dash304-pipeline-list article.purple{--dash-tone:#a855f7}.dash304-pipeline-list article.orange{--dash-tone:#f59e0b}.dash304-pipeline-list article.red{--dash-tone:#fb7185}.dash304-pipeline-list article.blue{--dash-tone:#38bdf8}
.dash304-pipeline-list article>i{width:40px;height:40px;border-radius:15px;display:grid;place-items:center;color:var(--dash-tone);background:color-mix(in srgb,var(--dash-tone) 13%,transparent);font-style:normal}
.dash304-pipeline-list .dash296-svg{width:21px;height:21px;stroke:currentColor;fill:none}
.dash304-pipeline-list div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;min-width:0}
.dash304-pipeline-list span{font-size:.72rem;font-weight:950;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash304-pipeline-list b{font-size:.86rem;color:var(--dash-tone);text-align:end}.dash304-pipeline-list small{grid-column:1 / -1;font-size:.64rem;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash304-pipeline-list .dash304-bars{grid-column:1 / -1;margin-top:3px}
.dash304-tactical-map{position:relative;z-index:1;height:196px;border:1px solid rgba(34,211,238,.16);border-radius:18px;overflow:hidden;background:radial-gradient(circle at 50% 52%,rgba(34,211,238,.11),transparent 34%),linear-gradient(135deg,rgba(2,6,23,.56),rgba(15,23,42,.28))}
.dash304-tactical-map:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(34,211,238,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(34,211,238,.04) 1px,transparent 1px);background-size:18px 18px;opacity:.9}
.dash304-tactical-map svg{position:absolute;inset:0;width:100%;height:100%}.dash304-tactical-map svg path{fill:none;stroke:rgba(34,211,238,.20);stroke-width:.65;vector-effect:non-scaling-stroke}.dash304-tactical-map svg line{stroke:rgba(34,211,238,.22);stroke-dasharray:3 3;vector-effect:non-scaling-stroke}
.dash304-command-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:999px;display:grid;place-items:center;background:radial-gradient(circle,#22d3ee,rgba(34,197,94,.28) 58%,rgba(2,6,23,.86));border:1px solid rgba(34,211,238,.58);color:#071018;font-weight:950;font-size:.62rem;box-shadow:0 0 34px rgba(34,211,238,.28)}
.dash304-map-node{--node-tone:#22c55e;position:absolute;left:calc(var(--x)*1%);top:calc(var(--y)*1%);transform:translate(-50%,-50%);display:grid;justify-items:center;gap:4px;pointer-events:none}.dash304-map-node.ok{--node-tone:#22c55e}.dash304-map-node.warn{--node-tone:#f59e0b}.dash304-map-node.bad{--node-tone:#ef4444}
.dash304-map-node i{width:13px;height:13px;border-radius:999px;background:var(--node-tone);box-shadow:0 0 0 6px color-mix(in srgb,var(--node-tone) 14%,transparent),0 0 22px color-mix(in srgb,var(--node-tone) 62%,transparent)}
.dash304-map-node b{max-width:92px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.58rem;color:#dbeafe;text-shadow:0 1px 4px #000}
.dash304-ops-feed{position:relative;z-index:1;display:grid;gap:7px;max-height:320px;overflow:auto;scrollbar-width:thin}
.dash304-ops-feed article{--dash-tone:#38bdf8;display:grid;grid-template-columns:34px 54px minmax(0,1fr);gap:8px;align-items:center;border:1px solid color-mix(in srgb,var(--dash-tone) 22%,rgba(148,163,184,.18));border-radius:15px;background:linear-gradient(135deg,color-mix(in srgb,var(--dash-tone) 10%,transparent),rgba(255,255,255,.015));padding:8px;min-width:0}.dash304-ops-feed article.green{--dash-tone:#22c55e}.dash304-ops-feed article.orange{--dash-tone:#f59e0b}.dash304-ops-feed article.red{--dash-tone:#fb7185}.dash304-ops-feed article.blue{--dash-tone:#38bdf8}.dash304-ops-feed article.purple{--dash-tone:#a855f7}
.dash304-ops-feed i{width:34px;height:34px;border-radius:13px;display:grid;place-items:center;color:var(--dash-tone);background:color-mix(in srgb,var(--dash-tone) 12%,transparent);font-style:normal}.dash304-ops-feed .dash296-svg{width:18px;height:18px;stroke:currentColor;fill:none}.dash304-ops-feed time{font-size:.64rem;color:#94a3b8;white-space:nowrap}.dash304-ops-feed div{min-width:0}.dash304-ops-feed b{display:block;font-size:.74rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash304-ops-feed small{display:block;font-size:.62rem;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.theme-light .dash304-view2-head,.theme-light .dash304-card{background:linear-gradient(180deg,#ffffff,#f6fbff);border-color:#d7e4ee;box-shadow:0 12px 28px rgba(38,58,88,.07)}
.theme-light .dash304-tactical-map{background:linear-gradient(135deg,#f8fbff,#eaf6ff)}.theme-light .dash304-map-node b{color:#0f172a;text-shadow:none}.theme-light .dash304-command-core{color:#06202a}
@media(max-width:1500px){.dash304-ops-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash304-view2-head{grid-template-columns:1fr}.dash304-view2-head small{text-align:start}}
@media(max-width:760px){.dash304-ops-grid{grid-template-columns:1fr}.dash304-card{min-height:0}.dash304-view2-head{padding:10px}.dash304-view2-head small{white-space:normal}.dash304-ready-row{grid-template-columns:minmax(0,1fr) 50px 40px}.dash304-ops-feed article{grid-template-columns:30px 48px minmax(0,1fr)}}

/* WEB30.1.305_TELEMETRY_SETTINGS_CATALOG_BASE */
.telset-page{display:flex;flex-direction:column;gap:var(--gap);min-height:100%;}
.telset-hero{display:flex;flex-direction:column;gap:12px;overflow:hidden;position:relative;border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);background:
  radial-gradient(circle at 92% 20%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 28%),
  linear-gradient(120deg,rgba(8,18,29,.98),rgba(10,19,31,.94));
  padding-block:12px;}
.telset-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);opacity:.42;pointer-events:none;}
.telset-hero:after{content:"";position:absolute;inset:auto -20% 10px auto;width:38%;height:2px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 60%,transparent),transparent);filter:blur(.2px);opacity:.75;animation:telsetSweep 4.5s linear infinite;}
.telset-hero>div{position:relative;z-index:1;}
.telset-hero-main{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.telset-hero-title{min-width:0;display:flex;flex-direction:column;gap:2px;}
.telset-hero span{display:inline-flex;color:var(--accent2);font-size:.71rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:0;}
.telset-hero h2{margin:0;font-size:1.32rem;line-height:1.2;color:var(--text);}
.telset-hero p{margin:2px 0 0;color:var(--muted);max-width:880px;line-height:1.65;font-size:.84rem;}
.telset-hero-stats{display:grid;grid-template-columns:repeat(3,minmax(82px,1fr));gap:10px;min-width:310px;}
.telset-hero-stats.compact{grid-template-columns:repeat(4,minmax(120px,1fr));min-width:530px;}
.telset-hero-stats article{border:1px solid rgba(255,255,255,.08);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.025));padding:9px 12px;box-shadow:inset 0 1px 0 rgba(255,255,255,.04);display:flex;align-items:center;gap:10px;text-align:right;min-height:58px;}
.telset-hero-stats b{display:block;color:var(--accent);font-size:1.12rem;line-height:1.1;}
.telset-hero-stats small{display:block;color:var(--muted);margin-top:3px;font-size:.72rem;}
.telset-stat-ico{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--accent) 13%,rgba(255,255,255,.03));border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);color:var(--accent2);font-size:1rem;box-shadow:0 0 0 1px rgba(255,255,255,.03) inset;}
.wb-report-marquee{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;border-top:1px solid rgba(255,255,255,.07);padding-top:10px;min-width:0;}
.wb-report-marquee:not(:has(.wb-report-label)){grid-template-columns:minmax(0,1fr);}
.wb-report-label{display:flex;align-items:center;gap:10px;min-width:240px;}
.wb-report-label .dot{width:11px;height:11px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 28%,transparent);animation:telsetPulse 2.2s ease infinite;}
.wb-report-label b{display:block;color:var(--text);font-size:.87rem;}
.wb-report-label small{display:block;color:var(--muted);font-size:.72rem;line-height:1.55;}
.wb-report-window{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02));padding:8px 0;min-width:0;touch-action:pan-y;cursor:grab;}
.wb-report-marquee.dir-up .wb-report-window,.wb-report-marquee.dir-down .wb-report-window{height:44px;padding:0 8px;touch-action:pan-x;}
.wb-report-marquee.drag-off .wb-report-window{cursor:default;}
.wb-report-marquee.is-dragging .wb-report-window{cursor:grabbing;}
.wb-report-marquee.edge-fade-on .wb-report-window:before,.wb-report-marquee.edge-fade-on .wb-report-window:after{content:"";position:absolute;top:0;bottom:0;width:48px;pointer-events:none;z-index:2;}
.wb-report-marquee.edge-fade-on .wb-report-window:before{right:0;background:linear-gradient(270deg,rgba(5,11,19,.96),transparent);}
.wb-report-marquee.edge-fade-on .wb-report-window:after{left:0;background:linear-gradient(90deg,rgba(5,11,19,.96),transparent);}
.wb-report-marquee.dir-up.edge-fade-on .wb-report-window:before,.wb-report-marquee.dir-down.edge-fade-on .wb-report-window:before{left:0;right:0;top:0;bottom:auto;width:auto;height:20px;background:linear-gradient(180deg,rgba(5,11,19,.96),transparent);}
.wb-report-marquee.dir-up.edge-fade-on .wb-report-window:after,.wb-report-marquee.dir-down.edge-fade-on .wb-report-window:after{left:0;right:0;top:auto;bottom:0;width:auto;height:20px;background:linear-gradient(0deg,rgba(5,11,19,.96),transparent);}
.wb-report-track{display:flex;width:max-content;white-space:nowrap;direction:ltr;will-change:transform;transform:translate3d(0,0,0);}
.wb-report-half{display:inline-flex;align-items:center;gap:10px;min-width:max-content;padding-inline-end:10px;}
.wb-report-marquee.dir-up .wb-report-track,.wb-report-marquee.dir-down .wb-report-track{display:flex;flex-direction:column;width:100%;white-space:normal;}
.wb-report-marquee.dir-up .wb-report-half,.wb-report-marquee.dir-down .wb-report-half{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:0;width:100%;padding-inline-end:0;padding-block-end:8px;}
.wb-report-pill{display:inline-flex;align-items:center;gap:8px;min-width:max-content;padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.045);direction:rtl;box-shadow:inset 0 1px 0 rgba(255,255,255,.04);color:var(--text);cursor:pointer;user-select:none;}
.wb-report-marquee.dir-up .wb-report-pill,.wb-report-marquee.dir-down .wb-report-pill{width:100%;justify-content:flex-start;}
.wb-report-pill:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 62%,transparent);outline-offset:2px;}
.wb-report-pill i{display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:rgba(255,255,255,.06);font-style:normal;font-size:.78rem;flex:0 0 22px;}
.wb-report-pill b{font-size:.78rem;color:var(--text);font-weight:650;}
.wb-report-marquee.density-normal .wb-report-pill{padding:9px 14px;}
.wb-report-marquee.density-comfort .wb-report-pill{padding:10px 16px;}
.wb-report-pill.ok i{color:#7bf7a8;background:rgba(34,197,94,.14);} 
.wb-report-pill.warn i{color:#fbbf24;background:rgba(245,158,11,.14);} 
.wb-report-pill.info i{color:#67e8f9;background:rgba(6,182,212,.14);} 
.wb-report-pill.danger i{color:#fda4af;background:rgba(244,63,94,.14);} 
.wb-report-pill.muted i{color:#cbd5e1;background:rgba(148,163,184,.14);} 
.wb-report-focus-pulse{animation:wbReportFocusPulse 1.4s ease 1;}
@keyframes wbReportFocusPulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 55%,transparent)}45%{box-shadow:0 0 0 8px color-mix(in srgb,var(--accent) 18%,transparent)}100%{box-shadow:0 0 0 0 rgba(0,0,0,0)}}
@keyframes telsetPulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 34%,transparent)}70%{box-shadow:0 0 0 9px rgba(0,0,0,0)}100%{box-shadow:0 0 0 0 rgba(0,0,0,0)}}
@keyframes telsetSweep{0%{transform:translateX(0);opacity:.15}35%{opacity:.75}100%{transform:translateX(-260%);opacity:.08}}
.telset-tabs{justify-content:center;margin:0;}
.telset-tabs .tab[disabled]{opacity:.52;cursor:not-allowed;}
.telset-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:14px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02));}
.telset-column{min-width:0;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(4,12,22,.34);padding:12px;display:flex;flex-direction:column;gap:10px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);}
.telset-column-head{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.telset-column-head h3{margin:0;font-size:1rem;color:var(--text);}
.telset-column-head small{display:block;color:var(--muted);margin-top:3px;}
.telset-column-head>span{display:grid;place-items:center;width:38px;height:38px;border-radius:14px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);font-weight:800;}
.telset-search{position:relative;display:block;}
.telset-search input{width:100%;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.2);color:var(--text);padding:10px 38px 10px 10px;outline:none;}
.telset-search input:focus{border-color:color-mix(in srgb,var(--accent) 55%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent);}
.telset-search span{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--muted);}
.telset-list{display:flex;flex-direction:column;gap:8px;min-height:245px;max-height:360px;overflow:auto;padding-inline-end:2px;}
.telset-item{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;text-align:right;border:1px solid rgba(255,255,255,.075);border-radius:14px;background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.025));color:var(--text);padding:10px;cursor:pointer;transition:transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease;}
.telset-item:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 32%,transparent);background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.035));}
.telset-item.active{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 45%,transparent),0 10px 28px color-mix(in srgb,var(--accent) 16%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 17%,rgba(255,255,255,.04)),rgba(255,255,255,.035));}
.telset-item.is-hidden{opacity:.68;}
.telset-item>i{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:rgba(255,255,255,.05);color:var(--accent2);font-style:normal;font-weight:800;}
.telset-item-main{min-width:0;display:flex;flex-direction:column;gap:2px;}
.telset-item-main b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.94rem;}
.telset-item-main small{direction:ltr;text-align:right;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.telset-item-main em{font-style:normal;color:color-mix(in srgb,var(--muted) 86%,transparent);font-size:.72rem;}
.telset-item-badges{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:4px;max-width:120px;}
.telset-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:3px 7px;font-size:.69rem;font-weight:700;border:1px solid transparent;white-space:nowrap;}
.telset-badge.ok{color:#7bf7a8;background:rgba(34,197,94,.13);border-color:rgba(34,197,94,.26);}
.telset-badge.muted{color:#b8c1cf;background:rgba(148,163,184,.12);border-color:rgba(148,163,184,.22);}
.telset-badge.cyan{color:#67e8f9;background:rgba(6,182,212,.13);border-color:rgba(6,182,212,.28);}
.telset-badge.neutral{color:#cbd5e1;background:rgba(255,255,255,.065);border-color:rgba(255,255,255,.1);}
.telset-badge.warn{color:#fbbf24;background:rgba(245,158,11,.13);border-color:rgba(245,158,11,.3);}
.telset-empty{border:1px dashed rgba(255,255,255,.12);border-radius:14px;color:var(--muted);padding:18px;text-align:center;background:rgba(255,255,255,.025);}
.telset-bottom{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.75fr);gap:var(--gap);align-items:stretch;}
.telset-editor,.telset-guide{background:linear-gradient(180deg,rgba(255,255,255,.052),rgba(255,255,255,.024));border:1px solid rgba(255,255,255,.085);}
.telset-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;border-bottom:1px solid rgba(255,255,255,.075);padding-bottom:10px;}
.telset-editor-head small{color:var(--muted);}
.telset-editor-head h3{margin:3px 0 0;color:var(--accent2);font-size:1.05rem;}
.telset-kind-chip{display:inline-flex;border-radius:12px;padding:7px 10px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);font-weight:800;white-space:nowrap;}
.telset-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.telset-readonly,.telset-edit-input,.telset-toggle-row{min-width:0;border:1px solid rgba(255,255,255,.075);border-radius:14px;background:rgba(0,0,0,.16);padding:10px;}
.telset-readonly label,.telset-edit-input span,.telset-toggle-row>span{display:block;color:var(--muted);font-size:.77rem;margin-bottom:7px;}
.telset-readonly b,.telset-readonly code{display:block;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.telset-readonly code{direction:ltr;text-align:right;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#b7c8dc;}
.telset-edit-input input{width:100%;border:1px solid color-mix(in srgb,var(--accent) 32%,rgba(255,255,255,.08));border-radius:11px;background:rgba(3,10,18,.78);color:var(--text);padding:9px 10px;outline:none;}
.telset-edit-input input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent);}
.telset-order-input{background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(255,255,255,.018));}
.telset-order-control{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;gap:8px;align-items:center;}
.telset-order-control .ghost-btn{min-height:38px;border-radius:11px;font-weight:900;font-size:1rem;padding:0;}
.telset-order-control input{text-align:center;font-weight:800;color:var(--accent);}
.telset-order-input small{display:block;margin-top:7px;color:var(--muted);font-size:.69rem;line-height:1.6;}
.telset-toggle-row>div{display:flex;gap:8px;}
.telset-toggle{flex:1;border:1px solid rgba(255,255,255,.12);border-radius:11px;background:rgba(255,255,255,.04);color:var(--muted);padding:9px 10px;cursor:pointer;}
.telset-toggle.active{border-color:var(--accent);color:var(--text);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 28%,transparent),color-mix(in srgb,var(--accent2) 12%,transparent));}
.telset-actions{margin-top:12px;justify-content:flex-start;}
.telset-guide h3{margin-top:0;color:var(--accent2);}
.telset-guide p{color:var(--muted);line-height:1.85;margin:0 0 12px;}
.telset-guide-grid{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 10px;align-items:center;margin-bottom:14px;}
.telset-guide-grid small{color:var(--muted);}
.telset-storage-note{border:1px dashed color-mix(in srgb,var(--accent) 32%,transparent);border-radius:14px;padding:11px;background:color-mix(in srgb,var(--accent) 8%,transparent);display:flex;flex-direction:column;gap:5px;color:var(--muted);}
.telset-storage-note b{color:var(--text);}
.telset-storage-note code{direction:ltr;color:var(--accent2);}
@media (max-width:1180px){.telset-board{grid-template-columns:1fr}.telset-list{max-height:280px}.telset-bottom{grid-template-columns:1fr}.telset-hero-main{flex-direction:column;align-items:stretch}.telset-hero-stats.compact{min-width:0;width:100%}.wb-report-marquee{grid-template-columns:1fr}.wb-report-label{min-width:0}}
@media (max-width:760px){.telset-editor-grid{grid-template-columns:1fr}.telset-item{grid-template-columns:32px minmax(0,1fr)}.telset-item-badges{grid-column:2;max-width:none;justify-content:flex-start}.telset-hero{padding-block:10px}.telset-hero h2{font-size:1.16rem}.telset-hero p{font-size:.78rem;line-height:1.55}.telset-hero-stats.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.telset-hero-stats article{min-height:54px;padding:8px 10px}.telset-stat-ico{width:32px;height:32px;flex-basis:32px}.telset-board{padding:10px}.telset-bottom{gap:10px}.wb-report-window{padding:7px 0}.wb-report-pill{padding:7px 10px}.wb-report-pill b{font-size:.74rem}}

/* WEB30.1.306 - Telemetry sensor grouping */
.telset-edit-input select{width:100%;border:1px solid color-mix(in srgb,var(--accent) 28%,rgba(255,255,255,.08));border-radius:11px;background:rgba(3,10,18,.78);color:var(--text);padding:9px 10px;outline:none;}
.telset-edit-input.wide{grid-column:1/-1;}
.telset-groups{display:grid;grid-template-columns:minmax(230px,.78fr) minmax(420px,1.4fr) minmax(320px,1fr);gap:14px;background:linear-gradient(180deg,rgba(255,255,255,.047),rgba(255,255,255,.02));}
.telset-group-list,.telset-group-editor,.telset-group-pool{min-width:0;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(4,12,22,.36);padding:12px;display:flex;flex-direction:column;gap:12px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);}
.telset-group-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
.telset-group-head h3{margin:0;color:var(--text);font-size:1rem;}
.telset-group-head small{display:block;color:var(--muted);line-height:1.7;margin-top:3px;}
.telset-group-scroll,.telset-sensor-list{display:flex;flex-direction:column;gap:8px;overflow:auto;padding-inline-end:2px;}
.telset-group-scroll{max-height:560px;}
.telset-sensor-list.pool{max-height:610px;}
.telset-sensor-list.members{max-height:270px;}
.telset-group-card{width:100%;display:grid;grid-template-columns:14px minmax(0,1fr) auto;grid-template-areas:"dot title count" ". desc count";gap:3px 9px;align-items:center;text-align:right;border:1px solid rgba(255,255,255,.08);border-radius:15px;background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.025));color:var(--text);padding:11px;cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease,background .14s ease;}
.telset-group-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 32%,transparent);}
.telset-group-card.active{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 43%,transparent),0 12px 30px color-mix(in srgb,var(--accent) 14%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 17%,rgba(255,255,255,.04)),rgba(255,255,255,.035));}
.telset-group-card.is-hidden{opacity:.62;}
.telset-group-dot{grid-area:dot;width:10px;height:28px;border-radius:999px;background:var(--accent);box-shadow:0 0 16px color-mix(in srgb,var(--accent) 60%,transparent);}
.telset-group-card b{grid-area:title;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.telset-group-card small{grid-area:desc;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.telset-group-card em{grid-area:count;font-style:normal;color:var(--accent2);font-size:.76rem;border:1px solid rgba(255,255,255,.09);border-radius:999px;padding:4px 7px;background:rgba(255,255,255,.045);}
.telset-group-card.color-blue .telset-group-dot{background:#60a5fa;box-shadow:0 0 16px rgba(96,165,250,.45);}
.telset-group-card.color-green .telset-group-dot{background:#34d399;box-shadow:0 0 16px rgba(52,211,153,.45);}
.telset-group-card.color-amber .telset-group-dot{background:#f59e0b;box-shadow:0 0 16px rgba(245,158,11,.45);}
.telset-group-card.color-violet .telset-group-dot{background:#a78bfa;box-shadow:0 0 16px rgba(167,139,250,.45);}
.telset-group-card.color-slate .telset-group-dot{background:#94a3b8;box-shadow:0 0 16px rgba(148,163,184,.35);}
.telset-member-box{margin-top:14px;border-top:1px solid rgba(255,255,255,.08);padding-top:12px;}
.telset-sensor-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:8px;align-items:center;border:1px solid rgba(255,255,255,.075);border-radius:14px;background:linear-gradient(135deg,rgba(255,255,255,.052),rgba(255,255,255,.024));padding:10px;}
.telset-sensor-row.assigned{border-color:color-mix(in srgb,var(--accent) 24%,rgba(255,255,255,.08));background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 9%,rgba(255,255,255,.04)),rgba(255,255,255,.025));}
.telset-sensor-row.missing{border-style:dashed;opacity:.72;}
.telset-sensor-row b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text);}
.telset-sensor-row small{display:block;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:rtl;}
.telset-sensor-row code{direction:ltr;color:#b7c8dc;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;}
.telset-sensor-row em{font-style:normal;color:var(--muted);font-size:.75rem;white-space:nowrap;}
.danger-text{color:#fca5a5!important;border-color:rgba(248,113,113,.28)!important;}
@media (max-width:1280px){.telset-groups{grid-template-columns:1fr 1.45fr}.telset-group-pool{grid-column:1/-1}.telset-sensor-list.pool{max-height:360px}}
@media (max-width:860px){.telset-groups{grid-template-columns:1fr}.telset-sensor-row{grid-template-columns:minmax(0,1fr) auto}.telset-sensor-row em{display:none}.telset-sensor-row .ghost-btn{grid-column:1/-1}.telset-edit-input.wide{grid-column:auto}.telset-group-scroll,.telset-sensor-list.pool{max-height:300px}}

/* WEB30.1.309 - Smart token search for telemetry group parameters */
.telset-smart-search{border:1px solid rgba(255,255,255,.08);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.022));padding:10px;display:flex;flex-direction:column;gap:8px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.022);}
.telset-search.smart input{padding-top:11px;padding-bottom:11px;background:rgba(2,8,16,.76);}
.telset-filter-chipbar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-height:30px;}
.telset-smart-empty{color:var(--muted);font-size:.74rem;border:1px dashed rgba(255,255,255,.12);border-radius:999px;padding:6px 10px;background:rgba(255,255,255,.025);}
.telset-filter-chip{display:inline-grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;max-width:100%;border:1px solid color-mix(in srgb,var(--accent) 26%,rgba(255,255,255,.1));border-radius:999px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 15%,rgba(255,255,255,.04)),rgba(255,255,255,.035));color:var(--text);padding:5px 8px;cursor:pointer;}
.telset-filter-chip small{color:var(--accent2);font-size:.66rem;font-weight:800;white-space:nowrap;}
.telset-filter-chip b{font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.telset-filter-chip span{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;background:rgba(255,255,255,.08);color:#fca5a5;font-weight:900;}
.telset-filter-chip:hover{border-color:color-mix(in srgb,var(--accent) 48%,transparent);box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 10%,transparent);}
.telset-filter-chip.kind-device{border-color:rgba(96,165,250,.34);}
.telset-filter-chip.kind-sensor{border-color:rgba(45,212,191,.34);}
.telset-filter-chip.kind-metric{border-color:rgba(52,211,153,.34);}
.telset-filter-chip.kind-unit{border-color:rgba(245,158,11,.34);}
.telset-suggestions{display:flex;flex-direction:column;gap:5px;max-height:170px;overflow:auto;}
.telset-suggestions button{display:grid;grid-template-columns:78px minmax(0,1fr);gap:8px;align-items:center;text-align:right;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.035);color:var(--text);padding:8px 10px;cursor:pointer;}
.telset-suggestions button:hover{border-color:color-mix(in srgb,var(--accent) 42%,transparent);background:color-mix(in srgb,var(--accent) 12%,rgba(255,255,255,.035));}
.telset-suggestions small{color:var(--accent2);font-weight:800;white-space:nowrap;}
.telset-suggestions b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.telset-smart-hint{color:var(--muted);font-size:.76rem;line-height:1.7;border:1px dashed rgba(255,255,255,.11);border-radius:12px;padding:8px 10px;background:rgba(255,255,255,.025);}
.telset-clear-filters{align-self:flex-start;}
/* WEB30.1.312 - telemetry group-aware filters */
.telemetry-group-tabs{margin:8px 0 6px;padding:2px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}
.telemetry-group-tabs .group-tab{position:relative;overflow:hidden}
.telemetry-group-tabs .group-tab::before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:4px;background:var(--accent);opacity:.75}
.telemetry-group-tabs .group-tab.color-green::before{background:var(--good)}
.telemetry-group-tabs .group-tab.color-amber::before{background:var(--warn)}
.telemetry-group-tabs .group-tab.color-violet::before{background:#a78bfa}
.telemetry-group-tabs .group-tab.color-blue::before{background:#38a8ff}
.telemetry-group-tabs .group-tab.color-slate::before{background:#94a3b8}
.history-filter-four{grid-template-columns:minmax(190px,.8fr) minmax(190px,.8fr) minmax(190px,.8fr) minmax(240px,1.1fr)}
@media(max-width:1200px){.history-filter-four{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.history-filter-four{grid-template-columns:1fr}}

/* WEB30.1.313 telemetry staged-change basket */
.telset-item.is-dirty{
  border-style:dashed;
  border-color:rgba(248,113,113,.82);
  box-shadow:0 0 0 1px rgba(248,113,113,.24),0 10px 26px rgba(248,113,113,.08);
}
.telset-item.is-dirty-self{background:linear-gradient(135deg,rgba(248,113,113,.105),rgba(255,255,255,.025));}
.telset-item.is-dirty.is-dirty-child:not(.is-dirty-self){border-color:rgba(248,113,113,.58);box-shadow:inset 0 0 0 1px rgba(248,113,113,.12);}
.telset-badge.danger{color:#fecaca;background:rgba(239,68,68,.14);border-color:rgba(248,113,113,.34);}
.telset-badge.danger.soft{opacity:.78;background:rgba(239,68,68,.08);}
.telset-editor.is-dirty-editor{border-style:dashed;border-color:rgba(248,113,113,.68);box-shadow:0 0 0 1px rgba(248,113,113,.16),0 16px 38px rgba(248,113,113,.06);}
.telset-dirty-panel{grid-column:1/-1;border:1px solid rgba(248,113,113,.18);background:linear-gradient(180deg,rgba(248,113,113,.055),rgba(255,255,255,.024));}
.telset-dirty-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;border-bottom:1px solid rgba(255,255,255,.075);padding-bottom:10px;}
.telset-dirty-head h3{margin:0;color:#fecaca;font-size:1.02rem;}
.telset-dirty-head small{display:block;color:var(--muted);margin-top:4px;line-height:1.7;}
.telset-dirty-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-start;}
.telset-dirty-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:9px;}
.telset-dirty-card{min-width:0;border:1px dashed rgba(248,113,113,.38);border-radius:15px;background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(248,113,113,.035));padding:10px;display:flex;flex-direction:column;gap:9px;}
.telset-dirty-card-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;}
.telset-dirty-card-head span{display:inline-flex;border-radius:999px;border:1px solid rgba(248,113,113,.28);background:rgba(248,113,113,.1);color:#fecaca;padding:4px 8px;font-size:.7rem;font-weight:800;white-space:nowrap;}
.telset-dirty-card-head b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text);font-size:.84rem;}
.telset-dirty-diff{display:flex;flex-direction:column;gap:6px;}
.telset-dirty-diff span{display:grid;grid-template-columns:54px minmax(0,1fr);gap:8px;align-items:start;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:rgba(0,0,0,.14);padding:6px 8px;}
.telset-dirty-diff small{color:var(--muted);font-size:.68rem;}
.telset-dirty-diff b{font-size:.75rem;color:#dbeafe;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
@media (max-width:760px){.telset-dirty-head{flex-direction:column}.telset-dirty-actions{width:100%}.telset-dirty-actions button{flex:1}.telset-dirty-grid{grid-template-columns:1fr}}


/* WEB30.1.316_TELEMETRY_DIRTY_BASKET_POLISH */
.telset-dirty-panel{
  position:relative;
  overflow:hidden;
  border-color:rgba(248,113,113,.22);
  background:
    radial-gradient(circle at 92% 16%,rgba(248,113,113,.12),transparent 28%),
    linear-gradient(180deg,rgba(248,113,113,.06),rgba(255,255,255,.024));
}
.telset-dirty-panel:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(120deg,transparent,rgba(255,255,255,.045),transparent),
    repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,transparent 1px 36px);
  opacity:.32;
}
.telset-dirty-panel>*{position:relative;z-index:1;}
.telset-dirty-head{
  align-items:center;
  margin-bottom:10px;
  padding-bottom:10px;
  border-bottom-color:rgba(255,255,255,.08);
}
.telset-dirty-title{
  display:flex;
  align-items:center;
  gap:11px;
  min-width:0;
}
.telset-dirty-icon{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  border-radius:16px;
  color:#fecaca;
  background:linear-gradient(180deg,rgba(248,113,113,.18),rgba(248,113,113,.06));
  border:1px solid rgba(248,113,113,.28);
  box-shadow:0 0 0 1px rgba(255,255,255,.035) inset,0 14px 28px rgba(248,113,113,.08);
  animation:telsetDirtySpinPulse 4.8s ease-in-out infinite;
}
.telset-dirty-title h3{font-size:.98rem;}
.telset-dirty-title small{font-size:.78rem;}
.telset-dirty-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:0 0 11px;
}
.telset-dirty-summary article{
  min-width:0;
  display:flex;
  align-items:center;
  gap:9px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:14px;
  padding:8px 10px;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  opacity:.78;
}
.telset-dirty-summary article.active{
  opacity:1;
  border-color:rgba(248,113,113,.24);
  background:linear-gradient(180deg,rgba(248,113,113,.12),rgba(255,255,255,.026));
}
.telset-dirty-summary i{
  width:30px;
  height:30px;
  flex:0 0 30px;
  display:grid;
  place-items:center;
  border-radius:11px;
  color:#fecaca;
  background:rgba(248,113,113,.12);
  border:1px solid rgba(248,113,113,.2);
  font-style:normal;
  font-size:.84rem;
}
.telset-dirty-summary b{
  display:block;
  color:#fecaca;
  font-size:1rem;
  line-height:1;
}
.telset-dirty-summary small{
  display:block;
  color:var(--muted);
  font-size:.7rem;
  margin-top:3px;
}
.telset-dirty-grid{
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:10px;
}
.telset-dirty-card{
  position:relative;
  border-color:rgba(248,113,113,.42);
  background:
    linear-gradient(135deg,rgba(255,255,255,.06),rgba(248,113,113,.04)),
    linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.12));
  box-shadow:0 12px 24px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.035);
}
.telset-dirty-card:before{
  content:"";
  position:absolute;
  inset:9px auto 9px 9px;
  width:3px;
  border-radius:99px;
  background:linear-gradient(180deg,#fecaca,rgba(248,113,113,.25));
  opacity:.8;
}
.telset-dirty-card.kind-device{border-color:rgba(96,165,250,.42);}
.telset-dirty-card.kind-device:before{background:linear-gradient(180deg,#93c5fd,rgba(96,165,250,.25));}
.telset-dirty-card.kind-sensor{border-color:rgba(34,211,238,.42);}
.telset-dirty-card.kind-sensor:before{background:linear-gradient(180deg,#67e8f9,rgba(34,211,238,.25));}
.telset-dirty-card.kind-metric{border-color:rgba(248,113,113,.42);}
.telset-dirty-card-head span{
  padding:4px 9px;
  background:rgba(248,113,113,.12);
  box-shadow:0 0 0 1px rgba(255,255,255,.03) inset;
}
.telset-dirty-card-head b{font-size:.82rem;}
.telset-dirty-diff span{
  grid-template-columns:60px minmax(0,1fr);
  border-color:rgba(255,255,255,.075);
  background:rgba(0,0,0,.18);
}
.telset-dirty-diff b{color:#e0f2fe;}
.telset-dirty-empty{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  gap:12px;
  border:1px dashed rgba(34,197,94,.26);
  border-radius:16px;
  background:linear-gradient(135deg,rgba(34,197,94,.08),rgba(255,255,255,.025));
  padding:14px 16px;
  color:var(--text);
}
.telset-dirty-empty>span{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:14px;
  color:#86efac;
  background:rgba(34,197,94,.13);
  border:1px solid rgba(34,197,94,.24);
  font-weight:900;
}
.telset-dirty-empty b{display:block;color:#dcfce7;font-size:.9rem;}
.telset-dirty-empty small{display:block;color:var(--muted);margin-top:3px;line-height:1.65;}
@keyframes telsetDirtySpinPulse{
  0%,100%{transform:rotate(0deg);box-shadow:0 0 0 0 rgba(248,113,113,.12),0 14px 28px rgba(248,113,113,.08);}
  45%{transform:rotate(-6deg);box-shadow:0 0 0 7px rgba(248,113,113,0),0 18px 34px rgba(248,113,113,.12);}
}
@media (max-width:760px){
  .telset-dirty-head{align-items:stretch}
  .telset-dirty-title{align-items:flex-start}
  .telset-dirty-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* WEB30.1.318_TELEMETRY_GROUP_STAGED_MEMBERSHIP */
.telset-sensor-row.pending-add{border-style:dashed;border-color:rgba(34,211,238,.45);background:linear-gradient(135deg,rgba(34,211,238,.09),rgba(255,255,255,.025));}
.telset-sensor-row.pending-remove{border-style:dashed;border-color:rgba(251,191,36,.48);background:linear-gradient(135deg,rgba(251,191,36,.09),rgba(255,255,255,.025));opacity:.88;}
.telset-group-drafts{margin-top:14px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02));padding:12px;}
.telset-group-drafts-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.075);}
.telset-group-drafts-head h3{margin:0;color:#e0f2fe;font-size:.98rem;}
.telset-group-drafts-head small{display:block;color:var(--muted);margin-top:3px;line-height:1.65;}
.telset-group-draft-summary{display:flex;align-items:center;gap:6px;direction:ltr;}
.telset-group-draft-summary span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);color:var(--accent);font-weight:800;padding:5px 8px;}
.telset-group-draft-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;}
.telset-group-draft-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border:1px dashed rgba(34,211,238,.34);border-radius:14px;background:linear-gradient(135deg,rgba(34,211,238,.06),rgba(255,255,255,.025));padding:9px 10px;}
.telset-group-draft-card.remove{border-color:rgba(251,191,36,.42);background:linear-gradient(135deg,rgba(251,191,36,.07),rgba(255,255,255,.025));}
.telset-group-draft-card span{display:inline-flex;width:max-content;border-radius:999px;padding:3px 7px;background:rgba(34,211,238,.13);border:1px solid rgba(34,211,238,.25);color:#67e8f9;font-size:.68rem;font-weight:800;}
.telset-group-draft-card.remove span{background:rgba(251,191,36,.13);border-color:rgba(251,191,36,.28);color:#fbbf24;}
.telset-group-draft-card b{display:block;margin-top:5px;color:var(--text);font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.telset-group-draft-card small{display:block;color:var(--muted);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
@media (max-width:760px){.telset-group-drafts-head{flex-direction:column}.telset-group-draft-grid{grid-template-columns:1fr}.telset-group-draft-card{grid-template-columns:1fr}.telset-group-draft-card button{width:100%;}}

/* WEB30.1.319_TELEMETRY_SAVE_REVIEW_PREVIEW */
.telset-review-backdrop{position:fixed;inset:0;z-index:9000;display:grid;place-items:center;background:rgba(2,6,12,.68);backdrop-filter:blur(9px);padding:18px;}
.telset-review-modal{width:min(920px,calc(100vw - 36px));max-height:min(82vh,820px);display:flex;flex-direction:column;gap:12px;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 26%,rgba(255,255,255,.08));background:radial-gradient(circle at 92% 12%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 28%),linear-gradient(180deg,rgba(10,20,34,.98),rgba(6,12,22,.96));box-shadow:0 28px 90px rgba(0,0,0,.42);}
.telset-review-head{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:10px;}
.telset-review-title{display:flex;align-items:center;gap:11px;min-width:0;}
.telset-review-title>span{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:15px;color:#86efac;background:rgba(34,197,94,.13);border:1px solid rgba(34,197,94,.24);font-weight:900;}
.telset-review-title h3{margin:0;color:var(--text);font-size:1.05rem;}
.telset-review-title small{display:block;color:var(--muted);margin-top:4px;line-height:1.65;}
.telset-review-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;}
.telset-review-summary article{display:flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.08);border-radius:15px;padding:9px 10px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.022));box-shadow:inset 0 1px 0 rgba(255,255,255,.035);}
.telset-review-summary i{width:31px;height:31px;flex:0 0 31px;display:grid;place-items:center;border-radius:11px;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);font-style:normal;font-weight:900;}
.telset-review-summary b{display:block;color:var(--accent);font-size:1rem;line-height:1;}
.telset-review-summary small{display:block;color:var(--muted);font-size:.7rem;margin-top:3px;}
.telset-review-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:9px;overflow:auto;padding-inline-end:2px;max-height:44vh;}
.telset-review-row{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:start;border:1px dashed rgba(255,255,255,.14);border-radius:15px;padding:10px;background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.025));}
.telset-review-row>span{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 8px;font-size:.68rem;font-weight:850;white-space:nowrap;color:#e0f2fe;background:rgba(6,182,212,.12);border:1px solid rgba(6,182,212,.26);}
.telset-review-row.kind-device>span{color:#bfdbfe;background:rgba(96,165,250,.13);border-color:rgba(96,165,250,.28);}
.telset-review-row.kind-sensor>span{color:#99f6e4;background:rgba(20,184,166,.13);border-color:rgba(20,184,166,.28);}
.telset-review-row.kind-metric>span{color:#fecaca;background:rgba(248,113,113,.13);border-color:rgba(248,113,113,.28);}
.telset-review-row.group-add>span{color:#67e8f9;background:rgba(34,211,238,.13);border-color:rgba(34,211,238,.28);}
.telset-review-row.group-remove>span{color:#fbbf24;background:rgba(251,191,36,.13);border-color:rgba(251,191,36,.3);}
.telset-review-row b{display:block;min-width:0;color:var(--text);font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.telset-review-row small{display:block;color:var(--muted);font-size:.72rem;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.telset-review-warning{display:flex;align-items:center;gap:8px;border:1px solid rgba(251,191,36,.22);border-radius:14px;background:rgba(251,191,36,.08);color:#fde68a;padding:9px 11px;font-size:.78rem;line-height:1.7;}
.telset-review-warning b{color:#fbbf24;white-space:nowrap;}
.telset-review-actions{display:flex;justify-content:flex-start;gap:9px;border-top:1px solid rgba(255,255,255,.08);padding-top:10px;}
@media (max-width:760px){.telset-review-modal{width:calc(100vw - 18px);max-height:88vh}.telset-review-head{align-items:flex-start}.telset-review-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.telset-review-list{grid-template-columns:1fr;max-height:42vh}.telset-review-actions{flex-direction:column}.telset-review-actions button{width:100%}}

/* WEB30.1.320_TELEMETRY_AUDIT_HISTORY_BASE */
.telset-audit-panel{display:flex;flex-direction:column;gap:14px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02));}
.telset-audit-head{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid rgba(255,255,255,.075);padding-bottom:12px;}
.telset-audit-head h3{margin:0;color:var(--text);font-size:1.05rem;}
.telset-audit-head small{display:block;color:var(--muted);margin-top:4px;line-height:1.6;}
.telset-audit-stats{display:grid;grid-template-columns:repeat(3,minmax(92px,1fr));gap:8px;min-width:330px;}
.telset-audit-stats article{border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.045);padding:9px 10px;text-align:center;}
.telset-audit-stats b{display:block;color:var(--accent);font-size:1.05rem;line-height:1.1;}
.telset-audit-stats small{display:block;margin:3px 0 0;color:var(--muted);font-size:.72rem;}
.telset-audit-list{display:flex;flex-direction:column;gap:9px;max-height:520px;overflow:auto;padding-inline-end:3px;}
.telset-audit-row{display:grid;grid-template-columns:42px minmax(220px,1fr) minmax(260px,1.2fr) minmax(132px,.55fr);gap:10px;align-items:center;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:linear-gradient(135deg,rgba(255,255,255,.052),rgba(255,255,255,.025));padding:10px;}
.telset-audit-row>i{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;font-style:normal;font-weight:900;background:rgba(255,255,255,.06);}
.telset-audit-row.ok>i{color:#7bf7a8;background:rgba(34,197,94,.13);}
.telset-audit-row.info>i{color:#67e8f9;background:rgba(6,182,212,.13);}
.telset-audit-row.warn>i{color:#fbbf24;background:rgba(245,158,11,.13);}
.telset-audit-main{min-width:0;display:flex;flex-direction:column;gap:4px;}
.telset-audit-main>div{display:flex;align-items:center;gap:8px;min-width:0;}
.telset-audit-main b{color:var(--text);font-size:.88rem;white-space:nowrap;}
.telset-audit-main span{color:var(--accent2);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.telset-audit-main small{color:var(--muted);direction:ltr;text-align:right;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.telset-audit-diff{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:0;}
.telset-audit-diff span{display:flex;flex-direction:column;gap:3px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:rgba(0,0,0,.16);padding:7px 9px;color:var(--text);font-size:.77rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.telset-audit-diff em{font-style:normal;color:var(--muted);font-size:.66rem;}
.telset-audit-meta{display:flex;flex-direction:column;align-items:flex-start;gap:3px;color:var(--muted);font-size:.72rem;}
.telset-audit-meta b{color:var(--text);font-size:.78rem;}
.telset-audit-meta time{direction:ltr;color:var(--muted);}
@media(max-width:1180px){.telset-audit-head{flex-direction:column;align-items:stretch}.telset-audit-stats{min-width:0}.telset-audit-row{grid-template-columns:38px minmax(0,1fr);align-items:start}.telset-audit-diff,.telset-audit-meta{grid-column:2}.telset-audit-diff{grid-template-columns:1fr}}
@media(max-width:760px){.telset-audit-stats{grid-template-columns:1fr}.telset-audit-row{grid-template-columns:34px minmax(0,1fr);padding:9px}.telset-audit-row>i{width:32px;height:32px}.telset-audit-main>div{flex-direction:column;align-items:flex-start;gap:2px}}

/* WEB30.1.321_TELEMETRY_SENSOR_SMART_SEARCH */
.telset-smart-search.catalog{padding:8px;border-radius:14px;gap:7px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.018));}
.telset-smart-search.catalog .telset-filter-chipbar{min-height:28px;gap:5px;}
.telset-smart-empty.compact{font-size:.68rem;padding:5px 8px;}
.telset-filter-chip.compact{padding:4px 7px;gap:5px;}
.telset-filter-chip.compact small{font-size:.6rem;}
.telset-filter-chip.compact b{font-size:.7rem;max-width:120px;}
.telset-filter-chip.compact span{width:16px;height:16px;font-size:.72rem;}
.telset-search.smart.compact input{padding-top:8px;padding-bottom:8px;font-size:.78rem;}
.telset-suggestions.catalog{max-height:118px;gap:4px;}
.telset-suggestions.catalog button{grid-template-columns:64px minmax(0,1fr);padding:7px 8px;border-radius:10px;}
.telset-suggestions.catalog small{font-size:.66rem;}
.telset-suggestions.catalog b{font-size:.74rem;}
.telset-smart-hint.compact{font-size:.69rem;padding:7px 8px;line-height:1.55;}
.telset-clear-filters[disabled]{opacity:.45;cursor:not-allowed;}
@media (max-width:1180px){.telset-suggestions.catalog{max-height:150px}.telset-filter-chip.compact b{max-width:180px}}

/* WEB30.1.322_TELEMETRY_IMPORT_EXPORT_BASE */
.telset-backup-panel{display:flex;flex-direction:column;gap:14px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02));}
.telset-backup-head{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid rgba(255,255,255,.075);padding-bottom:12px;}
.telset-backup-head h3{margin:0;color:var(--text);font-size:1.05rem;}
.telset-backup-head small{display:block;color:var(--muted);margin-top:4px;line-height:1.6;}
.telset-backup-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;}
.telset-backup-grid article{display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.025));padding:12px;box-shadow:inset 0 1px 0 rgba(255,255,255,.04);}
.telset-backup-grid i{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;font-style:normal;color:var(--accent2);background:color-mix(in srgb,var(--accent) 13%,transparent);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);}
.telset-backup-grid b{display:block;color:var(--accent);font-size:1.1rem;line-height:1.1;}
.telset-backup-grid small{display:block;color:var(--muted);font-size:.73rem;margin-top:3px;}
.telset-backup-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid rgba(255,255,255,.07);border-radius:16px;background:rgba(0,0,0,.14);padding:12px;}
.telset-file-btn{position:relative;overflow:hidden;}
.telset-file-btn input{position:absolute;inset:0;opacity:0;cursor:pointer;}
.telset-backup-note{display:flex;flex-direction:column;gap:5px;border:1px dashed color-mix(in srgb,var(--accent) 24%,rgba(255,255,255,.1));border-radius:16px;padding:12px;background:color-mix(in srgb,var(--accent) 6%,rgba(255,255,255,.02));color:var(--muted);line-height:1.7;}
.telset-backup-note b{color:var(--text);}
.telset-backup-preview{min-height:72px;}
.telset-import-preview{display:grid;grid-template-columns:minmax(240px,1fr) repeat(3,minmax(110px,auto));gap:10px;align-items:center;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.025));padding:12px;}
.telset-import-preview.ok{border-color:rgba(34,197,94,.24);box-shadow:0 0 0 1px rgba(34,197,94,.08) inset;}
.telset-import-preview.warn{border-color:rgba(245,158,11,.28);box-shadow:0 0 0 1px rgba(245,158,11,.09) inset;}
.telset-import-preview b{display:block;color:var(--text);}
.telset-import-preview small{display:block;color:var(--muted);direction:ltr;text-align:right;margin-top:3px;}
.telset-import-preview span{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:7px 10px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);color:var(--accent2);font-weight:750;font-size:.78rem;white-space:nowrap;}
@media(max-width:980px){.telset-backup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.telset-import-preview{grid-template-columns:1fr}.telset-import-preview span{justify-content:flex-start}}
@media(max-width:620px){.telset-backup-grid{grid-template-columns:1fr}.telset-backup-actions{align-items:stretch}.telset-backup-actions>*{width:100%;justify-content:center}}

/* WEB30.1.324_TELEMETRY_NAMING_QUALITY_WARNINGS */
.telset-quality-box{border:1px solid rgba(251,191,36,.25);border-radius:16px;background:linear-gradient(135deg,rgba(251,191,36,.08),rgba(255,255,255,.025));padding:10px 12px;display:grid;gap:9px;margin:8px 0;box-shadow:inset 0 1px 0 rgba(255,255,255,.04);}
.telset-quality-box>div{display:flex;align-items:center;gap:10px;min-width:0;}
.telset-quality-box>div>span{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:12px;color:#fbbf24;background:rgba(251,191,36,.13);border:1px solid rgba(251,191,36,.28);font-weight:900;}
.telset-quality-box>div>b{color:#fde68a;font-size:.88rem;white-space:nowrap;}
.telset-quality-box>div>small{color:var(--muted);font-size:.72rem;margin-inline-start:auto;}
.telset-quality-box ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:7px;}
.telset-quality-box li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 8px;align-items:start;border:1px dashed rgba(251,191,36,.24);border-radius:12px;background:rgba(0,0,0,.12);padding:8px 9px;}
.telset-quality-box li>b{grid-row:1/3;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:rgba(251,191,36,.12);border:1px solid rgba(251,191,36,.22);color:#fde68a;padding:4px 8px;font-size:.66rem;white-space:nowrap;}
.telset-quality-box li>span{color:#fef3c7;font-size:.76rem;line-height:1.6;}
.telset-quality-box li>small{color:#94a3b8;font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.telset-quality-box li.danger{border-color:rgba(248,113,113,.32);background:rgba(248,113,113,.07);}
.telset-quality-box li.danger>b{color:#fecaca;background:rgba(248,113,113,.12);border-color:rgba(248,113,113,.26);}
@media (max-width:760px){.telset-quality-box>div{align-items:flex-start}.telset-quality-box>div>small{margin-inline-start:0}.telset-quality-box ul{grid-template-columns:1fr}.telset-quality-box li{grid-template-columns:1fr}}

/* WEB30.1.325_TELEMETRY_GROUP_TEMPLATES_BASE */
.telset-template-box{border:1px solid rgba(255,255,255,.08);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));padding:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.035);overflow:hidden;}
.telset-template-box.industrial-accordion{background:linear-gradient(135deg,rgba(10,22,35,.88),rgba(6,12,22,.78));border-color:rgba(125,211,252,.13);}
.telset-template-head{width:100%;display:grid;grid-template-columns:54px minmax(0,1fr) repeat(3,auto) 46px;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:12px 13px;border:0;border-bottom:1px solid rgba(255,255,255,.07);background:linear-gradient(90deg,rgba(34,211,238,.1),rgba(255,255,255,.025));color:var(--text);text-align:right;cursor:pointer;position:relative;}
.telset-template-head:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.telset-template-box.collapsed .telset-template-head{border-bottom-color:transparent;}
.telset-template-head:hover{background:linear-gradient(90deg,rgba(34,211,238,.16),rgba(255,255,255,.04));}
.telset-template-head h3{margin:0;color:#e0f2fe;font-size:.96rem;}
.telset-template-title{display:flex;align-items:center;gap:10px;min-width:0;}
.telset-accordion-state{display:inline-flex;align-items:center;justify-content:center;gap:4px;width:40px;height:22px;border-radius:999px;border:1px solid rgba(34,211,238,.24);background:rgba(34,211,238,.07);box-shadow:inset 0 1px 0 rgba(255,255,255,.05);}
.telset-accordion-state i{display:block;width:5px;height:5px;border-radius:999px;background:var(--accent2);box-shadow:0 0 10px rgba(34,211,238,.5);animation:telsetAccordionStatePulse 1.55s ease-in-out infinite;}
.telset-accordion-state i:nth-child(2){animation-delay:.18s;}
.telset-accordion-state i:nth-child(3){animation-delay:.36s;}
.telset-accordion-symbol{width:48px;height:40px;border-radius:16px;display:grid;place-items:center;position:relative;isolation:isolate;background:linear-gradient(135deg,rgba(34,211,238,.18),rgba(255,255,255,.045));border:1px solid rgba(34,211,238,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 24px rgba(0,0,0,.18);overflow:visible;transition:transform .18s ease,border-color .18s ease,background .18s ease;}
.telset-accordion-symbol:before{content:"";position:absolute;inset:3px;border-radius:14px;border:1px solid rgba(34,211,238,.24);box-shadow:0 0 18px rgba(34,211,238,.12);opacity:.82;animation:telsetAccordionHalo 2s ease-in-out infinite;z-index:-1;}
.telset-accordion-symbol:after{content:"";position:absolute;right:50%;bottom:-9px;width:8px;height:8px;border-radius:999px;background:var(--accent2);box-shadow:0 0 12px rgba(34,211,238,.72);transform:translateX(50%);animation:telsetAccordionPointDown 1.35s ease-in-out infinite;}
.telset-accordion-symbol i,.telset-accordion-symbol em,.telset-accordion-symbol b{position:absolute;display:block;content:"";border-radius:999px;background:var(--accent2);box-shadow:0 0 14px rgba(34,211,238,.44);transition:transform .2s ease,width .2s ease,opacity .18s ease;}
.telset-accordion-symbol i{width:20px;height:3px;transform:translateY(-6px);}
.telset-accordion-symbol em{width:20px;height:3px;transform:translateY(0);}
.telset-accordion-symbol b{width:20px;height:3px;transform:translateY(6px);}
.telset-template-box.collapsed .telset-accordion-symbol{animation:telsetAccordionTapDown 1.35s ease-in-out infinite;}
.telset-template-box.collapsed .telset-accordion-symbol i{animation:telsetAccordionHintTop 1.7s ease-in-out infinite;}
.telset-template-box.collapsed .telset-accordion-symbol b{animation:telsetAccordionHintBottom 1.7s ease-in-out infinite;}
.telset-template-box.open .telset-accordion-symbol{animation:telsetAccordionTapUp 1.55s ease-in-out infinite;background:linear-gradient(135deg,rgba(16,185,129,.16),rgba(34,211,238,.08));border-color:rgba(45,212,191,.24);}
.telset-template-box.open .telset-accordion-symbol:after{top:-9px;bottom:auto;animation:telsetAccordionPointUp 1.35s ease-in-out infinite;}
.telset-template-box.open .telset-accordion-symbol i{transform:rotate(45deg);width:22px;}
.telset-template-box.open .telset-accordion-symbol em{opacity:0;transform:scaleX(.2);}
.telset-template-box.open .telset-accordion-symbol b{transform:rotate(-45deg);width:22px;}
.telset-template-summary{min-width:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:13px;border:1px solid rgba(255,255,255,.085);background:rgba(255,255,255,.045);padding:6px 9px;}
.telset-template-summary b{color:#e0f2fe;font-size:.86rem;line-height:1;}
.telset-template-summary small{font-size:.66rem;margin:3px 0 0;color:var(--muted);line-height:1;}
.telset-template-summary.accent{border-color:rgba(34,211,238,.22);background:rgba(34,211,238,.08);}
.telset-template-summary.accent b{color:var(--accent2);}
.telset-accordion-chevron{display:grid;grid-template-columns:1fr;place-items:center;width:44px;height:36px;border-radius:14px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);transition:background .18s ease,transform .18s ease;position:relative;overflow:visible;}
.telset-accordion-chevron:before{content:"";position:absolute;inset:-3px;border-radius:16px;border:1px solid rgba(34,211,238,.18);opacity:.7;animation:telsetAccordionHalo 2s ease-in-out infinite;}
.telset-accordion-chevron:after{content:"";position:absolute;bottom:-7px;left:50%;width:16px;height:3px;border-radius:999px;background:rgba(34,211,238,.72);box-shadow:0 0 12px rgba(34,211,238,.58);transform:translateX(-50%);animation:telsetAccordionUnderlineDown 1.35s ease-in-out infinite;}
.telset-accordion-chevron i{position:absolute;width:14px;height:3px;border-radius:999px;background:var(--accent2);box-shadow:0 0 12px rgba(34,211,238,.42);transition:transform .18s ease;}
.telset-accordion-chevron i:first-child{transform:translateX(-4px) rotate(35deg);}
.telset-accordion-chevron i:last-child{transform:translateX(4px) rotate(-35deg);}
.telset-template-box.collapsed .telset-accordion-chevron{animation:telsetAccordionTapDown 1.35s ease-in-out infinite;}
.telset-template-box.open .telset-accordion-chevron{animation:telsetAccordionTapUp 1.55s ease-in-out infinite;}
.telset-template-box.open .telset-accordion-chevron:after{top:-7px;bottom:auto;animation:telsetAccordionUnderlineUp 1.35s ease-in-out infinite;}
.telset-template-box.open .telset-accordion-chevron i:first-child{transform:translateX(-4px) rotate(-35deg);}
.telset-template-box.open .telset-accordion-chevron i:last-child{transform:translateX(4px) rotate(35deg);}
@keyframes telsetAccordionHintTop{0%,100%{transform:translateY(-6px)}50%{transform:translateY(-9px)}}
@keyframes telsetAccordionHintBottom{0%,100%{transform:translateY(6px)}50%{transform:translateY(9px)}}
@keyframes telsetAccordionHalo{0%,100%{transform:scale(.96);opacity:.45}50%{transform:scale(1.08);opacity:.9}}
@keyframes telsetAccordionTapDown{0%,100%{transform:translateY(0)}45%{transform:translateY(3px)}}
@keyframes telsetAccordionTapUp{0%,100%{transform:translateY(0)}45%{transform:translateY(-3px)}}
@keyframes telsetAccordionPointDown{0%,100%{transform:translate(50%,0);opacity:.55}50%{transform:translate(50%,6px);opacity:1}}
@keyframes telsetAccordionPointUp{0%,100%{transform:translate(50%,0);opacity:.55}50%{transform:translate(50%,-6px);opacity:1}}
@keyframes telsetAccordionUnderlineDown{0%,100%{transform:translateX(-50%) translateY(0);opacity:.5}50%{transform:translateX(-50%) translateY(5px);opacity:1}}
@keyframes telsetAccordionUnderlineUp{0%,100%{transform:translateX(-50%) translateY(0);opacity:.5}50%{transform:translateX(-50%) translateY(-5px);opacity:1}}
@keyframes telsetAccordionStatePulse{0%,100%{opacity:.35;transform:scale(.82)}45%{opacity:1;transform:scale(1.18)}}
@media (prefers-reduced-motion: reduce){.telset-accordion-state i,.telset-accordion-symbol,.telset-accordion-symbol:before,.telset-accordion-symbol:after,.telset-accordion-chevron,.telset-accordion-chevron:before,.telset-accordion-chevron:after,.telset-template-box.collapsed .telset-accordion-symbol i,.telset-template-box.collapsed .telset-accordion-symbol b{animation:none!important;}}
.telset-template-body{max-height:900px;opacity:1;overflow:hidden;padding:12px;transition:max-height .24s ease,opacity .18s ease,padding .2s ease;}
.telset-template-box.collapsed .telset-template-body{max-height:0;opacity:0;padding-top:0;padding-bottom:0;}
.telset-template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:9px;}
.telset-template-card{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;border:1px solid rgba(255,255,255,.075);border-radius:15px;background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.022));padding:10px;align-items:start;}
.telset-template-card i{display:grid;place-items:center;width:36px;height:36px;border-radius:13px;background:rgba(34,211,238,.11);border:1px solid rgba(34,211,238,.19);font-style:normal;color:#67e8f9;}
.telset-template-card b{display:block;color:var(--text);font-size:.87rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.telset-template-card small{display:block;color:var(--muted);line-height:1.55;margin-top:2px;font-size:.72rem;}
.telset-template-card em{display:block;color:var(--accent2);font-style:normal;margin-top:6px;font-size:.7rem;}
.telset-template-actions{grid-column:1/-1;display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap;margin-top:4px;}
.telset-template-card.color-green i{background:rgba(34,197,94,.13);border-color:rgba(34,197,94,.24);color:#86efac;}
.telset-template-card.color-blue i{background:rgba(96,165,250,.13);border-color:rgba(96,165,250,.24);color:#93c5fd;}
.telset-template-card.color-violet i{background:rgba(167,139,250,.13);border-color:rgba(167,139,250,.24);color:#c4b5fd;}
.telset-template-card.color-amber i{background:rgba(245,158,11,.13);border-color:rgba(245,158,11,.24);color:#fbbf24;}
.telset-template-card.color-cyan i{background:rgba(6,182,212,.13);border-color:rgba(6,182,212,.24);color:#67e8f9;}
.telset-template-card.color-slate i{background:rgba(148,163,184,.13);border-color:rgba(148,163,184,.24);color:#cbd5e1;}
@media (max-width:760px){.telset-template-head{grid-template-columns:18px minmax(0,1fr) 28px}.telset-template-summary{display:none}.telset-template-grid{grid-template-columns:1fr}.telset-template-actions .primary-btn,.telset-template-actions .ghost-btn{flex:1 1 100%;}}


/* WEB30.1.327_TELEMETRY_GROUP_WORKSPACE_POLISH */
.telset-group-shell{display:flex;flex-direction:column;gap:var(--gap);}
.telset-group-workspace{position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 18%,rgba(255,255,255,.08));border-radius:20px;background:
  radial-gradient(circle at 94% 12%,color-mix(in srgb,var(--accent) 15%,transparent),transparent 27%),
  linear-gradient(135deg,rgba(9,18,30,.95),rgba(8,13,23,.86));padding:13px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(380px,.72fr);gap:12px;box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 12px 28px rgba(0,0,0,.13);}
.telset-group-workspace:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.045),transparent);opacity:.28;pointer-events:none;}
.telset-workspace-main,.telset-workspace-metrics,.telset-workspace-tools,.telset-workspace-readiness{position:relative;z-index:1;}
.telset-workspace-main{display:flex;flex-direction:column;gap:11px;min-width:0;}
.telset-workspace-title{display:flex;align-items:center;gap:11px;min-width:0;}
.telset-workspace-title h3{margin:0;color:#e0f2fe;font-size:1rem;}
.telset-workspace-title small{display:block;color:var(--muted);line-height:1.65;margin-top:3px;}
.telset-orbit-icon{position:relative;display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:16px;background:color-mix(in srgb,var(--accent) 13%,rgba(255,255,255,.035));border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);box-shadow:0 0 22px color-mix(in srgb,var(--accent) 13%,transparent);}
.telset-orbit-icon:before,.telset-orbit-icon:after{content:"";position:absolute;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);inset:8px;animation:telsetOrbit 3.8s linear infinite;}
.telset-orbit-icon:after{inset:14px;border-color:rgba(255,255,255,.18);animation-direction:reverse;animation-duration:5.2s;}
.telset-orbit-icon i{width:10px;height:10px;border-radius:999px;background:var(--accent);box-shadow:0 0 18px color-mix(in srgb,var(--accent) 70%,transparent);}
.telset-workspace-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
.telset-workspace-steps article{display:flex;align-items:center;gap:8px;min-width:0;border:1px solid rgba(255,255,255,.075);border-radius:15px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.022));padding:9px;}
.telset-workspace-steps article i{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:11px;font-style:normal;font-size:.78rem;background:rgba(148,163,184,.13);color:#cbd5e1;}
.telset-workspace-steps article.ok i{background:rgba(34,197,94,.14);color:#86efac;}
.telset-workspace-steps article.warn i{background:rgba(245,158,11,.14);color:#fbbf24;animation:telsetSoftBlink 1.8s ease-in-out infinite;}
.telset-workspace-steps b{display:block;color:var(--text);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.telset-workspace-steps small{display:block;color:var(--muted);font-size:.68rem;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.telset-workspace-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-self:start;}
.telset-workspace-metrics article{display:flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.075);border-radius:15px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.022));padding:9px;min-width:0;}
.telset-workspace-metrics i{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:11px;background:color-mix(in srgb,var(--accent) 11%,rgba(255,255,255,.04));border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);font-style:normal;}
.telset-workspace-metrics b{display:block;color:var(--accent);font-size:1rem;line-height:1;}
.telset-workspace-metrics small{display:block;color:var(--muted);font-size:.67rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px;}
.telset-workspace-tools{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding-top:10px;border-top:1px solid rgba(255,255,255,.07);}
.telset-workspace-readiness{grid-column:1/-1;display:grid;grid-template-columns:minmax(160px,240px) auto minmax(0,1fr);gap:10px;align-items:center;padding:9px 10px;border:1px solid rgba(255,255,255,.07);border-radius:15px;background:rgba(255,255,255,.03);}
.telset-workspace-readiness span{height:8px;border-radius:999px;background:linear-gradient(90deg,var(--accent) calc((var(--tel-ready) / 4) * 100%),rgba(255,255,255,.09) 0);box-shadow:0 0 18px color-mix(in srgb,var(--accent) 10%,transparent);}
.telset-workspace-readiness b{font-size:.78rem;color:#e0f2fe;white-space:nowrap;}
.telset-workspace-readiness small{color:var(--muted);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.telset-flash-focus{animation:telsetFlashFocus 1.15s ease;}
@keyframes telsetOrbit{to{transform:rotate(360deg)}}
@keyframes telsetSoftBlink{0%,100%{filter:brightness(1)}50%{filter:brightness(1.45)}}
@keyframes telsetFlashFocus{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 35%,transparent)}45%{box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 20%,transparent)}100%{box-shadow:0 0 0 0 transparent}}
.theme-light .telset-group-workspace{background:linear-gradient(135deg,#ffffff,#f4fbff);border-color:#d6e6f2;box-shadow:0 12px 28px rgba(37,58,82,.07)}
.theme-light .telset-workspace-steps article,.theme-light .telset-workspace-metrics article,.theme-light .telset-workspace-readiness{background:linear-gradient(180deg,#ffffff,#f7fbff);border-color:#d9e6ef;}
@media (max-width:1280px){.telset-group-workspace{grid-template-columns:1fr}.telset-workspace-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:920px){.telset-workspace-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.telset-workspace-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.telset-workspace-readiness{grid-template-columns:1fr}.telset-workspace-tools{justify-content:stretch}.telset-workspace-tools .ghost-btn{flex:1 1 150px}}
@media (max-width:560px){.telset-group-workspace{padding:10px}.telset-workspace-title{align-items:flex-start}.telset-workspace-steps{grid-template-columns:1fr}.telset-workspace-metrics{grid-template-columns:1fr}.telset-workspace-tools .ghost-btn{flex-basis:100%}}


/* WEB30.1.330_TELEMETRY_SENSOR_ICON_REPOSITORY */
.tel-sensor-icon{--tsi-accent:#35e8f7;--tsi-line:#f7fcff;--tsi-glow:rgba(53,232,247,.24);position:relative;display:inline-grid;place-items:center;width:38px;height:38px;min-width:38px;border-radius:15px;background:transparent;border:1px solid transparent;color:var(--tsi-line);overflow:hidden;transition:transform .2s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease;isolation:isolate}
.tel-sensor-icon svg{width:100%;height:100%;overflow:visible}.tel-sensor-icon .pri{fill:none;stroke:var(--tsi-line);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.tel-sensor-icon .acc{fill:none;stroke:var(--tsi-accent);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.tel-sensor-icon .pri-fill{fill:var(--tsi-line)}.tel-sensor-icon .acc-fill{fill:var(--tsi-accent)}.tel-sensor-icon .txt{font:800 11px/1 system-ui,-apple-system,Segoe UI,Arial,sans-serif;text-anchor:middle;dominant-baseline:middle;letter-spacing:.02em}.tel-sensor-icon em{position:absolute;inset:auto 6px 6px auto;width:6px;height:6px;border-radius:999px;background:var(--tsi-accent);box-shadow:0 0 12px var(--tsi-accent);opacity:.86;transition:transform .22s ease,opacity .22s ease}
.tel-sensor-icon.big{width:56px;height:56px;min-width:56px;border-radius:18px}.tel-sensor-icon.template{width:42px;height:42px;min-width:42px;border-radius:15px}.tel-sensor-icon.mode-free{padding:1px}.tel-sensor-icon.mode-tile{padding:5px;border-color:color-mix(in srgb,var(--tsi-accent) 36%,rgba(255,255,255,.08));background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.012));box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 0 0 1px rgba(255,255,255,.025),0 0 18px var(--tsi-glow)}
.tel-sensor-icon.pack-line_cyan,.tel-sensor-icon.pack-line_amber,.tel-sensor-icon.pack-line_red{filter:drop-shadow(0 0 8px color-mix(in srgb,var(--tsi-accent) 24%,transparent))}.tel-sensor-icon.pack-neon_mix{box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 0 1px color-mix(in srgb,var(--tsi-accent) 24%,rgba(255,255,255,.06)),0 0 24px color-mix(in srgb,var(--tsi-accent) 28%,transparent)}.tel-sensor-icon.pack-neon_mix .pri,.tel-sensor-icon.pack-neon_mix .acc{filter:drop-shadow(0 0 7px color-mix(in srgb,var(--tsi-accent) 35%,transparent))}
.tel-sensor-icon.preview:hover,.tel-sensor-icon:hover{transform:translateY(-1px) scale(1.03)}.tel-sensor-icon.preview:hover em,.tel-sensor-icon:hover em{transform:scale(1.4);opacity:1}.tel-sensor-icon.preview:hover .acc,.tel-sensor-icon:hover .acc{stroke-width:2.9}.tel-sensor-icon.preview:hover .pri,.tel-sensor-icon:hover .pri{stroke-width:2.55}.tel-sensor-icon.mode-tile.preview:hover,.tel-sensor-icon.mode-tile:hover{border-color:color-mix(in srgb,var(--tsi-accent) 55%,rgba(255,255,255,.12));background:linear-gradient(180deg,color-mix(in srgb,var(--tsi-accent) 8%,transparent),rgba(255,255,255,.018));box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 0 1px color-mix(in srgb,var(--tsi-accent) 22%,rgba(255,255,255,.06)),0 8px 26px rgba(0,0,0,.18),0 0 24px var(--tsi-glow)}
.tel-sensor-icon.mode-free.preview:hover,.tel-sensor-icon.mode-free:hover{filter:drop-shadow(0 0 14px color-mix(in srgb,var(--tsi-accent) 26%,transparent))}.tel-sensor-icon.preview:hover svg{animation:telSensorHoverBob .66s ease both}@keyframes telSensorHoverBob{0%{transform:translateY(0)}35%{transform:translateY(-1.5px)}100%{transform:translateY(0)}}
.tel-sensor-icon.tone-heat{--tsi-accent:#ff8a2a}.tel-sensor-icon.tone-water{--tsi-accent:#35d6ff}.tel-sensor-icon.tone-pressure{--tsi-accent:#b388ff}.tel-sensor-icon.tone-light{--tsi-accent:#ffd83d}.tel-sensor-icon.tone-uv{--tsi-accent:#9b6bff}.tel-sensor-icon.tone-air{--tsi-accent:#63f06d}.tel-sensor-icon.tone-co2{--tsi-accent:#9cfb74}.tel-sensor-icon.tone-voc{--tsi-accent:#ffc53d}.tel-sensor-icon.tone-pm{--tsi-accent:#ffb54d}.tel-sensor-icon.tone-gps{--tsi-accent:#ff4ec8}.tel-sensor-icon.tone-motion{--tsi-accent:#ff75b8}.tel-sensor-icon.tone-wind{--tsi-accent:#35e6ff}.tel-sensor-icon.tone-winddir{--tsi-accent:#2ef0c7}.tel-sensor-icon.tone-rain{--tsi-accent:#55c5ff}.tel-sensor-icon.tone-altitude{--tsi-accent:#61d7ff}.tel-sensor-icon.tone-moisture{--tsi-accent:#32d6ff}.tel-sensor-icon.tone-visibility{--tsi-accent:#edf1f7}.tel-sensor-icon.tone-cloud{--tsi-accent:#d6e2f2}.tel-sensor-icon.tone-emission{--tsi-accent:#62f2d2}.tel-sensor-icon.tone-water_temp{--tsi-accent:#44e4ff}.tel-sensor-icon.tone-compass{--tsi-accent:#63dcff}.tel-sensor-icon.tone-noise{--tsi-accent:#4cb8ff}.tel-sensor-icon.tone-solar{--tsi-accent:#ffe14d}.tel-sensor-icon.tone-device{--tsi-accent:#46d8ff}.tel-sensor-icon.tone-alarm{--tsi-accent:#ff4f63}
.telset-layer-icon{display:inline-grid;place-items:center;width:38px;height:38px;min-width:38px;border-radius:14px;border:1px solid color-mix(in srgb,var(--line) 86%,transparent);background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015));color:var(--muted);font-weight:900;font-size:1.08rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}.telset-layer-icon.layer-device{color:#facc15;border-color:rgba(250,204,21,.22)}.telset-layer-icon.layer-sensor{color:#93c5fd;border-color:rgba(147,197,253,.22)}
.telset-sensor-row.with-icon .tel-sensor-icon{margin-inline-end:0}.telset-template-card>.tel-sensor-icon{grid-row:1 / span 2}.telset-template-card>i{display:none}
.telset-icon-repository{display:flex;flex-direction:column;gap:14px;background:linear-gradient(135deg,rgba(8,18,30,.86),rgba(4,10,18,.82));border-color:rgba(125,211,252,.12)}
.telset-icon-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.telset-icon-head h3{margin:0;color:#e0f2fe}.telset-icon-head small{display:block;color:var(--muted);margin-top:4px;line-height:1.8;max-width:72ch}
.telset-icon-pack-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:8px}.telset-icon-pack-btn{display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);color:var(--text);border-radius:16px;padding:10px 12px;cursor:pointer;font-weight:780;text-align:start;transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease}.telset-icon-pack-btn:hover{transform:translateY(-1px)}.telset-icon-pack-btn.active{border-color:color-mix(in srgb,var(--accent) 42%,transparent);background:color-mix(in srgb,var(--accent) 11%,rgba(255,255,255,.04));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent),0 10px 22px rgba(0,0,0,.15)}
.telset-icon-pack-chip{display:inline-block;position:relative;width:34px;height:34px;min-width:34px;border-radius:12px;border:1px solid color-mix(in srgb,var(--chip-accent) 34%,rgba(255,255,255,.08));background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.012))}.telset-icon-pack-chip:before,.telset-icon-pack-chip:after{content:"";position:absolute}.telset-icon-pack-chip:before{left:8px;top:8px;width:18px;height:18px;border-radius:999px;border:2px solid var(--chip-line)}.telset-icon-pack-chip:after{right:7px;bottom:7px;width:8px;height:8px;border-radius:999px;background:var(--chip-accent);box-shadow:0 0 10px var(--chip-accent)}.telset-icon-pack-chip.free{background:transparent;border-color:transparent}.telset-icon-pack-chip.free:before{left:7px;top:7px}.telset-icon-pack-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px dashed rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.02);color:var(--muted)}.telset-icon-pack-summary b{color:#f8fdff}.telset-icon-pack-summary span{color:var(--accent2);font-weight:800}.telset-icon-pack-summary small{margin-inline-start:auto}
.telset-icon-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.telset-icon-preview-card{display:grid;grid-template-columns:60px minmax(0,1fr);align-items:center;gap:12px;border:1px solid rgba(255,255,255,.075);border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.02));padding:11px 12px;transition:transform .18s ease,border-color .18s ease,background .18s ease}.telset-icon-preview-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 25%,rgba(255,255,255,.08));background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.028))}.telset-icon-preview-card b{display:block;color:var(--text)}.telset-icon-preview-card small{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.telset-icon-note{display:flex;align-items:flex-start;gap:10px;border:1px dashed rgba(255,255,255,.12);border-radius:15px;padding:10px 12px;background:rgba(255,255,255,.025);color:var(--muted);line-height:1.8}.telset-icon-note b{color:var(--accent2);white-space:nowrap}
@media(max-width:760px){.telset-template-head{grid-template-columns:44px minmax(0,1fr) 40px}.telset-template-summary{display:none}.telset-icon-grid{grid-template-columns:1fr}.telset-sensor-row.with-icon{grid-template-columns:36px minmax(0,1fr) auto}.telset-icon-pack-row{grid-template-columns:1fr}.telset-icon-pack-summary{align-items:flex-start}.telset-icon-pack-summary small{margin-inline-start:0;flex-basis:100%}}


.telset-template-card .tel-sensor-icon i{display:block!important;width:auto!important;height:auto!important;border:0!important;background:transparent!important;color:inherit!important;border-radius:0!important;box-shadow:none!important;place-items:initial!important;}

/* WEB30.1.335_DASHBOARD_MARQUEE_CARD_SETTINGS_BASE */
.dash335-hero{display:grid;grid-template-columns:minmax(180px,.26fr) minmax(0,1fr) minmax(210px,.24fr);align-items:center;gap:12px;min-width:0}
.dash335-hero .dash303-identity,.dash335-hero .dash298-hero-status{min-width:0}.dash335-report-card{min-width:0;width:100%;border:0!important;padding:0!important;background:transparent!important;box-shadow:none!important}.dash335-report-card .wb-report-window{border-radius:18px;border:1px solid color-mix(in srgb,var(--accent) 22%,rgba(255,255,255,.08));background:linear-gradient(135deg,rgba(16,185,129,.08),rgba(6,182,212,.075),rgba(124,58,237,.055));box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 12px 30px rgba(0,0,0,.13)}.dash335-report-card .wb-report-item{border-radius:14px}.dash335-report-card .wb-report-label{min-width:166px}.dash335-report-card .wb-report-label b{white-space:nowrap}.dash335-report-card.style-glass .wb-report-window{background:linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,255,255,.025));backdrop-filter:blur(12px)}.dash335-report-card.style-minimal .wb-report-window{background:rgba(255,255,255,.018);box-shadow:none}.dash335-report-card.style-warning .wb-report-window{border-color:rgba(251,191,36,.24);background:linear-gradient(135deg,rgba(251,191,36,.10),rgba(239,68,68,.06),rgba(255,255,255,.025))}.dash335-report-fallback{display:flex;gap:8px;overflow:auto;padding:10px}.dash335-report-fallback span{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:8px 10px;background:rgba(255,255,255,.035)}.dash335-report-fallback i{font-style:normal}.dashboard-settings-page{display:grid;gap:var(--gap,14px)}.dashboard-settings-tabs{margin-bottom:0}.dashboard-settings-panel{overflow:hidden;position:relative}.dashboard-settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.dashboard-settings-head h3{margin:0 0 4px}.dashboard-report-item-list{display:grid;gap:8px}.dashboard-report-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:10px 12px;background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(255,255,255,.018));transition:border-color .18s ease,background .18s ease,opacity .18s ease}.dashboard-report-item.disabled{opacity:.55}.dashboard-report-item.enabled{border-color:color-mix(in srgb,var(--accent) 28%,rgba(255,255,255,.08));background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,rgba(255,255,255,.025)),rgba(255,255,255,.018))}.dashboard-report-item.danger{border-color:rgba(248,113,113,.26)}.dashboard-report-item.warn{border-color:rgba(251,191,36,.25)}.dashboard-report-item.ok{border-color:rgba(74,222,128,.22)}.dashboard-report-item-main{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;min-width:0}.dashboard-report-item-main i{display:grid;place-items:center;width:38px;height:38px;border-radius:14px;font-style:normal;background:color-mix(in srgb,var(--accent) 13%,rgba(255,255,255,.04));border:1px solid color-mix(in srgb,var(--accent) 20%,rgba(255,255,255,.06))}.dashboard-report-item-main b{display:block;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-report-item-main small,.dashboard-report-item-main em{display:block;color:var(--muted);font-style:normal;font-size:.74rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.65}.dashboard-report-item-main em{color:var(--accent2)}.dashboard-report-item-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.dashboard-report-item-actions .switch-line{white-space:nowrap}.ghost-btn.compact,.dashboard-report-item-actions .ghost-btn{min-height:34px;padding:6px 9px;border-radius:11px}.dashboard-report-empty{border:1px dashed rgba(255,255,255,.13);border-radius:16px;padding:14px;background:rgba(255,255,255,.025)}.theme-light .dash335-report-card .wb-report-window{background:linear-gradient(135deg,#f8fdff,#eef8ff);border-color:#cae4f3;box-shadow:0 12px 28px rgba(37,58,82,.08)}.theme-light .dashboard-report-item{background:linear-gradient(135deg,#fff,#f7fbff);border-color:#dbe7f0}.theme-light .dashboard-report-empty{background:#f8fbff;border-color:#d7e6ef}
@media(max-width:1180px){.dash335-hero{grid-template-columns:1fr}.dash335-report-card .wb-report-label{min-width:142px}.dashboard-report-item{grid-template-columns:1fr}.dashboard-report-item-actions{justify-content:flex-start}}
@media(max-width:680px){.dashboard-settings-head{display:grid}.dashboard-report-item-main{grid-template-columns:34px minmax(0,1fr)}.dashboard-report-item-main i{width:34px;height:34px}.dash335-report-card .wb-report-label{display:none}}
/* WEB30.1.336 dashboard marquee item manager polish */
.dashboard-report-manager-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 10px}
.dashboard-report-manager-stats span{display:grid;gap:2px;align-content:center;min-height:54px;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:8px 10px;background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(255,255,255,.016))}
.dashboard-report-manager-stats b{font-size:1.05rem;color:var(--text)}.dashboard-report-manager-stats small{color:var(--muted)}
.dashboard-report-action-panel{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid color-mix(in srgb,var(--accent) 18%,rgba(255,255,255,.08));border-radius:16px;padding:10px 12px;margin-bottom:10px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 7%,rgba(255,255,255,.025)),rgba(255,255,255,.018))}
.dashboard-report-action-panel b,.dashboard-report-action-panel small{display:block}.dashboard-report-action-panel small{color:var(--muted);font-size:.75rem;line-height:1.6}
.dashboard-report-action-buttons{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.dashboard-report-filter-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 10px}
.dashboard-report-filter{border:1px solid rgba(255,255,255,.09);border-radius:999px;background:rgba(255,255,255,.035);color:var(--muted);min-height:32px;padding:6px 11px;cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease}
.dashboard-report-filter:hover,.dashboard-report-filter.active{border-color:color-mix(in srgb,var(--accent) 42%,rgba(255,255,255,.08));background:color-mix(in srgb,var(--accent) 13%,rgba(255,255,255,.035));color:var(--text);transform:translateY(-1px)}
.dashboard-report-order{display:inline-grid;place-items:center;min-width:24px;height:22px;margin-inline-end:7px;border-radius:999px;background:rgba(255,255,255,.06);color:var(--accent2);font-size:.72rem;border:1px solid rgba(255,255,255,.08)}
.dashboard-report-source-line{margin-top:1px;color:color-mix(in srgb,var(--accent2) 74%,var(--muted))!important}
.dashboard-report-item.cat-live .dashboard-report-item-main i{background:rgba(6,182,212,.12)}.dashboard-report-item.cat-communication .dashboard-report-item-main i{background:rgba(124,58,237,.12)}.dashboard-report-item.cat-warning .dashboard-report-item-main i{background:rgba(251,191,36,.12)}.dashboard-report-item.cat-security .dashboard-report-item-main i{background:rgba(59,130,246,.12)}.dashboard-report-item.cat-system .dashboard-report-item-main i{background:rgba(20,184,166,.10)}
.theme-light .dashboard-report-manager-stats span,.theme-light .dashboard-report-action-panel,.theme-light .dashboard-report-filter{background:linear-gradient(135deg,#fff,#f7fbff);border-color:#dbe7f0}.theme-light .dashboard-report-filter.active{background:#eaf8ff;border-color:#aadced;color:#17313b}.theme-light .dashboard-report-order{background:#eef7fb;border-color:#cfe7f0}
@media(max-width:760px){.dashboard-report-manager-stats{grid-template-columns:1fr}.dashboard-report-action-panel{display:grid}.dashboard-report-action-buttons{justify-content:flex-start}}


/* WEB30.1.337 dashboard marquee presets/import-export */
.dashboard-report-current-snapshot{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid color-mix(in srgb,var(--accent) 20%,rgba(255,255,255,.08));border-radius:16px;padding:12px;margin-bottom:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,rgba(255,255,255,.025)),rgba(255,255,255,.018))}
.dashboard-report-current-snapshot b,.dashboard-report-current-snapshot small{display:block}.dashboard-report-current-snapshot small{color:var(--muted);line-height:1.7;max-width:820px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-report-import-export{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.dashboard-report-import-export input[type=file]{max-width:230px;font-size:.75rem;color:var(--muted)}
.dashboard-report-preset-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.dashboard-report-preset-card{display:grid;align-content:start;gap:8px;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:12px;background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(255,255,255,.018));min-height:190px}.dashboard-report-preset-card p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.65}.dashboard-report-preset-card small{display:block;color:var(--muted);font-size:.72rem;line-height:1.55}.dashboard-report-preset-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.dashboard-report-preset-title b{color:var(--text)}.dashboard-report-preset-title span{border:1px solid color-mix(in srgb,var(--accent) 32%,rgba(255,255,255,.08));border-radius:999px;padding:3px 7px;color:var(--accent2);font-size:.68rem;white-space:nowrap;background:color-mix(in srgb,var(--accent) 9%,transparent)}
.theme-light .dashboard-report-current-snapshot,.theme-light .dashboard-report-preset-card{background:linear-gradient(135deg,#fff,#f7fbff);border-color:#dbe7f0}.theme-light .dashboard-report-preset-title span{background:#eaf8ff;border-color:#c8e6f1;color:#14506a}
@media(max-width:1240px){.dashboard-report-preset-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-report-current-snapshot{grid-template-columns:1fr}.dashboard-report-import-export{justify-content:flex-start}}
@media(max-width:760px){.dashboard-report-preset-grid{grid-template-columns:1fr}.dashboard-report-current-snapshot small{white-space:normal}.dashboard-report-import-export input[type=file]{max-width:100%}}

/* WEB30.1.338 dashboard marquee review/health panel */
.dashboard-report-review-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.34fr);gap:12px;margin-bottom:12px}
.dashboard-report-health-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.dashboard-report-health-row{display:grid;gap:4px;border:1px solid rgba(255,255,255,.08);border-radius:15px;padding:10px 12px;background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(255,255,255,.018))}
.dashboard-report-health-row b{color:var(--text);font-size:.86rem}.dashboard-report-health-row span{color:var(--muted);font-size:.76rem;line-height:1.65}
.dashboard-report-health-row.ok{border-color:rgba(74,222,128,.22)}.dashboard-report-health-row.warn{border-color:rgba(251,191,36,.28)}.dashboard-report-health-row.danger{border-color:rgba(248,113,113,.34)}.dashboard-report-health-row.info{border-color:color-mix(in srgb,var(--accent) 32%,rgba(255,255,255,.08))}
.dashboard-report-review-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;border:1px solid color-mix(in srgb,var(--accent) 18%,rgba(255,255,255,.08));border-radius:16px;padding:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 7%,rgba(255,255,255,.025)),rgba(255,255,255,.018))}
.dashboard-report-review-actions small{color:var(--muted);font-size:.73rem;line-height:1.65}.dashboard-report-diff-table table{min-width:720px}.dashboard-report-diff-table td:nth-child(2),.dashboard-report-diff-table td:nth-child(3){max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.theme-light .dashboard-report-health-row,.theme-light .dashboard-report-review-actions{background:linear-gradient(135deg,#fff,#f7fbff);border-color:#dbe7f0}
@media(max-width:1040px){.dashboard-report-review-grid{grid-template-columns:1fr}.dashboard-report-health-list{grid-template-columns:1fr}}

/* WEB30.1.339 - Dashboard marquee source map */
.dashboard-report-source-note{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid color-mix(in srgb,var(--accent) 18%,rgba(255,255,255,.08));border-radius:16px;padding:10px 12px;margin-bottom:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 7%,rgba(255,255,255,.025)),rgba(255,255,255,.018))}
.dashboard-report-source-note b{color:var(--accent2)}.dashboard-report-source-note small{color:var(--muted);line-height:1.6;text-align:end}
.dashboard-report-source-grid{display:grid;gap:9px}
.dashboard-report-source-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid rgba(255,255,255,.08);border-radius:17px;padding:11px 12px;background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(255,255,255,.016));transition:border-color .18s ease,background .18s ease,opacity .18s ease,transform .18s ease}
.dashboard-report-source-row.enabled{border-color:color-mix(in srgb,var(--accent) 28%,rgba(255,255,255,.08));background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,rgba(255,255,255,.025)),rgba(255,255,255,.018))}.dashboard-report-source-row.disabled{opacity:.58}.dashboard-report-source-row:hover{transform:translateY(-1px)}
.dashboard-report-source-row.danger{border-color:rgba(248,113,113,.30)}.dashboard-report-source-row.warn{border-color:rgba(251,191,36,.28)}.dashboard-report-source-row.ok{border-color:rgba(74,222,128,.22)}.dashboard-report-source-row.info{border-color:color-mix(in srgb,var(--accent) 28%,rgba(255,255,255,.08))}
.dashboard-report-source-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:16px;background:color-mix(in srgb,var(--accent) 13%,rgba(255,255,255,.04));border:1px solid color-mix(in srgb,var(--accent) 20%,rgba(255,255,255,.06));font-size:1.1rem}.dashboard-report-source-row.cat-live .dashboard-report-source-icon{background:rgba(6,182,212,.12)}.dashboard-report-source-row.cat-communication .dashboard-report-source-icon{background:rgba(124,58,237,.12)}.dashboard-report-source-row.cat-warning .dashboard-report-source-icon{background:rgba(251,191,36,.12)}.dashboard-report-source-row.cat-security .dashboard-report-source-icon{background:rgba(59,130,246,.12)}.dashboard-report-source-row.cat-system .dashboard-report-source-icon{background:rgba(20,184,166,.10)}
.dashboard-report-source-main{min-width:0}.dashboard-report-source-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:4px}.dashboard-report-source-title b{color:var(--text)}.dashboard-report-source-title span{border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:3px 7px;color:var(--muted);font-size:.68rem;background:rgba(255,255,255,.035)}
.dashboard-report-source-main p{margin:0 0 4px;color:var(--muted);font-size:.78rem;line-height:1.55}.dashboard-report-source-main small{display:block;color:var(--muted);font-size:.72rem;line-height:1.65;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-report-source-main small b{color:color-mix(in srgb,var(--accent2) 82%,var(--text))}
.dashboard-report-source-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;max-width:360px}.theme-light .dashboard-report-source-note,.theme-light .dashboard-report-source-row{background:linear-gradient(135deg,#fff,#f7fbff);border-color:#dbe7f0}.theme-light .dashboard-report-source-title span{background:#f3f8fb;border-color:#dbe7f0;color:#576b77}
@media(max-width:1120px){.dashboard-report-source-row{grid-template-columns:42px minmax(0,1fr)}.dashboard-report-source-actions{grid-column:1/-1;justify-content:flex-start;max-width:none}.dashboard-report-source-note{display:grid}.dashboard-report-source-note small{text-align:start}}
@media(max-width:680px){.dashboard-report-source-row{grid-template-columns:1fr}.dashboard-report-source-icon{width:42px;height:42px}.dashboard-report-source-main small{white-space:normal}}

/* WEB30.1.342 - Dashboard marquee item recycler engine */
.wb-report-marquee.marquee-engine-recycler .wb-report-window{isolation:isolate;}
.wb-report-marquee.marquee-engine-recycler .wb-report-lane{position:relative;display:flex;align-items:center;gap:10px;min-width:100%;min-height:34px;height:var(--wb-report-lane-height,38px);direction:ltr;overflow:visible;contain:layout;}
.wb-report-marquee.marquee-engine-recycler .wb-report-lane.is-ready{display:block;}
.wb-report-marquee.marquee-engine-recycler .wb-report-lane.is-ready>.wb-report-pill{position:absolute;left:0;top:0;margin:0;will-change:transform;transform:translate3d(0,0,0);}
.wb-report-marquee.marquee-engine-recycler.dir-up .wb-report-lane,.wb-report-marquee.marquee-engine-recycler.dir-down .wb-report-lane{display:flex;flex-direction:column;align-items:stretch;gap:8px;width:100%;min-height:100%;}
.wb-report-marquee.marquee-engine-recycler.dir-up .wb-report-lane.is-ready,.wb-report-marquee.marquee-engine-recycler.dir-down .wb-report-lane.is-ready{display:block;width:100%;}
.wb-report-marquee.marquee-engine-recycler.dir-up .wb-report-lane.is-ready>.wb-report-pill,.wb-report-marquee.marquee-engine-recycler.dir-down .wb-report-lane.is-ready>.wb-report-pill{left:0;right:0;width:100%;}
.wb-report-marquee.marquee-engine-recycler .wb-report-pill[data-wb-recycler-index]{backface-visibility:hidden;}

/* WEB30.1.343 Dashboard marquee render guard panel */
.dashboard-report-render-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.36fr);gap:12px;margin-bottom:12px}
.dashboard-report-render-rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.dashboard-report-render-rules article,.dashboard-report-render-actions{border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:11px 12px;background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(255,255,255,.018))}
.dashboard-report-render-rules b,.dashboard-report-render-actions b{display:block;color:var(--text);font-size:.84rem;margin-bottom:4px}
.dashboard-report-render-rules span,.dashboard-report-render-actions small{display:block;color:var(--muted);font-size:.74rem;line-height:1.65}
.dashboard-report-render-actions{display:grid;align-content:start;gap:10px}
.dashboard-report-render-actions>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dashboard-report-render-actions .ghost-btn.active{border-color:color-mix(in srgb,var(--accent) 46%,rgba(255,255,255,.12));background:color-mix(in srgb,var(--accent) 13%,rgba(255,255,255,.035));color:var(--accent2)}
.dashboard-report-render-preview{border:1px solid color-mix(in srgb,var(--accent) 20%,rgba(255,255,255,.08));border-radius:18px;padding:12px;margin-bottom:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 7%,rgba(255,255,255,.025)),rgba(255,255,255,.016));overflow:hidden}
.dashboard-report-render-preview .dash343-render-test{border-top:0;padding-top:0}
.theme-light .dashboard-report-render-rules article,.theme-light .dashboard-report-render-actions,.theme-light .dashboard-report-render-preview{background:linear-gradient(135deg,#fff,#f7fbff);border-color:#dbe7f0}
@media(max-width:1040px){.dashboard-report-render-grid{grid-template-columns:1fr}.dashboard-report-render-rules{grid-template-columns:1fr}}

/* WEB30.1.344 - Dashboard marquee custom event items */
.dashboard-report-custom-panel{display:grid;gap:12px}
.dashboard-report-custom-add{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;border:1px solid color-mix(in srgb,var(--accent) 18%,rgba(255,255,255,.08));border-radius:17px;padding:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 7%,rgba(255,255,255,.025)),rgba(255,255,255,.018))}
.dashboard-report-custom-add label,.dashboard-report-custom-fields label{display:grid;gap:5px;color:var(--muted);font-size:.72rem;min-width:0}
.dashboard-report-custom-add label.wide,.dashboard-report-custom-fields label.wide{grid-column:span 2}
.dashboard-report-custom-add input,.dashboard-report-custom-add select,.dashboard-report-custom-fields input,.dashboard-report-custom-fields select{width:100%;min-width:0;border-radius:11px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.04);color:var(--text);padding:8px 9px;outline:none}
.dashboard-report-custom-add .switch-line{display:flex;align-items:center;gap:8px;align-self:end;min-height:36px}
.dashboard-report-custom-add .primary-btn{align-self:end;min-height:36px}
.dashboard-report-custom-list{display:grid;gap:10px}
.dashboard-report-custom-row{display:grid;grid-template-columns:minmax(230px,.52fr) minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid rgba(255,255,255,.08);border-radius:17px;padding:11px 12px;background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(255,255,255,.016));transition:border-color .18s ease,opacity .18s ease,transform .18s ease}
.dashboard-report-custom-row.enabled{border-color:color-mix(in srgb,var(--accent) 28%,rgba(255,255,255,.08))}.dashboard-report-custom-row.disabled{opacity:.58}.dashboard-report-custom-row:hover{transform:translateY(-1px)}
.dashboard-report-custom-main{display:grid;grid-template-columns:46px minmax(0,1fr);gap:10px;align-items:center;min-width:0}.dashboard-report-custom-main i{display:grid;place-items:center;width:46px;height:46px;border-radius:16px;background:color-mix(in srgb,var(--accent) 13%,rgba(255,255,255,.04));border:1px solid color-mix(in srgb,var(--accent) 20%,rgba(255,255,255,.06));font-style:normal}.dashboard-report-custom-main b{display:block;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-report-custom-main small,.dashboard-report-custom-main em{display:block;color:var(--muted);font-style:normal;font-size:.72rem;line-height:1.55;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-report-custom-main em{color:var(--accent2)}
.dashboard-report-custom-fields{display:grid;grid-template-columns:repeat(5,minmax(90px,1fr));gap:8px;min-width:0}.dashboard-report-custom-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;max-width:260px}
.theme-light .dashboard-report-custom-add,.theme-light .dashboard-report-custom-row{background:linear-gradient(135deg,#fff,#f7fbff);border-color:#dbe7f0}.theme-light .dashboard-report-custom-add input,.theme-light .dashboard-report-custom-add select,.theme-light .dashboard-report-custom-fields input,.theme-light .dashboard-report-custom-fields select{background:#fff;border-color:#dbe7f0;color:#10202b}
@media(max-width:1240px){.dashboard-report-custom-row{grid-template-columns:1fr}.dashboard-report-custom-actions{max-width:none;justify-content:flex-start}.dashboard-report-custom-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-report-custom-add{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.dashboard-report-custom-add,.dashboard-report-custom-fields{grid-template-columns:1fr}.dashboard-report-custom-add label.wide,.dashboard-report-custom-fields label.wide{grid-column:auto}.dashboard-report-custom-main{grid-template-columns:40px minmax(0,1fr)}.dashboard-report-custom-main i{width:40px;height:40px}}
/* WEB30.1.345 dashboard custom item library */
.dashboard-report-custom-library{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid color-mix(in srgb,var(--accent) 18%,rgba(255,255,255,.08));border-radius:17px;padding:11px 12px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 6%,rgba(255,255,255,.025)),rgba(255,255,255,.015))}
.dashboard-report-custom-library b,.dashboard-report-custom-library small{display:block}.dashboard-report-custom-library small{color:var(--muted);font-size:.74rem;margin-top:3px}.dashboard-report-custom-template-buttons{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.dashboard-report-custom-preview{grid-column:span 2;display:flex;align-items:center;gap:8px;min-height:36px;border:1px dashed color-mix(in srgb,var(--accent) 22%,rgba(255,255,255,.1));border-radius:13px;padding:8px 10px;background:rgba(255,255,255,.025);color:var(--muted);font-size:.74rem}.dashboard-report-custom-preview b{color:var(--text)}.dashboard-report-custom-preview span{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--accent2);direction:ltr}.dashboard-report-custom-preview span.warn{color:#fbbf24}.dashboard-report-custom-actions{max-width:330px}.theme-light .dashboard-report-custom-library{background:linear-gradient(135deg,#fff,#f7fbff);border-color:#dbe7f0}.theme-light .dashboard-report-custom-preview{background:#fff;border-color:#dbe7f0}
@media(max-width:900px){.dashboard-report-custom-library{display:grid}.dashboard-report-custom-template-buttons{justify-content:flex-start}.dashboard-report-custom-preview{grid-column:auto}}
/* WEB30.1.347/348: vertical dashboard report uses mechanical step ticker plus vertical detail settings; horizontal item-recycler stays unchanged. */
.wb-report-marquee.marquee-engine-mechanical .wb-report-window{height:44px;padding:0 8px;cursor:pointer;perspective:700px;overflow:hidden;contain:layout paint;}
.wb-report-marquee.marquee-engine-mechanical .wb-report-lane{position:relative;display:block;width:100%;height:44px;min-height:38px;direction:rtl;overflow:hidden;contain:layout paint;}
.wb-report-marquee.marquee-engine-mechanical .wb-report-lane.is-ready>.wb-report-pill{position:absolute;left:0;right:0;top:0;width:100%;margin:0;justify-content:flex-start;will-change:transform,filter;transform:translate3d(0,0,0);backface-visibility:hidden;box-sizing:border-box;max-height:calc(var(--wb-report-viewport-height, 92px) - 2px);}
.wb-report-marquee.marquee-engine-mechanical .wb-report-pill[data-wb-mechanical-role="incoming"]{filter:saturate(.92) brightness(.95);}
.wb-report-marquee.marquee-engine-mechanical.is-ticking .wb-report-window{box-shadow:inset 0 1px 0 rgba(255,255,255,.08),inset 0 -1px 0 color-mix(in srgb,var(--accent) 20%,transparent),0 12px 30px rgba(0,0,0,.13);}
.wb-report-marquee.marquee-engine-mechanical.is-ticking .wb-report-label .dot{animation-duration:.55s;}
.wb-report-marquee.marquee-engine-mechanical.vertical-snap-crisp .wb-report-window:after,.wb-report-marquee.marquee-engine-mechanical.vertical-snap-heavy .wb-report-window:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 36%,transparent 64%,rgba(0,0,0,.12));opacity:.55;z-index:3;}
.wb-report-marquee.marquee-engine-mechanical.vertical-snap-heavy.is-ticking .wb-report-window{animation:dashboardMechanicalTickHit .42s ease both;}
@keyframes dashboardMechanicalTickHit{0%,100%{filter:none}45%{filter:contrast(1.05) brightness(1.06)}}
.dashboard-report-mechanical-tuning{display:grid;gap:9px;margin:10px 0 12px;padding:10px;border:1px solid color-mix(in srgb,var(--accent) 18%,rgba(255,255,255,.08));border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 6%,rgba(255,255,255,.025)),rgba(255,255,255,.014));}
.dashboard-report-mechanical-note{display:grid;gap:3px;margin-bottom:2px}.dashboard-report-mechanical-note b{color:var(--text);font-size:.86rem}.dashboard-report-mechanical-note small{color:var(--muted);font-size:.74rem;line-height:1.6}.theme-light .dashboard-report-mechanical-tuning{background:linear-gradient(135deg,#fff,#f7fbff);border-color:#dbe7f0}


/* WEB30.1.348 - vertical-only detail settings and expanded mechanical item layout */
.wb-report-marquee.marquee-engine-mechanical.vertical-height-compact .wb-report-window{min-height:52px}
.wb-report-marquee.marquee-engine-mechanical.vertical-height-normal .wb-report-window{min-height:76px}
.wb-report-marquee.marquee-engine-mechanical.vertical-height-tall .wb-report-window{min-height:108px}
.wb-report-marquee.marquee-engine-mechanical.vertical-height-full .wb-report-window{min-height:148px}
.wb-report-marquee.marquee-engine-mechanical .wb-report-pill.vertical-detail{border-radius:16px;padding:10px 12px;align-items:center;gap:11px;min-height:calc(var(--wb-report-viewport-height, 76px) - 2px);white-space:normal;line-height:1.35;overflow:hidden}
.wb-report-marquee.marquee-engine-mechanical.vertical-layout-full .wb-report-pill.vertical-detail{align-items:flex-start;padding:12px 14px}
.wb-report-pill-content{display:grid;gap:2px;min-width:0;flex:1;text-align:right;align-content:center}
.wb-report-pill-main{display:flex;align-items:center;gap:8px;min-width:0}.wb-report-pill-main b{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.82rem}
.wb-report-pill-hint,.wb-report-pill-desc,.wb-report-pill-meta{display:block;min-width:0;color:var(--muted);font-size:.71rem;line-height:1.45;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.wb-report-pill-desc{color:color-mix(in srgb,var(--muted) 82%,var(--accent2));font-size:.69rem}
.wb-report-pill-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;color:color-mix(in srgb,var(--accent2) 72%,var(--muted));font-size:.68rem;-webkit-line-clamp:1}.wb-report-pill-meta span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wb-report-pill-meta em{font-style:normal;border:1px solid rgba(255,255,255,.09);border-radius:999px;padding:2px 7px;background:rgba(255,255,255,.035);color:var(--text);direction:ltr;flex:0 0 auto}
.wb-report-marquee.vertical-lines-1 .wb-report-pill-hint,.wb-report-marquee.vertical-lines-1 .wb-report-pill-desc{-webkit-line-clamp:1}.wb-report-marquee.vertical-lines-3 .wb-report-pill-hint,.wb-report-marquee.vertical-lines-3 .wb-report-pill-desc{-webkit-line-clamp:3}
.wb-report-marquee.vertical-icon-large .wb-report-pill i{width:32px;height:32px;flex-basis:32px;font-size:1rem}.wb-report-marquee.vertical-icon-badge .wb-report-pill i{width:38px;height:38px;flex-basis:38px;border-radius:13px;font-size:1.05rem;border:1px solid color-mix(in srgb,var(--accent) 22%,rgba(255,255,255,.08));box-shadow:0 8px 18px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.06)}
.dashboard-report-vertical-detail-settings{display:grid;gap:10px;margin:10px 0 12px;padding:10px;border:1px solid color-mix(in srgb,var(--accent2) 18%,rgba(255,255,255,.08));border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent2) 6%,rgba(255,255,255,.025)),rgba(255,255,255,.014))}
.dashboard-report-vertical-note{display:grid;gap:3px;margin-bottom:2px}.dashboard-report-vertical-note b{color:var(--text);font-size:.86rem}.dashboard-report-vertical-note small{color:var(--muted);font-size:.74rem;line-height:1.6}
.dashboard-report-vertical-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dashboard-report-vertical-grid .setting-row{margin:0}
.dashboard-report-mechanical-tuning.is-disabled,.dashboard-report-vertical-detail-settings.is-disabled{opacity:.48;filter:saturate(.65)}.dashboard-report-mechanical-tuning.is-disabled button,.dashboard-report-vertical-detail-settings.is-disabled button{pointer-events:none}.dashboard-report-mechanical-tuning.is-disabled .dashboard-report-mechanical-note b,.dashboard-report-vertical-detail-settings.is-disabled .dashboard-report-vertical-note b{color:var(--muted)}
.theme-light .dashboard-report-vertical-detail-settings{background:linear-gradient(135deg,#fff,#f7fbff);border-color:#dbe7f0}
@media(max-width:760px){.dashboard-report-vertical-grid{grid-template-columns:1fr}.wb-report-marquee.marquee-engine-mechanical{grid-template-columns:1fr}.wb-report-marquee.marquee-engine-mechanical .wb-report-pill.vertical-detail{padding:9px 10px}.wb-report-pill-meta{display:none}}


/* WEB30.1.349 - reserved dynamic pool and vertical 3x3 detail grid */
.dashboard-report-reserved-slot-settings{display:grid;gap:10px;margin:10px 0 12px;padding:10px;border:1px solid color-mix(in srgb,#f59e0b 20%,rgba(255,255,255,.08));border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,#f59e0b 7%,rgba(255,255,255,.025)),rgba(255,255,255,.014))}
.dashboard-report-slot-note{display:grid;gap:3px;margin-bottom:2px}.dashboard-report-slot-note b{color:var(--text);font-size:.86rem}.dashboard-report-slot-note small{color:var(--muted);font-size:.74rem;line-height:1.65}
.wb-report-marquee.marquee-engine-mechanical.vertical-grid-on.vertical-height-normal .wb-report-window{min-height:112px}.wb-report-marquee.marquee-engine-mechanical.vertical-grid-on.vertical-height-tall .wb-report-window{min-height:152px}.wb-report-marquee.marquee-engine-mechanical.vertical-grid-on.vertical-height-full .wb-report-window{min-height:196px}
.wb-report-marquee.marquee-engine-mechanical .wb-report-pill-content{max-height:100%;overflow:hidden}.wb-report-marquee.marquee-engine-mechanical .wb-report-pill[data-wb-mechanical-role="incoming"]{pointer-events:none}.wb-report-marquee.marquee-engine-mechanical .wb-report-pill-grid{max-height:calc(var(--wb-report-viewport-height, 120px) - 58px);overflow:hidden}
.wb-report-marquee.marquee-engine-mechanical.vertical-grid-on .wb-report-pill.vertical-detail{align-items:stretch}.wb-report-marquee.marquee-engine-mechanical.vertical-grid-on .wb-report-pill-content{align-content:center;gap:5px}.wb-report-pill-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:2px;min-width:0}.wb-report-pill-grid.cols-1{grid-template-columns:1fr}.wb-report-pill-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.wb-report-pill-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.wb-report-pill-cell{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px;min-width:0;border:1px solid rgba(255,255,255,.075);border-radius:10px;padding:4px 6px;background:rgba(255,255,255,.028);box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}.wb-report-pill-cell em{font-style:normal;color:var(--muted);font-size:.62rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wb-report-pill-cell b{font-size:.72rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:end}.wb-report-pill-cell small{font-size:.58rem;color:color-mix(in srgb,var(--accent2) 70%,var(--muted));white-space:nowrap}.wb-report-pill-cell.warn{border-color:rgba(251,191,36,.25);background:rgba(251,191,36,.07)}.wb-report-pill-cell.danger{border-color:rgba(248,113,113,.28);background:rgba(248,113,113,.07)}.wb-report-pill-cell.ok{border-color:rgba(52,211,153,.23);background:rgba(52,211,153,.055)}.wb-report-pill-cell.muted{opacity:.55}.wb-report-marquee.vertical-grid-labels-off .wb-report-pill-cell{grid-template-columns:minmax(0,1fr) auto}.wb-report-marquee.vertical-grid-labels-off .wb-report-pill-cell em{display:none}.wb-report-marquee.vertical-grid-units-off .wb-report-pill-cell small{display:none}.wb-report-marquee.vertical-grid-units-off.vertical-grid-labels-off .wb-report-pill-cell{grid-template-columns:1fr}.wb-report-marquee.vertical-layout-compact .wb-report-pill-grid{display:none}
.theme-light .dashboard-report-reserved-slot-settings{background:linear-gradient(135deg,#fff,#fff9ed);border-color:#ead8b8}.theme-light .wb-report-pill-cell{background:#fff;border-color:#dbe7f0}
@media(max-width:760px){.dashboard-report-reserved-slot-settings .dashboard-report-vertical-grid{grid-template-columns:1fr}.wb-report-pill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wb-report-marquee.marquee-engine-mechanical.vertical-grid-on.vertical-height-full .wb-report-window{min-height:150px}}


/* WEB30.1.350 dashboard marquee acknowledge priority slots */
.wb-report-pill{position:relative}
.wb-report-ack,.wb-report-ack-mark{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:999px;padding:2px 7px;margin-inline-start:2px;border:1px solid rgba(255,255,255,.12);font-size:.62rem;line-height:1.2;background:rgba(255,255,255,.045);color:var(--muted)}
.wb-report-ack{cursor:pointer;color:#fde68a;border-color:rgba(251,191,36,.3);background:rgba(251,191,36,.08)}
.wb-report-ack:hover{color:#fff;background:rgba(251,191,36,.18);border-color:rgba(251,191,36,.48)}
.wb-report-pill.is-acknowledged{opacity:.72;filter:saturate(.78)}
.wb-report-pill.is-acknowledged::after{content:'';position:absolute;inset:auto 10px 6px 10px;height:1px;background:linear-gradient(90deg,transparent,rgba(148,163,184,.34),transparent)}
.dashboard-report-ack-status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:8px;align-items:center;border-top:1px solid rgba(255,255,255,.075);padding-top:9px}
.dashboard-report-ack-status span{display:grid;gap:1px;border:1px solid rgba(255,255,255,.075);border-radius:12px;padding:7px 9px;background:rgba(255,255,255,.025)}
.dashboard-report-ack-status b{font-size:.9rem;color:var(--text)}
.dashboard-report-ack-status small{font-size:.68rem;color:var(--muted)}
@media(max-width:760px){.dashboard-report-ack-status{grid-template-columns:1fr}.wb-report-ack{font-size:.58rem;padding:2px 6px}}

/* WEB30.1.352 dashboard vertical grid polish */
.dashboard-report-vertical-section{display:grid;gap:8px;padding:9px;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:rgba(255,255,255,.018)}
.dashboard-report-vertical-section>b{font-size:.82rem;color:var(--text)}
.dashboard-report-vertical-section>small{color:var(--muted);line-height:1.7}
.dashboard-report-grid-polish-box{border-color:color-mix(in srgb,var(--accent) 20%,rgba(255,255,255,.07));background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 5%,rgba(255,255,255,.018)),rgba(255,255,255,.012))}
.theme-light .dashboard-report-vertical-section{background:#fff;border-color:#dbe7f0}
.wb-report-marquee.vertical-grid-density-tight .wb-report-pill-grid{gap:3px;margin-top:1px}
.wb-report-marquee.vertical-grid-density-readable .wb-report-pill-grid{gap:5px}
.wb-report-marquee.vertical-grid-density-roomy .wb-report-pill-grid{gap:7px;margin-top:4px}
.wb-report-marquee.vertical-grid-density-tight .wb-report-pill-cell{padding:3px 5px;border-radius:8px}
.wb-report-marquee.vertical-grid-density-roomy .wb-report-pill-cell{padding:6px 8px;border-radius:12px}
.wb-report-marquee.vertical-grid-label-stack .wb-report-pill-cell{grid-template-columns:1fr;grid-auto-rows:auto;align-items:start;gap:1px}
.wb-report-marquee.vertical-grid-label-stack .wb-report-pill-cell em{font-size:.58rem;opacity:.88}
.wb-report-marquee.vertical-grid-label-stack .wb-report-pill-cell b{text-align:start;width:100%}
.wb-report-marquee.vertical-grid-label-stack .wb-report-pill-cell small{justify-self:start;font-size:.55rem}
.wb-report-marquee.vertical-grid-align-start .wb-report-pill-cell b{text-align:start;justify-self:start}
.wb-report-marquee.vertical-grid-align-center .wb-report-pill-cell b{text-align:center;justify-self:center}
.wb-report-marquee.vertical-grid-align-end .wb-report-pill-cell b{text-align:end;justify-self:end}
.wb-report-marquee.vertical-grid-tone-solid .wb-report-pill-cell{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.12)}
.wb-report-marquee.vertical-grid-tone-solid .wb-report-pill-cell.ok{background:rgba(52,211,153,.12)}
.wb-report-marquee.vertical-grid-tone-solid .wb-report-pill-cell.warn{background:rgba(251,191,36,.14)}
.wb-report-marquee.vertical-grid-tone-solid .wb-report-pill-cell.danger{background:rgba(248,113,113,.15)}
.wb-report-marquee.vertical-grid-tone-glow .wb-report-pill-cell{box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 0 14px rgba(0,194,199,.06)}
.wb-report-marquee.vertical-grid-tone-glow .wb-report-pill-cell.ok{box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 0 16px rgba(52,211,153,.10)}
.wb-report-marquee.vertical-grid-tone-glow .wb-report-pill-cell.warn{box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 0 18px rgba(251,191,36,.14)}
.wb-report-marquee.vertical-grid-tone-glow .wb-report-pill-cell.danger{box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 0 20px rgba(248,113,113,.16)}
@media(max-width:760px){.dashboard-report-vertical-section{padding:8px}.wb-report-marquee.vertical-grid-density-roomy .wb-report-pill-grid{gap:5px}}

/* WEB30.1.355 dashboard marquee final checkup polish */
.dashboard-report-final-guard-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0 12px}
.dashboard-report-final-guard-strip article{display:grid;gap:3px;border:1px solid rgba(255,255,255,.075);border-radius:14px;padding:9px 10px;background:linear-gradient(135deg,rgba(255,255,255,.035),rgba(255,255,255,.012));min-width:0}
.dashboard-report-final-guard-strip small{font-size:.62rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.dashboard-report-final-guard-strip b{font-size:.86rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-report-final-guard-strip span{font-size:.68rem;color:var(--muted);line-height:1.55;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-report-health-row.ack,.dashboard-report-health-row.info{border-color:rgba(96,165,250,.22);background:rgba(96,165,250,.045)}
.wb-report-marquee .wb-report-pill[source-kind="guard"],.wb-report-marquee .wb-report-pill[data-wb-report-target=".dashboard-settings-page"]{border-style:dashed;opacity:.9}
.theme-light .dashboard-report-final-guard-strip article{background:#fff;border-color:#dbe7f0}
@media(max-width:980px){.dashboard-report-final-guard-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.dashboard-report-final-guard-strip{grid-template-columns:1fr}}

/* WEB30.1.357 Device menu / update workspace base */
.device-ops-nav .nav-item b{letter-spacing:.02em}
.device-update-hero{display:grid;grid-template-columns:minmax(260px,1fr) minmax(320px,1.25fr);gap:var(--gap);align-items:stretch;margin-bottom:var(--gap)}
.device-update-hero>div:first-child{border:1px solid rgba(92,225,230,.25);border-radius:var(--radius);padding:18px;background:linear-gradient(135deg,rgba(0,194,199,.12),rgba(41,224,169,.06));box-shadow:var(--shadow)}
.device-update-hero span{display:inline-flex;color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px}
.device-update-hero h3{margin:0 0 8px;font-size:1.45rem}
.device-update-hero p{margin:0;color:var(--muted);line-height:1.8}
.device-update-hero-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.device-update-tabs{margin-bottom:var(--gap)}
.device-update-panel{margin-bottom:var(--gap)}
.device-update-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--gap);margin-bottom:14px}
.device-update-section-head h3{margin:0 0 4px}
.device-update-dropzone{border:1px dashed rgba(92,225,230,.35);border-radius:var(--radius);padding:18px;display:grid;gap:8px;background:rgba(255,255,255,.025)}
.device-update-dropzone b{font-size:1.05rem}
.device-update-dropzone span,.device-update-panel small,.device-update-panel .muted{color:var(--muted)}
.device-update-checklist,.device-update-job-grid,.device-update-policy-grid,.device-update-timeline,.device-update-steps{display:grid;gap:10px}
.device-update-checklist{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));margin-top:14px}
.device-update-checklist b{grid-column:1/-1}
.device-update-checklist span,.device-update-steps span{border:1px solid rgba(255,255,255,.09);border-radius:12px;padding:10px;background:rgba(255,255,255,.035)}
.device-update-job-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin-bottom:14px}
.device-update-job-grid article,.device-update-policy-grid article,.device-update-timeline article{border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:12px;background:rgba(255,255,255,.035)}
.device-update-job-grid b,.device-update-policy-grid b,.device-update-timeline b{display:block;margin-bottom:5px}
.device-update-policy-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.device-update-timeline{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.device-update-next{margin-top:var(--gap)}
.device-update-steps{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
@media (max-width:900px){.device-update-hero{grid-template-columns:1fr}.device-update-hero-metrics{grid-template-columns:1fr}}

/* WEB30.1.358 OTA release manager base */
.device-update-upload-form{display:grid;gap:12px;margin:14px 0;padding:14px;border:1px solid rgba(92,225,230,.18);border-radius:var(--radius);background:rgba(255,255,255,.025)}
.device-update-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.device-update-upload-form label{display:grid;gap:6px;color:var(--muted);font-size:.88rem}
.device-update-upload-form input,.device-update-upload-form select,.device-update-upload-form textarea{width:100%}
.device-update-upload-form .inline-check{display:flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:9px 11px;background:rgba(255,255,255,.025)}
.device-update-upload-form .inline-check input{width:auto}
.device-update-release-table table small{font-size:.78rem}
.device-update-release-table .row-actions{white-space:nowrap}
.device-update-steps .done{border-color:rgba(41,224,169,.35);background:rgba(41,224,169,.08)}
/* WEB30.1.360_OTA_JOB_SCHEDULER_BASE */
.device-update-job-table table small{font-size:.78rem}
.device-update-job-table .row-actions{white-space:nowrap}
.device-update-upload-form input:disabled,.device-update-upload-form select:disabled{opacity:.65;cursor:not-allowed}

/* WEB30.1.362 - OTA firmware upload progress and post-upload metadata */
.device-update-upload-progress{border:1px solid rgba(92,225,230,.24);border-radius:14px;padding:12px;display:grid;gap:9px;background:rgba(92,225,230,.055)}
.device-update-upload-progress[hidden]{display:none!important}
.device-update-upload-progress>div{display:flex;justify-content:space-between;gap:12px;align-items:center}
.device-update-upload-progress b{font-size:.95rem}
.device-update-upload-progress small{color:var(--muted)}
.device-update-upload-progress progress{width:100%;height:12px;accent-color:var(--accent)}
.device-update-upload-meta{margin-top:4px;border:1px solid rgba(41,224,169,.22);border-radius:14px;padding:12px;background:rgba(41,224,169,.055);display:grid;gap:10px}
.device-update-upload-meta>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:center}
.device-update-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}
.device-update-meta-grid span{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:9px;background:rgba(0,0,0,.12);min-width:0}
.device-update-meta-grid small{display:block;color:var(--muted);font-size:.74rem;margin-bottom:4px}
.device-update-meta-grid b,.device-update-meta-grid code{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:ltr;text-align:left}
.device-update-meta-grid code{font-size:.78rem;color:var(--text)}

/* WEB30.1.363 - Device update UI card separation and visual polish */
.device-update-hero{position:relative;overflow:hidden;border-radius:var(--radius)}
.device-update-hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 8% 12%,rgba(92,225,230,.18),transparent 32%),radial-gradient(circle at 92% 18%,rgba(41,224,169,.14),transparent 28%)}
.device-update-hero>div:first-child{position:relative;border-color:rgba(92,225,230,.34);background:linear-gradient(135deg,rgba(10,33,48,.88),rgba(14,40,42,.74) 55%,rgba(28,51,43,.56));box-shadow:0 16px 42px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.06)}
.device-update-hero span{color:#5ce1e6}
.device-update-hero h3{font-size:1.62rem;letter-spacing:.01em}
.device-update-hero-strip{margin-top:14px;border:1px solid rgba(92,225,230,.22);border-radius:14px;padding:10px 12px;background:rgba(0,0,0,.18);display:flex;justify-content:space-between;gap:12px;align-items:center}
.device-update-hero-strip b{color:var(--text)}
.device-update-hero-strip small{color:var(--muted)}
.device-update-hero-metrics .metric-card{position:relative;overflow:hidden;border-width:1px;border-style:solid;box-shadow:0 14px 34px rgba(0,0,0,.18)}
.device-update-hero-metrics .metric-card:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:rgba(92,225,230,.75)}
.device-update-hero-metrics .metric-card:nth-child(2):before{background:rgba(41,224,169,.82)}
.device-update-hero-metrics .metric-card:nth-child(3):before{background:rgba(251,191,36,.82)}
.device-update-hero-metrics .metric-card:nth-child(1){border-color:rgba(92,225,230,.22);background:linear-gradient(180deg,rgba(92,225,230,.085),rgba(255,255,255,.025))}
.device-update-hero-metrics .metric-card:nth-child(2){border-color:rgba(41,224,169,.22);background:linear-gradient(180deg,rgba(41,224,169,.085),rgba(255,255,255,.025))}
.device-update-hero-metrics .metric-card:nth-child(3){border-color:rgba(251,191,36,.22);background:linear-gradient(180deg,rgba(251,191,36,.09),rgba(255,255,255,.025))}
.device-update-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;border:0;background:transparent;padding:0}
.device-update-tabs .tab{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:8px;row-gap:1px;text-align:left;align-items:center;justify-items:start;border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:12px 12px;background:rgba(255,255,255,.035);min-height:66px;box-shadow:0 10px 24px rgba(0,0,0,.12)}
.device-update-tabs .tab b{font-size:.92rem;color:var(--text);line-height:1.25}
.device-update-tabs .tab small{grid-column:2;color:var(--muted);font-size:.7rem;line-height:1.2;white-space:normal}
.device-update-tabs .tab.active{border-color:rgba(92,225,230,.42);background:linear-gradient(135deg,rgba(92,225,230,.13),rgba(41,224,169,.055));box-shadow:0 14px 30px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.06)}
.du-tab-dot{width:13px;height:13px;border-radius:99px;background:#5ce1e6;box-shadow:0 0 0 4px rgba(92,225,230,.13);grid-row:1/3}
.du-tab-dot.job{background:#fbbf24;box-shadow:0 0 0 4px rgba(251,191,36,.13)}
.du-tab-dot.report{background:#60a5fa;box-shadow:0 0 0 4px rgba(96,165,250,.13)}
.du-tab-dot.policy{background:#a78bfa;box-shadow:0 0 0 4px rgba(167,139,250,.13)}
.device-update-stage-badge{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(92,225,230,.24);border-radius:999px;padding:6px 10px;background:rgba(92,225,230,.075);color:var(--text);font-size:.8rem;white-space:nowrap}
.device-update-stage-badge i{width:8px;height:8px;border-radius:99px;background:#5ce1e6;box-shadow:0 0 10px rgba(92,225,230,.7)}
.device-update-panel{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.08);box-shadow:0 16px 38px rgba(0,0,0,.16)}
.device-update-panel:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:rgba(92,225,230,.85)}
.device-update-panel-releases:before{background:linear-gradient(180deg,#5ce1e6,#29e0a9)}
.device-update-panel-jobs:before{background:linear-gradient(180deg,#fbbf24,#fb7185)}
.device-update-panel-reports:before{background:linear-gradient(180deg,#60a5fa,#5ce1e6)}
.device-update-panel-policy:before{background:linear-gradient(180deg,#a78bfa,#60a5fa)}
.device-update-section-head{padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08)}
.device-update-section-head h3{font-size:1.22rem;display:flex;align-items:center;gap:8px}
.device-update-section-head h3:before{content:"";width:10px;height:10px;border-radius:3px;background:#5ce1e6;box-shadow:0 0 0 4px rgba(92,225,230,.12)}
.device-update-panel-jobs .device-update-section-head h3:before{background:#fbbf24;box-shadow:0 0 0 4px rgba(251,191,36,.12)}
.device-update-panel-reports .device-update-section-head h3:before{background:#60a5fa;box-shadow:0 0 0 4px rgba(96,165,250,.12)}
.device-update-panel-policy .device-update-section-head h3:before{background:#a78bfa;box-shadow:0 0 0 4px rgba(167,139,250,.12)}
.device-update-form-card{border-color:rgba(92,225,230,.22);background:linear-gradient(180deg,rgba(92,225,230,.045),rgba(255,255,255,.02));box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.device-update-form-band{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid rgba(92,225,230,.18);border-radius:14px;padding:9px 11px;background:linear-gradient(90deg,rgba(92,225,230,.10),rgba(92,225,230,.025));margin-top:2px}
.device-update-form-band b{font-size:.88rem;color:var(--text)}
.device-update-form-band small{color:var(--muted);font-size:.74rem}
.device-update-form-band.target{border-color:rgba(41,224,169,.18);background:linear-gradient(90deg,rgba(41,224,169,.095),rgba(41,224,169,.025))}
.device-update-form-band.note{border-color:rgba(251,191,36,.18);background:linear-gradient(90deg,rgba(251,191,36,.095),rgba(251,191,36,.025))}
.device-update-upload-form label{border:1px solid rgba(255,255,255,.06);border-radius:13px;padding:10px;background:rgba(0,0,0,.10)}
.device-update-upload-form label:focus-within{border-color:rgba(92,225,230,.35);box-shadow:0 0 0 3px rgba(92,225,230,.08)}
.device-update-upload-form .inline-check{border-color:rgba(41,224,169,.20);background:rgba(41,224,169,.055)}
.device-update-actionbar{border-top:1px solid rgba(255,255,255,.08);padding-top:12px}
.device-update-upload-progress{border-color:rgba(96,165,250,.34);background:linear-gradient(135deg,rgba(96,165,250,.10),rgba(92,225,230,.055));box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.device-update-upload-progress progress{height:14px;border-radius:999px;overflow:hidden;accent-color:#60a5fa}
.device-update-upload-meta{border-color:rgba(41,224,169,.30);background:linear-gradient(135deg,rgba(41,224,169,.10),rgba(92,225,230,.04));box-shadow:0 14px 30px rgba(0,0,0,.14)}
.device-update-meta-title{border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:8px}
.device-update-meta-title b{color:var(--text)}
.device-update-meta-grid span{position:relative;border-color:rgba(255,255,255,.095);background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(0,0,0,.13));box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
.device-update-meta-grid span:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:12px 0 0 12px;background:rgba(92,225,230,.7)}
.device-update-meta-grid .meta-version:before{background:#5ce1e6}.device-update-meta-grid .meta-target:before{background:#29e0a9}.device-update-meta-grid .meta-channel:before{background:#fbbf24}.device-update-meta-grid .meta-file:before{background:#60a5fa}.device-update-meta-grid .meta-size:before{background:#a78bfa}.device-update-meta-grid .meta-hash:before{background:#fb7185}.device-update-meta-grid .meta-key:before{background:#94a3b8}.device-update-meta-grid .meta-state:before{background:#22c55e}
.device-update-release-table,.device-update-job-table,.device-update-report-table{border:1px solid rgba(255,255,255,.08);border-radius:16px;overflow:hidden;background:rgba(0,0,0,.08)}
.device-update-release-table thead th,.device-update-job-table thead th,.device-update-report-table thead th{background:rgba(92,225,230,.075);color:var(--text)}
.device-update-release-table tbody tr.du-row-enabled td:first-child{box-shadow:inset 4px 0 0 rgba(41,224,169,.72)}
.device-update-release-table tbody tr.du-row-disabled td:first-child{box-shadow:inset 4px 0 0 rgba(148,163,184,.38)}
.device-update-job-grid article,.device-update-policy-grid article,.device-update-timeline article{position:relative;border-color:rgba(255,255,255,.10);background:linear-gradient(180deg,rgba(255,255,255,.048),rgba(0,0,0,.10));box-shadow:0 10px 24px rgba(0,0,0,.10)}
.device-update-job-grid article:before,.device-update-policy-grid article:before,.device-update-timeline article:before{content:"";position:absolute;left:12px;right:12px;top:0;height:3px;border-radius:0 0 999px 999px;background:rgba(251,191,36,.72)}
.device-update-timeline article:before{background:rgba(96,165,250,.72)}
.device-update-policy-grid article:before{background:rgba(167,139,250,.72)}
.device-update-next{border-color:rgba(255,255,255,.08);background:linear-gradient(135deg,rgba(255,255,255,.035),rgba(92,225,230,.025))}
.device-update-steps span{position:relative;border-color:rgba(255,255,255,.10);background:rgba(0,0,0,.10);padding-left:14px}
.device-update-steps span.done{border-color:rgba(41,224,169,.30);background:rgba(41,224,169,.075)}
.theme-light .device-update-hero>div:first-child{background:linear-gradient(135deg,#f0fbff,#f3fff9 55%,#fff8eb);border-color:#bfeff1}
.theme-light .device-update-tabs .tab{background:#fff;border-color:#e4edf5;box-shadow:0 10px 24px rgba(15,23,42,.07)}
.theme-light .device-update-tabs .tab.active{background:linear-gradient(135deg,#eafcff,#f2fff8);border-color:#aee9ee}
.theme-light .device-update-panel,.theme-light .device-update-release-table,.theme-light .device-update-job-table,.theme-light .device-update-report-table{background:#fff;border-color:#e3edf5;box-shadow:0 14px 30px rgba(15,23,42,.07)}
.theme-light .device-update-upload-form label,.theme-light .device-update-meta-grid span,.theme-light .device-update-job-grid article,.theme-light .device-update-policy-grid article,.theme-light .device-update-timeline article{background:#fbfdff;border-color:#e5edf4}
@media(max-width:980px){.device-update-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.device-update-hero-strip,.device-update-form-band{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.device-update-tabs{grid-template-columns:1fr}.device-update-tabs .tab{min-height:auto}.device-update-section-head{flex-direction:column}.device-update-form-grid{grid-template-columns:1fr}}


/* WEB30_1_364 Device Passport / Hardware Profile */
.device-passport-card{border:1px solid rgba(113,147,183,.32);border-radius:18px;padding:12px;margin:12px 0;background:linear-gradient(135deg,rgba(19,31,47,.96),rgba(10,18,29,.94));box-shadow:0 12px 30px rgba(0,0,0,.18)}
.device-passport-card.passport-ok{border-color:rgba(57,210,143,.42);background:linear-gradient(135deg,rgba(18,56,42,.92),rgba(11,24,29,.96))}
.device-passport-card.passport-warn{border-color:rgba(245,174,66,.48);background:linear-gradient(135deg,rgba(64,45,18,.92),rgba(24,22,16,.96))}
.device-passport-card.passport-missing{border-color:rgba(239,91,117,.42);background:linear-gradient(135deg,rgba(58,23,34,.92),rgba(22,18,25,.96))}
.passport-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}.passport-head h4{margin:0;color:#eef6ff}.passport-chip{border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:800;background:rgba(255,255,255,.06);white-space:nowrap}.passport-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.passport-grid div{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:8px;background:rgba(0,0,0,.16);min-width:0}.passport-grid span{display:block;color:var(--muted);font-size:.75rem;margin-bottom:3px}.passport-grid b{display:block;color:var(--text);font-size:.92rem;overflow-wrap:anywhere}.passport-note{margin-top:9px;border:1px dashed rgba(255,255,255,.16);border-radius:12px;padding:8px;background:rgba(0,0,0,.12);display:grid;gap:3px}.passport-note b{font-size:.8rem}.passport-note span{color:var(--muted);overflow-wrap:anywhere}
.device-registry-shell [data-device-row].selected,
.device-registry-layout [data-device-row].selected{
  background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 18%,transparent),transparent 72%);
  box-shadow:inset 4px 0 0 var(--accent);
}
.device-passport-card[data-passport-device-id] .passport-grid div:first-child{
  grid-column:1 / -1;
  border-color:rgba(122,162,255,.34);
  background:rgba(122,162,255,.08);
}


/* WEB30_1_366 Device Center base */
.device-center-page{display:grid;gap:14px}
.device-center-hero{display:flex;justify-content:space-between;align-items:center;gap:12px;background:linear-gradient(135deg,rgba(51,100,178,.18),rgba(15,26,42,.88));border-color:rgba(122,162,255,.24)}
.device-center-hero h2{margin:0}.device-center-hero p{margin:4px 0 0}.device-center-hero>span{border:1px solid rgba(122,162,255,.35);border-radius:999px;padding:7px 11px;font-weight:800;background:rgba(122,162,255,.1);white-space:nowrap}
.device-center-layout{display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:14px;align-items:start}
.device-center-list-card{position:sticky;top:12px}.device-center-counts{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 10px}.device-center-counts span{border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:5px 8px;background:rgba(255,255,255,.05);font-size:.78rem;color:var(--muted)}
.device-center-list{display:grid;gap:8px;max-height:68vh;overflow:auto;padding-inline-end:3px}.device-center-row{width:100%;display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"dot name tag" "dot id tag";gap:2px 8px;align-items:center;text-align:start;border:1px solid rgba(113,147,183,.22);border-radius:14px;padding:9px;background:rgba(255,255,255,.035);color:var(--text);cursor:pointer}.device-center-row:hover{border-color:rgba(122,162,255,.45);background:rgba(122,162,255,.08)}.device-center-row.selected{border-color:rgba(122,162,255,.72);background:linear-gradient(90deg,rgba(122,162,255,.18),rgba(255,255,255,.035));box-shadow:inset 4px 0 0 var(--accent)}.device-center-row b{grid-area:name;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-center-row small{grid-area:id;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-center-row em{grid-area:tag;font-style:normal;font-size:.72rem;border-radius:999px;padding:4px 7px;border:1px solid rgba(255,255,255,.12);white-space:nowrap}.device-center-dot{grid-area:dot;width:10px;height:10px;border-radius:50%;background:var(--muted);box-shadow:0 0 0 4px rgba(255,255,255,.05)}.device-center-dot.online,.device-center-dot.active{background:#39d28f}.device-center-dot.pending{background:#f5ae42}.device-center-dot.offline,.device-center-dot.rejected{background:#ef5b75}.device-center-row em.profile-ok{color:#9ff2c8;background:rgba(57,210,143,.1)}.device-center-row em.profile-draft{color:#ffd391;background:rgba(245,174,66,.1)}.device-center-row em.profile-missing{color:#ffb3c1;background:rgba(239,91,117,.1)}
.device-center-detail{display:grid;gap:12px}.device-center-selected-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.device-center-selected-head h2{margin:0}.device-center-owner{border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:6px 10px;color:var(--muted);background:rgba(255,255,255,.04);white-space:nowrap}.device-center-card-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.device-center-kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.device-center-kv div{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:9px;background:rgba(255,255,255,.035)}.device-center-kv span{display:block;color:var(--muted);font-size:.76rem;margin-bottom:3px}.device-center-kv b{display:block;overflow-wrap:anywhere}
@media(max-width:980px){.device-center-layout{grid-template-columns:1fr}.device-center-list-card{position:relative;top:auto}.device-center-list{max-height:none}.device-center-hero,.device-center-selected-head{align-items:flex-start;flex-direction:column}}
.theme-light .device-center-hero{background:linear-gradient(135deg,#f5f9ff,#fff)}.theme-light .device-center-row,.theme-light .device-center-kv div,.theme-light .device-center-counts span{background:#fbfdff;border-color:#e5edf4}

/* WEB30_1_367 Device Center detail cards */
.device-center-card-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}
.device-center-card{border-color:rgba(122,162,255,.18)}
.device-center-identity-card{background:linear-gradient(135deg,rgba(122,162,255,.08),rgba(255,255,255,.025))}
.device-center-telemetry-card{background:linear-gradient(135deg,rgba(57,210,143,.08),rgba(255,255,255,.025))}
.device-center-comms-card{background:linear-gradient(135deg,rgba(245,174,66,.08),rgba(255,255,255,.025))}
.device-center-telemetry-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}
.device-center-telemetry-chip{border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:10px;background:rgba(0,0,0,.12);display:grid;gap:3px;min-width:0}
.device-center-telemetry-chip span{color:var(--muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.device-center-telemetry-chip b{font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.device-center-telemetry-chip strong{font-size:1.05rem;color:#9ff2c8;overflow-wrap:anywhere}
.device-center-telemetry-chip small{color:var(--muted);font-size:.72rem}
.device-center-empty{grid-column:1/-1;border:1px dashed rgba(255,255,255,.15);border-radius:14px;padding:14px;color:var(--muted);background:rgba(255,255,255,.025)}
.device-center-logs-grid{align-items:start}.device-center-logs-grid h4{margin:0 0 8px}
.device-center-profile-hint{border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:10px 12px;display:flex;justify-content:space-between;gap:12px;align-items:center;background:rgba(255,255,255,.035)}
.device-center-profile-hint b{white-space:nowrap}.device-center-profile-hint span{color:var(--muted);font-size:.86rem}.device-center-profile-hint.hint-ok{border-color:rgba(57,210,143,.38);background:rgba(57,210,143,.08)}.device-center-profile-hint.hint-warn{border-color:rgba(245,174,66,.42);background:rgba(245,174,66,.08)}.device-center-profile-hint.hint-missing{border-color:rgba(239,91,117,.38);background:rgba(239,91,117,.08)}
.theme-light .device-center-telemetry-chip{background:#fff;border-color:#e5edf4}.theme-light .device-center-telemetry-chip strong{color:#147a4b}.theme-light .device-center-empty{background:#fff;border-color:#dbe6f2}.theme-light .device-center-profile-hint{background:#fff}.theme-light .device-center-identity-card{background:linear-gradient(135deg,#f3f7ff,#fff)}.theme-light .device-center-telemetry-card{background:linear-gradient(135deg,#f1fff7,#fff)}.theme-light .device-center-comms-card{background:linear-gradient(135deg,#fff8eb,#fff)}
@media(max-width:1100px){.device-center-card-grid.two-col,.device-center-logs-grid{grid-template-columns:1fr}.device-center-profile-hint{align-items:flex-start;flex-direction:column}}

/* WEB30_1_368 Device Center list filters */
.device-center-tools{display:grid;gap:9px;margin:10px 0 12px;border:1px solid rgba(122,162,255,.16);border-radius:16px;padding:10px;background:linear-gradient(135deg,rgba(122,162,255,.07),rgba(255,255,255,.025))}
.device-center-search{display:grid;gap:5px}.device-center-search span,.device-center-filter-row label{font-size:.74rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.035em}
.device-center-search input,.device-center-filter-row select{width:100%;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(0,0,0,.16);color:var(--text);padding:9px 10px;outline:none}
.device-center-search input:focus,.device-center-filter-row select:focus{border-color:rgba(122,162,255,.55);box-shadow:0 0 0 3px rgba(122,162,255,.12)}
.device-center-filter-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.device-center-filter-row label{display:grid;gap:5px;text-transform:none;letter-spacing:0}
.device-center-filter-summary{display:flex;justify-content:space-between;gap:8px;align-items:center;border-top:1px solid rgba(255,255,255,.08);padding-top:8px;color:var(--muted);font-size:.8rem}.device-center-filter-summary .compact{padding:5px 9px;font-size:.78rem}
.device-center-empty-list{border:1px dashed rgba(255,255,255,.16);border-radius:14px;padding:14px;color:var(--muted);background:rgba(255,255,255,.025);text-align:center}
.theme-light .device-center-tools{background:linear-gradient(135deg,#f4f8ff,#fff);border-color:#e4edf8}.theme-light .device-center-search input,.theme-light .device-center-filter-row select{background:#fff;border-color:#dbe6f2;color:#102033}.theme-light .device-center-empty-list{background:#fff;border-color:#dbe6f2}
@media(max-width:520px){.device-center-filter-row{grid-template-columns:1fr}}

/* WEB30_1_369 Device Center visual taxonomy polish */
.device-center-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 12% 18%,rgba(122,162,255,.22),transparent 34%),linear-gradient(135deg,rgba(24,47,78,.96),rgba(9,17,29,.94))}
.device-center-hero:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(90deg,rgba(122,162,255,.35),rgba(57,210,143,.22),rgba(245,174,66,.22));height:3px;bottom:auto}
.device-center-hero-legend{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:center;position:relative;z-index:1}
.device-center-hero-legend span{border:1px solid rgba(255,255,255,.13);border-radius:999px;padding:7px 11px;font-weight:900;font-size:.78rem;letter-spacing:.015em;background:rgba(255,255,255,.055);box-shadow:0 10px 24px rgba(0,0,0,.12)}
.device-center-hero-legend span:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-inline-end:7px;vertical-align:middle}.legend-identity:before{background:#7aa2ff}.legend-passport:before{background:#39d28f}.legend-ops:before{background:#f5ae42}
.device-center-list-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.08)}.device-center-list-head h3{margin:0}.device-center-list-head .muted{display:block;margin-top:4px}
.device-center-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.device-center-counts .device-center-count{border-radius:16px;padding:9px 10px;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"dot label" "dot value";align-items:center;gap:0 8px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1)}
.device-center-count i{grid-area:dot;width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 5px rgba(255,255,255,.045)}.device-center-count b{grid-area:label;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.device-center-count strong{grid-area:value;font-size:1.02rem;color:var(--text)}
.count-total i{background:#7aa2ff}.count-active i{background:#39d28f}.count-online i{background:#6ee7ff}.count-profile i{background:#b58cff}
.device-center-list{gap:9px}.device-center-row{grid-template-columns:auto 1fr auto;grid-template-areas:"dot name tag" "dot id tag" "dot meta tag";border-radius:16px;padding:10px 10px;background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(255,255,255,.02));position:relative;overflow:hidden}.device-center-row:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:rgba(122,162,255,.35);opacity:.45}.device-center-row.selected:before{background:var(--accent);opacity:1}.device-center-row-meta{grid-area:meta;color:rgba(173,190,211,.8);font-size:.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-center-row.selected{transform:translateX(2px)}
.device-center-card{position:relative;overflow:hidden;border-radius:20px;border-width:1px}.device-center-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;opacity:.95}.device-center-card-status:before{background:#f5ae42}.device-center-identity-card:before{background:#7aa2ff}.device-passport-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:#39d28f;opacity:.95}.device-center-telemetry-card:before{background:#39d28f}.device-center-comms-card:before{background:#b58cff}.device-center-statuskeys-card:before{background:#6ee7ff}
.device-center-card-head{display:flex;align-items:flex-start;gap:11px;margin-bottom:12px;padding-bottom:11px;border-bottom:1px solid rgba(255,255,255,.08)}.device-center-card-head h3{margin:0;color:#f3f8ff}.device-center-card-head span:not(.device-card-icon){display:block;color:var(--muted);font-size:.82rem;margin-top:3px}.device-card-action{margin-inline-start:auto}.device-card-icon{width:38px;height:38px;min-width:38px;border-radius:14px;display:inline-grid;place-items:center;border:1px solid rgba(255,255,255,.14);font-weight:900;font-size:.84rem;box-shadow:0 12px 28px rgba(0,0,0,.18)}.device-card-icon:before{content:"•"}.device-card-icon[data-device-card-icon="status"]{background:rgba(245,174,66,.13);color:#ffd391}.device-card-icon[data-device-card-icon="status"]:before{content:"LIVE";font-size:.6rem}.device-card-icon[data-device-card-icon="identity"]{background:rgba(122,162,255,.13);color:#bcd1ff}.device-card-icon[data-device-card-icon="identity"]:before{content:"ID"}.device-card-icon[data-device-card-icon="telemetry"]{background:rgba(57,210,143,.13);color:#9ff2c8}.device-card-icon[data-device-card-icon="telemetry"]:before{content:"Σ"}.device-card-icon[data-device-card-icon="communication"]{background:rgba(181,140,255,.13);color:#d8c6ff}.device-card-icon[data-device-card-icon="communication"]:before{content:"IO"}.device-card-icon[data-device-card-icon="keys"]{background:rgba(110,231,255,.13);color:#b9f5ff}.device-card-icon[data-device-card-icon="keys"]:before{content:"KEY";font-size:.62rem}
.device-center-kv div,.passport-grid div,.device-center-telemetry-chip{transition:border-color .16s ease,transform .16s ease,background .16s ease}.device-center-kv div:hover,.passport-grid div:hover,.device-center-telemetry-chip:hover{border-color:rgba(122,162,255,.38);transform:translateY(-1px);background:rgba(255,255,255,.055)}
.device-center-selected-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.device-center-selected-tags span{border-radius:999px;padding:5px 8px;border:1px solid rgba(255,255,255,.12);font-size:.75rem;font-weight:800;background:rgba(255,255,255,.045)}.tag-status.online,.tag-status.active{color:#9ff2c8;border-color:rgba(57,210,143,.35);background:rgba(57,210,143,.08)}.tag-status.offline,.tag-status.rejected{color:#ffb3c1;border-color:rgba(239,91,117,.35);background:rgba(239,91,117,.08)}.tag-status.pending{color:#ffd391;border-color:rgba(245,174,66,.38);background:rgba(245,174,66,.08)}.tag-profile.profile-ok{color:#9ff2c8}.tag-profile.profile-draft{color:#ffd391}.tag-profile.profile-missing{color:#ffb3c1}.tag-board{color:#bcd1ff}
.device-center-profile-hint{border-radius:18px;border-width:1px;padding:12px 14px}.device-center-profile-hint:before{content:"";width:10px;height:10px;border-radius:50%;display:inline-block;margin-inline-end:4px}.device-center-profile-hint.hint-ok:before{background:#39d28f}.device-center-profile-hint.hint-warn:before{background:#f5ae42}.device-center-profile-hint.hint-missing:before{background:#ef5b75}
.device-center-table-wrap{overflow:auto}.device-center-table-wrap table,.device-center-logs-grid table{border-radius:14px;overflow:hidden}
.theme-light .device-center-hero{background:radial-gradient(circle at 12% 18%,#dce8ff,transparent 34%),linear-gradient(135deg,#f3f8ff,#fff)}.theme-light .device-center-list-head{border-bottom-color:#e5edf4}.theme-light .device-center-counts .device-center-count,.theme-light .device-center-row,.theme-light .device-center-card-head,.theme-light .device-center-selected-tags span{border-color:#e3edf7;background:#fff}.theme-light .device-center-row-meta{color:#64748b}.theme-light .device-card-icon{border-color:#dce7f3;box-shadow:none}.theme-light .device-center-card-head{border-bottom-color:#e9f0f7}.theme-light .device-center-card-head h3{color:#102033}.theme-light .device-center-hero-legend span{background:#fff;border-color:#dce7f3;box-shadow:none}
@media(max-width:720px){.device-center-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.device-center-card-head{align-items:center}.device-card-action{width:100%;margin-inline-start:0}.device-center-hero-legend{justify-content:flex-start}}

/* WEB30_1_370 Device Updates workspace redesign */
.device-update-page{display:grid;gap:14px}
.du-workspace-head{position:relative;display:grid;grid-template-columns:minmax(280px,1.05fr) minmax(320px,1.45fr);gap:14px;align-items:stretch;border:1px solid rgba(92,225,230,.22);border-radius:22px;padding:14px;background:linear-gradient(135deg,rgba(10,27,42,.96),rgba(11,23,34,.94));box-shadow:0 18px 42px rgba(0,0,0,.22);overflow:visible}
.du-workspace-head:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 8% 18%,rgba(92,225,230,.12),transparent 30%),radial-gradient(circle at 88% 22%,rgba(41,224,169,.10),transparent 28%)}
.du-head-main,.du-head-summary{position:relative;z-index:1}
.du-head-main{display:flex;gap:14px;align-items:flex-start;border:1px solid rgba(92,225,230,.18);border-radius:18px;padding:14px;background:rgba(0,0,0,.14)}
.du-head-main small{display:block;color:#5ce1e6;letter-spacing:.13em;font-size:.72rem;margin-bottom:6px}.du-head-main h2{margin:0 0 7px;font-size:1.45rem}.du-head-main p{margin:0;color:var(--muted);line-height:1.75}
.du-head-icon{position:relative;width:54px;height:54px;border-radius:18px;border:1px solid rgba(92,225,230,.35);background:linear-gradient(135deg,rgba(92,225,230,.20),rgba(41,224,169,.12));color:#5ce1e6;font-size:1.45rem;display:grid;place-items:center;box-shadow:0 0 24px rgba(92,225,230,.14);cursor:pointer;flex:0 0 auto}
.du-head-icon span{position:absolute;right:7px;top:7px;width:12px;height:12px;border-radius:99px;background:#94a3b8;box-shadow:0 0 0 4px rgba(148,163,184,.12)}
.du-head-ok .du-head-icon span{background:#29e0a9;box-shadow:0 0 0 4px rgba(41,224,169,.16),0 0 16px rgba(41,224,169,.45)}.du-head-warn .du-head-icon span{background:#fbbf24;box-shadow:0 0 0 4px rgba(251,191,36,.16),0 0 16px rgba(251,191,36,.45)}.du-head-bad .du-head-icon span{background:#fb7185;box-shadow:0 0 0 4px rgba(251,113,133,.16),0 0 16px rgba(251,113,133,.45)}
.du-head-summary{display:grid;grid-template-columns:1.1fr 1.25fr .9fr;gap:10px}.du-head-summary>div{border:1px solid rgba(255,255,255,.08);border-radius:17px;background:rgba(255,255,255,.035);padding:12px;min-width:0}.du-latest-release,.du-next-jobs{cursor:pointer;position:relative}.du-latest-release small,.du-next-jobs small,.du-head-stat small{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.du-latest-release b{display:block;margin:5px 0;font-size:1.02rem}.du-latest-release span,.du-next-jobs span,.du-head-stat span{display:block;color:var(--muted);font-size:.8rem;line-height:1.45;overflow:hidden;text-overflow:ellipsis}.du-next-jobs span{border-top:1px solid rgba(255,255,255,.07);padding-top:6px;margin-top:6px}.du-next-jobs span b{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:7px;background:rgba(251,191,36,.16);color:#fbbf24;margin-inline-end:5px}
.du-hover-card{position:absolute;left:12px;right:12px;top:calc(100% + 8px);z-index:20;display:none;border:1px solid rgba(92,225,230,.28);border-radius:16px;padding:12px;background:#0b1622;box-shadow:0 18px 38px rgba(0,0,0,.38)}.du-latest-release:hover .du-hover-card,.du-latest-release:focus .du-hover-card{display:grid;gap:5px}.du-hover-card code{font-size:.72rem;white-space:normal;word-break:break-all}.du-hover-card em{color:var(--muted);font-style:normal;font-size:.78rem}
.du-head-stats{display:grid;grid-template-columns:1fr;gap:8px;padding:0!important;border:0!important;background:transparent!important}.du-head-stat{border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:9px 10px;background:rgba(0,0,0,.13)}.du-head-stat b{display:block;font-size:1.2rem;color:#5ce1e6}.du-head-stat.releases b{color:#29e0a9}.du-head-stat.jobs b{color:#fbbf24}
.device-update-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.du-tab{display:flex;align-items:center;gap:10px;text-align:left;border:1px solid rgba(255,255,255,.09);border-radius:18px;padding:12px;background:rgba(255,255,255,.035);box-shadow:0 10px 24px rgba(0,0,0,.11);cursor:pointer}.du-tab-icon{width:34px;height:34px;border-radius:14px;display:grid;place-items:center;background:rgba(92,225,230,.12);color:#5ce1e6;font-size:1.05rem;flex:0 0 auto}.du-tab b{display:block;color:var(--text);font-size:.95rem}.du-tab small{display:block;color:var(--muted);font-size:.72rem;line-height:1.25}.du-tab.active{border-color:rgba(92,225,230,.44);box-shadow:inset 0 0 0 1px rgba(92,225,230,.12),0 16px 34px rgba(0,0,0,.16)}.du-tab-job .du-tab-icon{background:rgba(251,191,36,.13);color:#fbbf24}.du-tab-report .du-tab-icon{background:rgba(96,165,250,.13);color:#60a5fa}.du-tab-policy .du-tab-icon{background:rgba(167,139,250,.13);color:#a78bfa}.du-tab-job.active{border-color:rgba(251,191,36,.42)}.du-tab-report.active{border-color:rgba(96,165,250,.42)}.du-tab-policy.active{border-color:rgba(167,139,250,.42)}
.device-update-panel{padding:14px;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(0,0,0,.10));overflow:visible}.du-pane-title{display:flex;align-items:flex-start;gap:12px;border-radius:18px;padding:12px;margin-bottom:14px;border:1px solid rgba(92,225,230,.20);background:linear-gradient(90deg,rgba(92,225,230,.105),rgba(255,255,255,.025))}.du-pane-title>span{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:rgba(92,225,230,.14);color:#5ce1e6;font-size:1.25rem;flex:0 0 auto}.du-pane-title h3{margin:0 0 4px}.du-pane-title p{margin:0;color:var(--muted);line-height:1.55}.du-pane-title .device-update-stage-badge{margin-left:auto}.du-pane-title-job{border-color:rgba(251,191,36,.22);background:linear-gradient(90deg,rgba(251,191,36,.105),rgba(255,255,255,.025))}.du-pane-title-job>span{background:rgba(251,191,36,.14);color:#fbbf24}.du-pane-title-report{border-color:rgba(96,165,250,.22);background:linear-gradient(90deg,rgba(96,165,250,.105),rgba(255,255,255,.025))}.du-pane-title-report>span{background:rgba(96,165,250,.14);color:#60a5fa}.du-pane-title-policy{border-color:rgba(167,139,250,.22);background:linear-gradient(90deg,rgba(167,139,250,.105),rgba(255,255,255,.025))}.du-pane-title-policy>span{background:rgba(167,139,250,.14);color:#a78bfa}
.du-release-workspace{display:grid;grid-template-columns:minmax(300px,.95fr) minmax(270px,.75fr) minmax(320px,1fr);gap:14px;align-items:start}.du-release-list-panel,.du-release-detail-panel,.du-job-rules{border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:12px;background:rgba(0,0,0,.10)}.du-subhead{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:10px;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:9px}.du-subhead b{color:var(--text)}.du-subhead small{color:var(--muted);font-size:.75rem}.du-release-card-list{display:grid;gap:9px;max-height:540px;overflow:auto;padding-inline-end:3px}.du-release-card{border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:10px;background:rgba(255,255,255,.025);cursor:pointer;display:grid;gap:9px}.du-release-card.active{border-color:rgba(92,225,230,.45);box-shadow:inset 4px 0 0 #5ce1e6;background:rgba(92,225,230,.075)}.du-release-card.enabled{box-shadow:inset 4px 0 0 rgba(41,224,169,.55)}.du-release-card.disabled{opacity:.78}.du-release-card-head{display:flex;gap:9px;align-items:flex-start}.du-release-mark{font-size:.9rem;color:#29e0a9}.du-release-card-head b{display:block}.du-release-card-head small,.du-release-card-body span{color:var(--muted);font-size:.75rem}.du-release-card-body{display:flex;justify-content:space-between;gap:8px}.du-release-card-body code{font-size:.72rem}.du-release-card-actions{display:flex;gap:7px;justify-content:flex-end}.device-update-empty-card{border:1px dashed rgba(255,255,255,.16);border-radius:16px;padding:14px;background:rgba(255,255,255,.025);display:grid;gap:4px}.device-update-empty-card small{color:var(--muted)}.device-update-changelog{margin-top:10px;border:1px dashed rgba(255,255,255,.14);border-radius:14px;padding:10px;background:rgba(0,0,0,.10)}.device-update-changelog p{margin:5px 0 0;color:var(--muted);white-space:pre-wrap}.device-update-release-table.compact{margin-top:12px}.device-update-release-table.compact table th:nth-child(4),.device-update-release-table.compact table td:nth-child(4){white-space:nowrap}
.du-job-workspace{display:grid;grid-template-columns:minmax(320px,1.4fr) minmax(240px,.65fr);gap:14px;align-items:start}.du-assignment-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.du-mini-card{border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:11px;background:rgba(255,255,255,.035);display:grid;gap:4px;min-width:0}.du-mini-card small{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.du-mini-card b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.du-mini-card span{color:var(--muted);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.du-mini-card code{font-size:.72rem;white-space:normal;word-break:break-all}.du-mini-card.release{border-color:rgba(92,225,230,.22);background:rgba(92,225,230,.055)}.du-mini-card.device{border-color:rgba(41,224,169,.22);background:rgba(41,224,169,.055)}.du-mini-card.warn{border-color:rgba(251,191,36,.25);background:rgba(251,191,36,.06)}.du-job-rules{display:grid;gap:10px}.du-job-rules article{border:1px solid rgba(251,191,36,.15);border-radius:14px;padding:10px;background:rgba(251,191,36,.04);display:grid;gap:5px}.du-job-rules article span{color:var(--muted);font-size:.82rem}.du-job-row td:first-child{box-shadow:inset 4px 0 0 rgba(148,163,184,.45)}.du-job-ok td:first-child{box-shadow:inset 4px 0 0 rgba(41,224,169,.70)}.du-job-warn td:first-child{box-shadow:inset 4px 0 0 rgba(251,191,36,.75)}.du-job-bad td:first-child{box-shadow:inset 4px 0 0 rgba(251,113,133,.75)}
.du-report-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.du-report-summary article{border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:12px;background:rgba(255,255,255,.035)}.du-report-summary b{font-size:1.45rem;display:block}.du-report-summary span{color:var(--muted)}.du-report-summary .ok b{color:#29e0a9}.du-report-summary .warn b{color:#fbbf24}.du-report-summary .bad b{color:#fb7185}.du-report-row td:first-child{box-shadow:inset 4px 0 0 rgba(96,165,250,.50)}.du-report-bad td:first-child{box-shadow:inset 4px 0 0 rgba(251,113,133,.75)}.du-report-warn td:first-child{box-shadow:inset 4px 0 0 rgba(251,191,36,.75)}.du-report-ok td:first-child{box-shadow:inset 4px 0 0 rgba(41,224,169,.75)}
.theme-light .du-workspace-head{background:linear-gradient(135deg,#eefcff,#f8fffb);border-color:#bdeff2;box-shadow:0 16px 34px rgba(15,23,42,.08)}.theme-light .du-head-main,.theme-light .du-head-summary>div,.theme-light .du-release-list-panel,.theme-light .du-release-detail-panel,.theme-light .du-job-rules,.theme-light .du-release-card,.theme-light .du-mini-card,.theme-light .du-report-summary article{background:#fff;border-color:#e4edf5}.theme-light .device-update-panel{background:#fff}.theme-light .du-hover-card{background:#fff;color:#16202d}.theme-light .du-tab{background:#fff;border-color:#e4edf5}.theme-light .du-tab.active{background:#f0fbff}
@media(max-width:1180px){.du-workspace-head{grid-template-columns:1fr}.du-head-summary{grid-template-columns:1fr 1fr}.du-head-stats{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}.du-release-workspace{grid-template-columns:1fr}.du-job-workspace{grid-template-columns:1fr}}
@media(max-width:780px){.device-update-tabs{grid-template-columns:1fr}.du-head-summary,.du-head-stats,.du-assignment-preview,.du-report-summary{grid-template-columns:1fr}.du-pane-title{flex-direction:column}.du-pane-title .device-update-stage-badge{margin-left:0}}

/* WEB30_1_371_CLEAN_OTA_RELEASE_MANAGER_FROM_370 */
.du-workspace-head.compact{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(360px,1.7fr);gap:10px;padding:10px 12px;min-height:auto;border-radius:18px}
.du-workspace-head.compact .du-head-main{display:flex;align-items:center;gap:10px}
.du-workspace-head.compact .du-head-main h2{font-size:1.05rem;margin:0;line-height:1.15}
.du-workspace-head.compact .du-head-main small{font-size:.68rem;letter-spacing:.16em;color:#5ce1e6}
.du-workspace-head.compact .du-head-main p{display:none}
.du-workspace-head.compact .du-head-icon{width:42px;height:42px;min-width:42px;border-radius:14px;font-size:1.05rem}
.du-workspace-head.compact .du-head-summary{display:grid;grid-template-columns:minmax(170px,1fr) minmax(190px,1fr) auto;gap:8px;align-items:stretch}
.du-workspace-head.compact .du-latest-release,.du-workspace-head.compact .du-next-jobs{min-height:48px;padding:8px 10px;border-radius:14px}
.du-workspace-head.compact .du-latest-release b{font-size:.92rem}
.du-workspace-head.compact .du-latest-release span,.du-workspace-head.compact .du-next-jobs span{font-size:.72rem}
.du-workspace-head.compact .du-head-stats{display:flex;gap:6px;align-items:stretch}
.du-workspace-head.compact .du-head-stat{min-width:72px;padding:7px 8px;border-radius:12px}
.du-workspace-head.compact .du-head-stat b{font-size:1.05rem}
.du-workspace-head.compact .du-head-stat small,.du-workspace-head.compact .du-head-stat span{font-size:.66rem}
.du-release-workspace.clean-release{grid-template-columns:minmax(260px,.85fr) minmax(260px,1fr) minmax(340px,1.3fr);align-items:start}
.du-release-workspace.clean-release .device-update-upload-form{margin:0}
.du-release-workspace.clean-release .device-update-form-grid{grid-template-columns:1fr}
.device-update-duplicate-warning{border:1px solid rgba(251,191,36,.36);border-radius:14px;padding:10px 12px;background:linear-gradient(135deg,rgba(251,191,36,.14),rgba(251,191,36,.035));display:grid;gap:3px}
.device-update-duplicate-warning b{color:#fbbf24}
.device-update-duplicate-warning span{color:var(--muted);font-size:.82rem}
.du-release-card.duplicate{border-color:rgba(251,191,36,.38);background:linear-gradient(135deg,rgba(251,191,36,.10),rgba(255,255,255,.025))}
.du-release-dup{border:1px solid rgba(251,191,36,.28);border-radius:999px;padding:3px 8px;width:max-content;color:#fbbf24;font-size:.72rem;background:rgba(251,191,36,.06)}
.device-update-usage-card{border:1px solid rgba(96,165,250,.22);border-radius:14px;padding:11px;background:linear-gradient(135deg,rgba(96,165,250,.09),rgba(92,225,230,.035));display:grid;gap:9px}
.device-update-usage-card>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px}
.device-update-usage-card span{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:8px;background:rgba(0,0,0,.12)}
.device-update-usage-card small{display:block;color:var(--muted);font-size:.7rem;margin-bottom:3px}
.device-update-usage-card strong{font-size:1rem;color:var(--text)}
.device-update-note-card{border:1px solid rgba(255,255,255,.10);border-radius:14px;padding:11px;background:rgba(0,0,0,.10);display:grid;gap:8px}
.device-update-note-card label{display:grid;gap:6px;color:var(--muted);font-size:.82rem}
.device-update-note-card textarea{width:100%;resize:vertical}
.device-update-meta-grid .meta-time:before{background:#38bdf8}.device-update-meta-grid .meta-owner:before{background:#fbbf24}
.device-update-release-table tbody tr.du-row-duplicate td:first-child{box-shadow:inset 4px 0 0 rgba(251,191,36,.78)}
@media(max-width:1100px){.du-workspace-head.compact,.du-workspace-head.compact .du-head-summary,.du-release-workspace.clean-release{grid-template-columns:1fr}.du-workspace-head.compact .du-head-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}}


/* WEB30.1.372 clean: OTA job assignment workspace, built from 370/371-clean only */
.du-job-workspace.clean-job{grid-template-columns:minmax(360px,1.15fr) minmax(300px,.85fr);align-items:start}
.du-job-side{display:grid;gap:12px;min-width:0}
.du-readiness-card{border:1px solid rgba(255,255,255,.09);border-radius:18px;padding:12px;background:linear-gradient(135deg,rgba(251,191,36,.075),rgba(255,255,255,.025));box-shadow:0 12px 26px rgba(0,0,0,.12)}
.du-readiness-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.du-readiness-grid span{position:relative;display:grid;grid-template-columns:auto 1fr;column-gap:8px;row-gap:2px;align-items:center;border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:9px;background:rgba(0,0,0,.10);min-width:0}
.du-readiness-grid span i{width:10px;height:10px;border-radius:99px;background:var(--muted);box-shadow:0 0 0 4px rgba(148,163,184,.10)}
.du-readiness-grid span b{font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.du-readiness-grid span small{grid-column:2;color:var(--muted);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.du-readiness-grid span.ok{border-color:rgba(41,224,169,.22);background:rgba(41,224,169,.055)}
.du-readiness-grid span.ok i{background:#29e0a9;box-shadow:0 0 0 4px rgba(41,224,169,.12)}
.du-readiness-grid span.warn{border-color:rgba(251,191,36,.25);background:rgba(251,191,36,.065)}
.du-readiness-grid span.warn i{background:#fbbf24;box-shadow:0 0 0 4px rgba(251,191,36,.13)}
.du-readiness-grid span.bad{border-color:rgba(251,113,133,.25);background:rgba(251,113,133,.06)}
.du-readiness-grid span.bad i{background:#fb7185;box-shadow:0 0 0 4px rgba(251,113,133,.13)}
.du-job-side .du-assignment-preview{grid-template-columns:1fr}
.device-update-job-form .toolbar{border-top:1px solid rgba(255,255,255,.08);padding-top:12px}
.theme-light .du-readiness-card,.theme-light .du-readiness-grid span{background:#fff;border-color:#e5edf4}
@media(max-width:980px){.du-job-workspace.clean-job{grid-template-columns:1fr}.du-readiness-grid{grid-template-columns:1fr}}

/* WEB30_1_373_CLEAN_OTA_REPORTS_WORKSPACE */
.du-report-toolbar{align-items:end;gap:10px;flex-wrap:wrap;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:10px;background:rgba(92,225,230,.04)}
.du-report-toolbar label{display:flex;flex-direction:column;gap:4px;min-width:160px;color:var(--muted)}
.du-report-toolbar input,.du-report-toolbar select{min-height:34px}
.du-report-layout{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(420px,1.3fr);gap:14px;align-items:start;margin-top:12px}
.du-report-timeline{border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:12px;background:linear-gradient(145deg,rgba(9,24,35,.72),rgba(8,14,24,.48));max-height:520px;overflow:auto}
.du-report-event{position:relative;display:grid;grid-template-columns:18px 1fr auto;gap:9px;padding:10px 8px;border-bottom:1px solid rgba(255,255,255,.06)}
.du-report-event:last-child{border-bottom:0}
.du-report-dot{width:10px;height:10px;border-radius:50%;margin-top:5px;background:#7aa7ff;box-shadow:0 0 0 4px rgba(122,167,255,.12)}
.du-report-event-ok .du-report-dot{background:#29e0a9;box-shadow:0 0 0 4px rgba(41,224,169,.14)}
.du-report-event-warn .du-report-dot{background:#ffcf4a;box-shadow:0 0 0 4px rgba(255,207,74,.14)}
.du-report-event-bad .du-report-dot{background:#ff5f77;box-shadow:0 0 0 4px rgba(255,95,119,.14)}
.du-report-event b{display:block;color:var(--text)}
.du-report-event small{display:block;color:var(--muted);font-size:.76rem;margin-top:2px}
.du-report-event p{margin:5px 0 0;color:var(--muted);font-size:.84rem;line-height:1.35}
.du-report-event em{font-style:normal;font-size:.72rem;border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:3px 7px;height:max-content;color:var(--muted)}
.du-report-summary article.info{border-color:rgba(92,225,230,.25);background:rgba(92,225,230,.08)}
.theme-light .du-report-toolbar,.theme-light .du-report-timeline{background:#fff;border-color:#e3edf5}
@media (max-width: 1100px){.du-report-layout{grid-template-columns:1fr}.du-report-timeline{max-height:none}}

/* WEB30_1_374_CLEAN_OTA_JOB_DETAILS_DELETE */
.du-job-row.selected td{background:color-mix(in srgb,var(--accent,#00c2c7) 10%,transparent);box-shadow:inset 3px 0 0 var(--accent,#00c2c7)}
.du-job-detail{border:1px solid color-mix(in srgb,var(--border,#2b4056) 78%,transparent);border-radius:var(--radius-lg,18px);padding:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--panel,#101b27) 88%,transparent),color-mix(in srgb,var(--accent,#00c2c7) 5%,transparent));box-shadow:0 10px 24px rgba(0,0,0,.16)}
.du-job-detail.empty{opacity:.9;border-style:dashed}.du-job-detail-ok{border-color:color-mix(in srgb,#25d083 45%,var(--border,#2b4056))}.du-job-detail-warn{border-color:color-mix(in srgb,#f2b84b 50%,var(--border,#2b4056))}.du-job-detail-bad{border-color:color-mix(in srgb,#ff5d6c 50%,var(--border,#2b4056))}
.du-job-detail-grid{display:grid;grid-template-columns:minmax(96px,.75fr) minmax(0,1.25fr);gap:7px 10px;margin-top:10px;align-items:center}.du-job-detail-grid span{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#8aa0b8)}.du-job-detail-grid b,.du-job-detail-grid code{min-width:0;overflow-wrap:anywhere}.du-job-note{margin:10px 0 0;padding:9px 10px;border-radius:12px;background:rgba(255,255,255,.045);border:1px solid color-mix(in srgb,var(--border,#2b4056) 55%,transparent)}
.du-job-mini-timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:7px;margin-top:10px}.du-job-mini-timeline span{padding:7px 8px;border-radius:12px;background:rgba(255,255,255,.045);border:1px solid color-mix(in srgb,var(--border,#2b4056) 60%,transparent)}.du-job-mini-timeline b{display:block;font-size:11px;color:var(--muted,#8aa0b8);text-transform:uppercase}.du-job-mini-timeline em{display:block;font-style:normal;font-size:12px;margin-top:3px}
.du-job-log-strip{display:grid;gap:7px;margin-top:10px;max-height:220px;overflow:auto}.du-job-log-strip article{padding:8px 9px;border-radius:12px;background:rgba(0,0,0,.12);border-left:3px solid var(--accent,#00c2c7)}.du-job-log-strip b{display:block}.du-job-log-strip small{display:block;color:var(--muted,#8aa0b8);margin-top:2px}.du-job-log-strip span{display:block;margin-top:4px}.muted-danger{opacity:.82}

/* WEB30_1_375_CLEAN_OTA_POLICY_TEST_READY */
.du-policy-workspace{display:grid;gap:14px}
.du-policy-readiness{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.du-policy-readiness article{border:1px solid rgba(255,255,255,.10);border-radius:16px;padding:12px;background:rgba(255,255,255,.035);box-shadow:0 10px 24px rgba(0,0,0,.10)}
.du-policy-readiness.ready article:first-child{border-color:rgba(41,224,169,.24);background:rgba(41,224,169,.06);box-shadow:inset 4px 0 0 rgba(41,224,169,.70)}
.du-policy-readiness.warn article:first-child{border-color:rgba(251,191,36,.25);background:rgba(251,191,36,.07);box-shadow:inset 4px 0 0 rgba(251,191,36,.75)}
.du-policy-readiness b{display:block;margin-bottom:4px}.du-policy-readiness span{color:var(--muted);font-size:.82rem}
.du-policy-section{border:1px solid rgba(255,255,255,.09);border-radius:18px;padding:12px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(0,0,0,.10));box-shadow:0 12px 28px rgba(0,0,0,.12)}
.du-policy-section.mode{border-color:rgba(92,225,230,.18);box-shadow:inset 4px 0 0 rgba(92,225,230,.55),0 12px 28px rgba(0,0,0,.12)}
.du-policy-section.safety{border-color:rgba(251,191,36,.20);box-shadow:inset 4px 0 0 rgba(251,191,36,.68),0 12px 28px rgba(0,0,0,.12)}
.du-policy-section.notify{border-color:rgba(167,139,250,.20);box-shadow:inset 4px 0 0 rgba(167,139,250,.62),0 12px 28px rgba(0,0,0,.12)}
.du-policy-grid-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;align-items:stretch}
.du-policy-grid-form label,.du-policy-section>label{display:grid;gap:6px;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:10px;background:rgba(0,0,0,.10);color:var(--muted);font-size:.82rem}
.du-policy-grid-form label.inline-check{display:flex;align-items:center;gap:9px;color:var(--text)}
.du-policy-grid-form input[type="number"],.du-policy-grid-form select,.du-policy-section textarea{width:100%;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(0,0,0,.18);color:var(--text);padding:8px}
.theme-light .du-policy-readiness article,.theme-light .du-policy-section,.theme-light .du-policy-grid-form label,.theme-light .du-policy-section>label{background:#fff;border-color:#e4edf5;color:#475569}.theme-light .du-policy-grid-form input[type="number"],.theme-light .du-policy-grid-form select,.theme-light .du-policy-section textarea{background:#f8fafc;border-color:#dbe7ef;color:#16202d}
@media(max-width:820px){.du-policy-readiness{grid-template-columns:1fr}.du-policy-grid-form{grid-template-columns:1fr}}

/* WEB30_1_376 Clean per-device internet update settings */
.device-internet-update-page{display:flex;flex-direction:column;gap:var(--gap)}
.diu-hero{display:flex;justify-content:space-between;gap:18px;align-items:stretch;border-inline-start:5px solid rgba(68,160,255,.75);background:linear-gradient(135deg,rgba(52,123,255,.11),rgba(42,184,124,.07))}
.diu-hero h2{margin:.1rem 0 .35rem;font-size:1.3rem}.diu-hero p{max-width:760px;margin:0;color:var(--muted)}
.diu-summary-row{display:grid;grid-template-columns:repeat(4,minmax(105px,1fr));gap:10px;min-width:min(560px,100%)}
.diu-summary-row article{border:1px solid var(--border);border-radius:16px;padding:10px 12px;background:rgba(255,255,255,.05);box-shadow:var(--shadow-soft)}
.diu-summary-row small{display:block;color:var(--muted);font-size:.72rem}.diu-summary-row b{font-size:1.35rem}.diu-summary-row span{display:block;font-size:.74rem;color:var(--muted)}
.diu-summary-row .enabled{border-color:rgba(30,180,110,.35)}.diu-summary-row .pull{border-color:rgba(250,180,55,.38)}.diu-summary-row .passport{border-color:rgba(112,130,255,.35)}
.diu-layout{display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:var(--gap);align-items:start}.diu-detail-stack{display:flex;flex-direction:column;gap:var(--gap)}
.diu-device-list{position:sticky;top:14px}.diu-device-rows{display:flex;flex-direction:column;gap:8px;max-height:66vh;overflow:auto;padding-inline-end:4px}
.diu-device-row{width:100%;text-align:start;border:1px solid var(--border);background:var(--panel-soft);border-radius:16px;padding:10px 12px;display:grid;grid-template-columns:auto 1fr auto;gap:2px 10px;align-items:center;cursor:pointer;color:var(--text)}
.diu-device-row:hover,.diu-device-row.selected{border-color:rgba(66,150,255,.62);box-shadow:0 0 0 3px rgba(66,150,255,.12)}.diu-device-row.selected{background:linear-gradient(135deg,rgba(66,150,255,.12),rgba(42,184,124,.08))}
.diu-device-row small,.diu-device-row span{grid-column:2/4;color:var(--muted);font-size:.76rem}.diu-device-row em{font-style:normal;font-size:.72rem;border-radius:999px;padding:2px 8px;border:1px solid var(--border)}.diu-device-row em.ok{color:#15a66a;border-color:rgba(21,166,106,.35)}.diu-device-row em.warn{color:#bf7a00;border-color:rgba(191,122,0,.35)}
.diu-device-dot{width:10px;height:10px;border-radius:999px;background:var(--muted);box-shadow:0 0 0 3px rgba(120,120,120,.1);grid-row:1/3}.diu-device-dot.ok{background:#16b36f}.diu-device-dot.warn{background:#f0a31a}.diu-device-dot.muted{background:#9aa0aa}
.diu-selected-card{display:flex;justify-content:space-between;align-items:center;gap:14px;border-inline-start:5px solid rgba(112,130,255,.65)}.diu-selected-card h3{margin:.1rem 0}.diu-selected-card p{margin:0;color:var(--muted)}
.diu-passport-chip{border-radius:16px;padding:10px 14px;min-width:180px;border:1px solid var(--border);font-weight:800}.diu-passport-chip small{display:block;font-weight:500;color:var(--muted);margin-top:3px}.diu-passport-chip.ok{border-color:rgba(20,170,105,.35);background:rgba(20,170,105,.08);color:#10a568}.diu-passport-chip.warn{border-color:rgba(230,150,20,.4);background:rgba(230,150,20,.08);color:#c27b00}
.diu-settings-form{display:flex;flex-direction:column;gap:14px}.diu-form-section{border:1px solid var(--border);border-radius:18px;padding:14px;background:rgba(255,255,255,.035)}.diu-form-section.main{border-inline-start:5px solid rgba(42,184,124,.55)}.diu-form-section.windows{border-inline-start:5px solid rgba(68,160,255,.55)}.diu-form-section.safety{border-inline-start:5px solid rgba(245,170,55,.6)}
.diu-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:10px;margin:10px 0}.diu-toggle-grid .inline-check{border:1px solid var(--border);border-radius:14px;padding:10px;background:var(--panel-soft)}
.diu-latest-report{border-radius:18px;border:1px solid var(--border);padding:14px;display:grid;gap:10px;border-inline-start:5px solid rgba(150,160,170,.5);background:rgba(255,255,255,.035)}.diu-latest-report>div{display:flex;flex-direction:column}.diu-latest-report b{font-size:1rem}.diu-latest-report small{color:var(--muted)}.diu-latest-report p{margin:0;color:var(--text)}.diu-latest-report dl{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px;margin:0}.diu-latest-report dt{font-size:.72rem;color:var(--muted)}.diu-latest-report dd{margin:0;font-weight:700;word-break:break-word}.diu-latest-report.ok{border-inline-start-color:#16b36f}.diu-latest-report.warn{border-inline-start-color:#f0a31a}.diu-latest-report.bad{border-inline-start-color:#e94d5f}.diu-latest-report.empty{border-style:dashed;color:var(--muted)}
@media (max-width:980px){.diu-layout{grid-template-columns:1fr}.diu-device-list{position:static}.diu-summary-row{grid-template-columns:repeat(2,1fr)}.diu-toggle-grid{grid-template-columns:1fr}.diu-latest-report dl{grid-template-columns:1fr 1fr}}

/* WEB30_1_378 - Dashboard long-range radar scan visual layer */
.dash378-radar-panel{position:relative;border-color:rgba(34,211,238,.26);background:linear-gradient(180deg,rgba(2,6,23,.78),rgba(2,6,23,.42)),radial-gradient(circle at 50% 46%,rgba(34,211,238,.12),transparent 48%)}
.dash378-radar-map{position:relative;border-radius:30px;border-color:rgba(34,211,238,.34);background:radial-gradient(circle at 50% 50%,rgba(34,211,238,.16) 0 1px,transparent 2px),linear-gradient(rgba(34,211,238,.052) 1px,transparent 1px),linear-gradient(90deg,rgba(34,211,238,.052) 1px,transparent 1px),radial-gradient(circle at 50% 50%,rgba(14,165,233,.12),transparent 43%),linear-gradient(145deg,rgba(0,14,28,.94),rgba(3,12,27,.78));background-size:22px 22px,26px 26px,26px 26px,100% 100%,100% 100%;box-shadow:inset 0 0 76px rgba(0,0,0,.48),inset 0 0 130px rgba(34,211,238,.06),0 0 0 1px rgba(34,211,238,.04)}
.dash378-radar-map:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:repeating-linear-gradient(180deg,rgba(148,244,255,.035) 0 1px,transparent 1px 4px);mix-blend-mode:screen;opacity:.38}
.dash378-radar-map:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;background:radial-gradient(circle at 50% 50%,transparent 0 54%,rgba(0,0,0,.18) 72%,rgba(0,0,0,.48) 100%);box-shadow:inset 0 0 0 1px rgba(34,211,238,.10)}
.dash378-scope-grid{position:absolute;inset:7% 7%;z-index:3;border:1px solid rgba(34,211,238,.14);border-radius:999px;pointer-events:none;box-shadow:0 0 30px rgba(34,211,238,.05),inset 0 0 50px rgba(34,211,238,.035)}
.dash378-scope-tick{position:absolute;left:50%;top:50%;width:1px;height:50%;transform-origin:50% 0;transform:rotate(var(--a)) translateY(-100%);background:linear-gradient(180deg,rgba(34,211,238,.46) 0 7px,transparent 7px 100%);opacity:.72}
.dash378-scope-tick.major{background:linear-gradient(180deg,rgba(148,244,255,.78) 0 14px,transparent 14px 100%);opacity:.95}
.dash378-range-label,.dash378-bearing{position:absolute;z-index:7;pointer-events:none;font-size:.58rem;font-weight:950;letter-spacing:.08em;color:rgba(186,230,253,.72);text-shadow:0 0 10px rgba(34,211,238,.45)}
.dash378-range-label{left:calc(50% + 7px);border:1px solid rgba(34,211,238,.18);border-radius:999px;background:rgba(2,6,23,.54);padding:1px 6px}.dash378-range-label.r25{top:43.6%}.dash378-range-label.r50{top:34.1%}.dash378-range-label.r75{top:24.6%}.dash378-range-label.r100{top:15.1%}
.dash378-bearing{border-radius:10px;background:rgba(2,6,23,.58);padding:2px 6px;border:1px solid rgba(34,211,238,.16)}.dash378-bearing.n{left:50%;top:8.5%;transform:translateX(-50%)}.dash378-bearing.e{right:8.5%;top:50%;transform:translateY(-50%)}.dash378-bearing.s{left:50%;bottom:8.5%;transform:translateX(-50%)}.dash378-bearing.w{left:8.5%;top:50%;transform:translateY(-50%)}
.dash378-radar-hud{position:absolute;z-index:12;pointer-events:none;display:grid;gap:1px;min-width:150px;border:1px solid rgba(34,211,238,.18);border-radius:16px;background:linear-gradient(135deg,rgba(2,6,23,.72),rgba(8,47,73,.24));backdrop-filter:blur(8px);padding:7px 10px;box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 10px 24px rgba(0,0,0,.16)}
.dash378-radar-hud.top{top:14px;inset-inline-start:14px}.dash378-radar-hud.bottom{bottom:14px;inset-inline-end:14px;text-align:end}.dash378-radar-hud span{color:#22d3ee;font-size:.58rem;font-weight:950;letter-spacing:.11em}.dash378-radar-hud b{color:#e0fcff;font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash378-radar-hud small{color:rgba(186,230,253,.62);font-size:.62rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash378-sweep{z-index:8;width:49%;height:49%;background:conic-gradient(from -20deg,rgba(125,249,255,.52),rgba(34,211,238,.20) 18deg,rgba(34,211,238,.06) 34deg,transparent 57deg);clip-path:polygon(0 0,100% 3%,100% 100%,0 0);filter:drop-shadow(0 0 16px rgba(34,211,238,.34));animation-duration:7.2s}
.dash378-sweep-echo{position:absolute;left:50%;top:50%;z-index:6;width:49%;height:49%;transform-origin:0 0;clip-path:polygon(0 0,100% 4%,100% 100%,0 0);background:conic-gradient(from -20deg,rgba(34,211,238,.10),transparent 42deg);pointer-events:none;animation:dash378SweepEcho 7.2s linear infinite}.dash378-sweep-echo.e1{animation-delay:-.62s;opacity:.55}.dash378-sweep-echo.e2{animation-delay:-1.18s;opacity:.34}
@keyframes dash378SweepEcho{to{transform:rotate(360deg)}}
.dash378-radar-map .dash297-ring{z-index:4;border-color:rgba(34,211,238,.24);box-shadow:0 0 28px rgba(34,211,238,.06),inset 0 0 20px rgba(34,211,238,.04)}
.dash378-radar-map .dash297-axis{z-index:4;opacity:.86}.dash378-radar-map .dash297-map-lines{z-index:3;opacity:.30}.dash378-radar-map .dash297-link-lines{z-index:5;filter:drop-shadow(0 0 8px rgba(34,211,238,.20))}.dash378-radar-map .dash297-link-lines line{stroke:rgba(34,211,238,.20);stroke-width:.34;stroke-dasharray:1.8 2.8}.dash378-radar-map .dash297-link-lines line.outer{stroke:rgba(125,249,255,.30)}.dash378-radar-map .dash297-link-lines line.mid{stroke:rgba(45,212,191,.25)}
.dash378-radar-map .dash297-center-hub{z-index:13;width:118px;min-height:84px;border-radius:28px;background:linear-gradient(180deg,rgba(8,145,178,.84),rgba(2,6,23,.88));box-shadow:0 0 0 12px rgba(34,211,238,.045),0 0 58px rgba(34,211,238,.26),inset 0 1px 0 rgba(255,255,255,.16)}
.dash378-radar-node{z-index:14;filter:drop-shadow(0 0 14px color-mix(in srgb,var(--tone) 24%,transparent))}.dash378-radar-node .trail{position:absolute;left:50%;top:50%;width:50px;height:1px;transform-origin:0 50%;transform:rotate(var(--bearing));background:linear-gradient(90deg,color-mix(in srgb,var(--tone) 38%,transparent),transparent);opacity:.72}.dash378-radar-node i{animation:dash378ContactBlink 2.1s ease-in-out infinite;animation-delay:var(--delay)}.dash378-radar-node .lock-label{position:absolute;left:50%;top:-13px;transform:translateX(-50%);font-style:normal;font-size:.54rem;font-weight:950;letter-spacing:.05em;color:#cffafe;border:1px solid color-mix(in srgb,var(--tone) 34%,rgba(148,163,184,.16));border-radius:999px;background:rgba(2,6,23,.78);padding:1px 6px;white-space:nowrap;text-shadow:0 0 9px rgba(34,211,238,.42);opacity:.92}.dash378-radar-node.outer .lock-label{color:#e0f2fe}.dash378-radar-node.selected .lock-label{border-color:rgba(34,211,238,.62);background:rgba(8,47,73,.88)}.dash378-radar-node.offline .trail,.dash378-radar-node.offline .lock-label{opacity:.42}.dash378-radar-node.offline i{animation:none}.dash378-radar-node b{top:42px}.dash378-radar-node small{top:61px;color:rgba(203,213,225,.80)}
@keyframes dash378ContactBlink{0%,100%{filter:brightness(1)}50%{filter:brightness(1.58)}}
.theme-light .dash378-radar-panel{background:linear-gradient(180deg,#f8fcff,#eef7fb)}.theme-light .dash378-radar-map{background:radial-gradient(circle at 50% 50%,rgba(14,165,233,.16) 0 1px,transparent 2px),linear-gradient(rgba(14,165,233,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(14,165,233,.09) 1px,transparent 1px),radial-gradient(circle at 50% 50%,rgba(14,165,233,.12),transparent 43%),linear-gradient(145deg,#f8fcff,#eaf6fb);box-shadow:inset 0 0 70px rgba(14,116,144,.10)}.theme-light .dash378-radar-hud,.theme-light .dash378-range-label,.theme-light .dash378-bearing,.theme-light .dash378-radar-node .lock-label{background:rgba(255,255,255,.84);color:#075985;border-color:#c7e8f3}.theme-light .dash378-radar-hud b{color:#0f172a}.theme-light .dash378-radar-hud small{color:#475569}
@media(max-width:980px){.dash378-radar-hud{min-width:132px}.dash378-radar-hud.bottom{display:none}.dash378-range-label{display:none}.dash378-radar-node .lock-label{display:none}.dash378-radar-node b{top:39px}.dash378-radar-node small{display:none}}
@media(max-width:620px){.dash378-radar-hud.top{left:10px;right:10px;inset-inline-start:10px}.dash378-bearing{display:none}.dash378-scope-grid{inset:9%}.dash378-radar-map .dash297-center-hub{width:102px;min-height:76px}.dash378-radar-node .trail{display:none}}

/* WEB30.1.379 - Dashboard first layer: top device strip + long range radar + right sensor history rail */
.dash379-primary-view{grid-template-columns:1fr!important;align-items:stretch}
.dash379-radar-panel{display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;min-height:0;overflow:hidden}
.dash379-radar-toolbar{display:grid!important;grid-template-columns:210px minmax(0,1fr);gap:10px;align-items:center;padding:9px 10px}
.dash379-top-title{display:grid;gap:1px;min-width:0;border:1px solid rgba(34,211,238,.18);border-radius:16px;background:linear-gradient(135deg,rgba(34,211,238,.10),rgba(2,6,23,.18));padding:7px 10px}
.dash379-top-title span{color:#22d3ee;font-size:.62rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash379-top-title b{color:#e0fcff;font-size:.82rem;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash379-top-title small{color:#94a3b8;font-size:.64rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash379-device-strip{min-width:0}.dash379-radar-toolbar .dash300-chip-row.devices{max-height:58px;min-height:38px;align-content:center;padding:2px;overflow:auto}
.dash379-radar-body{display:grid;grid-template-columns:minmax(620px,1fr) minmax(340px,.34fr);gap:12px;align-items:stretch;min-width:0;min-height:0}
.dash379-radar-layout{min-width:0;min-height:0}.dash379-radar-map{height:clamp(520px,58vh,780px);max-height:none!important;aspect-ratio:auto!important;min-height:520px}
.dash379-sensor-rail{position:relative;z-index:4;display:flex;flex-direction:column;gap:8px;min-width:0;min-height:0;max-height:clamp(520px,58vh,780px);border:1px solid rgba(34,211,238,.22);border-radius:24px;background:linear-gradient(180deg,rgba(2,6,23,.66),rgba(8,47,73,.18));box-shadow:inset 0 1px 0 rgba(255,255,255,.05);padding:10px;overflow:hidden}
.dash379-rail-head{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;border:1px solid rgba(148,163,184,.16);border-radius:18px;background:rgba(255,255,255,.035);padding:9px}
.dash379-rail-head>div:first-child{display:grid;gap:1px;min-width:0}.dash379-rail-head span{color:#22d3ee;font-size:.62rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.dash379-rail-head b{font-size:.88rem;color:#e2f7ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash379-rail-head small{font-size:.65rem;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash379-range-tabs{justify-content:flex-start}.dash379-range-tabs button{padding:5px 8px;font-size:.67rem}.dash379-zoom-bar{justify-content:flex-start;gap:5px;min-height:28px}.dash379-zoom-bar button{padding:4px 7px;font-size:.65rem}
.dash379-sensor-chart-list{display:grid;gap:8px;min-height:0;overflow:auto;padding-inline-end:2px;scrollbar-width:thin}
.dash379-sensor-chart-card{display:grid;gap:7px;border:1px solid rgba(148,163,184,.20);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.016));padding:9px;cursor:pointer;min-width:0;text-align:inherit;color:var(--text);transition:transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease}
.dash379-sensor-chart-card:hover{transform:translateY(-1px);border-color:rgba(34,211,238,.44);background:linear-gradient(180deg,rgba(34,211,238,.075),rgba(255,255,255,.018))}.dash379-sensor-chart-card.selected{border-color:rgba(34,197,94,.66);box-shadow:0 0 0 1px rgba(34,197,94,.10),0 12px 28px rgba(34,197,94,.06);background:linear-gradient(180deg,rgba(34,197,94,.105),rgba(34,211,238,.030))}.dash379-sensor-chart-card.warn{border-color:rgba(245,158,11,.34)}.dash379-sensor-chart-card.bad{border-color:rgba(239,68,68,.38)}
.dash379-sensor-chart-card header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;min-width:0}.dash379-sensor-id{display:grid;grid-template-columns:32px minmax(0,1fr);gap:8px;align-items:center;min-width:0}.dash379-sensor-id i{width:32px;height:32px;border-radius:13px;display:grid;place-items:center;background:rgba(34,211,238,.10);color:#a5f3fc;font-style:normal}.dash379-sensor-id svg{width:18px;height:18px}.dash379-sensor-id span{display:grid;gap:1px;min-width:0}.dash379-sensor-id b{font-size:.76rem;color:#f8fafc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash379-sensor-id small{font-size:.58rem;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash379-sensor-chart-card strong{font-size:.86rem;color:#bae6fd;white-space:nowrap}.dash379-sensor-chart-card strong em{font-style:normal;font-size:.58rem;color:#94a3b8;margin-inline-start:3px}
.dash379-mini-chart{position:relative;border:1px solid rgba(34,211,238,.14);border-radius:14px;background:radial-gradient(circle at 80% 20%,rgba(34,211,238,.10),transparent 42%),rgba(2,6,23,.22);overflow:hidden}.dash379-mini-chart svg{display:block;width:100%;height:92px}.dash379-grid-h,.dash379-grid-v{stroke:rgba(148,244,255,.10);stroke-width:.35}.dash379-mini-line{fill:none;stroke:#22d3ee;stroke-width:1.7;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 7px rgba(34,211,238,.35))}.dash379-mini-dot{fill:#ecfeff;stroke:#22d3ee;stroke-width:.8;vector-effect:non-scaling-stroke}.dash379-mini-axis{display:flex;justify-content:space-between;gap:8px;padding:0 8px 6px;color:#64748b;font-size:.56rem}.dash379-mini-empty{min-height:96px;border:1px dashed rgba(148,163,184,.22);border-radius:14px;display:grid;place-items:center;text-align:center;color:#94a3b8;font-size:.68rem;padding:8px}.dash379-mini-empty b,.dash379-mini-empty span{display:block}.dash379-sensor-chart-card footer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.dash379-sensor-chart-card footer span{border:1px solid rgba(148,163,184,.16);border-radius:999px;background:rgba(255,255,255,.025);padding:3px 6px;color:#94a3b8;font-size:.58rem;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}.dash379-sensor-rail-empty{min-height:180px;border:1px dashed rgba(34,211,238,.24);border-radius:18px;display:grid;place-items:center;text-align:center;color:#94a3b8;padding:18px;font-size:.76rem}
.theme-light .dash379-radar-toolbar,.theme-light .dash379-sensor-rail{background:linear-gradient(180deg,#ffffff,#f4fbff);border-color:#c7e8f3}.theme-light .dash379-top-title,.theme-light .dash379-rail-head,.theme-light .dash379-sensor-chart-card{background:#ffffff;border-color:#d7e4ee;color:#0f172a}.theme-light .dash379-top-title b,.theme-light .dash379-rail-head b,.theme-light .dash379-sensor-id b{color:#0f172a}.theme-light .dash379-sensor-chart-card strong{color:#0369a1}.theme-light .dash379-mini-chart{background:#f8fcff;border-color:#d7e4ee}.theme-light .dash379-mini-empty,.theme-light .dash379-sensor-rail-empty{color:#64748b;background:#f8fcff}
@media(max-width:1500px){.dash379-radar-body{grid-template-columns:minmax(560px,1fr) minmax(320px,.36fr)}.dash379-radar-map,.dash379-sensor-rail{height:auto;max-height:none;min-height:500px}.dash379-sensor-rail{max-height:640px}}
@media(max-width:1180px){.dash379-radar-toolbar{grid-template-columns:1fr}.dash379-radar-body{grid-template-columns:1fr}.dash379-radar-map{height:auto;aspect-ratio:16/10!important}.dash379-sensor-rail{max-height:none;min-height:0}.dash379-sensor-chart-list{max-height:620px}.dash379-rail-head{grid-template-columns:1fr}.dash379-range-tabs{justify-content:flex-start}}
@media(max-width:620px){.dash379-radar-panel{padding:10px}.dash379-radar-map{aspect-ratio:1/1!important;min-height:340px}.dash379-radar-toolbar .dash300-chip-row.devices{max-height:96px}.dash379-sensor-chart-card header{grid-template-columns:1fr}.dash379-sensor-chart-card footer{grid-template-columns:1fr}.dash379-mini-chart svg{height:78px}}

/* WEB30_1_380 - Compact right-side telemetry trend rail for dashboard radar */
.dash380-sensor-rail{border-color:rgba(245,158,11,.36);border-radius:18px;background:linear-gradient(180deg,rgba(24,14,2,.82),rgba(2,6,23,.78));box-shadow:inset 0 1px 0 rgba(251,191,36,.10),0 18px 44px rgba(0,0,0,.18);padding:7px;gap:6px}
.dash380-rail-head{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;border-color:rgba(245,158,11,.33);border-radius:14px;background:linear-gradient(180deg,rgba(146,64,14,.28),rgba(2,6,23,.36));padding:7px 8px;box-shadow:inset 0 -1px 0 rgba(245,158,11,.13)}
.dash380-rail-title{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;align-items:end;min-width:0}.dash380-rail-title span{grid-column:1/-1;color:#fbbf24!important;font-size:.62rem!important;letter-spacing:.09em}.dash380-rail-title b{color:#fde68a!important;font-size:.78rem!important}.dash380-rail-title small{color:rgba(254,243,199,.70)!important;font-size:.58rem!important;text-align:end}
.dash380-rail-controls{display:grid;gap:5px;min-width:0}.dash380-range-tabs{display:flex;gap:4px;overflow:auto;padding:1px 0}.dash380-range-tabs button{border-color:rgba(245,158,11,.25)!important;background:rgba(15,23,42,.58)!important;color:rgba(254,243,199,.82)!important;border-radius:8px!important;padding:4px 7px!important;font-size:.60rem!important;min-height:22px}.dash380-range-tabs button.active{background:linear-gradient(180deg,rgba(245,158,11,.34),rgba(120,53,15,.72))!important;border-color:rgba(251,191,36,.72)!important;color:#fff7ed!important;box-shadow:0 0 14px rgba(245,158,11,.18)}
.dash380-zoom-bar{gap:4px!important;min-height:20px!important}.dash380-zoom-bar button{border-color:rgba(245,158,11,.20)!important;background:rgba(0,0,0,.18)!important;color:rgba(253,230,138,.74)!important;border-radius:7px!important;padding:2px 6px!important;font-size:.55rem!important;min-height:20px}.dash380-zoom-bar button.active{color:#fef3c7!important;border-color:rgba(251,191,36,.48)!important;background:rgba(245,158,11,.18)!important}
.dash380-sensor-chart-list{gap:5px;padding-inline-end:3px}.dash380-sensor-trend-card{gap:5px;border-color:rgba(245,158,11,.22);border-radius:12px;background:linear-gradient(180deg,rgba(10,7,2,.86),rgba(2,6,23,.72));padding:6px 7px;box-shadow:inset 0 1px 0 rgba(251,191,36,.06);min-height:0}.dash380-sensor-trend-card:hover{border-color:rgba(251,191,36,.52);background:linear-gradient(180deg,rgba(69,26,3,.48),rgba(2,6,23,.78));transform:none}.dash380-sensor-trend-card.selected{border-color:rgba(251,191,36,.82);background:linear-gradient(180deg,rgba(120,53,15,.46),rgba(2,6,23,.80));box-shadow:0 0 0 1px rgba(251,191,36,.12),0 0 22px rgba(245,158,11,.08)}
.dash380-sensor-trend-card.warn{border-color:rgba(251,191,36,.42)}.dash380-sensor-trend-card.bad{border-color:rgba(239,68,68,.46)}.dash380-sensor-trend-card.ok{border-color:rgba(34,197,94,.26)}
.dash380-trend-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:6px!important;align-items:center!important}.dash380-sensor-id{grid-template-columns:22px minmax(0,1fr)!important;gap:6px!important}.dash380-sensor-id i{width:22px!important;height:22px!important;border-radius:8px!important;background:rgba(245,158,11,.12)!important;color:#fcd34d!important}.dash380-sensor-id svg{width:14px!important;height:14px!important}.dash380-sensor-id b{font-size:.66rem!important;color:#fde68a!important;letter-spacing:.01em}.dash380-sensor-id small{font-size:.52rem!important;color:rgba(254,243,199,.54)!important}
.dash380-trend-value{display:grid;justify-items:end;gap:0;min-width:58px}.dash380-trend-value strong{font-size:.66rem!important;color:#fef3c7!important;line-height:1.05}.dash380-trend-value strong em{font-size:.48rem!important;color:rgba(254,243,199,.55)!important}.dash380-trend-value small{font-size:.48rem;color:rgba(254,243,199,.48);font-weight:850;white-space:nowrap}
.dash380-trend-body{display:grid;grid-template-columns:minmax(0,1fr) 58px;gap:6px;align-items:center;min-width:0}.dash380-mini-chart{border-color:rgba(245,158,11,.15)!important;border-radius:8px!important;background:linear-gradient(180deg,rgba(0,0,0,.32),rgba(15,23,42,.34))!important}.dash380-mini-chart svg{height:34px!important}.dash380-grid-h,.dash380-grid-v{stroke:rgba(251,191,36,.12)!important;stroke-width:.22!important}.dash380-mini-line{stroke:#f59e0b!important;stroke-width:1.35!important;filter:drop-shadow(0 0 5px rgba(245,158,11,.38))}.dash380-mini-dot{fill:#fde68a!important;stroke:#f59e0b!important;stroke-width:.55!important}.dash380-mini-empty{min-height:34px!important;border-radius:8px!important;border-color:rgba(245,158,11,.22)!important;font-size:.56rem!important;color:rgba(254,243,199,.56)!important;background:rgba(0,0,0,.16)!important;padding:4px!important}
.dash380-trend-state{height:34px;border:1px solid rgba(245,158,11,.18);border-radius:8px;display:grid;place-items:center;background:rgba(0,0,0,.20);align-content:center;gap:2px}.dash380-trend-state span{width:6px;height:6px;border-radius:999px;background:#f59e0b;box-shadow:0 0 10px rgba(245,158,11,.38)}.dash380-trend-state b{font-size:.48rem;letter-spacing:.06em;color:rgba(254,243,199,.72)}.dash380-trend-state.up span{background:#22c55e;box-shadow:0 0 10px rgba(34,197,94,.42)}.dash380-trend-state.down span{background:#ef4444;box-shadow:0 0 10px rgba(239,68,68,.42)}.dash380-trend-state.flat span{background:#f59e0b}
.dash380-sensor-rail-empty{min-height:140px;border-color:rgba(245,158,11,.30);color:rgba(254,243,199,.68);background:rgba(0,0,0,.18)}
.theme-light .dash380-sensor-rail{background:linear-gradient(180deg,#fffaf0,#fff7ed);border-color:#f3c77b}.theme-light .dash380-rail-head,.theme-light .dash380-sensor-trend-card{background:#fffaf0;border-color:#f1c26d}.theme-light .dash380-rail-title span,.theme-light .dash380-rail-title b,.theme-light .dash380-sensor-id b,.theme-light .dash380-trend-value strong{color:#92400e!important}.theme-light .dash380-rail-title small,.theme-light .dash380-sensor-id small,.theme-light .dash380-trend-value small{color:#a16207!important}.theme-light .dash380-mini-chart{background:#fff7ed!important;border-color:#f1c26d!important}
@media(max-width:1180px){.dash380-sensor-chart-list{max-height:620px}.dash380-trend-body{grid-template-columns:minmax(0,1fr) 54px}}
@media(max-width:620px){.dash380-rail-title{grid-template-columns:1fr}.dash380-rail-title small{text-align:start}.dash380-trend-head{grid-template-columns:1fr!important}.dash380-trend-value{justify-items:start}.dash380-trend-body{grid-template-columns:1fr}.dash380-trend-state{display:none}}

/* WEB30_1_381 - Dashboard compact sensor trend rail overlap-safe rows */
.dash381-sensor-trend-card{display:grid!important;grid-template-rows:22px 28px!important;gap:4px!important;min-height:62px!important;max-height:62px!important;padding:5px 7px!important;overflow:hidden!important;align-content:start!important;position:relative!important}
.dash381-trend-head{height:22px!important;min-height:22px!important;max-height:22px!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:7px!important;overflow:hidden!important;position:relative!important;z-index:2!important}
.dash381-sensor-id{min-width:0!important;display:grid!important;grid-template-columns:18px minmax(0,1fr)!important;gap:5px!important;align-items:center!important;overflow:hidden!important}
.dash381-sensor-id i{width:18px!important;height:18px!important;border-radius:7px!important;align-self:center!important}.dash381-sensor-id svg{width:12px!important;height:12px!important}.dash381-sensor-id span{min-width:0!important;display:grid!important;grid-template-rows:12px 9px!important;gap:0!important;overflow:hidden!important}.dash381-sensor-id b{display:block!important;min-width:0!important;font-size:.60rem!important;line-height:12px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.dash381-sensor-id small{display:block!important;min-width:0!important;font-size:.47rem!important;line-height:9px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:rgba(254,243,199,.46)!important}
.dash381-trend-value{min-width:76px!important;max-width:102px!important;height:22px!important;display:grid!important;justify-items:end!important;align-content:center!important;gap:0!important;overflow:hidden!important}.dash381-trend-value strong{display:block!important;max-width:102px!important;font-size:.62rem!important;line-height:12px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.dash381-trend-value strong em{font-size:.45rem!important;margin-inline-start:2px!important}.dash381-trend-value small{display:block!important;max-width:102px!important;font-size:.44rem!important;line-height:9px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:rgba(254,243,199,.42)!important}
.dash381-trend-chart-row{min-width:0!important;height:28px!important;min-height:28px!important;max-height:28px!important;overflow:hidden!important;position:relative!important;z-index:1!important}.dash381-mini-chart{height:28px!important;min-height:28px!important;max-height:28px!important;border-radius:7px!important;overflow:hidden!important}.dash381-mini-chart svg{display:block!important;width:100%!important;height:28px!important;max-height:28px!important}.dash381-grid-h,.dash381-grid-v{stroke:rgba(251,191,36,.10)!important;stroke-width:.20!important}.dash381-mini-line{stroke-width:1.25!important}.dash381-mini-dot{r:1.25}.dash381-mini-empty{height:28px!important;min-height:28px!important;max-height:28px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;padding:2px 6px!important;overflow:hidden!important}.dash381-mini-empty b,.dash381-mini-empty span{font-size:.50rem!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.dash380-sensor-chart-list.dash379-sensor-chart-list{gap:4px!important;grid-auto-rows:62px!important;align-content:start!important;overflow:auto!important}.dash380-sensor-rail .dash380-trend-body,.dash381-sensor-trend-card .dash380-trend-state{display:none!important}.dash381-sensor-trend-card.selected::before{content:"";position:absolute;inset:4px auto 4px 3px;width:3px;border-radius:999px;background:#fbbf24;box-shadow:0 0 10px rgba(251,191,36,.6)}
.theme-light .dash381-sensor-id small,.theme-light .dash381-trend-value small{color:#a16207!important}.theme-light .dash381-grid-h,.theme-light .dash381-grid-v{stroke:rgba(146,64,14,.16)!important}
@media(max-width:620px){.dash381-sensor-trend-card{grid-template-rows:24px 30px!important;min-height:66px!important;max-height:66px!important}.dash381-trend-head{grid-template-columns:minmax(0,1fr) auto!important;height:24px!important;min-height:24px!important;max-height:24px!important}.dash381-trend-value{justify-items:end!important}.dash381-trend-chart-row,.dash381-mini-chart,.dash381-mini-chart svg{height:30px!important;min-height:30px!important;max-height:30px!important}.dash380-sensor-chart-list.dash379-sensor-chart-list{grid-auto-rows:66px!important}}

/* WEB30_1_382_DASHBOARD_RADAR_SWEEP_STYLE_SELECTOR */
.dash382-sweep-extra{display:none;position:absolute;left:50%;top:50%;z-index:7;pointer-events:none;transform:translate(-50%,-50%)}
.dash382-radar-sweep-classic_beam .dash378-sweep{z-index:8;width:49%;height:49%;background:conic-gradient(from -20deg,rgba(125,249,255,.55),rgba(34,211,238,.22) 18deg,rgba(34,211,238,.06) 34deg,transparent 57deg);clip-path:polygon(0 0,100% 3%,100% 100%,0 0);filter:drop-shadow(0 0 16px rgba(34,211,238,.36));animation-duration:7.2s}.dash382-radar-sweep-classic_beam .dash378-sweep-echo{display:block}
.dash382-radar-sweep-dual_beam .dash378-sweep{width:50%;height:3px;clip-path:none;background:linear-gradient(90deg,rgba(34,211,238,.05),rgba(125,249,255,.96) 82%,#e0ffff);border-radius:999px;box-shadow:0 0 18px rgba(34,211,238,.52);filter:drop-shadow(0 0 12px rgba(34,211,238,.45));transform-origin:0 50%;animation-duration:6.4s}.dash382-radar-sweep-dual_beam .dash378-sweep::after{content:"";position:absolute;left:0;top:-1px;width:100%;height:3px;border-radius:inherit;background:linear-gradient(90deg,rgba(34,211,238,.05),rgba(125,249,255,.68) 82%,#e0ffff);transform:rotate(180deg);transform-origin:0 50%;box-shadow:0 0 14px rgba(34,211,238,.42)}.dash382-radar-sweep-dual_beam .dash378-sweep-echo{display:block;width:50%;height:1px;clip-path:none;background:linear-gradient(90deg,transparent,rgba(34,211,238,.32),transparent);transform-origin:0 50%;opacity:.36;animation:dash297Sweep 6.4s linear infinite}.dash382-radar-sweep-dual_beam .dash378-sweep-echo.e1{animation-delay:-.25s}.dash382-radar-sweep-dual_beam .dash378-sweep-echo.e2{animation-delay:-3.45s}
.dash382-radar-sweep-segmented_arc .dash378-sweep{width:51%;height:51%;background:repeating-conic-gradient(from -16deg,rgba(125,249,255,.75) 0deg 2.5deg,rgba(34,211,238,.22) 2.5deg 5deg,transparent 5deg 8deg);clip-path:polygon(0 0,100% 0,100% 72%,0 0);filter:drop-shadow(0 0 13px rgba(34,211,238,.42));animation-duration:7.8s}.dash382-radar-sweep-segmented_arc .dash378-sweep::before{content:"";position:absolute;inset:11%;border-radius:50%;border:1px dashed rgba(125,249,255,.48);box-shadow:0 0 12px rgba(34,211,238,.18)}.dash382-radar-sweep-segmented_arc .dash378-sweep-echo{display:block;background:repeating-conic-gradient(from -20deg,rgba(34,211,238,.20) 0deg 1.5deg,transparent 1.5deg 7deg);opacity:.34;animation-duration:7.8s}
.dash382-radar-sweep-sector_bands .dash378-sweep{width:54%;height:54%;background:repeating-conic-gradient(from -42deg,rgba(125,249,255,.38) 0deg 4deg,rgba(34,211,238,.12) 4deg 7deg,transparent 7deg 11deg);clip-path:polygon(0 0,100% 0,100% 100%,0 0);filter:drop-shadow(0 0 22px rgba(34,211,238,.35));animation-duration:8.4s}.dash382-radar-sweep-sector_bands .dash378-sweep::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(34,211,238,.20),transparent 76%);clip-path:polygon(0 0,100% 18%,100% 88%,0 0)}.dash382-radar-sweep-sector_bands .dash378-sweep-echo{display:block;width:54%;height:54%;background:conic-gradient(from -48deg,rgba(34,211,238,.12),transparent 68deg);clip-path:polygon(0 0,100% 0,100% 100%,0 0);animation-duration:8.4s}
.dash382-radar-sweep-pulse_echo .dash378-sweep{width:53%;height:2px;clip-path:none;background:linear-gradient(90deg,rgba(34,211,238,.02),rgba(125,249,255,.78) 74%,#e0ffff);border-radius:999px;box-shadow:0 0 20px rgba(34,211,238,.55);transform-origin:0 50%;animation-duration:5.8s}.dash382-radar-sweep-pulse_echo .dash378-sweep-echo{display:block;width:53%;height:1px;clip-path:none;background:linear-gradient(90deg,transparent,rgba(34,211,238,.26),transparent);transform-origin:0 50%;animation:dash297Sweep 5.8s linear infinite}.dash382-radar-sweep-pulse_echo .dash382-sweep-extra{display:block;width:42%;height:42%;border-radius:50%;border:1px solid rgba(34,211,238,.22);box-shadow:0 0 18px rgba(34,211,238,.14);animation:dash382PulseEcho 2.6s ease-out infinite}.dash382-radar-sweep-pulse_echo .dash382-sweep-extra.x2{width:23%;height:23%;animation-delay:-1.25s}.dash382-radar-sweep-pulse_echo .dash378-sweep::after{content:"";position:absolute;right:-4px;top:50%;width:9px;height:9px;border-radius:50%;background:#e0ffff;transform:translateY(-50%);box-shadow:0 0 18px rgba(125,249,255,.85)}@keyframes dash382PulseEcho{0%{opacity:.55;transform:translate(-50%,-50%) scale(.62)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.65)}}
.dash382-radar-sweep-phased_array .dash378-sweep{width:51%;height:51%;background:repeating-linear-gradient(103deg,rgba(125,249,255,.55) 0 2px,rgba(34,211,238,.16) 2px 8px,transparent 8px 15px);clip-path:polygon(0 0,100% 12%,100% 54%,0 0);filter:drop-shadow(0 0 14px rgba(34,211,238,.40));animation-duration:6.9s}.dash382-radar-sweep-phased_array .dash378-sweep::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(34,211,238,.22),transparent 72%)}.dash382-radar-sweep-phased_array .dash378-sweep::after{content:"";position:absolute;left:48%;top:8%;width:2px;height:84%;background:rgba(224,255,255,.80);box-shadow:8px 0 0 rgba(125,249,255,.30),16px 0 0 rgba(125,249,255,.18),0 0 12px rgba(34,211,238,.56);transform:skewX(-18deg)}.dash382-radar-sweep-phased_array .dash378-sweep-echo{display:block;background:repeating-linear-gradient(103deg,rgba(34,211,238,.16) 0 2px,transparent 2px 12px);clip-path:polygon(0 0,100% 10%,100% 60%,0 0);animation-duration:6.9s}
.dashboard-radar-settings{overflow:hidden}.dashboard-radar-sweep-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.dashboard-radar-sweep-card{border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));color:var(--text);display:grid;grid-template-columns:86px minmax(0,1fr);grid-template-areas:"preview title" "preview desc";gap:3px 10px;align-items:center;padding:10px;text-align:start;cursor:pointer}.dashboard-radar-sweep-card:hover,.dashboard-radar-sweep-card.active{border-color:rgba(34,211,238,.58);background:linear-gradient(180deg,rgba(34,211,238,.12),rgba(15,23,42,.18));box-shadow:0 0 0 1px rgba(34,211,238,.10),0 16px 36px rgba(0,0,0,.14)}.dashboard-radar-sweep-card strong{grid-area:title;font-weight:950;color:#eaffff;font-size:.88rem}.dashboard-radar-sweep-card small{grid-area:desc;color:var(--muted);font-size:.72rem;line-height:1.6}.dash382-sweep-preview{grid-area:preview;position:relative;width:78px;height:54px;border-radius:14px;overflow:hidden;border:1px solid rgba(34,211,238,.22);background:radial-gradient(circle at 50% 50%,rgba(34,211,238,.18),transparent 42%),linear-gradient(rgba(34,211,238,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(34,211,238,.08) 1px,transparent 1px),rgba(2,6,23,.78);background-size:100% 100%,12px 12px,12px 12px,100% 100%}.dash382-sweep-preview:before,.dash382-sweep-preview:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(34,211,238,.22)}.dash382-sweep-preview:before{width:58px;height:38px}.dash382-sweep-preview:after{width:34px;height:22px}.dash382-sweep-preview i,.dash382-sweep-preview em,.dash382-sweep-preview b{position:absolute;left:50%;top:50%;transform-origin:0 50%;pointer-events:none}.dash382-sweep-preview i{width:34px;height:2px;background:linear-gradient(90deg,transparent,#7df9ff);box-shadow:0 0 10px rgba(125,249,255,.7);animation:dash297Sweep 3.8s linear infinite}.dash382-sweep-preview em,.dash382-sweep-preview b{display:none}.dash382-sweep-preview.style-dual_beam i:after{content:"";position:absolute;inset:0;background:inherit;transform:rotate(180deg);transform-origin:0 50%;box-shadow:inherit}.dash382-sweep-preview.style-segmented_arc i{height:26px;width:34px;background:repeating-conic-gradient(from -18deg,rgba(125,249,255,.8) 0 8deg,transparent 8deg 18deg);clip-path:polygon(0 50%,100% 0,100% 100%);opacity:.9}.dash382-sweep-preview.style-sector_bands i{height:34px;width:38px;background:repeating-conic-gradient(from -42deg,rgba(125,249,255,.56) 0 8deg,rgba(34,211,238,.16) 8deg 13deg,transparent 13deg 22deg);clip-path:polygon(0 50%,100% 0,100% 100%)}.dash382-sweep-preview.style-pulse_echo em{display:block;width:28px;height:18px;border-radius:50%;border:1px solid rgba(125,249,255,.42);transform:translate(-50%,-50%);animation:dash382PulseEcho 2s ease-out infinite}.dash382-sweep-preview.style-pulse_echo .e2{animation-delay:-1s}.dash382-sweep-preview.style-phased_array i{height:28px;width:36px;background:repeating-linear-gradient(103deg,rgba(125,249,255,.7) 0 2px,rgba(34,211,238,.20) 2px 7px,transparent 7px 13px);clip-path:polygon(0 50%,100% 10%,100% 74%)}
.theme-light .dashboard-radar-sweep-card strong{color:#0f172a}.theme-light .dash382-sweep-preview{background:radial-gradient(circle at 50% 50%,rgba(14,165,233,.16),transparent 42%),linear-gradient(rgba(14,165,233,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(14,165,233,.10) 1px,transparent 1px),#f8fcff;background-size:100% 100%,12px 12px,12px 12px,100% 100%}
@media(max-width:1100px){.dashboard-radar-sweep-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.dashboard-radar-sweep-grid{grid-template-columns:1fr}.dashboard-radar-sweep-card{grid-template-columns:72px minmax(0,1fr)}.dash382-sweep-preview{width:66px}}

/* WEB30_1_383_DASHBOARD_RADAR_MILITARY_LAYOUT_TEMPLATES */
.dashboard-radar-setting-block{border:1px solid rgba(148,163,184,.14);border-radius:20px;padding:12px;margin-top:12px;background:linear-gradient(180deg,rgba(255,255,255,.038),rgba(0,0,0,.10));box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
.dashboard-radar-setting-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px;padding-bottom:9px;border-bottom:1px solid rgba(148,163,184,.12)}
.dashboard-radar-setting-title b{color:#eaffff;font-weight:950}.dashboard-radar-setting-title small{color:var(--muted);font-size:.76rem;line-height:1.55;text-align:end}
.dashboard-radar-layout-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.dashboard-radar-layout-card{border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));color:var(--text);display:grid;grid-template-columns:98px minmax(0,1fr);grid-template-areas:"preview title" "preview desc";gap:3px 10px;align-items:center;padding:10px;text-align:start;cursor:pointer;min-height:86px}
.dashboard-radar-layout-card:hover,.dashboard-radar-layout-card.active{border-color:rgba(251,191,36,.58);background:linear-gradient(180deg,rgba(251,191,36,.12),rgba(15,23,42,.18));box-shadow:0 0 0 1px rgba(251,191,36,.10),0 16px 36px rgba(0,0,0,.14)}
.dashboard-radar-layout-card strong{grid-area:title;font-weight:950;color:#fff7ed;font-size:.88rem}.dashboard-radar-layout-card small{grid-area:desc;color:var(--muted);font-size:.72rem;line-height:1.6}
.dash383-layout-preview{grid-area:preview;position:relative;width:90px;height:60px;border-radius:14px;overflow:hidden;border:1px solid rgba(251,191,36,.22);background:linear-gradient(135deg,rgba(2,6,23,.94),rgba(15,23,42,.82));box-shadow:inset 0 0 24px rgba(0,0,0,.26)}
.dash383-layout-preview:before{content:"";position:absolute;inset:6px;border:1px solid rgba(34,211,238,.12);border-radius:9px;background:linear-gradient(rgba(34,211,238,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(34,211,238,.05) 1px,transparent 1px);background-size:10px 10px}
.dash383-layout-preview i{position:absolute;display:block;border:1px solid rgba(34,211,238,.30);background:rgba(34,211,238,.10);box-shadow:0 0 10px rgba(34,211,238,.10)}
.dash383-layout-preview .devices{left:9px;right:9px;top:8px;height:10px;border-radius:999px;background:rgba(251,191,36,.18);border-color:rgba(251,191,36,.34)}
.dash383-layout-preview .map{left:9px;top:24px;width:48px;height:27px;border-radius:50%;background:radial-gradient(circle,rgba(34,211,238,.22),rgba(34,211,238,.04) 58%,transparent 60%);border-radius:13px}
.dash383-layout-preview .sensors{right:9px;top:24px;width:20px;height:27px;border-radius:8px;background:rgba(16,185,129,.13);border-color:rgba(16,185,129,.32)}
.dash383-layout-preview .hud{left:37px;top:33px;width:11px;height:11px;border-radius:99px;background:rgba(248,250,252,.88);border-color:rgba(248,250,252,.50);box-shadow:0 0 12px rgba(34,211,238,.42)}
.dash383-layout-preview.style-left_sensor_console .sensors{left:9px;right:auto;width:22px}.dash383-layout-preview.style-left_sensor_console .map{left:37px;width:44px}
.dash383-layout-preview.style-wide_awacs_board .devices{height:8px}.dash383-layout-preview.style-wide_awacs_board .map{left:10px;right:10px;width:auto;height:26px}.dash383-layout-preview.style-wide_awacs_board .sensors{left:9px;right:9px;top:52px;height:5px;width:auto;border-radius:999px}
.dash383-layout-preview.style-tower_console .devices{left:8px;right:auto;top:8px;bottom:8px;width:18px;height:auto;border-radius:8px}.dash383-layout-preview.style-tower_console .map{left:33px;width:36px}.dash383-layout-preview.style-tower_console .sensors{right:8px;width:14px}
.dash383-layout-preview.style-stealth_terminal{border-color:rgba(74,222,128,.24);background:linear-gradient(135deg,#020617,#06130d)}.dash383-layout-preview.style-stealth_terminal i{border-color:rgba(74,222,128,.28);background:rgba(74,222,128,.08);box-shadow:0 0 10px rgba(74,222,128,.10)}
.dash383-layout-preview.style-strike_grid{border-color:rgba(251,113,133,.30);background:linear-gradient(135deg,#17070a,#101827)}.dash383-layout-preview.style-strike_grid .devices{border-color:rgba(251,113,133,.40);background:rgba(251,113,133,.16)}.dash383-layout-preview.style-strike_grid .sensors{border-color:rgba(251,191,36,.35);background:rgba(251,191,36,.12)}

.dash383-radar-layout-command_deck.dash378-radar-panel{border-color:rgba(251,191,36,.34);background:linear-gradient(145deg,rgba(24,22,9,.72),rgba(2,6,23,.72)),radial-gradient(circle at 48% 44%,rgba(251,191,36,.10),transparent 52%)}
.dash383-radar-layout-command_deck .dash379-radar-toolbar{border:1px solid rgba(251,191,36,.23);border-radius:20px;background:linear-gradient(90deg,rgba(251,191,36,.11),rgba(2,6,23,.32));box-shadow:inset 4px 0 0 rgba(251,191,36,.62)}
.dash383-radar-layout-command_deck .dash379-top-title{border-color:rgba(251,191,36,.28);background:linear-gradient(135deg,rgba(251,191,36,.14),rgba(2,6,23,.32))}.dash383-radar-layout-command_deck .dash379-top-title span,.dash383-radar-layout-command_deck .dash379-rail-head span{color:#fbbf24}
.dash383-radar-layout-command_deck .dash379-sensor-rail{border-color:rgba(251,191,36,.34);background:linear-gradient(180deg,rgba(24,18,4,.82),rgba(2,6,23,.78));box-shadow:inset 0 1px 0 rgba(251,191,36,.12),0 18px 44px rgba(0,0,0,.18)}
.dash383-radar-layout-command_deck .dash379-sensor-chart-card{border-radius:14px;border-color:rgba(251,191,36,.18)}

.dash383-radar-layout-left_sensor_console .dash379-radar-body{grid-template-columns:minmax(340px,.36fr) minmax(620px,1fr)}
.dash383-radar-layout-left_sensor_console .dash379-sensor-rail{order:-1;border-color:rgba(34,197,94,.32);background:linear-gradient(180deg,rgba(6,38,24,.76),rgba(2,6,23,.76));box-shadow:inset -4px 0 0 rgba(34,197,94,.22),0 18px 44px rgba(0,0,0,.18)}
.dash383-radar-layout-left_sensor_console .dash379-radar-map{border-color:rgba(34,211,238,.38);box-shadow:inset 0 0 82px rgba(0,0,0,.50),0 0 0 1px rgba(34,211,238,.08)}
.dash383-radar-layout-left_sensor_console .dash379-rail-head{border-color:rgba(34,197,94,.24);background:rgba(34,197,94,.045)}
.dash383-radar-layout-left_sensor_console .dash379-sensor-id i{background:rgba(34,197,94,.12);color:#bbf7d0}

.dash383-radar-layout-wide_awacs_board .dash379-radar-body{grid-template-columns:1fr;grid-template-rows:minmax(560px,62vh) auto}
.dash383-radar-layout-wide_awacs_board .dash379-radar-map{height:auto;min-height:560px;max-height:none!important;border-radius:32px}
.dash383-radar-layout-wide_awacs_board .dash379-sensor-rail{max-height:none;min-height:0;border-radius:20px;border-color:rgba(34,211,238,.30);background:linear-gradient(90deg,rgba(2,6,23,.78),rgba(8,47,73,.20));padding:9px}
.dash383-radar-layout-wide_awacs_board .dash379-sensor-chart-list{grid-template-columns:repeat(3,minmax(220px,1fr));grid-auto-rows:minmax(88px,auto);max-height:330px}.dash383-radar-layout-wide_awacs_board .dash379-sensor-chart-card{min-height:88px}.dash383-radar-layout-wide_awacs_board .dash379-mini-chart svg{height:58px}.dash383-radar-layout-wide_awacs_board .dash379-sensor-chart-card footer{display:none}

@media(min-width:1181px){
  .dash383-radar-layout-tower_console.dash379-radar-panel{grid-template-columns:minmax(238px,280px) minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:12px;align-items:stretch}
  .dash383-radar-layout-tower_console .dash379-radar-toolbar{grid-column:1;grid-row:1;display:grid!important;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);align-content:start;border:1px solid rgba(96,165,250,.28);border-radius:22px;background:linear-gradient(180deg,rgba(14,36,70,.72),rgba(2,6,23,.76));padding:10px;box-shadow:inset 0 0 0 1px rgba(96,165,250,.06)}
  .dash383-radar-layout-tower_console .dash379-radar-body{grid-column:2;grid-row:1;grid-template-columns:minmax(560px,1fr) minmax(315px,.34fr)}
  .dash383-radar-layout-tower_console .dash379-top-title{min-height:84px;border-color:rgba(96,165,250,.34);background:linear-gradient(135deg,rgba(96,165,250,.13),rgba(2,6,23,.22))}
  .dash383-radar-layout-tower_console .dash379-device-strip{min-height:0}.dash383-radar-layout-tower_console .dash379-radar-toolbar .dash300-chip-row.devices{display:flex;flex-direction:column;align-items:stretch;gap:7px;max-height:calc(clamp(520px,58vh,780px) - 106px);overflow:auto;padding:3px}.dash383-radar-layout-tower_console .dash379-radar-toolbar .dash300-chip-row.devices button{width:100%;justify-content:flex-start}
}

.dash383-radar-layout-stealth_terminal.dash378-radar-panel{border-color:rgba(74,222,128,.20);background:linear-gradient(180deg,rgba(0,6,4,.86),rgba(2,6,23,.76)),radial-gradient(circle at 52% 48%,rgba(74,222,128,.06),transparent 55%)}
.dash383-radar-layout-stealth_terminal .dash379-radar-toolbar,.dash383-radar-layout-stealth_terminal .dash379-top-title,.dash383-radar-layout-stealth_terminal .dash379-sensor-rail,.dash383-radar-layout-stealth_terminal .dash379-rail-head,.dash383-radar-layout-stealth_terminal .dash379-sensor-chart-card{border-color:rgba(74,222,128,.16);background:linear-gradient(180deg,rgba(4,20,12,.62),rgba(0,0,0,.10));box-shadow:none}
.dash383-radar-layout-stealth_terminal .dash378-radar-map{border-color:rgba(74,222,128,.22);background:radial-gradient(circle at 50% 50%,rgba(74,222,128,.11) 0 1px,transparent 2px),linear-gradient(rgba(74,222,128,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(74,222,128,.035) 1px,transparent 1px),linear-gradient(145deg,rgba(0,9,5,.94),rgba(2,6,23,.88));background-size:22px 22px,28px 28px,28px 28px,100% 100%;filter:saturate(.78)}
.dash383-radar-layout-stealth_terminal .dash379-top-title span,.dash383-radar-layout-stealth_terminal .dash379-rail-head span{color:#86efac}.dash383-radar-layout-stealth_terminal .dash379-top-title b,.dash383-radar-layout-stealth_terminal .dash379-rail-head b{color:#dcfce7}.dash383-radar-layout-stealth_terminal .dash379-sensor-chart-card strong{color:#bbf7d0}.dash383-radar-layout-stealth_terminal .dash379-mini-line{stroke:#4ade80;filter:drop-shadow(0 0 6px rgba(74,222,128,.28))}

.dash383-radar-layout-strike_grid.dash378-radar-panel{border-color:rgba(251,113,133,.28);background:linear-gradient(145deg,rgba(31,10,16,.68),rgba(2,6,23,.78)),radial-gradient(circle at 50% 45%,rgba(251,113,133,.08),transparent 54%)}
.dash383-radar-layout-strike_grid .dash379-radar-toolbar{border:1px solid rgba(251,113,133,.24);border-radius:18px;background:linear-gradient(90deg,rgba(251,113,133,.10),rgba(251,191,36,.045),rgba(2,6,23,.26));box-shadow:inset 4px 0 0 rgba(251,113,133,.54)}
.dash383-radar-layout-strike_grid .dash379-radar-body{grid-template-columns:minmax(600px,1.15fr) minmax(360px,.42fr)}
.dash383-radar-layout-strike_grid .dash379-top-title{border-color:rgba(251,113,133,.30);background:rgba(251,113,133,.075)}.dash383-radar-layout-strike_grid .dash379-top-title span,.dash383-radar-layout-strike_grid .dash379-rail-head span{color:#fb7185}
.dash383-radar-layout-strike_grid .dash379-sensor-rail{border-color:rgba(251,113,133,.26);background:linear-gradient(180deg,rgba(32,8,14,.76),rgba(2,6,23,.78));box-shadow:inset 0 1px 0 rgba(251,113,133,.10)}
.dash383-radar-layout-strike_grid .dash379-sensor-chart-list{gap:6px}.dash383-radar-layout-strike_grid .dash379-sensor-chart-card{border-radius:12px;padding:8px;border-inline-start:3px solid rgba(251,191,36,.52)}.dash383-radar-layout-strike_grid .dash379-mini-chart{border-radius:10px}.dash383-radar-layout-strike_grid .dash379-mini-chart svg{height:76px}

.theme-light .dashboard-radar-setting-block,.theme-light .dashboard-radar-layout-card{background:#fff;border-color:#e3edf5}.theme-light .dashboard-radar-setting-title b,.theme-light .dashboard-radar-layout-card strong{color:#0f172a}.theme-light .dash383-layout-preview{background:#f8fcff;border-color:#dbe7ef}.theme-light .dash383-layout-preview:before{border-color:rgba(14,165,233,.14);background:linear-gradient(rgba(14,165,233,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(14,165,233,.08) 1px,transparent 1px);background-size:10px 10px}
@media(max-width:1180px){.dashboard-radar-layout-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash383-radar-layout-left_sensor_console .dash379-radar-body,.dash383-radar-layout-strike_grid .dash379-radar-body{grid-template-columns:1fr}.dash383-radar-layout-left_sensor_console .dash379-sensor-rail{order:0}.dash383-radar-layout-wide_awacs_board .dash379-radar-body{grid-template-rows:auto auto}.dash383-radar-layout-wide_awacs_board .dash379-radar-map{min-height:500px}.dash383-radar-layout-wide_awacs_board .dash379-sensor-chart-list{grid-template-columns:repeat(2,minmax(220px,1fr));max-height:620px}}
@media(max-width:680px){.dashboard-radar-layout-grid{grid-template-columns:1fr}.dashboard-radar-layout-card{grid-template-columns:78px minmax(0,1fr)}.dash383-layout-preview{width:70px}.dashboard-radar-setting-title{display:grid}.dashboard-radar-setting-title small{text-align:start}.dash383-radar-layout-wide_awacs_board .dash379-sensor-chart-list{grid-template-columns:1fr}.dash383-radar-layout-wide_awacs_board .dash379-radar-map{min-height:340px}}

/* WEB30_1_384_DASHBOARD_RADAR_ANIMATED_GRID_TRACKS */
.dash384-motion-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:10px;align-items:start}.dashboard-radar-setting-block.dash384-motion-settings{border-color:rgba(125,249,255,.20);background:linear-gradient(135deg,rgba(34,211,238,.075),rgba(255,255,255,.022))}
.dash384-track-lines{position:absolute;inset:0;width:100%;height:100%;z-index:6;pointer-events:none;opacity:.88;filter:drop-shadow(0 0 8px rgba(34,211,238,.14))}.dash384-device-track{fill:none;stroke:var(--tone,#22c55e);stroke-width:.68;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:.9 2.25;vector-effect:non-scaling-stroke;opacity:.66;filter:drop-shadow(0 0 5px color-mix(in srgb,var(--tone) 35%,transparent))}.dash384-device-track.mid{stroke-width:.76}.dash384-device-track.outer{stroke-width:.88}.dash384-device-track.selected{stroke-width:1.15;stroke-dasharray:1.25 2.15;opacity:.94;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--tone) 55%,transparent))}.dash384-device-track.offline{opacity:.28;stroke-dasharray:.7 3.2;filter:none}
.dash384-radar-track-motion-on .dash384-device-track{animation:dash384TrackDash 3.6s linear infinite,dash384TrackGlow 2.8s ease-in-out infinite;animation-delay:var(--delay,0s),var(--delay,0s)}.dash384-radar-track-motion-on .dash378-radar-node .trail{animation:dash384NodeTrail 2.45s ease-in-out infinite;animation-delay:var(--delay,0s)}.dash384-radar-track-motion-off .dash384-device-track,.dash384-radar-track-motion-off .dash378-radar-node .trail{animation:none!important}.dash384-radar-track-motion-off .dash384-track-lines{opacity:.58}.dash384-radar-track-motion-off .dash384-device-track{stroke-dashoffset:0;filter:none}.dash384-radar-track-motion-off .dash378-radar-node .trail{opacity:.42}
.dash384-radar-grid-motion-on .dash297-map-lines path{animation:dash384GridTrace 16s linear infinite;stroke-dasharray:2.2 3.6}.dash384-radar-grid-motion-on .dash297-map-lines path:nth-child(2n){animation-duration:20s;animation-direction:reverse}.dash384-radar-grid-motion-on .dash378-scope-grid{animation:dash384ScopeDrift 42s linear infinite}.dash384-radar-grid-motion-on .dash297-ring.r2{animation:dash384RangeBreath 4.8s ease-in-out infinite}.dash384-radar-grid-motion-on .dash297-ring.r3{animation:dash384RangeBreath 5.8s ease-in-out infinite reverse}.dash384-radar-grid-motion-on .dash297-ring.r4{animation:dash384RangeBreath 7.2s ease-in-out infinite}.dash384-radar-grid-motion-on .dash297-axis{animation:dash384AxisScan 3.8s ease-in-out infinite}.dash384-radar-grid-motion-off .dash297-map-lines path,.dash384-radar-grid-motion-off .dash378-scope-grid,.dash384-radar-grid-motion-off .dash297-ring,.dash384-radar-grid-motion-off .dash297-axis{animation:none!important}
@keyframes dash384TrackDash{to{stroke-dashoffset:-18}}@keyframes dash384TrackGlow{0%,100%{opacity:.48}50%{opacity:.92}}@keyframes dash384NodeTrail{0%,100%{width:38px;opacity:.44}50%{width:68px;opacity:.86}}@keyframes dash384GridTrace{to{stroke-dashoffset:-28}}@keyframes dash384ScopeDrift{to{transform:rotate(360deg)}}@keyframes dash384RangeBreath{0%,100%{opacity:.70;box-shadow:0 0 18px rgba(34,211,238,.04),inset 0 0 18px rgba(34,211,238,.025)}50%{opacity:1;box-shadow:0 0 34px rgba(34,211,238,.12),inset 0 0 28px rgba(34,211,238,.07)}}@keyframes dash384AxisScan{0%,100%{opacity:.48;filter:none}50%{opacity:1;filter:drop-shadow(0 0 7px rgba(125,249,255,.35))}}
.theme-light .dash384-device-track{filter:none}.theme-light .dashboard-radar-setting-block.dash384-motion-settings{background:#fff;border-color:#d8edf6}
@media(max-width:760px){.dash384-motion-grid{grid-template-columns:1fr}.dash384-track-lines{opacity:.70}.dash384-device-track{stroke-width:.82}}

/* WEB30_1_385_DASHBOARD_RADAR_LAYER_VISIBILITY_CONTROLS */
.dash385-layer-grid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:12px;margin-top:12px}.dash385-layer-grid article{display:grid;gap:8px;min-width:0;border:1px solid rgba(125,249,255,.18);border-radius:18px;background:linear-gradient(180deg,rgba(15,23,42,.36),rgba(255,255,255,.022));padding:12px}.dash385-layer-grid article b{font-size:.86rem;font-weight:950;color:#eaffff}.dash385-layer-grid article small{color:var(--muted);font-size:.72rem;line-height:1.65}.dashboard-radar-setting-block.dash385-layer-settings{border-color:rgba(45,212,191,.22);background:linear-gradient(135deg,rgba(45,212,191,.075),rgba(34,211,238,.035),rgba(255,255,255,.018))}
.dash385-layer-device-tracks-off .dash384-track-lines{display:none!important}.dash385-layer-long-dashes-off .dash297-link-lines{display:none!important}.dash385-layer-scope-ruler-off .dash378-scope-grid,.dash385-layer-scope-ruler-off .dash378-range-label,.dash385-layer-scope-ruler-off .dash378-bearing{display:none!important}.dash385-layer-base-lines-off .dash297-map-lines{display:none!important}.dash385-layer-device-tracks-off .dash378-radar-node .trail{display:none!important}.dash385-layer-scope-ruler-off .dash297-ring{opacity:.32}.dash385-layer-scope-ruler-off .dash297-axis{opacity:.30}.dash385-layer-base-lines-off .dash297-radar-map{background-size:24px 24px,28px 28px,28px 28px,100% 100%,100% 100%}
.theme-light .dash385-layer-grid article{background:#fff;border-color:#d8edf6}.theme-light .dash385-layer-grid article b{color:#0f172a}.theme-light .dashboard-radar-setting-block.dash385-layer-settings{background:#fff;border-color:#cfe8ef}
@media(max-width:900px){.dash385-layer-grid{grid-template-columns:1fr}}

/* WEB30_1_386 — organized Radar settings + visual flexibility controls */
.dash386-radar-settings-organized{display:grid;gap:14px}.dash386-radar-settings-head{border-bottom:1px solid rgba(148,163,184,.12);padding-bottom:12px}.dash386-radar-settings-map{position:sticky;top:8px;z-index:7;display:flex;gap:8px;flex-wrap:wrap;padding:9px;border:1px solid rgba(125,249,255,.16);border-radius:18px;background:linear-gradient(180deg,rgba(2,6,23,.82),rgba(15,23,42,.68));backdrop-filter:blur(12px);box-shadow:0 14px 34px rgba(0,0,0,.16)}.dash386-radar-settings-map a{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:6px 11px;border:1px solid rgba(125,249,255,.18);border-radius:999px;background:rgba(34,211,238,.06);color:#dffcff;text-decoration:none;font-size:.74rem;font-weight:900;white-space:nowrap}.dash386-radar-settings-map a:hover{border-color:rgba(251,191,36,.52);background:rgba(251,191,36,.10);color:#fff7ed}.dash386-radar-settings-grid{display:grid;grid-template-columns:1fr;gap:14px}.dash386-radar-setting-card{margin-top:0;scroll-margin-top:86px}.dash386-radar-setting-title{align-items:center;margin-bottom:12px}.dash386-radar-title-main{display:flex;align-items:flex-start;gap:10px;min-width:0}.dash386-radar-title-main>i{flex:0 0 38px;width:38px;height:38px;border-radius:15px;display:grid;place-items:center;border:1px solid rgba(125,249,255,.22);background:radial-gradient(circle at 35% 25%,rgba(125,249,255,.22),rgba(34,211,238,.06));color:#dffcff;font-style:normal;font-weight:950;box-shadow:inset 0 1px 0 rgba(255,255,255,.10)}.dash386-radar-title-main span{display:grid;gap:3px;min-width:0}.dash386-radar-title-main b{font-size:.92rem}.dash386-radar-title-main small{text-align:start;max-width:900px}.dash386-radar-setting-title em{font-style:normal;border:1px solid rgba(251,191,36,.26);border-radius:999px;background:rgba(251,191,36,.08);color:#fde68a;padding:5px 10px;font-size:.68rem;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.dash386-control-row{margin-bottom:10px}.dash386-layer-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:10px}.dash386-layer-control{display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-areas:'icon text' 'icon control';gap:8px 10px;align-items:start;border:1px solid rgba(125,249,255,.16);border-radius:18px;padding:11px;background:linear-gradient(180deg,rgba(255,255,255,.038),rgba(15,23,42,.18));min-width:0}.dash386-layer-control>i{grid-area:icon;width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:rgba(34,211,238,.075);border:1px solid rgba(125,249,255,.18);color:#dffcff;font-style:normal;font-size:.72rem;font-weight:950}.dash386-layer-control>span{grid-area:text;display:grid;gap:3px;min-width:0}.dash386-layer-control b{color:#efffff;font-size:.84rem;font-weight:950}.dash386-layer-control small{color:var(--muted);font-size:.71rem;line-height:1.55}.dash386-layer-control .setting-row,.dash386-layer-control .form-row{grid-area:control;margin:0;min-width:0}.dash386-motion-grid,.dash386-polish-grid{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:10px}.dash386-radar-hint,.dash386-track-future-note{margin-top:10px;border:1px dashed rgba(251,191,36,.25);border-radius:16px;background:rgba(251,191,36,.055);padding:10px 12px;display:grid;gap:4px}.dash386-radar-hint b,.dash386-track-future-note b{color:#fde68a;font-size:.78rem;font-weight:950}.dash386-radar-hint small,.dash386-track-future-note small{color:var(--muted);font-size:.72rem;line-height:1.65}.dash386-layout-card{border-color:rgba(251,191,36,.20)}.dash386-sweep-card{border-color:rgba(125,249,255,.20)}.dash386-layers-card{border-color:rgba(45,212,191,.22)}.dash386-motion-card{border-color:rgba(96,165,250,.22)}.dash386-polish-card{border-color:rgba(167,139,250,.22)}.dash386-track-card{border-color:rgba(34,197,94,.20)}
.dash386-layer-hud-labels-off .dash378-radar-hud,.dash386-layer-hud-labels-off .dash378-radar-node .lock-label,.dash386-layer-hud-labels-off .dash297-radar-node b,.dash386-layer-hud-labels-off .dash297-radar-node small{display:none!important}.dash386-layer-map-grid-off .dash297-radar-map{background-size:0 0,0 0,0 0,100% 100%,100% 100%}.dash386-radar-line-soft .dash297-map-lines{opacity:.20;filter:none}.dash386-radar-line-soft .dash297-link-lines{opacity:.22}.dash386-radar-line-soft .dash384-track-lines{opacity:.46;filter:none}.dash386-radar-line-soft .dash297-ring{opacity:.58}.dash386-radar-line-high .dash297-map-lines{opacity:.58;filter:drop-shadow(0 0 14px rgba(34,211,238,.34))}.dash386-radar-line-high .dash297-link-lines{opacity:.72;filter:drop-shadow(0 0 8px rgba(125,249,255,.24))}.dash386-radar-line-high .dash384-track-lines{opacity:1;filter:drop-shadow(0 0 12px rgba(34,211,238,.28))}.dash386-radar-line-high .dash297-ring{border-color:rgba(125,249,255,.42);box-shadow:0 0 32px rgba(45,212,191,.14),inset 0 0 28px rgba(45,212,191,.07)}.dash386-radar-density-minimal .dash378-range-label,.dash386-radar-density-minimal .dash378-bearing,.dash386-radar-density-minimal .dash297-axis,.dash386-radar-density-minimal .dash378-radar-hud.bottom{display:none!important}.dash386-radar-density-minimal .dash297-ring.r1,.dash386-radar-density-minimal .dash297-ring.r3{opacity:.18}.dash386-radar-density-minimal .dash297-map-lines{opacity:.18}.dash386-radar-density-detailed .dash378-range-label,.dash386-radar-density-detailed .dash378-bearing{opacity:1}.dash386-radar-density-detailed .dash297-axis{opacity:.72}.dash386-radar-density-detailed .dash378-scope-grid{opacity:.96}.dash386-radar-density-tactical_dense .dash297-radar-map:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(rgba(125,249,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(125,249,255,.06) 1px,transparent 1px),repeating-linear-gradient(135deg,transparent 0 18px,rgba(251,191,36,.035) 18px 19px);background-size:14px 14px,14px 14px,100% 100%;mix-blend-mode:screen}.dash386-radar-density-tactical_dense .dash297-map-lines{opacity:.62}.dash386-radar-density-tactical_dense .dash378-scope-grid,.dash386-radar-density-tactical_dense .dash297-ring{filter:drop-shadow(0 0 10px rgba(125,249,255,.15))}.dash386-radar-track-window-demo_short .dash384-device-track{stroke-dasharray:.85 2.55}.dash386-radar-track-window-demo_long .dash384-device-track,.dash386-radar-track-window-future_1h .dash384-device-track,.dash386-radar-track-window-future_3h .dash384-device-track,.dash386-radar-track-window-future_6h .dash384-device-track{stroke-dasharray:1.05 2.45}.dash386-radar-track-window-future_3h .dash384-device-track,.dash386-radar-track-window-future_6h .dash384-device-track{stroke-width:.92}.theme-light .dash386-radar-settings-map,.theme-light .dash386-layer-control,.theme-light .dash386-radar-setting-card{background:#fff;border-color:#d8e8f0}.theme-light .dash386-radar-settings-map a{background:#f8fcff;color:#0f172a;border-color:#dbe7ef}.theme-light .dash386-radar-title-main>i,.theme-light .dash386-layer-control>i{background:#f0f9ff;border-color:#cfe8f3;color:#075985}.theme-light .dash386-layer-control b,.theme-light .dash386-radar-title-main b{color:#0f172a}.theme-light .dash386-radar-hint,.theme-light .dash386-track-future-note{background:#fffbeb;border-color:#fde68a}.theme-light .dash386-radar-line-high .dash297-map-lines,.theme-light .dash386-radar-line-high .dash297-link-lines,.theme-light .dash386-radar-line-high .dash384-track-lines{filter:none}@media(max-width:900px){.dash386-layer-grid,.dash386-motion-grid,.dash386-polish-grid{grid-template-columns:1fr}.dash386-radar-settings-map{position:relative;top:auto}.dash386-radar-setting-title{display:grid}.dash386-radar-setting-title em{justify-self:start}.dash386-layer-control{grid-template-columns:36px minmax(0,1fr)}}@media(max-width:620px){.dash386-radar-settings-map a{flex:1 1 calc(50% - 8px)}.dash386-radar-title-main>i{width:34px;height:34px;border-radius:13px}.dash386-layer-control{padding:10px}.dash386-layer-control>i{width:34px;height:34px;border-radius:13px}}

/* WEB30_1_387 — richer radar sweep styles, phosphor ghost, contact echo, terrain echoes */
.dash382-radar-sweep-vintage_phosphor .dash378-sweep{width:55%;height:2px;clip-path:none;background:linear-gradient(90deg,rgba(34,197,94,.02),rgba(134,239,172,.62) 64%,#ecfccb 92%);border-radius:999px;box-shadow:0 0 12px rgba(134,239,172,.40),0 0 28px rgba(34,197,94,.18);transform-origin:0 50%;animation-duration:8.8s;filter:drop-shadow(0 0 15px rgba(134,239,172,.36))}.dash382-radar-sweep-vintage_phosphor .dash378-sweep:before{content:"";position:absolute;right:0;top:-7px;width:40%;height:16px;background:radial-gradient(ellipse at 100% 50%,rgba(220,252,231,.42),rgba(34,197,94,.10) 42%,transparent 72%);filter:blur(2px)}.dash382-radar-sweep-vintage_phosphor .dash378-sweep-echo{display:block;width:55%;height:2px;clip-path:none;background:linear-gradient(90deg,transparent,rgba(134,239,172,.20),transparent);transform-origin:0 50%;animation:dash297Sweep 8.8s linear infinite;opacity:.48}
.dash382-radar-sweep-ghost_wedge .dash378-sweep{width:56%;height:56%;background:conic-gradient(from -34deg,rgba(187,247,208,.46),rgba(34,197,94,.18) 18deg,rgba(34,211,238,.09) 42deg,transparent 74deg);clip-path:polygon(0 0,100% 0,100% 100%,0 0);filter:drop-shadow(0 0 28px rgba(34,197,94,.28));animation-duration:9.4s}.dash382-radar-sweep-ghost_wedge .dash378-sweep:after{content:"";position:absolute;inset:0;background:repeating-conic-gradient(from -48deg,rgba(187,247,208,.16) 0 3deg,transparent 3deg 10deg);clip-path:polygon(0 0,100% 0,100% 100%,0 0);opacity:.82}.dash382-radar-sweep-ghost_wedge .dash378-sweep-echo{display:block;width:56%;height:56%;background:conic-gradient(from -52deg,rgba(34,197,94,.16),rgba(34,211,238,.08) 34deg,transparent 82deg);clip-path:polygon(0 0,100% 0,100% 100%,0 0);animation-duration:9.4s;opacity:.52}
.dash382-radar-sweep-echo_lobe .dash378-sweep{width:57%;height:3px;clip-path:none;background:linear-gradient(90deg,rgba(34,211,238,.02),rgba(125,249,255,.30) 50%,#e0ffff 88%);border-radius:999px;box-shadow:0 0 18px rgba(125,249,255,.54);transform-origin:0 50%;animation-duration:6.2s}.dash382-radar-sweep-echo_lobe .dash378-sweep:after{content:"";position:absolute;right:-9px;top:50%;width:20px;height:20px;border-radius:50%;transform:translateY(-50%);background:radial-gradient(circle,rgba(236,254,255,.98) 0 12%,rgba(125,249,255,.42) 22%,rgba(34,211,238,.10) 54%,transparent 74%);box-shadow:0 0 26px rgba(125,249,255,.82)}.dash382-radar-sweep-echo_lobe .dash378-sweep-echo{display:block;width:57%;height:1px;clip-path:none;background:linear-gradient(90deg,transparent,rgba(125,249,255,.24),transparent);transform-origin:0 50%;animation:dash297Sweep 6.2s linear infinite}.dash382-radar-sweep-echo_lobe .dash378-sweep-echo.e2{animation-delay:-1.55s;opacity:.22}
.dash382-radar-sweep-crt_afterglow .dash378-sweep{width:54%;height:54%;background:conic-gradient(from -26deg,rgba(187,247,208,.64),rgba(74,222,128,.26) 14deg,rgba(34,211,238,.09) 36deg,transparent 68deg);clip-path:polygon(0 0,100% 1%,100% 94%,0 0);animation-duration:8.2s;filter:drop-shadow(0 0 12px rgba(187,247,208,.42)) saturate(1.12)}.dash382-radar-sweep-crt_afterglow .dash378-sweep:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(236,254,255,.14) 0 1px,transparent 1px 5px);clip-path:inherit;opacity:.45}.dash382-radar-sweep-crt_afterglow .dash378-sweep-echo{display:block;width:54%;height:54%;background:conic-gradient(from -34deg,rgba(187,247,208,.20),rgba(34,197,94,.09) 42deg,transparent 92deg);clip-path:polygon(0 0,100% 1%,100% 96%,0 0);animation-duration:8.2s;opacity:.62}
.dash382-radar-sweep-terrain_probe .dash378-sweep{width:58%;height:2px;clip-path:none;background:linear-gradient(90deg,rgba(125,249,255,.01),rgba(125,249,255,.22) 60%,#fef9c3 90%);border-radius:999px;box-shadow:0 0 16px rgba(250,204,21,.38),0 0 30px rgba(34,211,238,.18);transform-origin:0 50%;animation-duration:7.6s}.dash382-radar-sweep-terrain_probe .dash378-sweep:after{content:"";position:absolute;right:-3px;top:-3px;width:8px;height:8px;border-radius:50%;background:#fef9c3;box-shadow:0 0 20px rgba(250,204,21,.78)}.dash382-radar-sweep-terrain_probe .dash378-sweep-echo{display:block;width:58%;height:1px;clip-path:none;background:linear-gradient(90deg,transparent,rgba(250,204,21,.20),transparent);transform-origin:0 50%;animation:dash297Sweep 7.6s linear infinite;opacity:.44}
.dash387-radar-ghost-off .dash378-sweep-echo,.dash387-radar-ghost-off .dash382-sweep-extra{display:none!important}.dash387-radar-ghost-soft .dash378-sweep-echo{opacity:.24}.dash387-radar-ghost-medium .dash378-sweep-echo{opacity:.46}.dash387-radar-ghost-strong .dash378-sweep-echo{opacity:.72;filter:drop-shadow(0 0 18px rgba(125,249,255,.28))}.dash387-radar-ghost-strong .dash378-sweep{filter:drop-shadow(0 0 24px rgba(125,249,255,.44))}.dash387-radar-ghost-crt .dash378-sweep{filter:drop-shadow(0 0 18px rgba(187,247,208,.54)) saturate(1.25);mix-blend-mode:screen}.dash387-radar-ghost-crt .dash378-sweep-echo{opacity:.82;filter:drop-shadow(0 0 20px rgba(134,239,172,.26))}.dash387-radar-ghost-crt .dash297-radar-map:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(220,252,231,.035) 0 1px,transparent 1px 4px);mix-blend-mode:screen;opacity:.38}
.dash387-terrain-echoes{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;opacity:.74;filter:drop-shadow(0 0 5px rgba(34,197,94,.10))}.dash387-terrain-dot{fill:rgba(187,247,208,.18);stroke:rgba(187,247,208,.14);stroke-width:.25;vector-effect:non-scaling-stroke;transform-origin:center;animation:dash387TerrainEcho var(--radar-sweep-duration,7.2s) linear infinite;animation-delay:var(--echo-delay,0s)}.dash387-terrain-dot.r1{fill:rgba(125,249,255,.15);stroke:rgba(125,249,255,.12)}.dash387-terrain-dot.r2{fill:rgba(250,204,21,.13);stroke:rgba(250,204,21,.10)}.dash387-terrain-dot.r3{fill:rgba(45,212,191,.14);stroke:rgba(45,212,191,.10)}.dash387-terrain-dot.r4{fill:rgba(148,244,255,.12);stroke:rgba(148,244,255,.09)}.dash387-terrain-echo-off .dash387-terrain-echoes{display:none!important}.dash387-terrain-density-sparse .dash387-terrain-echoes{opacity:.52}.dash387-terrain-density-dense .dash387-terrain-echoes{opacity:.88;filter:drop-shadow(0 0 8px rgba(34,197,94,.14))}@keyframes dash387TerrainEcho{0%,78%,100%{opacity:.28;filter:blur(.15px)}82%{opacity:.98;filter:drop-shadow(0 0 8px rgba(187,247,208,.62))}90%{opacity:.50;filter:drop-shadow(0 0 4px rgba(187,247,208,.28))}}
.dash387-contact-echo{position:absolute;left:50%;top:50%;width:16px;height:16px;border-radius:50%;border:1px solid color-mix(in srgb,var(--tone) 80%,#ecfeff);transform:translate(-50%,-50%) scale(.5);opacity:0;pointer-events:none;z-index:1;box-shadow:0 0 20px color-mix(in srgb,var(--tone) 45%,transparent)}.dash387-contact-echo-on .dash378-radar-node.online .dash387-contact-echo{animation:dash387ContactEcho var(--radar-sweep-duration,7.2s) linear infinite;animation-delay:var(--hit-delay,0s)}.dash387-contact-echo-on .dash378-radar-node.selected .dash387-contact-echo{border-color:#e0ffff;box-shadow:0 0 28px rgba(125,249,255,.75)}.dash387-contact-echo-off .dash387-contact-echo{display:none!important}@keyframes dash387ContactEcho{0%,86%,100%{opacity:0;transform:translate(-50%,-50%) scale(.55)}88%{opacity:.95;transform:translate(-50%,-50%) scale(.78)}94%{opacity:.34;transform:translate(-50%,-50%) scale(2.35)}}
.dash382-sweep-preview.style-vintage_phosphor i{width:38px;height:2px;background:linear-gradient(90deg,transparent,rgba(134,239,172,.55),#ecfccb);box-shadow:0 0 12px rgba(134,239,172,.68)}.dash382-sweep-preview.style-vintage_phosphor em{display:block;width:38px;height:18px;background:radial-gradient(ellipse at 80% 50%,rgba(134,239,172,.25),transparent 72%);transform:translate(-6px,-50%);animation:dash297Sweep 3.8s linear infinite}.dash382-sweep-preview.style-ghost_wedge i{height:34px;width:40px;background:conic-gradient(from -38deg,rgba(187,247,208,.50),rgba(34,197,94,.16) 32deg,transparent 75deg);clip-path:polygon(0 50%,100% 0,100% 100%)}.dash382-sweep-preview.style-echo_lobe i{width:40px;height:2px;background:linear-gradient(90deg,transparent,rgba(125,249,255,.38),#e0ffff)}.dash382-sweep-preview.style-echo_lobe i:after{content:"";position:absolute;right:-5px;top:-5px;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle,#ecfeff,rgba(125,249,255,.38),transparent 72%)}.dash382-sweep-preview.style-crt_afterglow i{height:32px;width:38px;background:conic-gradient(from -30deg,rgba(187,247,208,.72),rgba(74,222,128,.20) 28deg,transparent 68deg);clip-path:polygon(0 50%,100% 2%,100% 96%);filter:drop-shadow(0 0 10px rgba(187,247,208,.54))}.dash382-sweep-preview.style-terrain_probe i{width:42px;height:1px;background:linear-gradient(90deg,transparent,rgba(250,204,21,.36),#fef9c3);box-shadow:0 0 12px rgba(250,204,21,.55)}.dash382-sweep-preview.style-terrain_probe b{display:block;left:18px;top:15px;width:4px;height:4px;border-radius:50%;background:rgba(250,204,21,.46);box-shadow:14px 8px 0 rgba(187,247,208,.38),28px 2px 0 rgba(125,249,255,.32),32px 22px 0 rgba(187,247,208,.25)}
.dash382-radar-sweep-vintage_phosphor .dash378-sweep,.dash382-radar-sweep-ghost_wedge .dash378-sweep,.dash382-radar-sweep-echo_lobe .dash378-sweep,.dash382-radar-sweep-crt_afterglow .dash378-sweep,.dash382-radar-sweep-terrain_probe .dash378-sweep,.dash382-radar-sweep-vintage_phosphor .dash378-sweep-echo,.dash382-radar-sweep-ghost_wedge .dash378-sweep-echo,.dash382-radar-sweep-echo_lobe .dash378-sweep-echo,.dash382-radar-sweep-crt_afterglow .dash378-sweep-echo,.dash382-radar-sweep-terrain_probe .dash378-sweep-echo{animation-duration:var(--radar-sweep-duration,7.2s)}
.theme-light .dash387-terrain-dot{fill:rgba(14,116,144,.16);stroke:rgba(14,116,144,.10)}.theme-light .dash387-contact-echo{box-shadow:none}.theme-light .dash387-radar-ghost-crt .dash297-radar-map:before{opacity:.18}
@media(max-width:620px){.dash387-terrain-echoes{opacity:.48}.dash387-contact-echo{width:12px;height:12px}.dash387-radar-ghost-crt .dash297-radar-map:before{display:none}}

/* WEB30.1.388 - Advanced Cache & Load Manager */
.cache-header-icon{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:7px;background:color-mix(in srgb,var(--accent) 18%,transparent);border:1px solid color-mix(in srgb,var(--accent) 36%,var(--line));font-size:.78rem;line-height:1;}
.cache-panel-badges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:10px;}
.cache-mini-badge{display:flex;align-items:center;gap:6px;border:1px solid rgba(130,170,210,.14);border-radius:10px;background:rgba(255,255,255,.035);padding:6px 7px;color:#cfe2f3;font-size:.7rem;min-width:0;}
.cache-mini-badge i{font-style:normal;width:18px;height:18px;border-radius:7px;display:grid;place-items:center;background:rgba(255,255,255,.06);flex:0 0 auto;}
.cache-mini-badge.ok{border-color:rgba(39,230,147,.32);color:#d8fff0}.cache-mini-badge.warn{border-color:rgba(255,188,77,.34);color:#fff1cc}.cache-mini-badge.muted{opacity:.82}.cache-header-panel .primary-btn.small,.cache-header-panel .ghost-btn.small,.cache-header-panel .danger-btn.small{padding:6px 9px;font-size:.72rem;border-radius:9px;min-height:28px;}
.cache-manager-page{display:grid;gap:var(--gap);padding-bottom:66px;}
.cache-manager-hero{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 12%,transparent),rgba(255,255,255,.025)),var(--panel);}
.cache-manager-hero h3{font-size:1rem;margin-bottom:4px}.cache-manager-hero p{max-width:860px;line-height:1.6}.cache-manager-hero-actions,.cache-manager-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-end}.cache-manager-hero-actions{min-width:320px;}
.cache-manager-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
.cache-manager-tabs .tab{display:grid;gap:2px;text-align:start;align-content:center;min-height:58px;border-radius:15px;background:linear-gradient(135deg,rgba(255,255,255,.04),rgba(255,255,255,.015));}
.cache-manager-tabs .tab b{font-size:.86rem}.cache-manager-tabs .tab small{font-size:.68rem;color:var(--muted);line-height:1.2}.cache-manager-tabs .tab.active small{color:rgba(255,255,255,.84)}
.cache-manager-body{min-width:0}.cache-manager-grid{padding-bottom:0;}
.cache-manager-overview{display:grid;gap:12px}.cache-layer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;}
.cache-layer-card{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:9px;align-items:start;border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:10px;background:rgba(255,255,255,.03);min-width:0;}
.cache-layer-card i{font-style:normal;width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.055);font-size:1.05rem;}.cache-layer-card b{display:block;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cache-layer-card small{display:block;color:var(--muted);font-size:.72rem;line-height:1.45}.cache-layer-card em{font-style:normal;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:3px 7px;color:var(--muted);font-size:.68rem;white-space:nowrap}.cache-layer-card.ok{border-color:rgba(39,230,147,.28);box-shadow:inset 4px 0 0 rgba(39,230,147,.42)}.cache-layer-card.warn{border-color:rgba(255,188,77,.30);box-shadow:inset 4px 0 0 rgba(255,188,77,.42)}.cache-layer-card.muted{opacity:.86}.cache-layer-card.ok em{color:#d8fff0;border-color:rgba(39,230,147,.28)}.cache-layer-card.warn em{color:#fff1cc;border-color:rgba(255,188,77,.30)}
.cache-manager-overview-bottom{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:10px;align-items:start}.cache-manager-overview-bottom aside{border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:12px;background:rgba(255,255,255,.028);display:grid;gap:8px}.cache-manager-overview-bottom aside small{color:var(--muted);line-height:1.55}
.cache-manager-rows{display:grid;gap:7px;margin:10px 0;}.cache-manager-rows>div{display:grid;grid-template-columns:minmax(130px,.55fr) minmax(0,1fr);gap:10px;align-items:start;border:1px solid rgba(255,255,255,.075);border-radius:11px;padding:8px;background:rgba(0,0,0,.10)}.cache-manager-rows span{color:var(--muted);font-size:.75rem}.cache-manager-rows b{font-size:.76rem;word-break:break-word;color:var(--text);text-align:end}.cache-manager-grid .panel{min-height:170px}.cache-manager-grid .panel h3{display:flex;align-items:center;gap:8px;border-bottom:1px solid rgba(255,255,255,.07);padding-bottom:8px;margin-bottom:9px}.cache-manager-grid .panel p{line-height:1.55}.theme-light .cache-header-panel{background:#fff;color:#182536;border-color:#cfe0ec}.theme-light .cache-panel-title small,.theme-light .cache-panel-rows span{color:#5f7282}.theme-light .cache-panel-rows div,.theme-light .cache-mini-badge,.theme-light .cache-manager-rows>div,.theme-light .cache-layer-card,.theme-light .cache-manager-overview-bottom aside{background:#f7fbff;border-color:#dfeaf2}.theme-light .cache-manager-hero{background:linear-gradient(135deg,#eefdff,#f8fffb)}
@media(max-width:1180px){.cache-layer-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.cache-manager-tabs{grid-template-columns:repeat(2,minmax(0,1fr));}.cache-manager-overview-bottom{grid-template-columns:1fr}.cache-manager-hero{flex-direction:column}.cache-manager-hero-actions{min-width:0;justify-content:flex-start}}
@media(max-width:700px){.cache-layer-grid,.cache-manager-tabs,.cache-panel-badges{grid-template-columns:1fr}.cache-manager-rows>div{grid-template-columns:1fr}.cache-manager-rows b{text-align:start}.cache-manager-actions,.cache-manager-hero-actions{justify-content:flex-start}.cache-header-panel{right:-80px}}

/* WEB30.1.390 - Cache policy registry cards */
.cache-policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:8px;}
.cache-policy-card{display:grid;gap:8px;border:1px solid rgba(255,255,255,.09);border-radius:15px;background:rgba(255,255,255,.03);padding:10px;min-width:0;}
.cache-policy-card.ok{border-color:rgba(39,230,147,.26);box-shadow:inset 3px 0 0 rgba(39,230,147,.38);}
.cache-policy-card.muted{border-color:rgba(143,165,188,.16);}
.cache-policy-card b{display:block;font-size:.82rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cache-policy-card small{display:block;color:var(--muted);font-size:.7rem;line-height:1.45;margin-top:3px;}
.cache-policy-card em{justify-self:start;font-style:normal;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:var(--muted);font-size:.68rem;padding:3px 7px;}
.cache-policy-meta{display:flex;gap:6px;flex-wrap:wrap;}
.cache-policy-meta span{border:1px solid rgba(255,255,255,.09);border-radius:999px;padding:3px 7px;font-size:.67rem;color:var(--muted);background:rgba(0,0,0,.10);}
.cache-policy-note{border:1px dashed rgba(255,188,77,.34);border-radius:14px;padding:12px;color:#fff1cc;background:rgba(255,188,77,.06);font-size:.78rem;line-height:1.55;}
.cache-manager-actions.mini{justify-content:flex-start;gap:6px;}
.cache-manager-actions.mini .small{padding:5px 8px;font-size:.68rem;min-height:26px;border-radius:8px;}
.theme-light .cache-policy-card{background:#f7fbff;border-color:#dfeaf2;}
.theme-light .cache-policy-note{background:#fff8e8;color:#765318;border-color:#e6c987;}
@media (max-width:900px){.cache-policy-grid{grid-template-columns:1fr;}}

/* WEB30.1.396 - Client Load Governor / WEB30.1.397 Microcache Bucket Manager */
.load-governor-card{border-color:rgba(56,189,248,.24)!important;background:linear-gradient(135deg,rgba(14,165,233,.08),rgba(15,23,42,.20));}
.cache-governor-settings{display:grid;grid-template-columns:1fr;gap:8px;margin:10px 0;padding:10px;border:1px solid rgba(125,249,255,.13);border-radius:15px;background:rgba(2,6,23,.18);}
.cache-governor-settings .setting-row{margin:0;}
.cache-governor-settings .seg{justify-content:flex-end;}
.cache-governor-settings .seg button{min-width:0;font-size:.68rem;padding:5px 8px;}
.theme-light .load-governor-card{background:#f7fbff;border-color:#cce6f4!important;}
.theme-light .cache-governor-settings{background:#fff;border-color:#d8edf6;}
@media(max-width:760px){.cache-governor-settings .setting-row{grid-template-columns:1fr}.cache-governor-settings .seg{justify-content:flex-start}}

/* WEB30.1.397 microcache bucket manager */
.cache-bucket-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px;}
.cache-bucket-card{border:1px solid rgba(148,163,184,.2);border-radius:16px;padding:12px;background:rgba(15,23,42,.34);box-shadow:inset 0 1px 0 rgba(255,255,255,.04);display:flex;flex-direction:column;gap:9px;min-width:0;}
.cache-bucket-card.ok{border-color:rgba(45,212,191,.35);background:linear-gradient(135deg,rgba(20,184,166,.12),rgba(15,23,42,.36));}
.cache-bucket-card.muted{opacity:.92;background:rgba(15,23,42,.22);}
.cache-bucket-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
.cache-bucket-head b{display:block;font-size:.88rem;line-height:1.35;}
.cache-bucket-head small{display:block;color:var(--muted);font-size:.72rem;line-height:1.45;margin-top:3px;}
.cache-bucket-head em{font-style:normal;border-radius:999px;padding:4px 8px;font-size:.68rem;border:1px solid rgba(148,163,184,.25);background:rgba(2,6,23,.25);white-space:nowrap;}
.cache-bucket-card.ok .cache-bucket-head em{color:#99f6e4;border-color:rgba(45,212,191,.4);}
.cache-bucket-controls{display:flex;gap:7px;flex-wrap:wrap;align-items:center;}
.cache-bucket-controls label{display:flex;align-items:center;gap:6px;border:1px solid rgba(148,163,184,.18);border-radius:10px;padding:4px 7px;background:rgba(2,6,23,.18);}
.cache-bucket-controls label span{font-size:.68rem;color:var(--muted);}
.cache-bucket-controls input{width:74px;min-height:28px;border-radius:8px;border:1px solid rgba(148,163,184,.24);background:rgba(2,6,23,.35);color:var(--text);padding:3px 6px;font-size:.75rem;}
.cache-bucket-card p{margin:0;color:var(--muted);font-size:.72rem;line-height:1.55;}
.theme-light .cache-bucket-card{background:#fff;border-color:#d8edf6;}
.theme-light .cache-bucket-card.ok{background:linear-gradient(135deg,#ecfffb,#fff);border-color:#9de9dc;}
.theme-light .cache-bucket-head em,.theme-light .cache-bucket-controls label{background:#f8fbff;border-color:#d8edf6;}
.theme-light .cache-bucket-controls input{background:#fff;color:#0f172a;border-color:#d8edf6;}
@media(max-width:900px){.cache-bucket-grid{grid-template-columns:1fr}.cache-bucket-head{flex-direction:column}.cache-bucket-controls{align-items:flex-start}}

.cache-provider-log-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.cache-provider-log-list li{display:grid;gap:3px;padding:8px 10px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.cache-provider-log-list b{font-size:.82rem}.cache-provider-log-list span{font-size:.76rem;color:var(--muted)}.cache-provider-log-list small{font-size:.76rem;line-height:1.45;color:var(--text)}

/* WEB30.1.403 - Cache Load Health Matrix */
.cache-health-matrix{align-items:start;}
.cache-health-score-card{border-color:rgba(125,249,255,.22)!important;background:linear-gradient(135deg,rgba(14,165,233,.10),rgba(15,23,42,.18));}
.cache-health-score{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(148,163,184,.20);border-radius:18px;padding:14px;margin:10px 0;background:rgba(2,6,23,.20);}
.cache-health-score strong{font-size:2rem;line-height:1;color:var(--text);}
.cache-health-score span{font-size:.78rem;color:var(--muted);text-align:end;line-height:1.45;}
.cache-health-score.ok{border-color:rgba(45,212,191,.38);box-shadow:inset 4px 0 0 rgba(45,212,191,.50);}
.cache-health-score.warn{border-color:rgba(245,158,11,.40);box-shadow:inset 4px 0 0 rgba(245,158,11,.55);}
.cache-health-score.bad{border-color:rgba(248,113,113,.42);box-shadow:inset 4px 0 0 rgba(248,113,113,.58);}
.cache-health-wide{grid-column:1/-1;}
.cache-health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px;}
.cache-health-card{display:grid;gap:8px;min-width:0;border:1px solid rgba(148,163,184,.18);border-radius:16px;padding:12px;background:rgba(15,23,42,.30);box-shadow:inset 0 1px 0 rgba(255,255,255,.04);}
.cache-health-card.ok{border-color:rgba(45,212,191,.34);box-shadow:inset 4px 0 0 rgba(45,212,191,.42);}
.cache-health-card.warn{border-color:rgba(245,158,11,.34);box-shadow:inset 4px 0 0 rgba(245,158,11,.45);}
.cache-health-card.bad{border-color:rgba(248,113,113,.38);box-shadow:inset 4px 0 0 rgba(248,113,113,.50);}
.cache-health-card.muted{opacity:.88;}
.cache-health-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;}
.cache-health-card-head b{display:block;font-size:.88rem;color:var(--text);line-height:1.35;}
.cache-health-card-head small{display:block;font-size:.72rem;color:var(--muted);line-height:1.45;margin-top:3px;}
.cache-health-card-head em{font-style:normal;border:1px solid rgba(148,163,184,.22);border-radius:999px;padding:3px 8px;font-size:.68rem;color:var(--muted);background:rgba(2,6,23,.25);white-space:nowrap;}
.cache-health-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}
.cache-health-facts span{display:grid;gap:2px;border:1px solid rgba(148,163,184,.12);border-radius:10px;padding:6px;background:rgba(2,6,23,.16);min-width:0;}
.cache-health-facts i{font-style:normal;font-size:.66rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cache-health-facts b{font-size:.72rem;color:var(--text);word-break:break-word;}
.cache-health-foot{display:flex;gap:6px;flex-wrap:wrap;}
.cache-health-foot span{border:1px solid rgba(148,163,184,.15);border-radius:999px;padding:3px 7px;font-size:.66rem;color:var(--muted);}
.cache-health-card p{margin:0;color:var(--muted);font-size:.72rem;line-height:1.55;}
.cache-action-queue{display:grid;gap:8px;margin-top:10px;}
.cache-action-queue>div{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid rgba(148,163,184,.18);border-radius:13px;padding:9px;background:rgba(2,6,23,.16);}
.cache-action-queue>div.ok{border-color:rgba(45,212,191,.25)}.cache-action-queue>div.warn{border-color:rgba(245,158,11,.30)}.cache-action-queue>div.bad{border-color:rgba(248,113,113,.34)}
.cache-action-queue b{font-size:.78rem;color:var(--text);}.cache-action-queue span{font-size:.72rem;color:var(--muted);line-height:1.45}.cache-action-queue em{font-style:normal;font-size:.66rem;border-radius:999px;border:1px solid rgba(148,163,184,.18);padding:3px 7px;color:var(--muted)}
.cache-loading-sequence{display:grid;gap:8px;margin-top:10px;}
.cache-loading-sequence>div{border:1px solid rgba(148,163,184,.15);border-radius:13px;padding:9px;background:rgba(2,6,23,.14);}
.cache-loading-sequence b{display:block;font-size:.78rem;color:var(--text);}.cache-loading-sequence span{display:block;font-size:.72rem;color:var(--muted);line-height:1.45;margin-top:2px;}
.cache-layer-card.bad{border-color:rgba(248,113,113,.32);box-shadow:inset 4px 0 0 rgba(248,113,113,.42)}.cache-layer-card.bad em{color:#fecaca;border-color:rgba(248,113,113,.32)}
.theme-light .cache-health-score-card,.theme-light .cache-health-card,.theme-light .cache-action-queue>div,.theme-light .cache-loading-sequence>div{background:#fff;border-color:#d8edf6;}
.theme-light .cache-health-score{background:#f8fbff;border-color:#d8edf6;}
.theme-light .cache-health-facts span,.theme-light .cache-health-foot span{background:#f8fbff;border-color:#d8edf6;}
@media(max-width:1180px){.cache-health-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.cache-action-queue>div{grid-template-columns:1fr;}}
@media(max-width:760px){.cache-health-grid,.cache-health-facts{grid-template-columns:1fr}.cache-health-score{display:grid}.cache-health-score span{text-align:start}}

/* WEB30.1.404 - Compact actionable cache header panel */
.cache-header-panel{width:min(326px,calc(100vw - 18px));padding:9px;border-radius:13px;max-height:calc(100vh - 92px);overflow:auto;overscroll-behavior:contain;}
.cache-panel-title.compact{align-items:center;margin-bottom:7px;padding-bottom:7px;gap:8px;}
.cache-panel-title-link{display:grid;gap:1px;text-align:start;background:transparent;border:0;color:inherit;padding:0;min-width:0;cursor:pointer;}
.cache-panel-title-link b{font-size:.82rem;line-height:1.2;}
.cache-panel-title-link small{max-width:none;font-size:.66rem;line-height:1.25;color:#9eb6ca;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cache-header-summary{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:7px;}
.cache-header-summary span{border:1px solid rgba(130,170,210,.14);background:rgba(255,255,255,.035);border-radius:999px;padding:3px 7px;font-size:.64rem;color:#bcd3e7;line-height:1.2;}
.cache-header-layer-list{display:grid;gap:5px;margin-bottom:8px;}
.cache-header-layer-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;align-items:center;border:1px solid rgba(130,170,210,.12);border-radius:10px;background:rgba(255,255,255,.032);padding:4px;box-shadow:inset 2px 0 0 rgba(143,165,188,.18);}
.cache-header-layer-row.ok{border-color:rgba(39,230,147,.22);box-shadow:inset 2px 0 0 rgba(39,230,147,.36);}
.cache-header-layer-row.warn{border-color:rgba(255,188,77,.28);box-shadow:inset 2px 0 0 rgba(255,188,77,.42);}
.cache-header-layer-row.bad{border-color:rgba(255,100,100,.28);box-shadow:inset 2px 0 0 rgba(255,100,100,.42);}
.cache-header-layer-row.muted{opacity:.88;}
.cache-header-layer-link{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:6px;align-items:center;text-align:start;background:transparent;border:0;color:inherit;padding:2px 3px;min-width:0;cursor:pointer;}
.cache-header-layer-link i{font-style:normal;width:22px;height:22px;border-radius:8px;display:grid;place-items:center;background:rgba(255,255,255,.055);font-size:.78rem;}
.cache-header-layer-link span{display:grid;gap:1px;min-width:0;}
.cache-header-layer-link b{font-size:.7rem;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#eef7ff;}
.cache-header-layer-link small{font-size:.62rem;line-height:1.15;color:#9eb6ca;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cache-header-layer-link em{font-style:normal;font-size:.56rem;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:2px 5px;color:#a9bfd4;line-height:1;}
.cache-header-layer-row .ghost-btn.small{padding:4px 6px;font-size:.61rem;min-height:23px;border-radius:8px;}
.cache-panel-actions.compact{gap:5px;justify-content:space-between;}
.cache-panel-actions.compact .small,.cache-panel-title.compact .small{padding:4px 7px;font-size:.64rem;min-height:24px;border-radius:8px;}
.theme-light .cache-panel-title-link small,.theme-light .cache-header-summary span,.theme-light .cache-header-layer-link small{color:#5f7282;}
.theme-light .cache-header-summary span,.theme-light .cache-header-layer-row{background:#f7fbff;border-color:#dfeaf2;}
.theme-light .cache-header-layer-link b{color:#172437;}
.theme-light .cache-header-layer-link i{background:#edf5fb;}
@media(max-width:760px){.cache-header-panel{right:-74px;width:min(310px,calc(100vw - 14px));}.cache-header-layer-row{grid-template-columns:1fr}.cache-header-layer-row .ghost-btn.small{justify-self:end}.cache-panel-actions.compact{justify-content:flex-start}}

/* WEB30.1.405 - Cache activity journal */
.cache-activity-grid{align-items:start;}
.cache-activity-list{display:grid;gap:6px;max-height:330px;overflow:auto;padding-inline-end:2px;}
.cache-activity-row{display:grid;grid-template-columns:96px minmax(90px,.75fr) minmax(0,1fr) auto;gap:7px;align-items:center;border:1px solid rgba(130,170,210,.12);border-radius:10px;padding:7px 8px;background:rgba(255,255,255,.028);box-shadow:inset 2px 0 0 rgba(143,165,188,.18);}
.cache-activity-row.ok{border-color:rgba(39,230,147,.20);box-shadow:inset 2px 0 0 rgba(39,230,147,.35);}
.cache-activity-row.warn{border-color:rgba(255,188,77,.26);box-shadow:inset 2px 0 0 rgba(255,188,77,.38);}
.cache-activity-row.bad{border-color:rgba(255,100,100,.28);box-shadow:inset 2px 0 0 rgba(255,100,100,.40);}
.cache-activity-row span{font-size:.68rem;color:var(--muted);white-space:nowrap;}
.cache-activity-row b{font-size:.75rem;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cache-activity-row small{font-size:.68rem;color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cache-activity-row em{font-style:normal;font-size:.6rem;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:2px 6px;color:var(--muted);white-space:nowrap;}
.theme-light .cache-activity-row{background:#f7fbff;border-color:#dfeaf2;}
@media(max-width:760px){.cache-activity-row{grid-template-columns:1fr;gap:3px}.cache-activity-row em{justify-self:start}}

/* WEB30.1.406/407 - Cache performance audit controls */
.cache-performance-grid .cache-performance-list{display:grid;gap:8px;max-height:420px;overflow:auto;padding-inline-end:4px}
.cache-perf-route{display:grid;gap:4px;padding:9px 10px;border:1px solid rgba(148,163,184,.24);border-radius:12px;background:rgba(15,23,42,.18)}
.cache-perf-route b{font-size:12px;line-height:1.35;word-break:break-word}
.cache-perf-route span,.cache-perf-route small,.cache-perf-route em{font-size:11px;color:var(--muted);font-style:normal}
.cache-perf-route.ok{border-color:rgba(34,197,94,.28);background:rgba(34,197,94,.07)}
.cache-perf-route.warn{border-color:rgba(245,158,11,.34);background:rgba(245,158,11,.08)}
.cache-perf-route.bad{border-color:rgba(239,68,68,.38);background:rgba(239,68,68,.09)}

/* WEB30.1.407 - Performance audit controls */
.cache-performance-controls .cache-perf-toggle-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0 10px;}
.cache-performance-controls .cache-perf-toggle-row label{display:flex;align-items:center;gap:8px;border:1px solid rgba(148,163,184,.22);border-radius:12px;padding:8px 10px;background:rgba(255,255,255,.025);}
.cache-perf-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0 10px;}
.cache-perf-control-grid label{display:grid;grid-template-columns:minmax(96px,1fr) 88px 42px;gap:7px;align-items:center;border:1px solid rgba(148,163,184,.18);border-radius:11px;padding:7px 8px;background:rgba(15,23,42,.16);}
.cache-perf-control-grid label span{font-size:11px;color:var(--muted);}
.cache-perf-control-grid input[type="number"]{width:100%;min-width:0;border-radius:8px;padding:5px 7px;font-size:12px;}
.cache-perf-control-grid em{font-style:normal;font-size:10px;color:var(--muted);text-align:end;}
.theme-light .cache-performance-controls .cache-perf-toggle-row label,.theme-light .cache-perf-control-grid label{background:#f7fbff;border-color:#dfeaf2;}
@media(max-width:760px){.cache-performance-controls .cache-perf-toggle-row,.cache-perf-control-grid{grid-template-columns:1fr}.cache-perf-control-grid label{grid-template-columns:1fr 90px 38px}}

/* WEB30.1.408 - Performance route diagnostics */
.cache-performance-diagnostics{grid-column:span 2;}
.cache-route-diagnostics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px;}
.cache-route-diagnostic{display:grid;gap:5px;border:1px solid rgba(148,163,184,.22);border-radius:13px;padding:9px 10px;background:rgba(15,23,42,.16);box-shadow:inset 3px 0 0 rgba(148,163,184,.26);}
.cache-route-diagnostic>div{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;}
.cache-route-diagnostic b{font-size:12px;line-height:1.35;word-break:break-word;color:var(--text);}
.cache-route-diagnostic em{font-style:normal;font-size:10px;border:1px solid rgba(148,163,184,.22);border-radius:999px;padding:2px 7px;color:var(--muted);white-space:nowrap;}
.cache-route-diagnostic span,.cache-route-diagnostic small{font-size:11px;color:var(--muted);line-height:1.4;}
.cache-route-diagnostic p{margin:1px 0 0;font-size:11px;line-height:1.45;color:var(--text);}
.cache-route-diagnostic.ok{border-color:rgba(34,197,94,.26);box-shadow:inset 3px 0 0 rgba(34,197,94,.36);background:rgba(34,197,94,.06);}
.cache-route-diagnostic.warn{border-color:rgba(245,158,11,.34);box-shadow:inset 3px 0 0 rgba(245,158,11,.42);background:rgba(245,158,11,.075);}
.cache-route-diagnostic.bad{border-color:rgba(239,68,68,.38);box-shadow:inset 3px 0 0 rgba(239,68,68,.44);background:rgba(239,68,68,.085);}
.theme-light .cache-route-diagnostic{background:#f7fbff;border-color:#dfeaf2;}
.theme-light .cache-route-diagnostic.ok{background:#f4fff9;border-color:#bdebd0;}
.theme-light .cache-route-diagnostic.warn{background:#fffaf0;border-color:#f4d59a;}
.theme-light .cache-route-diagnostic.bad{background:#fff5f5;border-color:#f2b7b7;}
@media(max-width:980px){.cache-performance-diagnostics{grid-column:span 1}.cache-route-diagnostics{grid-template-columns:1fr}}

/* WEB30.1.409 - DB helper-query profiler inside Cache / Load Manager */
.cache-db-profiler-card { min-width: 0; }
.cache-db-profiler-list { display: grid; gap: 8px; }
.cache-db-profiler-row {
  border: 1px solid rgba(148,163,184,.22);
  border-radius: 12px;
  padding: 9px 10px;
  background: rgba(15,23,42,.18);
  display: grid;
  gap: 4px;
}
.cache-db-profiler-row b { font-size: .84rem; word-break: break-word; }
.cache-db-profiler-row span,
.cache-db-profiler-row small { color: var(--muted); font-size: .76rem; line-height: 1.35; }
.cache-db-profiler-row.ok { border-color: rgba(34,197,94,.30); }
.cache-db-profiler-row.warn { border-color: rgba(245,158,11,.42); }
.cache-db-profiler-row.bad { border-color: rgba(239,68,68,.45); }


/* WEB30.1.411 compact cache controls */
.cache-compact-controls{align-items:start;}
.cache-compact-wide{grid-column:1/-1;}
.cache-bucket-compact-list{display:flex;flex-direction:column;gap:8px;margin-top:10px;}
.cache-bucket-compact-row{display:grid;grid-template-columns:minmax(160px,1.15fr) minmax(180px,1fr) auto auto;gap:8px;align-items:center;border:1px solid rgba(148,163,184,.18);border-radius:14px;padding:8px;background:rgba(15,23,42,.24);}
.cache-bucket-compact-row.ok{border-color:rgba(45,212,191,.32);background:linear-gradient(135deg,rgba(20,184,166,.1),rgba(15,23,42,.24));}
.cache-bucket-compact-row.muted{opacity:.78;}
.cache-bucket-name{border:0;background:transparent;color:var(--text);text-align:start;padding:0;cursor:pointer;display:flex;flex-direction:column;gap:2px;min-width:0;}
.cache-bucket-name b{font-size:.86rem;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cache-bucket-name small,.cache-bucket-mini-stat{font-size:.7rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cache-bucket-ttl{display:flex;align-items:center;gap:6px;border:1px solid rgba(148,163,184,.18);border-radius:10px;padding:4px 7px;background:rgba(2,6,23,.18);}
.cache-bucket-ttl span{font-size:.68rem;color:var(--muted);}
.cache-bucket-ttl input{width:72px;min-height:28px;border-radius:8px;border:1px solid rgba(148,163,184,.24);background:rgba(2,6,23,.35);color:var(--text);padding:3px 6px;font-size:.75rem;}
.cache-bucket-row-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap;}
.theme-light .cache-bucket-compact-row{background:#fff;border-color:#d8edf6;}
.theme-light .cache-bucket-compact-row.ok{background:linear-gradient(135deg,#ecfffb,#fff);border-color:#9de9dc;}
.theme-light .cache-bucket-ttl{background:#f8fbff;border-color:#d8edf6;}
.theme-light .cache-bucket-ttl input{background:#fff;color:#0f172a;border-color:#d8edf6;}
@media(max-width:980px){.cache-bucket-compact-row{grid-template-columns:1fr}.cache-bucket-row-actions{justify-content:flex-start}}


/* WEB30.1.415 cache UI polish: graphical but lightweight */
.cache-header-score-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:7px 0 8px;}
.cache-header-meter{border:1px solid rgba(130,170,210,.13);border-radius:10px;background:rgba(255,255,255,.035);padding:6px;display:grid;gap:4px;min-width:0;}
.cache-header-meter span{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:.62rem;color:#cfe3f4;}
.cache-header-meter span b{font-size:.62rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cache-header-meter span em{font-style:normal;color:#8ff3cc;font-size:.6rem;}
.cache-header-meter>i{display:block;height:5px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;position:relative;}
.cache-header-meter>i:before{content:"";position:absolute;inset:0 auto 0 0;width:var(--p,0%);border-radius:inherit;background:linear-gradient(90deg,#2dd4bf,#60a5fa);}
.cache-header-meter small{font-size:.56rem;color:#91a9bc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cache-visual-dashboard{grid-column:1/-1;background:linear-gradient(135deg,rgba(16,185,129,.08),rgba(59,130,246,.06));border-color:rgba(91,192,222,.18)!important;}
.cache-visual-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:10px;margin-bottom:12px;}
.cache-visual-head h3{margin:0 0 4px!important;border:0!important;padding:0!important;}
.cache-visual-head p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.55;}
.cache-visual-score-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px;}
.cache-ring-card{border:1px solid rgba(148,163,184,.16);border-radius:16px;background:rgba(2,6,23,.16);padding:10px;display:flex;align-items:center;gap:10px;min-width:0;}
.cache-ring-card>i{--p:0%;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:conic-gradient(#2dd4bf var(--p),rgba(148,163,184,.16) 0);position:relative;font-style:normal;}
.cache-ring-card>i:after{content:"";position:absolute;inset:6px;border-radius:50%;background:var(--panel,#0f172a);}
.cache-ring-card>i b{position:relative;z-index:1;font-size:.72rem;color:var(--text);}
.cache-ring-card span{display:grid;gap:3px;min-width:0;}
.cache-ring-card strong{font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cache-ring-card small{font-size:.72rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cache-visual-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.cache-visual-card{border:1px solid rgba(148,163,184,.16);border-radius:16px;background:rgba(15,23,42,.22);padding:10px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center;color:var(--text);text-align:start;cursor:pointer;min-width:0;transition:transform .14s ease,border-color .14s ease,background .14s ease;}
.cache-visual-card:hover{transform:translateY(-1px);border-color:rgba(96,165,250,.35);background:rgba(30,41,59,.34);}
.cache-visual-card.ok{border-color:rgba(45,212,191,.3);box-shadow:inset 3px 0 0 rgba(45,212,191,.45);}
.cache-visual-card.warn{border-color:rgba(251,191,36,.35);box-shadow:inset 3px 0 0 rgba(251,191,36,.48);}
.cache-visual-card.muted{opacity:.84;}
.cache-visual-icon{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.055);font-size:1rem;}
.cache-visual-body{display:grid;gap:4px;min-width:0;}
.cache-visual-body b{font-size:.83rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cache-visual-body small{font-size:.7rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cache-visual-body i{display:block;height:5px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;position:relative;}
.cache-visual-body i:before{content:"";position:absolute;inset:0 auto 0 0;width:var(--p,0%);border-radius:inherit;background:linear-gradient(90deg,#34d399,#60a5fa);}
.cache-visual-card em{font-style:normal;font-size:.68rem;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:3px 6px;color:var(--muted);}
.cache-layer-grid-clickable .cache-layer-card{cursor:pointer;text-align:start;color:var(--text);}
.cache-layer-grid-clickable .cache-layer-card:hover{transform:translateY(-1px);border-color:rgba(96,165,250,.30);background:rgba(255,255,255,.05);}
.theme-light .cache-header-meter,.theme-light .cache-ring-card,.theme-light .cache-visual-card{background:#f8fbff;border-color:#dcebf4;}
.theme-light .cache-header-meter span,.theme-light .cache-ring-card strong,.theme-light .cache-visual-body b{color:#172437;}
.theme-light .cache-header-meter small,.theme-light .cache-ring-card small,.theme-light .cache-visual-body small{color:#607487;}
.theme-light .cache-ring-card>i:after{background:#fff;}
.theme-light .cache-visual-dashboard{background:linear-gradient(135deg,#effdf8,#f7fbff);border-color:#cfe8f0!important;}
.theme-light .cache-visual-icon{background:#edf5fb;}
@media(max-width:980px){.cache-visual-score-row,.cache-visual-grid{grid-template-columns:1fr 1fr;}.cache-header-score-strip{grid-template-columns:1fr;}.cache-header-panel{width:min(340px,calc(100vw - 18px));}}
@media(max-width:640px){.cache-visual-score-row,.cache-visual-grid{grid-template-columns:1fr;}.cache-visual-head{flex-direction:column}.cache-ring-card>i{width:46px;height:46px}.cache-visual-card{grid-template-columns:32px minmax(0,1fr)}}

/* WEB30.1.418 datalogger host cron rollup visibility */
.db-rollup-cron-card{border-color:rgba(45,212,191,.24)!important;background:linear-gradient(135deg,rgba(20,184,166,.07),rgba(15,23,42,.28));}
.rollup-primary-actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 12px;padding:9px;border:1px solid rgba(148,163,184,.16);border-radius:14px;background:rgba(2,6,23,.20);}
.rollup-primary-actions .primary-btn{box-shadow:0 0 0 1px rgba(96,165,250,.20),0 8px 18px rgba(37,99,235,.16);}
.rollup-status-note{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:center;border:1px solid rgba(148,163,184,.18);border-radius:14px;padding:8px 10px;margin-bottom:10px;background:rgba(15,23,42,.22);}
.rollup-status-note b{font-size:.78rem;border-radius:999px;padding:4px 8px;border:1px solid rgba(148,163,184,.22);background:rgba(2,6,23,.28);}
.rollup-status-note span{font-size:.78rem;color:var(--muted);line-height:1.45;}
.rollup-status-note.ok{border-color:rgba(34,197,94,.32);}
.rollup-status-note.warn{border-color:rgba(245,158,11,.40);}
.rollup-status-note.muted{opacity:.78;}
.db-rollup-last-run code{white-space:normal;word-break:break-word;color:#d7f7ff;}
.db-rollup-cron-card .db-guard-overview article span{font-size:.68rem;}
.theme-light .db-rollup-cron-card{background:linear-gradient(135deg,#effdf8,#f8fbff);border-color:#bfeade!important;}
.theme-light .rollup-primary-actions,.theme-light .rollup-status-note{background:#fff;border-color:#d6e8f0;}
.theme-light .db-rollup-last-run code{color:#14506b;}
@media(max-width:700px){.rollup-status-note{grid-template-columns:1fr}.rollup-primary-actions button{width:100%;}}

/* WEB30.1.424A telemetry DB cleanup/prep guard */
.telemetry-cleanup-card{grid-column:1/-1;border-color:rgba(251,146,60,.28)!important;background:linear-gradient(135deg,rgba(251,146,60,.07),rgba(15,23,42,.26));}
.cleanup-action-grid{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 12px;padding:9px;border:1px solid rgba(251,146,60,.18);border-radius:14px;background:rgba(2,6,23,.20);}
.db-cleanup-plan{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.9fr);gap:12px;align-items:start;}
.db-cleanup-plan h4{margin:0 0 8px;font-size:.86rem;color:var(--text);}
.cleanup-protected-grid{display:grid;gap:8px;}
.cleanup-protected-grid article{border:1px solid rgba(148,163,184,.18);border-radius:14px;background:rgba(15,23,42,.22);padding:9px;display:grid;gap:5px;}
.cleanup-protected-grid b{font-size:.78rem;color:var(--text);}
.cleanup-protected-grid span{font-size:.72rem;color:var(--muted);line-height:1.45;word-break:break-word;}
.telemetry-cleanup-card .danger-note{border:1px solid rgba(251,146,60,.20);border-radius:12px;padding:8px 10px;margin-top:10px;background:rgba(251,146,60,.06);}
.theme-light .telemetry-cleanup-card{background:linear-gradient(135deg,#fff7ed,#f8fbff);border-color:#fed7aa!important;}
.theme-light .cleanup-action-grid,.theme-light .cleanup-protected-grid article,.theme-light .telemetry-cleanup-card .danger-note{background:#fff;border-color:#fed7aa;}
@media(max-width:980px){.db-cleanup-plan{grid-template-columns:1fr}.cleanup-action-grid button{width:100%;}}

/* WEB30_1_423_LIVE_DATA_VISUAL_24H_STAGE5
   Scoped Live Data polish only: readable metric cards, DB point counts, age/quality pills and 24h inline line trend. */
.live-summary-panel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;border-color:color-mix(in srgb,var(--accent) 20%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--panel) 92%,var(--accent) 8%),color-mix(in srgb,var(--panel2) 92%,#0f172a 8%))}
.live-summary-card{border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:18px;background:rgba(255,255,255,.035);padding:12px;min-width:0}.live-summary-card span,.live-summary-card small{display:block;color:var(--muted);font-size:.76rem}.live-summary-card b{display:block;margin:4px 0 3px;font-size:1.45rem;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-summary-card.primary{border-color:color-mix(in srgb,var(--accent) 38%,var(--line));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent)}.live-summary-card.ok{border-color:color-mix(in srgb,var(--good) 30%,var(--line))}.live-summary-card.warn{border-color:color-mix(in srgb,var(--warn) 45%,var(--line))}.live-summary-card.warn b{color:var(--warn)}
.live-metric-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}.live-metric-card{position:relative;overflow:hidden;padding:14px;border-radius:20px;background:radial-gradient(circle at 10% 8%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 46%),linear-gradient(180deg,rgba(255,255,255,.045),rgba(0,0,0,.13));box-shadow:0 18px 42px rgba(0,0,0,.13)}.live-metric-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--accent);opacity:.58}.live-metric-card-head{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:center}.live-metric-icon{width:44px;height:44px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--accent) 11%,transparent);font-size:1.35rem;font-style:normal}.live-metric-card-head b{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:1.02rem;line-height:1.18}.live-metric-card-head small{display:block;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-fresh-pill{border:1px solid var(--line);border-radius:999px;padding:5px 8px;font-size:.68rem;font-weight:950;text-transform:uppercase;letter-spacing:.05em}.live-fresh-pill.fresh{color:var(--good);border-color:color-mix(in srgb,var(--good) 45%,var(--line));background:rgba(34,197,94,.09)}.live-fresh-pill.recent{color:#38bdf8;border-color:rgba(56,189,248,.32);background:rgba(56,189,248,.08)}.live-fresh-pill.stale{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 55%,var(--line));background:rgba(245,158,11,.10)}
.live-metric-value{margin:13px 0 10px}.live-metric-value strong{font-size:2.05rem;letter-spacing:.01em}.live-metric-value em{font-size:.9rem;font-weight:850;color:color-mix(in srgb,var(--text) 78%,var(--muted))}.live-metric-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:10px 0}.live-metric-meta-grid span{border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:13px;background:rgba(255,255,255,.032);padding:7px;min-width:0}.live-metric-meta-grid b,.live-metric-meta-grid small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-metric-meta-grid b{font-size:.82rem;color:var(--text)}.live-metric-meta-grid small{margin-top:2px;color:var(--muted);font-size:.64rem;text-transform:uppercase;letter-spacing:.04em}
.live-sparkline{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:9px;align-items:center;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:15px;background:rgba(2,6,23,.18);padding:7px;margin:9px 0}.live-sparkline svg{width:100%;height:54px;display:block}.live-sparkline polyline{fill:none;stroke:var(--accent);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.live-sparkline circle{fill:var(--good);stroke:rgba(255,255,255,.55);stroke-width:1;vector-effect:non-scaling-stroke}.live-sparkline div{min-width:0;text-align:end}.live-sparkline span,.live-sparkline small{display:block;color:var(--muted);font-size:.65rem}.live-sparkline b{display:block;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-sparkline-empty{border:1px dashed color-mix(in srgb,var(--line) 84%,transparent);border-radius:14px;color:var(--muted);font-size:.72rem;text-align:center;padding:13px;margin:9px 0;background:rgba(255,255,255,.018)}
.live-tone-env:before{background:#22d3ee}.live-tone-light:before{background:#facc15}.live-tone-air:before{background:#34d399}.live-tone-motion:before{background:#a78bfa}.live-tone-gps:before{background:#fb7185}.live-tone-system:before{background:#60a5fa}.live-tone-env .live-metric-icon{border-color:rgba(34,211,238,.34);background:rgba(34,211,238,.10)}.live-tone-light .live-metric-icon{border-color:rgba(250,204,21,.32);background:rgba(250,204,21,.10)}.live-tone-air .live-metric-icon{border-color:rgba(52,211,153,.32);background:rgba(52,211,153,.10)}.live-tone-motion .live-metric-icon{border-color:rgba(167,139,250,.33);background:rgba(167,139,250,.10)}.live-tone-gps .live-metric-icon{border-color:rgba(251,113,133,.32);background:rgba(251,113,133,.10)}.live-tone-system .live-metric-icon{border-color:rgba(96,165,250,.32);background:rgba(96,165,250,.10)}
.live-device-filter-bar select{min-width:240px}.live-load-device-btn.attention{animation:liveBtnPulse 1.2s ease-in-out infinite}@keyframes liveBtnPulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.25)}}
@media(max-width:1180px){.live-summary-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.live-metric-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}
@media(max-width:720px){.live-summary-panel{grid-template-columns:1fr}.live-metric-grid{grid-template-columns:1fr}.live-metric-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.live-sparkline{grid-template-columns:1fr}.live-sparkline div{text-align:start}}

/* WEB30_1_423_DATALOGGER_TIMELINE_STAGE1 */
.datalogger-timeline-stage{display:flex;flex-direction:column;gap:14px;overflow:hidden}
.timeline-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.timeline-topbar h3{margin:0 0 4px;font-size:1.2rem;letter-spacing:.01em}
.timeline-controls{display:flex;align-items:end;gap:10px;flex-wrap:wrap}
.timeline-controls label{display:flex;flex-direction:column;gap:5px;color:var(--muted,#9fb3c8);font-size:.82rem}
.timeline-controls select{min-width:230px}
.timeline-rangebar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 12px;border:1px solid rgba(125,190,255,.16);border-radius:16px;background:rgba(6,16,27,.45)}
.timeline-ranges{display:flex;gap:6px;flex-wrap:wrap}
.timeline-ranges button{min-width:58px;border:1px solid rgba(125,190,255,.18);border-radius:12px;background:rgba(8,20,34,.76);color:#d7ecff;padding:8px 12px;font-weight:700;cursor:pointer}
.timeline-ranges button.active{background:linear-gradient(135deg,rgba(41,224,169,.95),rgba(0,153,255,.78));color:#041421;border-color:rgba(41,224,169,.95);box-shadow:0 0 18px rgba(41,224,169,.22)}
.timeline-legend,.timeline-legend-list{display:flex;gap:10px;flex-wrap:wrap;align-items:center;color:#bdd3e8;font-size:.82rem}
.timeline-legend span,.timeline-legend-list span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.timeline-legend span:before,.timeline-legend-list span:before{content:"";width:10px;height:10px;border-radius:99px;background:#6d7780;box-shadow:0 0 10px rgba(255,255,255,.16)}
.timeline-legend .online:before,.timeline-legend-list .online:before{background:#20df55;box-shadow:0 0 12px rgba(32,223,85,.5)}
.timeline-legend .offline:before,.timeline-legend-list .offline:before{background:#73808a}
.timeline-legend .status:before,.timeline-legend-list .status:before{background:#3d93ff}
.timeline-legend .telemetry:before,.timeline-legend-list .telemetry:before{background:#25e2d0}
.timeline-legend .offline-data:before,.timeline-legend-list .offline-data:before{background:#ff9b21}
.timeline-legend .error:before,.timeline-legend-list .error:before{background:#ff4d5a}
.timeline-legend .clock:before,.timeline-legend-list .clock:before{background:#a855f7}
.timeline-summary-strip{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px}
.timeline-summary-card{position:relative;overflow:hidden;border:1px solid rgba(125,190,255,.16);border-radius:16px;background:linear-gradient(180deg,rgba(15,34,52,.74),rgba(8,18,30,.74));padding:12px 14px;min-height:76px}
.timeline-summary-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:rgba(125,190,255,.5)}
.timeline-summary-card.telemetry:before{background:#25e2d0}.timeline-summary-card.offline:before{background:#ff9b21}.timeline-summary-card.error:before{background:#ff4d5a}.timeline-summary-card.devices:before{background:#20df55}
.timeline-summary-card b{display:block;color:#aac2d8;font-size:.8rem;margin-bottom:4px}.timeline-summary-card strong{display:block;color:#fff;font-size:1.55rem;line-height:1;font-weight:900}.timeline-summary-card small{display:block;color:#91a8ba;margin-top:5px}
.timeline-chart-shell{border:1px solid rgba(125,190,255,.18);border-radius:18px;background:linear-gradient(180deg,rgba(5,14,24,.84),rgba(4,12,18,.92));overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)}
.timeline-time-head{display:grid;grid-template-columns:210px 1fr;min-height:60px;border-bottom:1px solid rgba(125,190,255,.14)}
.timeline-device-head{display:flex;align-items:center;padding:0 14px;color:#bdd3e8;font-weight:800;background:rgba(13,30,45,.42);border-inline-end:1px solid rgba(125,190,255,.14)}
.timeline-time-axis{position:relative;min-height:60px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,transparent 1px 8.333%)}
.timeline-time-axis>span:not(.timeline-now-line){position:absolute;top:0;bottom:0;transform:translateX(-50%);display:flex;align-items:flex-start;justify-content:center;color:#b8c9d8;font-size:.78rem;padding-top:18px;min-width:44px}
.timeline-time-axis>span:not(.timeline-now-line) i{position:absolute;top:38px;bottom:0;width:1px;background:rgba(125,190,255,.14)}
.timeline-time-axis>span:not(.timeline-now-line) b{font-weight:700;background:rgba(6,16,27,.8);padding:2px 5px;border-radius:7px}
.timeline-now-line{position:absolute;top:0;bottom:-999px;width:1px;background:rgba(41,224,169,.75);box-shadow:0 0 14px rgba(41,224,169,.65);z-index:5}
.timeline-now-line b{position:absolute;top:6px;left:50%;transform:translateX(-50%);padding:4px 8px;border-radius:10px;background:rgba(12,56,48,.95);border:1px solid rgba(41,224,169,.45);color:#8dffd6;font-size:.76rem;white-space:nowrap}
.timeline-lanes{display:flex;flex-direction:column}
.timeline-device-row{display:grid;grid-template-columns:210px 1fr;min-height:74px;border-bottom:1px solid rgba(125,190,255,.12)}
.timeline-device-row:last-child{border-bottom:0}.timeline-device-label{position:relative;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:10px 14px;background:rgba(11,24,38,.55);border-inline-end:1px solid rgba(125,190,255,.14)}
.timeline-device-label:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#20df55}.timeline-device-row.color-blue .timeline-device-label:before{background:#3d93ff}.timeline-device-row.color-orange .timeline-device-label:before{background:#ff9b21}.timeline-device-row.color-purple .timeline-device-label:before{background:#a855f7}.timeline-device-row.color-cyan .timeline-device-label:before{background:#25e2d0}.timeline-device-row.color-pink .timeline-device-label:before{background:#ff4db8}.timeline-device-row.color-lime .timeline-device-label:before{background:#a3e635}.timeline-device-row.color-amber .timeline-device-label:before{background:#fbbf24}
.timeline-device-label b{color:#f4fbff;font-size:.92rem}.timeline-device-label small{color:#a8c6df}.timeline-device-label em{color:#8da7bb;font-style:normal;font-size:.78rem}
.timeline-lane{position:relative;min-height:74px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,transparent 1px 8.333%)}
.tl-offline-track{position:absolute;left:0;right:0;top:50%;height:16px;transform:translateY(-50%);border-radius:8px;background:linear-gradient(90deg,rgba(115,128,138,.28),rgba(115,128,138,.38));box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.tl-online-segment{position:absolute;top:50%;height:16px;transform:translateY(-50%);border-radius:8px;background:linear-gradient(90deg,rgba(25,196,55,.82),rgba(17,157,45,.92));box-shadow:0 0 15px rgba(32,223,85,.22),inset 0 1px 0 rgba(255,255,255,.18)}
.tl-event-marker{position:absolute;top:50%;width:10px;height:38px;transform:translate(-50%,-50%);border:0;border-radius:8px;background:transparent;padding:0;cursor:pointer;z-index:4}
.tl-event-marker span{position:absolute;left:50%;top:50%;width:8px;height:32px;transform:translate(-50%,-50%);border-radius:8px;background:#25e2d0;box-shadow:0 0 12px rgba(37,226,208,.6);font-size:0;color:transparent}
.tl-event-marker.status span{background:#3d93ff;box-shadow:0 0 12px rgba(61,147,255,.65)}.tl-event-marker.telemetry span{background:#25e2d0;box-shadow:0 0 12px rgba(37,226,208,.65)}.tl-event-marker.offline span{background:#ff9b21;box-shadow:0 0 12px rgba(255,155,33,.65)}.tl-event-marker.error span{background:#ff4d5a;box-shadow:0 0 12px rgba(255,77,90,.75);width:12px}.tl-event-marker.clock span{background:#a855f7;box-shadow:0 0 12px rgba(168,85,247,.65)}.tl-event-marker.connection span{background:#20df55;box-shadow:0 0 12px rgba(32,223,85,.5)}
.tl-event-marker.selected span,.tl-event-marker:hover span{outline:2px solid rgba(255,255,255,.85);width:13px;filter:brightness(1.2)}
.timeline-bottom-grid{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(360px,1.2fr);gap:12px}.timeline-legend-panel,.timeline-detail-panel{border:1px solid rgba(125,190,255,.16);border-radius:16px;background:rgba(7,17,29,.62);padding:14px}.timeline-legend-panel h4{margin:0 0 10px}.timeline-legend-list{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));align-items:start}.timeline-detail-empty{display:flex;flex-direction:column;gap:5px;color:#aabdcf}.timeline-detail-card{display:flex;flex-direction:column;gap:12px}.timeline-detail-head{display:flex;align-items:center;gap:10px}.timeline-detail-head>span{display:grid;place-items:center;width:38px;height:38px;border-radius:14px;background:rgba(37,226,208,.15);color:#aefbf2;font-weight:900}.timeline-detail-head b{display:block;color:#fff}.timeline-detail-head small{color:#9db4c9}.timeline-detail-card dl{display:grid;grid-template-columns:150px 1fr;gap:8px 12px;margin:0}.timeline-detail-card dt{color:#8fa9bd}.timeline-detail-card dd{margin:0;color:#eef8ff;font-weight:700;overflow-wrap:anywhere}.timeline-footnote{color:#8fa4b8;font-size:.82rem}.timeline-empty{grid-column:1/-1;padding:28px;color:#9eb5c8}.timeline-detail-card.offline .timeline-detail-head>span{background:rgba(255,155,33,.16);color:#ffd7a0}.timeline-detail-card.error .timeline-detail-head>span{background:rgba(255,77,90,.16);color:#ffc4ca}.timeline-detail-card.status .timeline-detail-head>span{background:rgba(61,147,255,.16);color:#b9d9ff}.timeline-detail-card.clock .timeline-detail-head>span{background:rgba(168,85,247,.16);color:#dcc4ff}
@media (max-width:1100px){.timeline-summary-strip{grid-template-columns:repeat(2,minmax(160px,1fr))}.timeline-time-head,.timeline-device-row{grid-template-columns:180px 1fr}.timeline-bottom-grid{grid-template-columns:1fr}.timeline-controls select{min-width:180px}}
@media (max-width:760px){.timeline-time-head,.timeline-device-row{grid-template-columns:1fr}.timeline-device-head{display:none}.timeline-device-label{border-inline-end:0;border-bottom:1px solid rgba(125,190,255,.14)}.timeline-lane{min-height:64px;overflow-x:auto}.timeline-summary-strip{grid-template-columns:1fr}.timeline-detail-card dl{grid-template-columns:1fr}.timeline-topbar{display:block}.timeline-controls{margin-top:10px}}

/* WEB30.1.423 Timeline range cards fix stage 1.6: lightweight online/offline/offline-data cards */
.datalogger-timeline-card-stage .timeline-summary-strip.compact{grid-template-columns:repeat(5,minmax(110px,1fr));gap:8px}
.datalogger-timeline-card-stage .timeline-summary-card{min-height:62px;padding:10px 12px}
.datalogger-timeline-card-stage .timeline-summary-card strong{font-size:1.28rem}
.timeline-card-shell{border:1px solid rgba(125,190,255,.16);border-radius:18px;background:linear-gradient(180deg,rgba(6,16,27,.74),rgba(4,12,20,.88));overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}
.timeline-card-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid rgba(125,190,255,.13);background:rgba(9,22,35,.78)}
.timeline-card-toolbar b{display:block;color:#eef8ff;font-size:.9rem}.timeline-card-toolbar small{display:block;color:#91a8bd;font-size:.76rem;margin-top:2px}.timeline-card-actions{display:flex;gap:6px;flex-wrap:wrap}.timeline-card-actions .ghost-btn.small{padding:6px 9px;border-radius:10px;font-size:.78rem}
.timeline-card-axis{display:grid;grid-template-columns:210px 1fr;min-height:48px;border-bottom:1px solid rgba(125,190,255,.12)}
.timeline-range-head{display:flex;align-items:center;padding:0 14px;color:#bdd3e8;font-weight:800;background:rgba(13,30,45,.4);border-inline-end:1px solid rgba(125,190,255,.13)}
.timeline-time-axis.card-axis{min-height:48px}.timeline-time-axis.card-axis>span:not(.timeline-now-line){padding-top:12px}.timeline-time-axis.card-axis>span:not(.timeline-now-line) i{top:31px}
.timeline-card-board{display:flex;flex-direction:column}.timeline-range-row{display:grid;grid-template-columns:210px 1fr;min-height:64px;border-bottom:1px solid rgba(125,190,255,.10)}.timeline-range-row:last-child{border-bottom:0}
.timeline-range-label{position:relative;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:9px 14px;background:rgba(11,24,38,.50);border-inline-end:1px solid rgba(125,190,255,.13)}
.timeline-range-label:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#20df55}.timeline-range-row.color-blue .timeline-range-label:before{background:#3d93ff}.timeline-range-row.color-orange .timeline-range-label:before{background:#ff9b21}.timeline-range-row.color-purple .timeline-range-label:before{background:#a855f7}.timeline-range-row.color-cyan .timeline-range-label:before{background:#25e2d0}.timeline-range-row.color-pink .timeline-range-label:before{background:#ff4db8}.timeline-range-row.color-lime .timeline-range-label:before{background:#a3e635}.timeline-range-row.color-amber .timeline-range-label:before{background:#fbbf24}
.timeline-range-label b{color:#f4fbff;font-size:.9rem}.timeline-range-label small{color:#a8c6df;font-size:.76rem}.timeline-range-label em{color:#8da7bb;font-style:normal;font-size:.74rem}.timeline-range-label em .ok{color:#7dffba;font-weight:800}.timeline-range-label em .replay{color:#ffca7a;font-weight:800}
.timeline-range-rail{position:relative;min-height:64px;cursor:grab;background:linear-gradient(90deg,rgba(255,255,255,.028) 0 1px,transparent 1px 8.333%),linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.01));overflow:hidden}.timeline-range-rail:active{cursor:grabbing}.tl-window-grid{position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(125,190,255,.055) 0 1px,transparent 1px 12.5%);pointer-events:none}.tl-no-range{position:absolute;inset:21px auto auto 14px;color:#788fa5;font-size:.78rem}
.tl-range-card{position:absolute;top:13px;height:38px;border:1px solid rgba(255,255,255,.12);border-radius:13px;display:flex;align-items:center;justify-content:space-between;gap:7px;padding:0 10px;overflow:hidden;white-space:nowrap;cursor:pointer;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease;background:rgba(42,50,58,.7);color:#dce9f3;z-index:2}.tl-range-card:hover,.tl-range-card.selected{transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,0,0,.22)}.tl-range-card b{font-size:.78rem;font-weight:900}.tl-range-card small{font-size:.72rem;color:inherit;opacity:.9}.tl-range-card.online{background:linear-gradient(135deg,rgba(28,202,92,.88),rgba(13,126,74,.78));border-color:rgba(92,255,170,.38);color:#edfff5}.tl-range-card.offline{background:linear-gradient(135deg,rgba(90,103,116,.72),rgba(45,55,66,.76));border-color:rgba(180,195,210,.16);color:#d9e5ef}.tl-range-card.offline-data{top:36px;height:18px;border-radius:999px;background:linear-gradient(135deg,rgba(255,155,33,.95),rgba(180,83,9,.86));border-color:rgba(255,202,122,.65);color:#fff8e8;z-index:5;justify-content:center;padding:0 7px;box-shadow:0 4px 14px rgba(255,155,33,.16)}.tl-range-card.offline-data b{font-size:.66rem}.tl-range-card.offline-data small{font-size:.64rem}.tl-range-card.online.selected{border-color:rgba(151,255,204,.95);box-shadow:0 0 0 2px rgba(38,255,160,.18),0 10px 22px rgba(0,0,0,.28)}.tl-range-card.offline.selected{border-color:rgba(230,238,245,.55);box-shadow:0 0 0 2px rgba(180,195,210,.13),0 10px 22px rgba(0,0,0,.28)}.tl-range-card.offline-data.selected{border-color:rgba(255,240,190,.95);box-shadow:0 0 0 2px rgba(255,155,33,.22),0 10px 22px rgba(0,0,0,.28)}
.timeline-card-help{padding:8px 12px;border-top:1px solid rgba(125,190,255,.09);color:#8fa8bd;font-size:.78rem;background:rgba(7,17,29,.5)}.timeline-card-shell .timeline-detail-panel{border-width:1px 0 0;border-radius:0;background:rgba(7,17,29,.44)}.timeline-detail-card.offline_data .timeline-detail-head span,.timeline-detail-card.offline-data .timeline-detail-head span{background:rgba(255,155,33,.16);color:#ffca7a}
.theme-light .timeline-card-shell{background:#fff;border-color:#dce8f2}.theme-light .timeline-card-toolbar,.theme-light .timeline-range-label,.theme-light .timeline-range-head{background:#f7fbff;border-color:#dce8f2}.theme-light .timeline-range-rail{background:linear-gradient(90deg,rgba(38,87,130,.05) 0 1px,transparent 1px 8.333%),#fbfdff}.theme-light .tl-range-card.offline{background:linear-gradient(135deg,#eef3f7,#dbe5ec);color:#445467}.theme-light .timeline-card-help{background:#f8fbff;color:#66798a}.theme-light .tl-range-card.offline-data{background:linear-gradient(135deg,#ffb347,#f97316);color:#fff}
@media (max-width:1100px){.timeline-card-axis,.timeline-range-row{grid-template-columns:180px 1fr}.datalogger-timeline-card-stage .timeline-summary-strip.compact{grid-template-columns:repeat(2,minmax(150px,1fr))}}
@media (max-width:760px){.timeline-card-axis,.timeline-range-row{grid-template-columns:1fr}.timeline-range-head{display:none}.timeline-range-label{border-inline-end:0;border-bottom:1px solid rgba(125,190,255,.12)}.timeline-range-rail{min-height:60px}.timeline-card-toolbar{align-items:flex-start}.timeline-card-actions{width:100%}.timeline-card-actions .ghost-btn.small{flex:1}.datalogger-timeline-card-stage .timeline-summary-strip.compact{grid-template-columns:1fr}}

/* WEB30_1_425_DATALOGGER_TIMELINE_DETAIL */
.timeline-range-kpis{display:flex;gap:5px;flex-wrap:wrap;margin-top:3px}
.timeline-range-kpis span{display:inline-flex;align-items:center;border:1px solid rgba(125,190,255,.14);border-radius:999px;background:rgba(10,24,38,.55);color:#b8d2e8;font-size:.66rem;font-weight:800;padding:2px 6px;line-height:1.2}
.timeline-last-event{display:block;margin-top:3px;color:#7f98ae!important;font-size:.67rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.timeline-detail-kpis{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:8px;margin:2px 0 4px}
.timeline-detail-kpis article{border:1px solid rgba(125,190,255,.14);border-radius:14px;background:rgba(10,24,38,.55);padding:9px 10px;min-height:56px}
.timeline-detail-kpis b{display:block;color:#f4fbff;font-size:1rem;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.timeline-detail-kpis span{display:block;color:#8fa9bd;font-size:.7rem;margin-top:4px;text-transform:uppercase;letter-spacing:.04em}
.timeline-detail-card h5{margin:2px 0 -2px;color:#dcefff;font-size:.82rem;letter-spacing:.02em}
.timeline-detail-dl{display:grid;grid-template-columns:140px 1fr;gap:7px 12px;margin:0;padding:10px;border:1px solid rgba(125,190,255,.12);border-radius:14px;background:rgba(255,255,255,.025)}
.timeline-detail-dl dt{color:#8fa9bd;font-size:.75rem}.timeline-detail-dl dd{margin:0;color:#edf8ff;font-weight:700;font-size:.78rem;overflow-wrap:anywhere}
.timeline-detail-events{display:grid;gap:6px;max-height:230px;overflow:auto;padding-right:2px}
.tl-detail-event{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:8px;border:1px solid rgba(125,190,255,.10);border-radius:12px;background:rgba(9,20,32,.56);padding:7px 8px}
.tl-detail-event i{display:grid;place-items:center;width:26px;height:26px;border-radius:9px;background:rgba(61,147,255,.13);color:#b9d9ff;font-style:normal;font-weight:900}
.tl-detail-event b{display:block;color:#f4fbff;font-size:.77rem}.tl-detail-event small{display:block;color:#8fa9bd;font-size:.68rem;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tl-detail-event em{font-style:normal;color:#d8ecff;font-weight:900;font-size:.74rem}
.tl-detail-event.telemetry i{background:rgba(37,226,208,.13);color:#aefbf2}.tl-detail-event.status i{background:rgba(61,147,255,.13);color:#b9d9ff}.tl-detail-event.connection i{background:rgba(41,224,169,.13);color:#b9ffe7}.tl-detail-event.clock i{background:rgba(168,85,247,.13);color:#dcc4ff}.tl-detail-event.offline_data i{background:rgba(255,155,33,.16);color:#ffca7a}.tl-detail-event.error i{background:rgba(255,77,90,.16);color:#ffc4ca}
.timeline-detail-noevents{border:1px dashed rgba(125,190,255,.18);border-radius:12px;color:#8fa9bd;padding:10px;background:rgba(255,255,255,.018)}
.theme-light .timeline-range-kpis span,.theme-light .timeline-detail-kpis article,.theme-light .timeline-detail-dl,.theme-light .tl-detail-event{background:#f8fbff;border-color:#dce8f2}.theme-light .timeline-last-event{color:#66798a!important}.theme-light .tl-detail-event small,.theme-light .timeline-detail-dl dt,.theme-light .timeline-detail-kpis span{color:#66798a}.theme-light .tl-detail-event b,.theme-light .timeline-detail-dl dd,.theme-light .timeline-detail-kpis b{color:#152638}
@media (max-width:760px){.timeline-detail-kpis{grid-template-columns:repeat(2,minmax(110px,1fr))}.timeline-detail-dl{grid-template-columns:1fr}.timeline-range-kpis{margin-top:5px}.timeline-last-event{white-space:normal}}

/* WEB30_1_426_DATALOGGER_TIMELINE_FILTER_INSPECTOR */
.timeline-filterbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:9px 12px;border-bottom:1px solid rgba(125,190,255,.10);background:rgba(5,14,24,.58)}
.timeline-filterbar b{display:block;color:#eaf7ff;font-size:.82rem}.timeline-filterbar small{display:block;color:#8fa9bd;font-size:.7rem;margin-top:2px}.timeline-filterchips{display:flex;gap:7px;flex-wrap:wrap}
.timeline-filter-chip{border:1px solid rgba(125,190,255,.16);border-radius:13px;background:rgba(12,27,42,.74);color:#d9efff;padding:7px 10px;display:flex;flex-direction:column;align-items:flex-start;gap:1px;cursor:pointer;min-width:102px;transition:border-color .14s ease,background .14s ease,opacity .14s ease,transform .14s ease}.timeline-filter-chip:hover{transform:translateY(-1px);border-color:rgba(125,220,255,.36)}
.timeline-filter-chip.active{background:linear-gradient(135deg,rgba(30,92,132,.55),rgba(13,38,62,.78));box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}.timeline-filter-chip.muted{opacity:.52;background:rgba(16,23,31,.58)}.timeline-filter-chip b{font-size:.74rem;line-height:1}.timeline-filter-chip small{font-size:.62rem;color:#93aabd;white-space:nowrap}
.timeline-selected-mini{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 12px;border-bottom:1px solid rgba(125,190,255,.10);background:rgba(9,20,32,.48)}.timeline-selected-mini b{color:#f4fbff;font-size:.82rem}.timeline-selected-mini span{color:#b7d3e9;font-weight:800;font-size:.78rem}.timeline-selected-mini small{color:#8fa9bd;font-size:.72rem}.timeline-selected-mini.empty{opacity:.78}.timeline-selected-mini.online{box-shadow:inset 4px 0 0 rgba(38,255,160,.72)}.timeline-selected-mini.offline{box-shadow:inset 4px 0 0 rgba(180,195,210,.5)}.timeline-selected-mini.offline_data{box-shadow:inset 4px 0 0 rgba(255,155,33,.85)}
.theme-light .timeline-filterbar,.theme-light .timeline-selected-mini{background:#f8fbff;border-color:#dce8f2}.theme-light .timeline-filter-chip{background:#ffffff;border-color:#dce8f2;color:#17314b}.theme-light .timeline-filter-chip.active{background:linear-gradient(135deg,#e9f7ff,#f8fbff)}.theme-light .timeline-filterbar b,.theme-light .timeline-selected-mini b{color:#152638}.theme-light .timeline-selected-mini span{color:#224762}.theme-light .timeline-filterbar small,.theme-light .timeline-selected-mini small,.theme-light .timeline-filter-chip small{color:#66798a}
@media (max-width:760px){.timeline-filterbar{align-items:flex-start}.timeline-filterchips{width:100%}.timeline-filter-chip{flex:1;min-width:92px}.timeline-selected-mini{display:grid;grid-template-columns:1fr}.timeline-selected-mini small{overflow-wrap:anywhere}}

/* WEB30_1_427_DATALOGGER_ROLLUP_SAMPLE_TIME_DEV_CLEANUP */
.dev-old-data-cleanup-card{grid-column:1/-1;border-color:rgba(96,165,250,.28)!important;background:linear-gradient(135deg,rgba(59,130,246,.07),rgba(15,23,42,.26));}
.dev-old-data-cleanup-card .table-wrap table td{vertical-align:top;}
.dev-old-data-cleanup-card .compact-input{width:92px;min-width:80px;padding:6px 8px;border-radius:10px;border:1px solid rgba(148,163,184,.24);background:rgba(2,6,23,.22);color:var(--text);}
.dev-cleanup-protected{margin-top:10px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));}
.theme-light .dev-old-data-cleanup-card{background:linear-gradient(135deg,#eff6ff,#f8fbff);border-color:#bfdbfe!important;}
.theme-light .dev-old-data-cleanup-card .compact-input{background:#fff;border-color:#cbd5e1;color:#0f172a;}
@media(max-width:760px){.dev-old-data-cleanup-card .toolbar{align-items:stretch}.dev-old-data-cleanup-card .toolbar button{width:100%;}.dev-old-data-cleanup-card .compact-input{width:100%;}}

/* WEB30_1_428_DB_MAINTENANCE_UI_POLISH */
.db-maintenance-page .dev-maintenance-card{
  grid-column:1/-1;
  position:relative;
  overflow:hidden;
  border-width:1px!important;
  box-shadow:0 14px 34px rgba(0,0,0,.20);
}
.db-maintenance-page .dev-maintenance-card:before{
  content:'';
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  border-radius:16px 0 0 16px;
  background:linear-gradient(180deg,var(--accent),var(--accent2));
  opacity:.9;
}
.db-maintenance-page .dev-maintenance-card--orange{
  border-color:rgba(251,146,60,.36)!important;
  background:linear-gradient(135deg,rgba(251,146,60,.10),rgba(15,23,42,.32));
}
.db-maintenance-page .dev-maintenance-card--orange:before{
  background:linear-gradient(180deg,#fb923c,#f97316);
}
.db-maintenance-page .dev-maintenance-card--blue{
  border-color:rgba(96,165,250,.38)!important;
  background:linear-gradient(135deg,rgba(59,130,246,.10),rgba(15,23,42,.32));
}
.db-maintenance-page .dev-maintenance-card--blue:before{
  background:linear-gradient(180deg,#60a5fa,#22d3ee);
}
.dev-maintenance-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin:-2px -2px 12px;
  padding:12px 14px 12px 16px;
  border:1px solid rgba(148,163,184,.14);
  border-radius:15px;
  background:linear-gradient(135deg,rgba(255,255,255,.065),rgba(255,255,255,.018));
}
.dev-maintenance-title{display:grid;gap:4px;min-width:0;}
.dev-maintenance-kicker{
  width:max-content;
  max-width:100%;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:3px 8px;
  border-radius:999px;
  border:1px solid rgba(125,190,255,.18);
  background:rgba(2,6,23,.22);
  color:#9fd8ff;
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.dev-maintenance-title h3{
  margin:0!important;
  color:#f7fbff;
  font-size:1.02rem!important;
  line-height:1.18;
  letter-spacing:.01em;
}
.dev-maintenance-title p{
  margin:0!important;
  color:#a9c0d2!important;
  font-size:.79rem;
  line-height:1.55;
}
.dev-maintenance-title code,
.dev-cleanup-summary code,
.dev-table-code{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  padding:2px 6px;
  border-radius:7px;
  border:1px solid rgba(125,190,255,.16);
  background:rgba(3,10,18,.35);
  color:#d8efff;
  font-size:.76rem;
  font-weight:800;
  overflow-wrap:anywhere;
}
.dev-status-pill{
  flex:0 0 auto;
  font-weight:900;
  color:#eaf7ff!important;
  background:rgba(2,6,23,.36)!important;
  border-color:rgba(125,190,255,.22)!important;
  padding:5px 10px!important;
}
.dev-maintenance-kpis{
  gap:10px;
  margin:4px 0 12px;
}
.dev-maintenance-kpis article{
  display:grid;
  grid-template-rows:auto 1fr auto;
  min-height:86px;
  padding:10px 12px!important;
  border-radius:15px!important;
  border:1px solid rgba(125,190,255,.16)!important;
  background:linear-gradient(180deg,rgba(10,24,38,.72),rgba(8,18,30,.52))!important;
}
.dev-maintenance-kpis article span{
  order:0;
  color:#8fb0c9!important;
  font-size:.68rem!important;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.045em;
}
.dev-maintenance-kpis article b{
  order:1;
  margin-top:5px;
  color:#ffffff!important;
  font-size:1.16rem!important;
  line-height:1.15;
  font-weight:950;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.dev-maintenance-kpis article em{
  order:2;
  margin-top:5px;
  color:#7f98ae;
  font-size:.68rem;
  font-style:normal;
  line-height:1.25;
}
.dev-maintenance-kpis .kpi-ok{color:#a7f3d0!important;}
.dev-maintenance-kpis .kpi-bad{color:#fecaca!important;}
.dev-action-strip{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:9px;
  margin:10px 0 13px;
  padding:10px;
  border:1px solid rgba(148,163,184,.14);
  border-radius:15px;
  background:rgba(2,6,23,.24);
}
.dev-action-btn{
  min-height:36px!important;
  padding:8px 13px!important;
  border-radius:11px!important;
  font-size:.82rem!important;
  font-weight:900!important;
  letter-spacing:.01em;
}
.dev-action-refresh{
  background:linear-gradient(135deg,rgba(15,23,42,.86),rgba(30,41,59,.72))!important;
  border-color:rgba(125,190,255,.26)!important;
  color:#dff2ff!important;
}
.dev-action-danger,
.dev-row-delete{
  background:linear-gradient(135deg,#dc2626,#7f1d1d)!important;
  border-color:rgba(248,113,113,.7)!important;
  color:#fff!important;
  box-shadow:0 8px 20px rgba(127,29,29,.22);
}
.dev-row-delete{
  min-height:30px!important;
  padding:6px 9px!important;
  border-radius:9px!important;
  font-size:.74rem!important;
  font-weight:900!important;
  white-space:nowrap;
}
.dev-maintenance-split{gap:14px;}
.dev-maintenance-block{
  min-width:0;
  display:grid;
  gap:8px;
}
.dev-maintenance-block h4,
.dev-old-data-cleanup-card h4{
  margin:0!important;
  color:#eaf7ff!important;
  font-size:.85rem!important;
  font-weight:900;
  letter-spacing:.01em;
}
.dev-cleanup-table{
  border-color:rgba(125,190,255,.15)!important;
  border-radius:14px!important;
  background:rgba(2,6,23,.14);
}
.dev-cleanup-table table{font-size:calc(12.6px * var(--fontScale));}
.dev-cleanup-table th{
  color:#d7ecff!important;
  background:linear-gradient(180deg,rgba(22,40,56,.96),rgba(14,29,43,.96))!important;
  font-size:.74rem;
  font-weight:900;
  text-transform:none;
}
.dev-cleanup-table td{
  color:#eaf7ff;
  border-bottom-color:rgba(125,190,255,.10)!important;
}
.dev-cleanup-table tr:hover td{background:rgba(125,190,255,.045);}
.dev-category-cell{display:grid;gap:4px;min-width:160px;}
.dev-category-cell b{
  width:max-content;
  max-width:100%;
  padding:3px 8px;
  border-radius:999px;
  color:#ffffff;
  background:rgba(59,130,246,.16);
  border:1px solid rgba(96,165,250,.24);
  font-size:.78rem;
  font-weight:900;
}
.dev-category-cell small,
.dev-time-basis{
  display:block;
  color:#8fa9bd!important;
  font-size:.69rem!important;
  line-height:1.35;
}
.dev-row-count{
  display:inline-flex;
  align-items:center;
  min-width:56px;
  justify-content:center;
  padding:3px 8px;
  border-radius:10px;
  background:rgba(251,146,60,.12);
  color:#fed7aa;
  border:1px solid rgba(251,146,60,.24);
  font-size:.82rem;
  font-weight:950;
  font-variant-numeric:tabular-nums;
}
.dev-date-range{display:grid;gap:3px;min-width:150px;}
.dev-date-range span{color:#f1f7ff;font-weight:800;font-size:.76rem;}
.dev-date-range small{color:#89a4b9!important;font-size:.69rem!important;}
.dev-old-data-cleanup-card .compact-input{
  width:96px;
  min-width:86px;
  height:31px;
  padding:5px 8px;
  border-radius:10px;
  border-color:rgba(125,190,255,.22)!important;
  background:rgba(2,6,23,.36)!important;
  color:#f7fbff!important;
  font-weight:900;
  text-align:center;
}
.dev-cleanup-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin:0 0 12px;
}
.dev-cleanup-summary article{
  min-height:64px;
  display:grid;
  gap:4px;
  align-content:center;
  border:1px solid rgba(125,190,255,.15);
  border-radius:14px;
  background:rgba(2,6,23,.22);
  padding:9px 11px;
}
.dev-cleanup-summary span{
  color:#8fa9bd;
  font-size:.69rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.dev-cleanup-summary b{
  color:#ffffff;
  font-size:1rem;
  font-weight:950;
  font-variant-numeric:tabular-nums;
}
.cleanup-protected-grid article{
  border-color:rgba(125,190,255,.14)!important;
  background:rgba(2,6,23,.20)!important;
}
.cleanup-protected-grid b{
  color:#eaf7ff!important;
  font-size:.76rem!important;
  font-weight:900;
}
.cleanup-protected-grid span{
  color:#94aabd!important;
  font-size:.70rem!important;
}
.dev-note{
  margin-top:12px!important;
  padding:9px 11px!important;
  border-radius:13px!important;
  opacity:1!important;
  font-size:.76rem!important;
  line-height:1.45!important;
}
.dev-note-warning{
  border-color:rgba(251,146,60,.28)!important;
  background:rgba(251,146,60,.075)!important;
  color:#fed7aa!important;
}
.dev-note-info{
  border-color:rgba(96,165,250,.24)!important;
  background:rgba(59,130,246,.075)!important;
  color:#bfdbfe!important;
}
.theme-light .db-maintenance-page .dev-maintenance-card--orange{background:linear-gradient(135deg,#fff7ed,#ffffff);border-color:#fed7aa!important;}
.theme-light .db-maintenance-page .dev-maintenance-card--blue{background:linear-gradient(135deg,#eff6ff,#ffffff);border-color:#bfdbfe!important;}
.theme-light .dev-maintenance-head,.theme-light .dev-action-strip,.theme-light .dev-cleanup-summary article,.theme-light .dev-maintenance-kpis article,.theme-light .cleanup-protected-grid article{background:#ffffff!important;border-color:#dbe7f2!important;}
.theme-light .dev-maintenance-kicker{background:#f1f7fd;border-color:#dbe7f2;color:#1d4ed8;}
.theme-light .dev-maintenance-title h3,.theme-light .dev-maintenance-block h4{color:#0f172a!important;}
.theme-light .dev-maintenance-title p,.theme-light .dev-maintenance-kpis article em,.theme-light .dev-category-cell small,.theme-light .dev-time-basis,.theme-light .dev-date-range small,.theme-light .cleanup-protected-grid span{color:#64748b!important;}
.theme-light .dev-maintenance-title code,.theme-light .dev-cleanup-summary code,.theme-light .dev-table-code{background:#f8fafc;border-color:#dbe7f2;color:#0f172a;}
.theme-light .dev-maintenance-kpis article span,.theme-light .dev-cleanup-summary span{color:#64748b!important;}
.theme-light .dev-maintenance-kpis article b,.theme-light .dev-cleanup-summary b,.theme-light .dev-cleanup-table td,.theme-light .cleanup-protected-grid b,.theme-light .dev-date-range span{color:#0f172a!important;}
.theme-light .dev-cleanup-table th{background:#edf3f8!important;color:#0f172a!important;}
.theme-light .dev-row-count{background:#fff7ed;color:#9a3412;border-color:#fed7aa;}
.theme-light .dev-category-cell b{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe;}
.theme-light .dev-old-data-cleanup-card .compact-input{background:#ffffff!important;color:#0f172a!important;border-color:#cbd5e1!important;}
.theme-light .dev-action-refresh{background:#f8fafc!important;color:#0f172a!important;border-color:#cbd5e1!important;}
.theme-light .dev-note-warning{background:#fff7ed!important;color:#9a3412!important;border-color:#fed7aa!important;}
.theme-light .dev-note-info{background:#eff6ff!important;color:#1d4ed8!important;border-color:#bfdbfe!important;}
@media(max-width:980px){
  .dev-maintenance-head{display:grid;grid-template-columns:1fr;}
  .dev-maintenance-head .dev-action-btn,.dev-action-strip .dev-action-btn{width:100%;}
  .dev-cleanup-summary{grid-template-columns:1fr;}
}
@media(max-width:760px){
  .dev-maintenance-card:before{width:3px;}
  .dev-maintenance-kpis{grid-template-columns:1fr!important;}
  .dev-cleanup-table{max-height:360px;}
  .dev-category-cell,.dev-date-range{min-width:0;}
  .dev-old-data-cleanup-card .compact-input{width:100%;}
  .dev-row-delete{width:100%;}
}

/* WEB30_1_429_LOG_REPORT_STORAGE_CLEANUP */
.db-maintenance-page .dev-maintenance-card--cyan{
  border-color:rgba(34,211,238,.38)!important;
  background:linear-gradient(135deg,rgba(34,211,238,.10),rgba(15,23,42,.32));
}
.db-maintenance-page .dev-maintenance-card--cyan:before{
  background:linear-gradient(180deg,#22d3ee,#0ea5e9);
}
.log-report-cleanup-card{grid-column:1/-1;}
.log-report-summary{grid-template-columns:repeat(6,minmax(0,1fr));}
.log-report-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(310px,1fr));
  gap:12px;
  align-items:start;
}
.log-report-group{
  min-width:0;
  display:grid;
  gap:10px;
  padding:12px;
  border:1px solid rgba(125,190,255,.15);
  border-radius:16px;
  background:linear-gradient(180deg,rgba(7,19,31,.78),rgba(7,17,28,.54));
}
.log-report-group header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  padding-bottom:8px;
  border-bottom:1px solid rgba(125,190,255,.10);
}
.log-report-group header h4{
  margin:6px 0 3px!important;
  color:#f7fbff!important;
  font-size:.92rem!important;
  font-weight:950;
  line-height:1.2;
}
.log-report-group header p{
  margin:0!important;
  color:#8fa9bd!important;
  font-size:.72rem;
  line-height:1.45;
}
.log-report-group header>b{
  flex:0 0 auto;
  min-width:72px;
  text-align:center;
  padding:6px 9px;
  border-radius:12px;
  background:rgba(2,6,23,.35);
  border:1px solid rgba(125,190,255,.16);
  color:#ffffff;
  font-size:.92rem;
  font-weight:950;
  font-variant-numeric:tabular-nums;
}
.log-report-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
}
.log-report-kpis span{
  min-width:0;
  display:grid;
  gap:3px;
  align-content:center;
  min-height:54px;
  padding:7px 8px;
  border-radius:12px;
  border:1px solid rgba(125,190,255,.13);
  background:rgba(2,6,23,.24);
}
.log-report-kpis b{
  color:#ffffff;
  font-size:.86rem;
  font-weight:950;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.log-report-kpis em{
  color:#8fa9bd;
  font-size:.64rem;
  font-style:normal;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.035em;
}
.log-report-table{max-height:220px;}
.log-report-actions{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
  padding:9px;
  border:1px solid rgba(148,163,184,.13);
  border-radius:14px;
  background:rgba(2,6,23,.20);
}
.log-report-actions label{
  display:grid;
  gap:4px;
  margin:0!important;
  color:#8fa9bd;
  font-size:.68rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.035em;
}
.log-report-tone-orange{border-color:rgba(251,146,60,.28);}
.log-report-tone-orange header>b{color:#fed7aa;border-color:rgba(251,146,60,.24);}
.log-report-tone-cyan{border-color:rgba(34,211,238,.26);}
.log-report-tone-cyan header>b{color:#cffafe;border-color:rgba(34,211,238,.24);}
.log-report-tone-violet{border-color:rgba(167,139,250,.26);}
.log-report-tone-violet header>b{color:#ddd6fe;border-color:rgba(167,139,250,.24);}
.log-report-tone-rose{border-color:rgba(251,113,133,.26);}
.log-report-tone-rose header>b{color:#fecdd3;border-color:rgba(251,113,133,.24);}
.theme-light .db-maintenance-page .dev-maintenance-card--cyan{background:linear-gradient(135deg,#ecfeff,#ffffff);border-color:#a5f3fc!important;}
.theme-light .log-report-group,.theme-light .log-report-actions,.theme-light .log-report-kpis span{background:#ffffff!important;border-color:#dbe7f2!important;}
.theme-light .log-report-group header{border-bottom-color:#dbe7f2;}
.theme-light .log-report-group header h4,.theme-light .log-report-kpis b,.theme-light .log-report-group header>b{color:#0f172a!important;}
.theme-light .log-report-group header p,.theme-light .log-report-kpis em,.theme-light .log-report-actions label{color:#64748b!important;}
.theme-light .log-report-tone-orange header>b{color:#9a3412!important;border-color:#fed7aa;background:#fff7ed;}
.theme-light .log-report-tone-cyan header>b{color:#155e75!important;border-color:#a5f3fc;background:#ecfeff;}
.theme-light .log-report-tone-violet header>b{color:#5b21b6!important;border-color:#ddd6fe;background:#f5f3ff;}
.theme-light .log-report-tone-rose header>b{color:#9f1239!important;border-color:#fecdd3;background:#fff1f2;}
@media(max-width:1100px){.log-report-summary{grid-template-columns:repeat(3,minmax(0,1fr));}.log-report-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:760px){.log-report-summary{grid-template-columns:1fr;}.log-report-grid{grid-template-columns:1fr;}.log-report-group header,.log-report-actions{display:grid;grid-template-columns:1fr;}.log-report-group header>b,.log-report-actions button{width:100%;}.log-report-kpis{grid-template-columns:1fr;}}

/* WEB30_1_430_DB_MAINTENANCE_LAYOUT_CONTRAST
   Scope: Development > DB Maintenance visual organization only. */
.db-maintenance-page{
  --dbm-card-bg:#081522;
  --dbm-card-bg-soft:#0b1b2a;
  --dbm-head-bg:#101f2e;
  --dbm-head-border:rgba(125,190,255,.28);
  --dbm-body-border:rgba(125,190,255,.16);
  --dbm-text-strong:#f8fbff;
  --dbm-text-soft:#9fb6c9;
}
.db-maintenance-page.settings-grid{
  align-items:start!important;
  gap:14px!important;
}
.db-maintenance-page > .panel{
  border-color:rgba(125,190,255,.18)!important;
  background:linear-gradient(180deg,var(--dbm-card-bg),#07111d)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.035)!important;
}
.db-maintenance-page .panel.pad > h3:first-child,
.db-maintenance-page .panel.pad > .toolbar:first-child{
  margin:-14px -14px 12px!important;
  padding:10px 14px!important;
  border-radius:16px 16px 0 0!important;
  border-bottom:1px solid rgba(125,190,255,.22)!important;
  background:linear-gradient(90deg,#10243a,#0b1a2b 62%,#081522)!important;
  color:#ffffff!important;
}
.db-maintenance-page .panel.pad > h3:first-child{
  font-size:.95rem!important;
  font-weight:950!important;
  letter-spacing:.01em!important;
}
.db-maintenance-page .panel.pad > p.muted{
  color:#91a8ba!important;
  font-size:.75rem!important;
  line-height:1.45!important;
}
.db-maintenance-page .kv-list,
.db-maintenance-page .form-grid label,
.db-maintenance-page .sticky-actions,
.db-maintenance-page .table-wrap{
  background:rgba(2,8,15,.30)!important;
  border-color:rgba(125,190,255,.14)!important;
}
.db-maintenance-page .sticky-actions{
  gap:7px!important;
  padding:7px!important;
}
.db-maintenance-page .sticky-actions button,
.db-maintenance-page .rollup-primary-actions button{
  min-height:32px!important;
  padding:6px 11px!important;
  font-size:.74rem!important;
  font-weight:900!important;
}
.db-maintenance-page .dev-maintenance-card{
  padding:0!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,var(--dbm-card-bg-soft),#07121e)!important;
  border-color:rgba(125,190,255,.22)!important;
  box-shadow:0 16px 34px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.04)!important;
}
.db-maintenance-page .dev-maintenance-card:before{
  width:0!important;
  display:none!important;
}
.db-maintenance-page .dev-maintenance-card > :not(.dev-maintenance-head){
  margin-left:14px!important;
  margin-right:14px!important;
}
.db-maintenance-page .dev-maintenance-card > :last-child{
  margin-bottom:14px!important;
}
.db-maintenance-page .dev-maintenance-head{
  margin:0 0 12px!important;
  padding:10px 14px!important;
  border:0!important;
  border-bottom:1px solid var(--dbm-head-border)!important;
  border-radius:18px 18px 0 0!important;
  background:linear-gradient(90deg,#13293c,#0b1d2d 58%,#071522)!important;
  box-shadow:inset 0 -1px 0 rgba(0,0,0,.24)!important;
}
.db-maintenance-page .dev-maintenance-card--orange .dev-maintenance-head{
  background:linear-gradient(90deg,rgba(194,91,22,.72),#102238 48%,#071522)!important;
  border-bottom-color:rgba(251,146,60,.42)!important;
}
.db-maintenance-page .dev-maintenance-card--blue .dev-maintenance-head{
  background:linear-gradient(90deg,rgba(37,99,235,.62),#102238 48%,#071522)!important;
  border-bottom-color:rgba(96,165,250,.42)!important;
}
.db-maintenance-page .dev-maintenance-card--cyan .dev-maintenance-head{
  background:linear-gradient(90deg,rgba(8,145,178,.62),#102238 48%,#071522)!important;
  border-bottom-color:rgba(34,211,238,.42)!important;
}
.db-maintenance-page .dev-maintenance-title{
  gap:3px!important;
}
.db-maintenance-page .dev-maintenance-kicker{
  background:rgba(255,255,255,.10)!important;
  border-color:rgba(255,255,255,.18)!important;
  color:#e8f8ff!important;
  font-size:.61rem!important;
  padding:2px 7px!important;
}
.db-maintenance-page .dev-maintenance-title h3{
  color:#fff!important;
  font-size:.98rem!important;
  line-height:1.15!important;
}
.db-maintenance-page .dev-maintenance-title p{
  color:#c5d7e6!important;
  font-size:.73rem!important;
  line-height:1.42!important;
}
.db-maintenance-page .dev-status-pill{
  background:rgba(0,0,0,.26)!important;
  border-color:rgba(255,255,255,.20)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.db-maintenance-page .dev-maintenance-kpis{
  grid-template-columns:repeat(auto-fit,minmax(142px,1fr))!important;
  gap:8px!important;
  margin-bottom:10px!important;
}
.db-maintenance-page .dev-maintenance-kpis article,
.db-maintenance-page .dev-cleanup-summary article,
.db-maintenance-page .log-report-kpis span{
  min-height:58px!important;
  padding:7px 9px!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,rgba(2,8,15,.46),rgba(7,18,29,.32))!important;
  border-color:rgba(125,190,255,.15)!important;
}
.db-maintenance-page .dev-maintenance-kpis article span,
.db-maintenance-page .dev-cleanup-summary span,
.db-maintenance-page .log-report-kpis em{
  color:#88a4b9!important;
  font-size:.61rem!important;
  letter-spacing:.045em!important;
}
.db-maintenance-page .dev-maintenance-kpis article b,
.db-maintenance-page .dev-cleanup-summary b,
.db-maintenance-page .log-report-kpis b{
  color:#ffffff!important;
  font-size:.94rem!important;
  line-height:1.12!important;
}
.db-maintenance-page .dev-maintenance-kpis article em{
  color:#7390a7!important;
  font-size:.61rem!important;
}
.db-maintenance-page .dev-action-strip{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:8px!important;
  padding:8px!important;
  margin-top:0!important;
  margin-bottom:12px!important;
  border-radius:13px!important;
  background:rgba(2,8,15,.42)!important;
  border:1px solid rgba(125,190,255,.14)!important;
}
.db-maintenance-page .dev-action-btn{
  min-height:32px!important;
  padding:6px 12px!important;
  border-radius:10px!important;
  font-size:.73rem!important;
  font-weight:950!important;
  letter-spacing:.01em!important;
}
.db-maintenance-page .dev-action-refresh,
.db-maintenance-page .ghost-btn.dev-action-refresh{
  color:#dbeafe!important;
  background:rgba(30,64,175,.24)!important;
  border-color:rgba(96,165,250,.32)!important;
}
.db-maintenance-page .dev-action-danger,
.db-maintenance-page .danger-btn.dev-action-danger,
.db-maintenance-page .dev-row-delete{
  color:#fff7ed!important;
  background:linear-gradient(180deg,#b91c1c,#7f1d1d)!important;
  border-color:rgba(252,165,165,.44)!important;
  box-shadow:0 8px 18px rgba(127,29,29,.18)!important;
}
.db-maintenance-page .dev-maintenance-split{
  display:grid!important;
  grid-template-columns:minmax(0,1.22fr) minmax(280px,.78fr)!important;
  gap:12px!important;
  margin-top:0!important;
}
.db-maintenance-page .dev-maintenance-block{
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.db-maintenance-page .dev-maintenance-block h4{
  margin:0 0 7px!important;
  padding:7px 10px!important;
  border-radius:11px!important;
  background:rgba(125,190,255,.10)!important;
  border:1px solid rgba(125,190,255,.14)!important;
  color:#eaf7ff!important;
  font-size:.80rem!important;
}
.db-maintenance-page .dev-cleanup-table{
  border-radius:13px!important;
  max-height:260px!important;
}
.db-maintenance-page .dev-cleanup-table th{
  padding:7px 9px!important;
  background:#12263a!important;
  color:#d9ecff!important;
  font-size:.68rem!important;
}
.db-maintenance-page .dev-cleanup-table td{
  padding:7px 9px!important;
  font-size:.74rem!important;
}
.db-maintenance-page .dev-cleanup-summary{
  grid-template-columns:repeat(auto-fit,minmax(130px,1fr))!important;
  gap:8px!important;
  margin-bottom:10px!important;
}
.db-maintenance-page .cleanup-protected-grid{
  gap:8px!important;
}
.db-maintenance-page .cleanup-protected-grid article{
  min-height:0!important;
  padding:8px 10px!important;
  border-radius:12px!important;
  background:rgba(2,8,15,.32)!important;
}
.db-maintenance-page .cleanup-protected-grid b{
  font-size:.72rem!important;
}
.db-maintenance-page .cleanup-protected-grid span{
  font-size:.66rem!important;
  line-height:1.42!important;
}
.db-maintenance-page .dev-note{
  margin-top:10px!important;
  padding:8px 10px!important;
  font-size:.71rem!important;
}
.db-maintenance-page .log-report-grid{
  grid-template-columns:repeat(auto-fit,minmax(420px,1fr))!important;
  gap:10px!important;
}
.db-maintenance-page .log-report-group{
  gap:8px!important;
  padding:9px!important;
  border-radius:14px!important;
  background:rgba(2,8,15,.34)!important;
}
.db-maintenance-page .log-report-group header{
  padding:7px 8px!important;
  border-radius:11px!important;
  background:rgba(125,190,255,.08)!important;
  border:1px solid rgba(125,190,255,.12)!important;
}
.db-maintenance-page .log-report-group header h4{
  margin:4px 0 2px!important;
  font-size:.82rem!important;
}
.db-maintenance-page .log-report-group header p{
  font-size:.66rem!important;
  line-height:1.35!important;
}
.db-maintenance-page .log-report-group header>b{
  min-width:62px!important;
  padding:5px 7px!important;
  font-size:.82rem!important;
  background:rgba(2,8,15,.44)!important;
}
.db-maintenance-page .log-report-kpis{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:6px!important;
}
.db-maintenance-page .log-report-table{
  max-height:170px!important;
}
.db-maintenance-page .log-report-actions{
  padding:7px!important;
  border-radius:12px!important;
  background:rgba(2,8,15,.32)!important;
}
.db-maintenance-page .log-report-actions label{
  font-size:.62rem!important;
}
.db-maintenance-page .compact-input.dev-clean-days,
.db-maintenance-page .log-report-actions .compact-input{
  height:30px!important;
  width:86px!important;
  min-width:76px!important;
  padding:5px 7px!important;
  border-radius:9px!important;
  background:#07111d!important;
  border-color:rgba(125,190,255,.24)!important;
  color:#fff!important;
  font-size:.78rem!important;
}
.theme-light .db-maintenance-page{
  --dbm-card-bg:#ffffff;
  --dbm-card-bg-soft:#f8fbff;
  --dbm-head-bg:#e8f1fa;
  --dbm-text-strong:#0f172a;
  --dbm-text-soft:#536579;
}
.theme-light .db-maintenance-page > .panel,
.theme-light .db-maintenance-page .dev-maintenance-card{
  background:#ffffff!important;
  border-color:#cbd8e6!important;
  box-shadow:0 10px 24px rgba(15,23,42,.10)!important;
}
.theme-light .db-maintenance-page .panel.pad > h3:first-child,
.theme-light .db-maintenance-page .panel.pad > .toolbar:first-child,
.theme-light .db-maintenance-page .dev-maintenance-head{
  background:linear-gradient(90deg,#dbeafe,#eef6ff 62%,#ffffff)!important;
  border-bottom-color:#b8cbe0!important;
  color:#0f172a!important;
}
.theme-light .db-maintenance-page .dev-maintenance-card--orange .dev-maintenance-head{background:linear-gradient(90deg,#fed7aa,#fff7ed 62%,#ffffff)!important;border-bottom-color:#fdba74!important;}
.theme-light .db-maintenance-page .dev-maintenance-card--blue .dev-maintenance-head{background:linear-gradient(90deg,#bfdbfe,#eff6ff 62%,#ffffff)!important;border-bottom-color:#93c5fd!important;}
.theme-light .db-maintenance-page .dev-maintenance-card--cyan .dev-maintenance-head{background:linear-gradient(90deg,#a5f3fc,#ecfeff 62%,#ffffff)!important;border-bottom-color:#67e8f9!important;}
.theme-light .db-maintenance-page .dev-maintenance-title h3{color:#0f172a!important;}
.theme-light .db-maintenance-page .dev-maintenance-title p{color:#475569!important;}
.theme-light .db-maintenance-page .dev-maintenance-kicker{background:rgba(255,255,255,.66)!important;border-color:#cbd5e1!important;color:#1e40af!important;}
.theme-light .db-maintenance-page .dev-maintenance-kpis article,
.theme-light .db-maintenance-page .dev-cleanup-summary article,
.theme-light .db-maintenance-page .log-report-kpis span,
.theme-light .db-maintenance-page .cleanup-protected-grid article,
.theme-light .db-maintenance-page .log-report-group,
.theme-light .db-maintenance-page .log-report-actions,
.theme-light .db-maintenance-page .kv-list,
.theme-light .db-maintenance-page .form-grid label,
.theme-light .db-maintenance-page .sticky-actions,
.theme-light .db-maintenance-page .table-wrap{
  background:#f8fbff!important;
  border-color:#d4e1ef!important;
}
.theme-light .db-maintenance-page .dev-cleanup-table th{background:#eaf2fb!important;color:#24364a!important;}
.theme-light .db-maintenance-page .dev-action-refresh,
.theme-light .db-maintenance-page .ghost-btn.dev-action-refresh{background:#eef6ff!important;color:#1e40af!important;border-color:#bfdbfe!important;}
.theme-light .db-maintenance-page .compact-input.dev-clean-days,
.theme-light .db-maintenance-page .log-report-actions .compact-input{background:#ffffff!important;color:#0f172a!important;border-color:#cbd5e1!important;}
@media(max-width:1180px){
  .db-maintenance-page .dev-maintenance-split{grid-template-columns:1fr!important;}
  .db-maintenance-page .log-report-grid{grid-template-columns:1fr!important;}
}
@media(max-width:760px){
  .db-maintenance-page .dev-maintenance-card > :not(.dev-maintenance-head){margin-left:10px!important;margin-right:10px!important;}
  .db-maintenance-page .dev-maintenance-head{display:grid!important;grid-template-columns:1fr!important;padding:10px!important;}
  .db-maintenance-page .dev-action-strip{display:grid!important;grid-template-columns:1fr!important;}
  .db-maintenance-page .log-report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .db-maintenance-page .compact-input.dev-clean-days,.db-maintenance-page .log-report-actions .compact-input{width:100%!important;}
}


/* WEB30_1_431_DB_MAINTENANCE_CARD_BOUNDARY_REBUILD
   Scope: Development > DB Maintenance only.
   Purpose: make every card boundary explicit: outer frame, separated title bar, body padding, and clear action zones. */
.db-maintenance-page{
  --dbm-page-bg:#030b13;
  --dbm-card-shell:#07111d;
  --dbm-card-body:#050d17;
  --dbm-title-bar:#173457;
  --dbm-title-bar-2:#102845;
  --dbm-title-border:#4aa3ff;
  --dbm-card-border:#2f85d7;
  --dbm-inner-border:#21476a;
  --dbm-subcard-bg:#091827;
  --dbm-subcard-bg-2:#0d2033;
  --dbm-muted:#9cb3c8;
  --dbm-text:#f7fbff;
  background:
    radial-gradient(circle at top left,rgba(37,99,235,.16),transparent 30%),
    linear-gradient(180deg,#03101a,#02070d)!important;
  border:1px solid rgba(74,163,255,.22)!important;
  border-radius:24px!important;
  padding:18px!important;
}
.db-maintenance-page.settings-grid{
  gap:24px!important;
  align-items:start!important;
}
.db-maintenance-page > .panel{
  position:relative!important;
  overflow:hidden!important;
  padding:0!important;
  border:2px solid rgba(74,163,255,.48)!important;
  border-radius:22px!important;
  background:var(--dbm-card-body)!important;
  box-shadow:
    0 20px 46px rgba(0,0,0,.42),
    0 0 0 1px rgba(255,255,255,.035),
    inset 0 1px 0 rgba(255,255,255,.05)!important;
}
.db-maintenance-page > .panel::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  border-radius:20px!important;
  box-shadow:inset 0 0 0 1px rgba(170,215,255,.08)!important;
}
.db-maintenance-page > .panel + .panel{
  margin-top:0!important;
}
.db-maintenance-page .panel.pad > h3:first-child,
.db-maintenance-page .panel.pad > .toolbar:first-child,
.db-maintenance-page .dev-maintenance-head{
  margin:0!important;
  padding:13px 16px!important;
  border-radius:0!important;
  border:0!important;
  border-bottom:2px solid rgba(74,163,255,.52)!important;
  background:
    linear-gradient(90deg,var(--dbm-title-bar),var(--dbm-title-bar-2) 58%,#091827)!important;
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.07),0 10px 20px rgba(0,0,0,.18)!important;
  color:var(--dbm-text)!important;
}
.db-maintenance-page .panel.pad > h3:first-child{
  display:flex!important;
  align-items:center!important;
  min-height:42px!important;
  font-size:1rem!important;
  font-weight:950!important;
  line-height:1.15!important;
  letter-spacing:.005em!important;
}
.db-maintenance-page .panel.pad > h3:first-child::before,
.db-maintenance-page .dev-maintenance-title h3::before,
.db-maintenance-page .panel.pad > .toolbar:first-child h3::before{
  content:""!important;
  display:inline-block!important;
  width:5px!important;
  height:18px!important;
  margin-inline-end:9px!important;
  border-radius:999px!important;
  background:#5db6ff!important;
  box-shadow:0 0 12px rgba(93,182,255,.55)!important;
  vertical-align:-3px!important;
}
.db-maintenance-page .panel.pad > .toolbar:first-child{
  gap:12px!important;
  align-items:center!important;
}
.db-maintenance-page .panel.pad > .toolbar:first-child h3{
  display:flex!important;
  align-items:center!important;
  margin:0 0 4px!important;
  font-size:1rem!important;
  font-weight:950!important;
  color:#fff!important;
}
.db-maintenance-page .panel.pad > .toolbar:first-child .muted,
.db-maintenance-page .dev-maintenance-title p{
  color:#c9d9e8!important;
  font-size:.78rem!important;
  line-height:1.45!important;
}
.db-maintenance-page .panel.pad > :not(h3):not(.toolbar):not(.dev-maintenance-head){
  margin-left:16px!important;
  margin-right:16px!important;
}
.db-maintenance-page .panel.pad > :last-child{
  margin-bottom:16px!important;
}
.db-maintenance-page .panel.pad > h3:first-child + *,
.db-maintenance-page .panel.pad > .toolbar:first-child + *,
.db-maintenance-page .dev-maintenance-head + *{
  margin-top:16px!important;
}
.db-maintenance-page .kv-list,
.db-maintenance-page .form-grid,
.db-maintenance-page .form-grid label,
.db-maintenance-page .sticky-actions,
.db-maintenance-page .table-wrap,
.db-maintenance-page .db-cleanup-plan,
.db-maintenance-page .dev-cleanup-summary,
.db-maintenance-page .cleanup-protected-grid,
.db-maintenance-page .log-report-grid,
.db-maintenance-page .db-guard-overview{
  background:var(--dbm-subcard-bg)!important;
  border:1px solid rgba(99,179,255,.26)!important;
  border-radius:16px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
}
.db-maintenance-page .kv-list,
.db-maintenance-page .form-grid,
.db-maintenance-page .sticky-actions{
  padding:12px!important;
}
.db-maintenance-page .form-grid{
  gap:12px!important;
}
.db-maintenance-page .form-grid label{
  padding:11px!important;
  background:var(--dbm-subcard-bg-2)!important;
}
.db-maintenance-page .db-guard-overview,
.db-maintenance-page .dev-maintenance-kpis,
.db-maintenance-page .dev-cleanup-summary,
.db-maintenance-page .log-report-summary{
  gap:10px!important;
  padding:10px!important;
}
.db-maintenance-page .db-guard-overview article,
.db-maintenance-page .dev-maintenance-kpis article,
.db-maintenance-page .dev-cleanup-summary article,
.db-maintenance-page .cleanup-protected-grid article,
.db-maintenance-page .log-report-kpis span{
  background:#061322!important;
  border:1px solid rgba(99,179,255,.22)!important;
  border-radius:14px!important;
}
.db-maintenance-page .dev-maintenance-card{
  border:2px solid rgba(74,163,255,.54)!important;
  background:var(--dbm-card-body)!important;
}
.db-maintenance-page .dev-maintenance-card--orange{border-color:rgba(251,146,60,.68)!important;}
.db-maintenance-page .dev-maintenance-card--blue{border-color:rgba(96,165,250,.68)!important;}
.db-maintenance-page .dev-maintenance-card--cyan{border-color:rgba(34,211,238,.68)!important;}
.db-maintenance-page .dev-maintenance-card--orange .dev-maintenance-head{
  background:linear-gradient(90deg,#7c2d12,#173457 48%,#091827)!important;
  border-bottom-color:rgba(251,146,60,.78)!important;
}
.db-maintenance-page .dev-maintenance-card--blue .dev-maintenance-head{
  background:linear-gradient(90deg,#1d4ed8,#173457 48%,#091827)!important;
  border-bottom-color:rgba(96,165,250,.78)!important;
}
.db-maintenance-page .dev-maintenance-card--cyan .dev-maintenance-head{
  background:linear-gradient(90deg,#0e7490,#173457 48%,#091827)!important;
  border-bottom-color:rgba(34,211,238,.78)!important;
}
.db-maintenance-page .dev-maintenance-title h3{
  display:flex!important;
  align-items:center!important;
  color:#fff!important;
  font-size:1.02rem!important;
  margin:3px 0 4px!important;
}
.db-maintenance-page .dev-maintenance-kicker{
  color:#f8fbff!important;
  background:rgba(255,255,255,.13)!important;
  border:1px solid rgba(255,255,255,.28)!important;
  border-radius:999px!important;
  padding:3px 8px!important;
  font-size:.62rem!important;
  font-weight:950!important;
  letter-spacing:.075em!important;
}
.db-maintenance-page .dev-action-strip,
.db-maintenance-page .sticky-actions{
  border:1px solid rgba(99,179,255,.30)!important;
  background:#071625!important;
  border-radius:16px!important;
}
.db-maintenance-page .primary-btn,
.db-maintenance-page .ghost-btn,
.db-maintenance-page .danger-btn{
  border-width:1px!important;
  min-height:36px!important;
  font-weight:950!important;
}
.db-maintenance-page .primary-btn{
  background:linear-gradient(180deg,#2f8df0,#1767c8)!important;
  border-color:rgba(147,197,253,.48)!important;
  color:#fff!important;
  box-shadow:0 10px 22px rgba(23,103,200,.26)!important;
}
.db-maintenance-page .ghost-btn{
  background:#102033!important;
  border-color:rgba(148,163,184,.36)!important;
  color:#e6f3ff!important;
}
.db-maintenance-page .danger-btn,
.db-maintenance-page .dev-row-delete{
  background:linear-gradient(180deg,#dc2626,#8f1d1d)!important;
  border-color:rgba(252,165,165,.55)!important;
  color:#fff!important;
}
.db-maintenance-page table thead th{
  background:#16304b!important;
  color:#f3f9ff!important;
  border-bottom:1px solid rgba(99,179,255,.30)!important;
}
.db-maintenance-page table tbody tr:nth-child(even) td{background:rgba(255,255,255,.018)!important;}
.db-maintenance-page .status-pill,
.db-maintenance-page .status-chip{
  border-width:1px!important;
  font-weight:950!important;
}
.theme-light .db-maintenance-page{
  --dbm-page-bg:#f1f5f9;
  --dbm-card-shell:#ffffff;
  --dbm-card-body:#ffffff;
  --dbm-title-bar:#dbeafe;
  --dbm-title-bar-2:#eff6ff;
  --dbm-subcard-bg:#f8fafc;
  --dbm-subcard-bg-2:#eef6ff;
  background:linear-gradient(180deg,#eaf4ff,#f8fafc)!important;
  border-color:#bfdbfe!important;
}
.theme-light .db-maintenance-page > .panel{
  background:#ffffff!important;
  border-color:#60a5fa!important;
  box-shadow:0 16px 32px rgba(15,23,42,.13),0 0 0 1px rgba(37,99,235,.10)!important;
}
.theme-light .db-maintenance-page .panel.pad > h3:first-child,
.theme-light .db-maintenance-page .panel.pad > .toolbar:first-child,
.theme-light .db-maintenance-page .dev-maintenance-head{
  background:linear-gradient(90deg,#dbeafe,#eff6ff 58%,#ffffff)!important;
  color:#0f172a!important;
  border-bottom-color:#60a5fa!important;
}
.theme-light .db-maintenance-page .panel.pad > .toolbar:first-child h3,
.theme-light .db-maintenance-page .dev-maintenance-title h3{color:#0f172a!important;}
.theme-light .db-maintenance-page .panel.pad > .toolbar:first-child .muted,
.theme-light .db-maintenance-page .dev-maintenance-title p{color:#475569!important;}
.theme-light .db-maintenance-page .kv-list,
.theme-light .db-maintenance-page .form-grid,
.theme-light .db-maintenance-page .form-grid label,
.theme-light .db-maintenance-page .sticky-actions,
.theme-light .db-maintenance-page .table-wrap,
.theme-light .db-maintenance-page .db-cleanup-plan,
.theme-light .db-maintenance-page .dev-cleanup-summary,
.theme-light .db-maintenance-page .cleanup-protected-grid,
.theme-light .db-maintenance-page .log-report-grid,
.theme-light .db-maintenance-page .db-guard-overview{
  background:#f8fafc!important;
  border-color:#bfdbfe!important;
}
@media(max-width:1180px){.db-maintenance-page.settings-grid{gap:18px!important;padding:14px!important;}}
@media(max-width:760px){.db-maintenance-page{padding:10px!important;border-radius:18px!important}.db-maintenance-page.settings-grid{gap:14px!important}.db-maintenance-page > .panel{border-radius:18px!important}.db-maintenance-page .panel.pad > h3:first-child,.db-maintenance-page .panel.pad > .toolbar:first-child,.db-maintenance-page .dev-maintenance-head{padding:11px 12px!important}.db-maintenance-page .panel.pad > :not(h3):not(.toolbar):not(.dev-maintenance-head){margin-left:10px!important;margin-right:10px!important}}


/* WEB30.1.432 DB request/save guard: clearer real operation feedback without blocking the whole shell. */
.global-loading-toast span:not(.loading-spinner),.global-loading-card b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(72vw,520px)}
.settings-actions button:disabled{opacity:.55;cursor:progress;filter:saturate(.75)}
.card-save-line.active{color:var(--warn)}
.card-save-line.ok{color:var(--good)}
.card-save-line.error{color:var(--bad)}


/* WEB30.1.433 DB menu load guard: explicit per-menu loading status before heavy DB/API pages render. */
.route-load-card{max-width:760px;margin:18px auto;border-style:solid;border-color:color-mix(in srgb,var(--accent) 36%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 94%,#fff 2%),color-mix(in srgb,var(--panel2) 92%,#000 4%));box-shadow:0 18px 42px rgba(0,0,0,.22)}
.route-load-head{display:flex;align-items:center;gap:13px;margin-bottom:12px}.route-load-head h3{margin:0;border:0;padding:0}.route-load-head p{margin:3px 0 0;color:var(--muted);font-size:.82rem;line-height:1.45}.route-load-head .loading-spinner{width:28px;height:28px;flex:0 0 auto}
.route-load-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:10px 0}.route-load-steps span{border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:999px;padding:6px 8px;text-align:center;color:var(--muted);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-load-steps span.active{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));color:var(--text);background:color-mix(in srgb,var(--accent) 12%,transparent)}
.route-load-bar{height:7px;border-radius:999px;background:color-mix(in srgb,var(--line) 40%,transparent);overflow:hidden}.route-load-bar i{display:block;height:100%;width:42%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent2));animation:routeLoadSweep 1.25s ease-in-out infinite}.route-load-card small{display:block;margin-top:9px;color:var(--muted);font-size:.72rem;line-height:1.45}
@keyframes routeLoadSweep{0%{transform:translateX(-80%)}50%{transform:translateX(115%)}100%{transform:translateX(260%)}}
@media(max-width:760px){.route-load-card{margin:12px 8px}.route-load-steps{grid-template-columns:1fr 1fr}.route-load-steps span{text-align:start}}

/* WEB30.1.434_TELEMETRY_SETTINGS_DELTA_GUARD */
.telset-save-status{display:flex;align-items:center;gap:10px;margin:10px 0 12px;padding:10px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.11);background:rgba(7,18,32,.58);color:var(--text);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.telset-save-status span{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:900;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06)}
.telset-save-status b{font-size:.82rem;line-height:1.7;white-space:normal}
.telset-save-status.active{border-color:rgba(56,189,248,.32);background:linear-gradient(135deg,rgba(14,165,233,.12),rgba(7,18,32,.62))}
.telset-save-status.active span{color:#bae6fd;animation:telsetSaveSpin 1s linear infinite}
.telset-save-status.ok{border-color:rgba(34,197,94,.32);background:linear-gradient(135deg,rgba(34,197,94,.11),rgba(7,18,32,.62))}
.telset-save-status.ok span{color:#bbf7d0}
.telset-save-status.error{border-color:rgba(248,113,113,.36);background:linear-gradient(135deg,rgba(248,113,113,.13),rgba(7,18,32,.62))}
.telset-save-status.error span{color:#fecaca}
@keyframes telsetSaveSpin{to{transform:rotate(360deg)}}


/* WEB30.1.435 visual state restore: keep action buttons dimensional and status dots visible across all themes. */
.primary-btn,.panel-btn,.ghost-btn,.danger-btn,.icon-btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  text-decoration:none;
  transform:translateZ(0);
  transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,filter .14s ease;
}
.primary-btn,.panel-btn{
  background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 88%,#ffffff 12%),color-mix(in srgb,var(--accent) 68%,#000000 22%))!important;
  border-color:color-mix(in srgb,var(--accent) 72%,#ffffff 10%)!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.22),inset 0 -2px 0 rgba(0,0,0,.18);
  text-shadow:0 1px 0 rgba(0,0,0,.24);
}
.ghost-btn,.icon-btn{
  background:linear-gradient(180deg,color-mix(in srgb,var(--panel2) 84%,#ffffff 7%),color-mix(in srgb,var(--panel2) 72%,#000000 12%))!important;
  border-color:color-mix(in srgb,var(--line) 76%,var(--accent) 20%)!important;
  color:var(--text)!important;
  box-shadow:0 7px 16px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.10),inset 0 -1px 0 rgba(0,0,0,.16);
}
.danger-btn{
  background:linear-gradient(180deg,#ef4444,#991b1b)!important;
  border-color:color-mix(in srgb,var(--bad) 78%,#ffffff 10%)!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(127,29,29,.24),inset 0 1px 0 rgba(255,255,255,.18),inset 0 -2px 0 rgba(0,0,0,.20);
}
.primary-btn:hover,.panel-btn:hover,.ghost-btn:hover,.danger-btn:hover,.icon-btn:hover{
  transform:translateY(-1px);
  filter:brightness(1.04);
}
.primary-btn:active,.panel-btn:active,.ghost-btn:active,.danger-btn:active,.icon-btn:active{
  transform:translateY(1px);
  box-shadow:inset 0 2px 5px rgba(0,0,0,.24)!important;
}
button:disabled,.primary-btn:disabled,.panel-btn:disabled,.ghost-btn:disabled,.danger-btn:disabled,.icon-btn:disabled{
  transform:none!important;
  filter:none!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important;
}
.dot,.pulse-dot{
  flex:0 0 auto;
  background:var(--warn)!important;
  color:var(--warn)!important;
  border:1px solid color-mix(in srgb,#ffffff 52%,var(--warn) 48%);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--warn) 13%,transparent),0 0 12px color-mix(in srgb,var(--warn) 62%,transparent),inset 0 1px 0 rgba(255,255,255,.42)!important;
}
.dot.ok,.pulse-dot.ok,.lock-status-item[data-lock-status="ok"] .pulse-dot{
  background:var(--good)!important;
  color:var(--good)!important;
  border-color:color-mix(in srgb,#ffffff 52%,var(--good) 48%);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--good) 13%,transparent),0 0 12px color-mix(in srgb,var(--good) 62%,transparent),inset 0 1px 0 rgba(255,255,255,.42)!important;
}
.dot.bad,.pulse-dot.bad,.lock-status-item[data-lock-status="bad"] .pulse-dot{
  background:var(--bad)!important;
  color:var(--bad)!important;
  border-color:color-mix(in srgb,#ffffff 52%,var(--bad) 48%);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--bad) 13%,transparent),0 0 12px color-mix(in srgb,var(--bad) 62%,transparent),inset 0 1px 0 rgba(255,255,255,.42)!important;
}
.theme-light .ghost-btn,.theme-light .icon-btn{
  background:linear-gradient(180deg,#ffffff,color-mix(in srgb,var(--panel2) 86%,#cbd5e1 14%))!important;
  box-shadow:0 6px 14px rgba(15,23,42,.12),inset 0 1px 0 rgba(255,255,255,.92),inset 0 -1px 0 rgba(15,23,42,.08);
}
.theme-light .dot,.theme-light .pulse-dot{
  border-color:#ffffff;
  box-shadow:0 0 0 3px rgba(15,23,42,.06),0 0 11px currentColor,inset 0 1px 0 rgba(255,255,255,.82)!important;
}

/* WEB30.1.436_LOADING_TOAST_POSITION_FIX: keep real operation feedback above sticky save/action buttons. */
:root{--operation-toast-clearance:96px}
.global-loading-toast{
  bottom:max(calc(var(--footerH,42px) + var(--operation-toast-clearance,96px)),calc(env(safe-area-inset-bottom) + 108px))!important;
}
.global-loading-toast.active{
  transform:translateY(0)!important;
}
@media(max-width:760px){
  :root{--operation-toast-clearance:108px}
  .global-loading-toast{
    left:12px;
    right:12px;
    bottom:max(calc(var(--footerH,42px) + var(--operation-toast-clearance,108px)),calc(env(safe-area-inset-bottom) + 118px))!important;
  }
}

/* WEB30.1.437 - DB Backup card expansion: scoped manual backups, visible metadata list, import/download/restore. */
.db-maintenance-page .db-backup-manager-card,
.db-maintenance-page .db-backup-list-modern{grid-column:1 / -1!important;}
.db-backup-head,.db-backup-list-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent);padding-bottom:12px;margin-bottom:12px;}
.db-backup-head h3,.db-backup-list-head h3{margin:2px 0 5px!important;color:var(--text);font-size:1.06rem;}
.db-backup-head p,.db-backup-list-head p{margin:0;color:var(--muted);line-height:1.65;}
.db-backup-head small{display:block;margin-top:6px;color:var(--muted);}
.db-backup-kicker{display:inline-flex;align-items:center;gap:7px;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);background:color-mix(in srgb,var(--accent) 9%,transparent);color:var(--accent);border-radius:999px;padding:3px 8px;font-size:.7rem;font-weight:900;letter-spacing:.08em;}
.db-backup-scope-grid{display:grid;grid-template-columns:repeat(5,minmax(160px,1fr));gap:10px;margin:12px 0;}
.db-backup-scope-card{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;gap:8px 10px;align-items:start;min-width:0;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:18px;background:linear-gradient(145deg,color-mix(in srgb,var(--panel2) 88%,transparent),color-mix(in srgb,var(--bg2) 55%,transparent));box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 10px 24px rgba(0,0,0,.12);padding:12px;position:relative;overflow:hidden;}
.db-backup-scope-card:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--accent);opacity:.75;}
.db-backup-scope-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:14px;background:color-mix(in srgb,var(--accent) 14%,transparent);border:1px solid color-mix(in srgb,var(--accent) 32%,transparent);color:var(--accent);font-weight:900;font-size:1.1rem;box-shadow:0 0 18px color-mix(in srgb,var(--accent) 15%,transparent);}
.db-backup-scope-card h4{margin:0;color:var(--text);font-size:.92rem;line-height:1.3;}
.db-backup-scope-card p{margin:4px 0;color:var(--muted);font-size:.78rem;line-height:1.55;}
.db-backup-scope-card small{display:block;color:color-mix(in srgb,var(--accent) 68%,var(--muted));font-weight:800;}
.db-backup-scope-card button{grid-column:1 / -1;width:100%;justify-content:center;margin-top:2px;}
.db-backup-accent-green{--accent:#29e0a9;}
.db-backup-accent-blue{--accent:#62a8ff;}
.db-backup-accent-orange{--accent:#ffb84d;}
.db-backup-accent-purple{--accent:#c58bff;}
.db-backup-accent-cyan{--accent:#00d4ff;}
.db-backup-auto-box,.db-backup-import-box{border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:18px;background:color-mix(in srgb,var(--panel2) 46%,transparent);padding:12px;margin-top:12px;}
.db-backup-auto-box h4,.db-backup-import-box h4{margin:0 0 10px;color:var(--text);font-size:.95rem;}
.db-backup-import-preview{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-height:42px;margin-top:10px;border:1px dashed color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--accent) 6%,transparent);color:var(--muted);padding:10px;font-size:.82rem;}
.db-backup-import-preview b{color:var(--text);}
.db-backup-import-preview b.bad{color:var(--bad);}
.db-backup-import-preview span{border:1px solid color-mix(in srgb,var(--line) 68%,transparent);border-radius:999px;background:rgba(0,0,0,.12);padding:3px 8px;color:var(--muted);}
.db-backup-import-preview small{flex-basis:100%;color:var(--muted);}
.db-backup-scroll-list{display:flex;flex-direction:column;gap:10px;max-height:360px;overflow:auto;padding-inline-end:4px;}
.db-backup-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--panel2) 72%,transparent),color-mix(in srgb,var(--bg2) 38%,transparent));padding:11px 12px;box-shadow:inset 0 1px 0 rgba(255,255,255,.04);}
.db-backup-item-main{min-width:0;}
.db-backup-file{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap;}
.db-backup-file b{color:var(--text);}
.db-backup-file code{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:999px;background:rgba(0,0,0,.16);padding:3px 8px;color:var(--muted);}
.db-backup-item p{margin:5px 0;color:var(--muted);font-size:.8rem;line-height:1.55;}
.db-backup-meta-line{display:flex;flex-wrap:wrap;gap:7px;color:var(--muted);font-size:.76rem;}
.db-backup-meta-line span{border:1px solid color-mix(in srgb,var(--line) 65%,transparent);border-radius:999px;background:color-mix(in srgb,var(--surface) 60%,transparent);padding:3px 8px;}
.db-backup-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;}
.db-backup-actions .ghost-btn,.db-backup-actions .danger-btn{min-height:34px;padding:7px 10px;text-decoration:none;}
.db-backup-empty{border:1px dashed color-mix(in srgb,var(--line) 72%,transparent);border-radius:16px;padding:16px;color:var(--muted);text-align:center;}
.theme-light .db-backup-scope-card,.theme-light .db-backup-auto-box,.theme-light .db-backup-import-box,.theme-light .db-backup-item{background:#f7fbff!important;border-color:#cbd7e3!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 8px 18px rgba(40,70,100,.08)!important;}
.theme-light .db-backup-file code,.theme-light .db-backup-meta-line span,.theme-light .db-backup-import-preview span{background:#eef4fa!important;border-color:#cbd7e3!important;color:#526174!important;}
@media(max-width:1240px){.db-backup-scope-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:820px){.db-backup-head,.db-backup-list-head,.db-backup-item{grid-template-columns:1fr;display:grid}.db-backup-scope-grid{grid-template-columns:1fr}.db-backup-actions{justify-content:stretch}.db-backup-actions>*{flex:1 1 130px;justify-content:center}.db-backup-scroll-list{max-height:420px}}

/* WEB30.1.438_HOST_REQUEST_LIFECYCLE_GUARD: host-safe request monitor and closable real startup progress. */
.request-guard-panel{
  position:fixed;
  right:18px;
  bottom:max(calc(var(--footerH,42px) + 190px),calc(env(safe-area-inset-bottom) + 196px));
  z-index:9120;
  width:min(390px,calc(100vw - 36px));
  display:grid;
  gap:8px;
  padding:11px;
  border:1px solid color-mix(in srgb,var(--accent) 42%,var(--line));
  border-radius:18px;
  background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 94%,#000),color-mix(in srgb,var(--panel2) 86%,#000));
  color:var(--text);
  box-shadow:0 24px 70px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.07);
  opacity:0;
  transform:translateY(12px) scale(.985);
  pointer-events:none;
  transition:opacity .16s ease,transform .16s ease;
}
.request-guard-panel.active{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}
.request-guard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border-bottom:1px solid color-mix(in srgb,var(--line) 68%,transparent);padding-bottom:8px;}
.request-guard-head b{display:block;font-size:.86rem;color:var(--text);}
.request-guard-head small{display:block;margin-top:2px;color:var(--muted);font-size:.72rem;}
#requestGuardClose,.startup-splash-close{display:grid;place-items:center;width:26px;height:26px;min-width:26px;border-radius:999px;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);background:color-mix(in srgb,var(--panel2) 85%,#000);color:var(--muted);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);cursor:pointer;}
#requestGuardClose:hover,.startup-splash-close:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));}
.request-guard-notice{display:none;border:1px solid color-mix(in srgb,var(--bad) 42%,var(--line));background:color-mix(in srgb,var(--bad) 11%,transparent);color:color-mix(in srgb,var(--bad) 82%,#fff);border-radius:12px;padding:7px 9px;font-size:.76rem;font-weight:800;line-height:1.35;}
.request-guard-notice.active{display:block;}
.request-guard-list{display:grid;gap:6px;max-height:170px;overflow:auto;padding-right:2px;}
.request-guard-row{display:grid;grid-template-columns:10px minmax(0,1fr);gap:8px;align-items:center;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:12px;padding:7px 8px;background:color-mix(in srgb,var(--panel2) 76%,transparent);}
.request-guard-row>span{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px color-mix(in srgb,var(--accent) 70%,transparent);}
.request-guard-row b{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;color:var(--text);}
.request-guard-row small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;color:var(--muted);font-size:.68rem;}
.request-guard-row.responded>span,.request-guard-row.parsing>span{background:var(--warn);box-shadow:0 0 12px color-mix(in srgb,var(--warn) 70%,transparent);}
.request-guard-row.done>span{background:var(--good);box-shadow:0 0 12px color-mix(in srgb,var(--good) 70%,transparent);}
.request-guard-row.failed>span,.request-guard-row.timeout>span,.request-guard-row.cancelled>span,.request-guard-row.cancelling>span{background:var(--bad);box-shadow:0 0 12px color-mix(in srgb,var(--bad) 70%,transparent);}
.request-guard-row.cancelling,.request-guard-row.cancelled{border-color:color-mix(in srgb,var(--bad) 44%,var(--line));background:color-mix(in srgb,var(--bad) 8%,var(--panel2));}
.startup-splash-close{position:absolute;right:12px;top:12px;z-index:3;background:color-mix(in srgb,var(--panel) 82%,#000);color:var(--text);}
.startup-step.done{color:var(--good);border-color:color-mix(in srgb,var(--good) 52%,var(--line));background:color-mix(in srgb,var(--good) 8%,var(--panel2));}
.startup-step.done i{background:var(--good);box-shadow:0 0 12px color-mix(in srgb,var(--good) 72%,transparent);}
.startup-step.active{background:color-mix(in srgb,var(--accent) 10%,var(--panel2));}
.theme-light .request-guard-panel{background:#ffffff;color:#102033;border-color:#b9c6d6;box-shadow:0 18px 52px rgba(38,58,88,.22);}
.theme-light .request-guard-row{background:#f7fbff;}
@media(max-width:760px){
  .request-guard-panel{left:12px;right:12px;width:auto;bottom:max(calc(var(--footerH,42px) + 190px),calc(env(safe-area-inset-bottom) + 196px));}
}

/* WEB30.1.439_RESOURCE_TIMEOUT_MANAGER: adaptive response-time settings for weak hosting. */
.resource-timeout-page{display:grid;gap:var(--gap);}
.resource-timeout-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:16px;align-items:stretch;overflow:hidden;position:relative;}
.resource-timeout-hero::before{content:"";position:absolute;inset:-40% auto auto -10%;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 18%,transparent),transparent 68%);pointer-events:none;}
.resource-timeout-hero h3{margin:0 0 8px;color:var(--text);font-size:1.05rem;}
.resource-timeout-hero p{margin:0;color:var(--muted);line-height:1.75;max-width:760px;}
.resource-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.resource-metric{border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:16px;padding:12px;background:linear-gradient(145deg,color-mix(in srgb,var(--panel2) 78%,transparent),color-mix(in srgb,var(--surface) 50%,transparent));box-shadow:inset 0 1px 0 rgba(255,255,255,.05);}
.resource-metric b{display:block;font-size:1.2rem;line-height:1;color:var(--text);}
.resource-metric small{display:block;margin-top:6px;color:var(--muted);font-size:.74rem;}
.resource-metric.ok{border-color:color-mix(in srgb,var(--good) 34%,var(--line));background:color-mix(in srgb,var(--good) 7%,var(--panel2));}
.resource-metric.warn{border-color:color-mix(in srgb,var(--warn) 38%,var(--line));background:color-mix(in srgb,var(--warn) 7%,var(--panel2));}
.resource-metric.bad{border-color:color-mix(in srgb,var(--bad) 40%,var(--line));background:color-mix(in srgb,var(--bad) 8%,var(--panel2));}
.resource-timeout-table th,.resource-timeout-table td{vertical-align:middle;}
.resource-timeout-table td small{display:block;margin-top:3px;color:var(--muted);font-size:.7rem;line-height:1.35;}
.resource-timeout-table select,.resource-timeout-table input{min-height:36px;border-radius:12px;}
.resource-timeout-table input{width:132px;max-width:100%;}
.resource-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:13px;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--line));background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);font-weight:900;box-shadow:0 0 18px color-mix(in srgb,var(--accent) 14%,transparent);}
.resource-icon.database{--accent:#ffb84d;}
.resource-icon.files{--accent:#62a8ff;}
.resource-icon.external{--accent:#ff5c6c;}
.resource-icon.telemetry{--accent:#29e0a9;}
.resource-icon.messages{--accent:#c58bff;}
.resource-icon.site{--accent:var(--brand);}
#resourceTimeoutSaveStatus{margin-top:10px;min-height:20px;}
.theme-light .resource-metric,.theme-light .resource-timeout-table tbody tr{background:#f7fbff!important;border-color:#cbd7e3!important;}
.theme-light .resource-timeout-hero{background:#ffffff!important;}
@media(max-width:980px){.resource-timeout-hero{grid-template-columns:1fr}.resource-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.resource-timeout-table input{width:110px}}
@media(max-width:620px){.resource-metric-grid{grid-template-columns:1fr}.resource-timeout-table{min-width:760px}}

/* WEB30.1.440_REQUEST_MONITOR_CONTROL_PANEL: draggable/resizable request monitor and display settings. */
.request-guard-panel{
  min-width:280px;
  min-height:54px;
  max-width:calc(100vw - 24px);
  max-height:calc(100vh - 24px);
  overflow:hidden;
  opacity:0;
}
.request-guard-panel.active{opacity:var(--request-monitor-opacity,1);}
.request-guard-panel.strength-subtle{border-color:color-mix(in srgb,var(--line) 82%,transparent);box-shadow:0 12px 36px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.05);}
.request-guard-panel.strength-strong{border-color:color-mix(in srgb,var(--accent) 70%,var(--line));box-shadow:0 30px 90px rgba(0,0,0,.58),0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent),inset 0 1px 0 rgba(255,255,255,.1);}
.request-guard-panel.dragging,.request-guard-panel.resizing{transition:none;user-select:none;}
.request-guard-head{cursor:move;touch-action:none;}
.request-guard-tools{display:flex;align-items:center;gap:6px;flex:0 0 auto;}
#requestGuardCollapse,#requestGuardSettings{display:grid;place-items:center;width:26px;height:26px;min-width:26px;border-radius:999px;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);background:color-mix(in srgb,var(--panel2) 85%,#000);color:var(--muted);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);cursor:pointer;}
#requestGuardCollapse:hover,#requestGuardSettings:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));}
.request-guard-body{display:grid;gap:8px;min-height:0;overflow:hidden;}
.request-guard-panel.collapsed{height:auto!important;min-height:54px;}
.request-guard-panel.collapsed .request-guard-body{display:none;}
.request-guard-panel.collapsed .request-guard-head{border-bottom:0;padding-bottom:0;}
.request-guard-panel[data-mode="always"]{border-style:solid;}
.request-guard-panel[data-mode="always"]::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(var(--good),var(--accent));opacity:.85;pointer-events:none;}
.request-guard-panel [data-rg-resize]{position:absolute;display:block;z-index:3;opacity:0;touch-action:none;}
.request-guard-panel [data-rg-resize="n"]{left:18px;right:18px;top:0;height:8px;cursor:ns-resize;}
.request-guard-panel [data-rg-resize="s"]{left:18px;right:18px;bottom:0;height:8px;cursor:ns-resize;}
.request-guard-panel [data-rg-resize="e"]{top:18px;bottom:18px;right:0;width:8px;cursor:ew-resize;}
.request-guard-panel [data-rg-resize="w"]{top:18px;bottom:18px;left:0;width:8px;cursor:ew-resize;}
.request-guard-panel [data-rg-resize="ne"]{right:0;top:0;width:18px;height:18px;cursor:nesw-resize;}
.request-guard-panel [data-rg-resize="nw"]{left:0;top:0;width:18px;height:18px;cursor:nwse-resize;}
.request-guard-panel [data-rg-resize="se"]{right:0;bottom:0;width:18px;height:18px;cursor:nwse-resize;}
.request-guard-panel [data-rg-resize="sw"]{left:0;bottom:0;width:18px;height:18px;cursor:nesw-resize;}
.request-monitor-settings-page{display:grid;gap:var(--gap);}
.request-monitor-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.95fr);gap:16px;align-items:stretch;overflow:hidden;position:relative;}
.request-monitor-hero h3,.request-monitor-config-card h3{margin:0 0 8px;color:var(--text);}
.request-monitor-hero p{margin:0;color:var(--muted);line-height:1.75;}
.request-monitor-setting-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;margin-top:14px;}
.request-monitor-setting-grid label{display:grid;gap:6px;color:var(--muted);font-weight:850;font-size:.78rem;}
.request-monitor-setting-grid select,.request-monitor-setting-grid input{width:100%;min-height:38px;border-radius:12px;}
.request-monitor-setting-grid small{font-weight:700;color:var(--muted);}
.theme-light #requestGuardCollapse,.theme-light #requestGuardSettings{background:#eef4fa;color:#526174;border-color:#cbd7e3;}
.theme-light .request-guard-panel.strength-strong{box-shadow:0 24px 72px rgba(38,58,88,.28),0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent)!important;}
@media(max-width:980px){.request-monitor-hero{grid-template-columns:1fr}.request-monitor-setting-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:760px){.request-guard-panel{left:12px!important;right:12px!important;top:auto!important;width:auto!important;height:auto!important;}.request-guard-panel [data-rg-resize]{display:none}.request-monitor-setting-grid{grid-template-columns:1fr}}
.request-guard-panel:not(.collapsed){grid-template-rows:auto minmax(0,1fr);}
.request-guard-panel:not(.collapsed) .request-guard-list{max-height:100%;}
.request-guard-panel:not(.collapsed) .request-guard-body{overflow:auto;}


/* WEB30.1.441_CACHE_LOAD_TABBED_SPEED_MONITOR: tabbed Cache/Load manager and browser-local load-speed charts. */
.cache-manager-tabs-wrap{position:sticky;top:calc(var(--headerH,64px) + 8px);z-index:8;margin:0 0 12px;padding:6px;border:1px solid color-mix(in srgb,var(--line) 68%,transparent);border-radius:18px;background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 92%,#000),color-mix(in srgb,var(--surface) 78%,#000));box-shadow:0 12px 34px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.05);overflow:hidden;}
.cache-manager-tabs.cache-manager-tabs-slim{display:flex;gap:7px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;padding:2px 2px 6px;}
.cache-manager-tabs.cache-manager-tabs-slim .tab{flex:0 0 auto;min-width:132px;min-height:42px;display:grid;align-content:center;gap:1px;text-align:start;border-radius:13px;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--panel2) 86%,#fff),color-mix(in srgb,var(--panel) 92%,#000));box-shadow:0 5px 0 color-mix(in srgb,#000 32%,transparent),inset 0 1px 0 rgba(255,255,255,.08);transform:translateY(0);}
.cache-manager-tabs.cache-manager-tabs-slim .tab:hover{border-color:color-mix(in srgb,var(--accent) 38%,var(--line));transform:translateY(-1px);}
.cache-manager-tabs.cache-manager-tabs-slim .tab.active{color:#fff;border-color:color-mix(in srgb,var(--accent) 68%,var(--line));background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 28%,var(--panel2)),color-mix(in srgb,var(--accent2) 16%,var(--panel)));box-shadow:0 2px 0 color-mix(in srgb,var(--accent) 42%,#000),0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent),inset 0 1px 0 rgba(255,255,255,.16);transform:translateY(2px);}
.cache-manager-tabs.cache-manager-tabs-slim .tab b{font-size:.76rem;white-space:nowrap;}.cache-manager-tabs.cache-manager-tabs-slim .tab small{font-size:.62rem;color:var(--muted);white-space:nowrap;}.cache-manager-tabs.cache-manager-tabs-slim .tab.active small{color:rgba(255,255,255,.84)}
.cache-nested-page{display:grid;gap:12px;}.cache-nested-header{display:flex;justify-content:space-between;align-items:center;min-height:74px;}.cache-nested-header h3{margin:0 0 5px;}.cache-nested-header p{margin:0;color:var(--muted);line-height:1.65;}
.cache-subtab-strip{display:flex;gap:7px;overflow-x:auto;padding:5px;border:1px solid color-mix(in srgb,var(--line) 66%,transparent);border-radius:16px;background:color-mix(in srgb,var(--panel2) 58%,transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.04);}
.cache-subtab-strip .tab{flex:0 0 auto;min-width:128px;min-height:36px;border-radius:12px;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 76%,#fff),color-mix(in srgb,var(--panel) 84%,#000));box-shadow:0 4px 0 rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.07);display:grid;gap:0;align-content:center;text-align:start;padding:6px 10px;}
.cache-subtab-strip .tab b{font-size:.72rem;line-height:1.1}.cache-subtab-strip .tab small{font-size:.58rem;color:var(--muted);line-height:1.1}.cache-subtab-strip .tab.active{border-color:color-mix(in srgb,var(--accent) 62%,var(--line));background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 24%,var(--panel2)),color-mix(in srgb,var(--accent2) 12%,var(--panel)));transform:translateY(2px);box-shadow:0 1px 0 color-mix(in srgb,var(--accent) 46%,#000),inset 0 1px 0 rgba(255,255,255,.16);}.cache-subtab-strip .tab.active small{color:rgba(255,255,255,.82)}
.cache-nested-body{display:grid;gap:var(--gap);}
.resource-speed-table{min-width:980px;}.resource-speed-table tr.ok{box-shadow:inset 3px 0 0 color-mix(in srgb,var(--good) 50%,transparent);}.resource-speed-table tr.warn{box-shadow:inset 3px 0 0 color-mix(in srgb,var(--warn) 58%,transparent);}.resource-speed-table tr.muted{opacity:.78;}
.resource-timeout-table-wrap{max-height:calc(100vh - 330px);overflow:auto;border-radius:16px;}.resource-speed-table td{vertical-align:middle;}.resource-speed-table td:nth-child(2) b{display:block;white-space:nowrap;}.resource-speed-table td:nth-child(2) small{max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.resource-edit-cell{min-width:220px;display:grid!important;grid-template-columns:86px 110px;gap:6px;align-items:center;}.resource-edit-cell small{grid-column:1/-1;}
.resource-spark{display:grid;gap:3px;min-width:158px;}.resource-spark svg{width:160px;height:34px;border-radius:10px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(0,0,0,.10));border:1px solid color-mix(in srgb,var(--line) 65%,transparent);}.resource-spark polyline{fill:none;stroke:var(--good);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--good) 35%,transparent));}.resource-spark.warn polyline{stroke:var(--warn);filter:drop-shadow(0 0 4px color-mix(in srgb,var(--warn) 35%,transparent));}.resource-spark span{font-size:.66rem;color:var(--muted);}.resource-spark.empty{min-width:126px;border:1px dashed color-mix(in srgb,var(--line) 70%,transparent);border-radius:10px;padding:8px 10px;color:var(--muted);}
.resource-speed-settings-card{border-color:color-mix(in srgb,var(--accent) 26%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,var(--panel)),color-mix(in srgb,var(--panel2) 82%,#000));}.resource-speed-settings-card .toolbar{align-items:flex-start;}.resource-speed-settings-card .request-monitor-setting-grid{margin-top:12px;}
.theme-light .cache-manager-tabs-wrap,.theme-light .cache-subtab-strip{background:#f5f8fc;border-color:#ccd8e3;box-shadow:0 10px 24px rgba(40,70,110,.12),inset 0 1px 0 #fff;}.theme-light .cache-manager-tabs.cache-manager-tabs-slim .tab,.theme-light .cache-subtab-strip .tab{background:linear-gradient(#fff,#eaf1f8);border-color:#c9d6e2;color:#27364a;box-shadow:0 4px 0 #c4d0dc,inset 0 1px 0 #fff;}.theme-light .cache-manager-tabs.cache-manager-tabs-slim .tab.active,.theme-light .cache-subtab-strip .tab.active{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 28%,#fff),#eef7ff);color:#123;}.theme-light .resource-spark svg{background:#f7fbff;border-color:#cbd7e3;}
@media(max-width:900px){.cache-manager-tabs.cache-manager-tabs-slim .tab{min-width:116px}.cache-subtab-strip .tab{min-width:112px}.resource-timeout-table-wrap{max-height:none}.resource-speed-table{min-width:900px}.resource-edit-cell{grid-template-columns:1fr;}}
@media(max-width:620px){.cache-manager-tabs-wrap{top:8px}.cache-manager-tabs.cache-manager-tabs-slim .tab{min-width:108px;min-height:38px}.cache-subtab-strip .tab{min-width:104px}.resource-timeout-hero .resource-metric-grid{grid-template-columns:1fr}.resource-spark svg{width:130px}.resource-spark{min-width:130px}}

/* WEB30_1_442_DB_MAINTENANCE_GUIDED_HELP
   Scope: DB Maintenance guided settings card only. */
.db-maintenance-page .db-maintenance-guided-card{
  grid-column:1 / -1!important;
  padding:0!important;
  overflow:visible!important;
  border-color:rgba(125,190,255,.30)!important;
  background:linear-gradient(180deg,#0b1c2d,#07131f)!important;
}
.db-maintenance-page .db-maintenance-guided-head{
  background:linear-gradient(90deg,rgba(37,99,235,.62),rgba(8,145,178,.30) 45%,#071522)!important;
}
.db-maintenance-page .db-maintenance-guide-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin:0 14px 12px!important;
}
.db-maintenance-page .db-maintenance-guide-strip article{
  min-height:60px;
  padding:9px 11px;
  border-radius:14px;
  border:1px solid rgba(125,190,255,.16);
  background:linear-gradient(180deg,rgba(2,8,15,.42),rgba(8,24,38,.34));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
.db-maintenance-page .db-maintenance-guide-strip b{
  display:block;
  color:#f8fbff;
  font-size:.78rem;
  margin-bottom:4px;
}
.db-maintenance-page .db-maintenance-guide-strip span{
  color:#9eb8ca;
  font-size:.68rem;
  line-height:1.45;
}
.db-maintenance-page .db-maint-guide-good{border-color:rgba(52,211,153,.26)!important;background:linear-gradient(180deg,rgba(6,78,59,.20),rgba(2,8,15,.34))!important;}
.db-maintenance-page .db-maint-guide-warn{border-color:rgba(251,191,36,.28)!important;background:linear-gradient(180deg,rgba(120,53,15,.20),rgba(2,8,15,.34))!important;}
.db-maintenance-page .db-maint-guide-info{border-color:rgba(56,189,248,.28)!important;background:linear-gradient(180deg,rgba(12,74,110,.18),rgba(2,8,15,.34))!important;}
.db-maintenance-page .db-maintenance-summary-kpis{
  margin:0 14px 12px!important;
}
.db-maintenance-page .db-maintenance-split{
  display:grid;
  grid-template-columns:minmax(260px,.78fr) minmax(420px,1.45fr);
  gap:12px;
  margin:0 14px 12px!important;
}
.db-maintenance-page .db-maintenance-status-box,
.db-maintenance-page .db-maintenance-settings-box,
.db-maintenance-page .db-maintenance-setting-group{
  border:1px solid rgba(125,190,255,.16);
  border-radius:16px;
  background:rgba(2,8,15,.30);
}
.db-maintenance-page .db-maintenance-status-box{
  padding:10px;
}
.db-maintenance-page .db-maintenance-status-box h4,
.db-maintenance-page .db-maintenance-setting-group header{
  margin:0 0 9px;
}
.db-maintenance-page .db-maintenance-status-box h4{
  color:#f8fbff;
  font-size:.84rem;
}
.db-maintenance-page .db-maintenance-kv{
  margin:0!important;
  background:rgba(2,8,15,.18)!important;
}
.db-maintenance-page .db-maintenance-settings-box{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  padding:10px;
}
.db-maintenance-page .db-maintenance-setting-group{
  padding:10px;
  position:relative;
  overflow:visible;
}
.db-maintenance-page .db-maintenance-setting-group header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-bottom:8px;
  border-bottom:1px solid rgba(125,190,255,.12);
}
.db-maintenance-page .db-maintenance-setting-group header b{
  display:block;
  color:#fff;
  font-size:.83rem;
  line-height:1.2;
}
.db-maintenance-page .db-maintenance-setting-group header small{
  display:block;
  color:#95acbf;
  font-size:.66rem;
  line-height:1.4;
  margin-top:2px;
}
.db-maintenance-page .db-maint-group-guard{border-color:rgba(52,211,153,.22)!important;}
.db-maintenance-page .db-maint-group-logs{border-color:rgba(251,191,36,.22)!important;}
.db-maintenance-page .db-maint-group-due{border-color:rgba(56,189,248,.22)!important;}
.db-maintenance-page .db-maint-field-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}
.db-maintenance-page .db-maint-group-due .db-maint-field-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.db-maintenance-page .db-maint-field{
  min-height:98px;
  padding:9px 10px!important;
  border-radius:14px!important;
  border:1px solid rgba(125,190,255,.15)!important;
  background:linear-gradient(180deg,rgba(3,12,22,.72),rgba(8,24,38,.40))!important;
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
  position:relative;
}
.db-maintenance-page .db-maint-field-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-height:20px;
}
.db-maintenance-page .db-maint-field-title b{
  color:#f7fbff;
  font-size:.72rem;
  line-height:1.2;
}
.db-maintenance-page .db-maint-field small{
  color:#8fa7bb!important;
  font-size:.61rem!important;
  line-height:1.35!important;
  min-height:27px;
}
.db-maintenance-page .db-maint-field input,
.db-maintenance-page .db-maint-field select{
  min-height:34px!important;
  margin-top:auto;
}
.db-maintenance-page .db-maint-help{
  width:19px;
  height:19px;
  flex:0 0 19px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  border:1px solid rgba(147,197,253,.38);
  background:linear-gradient(180deg,rgba(37,99,235,.34),rgba(8,47,73,.38));
  color:#dbeafe;
  font-weight:950;
  font-size:.68rem;
  cursor:help;
  position:relative;
}
.db-maintenance-page .db-maint-help:hover,
.db-maintenance-page .db-maint-field:hover .db-maint-help{
  border-color:rgba(125,211,252,.75);
  color:#fff;
  box-shadow:0 0 0 3px rgba(59,130,246,.12);
}
.db-maintenance-page .db-maint-help:hover:after{
  content:attr(data-tip);
  position:absolute;
  z-index:30;
  inset:auto auto calc(100% + 8px) 50%;
  transform:translateX(-50%);
  width:min(320px,70vw);
  padding:9px 10px;
  border-radius:12px;
  border:1px solid rgba(147,197,253,.42);
  background:#07111d;
  color:#eef7ff;
  box-shadow:0 18px 42px rgba(0,0,0,.42);
  font-size:.72rem;
  line-height:1.55;
  white-space:normal;
  text-align:start;
  pointer-events:none;
}
.db-maintenance-page .db-maintenance-action-bar{
  margin:0 14px 10px!important;
}
.db-maintenance-page .db-maintenance-protect-note{
  margin:0 14px 10px!important;
}
.db-maintenance-page .db-maintenance-table-details{
  margin:0 14px 14px!important;
  border:1px solid rgba(125,190,255,.14);
  border-radius:14px;
  background:rgba(2,8,15,.22);
  overflow:hidden;
}
.db-maintenance-page .db-maintenance-table-details summary{
  cursor:pointer;
  padding:9px 11px;
  color:#dcecff;
  font-weight:900;
  font-size:.76rem;
  background:rgba(15,35,55,.46);
}
.db-maintenance-page .db-maintenance-table-details .table-wrap{
  margin:10px!important;
}
.theme-light .db-maintenance-page .db-maintenance-guided-card,
.theme-light .db-maintenance-page .db-maintenance-status-box,
.theme-light .db-maintenance-page .db-maintenance-settings-box,
.theme-light .db-maintenance-page .db-maintenance-setting-group,
.theme-light .db-maintenance-page .db-maint-field{
  background:linear-gradient(180deg,#ffffff,#f8fbff)!important;
  border-color:#bfdbfe!important;
}
.theme-light .db-maintenance-page .db-maintenance-guide-strip article{
  background:#ffffff!important;
  border-color:#bfdbfe!important;
}
.theme-light .db-maintenance-page .db-maintenance-guide-strip b,
.theme-light .db-maintenance-page .db-maintenance-status-box h4,
.theme-light .db-maintenance-page .db-maintenance-setting-group header b,
.theme-light .db-maintenance-page .db-maint-field-title b{
  color:#0f172a!important;
}
.theme-light .db-maintenance-page .db-maintenance-guide-strip span,
.theme-light .db-maintenance-page .db-maintenance-setting-group header small,
.theme-light .db-maintenance-page .db-maint-field small{
  color:#475569!important;
}
@media(max-width:1180px){
  .db-maintenance-page .db-maintenance-split{grid-template-columns:1fr;}
  .db-maintenance-page .db-maint-field-grid,
  .db-maintenance-page .db-maint-group-due .db-maint-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:760px){
  .db-maintenance-page .db-maintenance-guide-strip,
  .db-maintenance-page .db-maint-field-grid,
  .db-maintenance-page .db-maint-group-due .db-maint-field-grid{grid-template-columns:1fr;}
  .db-maintenance-page .db-maintenance-split{margin-left:10px!important;margin-right:10px!important;}
}


/* WEB30.1.443_CACHE_TABS_COMPACT_POLISH
   Scope: Cache / Load Manager tab/subtab readability and themed horizontal rail controls only. */
.cache-manager-page-compact{display:grid;gap:8px;}
.cache-tab-rail{
  position:sticky;
  top:calc(var(--headerH,64px) + 4px);
  z-index:11;
  display:grid;
  grid-template-columns:28px minmax(0,1fr) 28px;
  gap:5px;
  align-items:center;
  margin:0 0 4px;
  padding:4px;
  border:1px solid color-mix(in srgb,var(--line) 70%,transparent);
  border-radius:16px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 94%,#000),color-mix(in srgb,var(--surface) 82%,#000));
  box-shadow:0 10px 28px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.05);
  overflow:hidden;
}
.cache-tab-track{
  display:flex;
  gap:6px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-behavior:smooth;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  cursor:grab;
  touch-action:pan-x;
  padding:1px 1px 3px;
}
.cache-tab-track::-webkit-scrollbar{display:none;}
.cache-tab-track.dragging{cursor:grabbing;scroll-behavior:auto;user-select:none;}
.cache-tab-scroll{
  width:28px;height:32px;min-width:28px;
  display:grid;place-items:center;
  border-radius:11px;
  border:1px solid color-mix(in srgb,var(--line) 72%,transparent);
  color:var(--muted);
  background:linear-gradient(180deg,color-mix(in srgb,var(--panel2) 84%,#fff),color-mix(in srgb,var(--panel) 86%,#000));
  box-shadow:0 3px 0 rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.08);
  font-size:1.15rem;font-weight:950;line-height:1;
  cursor:pointer;
}
.cache-tab-scroll:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 42%,var(--line));}
.cache-tab-scroll:active{transform:translateY(2px);box-shadow:0 1px 0 rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.06);}
.cache-tab-track .tab{
  flex:0 0 auto;
  display:grid;place-items:center;
  min-height:38px;
  padding:7px 13px;
  border-radius:13px;
  border:1px solid color-mix(in srgb,var(--line) 78%,transparent);
  background:linear-gradient(180deg,color-mix(in srgb,var(--panel2) 88%,#fff),color-mix(in srgb,var(--panel) 92%,#000));
  box-shadow:0 4px 0 color-mix(in srgb,#000 30%,transparent),inset 0 1px 0 rgba(255,255,255,.08);
  color:var(--text);
  text-align:center;
  transform:translateY(0);
}
.cache-tab-track .tab:hover{border-color:color-mix(in srgb,var(--accent) 38%,var(--line));transform:translateY(-1px);}
.cache-tab-track .tab.active{
  border-color:color-mix(in srgb,var(--accent) 68%,var(--line));
  background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 28%,var(--panel2)),color-mix(in srgb,var(--accent2) 16%,var(--panel)));
  box-shadow:0 1px 0 color-mix(in srgb,var(--accent) 42%,#000),0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent),inset 0 1px 0 rgba(255,255,255,.16);
  transform:translateY(2px);
}
.cache-tab-track .tab b{white-space:nowrap;font-weight:950;letter-spacing:.01em;}
.cache-tab-track.cache-tab .tab{min-width:116px;}
.cache-tab-track.cache-tab .tab b{font-size:.82rem;}
.cache-tab-track.resource-speed-tab .tab{min-width:98px;min-height:32px;padding:5px 10px;border-radius:11px;box-shadow:0 3px 0 rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.07);}
.cache-tab-track.resource-speed-tab .tab b{font-size:.70rem;font-weight:820;}
.resource-timeout-page.cache-nested-page{gap:6px;}
.resource-timeout-page .cache-tab-rail{position:relative;top:auto;z-index:5;margin:0 0 8px;padding:3px;border-radius:14px;background:color-mix(in srgb,var(--panel2) 60%,transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.04);}
.resource-timeout-hero.compact{padding:10px!important;}
.resource-timeout-hero.compact .resource-metric-grid{margin:0;}
.cache-manager-body{margin-top:2px;}
.cache-manager-hero,.cache-nested-header{display:none!important;}
.cache-manager-footer-row{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:12px;flex-wrap:wrap;}
.cache-manager-bottom-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding:8px;border:1px solid color-mix(in srgb,var(--line) 62%,transparent);border-radius:16px;background:color-mix(in srgb,var(--panel2) 42%,transparent);}
.cache-manager-footer-row>.settings-actions{margin:0;flex:0 1 auto;}
.theme-light .cache-tab-rail{background:#f5f8fc;border-color:#ccd8e3;box-shadow:0 10px 24px rgba(40,70,110,.12),inset 0 1px 0 #fff;}
.theme-light .cache-tab-track .tab,.theme-light .cache-tab-scroll{background:linear-gradient(#fff,#eaf1f8);border-color:#c9d6e2;color:#27364a;box-shadow:0 3px 0 #c4d0dc,inset 0 1px 0 #fff;}
.theme-light .cache-tab-track .tab.active{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 28%,#fff),#eef7ff);color:#123;}
@media(max-width:900px){.cache-tab-track.cache-tab .tab{min-width:104px}.cache-tab-track.resource-speed-tab .tab{min-width:88px}.cache-manager-footer-row{justify-content:flex-start}.cache-manager-footer-row>.settings-actions{width:100%;}}
@media(max-width:620px){.cache-tab-rail{top:8px;grid-template-columns:26px minmax(0,1fr) 26px}.cache-tab-scroll{width:26px;min-width:26px}.cache-tab-track.cache-tab .tab{min-width:96px}.cache-tab-track.resource-speed-tab .tab{min-width:82px}.cache-manager-bottom-actions{justify-content:flex-start;width:100%;}}

/* WEB30.1.444_HOVER_HELP_TOOLTIPS
   Scope: contextual Persian mouse-over help for Cache/Load Manager and DB Maintenance only. */
.fa-hover-tooltip{
  position:fixed;
  z-index:99999;
  max-width:min(360px,calc(100vw - 32px));
  padding:10px 12px;
  border-radius:14px;
  border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));
  background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 96%,#000 4%),color-mix(in srgb,var(--panel2) 90%,#000 10%));
  color:var(--text);
  box-shadow:0 18px 45px rgba(0,0,0,.38),0 0 0 1px rgba(255,255,255,.04) inset;
  font-size:.78rem;
  line-height:1.65;
  direction:rtl;
  text-align:right;
  pointer-events:none;
  opacity:0;
  transform:translateY(4px) scale(.985);
  transition:opacity .12s ease,transform .12s ease;
  white-space:normal;
}
.fa-hover-tooltip.show{opacity:1;transform:translateY(0) scale(1);}
[data-fa-help],
[data-native-title]{cursor:help;}
.cache-manager-page [data-fa-help]:hover,
.db-maintenance-page [data-fa-help]:hover{
  border-color:color-mix(in srgb,var(--accent) 52%,var(--line));
}
.db-maintenance-page .db-maint-help{display:none!important;}
.db-maintenance-page .db-maintenance-guided-head p,
.db-maintenance-page .db-maintenance-guide-strip{display:none!important;}
.db-maintenance-page .db-maintenance-setting-group header small{display:none!important;}
.db-maintenance-page .db-maint-field-title{margin-bottom:5px;}
.db-maintenance-page .db-maint-field{min-height:92px;}
.theme-light .fa-hover-tooltip{background:linear-gradient(180deg,#ffffff,#eef6ff);color:#132235;border-color:color-mix(in srgb,var(--accent) 38%,#b9c7d6);box-shadow:0 16px 38px rgba(30,70,120,.20),0 0 0 1px #fff inset;}
@media(max-width:640px){.fa-hover-tooltip{font-size:.74rem;max-width:calc(100vw - 24px);}}

/* WEB30.1.445_CACHE_TABS_LAYOUT_FIX
   Scope: Cache / Load Manager tabs only. Fixes sticky overlap, huge empty top space,
   non-clickable tabs, and oversized equal-width tab buttons. */
.cache-manager-page.cache-manager-page-compact{
  gap:4px!important;
  padding-top:0!important;
  margin-top:0!important;
}
.cache-manager-page-compact>.cache-tab-rail,
.cache-manager-page-compact .resource-timeout-page>.cache-tab-rail,
.cache-tab-rail.cache-manager-tabs-wrap,
.resource-timeout-page .cache-tab-rail.resource-speed-subtabs{
  position:relative!important;
  top:auto!important;
  z-index:2!important;
  margin:0!important;
  transform:none!important;
}
.cache-manager-page-compact>.cache-tab-rail{
  margin-bottom:5px!important;
}
.cache-manager-body{
  margin-top:0!important;
  padding-top:0!important;
}
.resource-timeout-page.cache-nested-page{
  gap:5px!important;
  align-content:start!important;
}
.resource-timeout-page .cache-tab-rail.resource-speed-subtabs{
  margin:0 0 6px!important;
  z-index:1!important;
}
.cache-tab-rail{
  grid-template-columns:24px minmax(0,1fr) 24px!important;
  gap:4px!important;
  padding:3px!important;
  border-radius:14px!important;
  box-shadow:0 6px 18px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.05)!important;
}
.cache-tab-scroll{
  width:24px!important;
  height:28px!important;
  min-width:24px!important;
  border-radius:9px!important;
  font-size:.98rem!important;
}
.cache-tab-track{
  gap:5px!important;
  padding:1px 1px 2px!important;
}
.cache-tab-track .tab{
  width:auto!important;
  min-width:0!important;
  min-height:32px!important;
  padding:6px 10px!important;
  border-radius:11px!important;
  place-items:center!important;
  cursor:pointer!important;
  user-select:none!important;
}
.cache-tab-track.cache-tab .tab,
.cache-tab-track.resource-speed-tab .tab{
  min-width:0!important;
  flex:0 0 auto!important;
}
.cache-tab-track.cache-tab .tab b{
  font-size:.78rem!important;
  font-weight:950!important;
  line-height:1.05!important;
}
.cache-tab-track.resource-speed-tab .tab{
  min-height:28px!important;
  padding:5px 9px!important;
  border-radius:10px!important;
  box-shadow:0 2px 0 rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.06)!important;
}
.cache-tab-track.resource-speed-tab .tab b{
  font-size:.66rem!important;
  font-weight:760!important;
  line-height:1.05!important;
}
.cache-tab-track .tab.active{
  transform:translateY(1px)!important;
}
.cache-tab-track .tab:hover{
  transform:translateY(-1px)!important;
}
.cache-tab-track .tab.active:hover{
  transform:translateY(1px)!important;
}
.resource-timeout-hero.compact{
  margin-top:0!important;
}
.theme-light .cache-tab-rail{
  box-shadow:0 6px 16px rgba(40,70,110,.10),inset 0 1px 0 #fff!important;
}
@media(max-width:900px){
  .cache-tab-track.cache-tab .tab,
  .cache-tab-track.resource-speed-tab .tab{min-width:0!important;}
}
@media(max-width:620px){
  .cache-tab-rail{grid-template-columns:22px minmax(0,1fr) 22px!important;}
  .cache-tab-scroll{width:22px!important;min-width:22px!important;height:27px!important;}
  .cache-tab-track .tab{padding:5px 8px!important;}
  .cache-tab-track.cache-tab .tab b{font-size:.74rem!important;}
  .cache-tab-track.resource-speed-tab .tab b{font-size:.64rem!important;}
}

/* WEB30.1.446_DEVELOPMENT_TABBED_HELP_LAYOUT
   Scope: Development menu tab/subtab organization and Persian hover help only. */
.development-tabs-shell,
.development-subtabs-shell{display:grid;gap:0;margin:0 0 5px;padding:0;}
.development-tabs-shell .dev-tab-rail,
.development-subtabs-shell .dev-tab-rail{position:relative!important;top:auto!important;z-index:2!important;margin:0!important;}
.development-subtabs-shell{margin-top:0;margin-bottom:7px;}
.development-tabs-shell .cache-tab-track.dev-main-tab .tab{min-width:0!important;min-height:32px!important;padding:6px 11px!important;}
.development-tabs-shell .cache-tab-track.dev-main-tab .tab b{font-size:.78rem!important;font-weight:950!important;}
.development-subtabs-shell .cache-tab-track.dev-maint-tab .tab{min-width:0!important;min-height:28px!important;padding:5px 9px!important;border-radius:10px!important;box-shadow:0 2px 0 rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.06)!important;}
.development-subtabs-shell .cache-tab-track.dev-maint-tab .tab b{font-size:.66rem!important;font-weight:760!important;}
.development-maintenance-layout{margin-top:0!important;align-items:start;}
.development-page{display:grid;gap:var(--gap);}
.development-card .toolbar.compact{gap:8px;align-items:center;margin-bottom:8px;}
.dev-maint-panel[hidden],.dev-maint-panel-hidden{display:none!important;}
.development-maintenance-layout .dev-maint-panel{animation:devPanelIn .12s ease-out;}
@keyframes devPanelIn{from{opacity:.65;transform:translateY(3px)}to{opacity:1;transform:none}}
.development-maintenance-layout .db-result-card{grid-column:1/-1;}
.development-tabs-shell [data-fa-help]:hover,
.development-subtabs-shell [data-fa-help]:hover,
.development-page [data-fa-help]:hover,
.development-maintenance-layout [data-fa-help]:hover{border-color:color-mix(in srgb,var(--accent) 52%,var(--line));}
@media(max-width:900px){.development-tabs-shell .cache-tab-track.dev-main-tab .tab,.development-subtabs-shell .cache-tab-track.dev-maint-tab .tab{min-width:0!important;}}
@media(max-width:620px){.development-tabs-shell .cache-tab-track.dev-main-tab .tab b{font-size:.73rem!important}.development-subtabs-shell .cache-tab-track.dev-maint-tab .tab b{font-size:.62rem!important}}

/* WEB30_1_447_DASHBOARD_RADAR_SETTINGS_LIVE_APPLY */
.dashboard-radar-live-preview{margin-top:var(--gap);overflow:hidden}
.dashboard-radar-preview-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.dashboard-radar-preview-frame{margin-top:12px;border:1px solid rgba(34,211,238,.18);border-radius:22px;padding:10px;background:linear-gradient(180deg,rgba(2,6,23,.42),rgba(2,6,23,.22));overflow:hidden}
.dashboard-radar-live-preview .dash297-radar-panel{margin:0;box-shadow:none}
.dashboard-radar-live-preview .dash379-radar-map{min-height:480px}
.theme-light .dashboard-radar-preview-frame{background:#f8fcff;border-color:#dbe7ef}
@media(max-width:900px){.dashboard-radar-preview-actions{justify-content:flex-start}.dashboard-radar-live-preview .dash379-radar-map{min-height:390px}}

/* WEB30_1_449 Radar sweep preview jump controls */
.dash449-radar-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-inline-start:auto}
.dash449-radar-jump-btn{border:1px solid rgba(125,249,255,.24);border-radius:999px;background:linear-gradient(180deg,rgba(34,211,238,.14),rgba(15,23,42,.24));color:#eaffff;min-height:32px;padding:6px 10px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:.72rem;font-weight:950;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 22px rgba(0,0,0,.14);white-space:nowrap}
.dash449-radar-jump-btn i{width:22px;height:22px;border-radius:999px;display:grid;place-items:center;background:rgba(125,249,255,.12);border:1px solid rgba(125,249,255,.18);font-style:normal;font-size:.9rem;line-height:1}
.dash449-radar-jump-btn:hover{border-color:rgba(251,191,36,.55);background:linear-gradient(180deg,rgba(251,191,36,.16),rgba(34,211,238,.10));transform:translateY(-1px)}
.dash449-radar-jump-btn.down i{animation:dash449RadarArrowDown 1.35s ease-in-out infinite}
.dash449-radar-jump-btn.up i{animation:dash449RadarArrowUp 1.35s ease-in-out infinite}
#dashboardRadarLivePreview{scroll-margin-top:86px}
@keyframes dash449RadarArrowDown{0%,100%{transform:translateY(-1px)}50%{transform:translateY(2px)}}
@keyframes dash449RadarArrowUp{0%,100%{transform:translateY(1px)}50%{transform:translateY(-2px)}}
.theme-light .dash449-radar-jump-btn{background:#f0f9ff;color:#075985;border-color:#bae6fd;box-shadow:none}.theme-light .dash449-radar-jump-btn i{background:#e0f2fe;border-color:#bae6fd}
@media(max-width:900px){.dash449-radar-card-actions{justify-content:flex-start}.dash449-radar-jump-btn span{display:none}.dash449-radar-jump-btn{padding:6px}}

/* WEB30_1_451_FOOTER_HANDLE_OUTSIDE_TOP_EDGE
   Scope: place the footer visibility handle outside the footer. Its bottom edge sits a few pixels above the footer top edge when footer is visible/revealed. */
:root{--footerHandleOutsideGap:4px}
.shell-toggle-layer .footer-handle{
  border-color:color-mix(in srgb,var(--accent) 72%,var(--warn) 28%)!important;
  background:radial-gradient(circle at 50% 22%,rgba(255,255,255,.32),transparent 30%),linear-gradient(135deg,color-mix(in srgb,var(--warn) 18%,var(--panel2)),color-mix(in srgb,var(--accent) 28%,var(--panel)))!important;
  box-shadow:0 0 16px color-mix(in srgb,var(--accent) 34%,transparent),0 0 0 1px color-mix(in srgb,var(--warn) 22%,transparent) inset,0 10px 25px rgba(0,0,0,.30)!important;
  animation:footerHandleOutsidePulse 1.55s ease-in-out infinite!important;
}
.shell-toggle-layer[data-footer="visible"] .footer-handle,
.shell-toggle-layer.footer-revealed .footer-handle,
.main-shell.footer-revealed .shell-toggle-layer .footer-handle,
.shell-toggle-pill .shell-toggle-layer[data-footer="visible"] .footer-handle,
.shell-toggle-pill .shell-toggle-layer.footer-revealed .footer-handle,
.shell-toggle-pill .main-shell.footer-revealed .shell-toggle-layer .footer-handle{
  bottom:calc(var(--footerH) + var(--footerHandleOutsideGap) + env(safe-area-inset-bottom))!important;
}
.shell-toggle-layer[data-footer="hidden"] .footer-handle,
.shell-toggle-layer[data-footer="auto"] .footer-handle{
  bottom:max(4px,env(safe-area-inset-bottom))!important;
}
@keyframes footerHandleOutsidePulse{
  0%,100%{
    border-color:color-mix(in srgb,var(--accent) 70%,var(--line));
    background:radial-gradient(circle at 50% 22%,rgba(255,255,255,.28),transparent 30%),linear-gradient(135deg,color-mix(in srgb,var(--accent) 30%,var(--panel)),var(--panel2));
    box-shadow:0 0 10px color-mix(in srgb,var(--accent) 24%,transparent),0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent) inset,0 10px 25px rgba(0,0,0,.28);
  }
  50%{
    border-color:color-mix(in srgb,var(--warn) 62%,var(--accent));
    background:radial-gradient(circle at 50% 22%,rgba(255,255,255,.42),transparent 32%),linear-gradient(135deg,color-mix(in srgb,var(--warn) 32%,var(--panel)),color-mix(in srgb,var(--accent2) 28%,var(--panel2)));
    box-shadow:0 0 24px color-mix(in srgb,var(--warn) 38%,transparent),0 0 26px color-mix(in srgb,var(--accent) 32%,transparent),0 0 0 1px color-mix(in srgb,var(--warn) 28%,transparent) inset,0 14px 30px rgba(0,0,0,.36);
  }
}
@media(max-width:760px){:root{--footerHandleOutsideGap:5px}}

/* WEB30.1.452 - Header Help Mode toggle and single tooltip gate */
.hover-help-toggle{
  position:relative;
  cursor:pointer;
  overflow:visible;
  border-color:color-mix(in srgb,#60a5fa 58%,var(--line));
  background:radial-gradient(circle at 38% 28%,rgba(255,255,255,.28),transparent 28%),linear-gradient(135deg,rgba(37,99,235,.24),rgba(8,47,73,.36));
  color:#dbeafe;
  box-shadow:0 0 0 1px rgba(96,165,250,.12) inset,0 0 14px rgba(96,165,250,.22);
  animation:hoverHelpIdlePulse 1.55s ease-in-out infinite;
}
.hover-help-toggle .hover-help-icon{
  width:20px;
  height:20px;
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  font-weight:1000;
  color:#fff;
  background:linear-gradient(135deg,#2563eb,#06b6d4);
  box-shadow:0 0 16px rgba(34,211,238,.35);
  transform-origin:center;
  animation:hoverHelpIconZoom 1.55s ease-in-out infinite;
}
.hover-help-toggle b{font-size:.72rem;font-weight:950;}
.hover-help-toggle.active{
  border-color:color-mix(in srgb,#22c55e 70%,var(--line));
  background:radial-gradient(circle at 35% 25%,rgba(255,255,255,.32),transparent 30%),linear-gradient(135deg,rgba(34,197,94,.34),rgba(20,83,45,.42));
  color:#dcfce7;
  box-shadow:0 0 0 1px rgba(34,197,94,.18) inset,0 0 18px rgba(34,197,94,.38);
}
.hover-help-toggle.active .hover-help-icon{
  background:linear-gradient(135deg,#22c55e,#84cc16);
  box-shadow:0 0 18px rgba(34,197,94,.48);
}
body[data-hover-help-mode="off"] .fa-hover-tooltip{display:none!important;}
body[data-hover-help-mode="off"] [data-fa-help],
body[data-hover-help-mode="off"] [data-native-title]{cursor:inherit;}
body[data-hover-help-mode="on"] [data-fa-help],
body[data-hover-help-mode="on"] [data-native-title]{cursor:help;}
@keyframes hoverHelpIdlePulse{
  0%,100%{filter:brightness(1);transform:translateY(0);}
  50%{filter:brightness(1.24);transform:translateY(-1px);}
}
@keyframes hoverHelpIconZoom{
  0%,100%{transform:scale(1);}
  50%{transform:scale(1.13);}
}
.theme-light .hover-help-toggle{
  background:linear-gradient(135deg,#eef6ff,#dbeafe);
  color:#1e3a8a;
  border-color:#93c5fd;
  box-shadow:0 6px 18px rgba(37,99,235,.16);
}
.theme-light .hover-help-toggle.active{
  background:linear-gradient(135deg,#ecfdf5,#dcfce7);
  color:#166534;
  border-color:#86efac;
  box-shadow:0 6px 18px rgba(22,163,74,.18);
}
@media(max-width:980px){.hover-help-toggle b{display:none}.hover-help-toggle{padding:3px 5px;}}


/* WEB30.1.454 - dedicated mobile shell foundation.
   Scope: mobile layout only; backend/API/data logic untouched. */
.mobile-quick-bar{display:none}
@media(max-width:760px){
  body:not(.mobile-off){
    --headerH:86px;
    --footerH:0px;
    --mobileQuickH:58px;
    --fontScale:.80;
    --controlScale:.86;
    --cardPad:8px;
    --gap:7px;
    --textGap:3px;
    --navPadY:9px;
    --navPadX:10px;
    overflow:hidden;
    touch-action:manipulation;
  }
  body.mobile-dense:not(.mobile-off){--headerH:76px;--mobileQuickH:52px;--fontScale:.75;--controlScale:.80;--cardPad:6px;--gap:5px;--navPadY:7px;--navPadX:8px}
  body.mobile-touch:not(.mobile-off){--headerH:92px;--mobileQuickH:64px;--fontScale:.86;--controlScale:1.02;--navPadY:12px;--navPadX:12px}
  body:not(.mobile-off) .app-shell,
  body:not(.mobile-off) .app-shell.sidebar-collapsed{grid-template-columns:1fr;height:100dvh;min-height:100dvh;overflow:hidden}
  body:not(.mobile-off) .main-shell{grid-template-rows:var(--headerH) minmax(0,1fr) 0;min-height:0;overflow:hidden}
  body:not(.mobile-off) .top-header{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;align-content:center;gap:6px;min-height:var(--headerH);height:var(--headerH);padding:6px max(8px,env(safe-area-inset-right)) 5px max(8px,env(safe-area-inset-left));overflow:visible;border-bottom-color:color-mix(in srgb,var(--accent) 30%,var(--line))}
  body:not(.mobile-off) .page-title-block{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center}
  body:not(.mobile-off) #mobileMenu{width:38px;height:38px;display:grid!important;place-items:center;border-radius:13px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 24%,var(--panel)),var(--panel2));border-color:color-mix(in srgb,var(--accent) 55%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent)}
  body:not(.mobile-off).mobile-nav-open #mobileMenu{background:linear-gradient(145deg,color-mix(in srgb,var(--warn) 28%,var(--panel)),var(--panel2));border-color:color-mix(in srgb,var(--warn) 70%,var(--line))}
  body:not(.mobile-off) .page-title-block>div{min-width:0;display:grid;gap:1px}
  body:not(.mobile-off) .page-title-block h2{font-size:clamp(15px,4.2vw,18px);line-height:1.12;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body:not(.mobile-off) .page-title-block p{font-size:10px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100vw - 64px)}
  body:not(.mobile-off) .compact-header-spacer{display:none!important}
  body:not(.mobile-off) .header-status{display:flex!important;align-items:center;gap:5px;min-width:0;max-width:calc(100vw - 16px);overflow-x:auto;overflow-y:hidden;padding:0 0 2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  body:not(.mobile-off) .header-status::-webkit-scrollbar{display:none}
  body:not(.mobile-off) .header-status .status-pill,
  body:not(.mobile-off) .header-status .cache-header-pill,
  body:not(.mobile-off) .header-status .db-guard-header-pill,
  body:not(.mobile-off) .header-status .sms-header-pill,
  body:not(.mobile-off) .header-status .messages-header-pill{min-height:28px;padding:4px 8px;font-size:11px;flex:0 0 auto;max-width:140px;overflow:hidden;text-overflow:ellipsis}
  body:not(.mobile-off) .header-status .status-pill b{overflow:hidden;text-overflow:ellipsis}
  body:not(.mobile-off) .hover-help-toggle .hover-help-icon{width:18px;height:18px;font-size:13px}
  body:not(.mobile-off) .clock-block{min-width:76px;text-align:center;font-size:11px;flex:0 0 auto}
  body:not(.mobile-off) .clock-block small{font-size:9px}
  body:not(.mobile-off) .avatar-btn{width:28px;height:28px;flex:0 0 28px}
  body:not(.mobile-off) .floating-menu{position:fixed;top:calc(var(--headerH) + 4px);right:8px;left:auto;max-width:calc(100vw - 16px);z-index:9800}
  body:not(.mobile-off) .sidebar{position:fixed;z-index:9700;top:0;bottom:0;left:0;right:auto;width:min(332px,88vw);max-width:88vw;height:100dvh;transform:translateX(-106%);transition:transform .18s ease;box-shadow:0 24px 90px rgba(0,0,0,.55);border-right:1px solid color-mix(in srgb,var(--accent) 42%,var(--line));border-left:0;background:linear-gradient(180deg,color-mix(in srgb,var(--bg2) 94%,#000),var(--bg2));padding-bottom:max(8px,env(safe-area-inset-bottom))}
  body:not(.mobile-off) .sidebar.open{transform:translateX(0)}
  body.lang-fa:not(.mobile-off) .sidebar{left:auto;right:0;transform:translateX(106%);border-right:0;border-left:1px solid color-mix(in srgb,var(--accent) 42%,var(--line))}
  body.lang-fa:not(.mobile-off) .sidebar.open{transform:translateX(0)}
  body:not(.mobile-off) .sidebar-head{min-height:54px;height:54px;flex:0 0 54px;padding:8px 10px;gap:8px;overflow:visible}
  body:not(.mobile-off) .sidebar-head .brand-text{display:grid!important}
  body:not(.mobile-off) .sidebar-head .icon-btn{position:static!important;display:grid!important;min-width:34px;height:34px;padding:6px}
  body:not(.mobile-off) .nav-list{padding:8px;gap:5px;overscroll-behavior:contain}
  body:not(.mobile-off) .nav-group{margin:3px 0 7px;border-color:color-mix(in srgb,var(--line) 82%,transparent)}
  body:not(.mobile-off) .nav-item,
  body:not(.mobile-off) .nav-sub button{min-height:38px;border-radius:12px;font-size:13px}
  body:not(.mobile-off) .nav-sub{margin-inline-start:18px;padding-block:5px}
  body:not(.mobile-off) .sidebar-foot{display:grid!important;max-height:none;padding:8px 10px 10px}
  body:not(.mobile-off) .mobile-open-backdrop.show,
  body:not(.mobile-off) .sidebar.open + .mobile-open-backdrop{display:block;position:fixed;inset:0;z-index:9600;background:rgba(0,0,0,.50);backdrop-filter:blur(2px)}
  body:not(.mobile-off) .content{padding:7px 7px calc(var(--mobileQuickH) + 12px + env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:auto}
  body:not(.mobile-off) .footer-bar{display:none!important}
  body:not(.mobile-off) .mobile-quick-bar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:4px;position:fixed;left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));bottom:max(7px,env(safe-area-inset-bottom));height:50px;z-index:9400;padding:5px;border:1px solid color-mix(in srgb,var(--accent) 42%,var(--line));border-radius:18px;background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 94%,#000),color-mix(in srgb,var(--panel2) 96%,#000));box-shadow:0 18px 50px rgba(0,0,0,.46),0 0 0 1px color-mix(in srgb,var(--accent) 13%,transparent) inset;backdrop-filter:blur(10px)}
  body:not(.mobile-off) .mobile-quick-bar button{min-width:0;height:40px;border:1px solid transparent;border-radius:13px;background:transparent;color:var(--muted);display:grid;grid-template-rows:18px 14px;align-content:center;justify-items:center;gap:1px;padding:3px;font-size:10px;line-height:1;white-space:nowrap}
  body:not(.mobile-off) .mobile-quick-bar button i{font-style:normal;font-size:17px;line-height:1;color:var(--text)}
  body:not(.mobile-off) .mobile-quick-bar button.active{color:#fff;border-color:color-mix(in srgb,var(--accent) 62%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 32%,transparent),color-mix(in srgb,var(--accent2) 12%,transparent));box-shadow:0 0 16px color-mix(in srgb,var(--accent) 24%,transparent)}
  body:not(.mobile-off) .panel{border-radius:14px;box-shadow:0 8px 20px rgba(0,0,0,.16)}
  body:not(.mobile-off) .panel h3{font-size:13px;line-height:1.25}
  body:not(.mobile-off) .panel p{font-size:12px;line-height:1.35}
  body:not(.mobile-off) .toolbar,
  body:not(.mobile-off) .tabs,
  body:not(.mobile-off) .seg{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;max-width:100%;padding-bottom:2px}
  body:not(.mobile-off) .toolbar::-webkit-scrollbar,
  body:not(.mobile-off) .tabs::-webkit-scrollbar,
  body:not(.mobile-off) .seg::-webkit-scrollbar{display:none}
  body:not(.mobile-off) .toolbar>* ,
  body:not(.mobile-off) .tabs .tab,
  body:not(.mobile-off) .seg button{flex:0 0 auto;white-space:nowrap}
  body:not(.mobile-off) .settings-grid,
  body:not(.mobile-off) .grid.cols-4,
  body:not(.mobile-off) .grid.cols-3,
  body:not(.mobile-off) .grid.cols-2{grid-template-columns:1fr!important}
  body:not(.mobile-off) .setting-row,
  body:not(.mobile-off) .identity-list{grid-template-columns:1fr!important;gap:4px}
  body:not(.mobile-off) input,
  body:not(.mobile-off) select,
  body:not(.mobile-off) textarea{width:100%;min-height:36px;font-size:16px}
  body:not(.mobile-off) button{min-height:34px}
  body:not(.mobile-off) .settings-actions{position:sticky;bottom:calc(var(--mobileQuickH) + 4px);display:flex;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;padding:7px}
  body:not(.mobile-off) .settings-actions::-webkit-scrollbar{display:none}
  body:not(.mobile-off) .dirty-pill{flex:0 0 auto;margin-inline-end:auto}
  body:not(.mobile-off) .table-wrap{max-height:calc(100dvh - var(--headerH) - var(--mobileQuickH) - 96px);overflow:auto;-webkit-overflow-scrolling:touch}
  body:not(.mobile-off) table{min-width:640px;font-size:12px}
  body:not(.mobile-off) th,
  body:not(.mobile-off) td{white-space:nowrap}
  body:not(.mobile-off) td:last-child{white-space:normal;min-width:180px}
  body:not(.mobile-off) .scroll-card{max-height:none;overflow:visible}
  body:not(.mobile-off) .global-loading-toast{left:10px;right:10px;bottom:calc(var(--mobileQuickH) + 12px + env(safe-area-inset-bottom));max-width:none}
  body:not(.mobile-off) .global-loading-overlay{padding:12px}
  body:not(.mobile-off) .startup-splash{padding:12px}
  body:not(.mobile-off) .startup-splash-card{width:calc(100vw - 24px);padding:14px;border-radius:18px}
}
@media(max-width:420px){
  body:not(.mobile-off){--headerH:82px;--mobileQuickH:54px;--cardPad:7px;--gap:6px}
  body:not(.mobile-off) .header-status .status-pill{max-width:118px;font-size:10px;padding-inline:7px}
  body:not(.mobile-off) .mobile-quick-bar{height:48px;border-radius:16px}
  body:not(.mobile-off) .mobile-quick-bar button{height:38px;font-size:9px;border-radius:12px}
  body:not(.mobile-off) .mobile-quick-bar button i{font-size:16px}
  body:not(.mobile-off) .page-title-block h2{font-size:15px}
}


/* WEB30.1.455 - mobile ops radio + shell handles cleanup.
   Scope: mobile CSS only; removes desktop shell handles from mobile and fixes OPS RADIO item text stacking. */
@media(max-width:760px){
  body:not(.mobile-off) .shell-toggle-layer,
  body:not(.mobile-off) .shell-toggle-layer .shell-edge-handle,
  body:not(.mobile-off) .header-handle,
  body:not(.mobile-off) .footer-handle,
  body:not(.mobile-off) .sidebar-handle,
  body:not(.mobile-off) .main-shell>.footer-handle{
    display:none!important;
    pointer-events:none!important;
    visibility:hidden!important;
  }
  body:not(.mobile-off) .dash304-radio .dash304-card,
  body:not(.mobile-off) .dash304-radio{min-width:0;overflow:hidden;}
  body:not(.mobile-off) .dash304-radio header{grid-template-columns:1fr;gap:3px;align-items:start;min-width:0;}
  body:not(.mobile-off) .dash304-radio header span,
  body:not(.mobile-off) .dash304-radio header h4{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  body:not(.mobile-off) .dash304-ops-feed{gap:9px;max-height:46dvh;padding-inline:1px;overflow:auto;}
  body:not(.mobile-off) .dash304-ops-feed article{
    grid-template-columns:42px minmax(0,1fr)!important;
    grid-template-areas:"opsIcon opsText" "opsIcon opsTime";
    align-items:center!important;
    gap:3px 9px!important;
    min-height:62px;
    padding:9px 10px!important;
    overflow:hidden;
  }
  body:not(.mobile-off) .dash304-ops-feed article i{grid-area:opsIcon;width:42px;height:42px;border-radius:16px;align-self:center;justify-self:center;}
  body:not(.mobile-off) .dash304-ops-feed article time{grid-area:opsTime;font-size:10.5px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;color:#9aa8bd;}
  body:not(.mobile-off) .dash304-ops-feed article div{grid-area:opsText;min-width:0;display:grid!important;gap:2px;align-content:center;overflow:hidden;}
  body:not(.mobile-off) .dash304-ops-feed article b{font-size:12.5px!important;line-height:1.18!important;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;}
  body:not(.mobile-off) .dash304-ops-feed article small{font-size:10.5px!important;line-height:1.22!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;}
  body.lang-fa:not(.mobile-off) .dash304-ops-feed article{grid-template-columns:minmax(0,1fr) 42px!important;grid-template-areas:"opsText opsIcon" "opsTime opsIcon";}
  body.lang-fa:not(.mobile-off) .dash304-ops-feed article time,
  body.lang-fa:not(.mobile-off) .dash304-ops-feed article b,
  body.lang-fa:not(.mobile-off) .dash304-ops-feed article small{text-align:right;direction:rtl;}
  body.lang-fa:not(.mobile-off) .dash304-ops-feed article time{unicode-bidi:plaintext;}
}
@media(max-width:420px){
  body:not(.mobile-off) .dash304-ops-feed article{grid-template-columns:38px minmax(0,1fr)!important;min-height:58px;padding:8px 9px!important;gap:3px 8px!important;}
  body:not(.mobile-off) .dash304-ops-feed article i{width:38px;height:38px;border-radius:15px;}
  body:not(.mobile-off) .dash304-ops-feed article b{font-size:12px!important;}
  body:not(.mobile-off) .dash304-ops-feed article small,
  body:not(.mobile-off) .dash304-ops-feed article time{font-size:10px!important;}
  body.lang-fa:not(.mobile-off) .dash304-ops-feed article{grid-template-columns:minmax(0,1fr) 38px!important;}
}

/* WEB30.1.457_WEATHER_PROVIDER_LINKS_PACKAGE_CLEANUP */
.weather-online-page{display:grid;gap:var(--gap);min-height:0}.weather-online-hero{display:flex;justify-content:space-between;gap:14px;align-items:center;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));border-radius:18px;padding:14px;background:radial-gradient(circle at 10% 15%,color-mix(in srgb,var(--accent) 20%,transparent),transparent 34%),linear-gradient(135deg,color-mix(in srgb,var(--panel2) 92%,#000),var(--panel))}.weather-online-hero small{color:var(--accent2);font-weight:800;letter-spacing:.12em}.weather-online-hero h2{margin:.15rem 0;font-size:clamp(20px,2vw,30px)}.weather-online-hero p{margin:0;color:var(--muted);max-width:760px}.weather-hero-status{display:grid;gap:7px;justify-items:end}.weather-status{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-weight:800;background:var(--panel2)}.weather-status i{width:9px;height:9px;border-radius:50%;background:var(--muted);box-shadow:0 0 0 4px color-mix(in srgb,var(--muted) 12%,transparent)}.weather-status.ok i{background:var(--good);box-shadow:0 0 0 4px color-mix(in srgb,var(--good) 16%,transparent)}.weather-status.warn i{background:var(--warn);box-shadow:0 0 0 4px color-mix(in srgb,var(--warn) 18%,transparent)}.weather-status.bad i{background:var(--bad);box-shadow:0 0 0 4px color-mix(in srgb,var(--bad) 18%,transparent)}.weather-online-tabs{position:sticky;top:0;z-index:8;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(10px);padding:6px;border:1px solid var(--line);border-radius:var(--radius)}.weather-online-card{border:1px solid color-mix(in srgb,var(--accent2) 20%,var(--line))}.weather-form-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:end}.weather-provider-note,.weather-db-box{display:grid;gap:3px;margin-top:10px;border:1px solid var(--line);border-radius:14px;background:var(--panel2);padding:10px}.weather-provider-note b,.weather-db-box b{color:var(--text)}.weather-provider-note span,.weather-provider-note small,.weather-db-box span{color:var(--muted)}.weather-capability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap);margin-top:var(--gap)}.weather-field-group{border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--panel2) 74%,transparent);padding:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px}.weather-field-group h4{grid-column:1/-1;margin:0 0 4px}.weather-field-chip{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:center;border:1px solid color-mix(in srgb,var(--good) 26%,var(--line));border-radius:12px;padding:7px 9px;background:color-mix(in srgb,var(--good) 6%,var(--panel2));min-height:46px}.weather-field-chip input{grid-row:1/3}.weather-field-chip span{font-weight:750}.weather-field-chip small{color:var(--muted);font-size:11px}.weather-field-chip.disabled{opacity:.55;border-color:var(--line);background:color-mix(in srgb,var(--panel2) 70%,transparent)}.weather-check{display:flex!important;gap:9px!important;align-items:center!important;min-height:43px}.weather-test-layout,.weather-view-layout{display:grid;gap:var(--gap)}.weather-test-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.weather-test-status{font-weight:800;color:var(--muted)}.weather-sample-card.empty{min-height:180px;display:grid;place-content:center;text-align:center}.weather-sample-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:10px}.weather-sample-head>div{display:grid;grid-template-columns:auto 1fr;gap:2px 8px}.weather-sample-head b{grid-row:1/3;width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent2));font-size:22px}.weather-sample-head h3{margin:0}.weather-sample-head span,.weather-sample-head em{color:var(--muted);font-style:normal}.weather-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.weather-metric-grid article{border:1px solid var(--line);border-radius:14px;background:var(--panel2);padding:9px;display:grid;gap:3px}.weather-metric-grid span{color:var(--muted);font-size:12px}.weather-metric-grid b{font-size:18px;font-variant-numeric:tabular-nums}.weather-metric-grid small{color:var(--muted)}.weather-provider-links{display:grid;gap:8px;margin-top:10px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,var(--panel2)),var(--panel2));padding:10px}.weather-provider-links b{color:var(--text)}.weather-provider-links div{display:flex;flex-wrap:wrap;gap:7px}.weather-provider-links a{display:inline-flex;align-items:center;gap:6px;border:1px solid color-mix(in srgb,var(--accent2) 28%,var(--line));border-radius:999px;padding:7px 10px;background:color-mix(in srgb,var(--panel) 82%,transparent);color:var(--accent2);font-weight:800;text-decoration:none}.weather-provider-links a:after{content:'↗';font-size:11px;opacity:.8}.weather-provider-links a:hover{border-color:var(--accent);color:var(--accent)}.weather-provider-links small{color:var(--muted)}@media(max-width:850px){.weather-online-hero{display:grid}.weather-hero-status{justify-items:start}.weather-capability-grid{grid-template-columns:1fr}.weather-form-grid{grid-template-columns:1fr}.weather-online-tabs{overflow:auto;white-space:nowrap;display:flex}}

/* WEB30.1.458_WEATHER_PROVIDER_EXPANSION_IRAN_CONNECTIVITY_TEST - provider catalog expansion uses existing weather UI styles. */

/* WEB30.1.459_WEATHER_PROVIDER_ACCORDION_RAW_JSON_DEBUG */
.weather-helper-accordions{display:grid;gap:8px;margin-top:10px}.weather-helper-card{border:1px solid color-mix(in srgb,var(--accent2) 22%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--panel2) 82%,transparent);overflow:hidden}.weather-helper-card summary{cursor:pointer;display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 12px;list-style:none}.weather-helper-card summary::-webkit-details-marker{display:none}.weather-helper-card summary b{color:var(--text)}.weather-helper-card summary span{color:var(--muted);font-size:12px;text-align:right}.weather-helper-card summary:after{content:'⌄';color:var(--accent2);font-weight:900;transition:transform .16s ease}.weather-helper-card[open] summary:after{transform:rotate(180deg)}.weather-helper-body{border-top:1px solid var(--line);padding:10px 12px;display:grid;gap:10px}.weather-helper-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}.weather-helper-grid article,.weather-request-preview article{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:9px;display:grid;gap:4px}.weather-helper-grid article b,.weather-request-preview article b{font-size:12px;color:var(--accent2);text-transform:uppercase;letter-spacing:.04em}.weather-helper-grid article span,.weather-request-preview article span{color:var(--muted)}.weather-example-chips{display:flex;flex-wrap:wrap;gap:6px}.weather-example-chips code,.weather-request-preview code{border:1px solid var(--line);border-radius:9px;background:color-mix(in srgb,var(--bg) 70%,transparent);padding:5px 7px;color:var(--text);overflow-wrap:anywhere}.weather-request-preview{display:grid;gap:8px}.weather-request-preview small{color:var(--muted)}.weather-json-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.weather-json-debug-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.weather-json-debug-grid article{border:1px solid var(--line);border-radius:14px;background:var(--panel);min-width:0;overflow:hidden}.weather-json-debug-grid h4{margin:0;padding:8px 10px;border-bottom:1px solid var(--line);color:var(--accent2)}.weather-json-debug-grid pre{margin:0;padding:10px;max-height:320px;overflow:auto;font-size:12px;line-height:1.45;white-space:pre-wrap;word-break:break-word;color:var(--text);background:color-mix(in srgb,var(--bg) 72%,transparent)}@media(max-width:850px){.weather-helper-card summary{display:grid;text-align:left}.weather-helper-card summary span{text-align:left}.weather-json-debug-grid{grid-template-columns:1fr}}
.weather-json-link-row{border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--accent) 8%,var(--panel));padding:10px;display:grid;gap:7px}.weather-json-link-row>b{color:var(--accent);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.weather-json-link-row>div{display:flex;flex-wrap:wrap;gap:7px}.weather-json-open-link{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;background:var(--panel);padding:6px 10px;font-size:12px;font-weight:800;text-decoration:none;color:var(--text)}.weather-json-open-link:hover{border-color:var(--accent);transform:translateY(-1px)}.weather-json-link-row small{color:var(--muted)}
.weather-json-link-row.direct-provider-row{border-color:color-mix(in srgb,var(--accent2) 34%,var(--line));background:color-mix(in srgb,var(--accent2) 9%,var(--panel));}
.weather-json-link-row.direct-provider-row>b{color:var(--accent2)}
.weather-json-open-link.direct-provider{border-color:color-mix(in srgb,var(--accent2) 38%,var(--line));}

/* WEB30.1.468: Weather / Air current visual status and simple location picker */
.weather-current-page{display:grid;gap:var(--gap);min-height:0}.wx-current-page-hero{border-color:color-mix(in srgb,var(--accent2) 35%,var(--line));background:radial-gradient(circle at 12% 18%,color-mix(in srgb,var(--accent2) 22%,transparent),transparent 36%),linear-gradient(135deg,color-mix(in srgb,var(--panel2) 92%,#000),var(--panel))}.wx-current-actions{border:1px solid color-mix(in srgb,var(--accent) 20%,var(--line));border-radius:15px;background:color-mix(in srgb,var(--panel2) 80%,transparent);padding:8px}.wx-current-empty{min-height:210px;display:grid;place-content:center;text-align:center;gap:9px;border:1px dashed color-mix(in srgb,var(--warn) 45%,var(--line))}.wx-current-hero-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid color-mix(in srgb,var(--accent2) 28%,var(--line));background:radial-gradient(circle at 8% 20%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 34%),linear-gradient(135deg,color-mix(in srgb,var(--panel2) 90%,#000),color-mix(in srgb,var(--panel) 94%,#000))}.wx-current-big-icon{width:72px;height:72px;border-radius:24px;display:grid;place-items:center;font-size:38px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 82%,#fff 6%),color-mix(in srgb,var(--accent2) 80%,#fff 5%));box-shadow:0 12px 35px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.16)}.wx-current-main small,.wx-current-section-head small,.wx-current-aqi-card small{display:block;color:var(--accent2);font-weight:900;letter-spacing:.12em}.wx-current-main h2{margin:.1rem 0;font-size:clamp(21px,2.3vw,34px)}.wx-current-main p{margin:0;color:var(--muted)}.wx-current-temp{display:flex;align-items:flex-end;gap:6px;justify-content:flex-end}.wx-current-temp b{font-size:clamp(38px,5vw,62px);line-height:.9;font-variant-numeric:tabular-nums}.wx-current-temp span{color:var(--muted);font-weight:800;margin-bottom:7px}.wx-current-mini-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border-top:1px solid var(--line);padding-top:10px}.wx-current-mini-row span{border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel2) 76%,transparent);padding:8px 10px;color:var(--muted)}.wx-current-mini-row b{color:var(--text);font-variant-numeric:tabular-nums}.wx-current-top-grid{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:var(--gap);align-items:stretch}.wx-current-aqi-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;border:1px solid color-mix(in srgb,var(--good) 28%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--good) 10%,var(--panel2)),var(--panel))}.wx-current-aqi-card.fair{border-color:color-mix(in srgb,var(--accent2) 35%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--accent2) 10%,var(--panel2)),var(--panel))}.wx-current-aqi-card.moderate{border-color:color-mix(in srgb,var(--warn) 35%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--warn) 12%,var(--panel2)),var(--panel))}.wx-current-aqi-card.poor,.wx-current-aqi-card.bad{border-color:color-mix(in srgb,var(--bad) 36%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--bad) 11%,var(--panel2)),var(--panel))}.wx-current-aqi-card.empty{opacity:.75}.wx-current-aqi-icon{width:64px;height:64px;border-radius:22px;display:grid;place-items:center;font-weight:950;background:color-mix(in srgb,var(--panel2) 80%,#000);border:1px solid var(--line);color:var(--accent2)}.wx-current-aqi-card h3{margin:.1rem 0;font-size:34px}.wx-current-aqi-card span{color:var(--muted)}.wx-current-aqi-scale{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.wx-current-aqi-scale i{height:7px;border-radius:99px;background:color-mix(in srgb,var(--accent2) 45%,var(--line))}.wx-current-aqi-scale i:nth-child(1){background:#22c55e}.wx-current-aqi-scale i:nth-child(2){background:#84cc16}.wx-current-aqi-scale i:nth-child(3){background:#f59e0b}.wx-current-aqi-scale i:nth-child(4){background:#f97316}.wx-current-aqi-scale i:nth-child(5){background:#ef4444}.wx-current-source{border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line))}.wx-current-source-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}.wx-current-source-tile{border:1px solid var(--line);border-radius:14px;background:var(--panel2);padding:10px;display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:center}.wx-current-source-tile i{grid-row:1/3;width:32px;height:32px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 13%,transparent);font-style:normal}.wx-current-source-tile span{color:var(--muted);font-size:11px}.wx-current-source-tile b{font-size:12px;word-break:break-word}.wx-current-section{display:grid;gap:10px}.wx-current-section.weather{border-color:color-mix(in srgb,var(--accent2) 22%,var(--line))}.wx-current-section.air{border-color:color-mix(in srgb,var(--warn) 18%,var(--line))}.wx-current-section-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.wx-current-section-head h3{margin:.1rem 0}.wx-current-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px}.wx-current-tile{position:relative;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:center;border:1px solid color-mix(in srgb,var(--accent2) 22%,var(--line));border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--panel2) 88%,transparent),color-mix(in srgb,var(--panel) 92%,transparent));padding:10px;min-height:74px}.wx-current-tile:before{content:'';position:absolute;inset:auto 0 0;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent2));opacity:.55}.wx-current-tile i{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 14%,transparent);font-style:normal;font-weight:900;color:var(--accent2)}.wx-current-tile span{display:block;color:var(--muted);font-size:12px}.wx-current-tile b{display:block;font-size:22px;line-height:1.05;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wx-current-tile small{display:block;color:var(--muted);font-size:11px}.wx-current-tile.empty{opacity:.56;border-color:var(--line);filter:saturate(.65)}.wx-current-tile.empty:before{opacity:.12}@media(max-width:980px){.wx-current-top-grid{grid-template-columns:1fr}.wx-current-hero-card{grid-template-columns:auto minmax(0,1fr)}.wx-current-temp{grid-column:1/-1;justify-content:flex-start}.wx-current-mini-row{grid-template-columns:1fr}}@media(max-width:620px){.wx-current-page-hero,.wx-current-section-head{display:grid}.wx-current-big-icon{width:58px;height:58px;border-radius:20px;font-size:30px}.wx-current-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wx-current-source-grid{grid-template-columns:1fr}.wx-current-tile{grid-template-columns:1fr;text-align:center}.wx-current-tile i{margin:auto}.wx-current-tile b{font-size:19px}}@media(max-width:430px){.wx-current-grid{grid-template-columns:1fr}}

/* WEB30.1.468: Simple Weather/Air location picker */
.weather-location-picker-body{gap:12px}.weather-location-search-row{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:8px;align-items:center}.weather-location-search-row input{min-width:0}.weather-location-presets{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.weather-location-presets b{color:var(--accent2);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.weather-location-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.weather-location-result{border:1px solid color-mix(in srgb,var(--accent2) 26%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--panel) 86%,transparent);color:var(--text);padding:10px;text-align:left;display:grid;gap:4px;cursor:pointer}.weather-location-result b{font-size:14px}.weather-location-result span{color:var(--muted);font-size:12px}.weather-location-result small{color:var(--accent2);font-weight:800}.weather-location-result:hover{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent);transform:translateY(-1px)}.weather-location-empty{border:1px dashed var(--line);border-radius:14px;padding:12px;color:var(--muted);background:color-mix(in srgb,var(--panel2) 70%,transparent)}@media(max-width:850px){.weather-location-search-row{grid-template-columns:1fr}.weather-location-results{grid-template-columns:1fr}}


/* WEB30.1.469 Weather menu / update / latest-only polish */
.weather-update-layout,.weather-storage-layout,.weather-debug-layout{display:grid;gap:var(--gap)}
.weather-update-summary,.weather-update-policy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin:10px 0}
.weather-update-summary article,.weather-update-policy-grid article{border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--panel2) 82%,transparent);padding:10px;display:grid;gap:3px;min-width:0}
.weather-update-summary b,.weather-update-policy-grid b{font-size:.78rem;color:var(--muted)}
.weather-update-summary span,.weather-update-policy-grid span{font-weight:900;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.weather-update-summary small,.weather-update-policy-grid small{color:var(--muted);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.weather-auto-status{margin-top:10px;border:1px dashed var(--line);border-radius:13px;padding:9px 10px;color:var(--muted);background:color-mix(in srgb,var(--panel2) 70%,transparent);font-weight:800}
.weather-auto-status.on{border-color:color-mix(in srgb,var(--good) 42%,var(--line));color:var(--good);background:color-mix(in srgb,var(--good) 8%,var(--panel2))}
.weather-auto-status.off{border-color:color-mix(in srgb,var(--muted) 25%,var(--line))}
.weather-storage-card .weather-db-box code{direction:ltr;unicode-bidi:embed}
@media(max-width:620px){.weather-update-summary,.weather-update-policy-grid{grid-template-columns:1fr}.weather-test-actions .primary-btn,.weather-test-actions .ghost-btn{width:100%;justify-content:center}}

/* WEB30.1.470_DEVICE_MANUAL_UPDATE_CLEAN_BASE */
.manual-update-page .manual-update-hero{
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(280px,520px);
  gap:16px;
  align-items:stretch;
}
.manual-update-hero h2{margin:4px 0 8px;}
.manual-update-hero p{margin:0;max-width:780px;}
.manual-update-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.manual-update-summary article{
  border:1px solid var(--line,rgba(255,255,255,.12));
  border-radius:16px;
  padding:12px;
  background:linear-gradient(135deg,rgba(0,194,199,.10),rgba(41,224,169,.05));
  min-width:0;
}
.manual-update-summary small,.manual-update-summary span{display:block;color:var(--muted,#9aa7b6);font-size:.82rem;}
.manual-update-summary b{display:block;margin:4px 0;font-size:1.05rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.manual-update-tabs{margin:14px 0;}
.manual-update-upload .device-update-upload-form{margin-bottom:14px;}
.manual-firmware-table code,.manual-update-log-table code{font-size:.78rem;}
.manual-fw-row.current{background:rgba(41,224,169,.06);}
.manual-log-row.ok{background:rgba(41,224,169,.045);}
.manual-log-row.warn{background:rgba(255,193,7,.045);}
.manual-log-row.bad{background:rgba(255,82,82,.055);}
.manual-log-row.info{background:rgba(0,194,199,.045);}
@media (max-width:900px){
  .manual-update-page .manual-update-hero{grid-template-columns:1fr;}
  .manual-update-summary{grid-template-columns:1fr;}
}

/* WEB30.1.472_MANUAL_FIRMWARE_UPLOAD_UI_ACTIONS */
.manual-firmware-uploader{
  gap:14px;
}
.manual-upload-file-card{
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(220px,360px);
  gap:12px;
  align-items:stretch;
}
.manual-upload-file-card label{
  border:1px dashed rgba(92,225,230,.34);
  background:linear-gradient(135deg,rgba(92,225,230,.075),rgba(255,255,255,.025));
}
.manual-upload-file-card input[type="file"]{
  padding:10px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.18);
}
.manual-upload-selected{
  border:1px solid rgba(41,224,169,.24);
  border-radius:14px;
  padding:12px;
  background:rgba(41,224,169,.055);
  color:var(--text,#f7fbff);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  min-height:70px;
  overflow:hidden;
  text-overflow:ellipsis;
}
.manual-upload-progress{
  margin-top:2px;
}
.manual-firmware-list-head{
  margin:16px 0 10px;
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.manual-firmware-list-head h3{margin:0 0 4px;}
.manual-firmware-list-head p{margin:0;}
.manual-fw-actions{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
}
.manual-fw-actions .ghost-btn,
.manual-fw-actions .danger-btn{
  text-decoration:none;
  white-space:nowrap;
}
@media(max-width:760px){
  .manual-upload-file-card{grid-template-columns:1fr;}
  .manual-firmware-list-head{display:grid;}
  .manual-fw-actions{justify-content:flex-start;}
}

/* WEB30.1.473_MANUAL_UPDATE_LIVE_REFRESH */
.manual-update-live-toolbar{
  align-items:center;
  justify-content:space-between;
}
.manual-live-state{
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid color-mix(in srgb,var(--accent2,#5ce1e6) 28%,var(--line,rgba(255,255,255,.14)));
  border-radius:999px;
  background:color-mix(in srgb,var(--accent2,#5ce1e6) 8%,transparent);
  color:var(--muted,#9aa7b6);
  padding:7px 10px;
  font-size:.82rem;
  font-weight:800;
  white-space:nowrap;
}
.manual-live-state i{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--good,#29e0a9);
  box-shadow:0 0 0 0 color-mix(in srgb,var(--good,#29e0a9) 44%,transparent);
  animation:manualLivePulse 1.8s infinite;
}
@keyframes manualLivePulse{
  0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--good,#29e0a9) 42%,transparent)}
  70%{box-shadow:0 0 0 8px transparent}
  100%{box-shadow:0 0 0 0 transparent}
}
#manualFirmwareRows tr:first-child.manual-fw-row.current,
#manualUpdateLogRows tr:first-child.manual-log-row{
  box-shadow:inset 3px 0 0 color-mix(in srgb,var(--accent2,#5ce1e6) 70%,transparent);
}
@media(max-width:760px){
  .manual-update-live-toolbar{display:grid;justify-content:stretch;}
  .manual-live-state{justify-content:center;white-space:normal;text-align:center;}
}

/* WEB30.1.474 manual update storage diagnostics */
.manual-storage-health{margin:10px 0 14px;padding:12px 14px;border-radius:16px;border:1px solid rgba(90,170,255,.28);background:rgba(5,18,28,.52);display:grid;grid-template-columns:auto auto 1fr;gap:8px 14px;align-items:center}
.manual-storage-health b{color:#eaf6ff}.manual-storage-health span{justify-self:start;padding:3px 10px;border-radius:999px;font-weight:800;font-size:.82rem}.manual-storage-health.ok span{background:rgba(35,210,120,.14);color:#55f0a1;border:1px solid rgba(35,210,120,.35)}.manual-storage-health.bad span{background:rgba(255,82,82,.15);color:#ff9d9d;border:1px solid rgba(255,82,82,.35)}
.manual-storage-health small{color:var(--muted);}.manual-storage-health code{grid-column:1/-1;white-space:normal;word-break:break-all;color:#9ed2ff;background:rgba(255,255,255,.04);border-radius:10px;padding:6px 8px}.manual-fw-row.bad td{background:rgba(255,70,70,.045)}.bad-text{color:#ff9d9d!important;font-weight:700}

/* WEB30.1.476 Device Update firmware library stage 2 */
.manual-auto-toggle{display:inline-flex;gap:8px;align-items:center;font-weight:800;color:var(--text,#eaf6ff)}
.manual-auto-toggle input{width:16px;height:16px;accent-color:#5eead4}
.manual-fw-row.auto-enabled{box-shadow:inset 4px 0 0 rgba(94,234,212,.75)}
.manual-firmware-active-note{margin:10px 0 14px;padding:12px 14px;border:1px solid rgba(94,234,212,.28);border-radius:14px;background:rgba(94,234,212,.07);color:var(--text,#eaf6ff)}
.manual-upload-check{display:flex;gap:8px;align-items:center;min-height:44px;padding:10px 12px;border:1px dashed rgba(125,211,252,.32);border-radius:14px;background:rgba(125,211,252,.05)}
.manual-upload-check input{width:17px;height:17px;accent-color:#60a5fa}
.manual-firmware-metadata-box{margin:12px 0}
.manual-metadata-card{display:grid;grid-template-columns:minmax(220px,.6fr) 1.4fr;gap:16px;padding:14px;border:1px solid rgba(125,211,252,.25);border-radius:18px;background:rgba(15,23,42,.58)}
.manual-metadata-card h3{margin:4px 0 8px}.manual-metadata-card small{color:#7dd3fc;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.manual-metadata-card p{color:var(--muted,#9fb3c8)}
.manual-metadata-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.manual-metadata-grid span{display:flex;flex-direction:column;gap:4px;padding:10px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}.manual-metadata-grid b{color:#93c5fd}.manual-metadata-grid code{word-break:break-all;white-space:normal;font-size:.78rem}
.manual-log-filters{display:grid;grid-template-columns:minmax(160px,220px) minmax(160px,220px) 1fr auto auto;gap:10px;align-items:center;margin:12px 0}.manual-log-filters input,.manual-log-filters select{min-height:38px;border-radius:12px;border:1px solid rgba(125,211,252,.25);background:rgba(2,8,23,.52);color:var(--text,#eaf6ff);padding:8px 10px}
.manual-device-state-table{max-height:240px;margin-bottom:18px}.manual-device-state-table td small{color:var(--muted,#9fb3c8)}
.manual-test-flow{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:14px 0}.manual-test-flow article{padding:14px;border-radius:16px;border:1px solid rgba(96,165,250,.28);background:rgba(96,165,250,.07)}.manual-test-flow b{display:block;color:#bfdbfe;margin-bottom:6px}.manual-test-flow span{color:var(--muted,#9fb3c8);font-size:.9rem}
@media (max-width:800px){.manual-metadata-card{grid-template-columns:1fr}.manual-log-filters{grid-template-columns:1fr}.manual-fw-actions{display:flex;flex-wrap:wrap}}

/* WEB30.1.477 Device Update successful install reports */
.du-tab-install.active{box-shadow:inset 0 -3px 0 rgba(94,234,212,.9)}
.du-pane-title-install{border-color:rgba(94,234,212,.32);background:linear-gradient(135deg,rgba(94,234,212,.10),rgba(59,130,246,.06))}
.manual-install-report-card{margin:12px 0;padding:12px 14px;border:1px solid rgba(94,234,212,.28);border-radius:16px;background:rgba(13,148,136,.08);display:flex;justify-content:space-between;gap:12px;align-items:center}
.manual-install-report-card b{display:block;color:#dffef9}.manual-install-report-card small{display:block;color:var(--muted,#9fb3c8);margin-top:3px}.manual-install-report-card span{font-weight:800;color:#7dd3fc;font-size:.88rem}
.manual-install-table{max-height:520px}.manual-install-row.ok{box-shadow:inset 4px 0 0 rgba(34,197,94,.78)}.manual-install-row.warn{box-shadow:inset 4px 0 0 rgba(245,158,11,.82)}.manual-install-row.info{box-shadow:inset 4px 0 0 rgba(59,130,246,.75)}
.manual-version-flow{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.manual-version-flow em{font-style:normal;padding:3px 8px;border-radius:999px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);font-size:.86rem}.manual-version-flow b{color:#5eead4}
.manual-install-modal-backdrop{position:fixed;inset:0;z-index:9000;background:rgba(2,6,23,.72);backdrop-filter:blur(8px);display:grid;place-items:center;padding:18px}
.manual-install-modal{width:min(980px,96vw);max-height:90vh;overflow:auto;border:1px solid rgba(125,211,252,.28);box-shadow:0 24px 80px rgba(0,0,0,.46)}
.manual-install-modal-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.manual-install-modal-head small{color:#5eead4;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.manual-install-modal-head h3{margin:4px 0 6px}.manual-install-modal-head p{margin:0;color:var(--muted,#9fb3c8)}
.manual-install-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:12px 0 16px}.manual-install-detail-grid span{display:flex;flex-direction:column;gap:4px;padding:11px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.045)}.manual-install-detail-grid b{color:#93c5fd}.manual-install-detail-grid small{color:var(--muted,#9fb3c8)}.manual-install-detail-grid code{word-break:break-all;white-space:normal;font-size:.78rem}
.manual-install-raw{margin-top:12px;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:10px;background:rgba(2,6,23,.4)}.manual-install-raw pre{white-space:pre-wrap;word-break:break-word;max-height:240px;overflow:auto;font-size:.78rem;color:#c7d2fe}
@media(max-width:800px){.manual-install-report-card{display:grid}.manual-install-modal-backdrop{padding:8px}.manual-install-table table{min-width:860px}}

/* WEB30.1.487 - Device Update profile guard / install rules */
.manual-install-policy-card{
  margin:14px 0;
  border:1px solid rgba(96,165,250,.24);
  background:linear-gradient(135deg,rgba(15,23,42,.92),rgba(15,23,42,.72));
}
.manual-policy-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:12px 0;
}
.manual-policy-switch{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:10px 12px;
  border:1px solid rgba(148,163,184,.22);
  border-radius:14px;
  background:rgba(15,23,42,.48);
}
.manual-policy-switch input{margin-top:3px;accent-color:#38bdf8;}
.manual-policy-switch b{display:block;color:var(--text,#e5f4ff);font-size:.88rem;}
.manual-policy-switch small{display:block;color:var(--muted,#93a4b8);line-height:1.45;margin-top:3px;}
@media(max-width:980px){.manual-policy-grid{grid-template-columns:1fr;}}

/* WEB30.1.488 - Device Update compact operator cleanup */
.manual-update-page .panel.pad{
  padding:12px;
}
.manual-update-page .manual-update-hero{
  gap:10px;
  margin-bottom:10px;
}
.manual-update-hero h2{
  margin:2px 0 4px;
  font-size:1.18rem;
}
.manual-update-hero p,
.du-pane-title p,
.manual-firmware-list-head p{
  display:none;
}
.manual-update-summary{
  gap:7px;
}
.manual-update-summary article{
  padding:8px 10px;
  border-radius:12px;
}
.manual-update-summary small,
.manual-update-summary span{
  font-size:.74rem;
}
.manual-update-summary b{
  margin:2px 0;
  font-size:.95rem;
}
.manual-update-tabs{
  margin:8px 0 10px;
  gap:7px;
}
.manual-update-tabs .du-tab,
.device-update-tabs.manual-update-tabs .du-tab{
  padding:8px 10px;
  min-height:42px;
  border-radius:13px;
  gap:8px;
}
.manual-update-tabs .du-tab-icon{
  width:28px;
  height:28px;
  border-radius:10px;
  font-size:.92rem;
}
.manual-update-tabs .du-tab b{
  font-size:.86rem;
}
.manual-update-tabs .du-tab small{
  display:none!important;
}
.manual-update-page .du-pane-title{
  gap:8px;
  margin-bottom:8px;
}
.manual-update-page .du-pane-title h3{
  margin:0;
  font-size:1rem;
}
.manual-update-page .du-pane-title>span:first-child{
  width:30px;
  height:30px;
  border-radius:10px;
  display:grid;
  place-items:center;
}
.manual-install-policy-card{
  margin:8px 0 10px;
}
.manual-policy-grid{
  gap:6px;
  margin:8px 0;
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.manual-policy-switch{
  padding:7px 8px;
  border-radius:11px;
  gap:7px;
}
.manual-policy-switch b{
  font-size:.8rem;
}
.manual-policy-switch small{
  display:none;
}
.manual-firmware-active-note,
.manual-install-report-card,
.manual-storage-health{
  margin:8px 0 10px;
  padding:8px 10px;
  border-radius:11px;
}
.manual-firmware-uploader{
  gap:8px;
}
.manual-upload-file-card{
  gap:8px;
}
.manual-upload-selected{
  min-height:48px;
  padding:8px;
  border-radius:11px;
}
.manual-firmware-list-head{
  margin:10px 0 6px;
  align-items:center;
}
.manual-firmware-list-head h3{
  margin:0;
  font-size:1rem;
}
.manual-firmware-table table,
.manual-update-log-table table,
.manual-install-table table,
.manual-device-state-table table{
  font-size:.86rem;
}
.manual-firmware-table th,
.manual-firmware-table td,
.manual-update-log-table th,
.manual-update-log-table td,
.manual-install-table th,
.manual-install-table td,
.manual-device-state-table th,
.manual-device-state-table td{
  padding:7px 8px;
}
.manual-metadata-card{
  grid-template-columns:minmax(180px,.52fr) 1.48fr;
  gap:10px;
  padding:10px;
  border-radius:13px;
}
.manual-metadata-grid{
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:7px;
}
.manual-metadata-grid span{
  padding:7px 8px;
  border-radius:10px;
}
.manual-log-filters{
  gap:7px;
  margin:8px 0 10px;
  grid-template-columns:minmax(140px,200px) minmax(140px,200px) 1fr auto auto;
}
.manual-log-filters input,
.manual-log-filters select{
  min-height:32px;
  padding:6px 8px;
  border-radius:10px;
}
.manual-live-state{
  padding:5px 8px;
  font-size:.76rem;
}
.manual-test-flow{
  gap:8px;
  margin:8px 0 10px;
}
.manual-test-flow article{
  padding:9px 10px;
  border-radius:12px;
}
.manual-test-flow b{
  margin-bottom:3px;
  font-size:.88rem;
}
.manual-test-flow span{
  font-size:.8rem;
}
@media(max-width:980px){
  .manual-policy-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:620px){
  .manual-policy-grid{grid-template-columns:1fr;}
}

/* WEB30.1.489 - Device Update final compact cleanup */
.manual-update-page-clean{
  gap:8px;
}
.manual-update-page-clean .manual-update-tabs{
  margin:0 0 8px;
}
.manual-update-page-clean .device-update-body{
  margin-top:0;
}
.manual-update-page-clean .device-update-panel{
  padding-top:12px;
}
.manual-update-page-clean .du-pane-title{
  align-items:center;
  padding:8px 10px;
  margin-bottom:8px;
  overflow:hidden;
}
.manual-update-page-clean .du-pane-title > span:not(.device-update-stage-badge):first-child{
  width:30px;
  height:30px;
  min-width:30px;
  border-radius:10px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
}
.manual-update-page-clean .du-pane-title .device-update-stage-badge{
  width:auto;
  height:auto;
  min-width:0;
  margin-left:auto;
  padding:4px 8px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  flex:0 0 auto;
  font-size:.72rem;
  line-height:1;
  text-transform:none;
  white-space:nowrap;
  background:rgba(92,225,230,.075);
  color:var(--text,#e5f4ff);
  overflow:visible;
}
.manual-update-page-clean .du-pane-title .device-update-stage-badge i{
  width:7px;
  height:7px;
  flex:0 0 auto;
}
.manual-update-page-clean .du-pane-title h3{
  margin:0;
  line-height:1.15;
}
.manual-update-page-clean .manual-install-report-card{
  display:none;
}
@media(max-width:780px){
  .manual-update-page-clean .du-pane-title{
    flex-direction:row;
    align-items:center;
  }
  .manual-update-page-clean .du-pane-title .device-update-stage-badge{
    margin-left:auto;
  }
}

/* WEB30.1.490 module-based firmware release selection */
.manual-release-groups{
  margin:10px 0 14px;
  display:grid;
  grid-template-columns:minmax(210px,.8fr) repeat(auto-fit,minmax(210px,1fr));
  gap:10px;
  align-items:stretch;
}
.manual-release-groups>div,
.manual-release-groups>article{
  border:1px solid rgba(94,234,212,.22);
  border-radius:14px;
  background:rgba(94,234,212,.055);
  padding:10px 12px;
  min-width:0;
}
.manual-release-groups b,
.manual-release-groups small,
.manual-release-groups span,
.manual-release-groups em{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.manual-release-groups>div b{color:#eafffb}.manual-release-groups>div span{color:var(--muted,#9fb3c8);font-size:.86rem;margin-top:3px}
.manual-release-groups article small{color:#7dd3fc;font-weight:900;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em}
.manual-release-groups article b{margin-top:3px;color:#f8fbff;font-size:1rem}.manual-release-groups article span{color:var(--muted,#9fb3c8);font-size:.84rem;margin-top:2px}
.manual-release-groups article em{font-style:normal;margin-top:6px;width:max-content;max-width:100%;padding:3px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.12);font-size:.76rem;font-weight:900;color:var(--muted,#9fb3c8);background:rgba(255,255,255,.045)}
.manual-release-groups article em.ok{color:#5eead4;border-color:rgba(94,234,212,.35);background:rgba(94,234,212,.08)}
.manual-release-groups.empty{grid-template-columns:1fr}.manual-release-groups.empty span{color:var(--muted,#9fb3c8)}
@media(max-width:780px){.manual-release-groups{grid-template-columns:1fr}}

/* WEB30.1.491 - Firmware library version sort and module visual lanes */
.manual-firmware-table th:first-child::after{
  content:' ↓';
  color:var(--accent,#5eead4);
  font-size:.82em;
  opacity:.9;
}
.manual-fw-row{
  --module-accent:rgba(125,211,252,.75);
  --module-soft:rgba(125,211,252,.055);
}
.manual-fw-row td:first-child{
  border-left:4px solid var(--module-accent);
}
.manual-fw-row.module-n8r2{
  --module-accent:#60a5fa;
  --module-soft:rgba(96,165,250,.07);
}
.manual-fw-row.module-n16r8{
  --module-accent:#5eead4;
  --module-soft:rgba(94,234,212,.07);
}
.manual-fw-row.module-other{
  --module-accent:#c084fc;
  --module-soft:rgba(192,132,252,.07);
}
.manual-fw-row.module-n8r2 td,
.manual-fw-row.module-n16r8 td,
.manual-fw-row.module-other td{
  background-image:linear-gradient(90deg,var(--module-soft),transparent 38%);
}
.manual-fw-row.current td{
  background-image:linear-gradient(90deg,color-mix(in srgb,var(--module-accent) 16%,transparent),transparent 45%);
}
.manual-module-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-width:0;
  max-width:100%;
  padding:3px 8px;
  border-radius:999px;
  border:1px solid color-mix(in srgb,var(--module-accent) 45%,var(--line));
  background:color-mix(in srgb,var(--module-accent) 12%,transparent);
  color:var(--text,#eaf6ff);
  font-weight:950;
  letter-spacing:.02em;
  white-space:nowrap;
}
.manual-module-badge:before{
  content:'';
  width:7px;
  height:7px;
  border-radius:50%;
  flex:0 0 auto;
  background:var(--module-accent);
  box-shadow:0 0 10px var(--module-accent);
}
.manual-module-badge.module-n8r2{--module-accent:#60a5fa;}
.manual-module-badge.module-n16r8{--module-accent:#5eead4;}
.manual-module-badge.module-other{--module-accent:#c084fc;}
.manual-release-groups>article{
  --module-accent:#7dd3fc;
  border-color:color-mix(in srgb,var(--module-accent) 35%,rgba(255,255,255,.12));
  background:linear-gradient(135deg,color-mix(in srgb,var(--module-accent) 14%,transparent),rgba(255,255,255,.025));
  box-shadow:inset 4px 0 0 var(--module-accent);
}
.manual-release-groups>article.module-n8r2{--module-accent:#60a5fa;}
.manual-release-groups>article.module-n16r8{--module-accent:#5eead4;}
.manual-release-groups>article.module-other{--module-accent:#c084fc;}
.manual-release-groups>article small{
  color:var(--module-accent);
}

/* WEB30.1.492_DEVICE_SETTINGS_MENU_BASE */
.device-settings-page{display:flex;flex-direction:column;gap:16px}.device-settings-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;overflow:hidden;position:relative}.device-settings-hero:before{content:"";position:absolute;inset:-80px auto auto -60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(59,130,246,.22),transparent 68%);pointer-events:none}.device-settings-hero .eyebrow{display:inline-flex;padding:4px 10px;border-radius:999px;background:rgba(59,130,246,.12);color:var(--accent,#38bdf8);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.device-settings-hero h2{margin:8px 0 4px}.ds-stats{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;min-width:520px}.ds-stat{display:flex;align-items:center;gap:10px;padding:12px;border-radius:16px;background:rgba(15,23,42,.05);border:1px solid rgba(148,163,184,.22)}.ds-stat span{width:14px;height:14px;border-radius:999px;background:#94a3b8;box-shadow:0 0 18px currentColor}.ds-stat b{display:block;font-size:22px}.ds-stat small{display:block;color:var(--muted,#64748b)}.ds-stat.pending span{background:#f59e0b}.ds-stat.synced span{background:#22c55e}.ds-stat.unknown span{background:#64748b}.ds-stat.total span{background:#38bdf8}.device-settings-layout{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:16px;align-items:start}.device-settings-main{display:flex;flex-direction:column;gap:14px}.device-settings-list{position:sticky;top:76px;display:flex;flex-direction:column;gap:12px}.ds-list-head,.ds-card-head,.ds-sync-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ds-list-head h3,.ds-card-head h3,.ds-sync-head h3{margin:0}.ds-device-select{display:flex;flex-direction:column;gap:6px}.ds-device-list-mini{display:flex;flex-direction:column;gap:8px;max-height:560px;overflow:auto;padding-right:4px}.ds-device-row{display:grid;grid-template-columns:14px minmax(0,1fr) auto;grid-template-areas:"dot name status" "dot id status";gap:2px 8px;text-align:left;align-items:center;padding:10px;border-radius:14px;border:1px solid rgba(148,163,184,.18);background:rgba(15,23,42,.035);cursor:pointer}.ds-device-row:hover,.ds-device-row.selected{border-color:rgba(59,130,246,.55);background:rgba(59,130,246,.08)}.ds-device-row i{grid-area:dot;width:10px;height:10px;border-radius:999px;background:#94a3b8}.ds-device-row i.synced{background:#22c55e}.ds-device-row i.pending{background:#f59e0b}.ds-device-row i.failed{background:#ef4444}.ds-device-row b{grid-area:name;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ds-device-row small{grid-area:id;color:var(--muted,#64748b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ds-device-row em{grid-area:status;font-style:normal;font-size:12px;padding:4px 8px;border-radius:999px;background:rgba(148,163,184,.12)}.device-settings-sync{border-top:4px solid #94a3b8}.device-settings-sync.ds-status-synced{border-top-color:#22c55e}.device-settings-sync.ds-status-pending{border-top-color:#f59e0b}.device-settings-sync.ds-status-failed{border-top-color:#ef4444}.ds-sync-head b{padding:8px 12px;border-radius:999px;background:rgba(148,163,184,.14)}.ds-status-synced .ds-sync-head b{background:rgba(34,197,94,.13);color:#16a34a}.ds-status-pending .ds-sync-head b{background:rgba(245,158,11,.15);color:#b45309}.ds-status-failed .ds-sync-head b{background:rgba(239,68,68,.14);color:#dc2626}.ds-kv{margin-top:12px}.device-settings-editor-card{display:flex;flex-direction:column;gap:14px}.ds-general-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px}.ds-general-grid label:not(.ds-check){display:flex;flex-direction:column;gap:6px}.ds-check{display:flex;align-items:center;gap:10px;padding:12px;border-radius:14px;background:rgba(15,23,42,.04);border:1px solid rgba(148,163,184,.18);font-weight:700}.ds-check input{width:18px;height:18px}.ds-sensor-table{display:flex;flex-direction:column;gap:8px}.ds-sensor-head,.ds-sensor-row{display:grid;grid-template-columns:minmax(200px,1.3fr) 92px minmax(110px,.7fr) 82px minmax(100px,.7fr);gap:10px;align-items:center}.ds-sensor-head{font-size:12px;color:var(--muted,#64748b);font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:0 8px}.ds-sensor-row{padding:10px;border-radius:16px;background:rgba(15,23,42,.035);border:1px solid rgba(148,163,184,.16)}.ds-sensor-name{display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-areas:"ico name" "ico key";gap:1px 10px}.ds-sensor-name i{grid-area:ico;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:12px;background:rgba(59,130,246,.12);font-style:normal;font-weight:900}.ds-sensor-name b{grid-area:name}.ds-sensor-name small{grid-area:key;color:var(--muted,#64748b)}.ds-mini-check{display:flex;justify-content:center}.ds-mini-check input{display:none}.ds-mini-check span{width:42px;height:24px;border-radius:999px;background:#94a3b8;position:relative;display:inline-flex;transition:.18s ease}.ds-mini-check span:before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:white;transition:.18s ease}.ds-mini-check input:checked+span{background:#22c55e}.ds-mini-check input:checked+span:before{transform:translateX(18px)}.ds-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.device-settings-logs table td{vertical-align:top}.ds-log-status{display:inline-flex;padding:4px 8px;border-radius:999px;background:rgba(148,163,184,.14)}.ds-log-status.pending{background:rgba(245,158,11,.15);color:#b45309}.ds-log-status.synced{background:rgba(34,197,94,.13);color:#16a34a}.ds-log-status.failed{background:rgba(239,68,68,.14);color:#dc2626}.ds-empty{padding:16px;border-radius:14px;background:rgba(148,163,184,.08);color:var(--muted,#64748b)}
@media (max-width:1100px){.device-settings-hero{align-items:flex-start;flex-direction:column}.ds-stats{grid-template-columns:repeat(2,minmax(120px,1fr));min-width:0;width:100%}.device-settings-layout{grid-template-columns:1fr}.device-settings-list{position:static}.ds-general-grid{grid-template-columns:1fr 1fr}.ds-sensor-head{display:none}.ds-sensor-row{grid-template-columns:1fr 90px;grid-template-areas:"name name" "enabled sample" "send sendint"}.ds-sensor-name{grid-area:name}.ds-sensor-row [data-ds-sensor-enabled]{grid-area:enabled}.ds-sensor-row [data-ds-sensor-sample]{grid-area:sample}.ds-sensor-row [data-ds-sensor-send]{grid-area:send}.ds-sensor-row [data-ds-sensor-send-interval]{grid-area:sendint}}@media (max-width:720px){.ds-stats,.ds-general-grid{grid-template-columns:1fr}.ds-sensor-row{grid-template-columns:1fr}.ds-mini-check{justify-content:flex-start}.device-settings-hero{padding:14px}.ds-sync-head,.ds-list-head,.ds-card-head{flex-direction:column}}


/* WEB30.1.493_DEVICE_SETTINGS_READABILITY_FIX */
.device-settings-page{--ds-text-strong:var(--text,#edf5ff);--ds-text-soft:color-mix(in srgb,var(--text,#edf5ff) 76%,var(--muted,#9eafbd));--ds-text-muted:color-mix(in srgb,var(--text,#edf5ff) 62%,var(--muted,#9eafbd));}
.device-settings-page .muted,.device-settings-page .ds-list-head span,.device-settings-page .ds-card-head span,.device-settings-page .ds-sync-head span{opacity:1;color:var(--ds-text-soft);font-weight:650;line-height:1.45;}
.device-settings-page h3,.device-settings-page label>span,.device-settings-page .ds-device-select>span{color:var(--ds-text-strong);font-weight:850;}
.ds-device-row{color:var(--ds-text-strong);min-height:64px;padding:12px 14px;border-color:color-mix(in srgb,var(--line,#2a3a47) 82%,var(--text,#edf5ff));background:linear-gradient(135deg,color-mix(in srgb,var(--panel2,#14232f) 82%,transparent),color-mix(in srgb,var(--panel,#101d27) 90%,transparent));}
.ds-device-row:hover,.ds-device-row.selected{border-color:color-mix(in srgb,var(--accent,#2388ff) 72%,var(--text,#edf5ff));background:linear-gradient(135deg,color-mix(in srgb,var(--accent,#2388ff) 18%,var(--panel2,#14232f)),color-mix(in srgb,var(--panel,#101d27) 92%,transparent));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent,#2388ff) 22%,transparent),0 10px 28px rgba(0,0,0,.16);}
.ds-device-row b{color:var(--ds-text-strong);font-size:1rem;font-weight:900;letter-spacing:.005em;line-height:1.24;}
.ds-device-row small{color:var(--ds-text-muted);font-size:.82rem;font-weight:700;letter-spacing:.015em;line-height:1.25;margin-top:2px;}
.ds-device-row i{width:12px;height:12px;box-shadow:0 0 12px currentColor;}
.ds-device-row em,.ds-status-pill{color:var(--ds-text-strong);font-size:.8rem;font-weight:900;letter-spacing:.01em;border:1px solid color-mix(in srgb,var(--line,#2a3a47) 78%,var(--text,#edf5ff));background:color-mix(in srgb,var(--panel2,#14232f) 88%,var(--text,#edf5ff));}
.ds-status-pill.pending,.ds-device-row.ds-status-pending em{color:color-mix(in srgb,var(--warn,#f59e0b) 86%,#fff);border-color:color-mix(in srgb,var(--warn,#f59e0b) 60%,var(--line,#2a3a47));background:color-mix(in srgb,var(--warn,#f59e0b) 20%,var(--panel2,#14232f));}
.ds-status-pill.synced,.ds-device-row.ds-status-synced em{color:color-mix(in srgb,var(--good,#22c55e) 82%,#fff);border-color:color-mix(in srgb,var(--good,#22c55e) 58%,var(--line,#2a3a47));background:color-mix(in srgb,var(--good,#22c55e) 18%,var(--panel2,#14232f));}
.ds-status-pill.failed,.ds-device-row.ds-status-failed em{color:color-mix(in srgb,var(--bad,#ef4444) 82%,#fff);border-color:color-mix(in srgb,var(--bad,#ef4444) 58%,var(--line,#2a3a47));background:color-mix(in srgb,var(--bad,#ef4444) 18%,var(--panel2,#14232f));}
.ds-status-pill.unknown,.ds-device-row.ds-status-unknown em{color:var(--ds-text-soft);background:color-mix(in srgb,var(--panel2,#14232f) 88%,var(--text,#edf5ff));}
.ds-stat small,.ds-sensor-head,.ds-sensor-name small,.ds-empty{color:var(--ds-text-muted);opacity:1;font-weight:700;}
.ds-sensor-name b{color:var(--ds-text-strong);font-weight:900;}
.ds-check{color:var(--ds-text-strong);background:color-mix(in srgb,var(--panel2,#14232f) 84%,transparent);}
.theme-light .device-settings-page{--ds-text-soft:color-mix(in srgb,var(--text,#0c1720) 72%,var(--muted,#52616e));--ds-text-muted:color-mix(in srgb,var(--text,#0c1720) 56%,var(--muted,#52616e));}
.theme-light .ds-device-row{background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--panel2,#edf3f8) 84%,#fff));}
.theme-light .ds-device-row:hover,.theme-light .ds-device-row.selected{background:linear-gradient(135deg,color-mix(in srgb,var(--accent,#2388ff) 12%,#fff),#fff);}
.theme-light .ds-status-pill.pending,.theme-light .ds-device-row.ds-status-pending em{color:#7a4b00;background:#fff4d4;border-color:#d99a22;}
.theme-light .ds-status-pill.synced,.theme-light .ds-device-row.ds-status-synced em{color:#116b36;background:#dcfce7;border-color:#22a95b;}
.theme-light .ds-status-pill.failed,.theme-light .ds-device-row.ds-status-failed em{color:#991b1b;background:#fee2e2;border-color:#ef4444;}
/* WEB30.1.495_DEVICE_SETTINGS_SNAPSHOT_REQUEST_BASE */
.device-settings-page .ds-source-card{border-inline-start:4px solid rgba(56,189,248,.72)}
.device-settings-page .ds-source-card .primary-btn{white-space:nowrap}
.device-settings-page .ds-source-card .ds-kv b{font-weight:850;color:var(--ds-text-strong)}
.device-settings-page .ds-status-pill.pending{background:rgba(245,158,11,.22);color:#fbbf24;border:1px solid rgba(245,158,11,.35)}
.theme-light .device-settings-page .ds-status-pill.pending{color:#92400e;background:rgba(245,158,11,.18)}
@media (max-width:720px){.device-settings-page .ds-source-card .primary-btn{width:100%}}

/* WEB30.1.498_DEVICE_SETTINGS_APPLY_REPORT_STATUS */
.device-settings-page .ds-compare-card{border-inline-start:4px solid color-mix(in srgb,var(--line,#2a3a47) 70%,var(--text,#edf5ff));}
.device-settings-page .ds-compare-card.has-diff{border-inline-start-color:rgba(245,158,11,.82);background:linear-gradient(135deg,rgba(245,158,11,.055),transparent 70%);}
.device-settings-page .ds-compare-card.no-diff{border-inline-start-color:rgba(34,197,94,.55);}
.device-settings-page .ds-compare-pill{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:7px 11px;border-radius:999px;font-size:.8rem;font-weight:900;border:1px solid color-mix(in srgb,var(--line,#2a3a47) 75%,var(--text,#edf5ff));background:color-mix(in srgb,var(--panel2,#14232f) 88%,transparent);color:var(--ds-text-strong);}
.device-settings-page .ds-compare-card.has-diff .ds-compare-pill{color:#fbbf24;background:rgba(245,158,11,.16);border-color:rgba(245,158,11,.35);}
.device-settings-page .ds-diff-list{display:flex;flex-direction:column;gap:7px;margin-top:2px;}
.device-settings-page .ds-diff-list div{display:grid;grid-template-columns:minmax(180px,1fr) minmax(110px,.8fr) 22px minmax(110px,.8fr);gap:8px;align-items:center;border:1px solid color-mix(in srgb,var(--line,#2a3a47) 78%,transparent);border-radius:13px;padding:8px 10px;background:color-mix(in srgb,var(--panel2,#14232f) 76%,transparent);}
.device-settings-page .ds-diff-list span{font-weight:850;color:var(--ds-text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.device-settings-page .ds-diff-list small{color:var(--ds-text-muted);font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.device-settings-page .ds-diff-list b{text-align:center;color:var(--accent,#38bdf8);}
.device-settings-page .ds-diff-list strong{color:#fbbf24;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.device-settings-page #dsSaveBtn:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.4);}
.theme-light .device-settings-page .ds-compare-card.has-diff{background:#fff8e8;}
.theme-light .device-settings-page .ds-compare-card.has-diff .ds-compare-pill{color:#92400e;background:#ffedd5;border-color:#f59e0b;}
.theme-light .device-settings-page .ds-diff-list div{background:#fff;border-color:#d7e0ea;}
.theme-light .device-settings-page .ds-diff-list strong{color:#92400e;}
@media (max-width:820px){.device-settings-page .ds-diff-list div{grid-template-columns:1fr;gap:4px}.device-settings-page .ds-diff-list b{text-align:start}}

/* WEB30.1.499 - Compact two-way Device Settings UI + animated sync indicators */
.device-settings-page .device-settings-status-card{position:relative;overflow:hidden;border-inline-start:4px solid color-mix(in srgb,var(--line) 70%,var(--text));background:linear-gradient(135deg,color-mix(in srgb,var(--panel2) 88%,transparent),color-mix(in srgb,var(--panel) 92%,transparent));}
.device-settings-page .device-settings-status-card:before{content:"";position:absolute;inset:-80px auto auto -70px;width:180px;height:180px;border-radius:999px;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 20%,transparent),transparent 68%);pointer-events:none;}
.device-settings-page .device-settings-status-card.ds-status-synced{border-inline-start-color:#22c55e}.device-settings-page .device-settings-status-card.ds-status-pending{border-inline-start-color:#f59e0b}.device-settings-page .device-settings-status-card.ds-status-failed{border-inline-start-color:#ef4444}
.device-settings-page .ds-status-top{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:10px}.device-settings-page .ds-status-top h3{margin:0}.device-settings-page .ds-status-top span{color:var(--ds-text-soft);font-weight:750;overflow-wrap:anywhere}.device-settings-page .ds-status-orb{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;font-weight:1000;border:1px solid rgba(148,163,184,.24);background:rgba(148,163,184,.12);color:var(--text);box-shadow:0 0 0 0 currentColor}.device-settings-page .ds-status-orb.synced{color:#22c55e;background:rgba(34,197,94,.14)}.device-settings-page .ds-status-orb.pending{color:#f59e0b;background:rgba(245,158,11,.15)}.device-settings-page .ds-status-orb.failed{color:#ef4444;background:rgba(239,68,68,.14)}.device-settings-page .ds-status-orb.spin{animation:ds-spin 1.25s linear infinite}.device-settings-page .ds-status-orb.pulse{animation:ds-pulse 1.35s ease-in-out infinite}.device-settings-page .ds-status-main-pill{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;border:1px solid rgba(148,163,184,.22);font-weight:950;white-space:nowrap}.device-settings-page .ds-status-main-pill.synced{color:#22c55e;background:rgba(34,197,94,.13)}.device-settings-page .ds-status-main-pill.pending{color:#fbbf24;background:rgba(245,158,11,.15)}.device-settings-page .ds-status-main-pill.failed{color:#f87171;background:rgba(239,68,68,.13)}
.device-settings-page .ds-status-actions{position:relative;display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0 10px;padding:8px;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:14px;background:color-mix(in srgb,var(--bg) 35%,transparent)}.device-settings-page .ds-status-actions .compact{padding:7px 10px;border-radius:10px;font-size:.82rem}.device-settings-page .ds-status-actions .form-message{margin-inline-start:auto;min-width:180px;color:var(--ds-text-soft);font-weight:750}.device-settings-page .ds-status-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.device-settings-page .ds-status-metrics article{border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:14px;padding:9px 10px;background:color-mix(in srgb,var(--panel) 80%,transparent);min-width:0}.device-settings-page .ds-status-metrics span,.device-settings-page .ds-status-metrics small{display:block;color:var(--ds-text-soft);font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.device-settings-page .ds-status-metrics b{display:block;color:var(--ds-text-strong);font-size:.98rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.device-settings-page .ds-diff-strip{display:flex;flex-direction:column;gap:6px;margin-top:10px}.device-settings-page .ds-diff-strip div{display:grid;grid-template-columns:minmax(190px,1fr) minmax(90px,.6fr) 18px minmax(90px,.6fr);gap:7px;align-items:center;border:1px solid rgba(245,158,11,.18);border-radius:12px;padding:7px 9px;background:rgba(245,158,11,.055)}.device-settings-page .ds-diff-strip span{font-weight:850;color:var(--ds-text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-settings-page .ds-diff-strip small{color:var(--ds-text-muted);font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-settings-page .ds-diff-strip b{text-align:center;color:#f87171}.device-settings-page .ds-diff-strip strong{color:#fbbf24;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-settings-page .device-settings-editor-card.compact{gap:10px}.device-settings-page .ds-general-grid-compact{grid-template-columns:repeat(5,minmax(130px,1fr));gap:8px}.device-settings-page .ds-general-grid-compact label:not(.ds-check),.device-settings-page .ds-sensor-row select{min-width:0}.device-settings-page .ds-general-grid-compact .ds-check{padding:9px 10px}.device-settings-page .ds-sensor-table-compact{gap:6px}.device-settings-page .ds-sensor-table-compact .ds-sensor-row{padding:8px 10px;grid-template-columns:minmax(190px,1.25fr) 82px minmax(105px,.65fr) 70px minmax(120px,.7fr)}.device-settings-page .ds-sensor-table-compact .ds-sensor-name i{width:30px;height:30px;border-radius:10px}.device-settings-page .ds-sensor-table-compact .ds-sensor-name{grid-template-columns:34px minmax(0,1fr)}
@keyframes ds-spin{to{transform:rotate(360deg)}}@keyframes ds-pulse{0%,100%{box-shadow:0 0 0 0 currentColor;transform:scale(1)}50%{box-shadow:0 0 0 7px color-mix(in srgb,currentColor 12%,transparent);transform:scale(1.04)}}
.theme-light .device-settings-page .device-settings-status-card{background:linear-gradient(135deg,#fff,#f7fbff)}.theme-light .device-settings-page .ds-status-actions{background:#f8fbff}.theme-light .device-settings-page .ds-status-metrics article{background:#fff}.theme-light .device-settings-page .ds-diff-strip div{background:#fff8e8;border-color:#f6d089}.theme-light .device-settings-page .ds-diff-strip strong{color:#92400e}
@media(max-width:1180px){.device-settings-page .ds-general-grid-compact,.device-settings-page .ds-status-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.device-settings-page .ds-status-top{grid-template-columns:42px minmax(0,1fr)}}@media(max-width:760px){.device-settings-page .ds-status-top,.device-settings-page .ds-status-metrics,.device-settings-page .ds-general-grid-compact,.device-settings-page .ds-diff-strip div{grid-template-columns:1fr}.device-settings-page .ds-status-actions{display:grid}.device-settings-page .ds-status-actions .form-message{margin:0}.device-settings-page .ds-status-main-pill{justify-content:flex-start}.device-settings-page .ds-sensor-table-compact .ds-sensor-row{grid-template-columns:1fr}}

/* WEB30.1.500 Device Settings: partial status refresh + DB log controls */
.device-settings-page .ds-logs-head{align-items:center;gap:12px;flex-wrap:wrap}
.device-settings-page .ds-log-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-inline-start:auto;padding:7px;border:1px solid color-mix(in srgb,var(--line,#2a3a47) 78%,transparent);border-radius:14px;background:color-mix(in srgb,var(--bg,#07111c) 35%,transparent)}
.device-settings-page .ds-log-controls label{display:flex;align-items:center;gap:7px;font-size:.82rem;font-weight:850;color:var(--ds-text-soft,var(--muted,#9fb7d1))}
.device-settings-page .ds-log-controls input{width:74px;min-width:74px;padding:7px 8px;border-radius:10px;text-align:center;font-weight:900}
.device-settings-page .ds-log-controls .compact{padding:7px 9px;border-radius:10px;font-size:.8rem;white-space:nowrap}
.device-settings-page .ds-log-controls .danger{border-color:color-mix(in srgb,var(--bad,#ef4444) 50%,var(--line,#2a3a47));color:color-mix(in srgb,var(--bad,#ef4444) 80%,#fff)}
.device-settings-page .ds-log-controls small{font-size:.75rem;color:var(--ds-text-muted,var(--muted,#8da2b8));font-weight:800;white-space:nowrap}
.device-settings-page #dsUnifiedStatusCard,.device-settings-page #dsSettingsHistoryCard{transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease}
.theme-light .device-settings-page .ds-log-controls{background:#f8fbff;border-color:#dbe7f3}.theme-light .device-settings-page .ds-log-controls .danger{color:#b91c1c;border-color:#fecaca}
@media(max-width:760px){.device-settings-page .ds-log-controls{justify-content:flex-start;width:100%;margin-inline-start:0}.device-settings-page .ds-log-controls label{width:100%;justify-content:space-between}.device-settings-page .ds-log-controls input{width:110px}}

/* WEB30_1_506 Device list plain fast rebuild: lightweight operational UI only. */
.dc-lite-page,.dc-lite-page *{animation:none!important;transition:none!important;filter:none!important;backdrop-filter:none!important;box-shadow:none!important;text-shadow:none!important;}
.dc-lite-page{display:block;margin:0;padding:0;contain:layout style;}
.dc-lite-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--panel);}
.dc-lite-head h2{margin:0;font-size:18px;line-height:1.2;}
.dc-lite-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:0 0 8px;}
.dc-lite-stats span{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:32px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);font-size:12px;color:var(--muted);}
.dc-lite-stats b{font-size:16px;color:var(--text);font-variant-numeric:tabular-nums;}
.dc-lite-stats .online{border-inline-start:3px solid var(--good)}.dc-lite-stats .offline{border-inline-start:3px solid var(--bad)}.dc-lite-stats .pending{border-inline-start:3px solid var(--warn)}.dc-lite-stats .disabled{border-inline-start:3px solid var(--muted)}
.dc-lite-controls{display:grid;grid-template-columns:minmax(180px,1fr) 160px;gap:8px;margin:0 0 8px;}
.dc-lite-tabs{display:flex;gap:5px;overflow:auto;margin:0 0 8px;padding:0;border-bottom:1px solid var(--line);}
.dc-lite-tab{border:1px solid var(--line);border-bottom:0;border-radius:8px 8px 0 0;background:var(--panel2);color:var(--muted);padding:7px 10px;font-size:12px;cursor:pointer;white-space:nowrap;}
.dc-lite-tab.active{background:var(--panel);color:var(--text);border-color:var(--accent);}
.dc-lite-panel{display:grid;gap:7px;}
.dc-lite-card{border:1px solid var(--line);border-inline-start:4px solid var(--muted);border-radius:10px;background:var(--panel);padding:8px 10px;}
.dc-lite-card.online{border-inline-start-color:var(--good)}.dc-lite-card.offline,.dc-lite-card.rejected{border-inline-start-color:var(--bad)}.dc-lite-card.pending{border-inline-start-color:var(--warn)}.dc-lite-card.disabled{opacity:.75;}
.dc-lite-card header{display:grid;grid-template-columns:auto minmax(120px,1fr) minmax(90px,auto) auto;align-items:center;gap:8px;margin-bottom:6px;}
.dc-lite-dot{width:9px;height:9px;border-radius:99px;background:var(--muted);display:inline-block}.dc-lite-card.online .dc-lite-dot{background:var(--good)}.dc-lite-card.offline .dc-lite-dot,.dc-lite-card.rejected .dc-lite-dot{background:var(--bad)}.dc-lite-card.pending .dc-lite-dot{background:var(--warn)}
.dc-lite-card strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dc-lite-card code{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:transparent;padding:0}.dc-lite-card em,.dc-lite-badge{font-style:normal;font-size:11px;border:1px solid var(--line);border-radius:999px;padding:2px 7px;color:var(--muted)}
.dc-lite-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;}
.dc-lite-grid span{display:block;min-width:0;padding:5px 6px;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:7px;background:color-mix(in srgb,var(--panel2) 70%,transparent);}
.dc-lite-grid small{display:block;color:var(--muted);font-size:10px;margin-bottom:2px}.dc-lite-grid b{display:block;font-size:12px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dc-lite-card footer,.dc-lite-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px;}
.dc-lite-select-row{display:flex;align-items:end;gap:8px;margin-bottom:8px}.dc-lite-select-row label{flex:1}.dc-lite-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.dc-lite-danger{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:8px;align-items:end;margin-top:10px;padding-top:8px;border-top:1px solid var(--line)}
.dc-lite-table{overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.dc-lite-table table{width:100%;border-collapse:collapse}.dc-lite-table th,.dc-lite-table td{padding:7px 8px;border-bottom:1px solid var(--line);text-align:start;vertical-align:middle}.dc-lite-table th{font-size:11px;color:var(--muted);font-weight:800;background:var(--panel2)}.dc-lite-table small{display:block;color:var(--muted);font-size:10px}.dc-lite-empty{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--muted)}
@media(max-width:980px){.dc-lite-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dc-lite-controls,.dc-lite-form,.dc-lite-danger{grid-template-columns:1fr}.dc-lite-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dc-lite-card header{grid-template-columns:auto minmax(0,1fr) auto}.dc-lite-card code{grid-column:2/4}}

/* WEB30_1_508 Device list industrial semantic polish: keep V1.506 speed, add only low-cost operational cues. */
.dc-lite-page{--dc-ok:#2fb36d;--dc-warn:#d39a22;--dc-bad:#d45151;--dc-neutral:#7b8794;--dc-line:var(--line);}
.dc-lite-head{border-radius:8px;padding:7px 9px;background:var(--panel);border-inline-start:4px solid var(--accent)}
.dc-lite-stats span{border-radius:7px;background:var(--panel);border-color:var(--dc-line);padding:5px 8px;min-height:30px}.dc-lite-stats b{font-size:15px}.dc-lite-stats .online{border-inline-start-color:var(--dc-ok)}.dc-lite-stats .offline{border-inline-start-color:var(--dc-bad)}.dc-lite-stats .pending{border-inline-start-color:var(--dc-warn)}.dc-lite-stats .disabled{border-inline-start-color:var(--dc-neutral)}
.dc-lite-tabs{gap:4px}.dc-lite-tab{display:inline-flex;align-items:center;gap:7px;border-radius:7px 7px 0 0;padding:6px 9px;background:var(--panel2);font-weight:700}.dc-lite-tab:before{content:attr(data-dc-lite-code);display:inline-block;min-width:18px;padding:1px 3px;border:1px solid var(--dc-line);border-radius:4px;font-size:10px;line-height:1.25;text-align:center;color:var(--muted);background:var(--panel)}.dc-lite-tab.active:before{border-color:var(--accent);color:var(--text)}
.dc-lite-card{position:relative;border-radius:9px;padding:8px 9px;background:var(--panel);border-color:var(--dc-line);border-inline-start-width:0}.dc-lite-card.online{--dc-state:var(--dc-ok)}.dc-lite-card.offline,.dc-lite-card.rejected{--dc-state:var(--dc-bad)}.dc-lite-card.pending{--dc-state:var(--dc-warn)}.dc-lite-card.disabled{--dc-state:var(--dc-neutral);opacity:.82}.dc-lite-card{border-top:3px solid var(--dc-state,var(--dc-neutral))}
.dc-lite-card header{display:grid;grid-template-columns:4px minmax(160px,1fr) auto;gap:8px;align-items:center;margin:0 0 7px}.dc-lite-state-rail{width:4px;align-self:stretch;border-radius:4px;background:var(--dc-state,var(--dc-neutral))}.dc-lite-title{min-width:0}.dc-lite-title strong{display:block;font-size:14px;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dc-lite-title code{display:block;margin-top:2px;font-size:11px;color:var(--muted);background:transparent;padding:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dc-lite-chipline{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px;min-width:0}.dc-lite-chip,.dc-lite-badge{display:inline-flex;align-items:center;border-radius:999px;padding:2px 7px;border:1px solid var(--dc-line);font-style:normal;font-size:11px;font-weight:700;line-height:1.35;background:transparent;color:var(--muted);white-space:nowrap}.dc-lite-chip.tone-ok,.dc-lite-badge.online,.dc-lite-badge.active{border-color:color-mix(in srgb,var(--dc-ok) 55%,var(--dc-line));color:var(--dc-ok)}.dc-lite-chip.tone-warn,.dc-lite-badge.pending{border-color:color-mix(in srgb,var(--dc-warn) 55%,var(--dc-line));color:var(--dc-warn)}.dc-lite-chip.tone-bad,.dc-lite-badge.offline,.dc-lite-badge.rejected{border-color:color-mix(in srgb,var(--dc-bad) 55%,var(--dc-line));color:var(--dc-bad)}.dc-lite-chip.tone-neutral,.dc-lite-badge.disabled{border-color:var(--dc-line);color:var(--muted)}
.dc-lite-grid{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:5px}.dc-lite-field{display:grid;grid-template-columns:34px minmax(0,1fr);gap:6px;align-items:center;padding:5px 6px;border:1px solid var(--dc-line);border-radius:6px;background:var(--panel2);min-width:0}.dc-lite-field small{margin:0;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.03em}.dc-lite-field b{font-size:12px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dc-lite-field:before{content:attr(data-field);display:none}.dc-lite-field.tone-ok{border-inline-start:3px solid var(--dc-ok)}.dc-lite-field.tone-warn{border-inline-start:3px solid var(--dc-warn)}.dc-lite-field.tone-bad{border-inline-start:3px solid var(--dc-bad)}.dc-lite-field.tone-neutral{border-inline-start:3px solid var(--dc-neutral)}
.dc-lite-card footer,.dc-lite-actions{gap:5px;margin-top:7px}.dc-lite-card footer .ghost-btn.small{padding:5px 8px;border-radius:6px}.dc-lite-table th{font-size:10px;letter-spacing:.03em}.dc-lite-table td{font-size:12px}.dc-lite-empty{border-radius:8px}
@media(max-width:720px){.dc-lite-card header{grid-template-columns:4px minmax(0,1fr)}.dc-lite-chipline{grid-column:2;justify-content:flex-start}.dc-lite-grid{grid-template-columns:1fr}.dc-lite-tab{padding:6px 8px}.dc-lite-tab:before{display:none}}

/* WEB30.1.509 Device Overview industrial grouped cards: no decorative render cost. */
.dc-lite-head.compact{min-height:38px;padding:6px 8px;margin:0 0 7px;border-radius:7px;border:1px solid var(--line);background:var(--panel);border-inline-start:4px solid var(--accent)}
.dc-lite-head.compact h2{font-size:17px;margin:0}.dc-lite-head-tools{display:flex;align-items:center;gap:8px}.dc-lite-head-tools span{font-size:12px;color:var(--muted);font-weight:800}.dc-lite-controls,.dc-lite-stats{display:none!important}
.dc-device-list{display:grid;grid-template-columns:1fr;gap:10px}.dc-device-card{--dc-card-accent:var(--accent);border:1px solid var(--line);border-inline-start:5px solid var(--dc-card-accent);border-radius:10px;background:var(--panel);padding:10px 11px}.dc-device-card.v0{--dc-card-accent:#38a3a5}.dc-device-card.v1{--dc-card-accent:#5e8cff}.dc-device-card.v2{--dc-card-accent:#d39a22}.dc-device-card.v3{--dc-card-accent:#7d9f45}.dc-device-card.v4{--dc-card-accent:#b36ac8}.dc-device-card.v5{--dc-card-accent:#b57947}.dc-device-card.online{border-top:2px solid var(--good)}.dc-device-card.offline,.dc-device-card.rejected{border-top:2px solid var(--bad)}.dc-device-card.pending{border-top:2px solid var(--warn)}.dc-device-card.disabled{opacity:.82}
.dc-device-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin:0 0 9px;padding-bottom:7px;border-bottom:1px solid var(--line)}.dc-device-title{min-width:0}.dc-device-title strong{display:block;font-size:16px;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dc-device-title code{display:block;margin-top:3px;padding:0;background:transparent;color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dc-device-status{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}
.dc-device-body{display:grid;grid-template-columns:minmax(220px,.95fr) minmax(300px,1.45fr) minmax(230px,1fr);gap:9px}.dc-device-section{min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--panel2);padding:8px}.dc-section-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 7px}.dc-section-title b{font-size:12px;letter-spacing:.02em}.dc-section-title small{font-size:10px;color:var(--muted)}
.dc-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.dc-info-grid.compact{grid-template-columns:1fr 1fr}.dc-lite-info{display:grid;grid-template-columns:48px minmax(0,1fr);gap:6px;align-items:center;min-width:0;padding:5px 6px;border:1px solid var(--line);border-radius:6px;background:var(--panel)}.dc-lite-info small{font-size:10px;font-weight:900;color:var(--muted);letter-spacing:.03em}.dc-lite-info b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dc-lite-info.tone-ok{border-inline-start:3px solid var(--good)}.dc-lite-info.tone-warn{border-inline-start:3px solid var(--warn)}.dc-lite-info.tone-bad{border-inline-start:3px solid var(--bad)}.dc-lite-info.tone-neutral{border-inline-start:3px solid var(--muted)}
.dc-sensor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:6px}.dc-sensor-chip{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:2px 6px;align-items:center;min-width:0;padding:6px 7px;border:1px solid var(--line);border-radius:7px;background:var(--panel)}.dc-sensor-chip i{font-style:normal;font-size:10px;font-weight:900;letter-spacing:.03em;color:var(--muted)}.dc-sensor-chip b{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dc-sensor-chip strong{grid-column:1/3;font-size:14px;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dc-sensor-chip small{grid-column:1/3;font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dc-sensor-chip.tone-ok{border-inline-start:3px solid var(--good)}.dc-sensor-chip.tone-warn{border-inline-start:3px solid var(--warn)}.dc-sensor-chip.tone-bad{border-inline-start:3px solid var(--bad)}.dc-lite-empty-inline{display:block;padding:8px;color:var(--muted);font-size:12px;border:1px dashed var(--line);border-radius:7px}
.dc-net-row{display:grid;grid-template-columns:42px minmax(0,1fr);gap:7px;align-items:center;margin-top:7px;padding-top:7px;border-top:1px solid var(--line)}.dc-net-row>span{font-size:10px;font-weight:900;color:var(--muted)}.dc-net-row>em{grid-column:2;font-style:normal;color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dc-signal{display:flex;align-items:end;gap:3px;min-width:0}.dc-signal i{display:inline-block;width:4px;border-radius:1px;background:var(--muted);opacity:.4}.dc-signal i:nth-child(1){height:6px}.dc-signal i:nth-child(2){height:9px}.dc-signal i:nth-child(3){height:12px}.dc-signal i:nth-child(4){height:15px}.dc-signal.level-1 i:nth-child(-n+1),.dc-signal.level-2 i:nth-child(-n+2),.dc-signal.level-3 i:nth-child(-n+3),.dc-signal.level-4 i:nth-child(-n+4){opacity:1}.dc-signal.tone-ok i{background:var(--good)}.dc-signal.tone-warn i{background:var(--warn)}.dc-signal.tone-neutral i{background:var(--muted)}.dc-signal b{margin-inline-start:5px;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}
.dc-device-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}.dc-device-actions .ghost-btn.small{padding:5px 8px;border-radius:6px}.dc-lite-tab{border-radius:6px 6px 0 0}.dc-lite-tab:before{display:none}.dc-lite-chip{background:transparent}
@media(max-width:1100px){.dc-device-body{grid-template-columns:1fr}.dc-info-grid,.dc-info-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.dc-device-head{display:block}.dc-device-status{justify-content:flex-start;margin-top:7px}.dc-info-grid,.dc-info-grid.compact,.dc-sensor-grid{grid-template-columns:1fr}.dc-lite-head-tools span{display:none}}

/* WEB30_1_510_DEVICE_OVERVIEW_IDENTITY_SENSOR_SETTINGS_POLISH */
.dc-device-card{padding:12px 13px;border-radius:9px;}
.dc-device-head{margin-bottom:10px;}
.dc-device-body{grid-template-columns:minmax(260px,1.05fr) minmax(340px,1.55fr) minmax(260px,1.05fr);gap:10px;}
.dc-device-section{padding:9px;border-radius:7px;}
.dc-copy-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.dc-copy-info{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:6px;align-items:center;width:100%;min-width:0;padding:5px 6px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--text);text-align:start;cursor:copy;}
.dc-copy-info small{font-size:10px;font-weight:900;letter-spacing:.02em;color:var(--muted);}
.dc-copy-info b{font-size:12px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;}
.dc-copy-info em{font-style:normal;font-size:9px;color:var(--muted);text-transform:uppercase;}
.dc-copy-info.tone-ok{border-inline-start:3px solid var(--good)}
.dc-copy-info.tone-warn{border-inline-start:3px solid var(--warn)}
.dc-copy-info.tone-bad{border-inline-start:3px solid var(--bad)}
.dc-copy-info.tone-neutral{border-inline-start:3px solid var(--muted)}
.dc-copy-info.copied{outline:1px solid var(--accent);}
.dc-sensor-grid{grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:7px;}
.dc-sensor-chip{grid-template-columns:auto 1fr auto;padding:7px 8px;border-radius:6px;}
.dc-sensor-chip i{font-size:10px;}
.dc-sensor-chip b{font-size:11px;}
.dc-sensor-chip em{font-style:normal;font-size:10px;font-weight:900;border:1px solid var(--line);border-radius:999px;padding:1px 5px;color:var(--muted);}
.dc-sensor-chip strong{grid-column:1/4;font-size:15px;margin-top:1px;}
.dc-sensor-chip small{grid-column:1/4;font-size:10px;}c-sensor-chip.tone-off{border-inline-start:3px solid var(--muted);opacity:.76;}
.dc-sensor-chip.tone-neutral{border-inline-start:3px solid var(--muted)}
.dc-sensor-chip.tone-ok em{border-color:color-mix(in srgb,var(--good) 55%,var(--line));color:var(--good)}
.dc-sensor-chip.tone-warn em{border-color:color-mix(in srgb,var(--warn) 55%,var(--line));color:var(--warn)}
.dc-sensor-chip.tone-bad em{border-color:color-mix(in srgb,var(--bad) 55%,var(--line));color:var(--bad)}
.dc-sensor-chip.tone-off em{color:var(--muted)}
.dc-settings .dc-info-grid{grid-template-columns:1fr 1fr;}
@media(max-width:1180px){.dc-device-body{grid-template-columns:1fr}.dc-copy-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:680px){.dc-copy-grid,.dc-settings .dc-info-grid{grid-template-columns:1fr}.dc-copy-info{grid-template-columns:64px minmax(0,1fr) auto}.dc-sensor-grid{grid-template-columns:1fr}}


/* WEB30_1_511_DEVICE_OVERVIEW_IDENTITY_READABILITY_FIX
   Identity: one column, full selectable values, clear label/value separation. No copy buttons, no decorative effects. */
.dc-device-body{grid-template-columns:minmax(320px,.95fr) minmax(340px,1.45fr) minmax(260px,1.05fr);gap:10px;}
.dc-identity .dc-section-title small{display:none;}
.dc-identity-list{display:grid;grid-template-columns:1fr;gap:6px;}
.dc-identity-row{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:stretch;min-width:0;border:1px solid var(--line);border-inline-start:4px solid var(--muted);border-radius:7px;background:var(--panel);overflow:hidden;}
.dc-identity-row span{display:flex;align-items:center;padding:6px 8px;background:var(--panel2);border-inline-end:1px solid var(--line);font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);white-space:nowrap;}
.dc-identity-row code{display:block;padding:6px 8px;background:transparent;color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;font-weight:800;line-height:1.35;white-space:normal;overflow-wrap:anywhere;word-break:break-word;user-select:text;-webkit-user-select:text;cursor:text;}
.dc-identity-row.tone-ok{border-inline-start-color:var(--good)}
.dc-identity-row.tone-warn{border-inline-start-color:var(--warn)}
.dc-identity-row.tone-bad{border-inline-start-color:var(--bad)}
.dc-identity-row.tone-neutral{border-inline-start-color:var(--muted)}
.dc-identity-row.tone-ok span{color:var(--good)}
.dc-identity-row.tone-warn span{color:var(--warn)}
.dc-identity-row.tone-bad span{color:var(--bad)}
.dc-identity-row.tone-neutral span{color:var(--muted)}
@media(max-width:1180px){.dc-device-body{grid-template-columns:1fr}.dc-identity-row{grid-template-columns:110px minmax(0,1fr)}}
@media(max-width:620px){.dc-identity-row{grid-template-columns:1fr}.dc-identity-row span{border-inline-end:0;border-bottom:1px solid var(--line);padding-bottom:4px}.dc-identity-row code{padding-top:5px}}

/* WEB30_1_512_DEVICE_OVERVIEW_NETWORK_SENSOR_STATUS
   Settings now shows network/time/RTC. Sensor status uses tiny semantic indicators only. */
.dc-settings .dc-section-title small{display:inline;color:var(--muted)}
.dc-ip-link{color:inherit;text-decoration:none;border-bottom:1px dotted currentColor}.dc-ip-link:hover{text-decoration:none}
.dc-sensor-chip{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto;gap:4px 7px;align-items:start}
.dc-sensor-name{display:inline-flex;align-items:center;gap:5px;min-width:0;border:1px solid var(--line);border-radius:6px;background:var(--panel2);padding:2px 5px;max-width:100%}
.dc-sensor-name i{display:inline-flex;align-items:center;font-style:normal;font-size:10px;font-weight:900;letter-spacing:.04em;color:var(--muted);line-height:1.25}
.dc-sensor-name b{display:inline-block;min-width:0;font-size:11px;font-weight:900;line-height:1.25;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dc-sensor-chip.tone-ok .dc-sensor-name{border-color:color-mix(in srgb,var(--good) 34%,var(--line));}.dc-sensor-chip.tone-warn .dc-sensor-name{border-color:color-mix(in srgb,var(--warn) 45%,var(--line));}.dc-sensor-chip.tone-bad .dc-sensor-name{border-color:color-mix(in srgb,var(--bad) 45%,var(--line));}.dc-sensor-chip.tone-local .dc-sensor-name{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));}.dc-sensor-chip.tone-off .dc-sensor-name{border-color:var(--line)}
.dc-sensor-state{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:1px solid var(--line);border-radius:50%;font-size:11px;font-weight:900;line-height:1;background:var(--panel);color:var(--muted)}
.dc-sensor-chip.tone-ok .dc-sensor-state{color:var(--good);border-color:color-mix(in srgb,var(--good) 55%,var(--line))}.dc-sensor-chip.tone-warn .dc-sensor-state{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 60%,var(--line))}.dc-sensor-chip.tone-bad .dc-sensor-state{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 60%,var(--line))}.dc-sensor-chip.tone-local .dc-sensor-state{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 50%,var(--line))}.dc-sensor-chip.tone-off .dc-sensor-state{color:var(--muted);border-color:var(--line)}
.dc-sensor-chip strong{grid-column:1/3;font-size:15px;line-height:1.15;margin:0;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dc-sensor-chip small{grid-column:1/3;font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dc-sensor-chip>i,.dc-sensor-chip>b,.dc-sensor-chip>em{display:none}
@keyframes dcPulse{0%,100%{opacity:.55}50%{opacity:1}}
.dc-lite-page .dc-sensor-state.pulse{animation:dcPulse 1.2s ease-in-out infinite!important}
@media(prefers-reduced-motion:reduce){.dc-lite-page .dc-sensor-state.pulse{animation:none!important}}

/* WEB30_1_513_DEVICE_MANAGEMENT_CARD_CONFIRM_FLOW */
.dc-manage-list{display:grid;gap:10px;}
.dc-manage-card{padding:12px 13px;}
.dc-manage-head{margin-bottom:10px;}
.dc-manage-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:7px;}
.dc-manage-field{display:grid;grid-template-columns:84px minmax(0,1fr);align-items:stretch;border:1px solid var(--line);border-inline-start:4px solid var(--muted);border-radius:7px;background:var(--panel);overflow:hidden;min-width:0;}
.dc-manage-field>span{display:flex;align-items:center;padding:6px 8px;background:var(--panel2);border-inline-end:1px solid var(--line);font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);white-space:nowrap;}
.dc-manage-field>code{display:block;padding:6px 8px;background:transparent;color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;font-weight:800;line-height:1.35;white-space:normal;overflow-wrap:anywhere;word-break:break-word;user-select:text;-webkit-user-select:text;cursor:text;}
.dc-manage-field.edit input,.dc-manage-field.edit select{min-width:0;border:0;border-radius:0;background:var(--panel);color:var(--text);font-size:12px;font-weight:800;padding:6px 8px;outline:1px solid transparent;}
.dc-manage-field.edit input:focus,.dc-manage-field.edit select:focus{outline:1px solid var(--accent);}
.dc-manage-field.tone-ok{border-inline-start-color:var(--good)}.dc-manage-field.tone-warn{border-inline-start-color:var(--warn)}.dc-manage-field.tone-bad{border-inline-start-color:var(--bad)}.dc-manage-field.tone-neutral{border-inline-start-color:var(--muted)}
.dc-manage-field.tone-ok>span{color:var(--good)}.dc-manage-field.tone-warn>span{color:var(--warn)}.dc-manage-field.tone-bad>span{color:var(--bad)}.dc-manage-field.tone-neutral>span{color:var(--muted)}
.dc-manage-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;padding-top:9px;border-top:1px solid var(--line);}
.dc-manage-card.editing{border-top-color:var(--accent);}
.dc-action-sep{display:inline-block;width:1px;height:22px;background:var(--line);margin:0 2px;}
.dc-confirm-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.46);padding:18px;animation:none!important;transition:none!important;}
.dc-confirm-card{width:min(560px,100%);border:1px solid var(--line);border-inline-start:4px solid var(--accent);border-radius:10px;background:var(--panel);color:var(--text);padding:0;box-shadow:none!important;animation:none!important;}
.dc-confirm-modal.danger .dc-confirm-card{border-inline-start-color:var(--bad);}
.dc-confirm-card header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line);}
.dc-confirm-card header b{font-size:14px;}
.dc-confirm-target{display:grid;grid-template-columns:72px minmax(0,1fr);gap:4px 8px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line);}
.dc-confirm-target span{font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);}
.dc-confirm-target strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dc-confirm-target code{grid-column:2;font-size:11px;color:var(--muted);background:transparent;padding:0;white-space:normal;overflow-wrap:anywhere;}
.dc-confirm-summary{display:grid;gap:6px;padding:10px 12px;}
.dc-confirm-summary div{display:grid;grid-template-columns:120px minmax(0,1fr);border:1px solid var(--line);border-radius:7px;overflow:hidden;background:var(--panel2);}
.dc-confirm-summary span{padding:6px 8px;border-inline-end:1px solid var(--line);font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);}
.dc-confirm-summary b{padding:6px 8px;font-size:12px;font-weight:800;line-height:1.35;white-space:normal;overflow-wrap:anywhere;}
.dc-confirm-type{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center;margin:0 12px 8px;border:1px solid var(--line);border-radius:7px;overflow:hidden;background:var(--panel2);}
.dc-confirm-type span{padding:6px 8px;border-inline-end:1px solid var(--line);font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:var(--bad);}
.dc-confirm-type input{border:0;border-radius:0;background:var(--panel);color:var(--text);padding:7px 8px;font-size:12px;font-weight:800;}
.dc-confirm-card .form-message{margin:0 12px 8px;}
.dc-confirm-card footer{display:flex;justify-content:flex-end;gap:7px;padding:10px 12px;border-top:1px solid var(--line);}
@media(max-width:720px){.dc-manage-fields{grid-template-columns:1fr}.dc-manage-field,.dc-confirm-summary div,.dc-confirm-type{grid-template-columns:1fr}.dc-manage-field>span,.dc-confirm-summary span,.dc-confirm-type span{border-inline-end:0;border-bottom:1px solid var(--line)}.dc-confirm-target{grid-template-columns:1fr}.dc-confirm-target code{grid-column:1}.dc-action-sep{display:none}}


/* WEB30.1.523 - visible SMS Worker/Cron entry point */
.sms-alert-tabs .sms-worker-tab{
  border-color:color-mix(in srgb,#818cf8 55%,var(--line))!important;
  background:color-mix(in srgb,#818cf8 13%,var(--panel2))!important;
  font-weight:900!important;
}
.sms-provider-worker-top{margin:0 0 10px 0}
.sms-worker-page{display:grid;gap:10px;align-items:start}
.sms-worker-cron-card{
  --sms-card-accent:#818cf8;
  border-width:2px!important;
  border-color:color-mix(in srgb,#818cf8 72%,var(--line))!important;
  background:linear-gradient(180deg,color-mix(in srgb,#818cf8 10%,var(--panel)),var(--panel))!important;
  box-shadow:inset 4px 0 0 #818cf8,0 8px 20px rgba(0,0,0,.14)!important;
}
.sms-worker-purpose{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:0 0 8px;padding:8px 10px;border:1px solid color-mix(in srgb,#818cf8 36%,var(--line));border-radius:12px;background:color-mix(in srgb,#818cf8 8%,transparent)}
.sms-worker-purpose b{font-weight:950;color:var(--text)}
.sms-worker-purpose span{color:var(--muted);font-size:.9rem}
.sms-worker-kv .sms-worker-command{font-family:var(--mono);font-size:.82rem;direction:ltr;text-align:left;word-break:break-all;white-space:normal}
.sms-worker-help-card .mini-code{white-space:pre-wrap;word-break:break-word;direction:ltr;text-align:left}
@media(max-width:1100px){.sms-provider-worker-top{margin-bottom:8px}.sms-worker-purpose{display:block}.sms-worker-purpose span{display:block;margin-top:4px}}

/* WEB30.1.524 - SMS Worker live source indicator */
.sms-worker-pulse-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  margin:0 0 10px;
  padding:10px 12px;
  border:1px solid color-mix(in srgb,var(--line) 76%,#64748b);
  border-radius:14px;
  background:color-mix(in srgb,var(--panel) 92%,#0f172a);
}
.sms-worker-pulse-icon{
  width:38px;height:38px;border-radius:50%;position:relative;display:grid;place-items:center;
  background:color-mix(in srgb,#64748b 18%,transparent);
  border:1px solid color-mix(in srgb,#94a3b8 45%,var(--line));
}
.sms-worker-pulse-icon:before{
  content:"";position:absolute;inset:4px;border-radius:50%;opacity:.9;
  background:conic-gradient(from 0deg,#22c55e,#38bdf8,#a78bfa,#f59e0b,#22c55e);
  animation:smsWorkerSpin 2.8s linear infinite;
}
.sms-worker-pulse-icon:after{
  content:"";position:absolute;inset:10px;border-radius:50%;background:var(--panel);border:1px solid color-mix(in srgb,#ffffff 16%,transparent);
}
.sms-worker-pulse-icon span{position:relative;z-index:1;width:9px;height:9px;border-radius:50%;background:#94a3b8;box-shadow:0 0 0 4px color-mix(in srgb,#94a3b8 18%,transparent)}
.sms-worker-pulse-row.host-ok .sms-worker-pulse-icon span{background:#22c55e;animation:smsWorkerBlink 1.2s ease-in-out infinite;box-shadow:0 0 0 5px color-mix(in srgb,#22c55e 22%,transparent)}
.sms-worker-pulse-row.not-cron .sms-worker-pulse-icon:before{background:conic-gradient(from 0deg,#f59e0b,#f97316,#facc15,#f59e0b);animation:smsWorkerSpin 4s linear infinite}
.sms-worker-pulse-row.not-cron .sms-worker-pulse-icon span{background:#f59e0b;box-shadow:0 0 0 5px color-mix(in srgb,#f59e0b 22%,transparent)}
.sms-worker-pulse-row.idle .sms-worker-pulse-icon:before{background:conic-gradient(from 0deg,#94a3b8,#64748b,#cbd5e1,#94a3b8);animation:none;opacity:.55}
.sms-worker-pulse-row.bad .sms-worker-pulse-icon:before{background:conic-gradient(from 0deg,#ef4444,#f97316,#ef4444);animation:smsWorkerBlink 1.1s ease-in-out infinite}
.sms-worker-pulse-row.bad .sms-worker-pulse-icon span{background:#ef4444;box-shadow:0 0 0 5px color-mix(in srgb,#ef4444 22%,transparent)}
.sms-worker-pulse-main{min-width:0;display:grid;gap:3px}
.sms-worker-pulse-main b{font-weight:950;color:var(--text);letter-spacing:.01em}
.sms-worker-pulse-main span{font-size:.9rem;color:var(--muted)}
.sms-worker-timers{display:grid;grid-template-columns:repeat(2,minmax(92px,1fr));gap:8px;min-width:210px}
.sms-worker-timers article{padding:7px 9px;border:1px solid color-mix(in srgb,var(--line) 85%,#64748b);border-radius:11px;background:color-mix(in srgb,var(--panel) 82%,#0f172a)}
.sms-worker-timers b{display:block;font-family:var(--mono);font-size:1rem;color:var(--text);direction:ltr;text-align:left}
.sms-worker-timers span{display:block;font-size:.72rem;color:var(--muted);margin-top:2px}
.sms-worker-source{font-weight:900}
.sms-worker-source.ok{color:#22c55e}.sms-worker-source.warn{color:#f59e0b}.sms-worker-source.bad{color:#ef4444}
@keyframes smsWorkerBlink{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.86)}}
@keyframes smsWorkerSpin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion: reduce){.sms-worker-pulse-icon:before,.sms-worker-pulse-row.host-ok .sms-worker-pulse-icon span,.sms-worker-pulse-row.bad .sms-worker-pulse-icon:before{animation:none}}
@media(max-width:900px){.sms-worker-pulse-row{grid-template-columns:auto minmax(0,1fr)}.sms-worker-timers{grid-column:1/-1;min-width:0}}

/* WEB30_1_525_SMS_REPORT_INDUSTRIAL_PAGINATION */
.sms-report-page{display:grid;gap:12px}.sms-report-section-head,.sms-report-main-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.sms-report-section-head h3,.sms-report-main-head h3{margin:0}.sms-report-section-head span{color:var(--muted);font-size:.78rem}.sms-report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px}.sms-report-card{border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-inline-start:4px solid var(--accent);border-radius:14px;background:color-mix(in srgb,var(--panel2) 88%,transparent);padding:10px;display:grid;gap:8px;min-width:0}.sms-report-card.compact{gap:6px}.sms-report-card.queued,.sms-report-card.pending,.sms-report-card.retry{border-inline-start-color:#f59e0b;background:rgba(245,158,11,.055)}.sms-report-card.sending,.sms-report-card.sent{border-inline-start-color:#3b82f6;background:rgba(59,130,246,.055)}.sms-report-card.delivered{border-inline-start-color:#22c55e;background:rgba(34,197,94,.055)}.sms-report-card.failed,.sms-report-card.bad{border-inline-start-color:#ef4444;background:rgba(239,68,68,.055)}.sms-report-head{display:flex;align-items:start;justify-content:space-between;gap:8px}.sms-report-head b{font-weight:900}.sms-report-head span,.sms-report-head em{color:var(--muted);font-size:.75rem;font-style:normal}.sms-report-phase{font-size:.8rem;color:var(--text);line-height:1.55}.sms-report-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:6px}.sms-report-meta div{border:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:10px;background:rgba(255,255,255,.025);padding:6px 8px;min-width:0}.sms-report-meta span{display:block;color:var(--muted);font-size:.7rem}.sms-report-meta b{display:block;font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sms-report-status-text{font-size:.78rem;color:var(--muted);border-top:1px solid color-mix(in srgb,var(--line) 60%,transparent);padding-top:6px}.sms-report-message{margin:0;white-space:pre-wrap;direction:rtl;text-align:right;max-height:120px;overflow:auto;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:10px;padding:8px;background:rgba(0,0,0,.18);font-size:.78rem;line-height:1.65;color:var(--text)}.sms-log-industrial{border-color:color-mix(in srgb,var(--accent) 28%,var(--line))}.sms-log-toolbar-industrial{padding:8px;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:14px;background:rgba(255,255,255,.025)}.sms-log-toolbar-industrial .primary-btn,.sms-log-toolbar-industrial .ghost-btn,.sms-log-toolbar-industrial .danger-btn,.sms-report-main-head .primary-btn,.sms-page-btn,.sms-btn-check{font-size:.82rem!important;letter-spacing:.01em;border-width:1px!important}.sms-btn-refresh{background:linear-gradient(180deg,#0284c7,#075985)!important;border-color:#38bdf8!important;color:#fff!important}.sms-btn-pending{background:linear-gradient(180deg,#d97706,#92400e)!important;border-color:#fbbf24!important;color:#fff!important}.sms-btn-clear{background:color-mix(in srgb,var(--panel2) 88%,#64748b 12%)!important;border-color:#64748b!important;color:var(--text)!important}.sms-btn-delete{background:linear-gradient(180deg,#9f1239,#7f1d1d)!important;border-color:#fb7185!important;color:#fff!important}.sms-btn-delete-all{background:linear-gradient(180deg,#dc2626,#7f1d1d)!important;border-color:#fca5a5!important;color:#fff!important;box-shadow:0 0 0 1px rgba(248,113,113,.22),0 8px 18px rgba(220,38,38,.18)!important}.sms-btn-check{padding:4px 8px!important;min-height:24px!important;border-radius:999px!important;margin-inline-start:6px;background:rgba(59,130,246,.14)!important;border-color:rgba(147,197,253,.55)!important;color:#bfdbfe!important}.sms-log-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0;padding:8px 10px;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:12px;background:rgba(255,255,255,.025)}.sms-log-pager div{display:grid;gap:2px}.sms-log-pager b{font-size:.86rem}.sms-log-pager span{font-size:.74rem;color:var(--muted)}.sms-log-pager nav{display:flex;gap:6px;flex-wrap:wrap}.sms-log-pager .primary-btn{background:linear-gradient(180deg,#2563eb,#1d4ed8)!important;border-color:#93c5fd!important;color:#fff!important}.sms-industrial-table table{min-width:1180px}.sms-log-id-chip{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:.75rem;font-weight:850;border:1px solid color-mix(in srgb,var(--line) 75%,transparent);background:rgba(255,255,255,.04)}.sms-log-id-chip.queue{border-color:rgba(245,158,11,.38);color:#fbbf24;background:rgba(245,158,11,.08)}.sms-phase-pill{display:inline-flex;align-items:center;white-space:nowrap;border-radius:999px;padding:4px 8px;font-size:.74rem;font-weight:850;border:1px solid var(--line);background:rgba(255,255,255,.04)}.sms-phase-pill.queued,.sms-phase-pill.pending,.sms-phase-pill.retry{border-color:rgba(245,158,11,.4);color:#fbbf24;background:rgba(245,158,11,.08)}.sms-phase-pill.sending,.sms-phase-pill.sent{border-color:rgba(59,130,246,.4);color:#93c5fd;background:rgba(59,130,246,.08)}.sms-phase-pill.delivered{border-color:rgba(34,197,94,.44);color:#86efac;background:rgba(34,197,94,.08)}.sms-phase-pill.failed{border-color:rgba(239,68,68,.42);color:#fca5a5;background:rgba(239,68,68,.08)}.sms-log-details summary{cursor:pointer;color:var(--text);max-width:320px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sms-log-details[open] summary{margin-bottom:8px;color:var(--accent)}.sms-log-details .sms-report-card{min-width:360px;max-width:620px}.sms-report-latest{border-color:color-mix(in srgb,var(--accent) 25%,var(--line))}@media(max-width:760px){.sms-report-grid{grid-template-columns:1fr}.sms-log-pager{align-items:stretch;flex-direction:column}.sms-log-pager nav{justify-content:stretch}.sms-log-pager button{flex:1 1 80px}.sms-log-details .sms-report-card{min-width:260px}}

/* WEB30_1_527_SMS_REPORT_OPERATOR_LEDGER_UI
   SMS report is an operator ledger, not a nested-scroll card wall. */
.sms-report-page-operator{display:grid;gap:12px;align-items:start}
.sms-report-page-operator .panel.pad{overflow:visible}
.sms-report-page-operator .sms-log-industrial{max-height:none!important;overflow:visible!important;border-color:color-mix(in srgb,var(--accent) 26%,var(--line));box-shadow:none}
.sms-report-page-operator .sms-report-section-head{padding-bottom:8px;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);margin-bottom:8px}
.sms-latest-ledger{display:grid;gap:6px}
.sms-latest-row{display:grid;grid-template-columns:140px 150px minmax(260px,1fr) 180px;gap:10px;align-items:center;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-inline-start:5px solid var(--line);border-radius:12px;padding:8px 10px;background:color-mix(in srgb,var(--panel2) 88%,transparent)}
.sms-latest-row.queued,.sms-latest-row.pending,.sms-latest-row.retry{border-inline-start-color:#f59e0b;background:rgba(245,158,11,.055)}
.sms-latest-row.sending,.sms-latest-row.sent{border-inline-start-color:#3b82f6;background:rgba(59,130,246,.055)}
.sms-latest-row.delivered{border-inline-start-color:#22c55e;background:rgba(34,197,94,.055)}
.sms-latest-row.failed,.sms-latest-row.bad{border-inline-start-color:#ef4444;background:rgba(239,68,68,.055)}
.sms-latest-time,.sms-latest-track{display:grid;gap:2px;min-width:0}
.sms-latest-time b,.sms-latest-track span{font-weight:850;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sms-latest-time span,.sms-latest-track em,.sms-latest-main span{font-size:.78rem;color:var(--muted);font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sms-latest-main{display:grid;gap:2px;min-width:0}
.sms-latest-main b{font-weight:850;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sms-log-toolbar-industrial{display:grid;grid-template-columns:auto minmax(130px,180px) minmax(130px,180px) minmax(220px,1fr) auto auto auto auto;gap:8px;align-items:end;margin:10px 0;padding:10px;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:14px;background:rgba(255,255,255,.025)}
.sms-log-toolbar-industrial label{min-width:0;width:100%}
.sms-log-toolbar-industrial button{white-space:nowrap}
.sms-log-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 10px;padding:9px 10px;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:12px;background:rgba(255,255,255,.025)}
.sms-log-pager div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sms-log-pager b{font-size:.9rem}.sms-log-pager span{font-size:.78rem;color:var(--muted)}.sms-log-pager nav{display:flex;gap:7px;flex-wrap:wrap}.sms-log-pager .sms-page-btn{min-width:64px!important;font-weight:900!important}.sms-ledger-table.table-wrap{max-height:none!important;overflow-x:auto!important;overflow-y:visible!important;border-radius:13px;border-color:color-mix(in srgb,var(--line) 78%,transparent)}
.sms-ledger-table table{min-width:980px!important;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:calc(12.5px * var(--fontScale))}
.sms-ledger-table th{position:sticky;top:0;z-index:2;background:color-mix(in srgb,var(--panel2) 94%,#0f172a 6%);font-size:.78rem;font-weight:900;color:color-mix(in srgb,var(--text) 88%,var(--muted));border-bottom:1px solid color-mix(in srgb,var(--line) 90%,transparent)}
.sms-ledger-table th:nth-child(1),.sms-ledger-table td:nth-child(1){width:34px;text-align:center}.sms-ledger-table th:nth-child(2),.sms-ledger-table td:nth-child(2){width:105px}.sms-ledger-table th:nth-child(3),.sms-ledger-table td:nth-child(3){width:150px}.sms-ledger-table th:nth-child(4),.sms-ledger-table td:nth-child(4){width:125px}.sms-ledger-table th:nth-child(5),.sms-ledger-table td:nth-child(5){width:190px}.sms-ledger-table th:nth-child(7),.sms-ledger-table td:nth-child(7){width:155px}.sms-ledger-table th:nth-child(8),.sms-ledger-table td:nth-child(8){width:165px}
.sms-ledger-row td{padding:9px 10px;vertical-align:middle;background:color-mix(in srgb,var(--panel) 82%,transparent);border-bottom:1px solid color-mix(in srgb,var(--line) 68%,transparent)}
.sms-ledger-row:nth-child(even) td{background:color-mix(in srgb,var(--panel2) 74%,transparent)}
.sms-ledger-row.queued td,.sms-ledger-row.pending td,.sms-ledger-row.retry td{box-shadow:inset 4px 0 0 #f59e0b}.sms-ledger-row.sending td,.sms-ledger-row.sent td{box-shadow:inset 4px 0 0 #3b82f6}.sms-ledger-row.delivered td{box-shadow:inset 4px 0 0 #22c55e}.sms-ledger-row.failed td,.sms-ledger-row.bad td{box-shadow:inset 4px 0 0 #ef4444}
.sms-col-time b,.sms-col-target b,.sms-col-route b,.sms-col-track b{display:block;color:var(--text);font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sms-col-phase small,.sms-col-target small,.sms-col-route small,.sms-col-track small{display:block;margin-top:3px;color:var(--muted);font-size:.75rem;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sms-col-message{min-width:0}.sms-log-details{display:block}.sms-log-details summary{cursor:pointer;color:var(--text);max-width:none!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;list-style:none;line-height:1.45;padding:4px 6px;border-radius:8px;border:1px solid transparent}.sms-log-details summary::-webkit-details-marker{display:none}.sms-log-details summary::before{content:'▸';display:inline-block;margin-inline-end:6px;color:var(--accent);font-weight:900}.sms-log-details[open] summary{margin-bottom:8px;color:var(--accent);background:rgba(59,130,246,.08);border-color:rgba(147,197,253,.25)}.sms-log-details[open] summary::before{content:'▾'}
.sms-report-detail{margin-top:8px;max-width:none!important;min-width:0!important;border-radius:12px;padding:10px;background:color-mix(in srgb,var(--panel2) 88%,transparent);border:1px solid color-mix(in srgb,var(--line) 75%,transparent)}
.sms-detail-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.sms-detail-title b{font-size:.86rem;color:var(--text);font-weight:800}.sms-detail-kv{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:6px;margin-bottom:8px}.sms-detail-kv div{border:1px solid color-mix(in srgb,var(--line) 68%,transparent);border-radius:9px;background:rgba(255,255,255,.025);padding:6px 8px;min-width:0}.sms-detail-kv span{display:block;color:var(--muted);font-size:.7rem;margin-bottom:2px}.sms-detail-kv b{display:block;color:var(--text);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sms-report-status-text{font-size:.8rem;color:var(--muted);border-top:1px solid color-mix(in srgb,var(--line) 62%,transparent);padding-top:7px;margin-top:6px}.sms-report-message{margin:8px 0 0!important;white-space:pre-wrap!important;direction:rtl;text-align:right;max-height:none!important;overflow:visible!important;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:10px;padding:9px 10px;background:rgba(0,0,0,.18);font-size:.82rem;line-height:1.75;color:var(--text)}
.sms-log-action{max-width:150px;font-weight:850}.sms-phase-pill{display:inline-flex;align-items:center;white-space:nowrap;border-radius:999px;padding:5px 9px;font-size:.76rem;font-weight:900;border:1px solid var(--line);background:rgba(255,255,255,.04)}
@media(max-width:1180px){.sms-log-toolbar-industrial{grid-template-columns:repeat(2,minmax(0,1fr))}.sms-log-toolbar-industrial button{width:100%}.sms-latest-row{grid-template-columns:120px 135px minmax(180px,1fr)}}
@media(max-width:760px){.sms-latest-row{grid-template-columns:1fr;align-items:start}.sms-log-pager{align-items:stretch;flex-direction:column}.sms-log-pager nav{display:grid;grid-template-columns:repeat(4,1fr)}.sms-detail-kv{grid-template-columns:1fr 1fr}.sms-ledger-table table{min-width:900px!important}}

/* WEB30_1_528_SMS_REPORT_CHAIN_COLLAPSE
   Collapse event+worker log rows into one operator-visible SMS chain. */
.sms-chain-steps{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:8px 0;padding:7px 8px;border:1px solid rgba(148,163,184,.22);border-radius:10px;background:rgba(15,23,42,.22)}
.sms-chain-steps strong{font-size:.74rem;color:var(--muted);font-weight:900;margin-inline-end:2px}.sms-chain-steps span{display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(148,163,184,.22);border-radius:999px;padding:3px 7px;background:rgba(255,255,255,.035)}.sms-chain-steps b{font-size:.72rem;color:var(--text);font-weight:900}.sms-chain-steps em{font-size:.7rem;color:#fbbf24;font-style:normal}.sms-chain-steps small{font-size:.68rem;color:var(--muted)}
.sms-latest-track em{color:color-mix(in srgb,var(--accent) 70%,var(--muted));font-weight:750}

/* WEB30_15_760 - Development Maintenance Center shell rebased on upload policy helper fix */
.dev-shell-page{
  display:grid;
  gap:var(--gap);
}
.dev-shell-hero{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  overflow:hidden;
  position:relative;
}
.dev-shell-hero:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:rgba(45,212,191,.9);
}
.dev-shell-hero-main{
  display:grid;
  gap:5px;
  min-width:0;
  padding-left:4px;
}
.dev-shell-hero h2{
  margin:0;
  font-size:clamp(20px,2.2vw,30px);
  letter-spacing:.01em;
}
.dev-shell-hero p{
  margin:0;
  color:var(--muted);
  max-width:78ch;
  line-height:1.55;
}
.dev-shell-tone-green:before{background:#34d399;}
.dev-shell-tone-blue:before{background:#60a5fa;}
.dev-shell-tone-orange:before{background:#fb923c;}
.dev-shell-tone-red:before{background:#f87171;}
.dev-shell-tone-purple:before{background:#c084fc;}
.dev-shell-tone-gray:before{background:#94a3b8;}
.dev-shell-card-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.dev-shell-card{
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:12px;
  background:rgba(15,23,42,.36);
  display:grid;
  gap:7px;
  min-height:112px;
  position:relative;
  overflow:hidden;
}
.dev-shell-card:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:rgba(148,163,184,.9);
}
.dev-shell-card-info:before{background:#38bdf8;}
.dev-shell-card-warn:before{background:#fbbf24;}
.dev-shell-card-danger:before{background:#fb7185;}
.dev-shell-card-muted:before{background:#94a3b8;}
.dev-shell-card span{
  color:var(--muted);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.dev-shell-card b{
  font-size:18px;
}
.dev-shell-card small{
  color:var(--muted);
  line-height:1.45;
}
.dev-shell-policy .cleanup-protected-grid article{
  min-height:70px;
}
.dev-shell-tabs{
  margin:10px 0 12px;
  overflow:auto;
  scrollbar-width:thin;
}
.dev-shell-tabs .tab{
  white-space:nowrap;
}
.dev-shell-panels{
  display:grid;
  gap:10px;
}
.dev-shell-local-panel{
  background:rgba(15,23,42,.25)!important;
}
.dev-shell-placeholder-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:10px;
}
.dev-shell-placeholder-grid article{
  border:1px dashed var(--line);
  border-radius:var(--radius);
  padding:11px;
  display:grid;
  gap:5px;
}
.dev-shell-placeholder-grid b{
  font-size:14px;
}
.dev-shell-placeholder-grid span{
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}
.dev-shell-disabled-actions .sticky-actions button[disabled]{
  opacity:.72;
  cursor:not-allowed;
}
.theme-light .dev-shell-card,
.theme-light .dev-shell-local-panel{
  background:#ffffff!important;
}
.theme-light .dev-shell-placeholder-grid article{
  background:#f8fafc;
}
@media (max-width:1100px){
  .dev-shell-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:720px){
  .dev-shell-hero{display:grid;}
  .dev-shell-card-grid,.dev-shell-placeholder-grid{grid-template-columns:1fr;}
}

/* WEB30_15_761_DEVELOPMENT_CHECKUP_DB_OVERVIEW_READONLY */
.dev-shell-hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;min-width:220px;text-align:right;}
.dev-shell-hero-actions small{color:var(--muted);font-size:.78rem;}
.dev-readonly-pill{font-size:.76rem;line-height:1.35;white-space:nowrap;}
.dev-readonly-pill.ok{border-color:rgba(34,197,94,.45)!important;background:rgba(34,197,94,.12)!important;color:#86efac!important;}
.dev-readonly-pill.warn{border-color:rgba(245,158,11,.48)!important;background:rgba(245,158,11,.12)!important;color:#fcd34d!important;}
.dev-readonly-pill.bad{border-color:rgba(239,68,68,.48)!important;background:rgba(239,68,68,.12)!important;color:#fecaca!important;}
.dev-readonly-pill.info{border-color:rgba(59,130,246,.48)!important;background:rgba(59,130,246,.12)!important;color:#bfdbfe!important;}
.dev-readonly-pill.muted{border-color:var(--border)!important;background:rgba(148,163,184,.08)!important;color:var(--muted)!important;}
.dev-readonly-state{border-style:dashed!important;}
.dev-readonly-error{border-color:rgba(239,68,68,.45)!important;}
.dev-readonly-kv{margin-top:12px;}
.dev-readonly-kv dd{display:flex;align-items:center;gap:8px;justify-content:flex-start;}
.dev-readonly-table-wrap{max-height:520px;overflow:auto;border-radius:14px;}
.dev-readonly-table{min-width:780px;}
.dev-readonly-table th{position:sticky;top:0;z-index:2;background:var(--panel2);}
.dev-readonly-table td b{display:block;color:var(--text);font-weight:700;}
.dev-readonly-table td small{display:block;color:var(--muted);font-size:.75rem;margin-top:2px;}
.dev-readonly-table code{font-size:.78rem;white-space:nowrap;}
.dev-shell-card-grid .dev-shell-card-ok{border-color:rgba(34,197,94,.35)!important;}
.dev-shell-card-grid .dev-shell-card-bad{border-color:rgba(239,68,68,.38)!important;}
.dev-shell-card-grid .dev-shell-card-warn{border-color:rgba(245,158,11,.38)!important;}
.dev-shell-card-grid .dev-shell-card-info{border-color:rgba(59,130,246,.36)!important;}
.theme-light .dev-readonly-pill.ok{background:#ecfdf5!important;color:#047857!important;border-color:#bbf7d0!important;}
.theme-light .dev-readonly-pill.warn{background:#fffbeb!important;color:#92400e!important;border-color:#fde68a!important;}
.theme-light .dev-readonly-pill.bad{background:#fef2f2!important;color:#b91c1c!important;border-color:#fecaca!important;}
.theme-light .dev-readonly-pill.info{background:#eff6ff!important;color:#1d4ed8!important;border-color:#bfdbfe!important;}
.theme-light .dev-readonly-table th{background:#f8fafc;}
@media (max-width:760px){.dev-shell-hero-actions{justify-content:flex-start;text-align:left;width:100%;}.dev-readonly-table{min-width:680px;}}

/* WEB30_15_762_DEVELOPMENT_BACKUP_CENTER_MANUAL */
.dev-backup-result{margin-top:12px;max-width:100%;overflow:auto;}
.dev-backup-result h3{margin:0 0 8px;font-size:.95rem;font-weight:850;}
.dev-backup-result .code-box,.dev-backup-result.code-box{max-height:360px;overflow:auto;white-space:pre-wrap;word-break:break-word;}
.dev-shell-backup .dev-readonly-table-wrap{max-height:560px;}
.dev-shell-backup .dev-readonly-table td:last-child{white-space:nowrap;}
.dev-shell-backup .dev-readonly-table .small{min-height:28px;padding:5px 8px;font-size:.75rem;}

/* WEB30_15_763_DEVELOPMENT_SCHEDULED_BACKUP_POLICY */
.dev-scheduled-backup-grid{display:grid;gap:12px;}
.dev-backup-policy-form{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;}
.dev-backup-policy-status article{min-height:74px;}
.dev-backup-policy-status code{font-size:.78rem;word-break:break-all;white-space:normal;}
.dev-backup-policy-status article b{word-break:break-word;}
.dev-shell-backup input[type="time"]{min-height:38px;}
@media (max-width:980px){.dev-backup-policy-form{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:640px){.dev-backup-policy-form{grid-template-columns:1fr;}}


/* WEB30_15_764_DEVELOPMENT_UI_DENSITY_CLEANUP */
.dev-shell-compact{gap:10px!important;}
.dev-ops-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:10px 14px!important;position:relative;overflow:hidden;}
.dev-ops-bar:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:rgba(45,212,191,.9);}
.dev-ops-title{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap;}
.dev-ops-title b{font-size:1.02rem;letter-spacing:.01em;white-space:nowrap;}
.dev-ops-actions{display:flex;align-items:center;gap:8px;justify-content:flex-end;min-width:0;}
.dev-ops-actions small{font-size:.72rem;color:var(--muted);white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis;}
.dev-ops-bar .dev-maintenance-kicker{font-size:.68rem;padding:3px 8px;letter-spacing:.08em;}
.dev-ops-cards{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px!important;}
.dev-ops-cards .dev-shell-card{min-height:74px!important;padding:9px 10px!important;gap:4px!important;border-radius:12px!important;}
.dev-ops-cards .dev-shell-card span{font-size:10.5px!important;letter-spacing:.07em;}
.dev-ops-cards .dev-shell-card b{font-size:15px!important;line-height:1.2;}
.dev-ops-cards .dev-shell-card small{font-size:11.5px!important;line-height:1.25;}
.dev-ops-panel{padding-top:10px!important;}
.dev-shell-tabs{margin:0 0 10px!important;}
.dev-shell-local-panel{padding:12px!important;}
.dev-shell-local-panel h3{margin-top:0!important;margin-bottom:10px!important;font-size:.95rem!important;}
.dev-shell-local-panel .muted:empty{display:none!important;}
.dev-locked-line{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;}
.dev-locked-line h3{margin:0!important;}
.dev-shell-policy,.dev-shell-disabled-actions{display:none!important;}
@media(max-width:1180px){.dev-ops-cards{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:760px){.dev-ops-bar{display:grid;}.dev-ops-actions{justify-content:flex-start}.dev-ops-cards{grid-template-columns:1fr 1fr;}.dev-ops-actions small{max-width:100%;}}
@media(max-width:480px){.dev-ops-cards{grid-template-columns:1fr;}}

/* WEB30_15_765_DEVELOPMENT_RESTORE_PREFLIGHT_SAFE */
.dev-shell-restore .dev-readonly-table-wrap{max-height:560px;}
.dev-shell-restore .dev-readonly-table td:last-child{white-space:nowrap;}
.dev-shell-restore .dev-readonly-table .small{min-height:28px;padding:5px 8px;font-size:.75rem;}
.dev-restore-upload-row{align-items:center;gap:8px;flex-wrap:wrap;}
.dev-restore-upload-row input[type="file"]{max-width:520px;}
.dev-restore-preflight-summary{display:grid;gap:10px;}

/* WEB30_15_766_DEVELOPMENT_CLEANUP_PREVIEW_ONLY */
.dev-shell-cleanup .dev-readonly-table-wrap{max-height:560px;}
.dev-shell-cleanup .dev-readonly-table td:last-child{white-space:nowrap;}
.dev-cleanup-control-grid{grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;margin-bottom:10px;}
.dev-cleanup-control-grid input{min-height:38px;}
.dev-cleanup-control-action{display:flex;align-items:end;min-height:62px;}
.dev-cleanup-control-action .primary-btn{width:100%;}
.dev-cleanup-exec-lock{margin:10px 0;border:1px solid rgba(245,158,11,.24);border-radius:12px;padding:8px 10px;background:rgba(245,158,11,.06);}
@media(max-width:1180px){.dev-cleanup-control-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:640px){.dev-cleanup-control-grid{grid-template-columns:1fr;}.dev-cleanup-control-action{min-height:auto;}}

/* WEB30_15_767_DEVELOPMENT_DB_REPAIR_CHECK_ONLY */
.dev-shell-repair .dev-readonly-table-wrap{max-height:560px;}
.dev-shell-repair .dev-readonly-table td:last-child{max-width:360px;white-space:normal;}
.dev-repair-toolbar{margin-bottom:10px;gap:8px;}
.dev-repair-pick{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:7px;min-width:190px;}
.dev-repair-pick code{min-width:0;overflow:hidden;text-overflow:ellipsis;}
.dev-repair-pick small{grid-column:2;color:var(--muted);font-size:.72rem;margin-top:-2px;}
.dev-repair-result{margin-top:12px;}
@media(max-width:680px){.dev-repair-toolbar{display:grid;grid-template-columns:1fr 1fr;}.dev-repair-toolbar .primary-btn{grid-column:1/-1;}}

/* WEB30_15_768_DEVELOPMENT_SERVICE_DIAGNOSTICS_READONLY */
.dev-shell-diagnostics .dev-readonly-table-wrap{max-height:560px;}
.dev-shell-diagnostics .dev-readonly-table td:last-child{max-width:340px;white-space:normal;}
.dev-shell-diagnostics .dev-readonly-table td:nth-child(2),
.dev-shell-diagnostics .dev-readonly-table td:nth-child(3),
.dev-shell-diagnostics .dev-readonly-table td:nth-child(4){white-space:nowrap;}

/* WEB30_15_769_DEVELOPMENT_MAINTENANCE_LOGS */
.dev-shell-logs .dev-readonly-table-wrap{max-height:560px;}
.dev-shell-logs .dev-readonly-table td:nth-child(1){white-space:nowrap;}
.dev-shell-logs .dev-readonly-table td:nth-child(3){min-width:180px;}
.dev-shell-logs .dev-readonly-table td:last-child{max-width:460px;white-space:normal;}

/* Public corporate landing and login modal gate */
.webbase-public-guest{overflow:hidden;background:#071016;color:#edf5ff}.public-site{height:100vh;overflow:auto;background:radial-gradient(circle at 10% 8%,rgba(35,136,255,.18),transparent 28%),radial-gradient(circle at 88% 16%,rgba(0,194,199,.15),transparent 28%),linear-gradient(135deg,#071016,#0d1721 56%,#101820);color:#edf5ff;scroll-behavior:smooth}.public-header{position:sticky;top:0;z-index:50;min-height:68px;display:grid;grid-template-columns:minmax(250px,.9fr) minmax(340px,1.4fr) auto;gap:16px;align-items:center;padding:12px clamp(14px,3vw,42px);border-bottom:1px solid rgba(255,255,255,.10);background:rgba(5,13,20,.78);backdrop-filter:blur(18px)}.public-brand{display:flex;align-items:center;gap:12px;min-width:0}.public-brand .brand-mark{width:42px;height:42px;border-radius:14px;font-size:13px}.public-brand b{display:block;font-size:1.02rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.public-brand span{display:block;color:#9eafbd;font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.public-top-nav{display:flex;justify-content:center;gap:6px;min-width:0}.public-top-nav button,.public-sidebar button{border:1px solid transparent;background:transparent;color:#bfd1de;border-radius:999px;padding:8px 11px;font-weight:700;white-space:nowrap}.public-top-nav button:hover,.public-sidebar button:hover{color:#fff;border-color:rgba(0,194,199,.35);background:rgba(0,194,199,.10)}.public-header-actions{display:flex;align-items:center;gap:8px;justify-content:flex-end}.public-login-btn,.public-cart-btn,.public-primary,.public-secondary,.public-card-grid article button{border:1px solid rgba(35,136,255,.52);border-radius:999px;padding:9px 14px;font-weight:850;color:#fff;background:linear-gradient(135deg,#2388ff,#00c2c7);box-shadow:0 14px 30px rgba(0,0,0,.22)}.public-cart-btn{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16);color:#edf5ff}.public-cart-btn span{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-inline-start:5px;border-radius:999px;background:#2388ff;color:#fff}.public-layout{display:grid;grid-template-columns:238px minmax(0,1fr);gap:18px;max-width:1480px;margin:0 auto;padding:18px clamp(12px,3vw,42px) 42px}.public-sidebar{position:sticky;top:86px;align-self:start;display:grid;gap:7px;border:1px solid rgba(255,255,255,.11);border-radius:24px;background:rgba(255,255,255,.045);padding:14px;box-shadow:0 18px 55px rgba(0,0,0,.20)}.public-sidebar strong{margin:2px 6px 5px;color:#fff}.public-sidebar button{text-align:right;border-radius:14px;padding:10px}.public-sidebar-card{margin-top:10px;border:1px solid rgba(0,194,199,.24);border-radius:18px;padding:13px;background:linear-gradient(145deg,rgba(35,136,255,.14),rgba(0,194,199,.08))}.public-sidebar-card span{display:block;color:#00c2c7;font-size:.78rem;font-weight:900}.public-sidebar-card b{display:block;margin-top:5px;line-height:1.45}.public-main{display:grid;gap:18px;min-width:0}.public-hero{min-height:560px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:24px;align-items:center;border:1px solid rgba(255,255,255,.10);border-radius:32px;padding:clamp(24px,5vw,56px);background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));box-shadow:0 28px 80px rgba(0,0,0,.28);overflow:hidden}.public-kicker{display:inline-flex;border:1px solid rgba(0,194,199,.38);background:rgba(0,194,199,.10);color:#7ee7ea;border-radius:999px;padding:7px 11px;font-weight:850}.public-hero h1{font-size:clamp(2rem,4.2vw,4.15rem);line-height:1.1;margin:18px 0 14px;letter-spacing:-.04em}.public-hero p,.public-section p{color:#b9c9d4;line-height:1.85;font-size:1.02rem;max-width:760px}.public-hero-actions,.public-contact-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.public-secondary{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18);box-shadow:none}.public-trust-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.public-trust-row span,.public-feature-strip b{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.045);border-radius:999px;padding:8px 11px;color:#c8d7e3}.public-hero-art{position:relative;min-height:430px}.public-device-card{position:absolute;inset:34px 28px auto auto;width:min(420px,92%);min-height:330px;border:1px solid rgba(255,255,255,.15);border-radius:30px;padding:24px;background:linear-gradient(145deg,rgba(14,26,38,.98),rgba(17,38,54,.86));box-shadow:0 32px 80px rgba(0,0,0,.36),inset 0 0 0 1px rgba(255,255,255,.04)}.public-device-card i{display:block;width:54px;height:54px;border-radius:18px;background:linear-gradient(135deg,#2388ff,#00c2c7);box-shadow:0 0 38px rgba(0,194,199,.32)}.public-device-card b{display:block;margin-top:22px;font-size:1.35rem}.public-device-card span{display:block;margin-top:8px;color:#9eafbd}.public-mock-chart{height:150px;margin-top:26px;display:flex;align-items:flex-end;gap:12px}.public-mock-chart em{display:block;flex:1;border-radius:14px 14px 5px 5px;background:linear-gradient(180deg,#00c2c7,#2388ff);box-shadow:0 0 24px rgba(35,136,255,.24)}.public-mock-chart em:nth-child(1){height:42%}.public-mock-chart em:nth-child(2){height:72%}.public-mock-chart em:nth-child(3){height:55%}.public-mock-chart em:nth-child(4){height:86%}.public-floating-card{position:absolute;border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:13px 16px;background:rgba(255,255,255,.08);backdrop-filter:blur(12px);box-shadow:0 16px 44px rgba(0,0,0,.24);font-weight:900}.public-floating-card.card-a{left:0;top:36px}.public-floating-card.card-b{left:18px;bottom:78px}.public-floating-card.card-c{right:18px;bottom:20px}.public-section{border:1px solid rgba(255,255,255,.10);border-radius:28px;padding:clamp(18px,3vw,30px);background:rgba(255,255,255,.045);box-shadow:0 18px 50px rgba(0,0,0,.17)}.public-section-head span{color:#00c2c7;font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.public-section-head h2{margin:6px 0 16px;font-size:clamp(1.4rem,2.4vw,2.25rem)}.public-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.public-card-grid article{min-height:220px;border:1px solid rgba(255,255,255,.11);border-radius:24px;padding:19px;background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025));display:flex;flex-direction:column;gap:9px}.public-card-grid article i{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;background:rgba(35,136,255,.15);color:#7ed6ff;font-style:normal;font-size:1.35rem}.public-card-grid h3{margin:4px 0 0}.public-card-grid p{font-size:.92rem;margin:0;line-height:1.7}.public-card-grid article button{margin-top:auto;align-self:flex-start;padding:8px 12px;background:rgba(35,136,255,.18);box-shadow:none}.public-service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.public-service-list div,.public-process span,.public-demo-terminal span,.public-blog-row article{border:1px solid rgba(255,255,255,.11);border-radius:18px;background:rgba(255,255,255,.045);padding:15px}.public-service-list b{display:block}.public-service-list small{display:block;margin-top:7px;color:#9eafbd;line-height:1.6}.public-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);gap:18px;align-items:center}.public-process,.public-demo-terminal{display:grid;gap:8px}.public-feature-strip{display:flex;gap:9px;flex-wrap:wrap}.public-demo-terminal{direction:ltr;text-align:left;font-family:Consolas,monospace}.public-demo-terminal span:before{content:'✓ ';color:#22c55e}.public-contact{background:linear-gradient(145deg,rgba(35,136,255,.14),rgba(0,194,199,.08))}.public-blog-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.public-login-modal{position:fixed;inset:0;z-index:10060;background:rgba(2,8,13,.68)!important;backdrop-filter:blur(14px);padding:18px}.public-login-modal:before{display:none!important}.public-login-modal:after{display:none!important}.public-login-modal .login-card{max-height:calc(100vh - 36px);overflow:auto}.public-modal-close{position:absolute;top:10px;right:10px;z-index:4;width:32px;height:32px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.08);color:var(--text);font-size:22px;line-height:1}.public-modal-close:hover{background:rgba(239,68,68,.22);border-color:rgba(239,68,68,.55)}.webbase-authenticated #publicSite{display:none!important}@media(max-width:1120px){.public-header{grid-template-columns:1fr auto}.public-top-nav{grid-column:1 / -1;justify-content:flex-start;overflow-x:auto;padding-bottom:2px}.public-layout{grid-template-columns:1fr}.public-sidebar{position:relative;top:auto;display:flex;overflow-x:auto}.public-sidebar strong,.public-sidebar-card{display:none}.public-sidebar button{flex:0 0 auto}.public-hero{grid-template-columns:1fr}.public-hero-art{min-height:340px}.public-card-grid,.public-service-list,.public-blog-row{grid-template-columns:1fr}.public-split{grid-template-columns:1fr}}@media(max-width:680px){.public-header{grid-template-columns:1fr;gap:10px}.public-header-actions{justify-content:stretch}.public-header-actions button{flex:1}.public-layout{padding:12px 10px 28px}.public-hero{padding:22px;min-height:auto}.public-hero h1{font-size:2rem}.public-hero-art{display:none}.public-top-nav{justify-content:flex-start}.public-trust-row span,.public-feature-strip b{width:100%;text-align:center}}
.public-cart-btn.cart-pulse,[data-public-cart].cart-pulse{animation:publicCartPulse .42s ease}@keyframes publicCartPulse{0%{transform:scale(1)}45%{transform:scale(1.04)}100%{transform:scale(1)}}

/* Public disclosure cleanup */
.public-register-btn{border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:9px 14px;font-weight:850;color:#edf5ff;background:rgba(255,255,255,.075);box-shadow:0 14px 30px rgba(0,0,0,.18)}
.public-register-btn:hover{background:rgba(0,194,199,.14);border-color:rgba(0,194,199,.38);color:#fff}
.public-hero{min-height:460px!important;padding:clamp(22px,3.5vw,44px)!important;grid-template-columns:minmax(0,1fr) minmax(300px,.86fr)!important}
.public-hero h1{font-size:clamp(1.9rem,3.35vw,3.35rem)!important;line-height:1.22!important;letter-spacing:-.015em!important;margin:.22em 0 .24em!important;max-width:880px!important}
.public-hero p{font-size:clamp(.96rem,1.15vw,1.12rem)!important;line-height:2!important;max-width:720px!important}.public-kicker{font-size:.78rem!important;padding:7px 12px!important}.public-trust-row span{font-size:.82rem!important}.public-device-card.main-card{min-height:280px!important}.public-main{gap:16px!important}.public-section{padding:22px!important;border-radius:24px!important}.public-section-head h2{font-size:clamp(1.2rem,2vw,1.8rem)!important}.public-layout{grid-template-columns:218px minmax(0,1fr)!important;gap:16px!important;padding-top:14px!important}.public-sidebar{top:82px!important;border-radius:20px!important;padding:12px!important}.public-sidebar button{padding:8px 10px!important}.public-top-nav button{padding:7px 10px!important}.public-header{min-height:62px!important;padding-top:10px!important;padding-bottom:10px!important}
.public-login-modal{position:fixed!important;inset:0!important;z-index:10060!important;display:grid!important;place-items:center!important;overflow:hidden!important;background:rgba(2,8,13,.70)!important;backdrop-filter:blur(14px)!important;padding:14px!important}.public-login-modal.hidden{display:none!important}.public-login-modal:before,.public-login-modal:after{display:none!important}.public-login-modal .login-card{width:min(520px,calc(100vw - 28px))!important;max-height:calc(100dvh - 28px)!important;overflow:auto!important;overflow-x:hidden!important;padding:20px 22px!important;border-radius:22px!important}.public-login-modal .login-card *{box-sizing:border-box}.public-auth-brand{padding-inline-end:32px}.public-auth-brand .brand-mark{width:46px;height:46px;border-radius:14px;font-size:.9rem}.public-auth-brand h1{font-size:1.28rem!important;margin:0}.public-auth-brand p{font-size:.82rem!important;margin:4px 0 0;color:var(--muted)}.public-auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:16px 0 4px;padding:5px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.045)}.public-auth-tabs button{border:0;border-radius:12px;background:transparent;color:var(--muted);font-weight:850;padding:9px 10px}.public-auth-tabs button.active{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;box-shadow:0 10px 24px rgba(0,0,0,.24)}.public-login-modal .login-form{gap:10px;margin-top:14px}.public-login-modal .login-form label{gap:5px;font-size:.86rem}.public-login-modal input,.public-login-modal textarea{width:100%;min-width:0}.public-login-modal .remember-row{display:flex;align-items:center;gap:8px}.public-login-modal .remember-row input{width:auto}.public-login-modal .login-action-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}.public-login-modal .login-action-row .primary-btn,.public-login-modal .login-action-row .ghost-btn{width:100%!important;min-width:0!important;flex:unset!important}.public-login-modal .form-message{min-height:18px;font-size:.82rem}.public-login-modal .form-message.ok{color:#22c55e}.public-login-modal .form-message.bad{color:#ff6b6b}.public-register-panel.hidden{display:none!important}.login-card.register-mode #loginForm,.login-card.register-mode #forgotPasswordPanel{display:none!important}.login-card.register-mode #publicRegisterPanel{display:block!important}.login-card.register-mode .login-status{margin-top:12px}.login-card:not(.register-mode) #publicRegisterPanel{display:none!important}.public-modal-close{top:12px!important;right:12px!important;width:34px!important;height:34px!important}.public-login-modal .login-status{font-size:.78rem!important;white-space:normal!important;line-height:1.6!important}.forgot-password-panel{max-width:100%;overflow:hidden}.reset-step-panel{max-width:100%}
@media(max-width:1080px){.public-layout{grid-template-columns:1fr!important}.public-sidebar{position:relative!important;top:auto!important;grid-template-columns:repeat(2,minmax(0,1fr))}.public-sidebar strong,.public-sidebar-card{grid-column:1/-1}.public-hero{grid-template-columns:1fr!important}.public-hero-art{min-height:320px}.public-header{grid-template-columns:1fr;gap:10px}.public-top-nav{justify-content:flex-start;overflow:auto;padding-bottom:2px}.public-header-actions{justify-content:flex-start}}
@media(max-width:620px){.public-hero h1{font-size:2rem!important}.public-hero{padding:20px!important;border-radius:24px!important}.public-sidebar{grid-template-columns:1fr}.public-login-modal .login-card{padding:18px 16px!important}.public-login-modal .login-action-row{grid-template-columns:1fr!important}.public-auth-tabs{grid-template-columns:1fr}.public-brand span{display:none}.public-header-actions{flex-wrap:wrap}.public-hero-art{display:none}}

/* Public disclosure cleanup */
.webbase-public-guest .login-status{display:none!important}
.public-login-modal .login-card.register-mode{max-width:520px!important}
.public-login-modal .public-register-panel small.muted{font-size:.78rem!important;line-height:1.7!important}

/* WEB30_15_775_DEVICE_MANAGEMENT_ACCORDION_IDENTITY_TABLE */
/* WEB30_15_777 Device Management parameter/value contrast template */
.dc-manage-accordion-card{padding:0;overflow:hidden;background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 96%,var(--accent) 4%),var(--panel));border-color:color-mix(in srgb,var(--line) 86%,var(--text) 14%);border-radius:11px;box-shadow:none;}
.dc-manage-accordion-card.open{border-color:color-mix(in srgb,var(--accent) 48%,var(--line));}
.dc-manage-accordion-card .dc-manage-summary-row{display:grid;grid-template-columns:36px minmax(230px,1.55fr) minmax(112px,.62fr) minmax(104px,.55fr) minmax(146px,.82fr) minmax(118px,.6fr) minmax(148px,.78fr) auto;gap:8px;align-items:center;padding:9px 11px;min-width:0;}
.dc-manage-toggle{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;align-self:center;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--panel2) 84%,var(--accent) 16%);color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:18px;font-weight:900;line-height:1;cursor:pointer;}
.dc-manage-toggle:hover,.dc-manage-toggle:focus{border-color:var(--accent);outline:0;background:color-mix(in srgb,var(--accent) 22%,var(--panel2));}
.dc-manage-summary-title{min-width:0;align-self:center;padding-inline-start:2px;}
.dc-manage-summary-title strong{display:block;font-size:15px;font-weight:850;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text);}
.dc-manage-summary-title code{display:block;margin-top:4px;padding:0;background:transparent;color:color-mix(in srgb,var(--text) 70%,var(--muted));font-family:"Cascadia Mono","JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;font-weight:650;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.01em;}
.dc-manage-summary-cell{display:grid;grid-template-columns:76px minmax(0,1fr);gap:0;align-items:stretch;min-width:0;padding:0;border:1px solid color-mix(in srgb,var(--line) 84%,transparent);border-inline-start:3px solid var(--muted);border-radius:8px;background:color-mix(in srgb,var(--panel) 78%,var(--panel2));overflow:hidden;}
.dc-manage-summary-cell .dc-manage-param{display:flex;align-items:center;padding:6px 7px;color:color-mix(in srgb,var(--text) 46%,var(--muted));font-size:10px;font-weight:900;letter-spacing:.045em;text-transform:uppercase;line-height:1.15;background:color-mix(in srgb,var(--panel2) 82%,#000 8%);border-inline-end:1px solid color-mix(in srgb,var(--line) 78%,transparent);}
.dc-manage-summary-cell .dc-manage-value{display:flex;align-items:center;min-width:0;padding:5px 7px;background:color-mix(in srgb,var(--control) 42%,transparent);}
.dc-manage-summary-cell code,.dc-manage-mono{display:block;margin:0;padding:0;background:transparent;color:var(--text);font-family:"Cascadia Mono","JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;font-weight:680;line-height:1.34;white-space:normal;overflow-wrap:anywhere;word-break:break-word;user-select:text;-webkit-user-select:text;letter-spacing:.005em;}
.dc-manage-summary-cell.tone-ok{border-inline-start-color:color-mix(in srgb,var(--good) 82%,var(--line))}.dc-manage-summary-cell.tone-warn{border-inline-start-color:color-mix(in srgb,var(--warn) 82%,var(--line))}.dc-manage-summary-cell.tone-bad{border-inline-start-color:color-mix(in srgb,var(--bad) 82%,var(--line))}.dc-manage-summary-cell.tone-neutral{border-inline-start-color:var(--muted)}
.dc-manage-summary-cell.tone-ok .dc-manage-value code{color:color-mix(in srgb,var(--good) 48%,var(--text));}.dc-manage-summary-cell.tone-warn .dc-manage-value code{color:color-mix(in srgb,var(--warn) 50%,var(--text));}.dc-manage-summary-cell.tone-bad .dc-manage-value code{color:color-mix(in srgb,var(--bad) 52%,var(--text));}
.dc-manage-summary-badges{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap;align-self:center;min-width:110px;}
.dc-manage-detail-wrap{border-top:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));padding:11px;background:color-mix(in srgb,var(--bg) 42%,var(--panel2));}
.dc-manage-detail-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start;}
.dc-manage-detail-section{border:1px solid color-mix(in srgb,var(--line) 90%,transparent);border-radius:10px;background:color-mix(in srgb,var(--panel) 92%,var(--panel2) 8%);overflow:hidden;min-width:0;}
.dc-manage-detail-section h4{display:flex;align-items:center;gap:7px;margin:0;padding:8px 10px;border-bottom:1px solid color-mix(in srgb,var(--line) 88%,transparent);background:linear-gradient(90deg,color-mix(in srgb,var(--panel2) 88%,var(--accent) 12%),color-mix(in srgb,var(--panel2) 76%,transparent));color:var(--text);font-size:12.5px;font-weight:900;letter-spacing:.015em;}
.dc-manage-detail-section h4:before{content:'';width:7px;height:16px;border-radius:2px;background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent);}
.dc-manage-detail-head{display:grid;grid-template-columns:178px minmax(0,1fr);border-bottom:1px solid color-mix(in srgb,var(--line) 82%,transparent);background:color-mix(in srgb,var(--panel2) 84%,#000 8%);}
.dc-manage-detail-head span,.dc-manage-detail-head b{padding:6px 10px;color:color-mix(in srgb,var(--text) 48%,var(--muted));font-size:10px;font-weight:950;letter-spacing:.07em;text-transform:uppercase;line-height:1.1;}
.dc-manage-detail-head span{border-inline-end:1px solid color-mix(in srgb,var(--line) 76%,transparent);}
.dc-manage-detail-grid{display:grid;grid-template-columns:1fr;gap:0;}
.dc-manage-detail-cell{display:grid;grid-template-columns:178px minmax(0,1fr);align-items:stretch;min-width:0;padding:0;border-bottom:1px solid color-mix(in srgb,var(--line) 68%,transparent);border-inline-start:4px solid transparent;background:color-mix(in srgb,var(--panel) 94%,transparent);}
.dc-manage-detail-cell:nth-child(even){background:color-mix(in srgb,var(--panel2) 52%,var(--panel) 48%);}
.dc-manage-detail-cell:last-child{border-bottom-color:transparent;}
.dc-manage-detail-cell .dc-manage-param{display:flex;align-items:center;min-width:0;padding:8px 10px;color:color-mix(in srgb,var(--text) 42%,var(--muted));font-size:11px;font-weight:900;line-height:1.28;background:color-mix(in srgb,var(--panel2) 82%,#000 6%);border-inline-end:1px solid color-mix(in srgb,var(--line) 74%,transparent);}
.dc-manage-detail-cell .dc-manage-value{display:flex;align-items:center;min-width:0;padding:5px 7px;background:color-mix(in srgb,var(--control) 34%,transparent);}
.dc-manage-detail-cell .dc-manage-mono{width:100%;font-size:12.5px;font-weight:720;line-height:1.38;color:color-mix(in srgb,var(--text) 94%,var(--accent));background:color-mix(in srgb,var(--bg) 36%,var(--panel));border:1px solid color-mix(in srgb,var(--line) 62%,transparent);border-radius:6px;padding:4px 7px;min-height:24px;}
.dc-manage-detail-cell.tone-ok{border-inline-start-color:color-mix(in srgb,var(--good) 76%,var(--line));}.dc-manage-detail-cell.tone-warn{border-inline-start-color:color-mix(in srgb,var(--warn) 82%,var(--line));}.dc-manage-detail-cell.tone-bad{border-inline-start-color:color-mix(in srgb,var(--bad) 84%,var(--line));}.dc-manage-detail-cell.tone-neutral{border-inline-start-color:color-mix(in srgb,var(--muted) 72%,var(--line));}
.dc-manage-detail-cell.tone-ok .dc-manage-mono{color:color-mix(in srgb,var(--good) 38%,var(--text));border-color:color-mix(in srgb,var(--good) 26%,var(--line));}.dc-manage-detail-cell.tone-warn .dc-manage-mono{color:color-mix(in srgb,var(--warn) 42%,var(--text));border-color:color-mix(in srgb,var(--warn) 32%,var(--line));}.dc-manage-detail-cell.tone-bad .dc-manage-mono{color:color-mix(in srgb,var(--bad) 44%,var(--text));border-color:color-mix(in srgb,var(--bad) 34%,var(--line));}
.dc-manage-edit-box{margin:0 0 10px;padding:9px;border:1px solid color-mix(in srgb,var(--accent) 26%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--panel) 90%,var(--accent) 10%);}
.dc-manage-edit-title{margin:0 0 8px;color:color-mix(in srgb,var(--text) 68%,var(--muted));font-size:11px;font-weight:850;letter-spacing:0;text-transform:none;}
.dc-manage-accordion-card .dc-manage-actions{margin:10px 0 0;padding-top:10px;}
.theme-light .dc-manage-summary-cell .dc-manage-param,.theme-light .dc-manage-detail-cell .dc-manage-param,.theme-light .dc-manage-detail-head{background:color-mix(in srgb,var(--panel2) 92%,#dbe6ef 8%);}
.theme-light .dc-manage-detail-cell .dc-manage-value,.theme-light .dc-manage-summary-cell .dc-manage-value{background:color-mix(in srgb,var(--control) 28%,#fff 72%);}
.theme-light .dc-manage-detail-cell .dc-manage-mono{background:#fff;}
@media(max-width:1250px){.dc-manage-accordion-card .dc-manage-summary-row{grid-template-columns:36px minmax(190px,1fr) repeat(3,minmax(126px,.7fr)) auto}.dc-manage-summary-cell:nth-of-type(n+5){display:none}.dc-manage-detail-groups{grid-template-columns:1fr}.dc-manage-detail-head,.dc-manage-detail-cell{grid-template-columns:170px minmax(0,1fr)}}
@media(max-width:760px){.dc-manage-accordion-card .dc-manage-summary-row{grid-template-columns:36px minmax(0,1fr);}.dc-manage-summary-cell,.dc-manage-summary-badges{grid-column:2}.dc-manage-summary-badges{justify-content:flex-start}.dc-manage-summary-cell{grid-template-columns:84px minmax(0,1fr)}.dc-manage-detail-groups{grid-template-columns:1fr}.dc-manage-detail-head,.dc-manage-detail-cell{grid-template-columns:minmax(112px,38%) minmax(0,1fr)}.dc-manage-detail-cell .dc-manage-param{font-size:10.5px;padding:7px 8px}.dc-manage-detail-cell .dc-manage-mono{font-size:11.8px}.dc-manage-edit-box .dc-manage-fields{grid-template-columns:1fr}}

/* WEB30_15_778_DEVICE_MANAGEMENT_INTERACTIVE_CARD_REFINEMENT */
.dc-manage-accordion-card .dc-manage-summary-row{cursor:pointer;transition:background .12s ease,border-color .12s ease;}
.dc-manage-accordion-card .dc-manage-summary-row:hover{background:color-mix(in srgb,var(--panel2) 36%,transparent);}
.dc-manage-accordion-card .dc-manage-summary-row:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 72%,transparent);outline-offset:-3px;}
.dc-manage-accordion-card .dc-manage-toggle{position:relative;z-index:1;}
.dc-manage-detail-groups{align-items:stretch;grid-auto-rows:1fr;}
.dc-manage-detail-section{display:flex;flex-direction:column;height:100%;}
.dc-manage-detail-section.open{min-height:calc(76px + (var(--dc-section-rows,1) * 40px));}
.dc-manage-detail-section.collapsed{height:auto;min-height:0;}
.dc-manage-detail-title{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;margin:0;padding:8px 10px;border:0;border-bottom:1px solid color-mix(in srgb,var(--line) 88%,transparent);background:linear-gradient(90deg,color-mix(in srgb,var(--panel2) 88%,var(--accent) 12%),color-mix(in srgb,var(--panel2) 76%,transparent));color:var(--text);text-align:start;cursor:pointer;}
.dc-manage-detail-title:hover,.dc-manage-detail-title:focus{outline:0;background:linear-gradient(90deg,color-mix(in srgb,var(--panel2) 80%,var(--accent) 20%),color-mix(in srgb,var(--panel2) 82%,transparent));}
.dc-manage-detail-title:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:-2px;}
.dc-manage-detail-title b{min-width:0;font-size:12.5px;font-weight:900;letter-spacing:.015em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dc-manage-detail-title small{color:color-mix(in srgb,var(--text) 48%,var(--muted));font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;}
.dc-section-collapse-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line));border-radius:6px;background:color-mix(in srgb,var(--panel) 76%,var(--accent) 8%);font-family:"Cascadia Mono","JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;font-weight:950;line-height:1;}
.dc-manage-detail-section h4{display:none;}
.dc-manage-detail-grid{flex:1;min-height:calc(var(--dc-section-rows,1) * 40px);background:color-mix(in srgb,var(--panel) 86%,transparent);}
.dc-manage-detail-cell{min-height:40px;}
.dc-manage-detail-cell:last-child{border-bottom-color:color-mix(in srgb,var(--line) 38%,transparent);}
.dc-manage-detail-cell .dc-manage-param{background:color-mix(in srgb,var(--panel2) 88%,#000 7%);color:color-mix(in srgb,var(--text) 58%,var(--muted));}
.dc-manage-card.editing{border-color:color-mix(in srgb,var(--bad) 50%,var(--line));}
.dc-manage-card.editing .editable-registry-field{border-color:color-mix(in srgb,var(--bad) 72%,var(--line));border-inline-start-color:var(--bad);box-shadow:0 0 0 1px color-mix(in srgb,var(--bad) 52%,transparent) inset;}
.dc-manage-card.editing .editable-registry-field>span{color:color-mix(in srgb,var(--bad) 56%,var(--text));background:color-mix(in srgb,var(--bad) 10%,var(--panel2));}
.dc-manage-card.editing .editable-registry-field input,.dc-manage-card.editing .editable-registry-field select{border-inline-start:1px solid color-mix(in srgb,var(--bad) 38%,var(--line));background:color-mix(in srgb,var(--bad) 5%,var(--panel));}
.dc-manage-card.editing .editable-registry-field input:focus,.dc-manage-card.editing .editable-registry-field select:focus{outline:2px solid color-mix(in srgb,var(--bad) 70%,transparent);outline-offset:-2px;}
.dc-manage-card.editing .dc-manage-detail-cell.editable-param .dc-manage-param{color:color-mix(in srgb,var(--bad) 55%,var(--text));}
.dc-manage-card.editing .dc-manage-detail-cell.editable-param .dc-manage-mono{border-color:color-mix(in srgb,var(--bad) 45%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--bad) 22%,transparent) inset;}
.dc-edit-star{display:none;margin-inline-start:5px;color:var(--bad);font-size:14px;font-weight:950;line-height:1;}
.dc-manage-field.changed .dc-edit-star{display:inline-block;}
.dc-manage-field.changed input,.dc-manage-field.changed select{color:color-mix(in srgb,var(--bad) 42%,var(--text));}
.dc-manage-card.has-edits .dc-manage-edit-title:after{content:' * modified';margin-inline-start:8px;color:var(--bad);font-weight:950;letter-spacing:.025em;}
.theme-light .dc-manage-detail-title{background:linear-gradient(90deg,color-mix(in srgb,var(--panel2) 90%,#dbe6ef 10%),color-mix(in srgb,var(--panel2) 84%,transparent));}
.theme-light .dc-manage-detail-grid{background:color-mix(in srgb,var(--panel) 92%,#fff 8%);}
.theme-light .dc-manage-card.editing .editable-registry-field input,.theme-light .dc-manage-card.editing .editable-registry-field select{background:color-mix(in srgb,var(--bad) 4%,#fff);}
@media(max-width:1250px){.dc-manage-detail-section.open{min-height:auto}.dc-manage-detail-grid{min-height:0}.dc-manage-detail-groups{grid-auto-rows:auto}}
@media(max-width:760px){.dc-manage-detail-title{grid-template-columns:24px minmax(0,1fr);}.dc-manage-detail-title small{grid-column:2;}.dc-manage-card.editing .editable-registry-field input,.dc-manage-card.editing .editable-registry-field select{border-inline-start:0}}

/* WEB30_15_779: Device Management vertical nested accordion, compact two-column pairs */
.dc-manage-detail-groups{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  align-items:start;
  grid-auto-rows:auto;
}
.dc-manage-detail-section{
  display:block;
  height:auto;
  min-height:0;
}
.dc-manage-detail-section.open{
  min-height:0;
}
.dc-manage-detail-section.collapsed{
  height:auto;
  min-height:0;
}
.dc-manage-detail-head{
  display:none;
}
.dc-manage-detail-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  padding:8px;
  min-height:0;
  flex:none;
  background:color-mix(in srgb,var(--panel) 88%,transparent);
}
.dc-manage-detail-cell{
  position:relative;
  display:grid;
  grid-template-columns:minmax(126px,32%) minmax(0,1fr);
  align-items:stretch;
  min-height:0;
  border:1px solid color-mix(in srgb,var(--line) 72%,transparent);
  border-inline-start-width:4px;
  border-radius:8px;
  overflow:hidden;
  background:color-mix(in srgb,var(--panel) 95%,transparent);
}
.dc-manage-detail-cell:nth-child(even){
  background:color-mix(in srgb,var(--panel2) 46%,var(--panel) 54%);
}
.dc-manage-detail-cell:last-child{
  border-bottom-color:color-mix(in srgb,var(--line) 72%,transparent);
}
.dc-manage-detail-cell .dc-manage-param{
  padding:7px 9px;
  min-height:34px;
}
.dc-manage-detail-cell .dc-manage-value{
  padding:5px 6px;
  min-height:34px;
}
.dc-manage-detail-cell .dc-manage-mono{
  min-height:24px;
  display:flex;
  align-items:center;
}
.dc-manage-card.editing .dc-manage-detail-cell.editable-param{
  border-color:color-mix(in srgb,var(--bad) 62%,var(--line));
  box-shadow:0 0 0 1px color-mix(in srgb,var(--bad) 24%,transparent) inset;
}
.dc-manage-card.editing .dc-manage-detail-cell.editable-param .dc-manage-param{
  color:color-mix(in srgb,var(--bad) 58%,var(--text));
  background:color-mix(in srgb,var(--bad) 9%,var(--panel2));
}
.dc-manage-card.editing .dc-manage-detail-cell.editable-param.changed::after{
  content:'*';
  position:absolute;
  inset-block-start:5px;
  inset-inline-end:8px;
  color:var(--bad);
  font-size:17px;
  font-weight:950;
  line-height:1;
}
.dc-manage-card.editing .dc-manage-detail-cell.editable-param.changed .dc-manage-mono{
  color:color-mix(in srgb,var(--bad) 48%,var(--text));
  border-color:color-mix(in srgb,var(--bad) 46%,var(--line));
}
.theme-light .dc-manage-detail-grid{
  background:color-mix(in srgb,var(--panel) 94%,#fff 6%);
}
@media(max-width:760px){
  .dc-manage-detail-grid{grid-template-columns:1fr;gap:6px;padding:7px;}
  .dc-manage-detail-cell{grid-template-columns:minmax(112px,38%) minmax(0,1fr);}
}

/* WEB30_15_780_DEVICE_MANAGEMENT_TREE_HEADER_STATUS_UI */
.dc-manage-accordion-card .dc-manage-summary-row{
  grid-template-columns:36px repeat(6,minmax(124px,1fr)) minmax(108px,auto);
  gap:8px;
  cursor:pointer;
}
.dc-manage-accordion-card .dc-manage-summary-row:hover{
  background:color-mix(in srgb,var(--panel2) 34%,transparent);
}
.dc-manage-summary-cell{
  grid-template-columns:74px minmax(0,1fr);
  border:1px solid color-mix(in srgb,var(--line) 84%,transparent);
  border-inline-start:1px solid color-mix(in srgb,var(--line) 84%,transparent);
  min-height:38px;
}
.dc-manage-summary-cell.tone-ok,
.dc-manage-summary-cell.tone-warn,
.dc-manage-summary-cell.tone-bad,
.dc-manage-summary-cell.tone-neutral{
  border-inline-start-color:color-mix(in srgb,var(--line) 84%,transparent);
}
.dc-manage-summary-cell.tone-ok{border-color:color-mix(in srgb,var(--good) 28%,var(--line));}
.dc-manage-summary-cell.tone-warn{border-color:color-mix(in srgb,var(--warn) 34%,var(--line));}
.dc-manage-summary-cell.tone-bad{border-color:color-mix(in srgb,var(--bad) 36%,var(--line));}
.dc-manage-summary-cell .dc-manage-param{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.dc-manage-summary-cell .dc-manage-value{
  overflow:hidden;
}
.dc-manage-summary-cell code,
.dc-manage-mono{
  white-space:nowrap;
  overflow-x:auto;
  overflow-y:hidden;
  overflow-wrap:normal;
  word-break:normal;
  text-overflow:clip;
  scrollbar-width:thin;
}
.dc-manage-state-icons{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-width:0;
  align-self:stretch;
  padding:3px 6px;
  border:1px solid color-mix(in srgb,var(--line) 84%,transparent);
  border-radius:8px;
  background:color-mix(in srgb,var(--panel) 78%,var(--panel2));
}
.dc-manage-state-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:25px;
  height:25px;
  border-radius:8px;
  border:1px solid color-mix(in srgb,var(--line) 72%,transparent);
  background:color-mix(in srgb,var(--control) 42%,transparent);
  color:var(--muted);
  font-size:14px;
  font-weight:950;
  line-height:1;
  box-shadow:none;
}
.dc-manage-state-icon.tone-ok{color:var(--good);border-color:color-mix(in srgb,var(--good) 42%,var(--line));background:color-mix(in srgb,var(--good) 8%,var(--panel));}
.dc-manage-state-icon.tone-warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 48%,var(--line));background:color-mix(in srgb,var(--warn) 9%,var(--panel));}
.dc-manage-state-icon.tone-bad{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 48%,var(--line));background:color-mix(in srgb,var(--bad) 9%,var(--panel));}
.dc-manage-state-icon.tone-neutral{color:var(--muted);border-color:color-mix(in srgb,var(--muted) 34%,var(--line));}
.dc-manage-state-icon.pulse{animation:dcManageSoftPulse 1.2s ease-in-out infinite;}
@keyframes dcManageSoftPulse{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--warn) 0%,transparent)}50%{box-shadow:0 0 0 3px color-mix(in srgb,var(--warn) 28%,transparent)}}
.dc-manage-detail-wrap{
  position:relative;
  padding:10px 11px 11px 34px;
}
.dc-manage-detail-wrap::before{
  content:'';
  position:absolute;
  left:17px;
  top:13px;
  bottom:56px;
  width:1px;
  background:color-mix(in srgb,var(--accent) 32%,var(--line));
}
.dc-manage-detail-groups{
  margin-left:12px;
}
.dc-manage-detail-section{
  position:relative;
}
.dc-manage-detail-section::before{
  content:'';
  position:absolute;
  left:-18px;
  top:20px;
  width:18px;
  height:1px;
  background:color-mix(in srgb,var(--accent) 32%,var(--line));
}
.dc-manage-detail-title{
  grid-template-columns:24px minmax(0,1fr) auto;
}
.dc-manage-detail-cell .dc-manage-value{
  overflow:hidden;
}
.dc-manage-detail-cell .dc-manage-mono{
  max-width:100%;
  min-width:0;
  justify-content:flex-start;
}
.dc-manage-card.editing .dc-manage-detail-cell.editable-param .dc-manage-mono{
  white-space:nowrap;
}
.theme-light .dc-manage-state-icons{background:color-mix(in srgb,var(--panel) 82%,#fff 18%);}
@media(max-width:1340px){
  .dc-manage-accordion-card .dc-manage-summary-row{grid-template-columns:36px repeat(3,minmax(132px,1fr)) minmax(108px,auto);}
  .dc-manage-summary-cell:nth-of-type(n+5){display:none;}
}
@media(max-width:760px){
  .dc-manage-accordion-card .dc-manage-summary-row{grid-template-columns:36px minmax(0,1fr) minmax(90px,auto);}
  .dc-manage-summary-cell{grid-column:auto;grid-template-columns:70px minmax(0,1fr);}
  .dc-manage-summary-cell:nth-of-type(n+4){display:none;}
  .dc-manage-state-icons{grid-column:auto;justify-content:flex-end;}
  .dc-manage-detail-wrap{padding-left:21px;}
  .dc-manage-detail-wrap::before{left:10px;}
  .dc-manage-detail-groups{margin-left:8px;}
  .dc-manage-detail-section::before{left:-12px;width:12px;}
}

/* WEB30_15_781_DEVICE_MANAGEMENT_HEADER_CELL_WIDTH_REBALANCE */
.dc-manage-accordion-card .dc-manage-summary-row{
  grid-template-columns:36px minmax(202px,.95fr) minmax(270px,1.18fr) minmax(318px,1.36fr) minmax(178px,.72fr) 92px minmax(160px,.68fr) 112px;
  gap:8px;
}
.dc-manage-summary-cell{
  min-width:0;
  min-height:38px;
}
.dc-manage-summary-cell .dc-manage-param{
  font-size:9.4px;
  letter-spacing:.035em;
  padding:6px 6px;
}
.dc-manage-summary-cell .dc-manage-value{
  min-width:0;
  padding:5px 7px;
}
.dc-manage-summary-cell.summary-name{grid-template-columns:64px minmax(0,1fr);}
.dc-manage-summary-cell.summary-serial{grid-template-columns:64px minmax(0,1fr);}
.dc-manage-summary-cell.summary-module{grid-template-columns:70px minmax(0,1fr);}
.dc-manage-summary-cell.summary-pinmap{grid-template-columns:70px minmax(0,1fr);}
.dc-manage-summary-cell.summary-sensors{grid-template-columns:58px minmax(0,1fr);}
.dc-manage-summary-cell.summary-firmware{grid-template-columns:80px minmax(0,1fr);}
.dc-manage-summary-cell code,
.dc-manage-detail-cell .dc-manage-mono,
.dc-manage-field>code{
  white-space:nowrap;
  overflow:hidden;
  overflow-x:hidden;
  overflow-y:hidden;
  text-overflow:ellipsis;
  overflow-wrap:normal;
  word-break:normal;
  scrollbar-width:none;
}
.dc-manage-summary-cell code::-webkit-scrollbar,
.dc-manage-detail-cell .dc-manage-mono::-webkit-scrollbar,
.dc-manage-field>code::-webkit-scrollbar{display:none;}
.dc-manage-summary-cell code{
  max-width:100%;
  font-size:11.8px;
  line-height:1.25;
}
.dc-manage-summary-cell.summary-sensors code{
  text-align:center;
  font-size:12px;
}
.dc-manage-state-icons{
  min-width:108px;
}
@media(max-width:1500px){
  .dc-manage-accordion-card .dc-manage-summary-row{
    grid-template-columns:36px minmax(186px,.92fr) minmax(250px,1.18fr) minmax(284px,1.26fr) minmax(154px,.66fr) 76px minmax(142px,.62fr) 104px;
    gap:6px;
    padding-inline:9px;
  }
  .dc-manage-summary-cell .dc-manage-param{font-size:8.9px;padding-inline:5px;}
  .dc-manage-summary-cell .dc-manage-value{padding-inline:6px;}
  .dc-manage-summary-cell code{font-size:11.2px;letter-spacing:0;}
  .dc-manage-summary-cell.summary-name{grid-template-columns:58px minmax(0,1fr);}
  .dc-manage-summary-cell.summary-serial{grid-template-columns:58px minmax(0,1fr);}
  .dc-manage-summary-cell.summary-module{grid-template-columns:60px minmax(0,1fr);}
  .dc-manage-summary-cell.summary-pinmap{grid-template-columns:62px minmax(0,1fr);}
  .dc-manage-summary-cell.summary-sensors{grid-template-columns:54px minmax(0,1fr);}
  .dc-manage-summary-cell.summary-firmware{grid-template-columns:72px minmax(0,1fr);}
  .dc-manage-state-icons{min-width:100px;gap:5px;padding-inline:5px;}
  .dc-manage-state-icon{width:24px;height:24px;}
}
@media(max-width:1280px){
  .dc-manage-accordion-card .dc-manage-summary-row{grid-template-columns:36px repeat(3,minmax(132px,1fr)) minmax(108px,auto);}
  .dc-manage-summary-cell:nth-of-type(n+5){display:none;}
}
@media(max-width:760px){
  .dc-manage-accordion-card .dc-manage-summary-row{grid-template-columns:36px minmax(0,1fr) minmax(90px,auto);}
  .dc-manage-summary-cell{grid-column:auto;grid-template-columns:70px minmax(0,1fr);}
  .dc-manage-summary-cell:nth-of-type(n+4){display:none;}
}

/* WEB30_15_782_DEVICE_MANAGEMENT_COMPACT_STATUS_STRIP */
.dc-manage-accordion-card .dc-manage-summary-row{
  grid-template-columns:34px minmax(190px,1.05fr) minmax(236px,1.22fr) minmax(286px,1.5fr) minmax(148px,.7fr) 66px minmax(128px,.62fr) 150px;
  gap:6px;
  padding:8px 10px;
  align-items:center;
}
.dc-manage-toggle{
  width:29px;
  height:29px;
  border-radius:8px;
}
.dc-manage-summary-cell{
  min-height:36px;
  border-radius:7px;
}
.dc-manage-summary-cell .dc-manage-param{
  justify-content:center;
  font-size:8.35px;
  letter-spacing:.025em;
  padding:5px 4px;
  line-height:1.05;
}
.dc-manage-summary-cell .dc-manage-value{
  padding:4px 5px;
}
.dc-manage-summary-cell.summary-name{grid-template-columns:48px minmax(0,1fr);}
.dc-manage-summary-cell.summary-serial{grid-template-columns:50px minmax(0,1fr);}
.dc-manage-summary-cell.summary-module{grid-template-columns:54px minmax(0,1fr);}
.dc-manage-summary-cell.summary-pinmap{grid-template-columns:54px minmax(0,1fr);}
.dc-manage-summary-cell.summary-sensors{grid-template-columns:44px minmax(0,1fr);}
.dc-manage-summary-cell.summary-firmware{grid-template-columns:62px minmax(0,1fr);}
.dc-manage-summary-cell code{
  font-size:11.45px;
  line-height:1.2;
  letter-spacing:-.01em;
  white-space:nowrap;
  overflow:hidden;
  overflow-x:hidden;
  text-overflow:clip;
  max-width:100%;
}
.dc-manage-summary-cell.summary-module code,
.dc-manage-summary-cell.summary-serial code{
  font-size:11.05px;
  letter-spacing:-.018em;
}
.dc-manage-summary-cell.summary-sensors code{
  font-size:11.7px;
  text-align:center;
}
.dc-manage-state-icons{
  box-sizing:border-box;
  width:150px;
  min-width:150px;
  max-width:150px;
  display:grid;
  grid-template-columns:repeat(5,23px);
  justify-content:center;
  align-items:center;
  gap:5px;
  padding:3px 5px;
}
.dc-manage-state-icon{
  width:23px;
  height:23px;
  border-radius:7px;
  font-size:12.5px;
}
.dc-manage-state-icon.connection.pulse{will-change:box-shadow,transform,opacity;}
.dc-manage-state-icon.connection.tone-ok.pulse{animation:dcManageHeartbeatOk 1.65s ease-in-out infinite;}
.dc-manage-state-icon.connection.tone-warn.pulse{animation:dcManageHeartbeatWarn 1s ease-in-out infinite;}
.dc-manage-state-icon.connection.tone-bad.pulse{animation:dcManageHeartbeatBad 1.2s ease-in-out infinite;}
@keyframes dcManageHeartbeatOk{
  0%,100%{transform:scale(1);box-shadow:0 0 0 0 color-mix(in srgb,var(--good) 0%,transparent);}
  45%{transform:scale(1.05);box-shadow:0 0 0 4px color-mix(in srgb,var(--good) 22%,transparent);}
}
@keyframes dcManageHeartbeatWarn{
  0%,100%{transform:scale(1);box-shadow:0 0 0 0 color-mix(in srgb,var(--warn) 0%,transparent);}
  50%{transform:scale(1.08);box-shadow:0 0 0 5px color-mix(in srgb,var(--warn) 34%,transparent);}
}
@keyframes dcManageHeartbeatBad{
  0%,100%{opacity:.72;transform:scale(1);box-shadow:0 0 0 0 color-mix(in srgb,var(--bad) 0%,transparent);}
  50%{opacity:1;transform:scale(1.06);box-shadow:0 0 0 4px color-mix(in srgb,var(--bad) 30%,transparent);}
}
@media(max-width:1500px){
  .dc-manage-accordion-card .dc-manage-summary-row{
    grid-template-columns:34px minmax(176px,1fr) minmax(220px,1.18fr) minmax(262px,1.42fr) minmax(136px,.64fr) 62px minmax(116px,.56fr) 146px;
    gap:5px;
    padding-inline:8px;
  }
  .dc-manage-summary-cell .dc-manage-param{font-size:8px;padding-inline:3px;}
  .dc-manage-summary-cell .dc-manage-value{padding-inline:4px;}
  .dc-manage-summary-cell.summary-name{grid-template-columns:44px minmax(0,1fr);}
  .dc-manage-summary-cell.summary-serial{grid-template-columns:46px minmax(0,1fr);}
  .dc-manage-summary-cell.summary-module{grid-template-columns:50px minmax(0,1fr);}
  .dc-manage-summary-cell.summary-pinmap{grid-template-columns:50px minmax(0,1fr);}
  .dc-manage-summary-cell.summary-sensors{grid-template-columns:40px minmax(0,1fr);}
  .dc-manage-summary-cell.summary-firmware{grid-template-columns:58px minmax(0,1fr);}
  .dc-manage-summary-cell code{font-size:10.95px;letter-spacing:-.02em;}
  .dc-manage-state-icons{width:146px;min-width:146px;max-width:146px;grid-template-columns:repeat(5,22px);gap:5px;padding-inline:5px;}
  .dc-manage-state-icon{width:22px;height:22px;font-size:12px;}
}
@media(max-width:1280px){
  .dc-manage-state-icons{width:118px;min-width:118px;max-width:118px;grid-template-columns:repeat(5,20px);gap:3px;}
  .dc-manage-state-icon{width:20px;height:20px;font-size:11px;}
}


/* WEB30_15_784_DEVICE_OVERVIEW_SUMMARY_PARAMETRIC_CARDS
   Overview uses the approved compact parametric visual language as a summary dashboard, not as a copy of Management. */
.dc-overview-list{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}
.dc-overview-device{
  padding:9px 10px;
  border-inline-start-width:0;
}
.dc-overview-device-head{
  display:grid;
  grid-template-columns:minmax(170px,.8fr) minmax(560px,2.6fr) 150px;
  align-items:center;
  gap:7px;
  margin:0 0 8px;
  padding:0 0 8px;
  border-bottom:1px solid color-mix(in srgb,var(--line) 78%,transparent);
}
.dc-overview-title{
  min-width:0;
  display:grid;
  gap:2px;
}
.dc-overview-title strong{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:14px;
  line-height:1.18;
}
.dc-overview-title code{
  display:block;
  min-width:0;
  padding:0;
  background:transparent;
  color:var(--muted);
  font-size:10.8px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.dc-overview-head-cells{
  display:grid;
  grid-template-columns:minmax(210px,1.2fr) minmax(270px,1.42fr) 64px minmax(128px,.68fr);
  gap:5px;
  min-width:0;
}
.dc-overview-head-cells .dc-manage-summary-cell{
  min-height:34px;
  border-radius:7px;
}
.dc-overview-head-cells .dc-manage-summary-cell .dc-manage-param{
  justify-content:center;
  font-size:8px;
  line-height:1.05;
  letter-spacing:.02em;
  padding:4px 3px;
}
.dc-overview-head-cells .dc-manage-summary-cell .dc-manage-value{
  padding:3px 4px;
}
.dc-overview-head-cells .dc-manage-summary-cell.summary-serial{grid-template-columns:46px minmax(0,1fr);}
.dc-overview-head-cells .dc-manage-summary-cell.summary-module{grid-template-columns:50px minmax(0,1fr);}
.dc-overview-head-cells .dc-manage-summary-cell.summary-sensors{grid-template-columns:39px minmax(0,1fr);}
.dc-overview-head-cells .dc-manage-summary-cell.summary-firmware{grid-template-columns:56px minmax(0,1fr);}
.dc-overview-head-cells .dc-manage-summary-cell code{
  font-size:10.9px;
  line-height:1.18;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:clip;
}
.dc-overview-head-cells .dc-manage-summary-cell.summary-module code,
.dc-overview-head-cells .dc-manage-summary-cell.summary-serial code{
  font-size:10.65px;
  letter-spacing:-.015em;
}
.dc-overview-head-cells .dc-manage-summary-cell.summary-sensors code{
  text-align:center;
  font-size:11.2px;
}
.dc-overview-device-head .dc-manage-state-icons{
  width:150px;
  min-width:150px;
  max-width:150px;
  justify-self:end;
}
.dc-overview-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(260px,1fr));
  gap:8px;
  align-items:start;
}
.dc-overview-section{
  min-width:0;
  border:1px solid color-mix(in srgb,var(--line) 78%,transparent);
  border-radius:9px;
  background:color-mix(in srgb,var(--panel2) 55%,var(--panel) 45%);
  overflow:hidden;
}
.dc-overview-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-height:32px;
  padding:7px 9px;
  border-bottom:1px solid color-mix(in srgb,var(--line) 74%,transparent);
  background:color-mix(in srgb,var(--panel2) 82%,var(--accent) 8%);
}
.dc-overview-section-head b{
  font-size:12px;
  font-weight:950;
  line-height:1.12;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.dc-overview-section-head small{
  color:color-mix(in srgb,var(--text) 45%,var(--muted));
  font-size:9.5px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.045em;
  white-space:nowrap;
}
.dc-overview-pair-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  padding:7px;
}
.dc-overview-pair{
  display:grid;
  grid-template-columns:minmax(70px,35%) minmax(0,1fr);
  min-width:0;
  min-height:32px;
  border:1px solid color-mix(in srgb,var(--line) 70%,transparent);
  border-inline-start:4px solid color-mix(in srgb,var(--muted) 72%,var(--line));
  border-radius:7px;
  overflow:hidden;
  background:color-mix(in srgb,var(--panel) 92%,transparent);
}
.dc-overview-pair:nth-child(even){background:color-mix(in srgb,var(--panel2) 42%,var(--panel) 58%);}
.dc-overview-pair.tone-ok{border-inline-start-color:color-mix(in srgb,var(--good) 78%,var(--line));}
.dc-overview-pair.tone-warn{border-inline-start-color:color-mix(in srgb,var(--warn) 84%,var(--line));}
.dc-overview-pair.tone-bad{border-inline-start-color:color-mix(in srgb,var(--bad) 84%,var(--line));}
.dc-overview-pair.tone-neutral,.dc-overview-pair.tone-local,.dc-overview-pair.tone-off{border-inline-start-color:color-mix(in srgb,var(--muted) 72%,var(--line));}
.dc-overview-param{
  display:flex;
  align-items:center;
  min-width:0;
  padding:6px 7px;
  border-inline-end:1px solid color-mix(in srgb,var(--line) 74%,transparent);
  background:color-mix(in srgb,var(--panel2) 86%,#000 6%);
  color:color-mix(in srgb,var(--text) 58%,var(--muted));
  font-size:10.4px;
  font-weight:900;
  line-height:1.18;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.dc-overview-value{
  display:flex;
  align-items:center;
  min-width:0;
  padding:4px 5px;
  background:color-mix(in srgb,var(--control) 30%,transparent);
}
.dc-overview-value .dc-manage-mono{
  width:100%;
  min-width:0;
  min-height:22px;
  display:flex;
  align-items:center;
  padding:3px 6px;
  font-size:11.3px;
  line-height:1.18;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.dc-overview-actions{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid color-mix(in srgb,var(--line) 74%,transparent);
}
.theme-light .dc-overview-section-head{background:color-mix(in srgb,var(--panel2) 90%,#dbe6ef 10%);}
.theme-light .dc-overview-param{background:color-mix(in srgb,var(--panel2) 92%,#dbe6ef 8%);}
.theme-light .dc-overview-value{background:color-mix(in srgb,var(--control) 24%,#fff 76%);}
@media(max-width:1380px){
  .dc-overview-device-head{grid-template-columns:minmax(150px,.72fr) minmax(420px,2fr) 146px;}
  .dc-overview-head-cells{grid-template-columns:minmax(190px,1.2fr) minmax(238px,1.36fr) 58px minmax(118px,.62fr);gap:4px;}
  .dc-overview-summary-grid{grid-template-columns:repeat(2,minmax(250px,1fr));}
  .dc-overview-pair-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:1050px){
  .dc-overview-device-head{grid-template-columns:1fr 150px;}
  .dc-overview-head-cells{grid-column:1/3;grid-row:2;grid-template-columns:repeat(2,minmax(0,1fr));}
  .dc-overview-summary-grid{grid-template-columns:1fr;}
}
@media(max-width:760px){
  .dc-overview-device-head{grid-template-columns:1fr;}
  .dc-overview-head-cells{grid-column:auto;grid-template-columns:1fr;}
  .dc-overview-device-head .dc-manage-state-icons{justify-self:start;width:150px;}
  .dc-overview-pair-grid{grid-template-columns:1fr;}
  .dc-overview-pair{grid-template-columns:minmax(102px,38%) minmax(0,1fr);}
}

/* WEB30_15_787_DEVICE_HEALTH_LIVE_SENSOR_ACCORDION_FIX */
.dc-health-list{
  display:grid;
  gap:10px;
}
.dc-health-card{
  border-color:color-mix(in srgb,var(--line) 82%,transparent);
}
.dc-health-card.online{border-color:color-mix(in srgb,var(--good) 62%,var(--line));}
.dc-health-card.offline{border-color:color-mix(in srgb,var(--bad) 62%,var(--line));}
.dc-health-card.pending{border-color:color-mix(in srgb,var(--warn) 58%,var(--line));}
.dc-health-summary-row{
  display:grid;
  grid-template-columns:34px minmax(190px,.9fr) minmax(260px,1.1fr) minmax(390px,2fr);
  gap:8px;
  align-items:center;
  padding:9px 10px;
  cursor:pointer;
  transition:background .12s ease,border-color .12s ease;
}
.dc-health-summary-row:hover{background:color-mix(in srgb,var(--panel2) 34%,transparent);}
.dc-health-summary-row:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:-3px;}
.dc-health-card .dc-manage-summary-cell{
  min-height:40px;
  border-radius:8px;
}
.dc-health-card .dc-manage-summary-cell .dc-manage-param{
  font-size:9.6px;
  padding:6px 5px;
}
.dc-health-card .dc-manage-summary-cell .dc-manage-value{
  padding:5px 7px;
}
.dc-health-card .dc-manage-summary-cell.summary-name{grid-template-columns:50px minmax(0,1fr);}
.dc-health-card .dc-manage-summary-cell.summary-id{grid-template-columns:34px minmax(0,1fr);}
.dc-health-card .dc-manage-summary-cell code{
  font-size:12.4px;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:clip;
}
.dc-health-icon-strip{
  box-sizing:border-box;
  min-height:40px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:7px;
  padding:4px 8px;
  border:1px solid color-mix(in srgb,var(--line) 84%,transparent);
  border-radius:8px;
  background:color-mix(in srgb,var(--panel) 78%,var(--panel2));
  overflow:hidden;
}
.dc-health-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  height:32px;
  padding:0 7px;
  border-radius:9px;
  border:1px solid color-mix(in srgb,var(--line) 72%,transparent);
  background:color-mix(in srgb,var(--control) 42%,transparent);
  color:var(--muted);
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:13.2px;
  font-weight:950;
  letter-spacing:.02em;
  line-height:1;
  flex:0 0 auto;
}
.dc-health-icon.connection{min-width:32px;width:32px;padding:0;font-size:17px;}
.dc-health-icon.timebase,.dc-health-icon.gps,.dc-health-icon.sensor,.dc-health-icon.data{min-width:42px;}
.dc-health-icon.tone-ok{color:var(--good);border-color:color-mix(in srgb,var(--good) 48%,var(--line));background:color-mix(in srgb,var(--good) 8%,var(--panel));}
.dc-health-icon.tone-warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 52%,var(--line));background:color-mix(in srgb,var(--warn) 10%,var(--panel));}
.dc-health-icon.tone-bad{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 52%,var(--line));background:color-mix(in srgb,var(--bad) 10%,var(--panel));}
.dc-health-icon.tone-neutral{color:var(--muted);border-color:color-mix(in srgb,var(--muted) 34%,var(--line));}
.dc-health-icon.tone-local{color:color-mix(in srgb,var(--accent) 76%,var(--text));border-color:color-mix(in srgb,var(--accent) 40%,var(--line));}
.dc-health-icon.pulse{will-change:box-shadow,transform,opacity;}
.dc-health-icon.tone-ok.pulse{animation:dcManageHeartbeatOk 1.65s ease-in-out infinite;}
.dc-health-icon.tone-warn.pulse{animation:dcManageHeartbeatWarn 1s ease-in-out infinite;}
.dc-health-icon.tone-bad.pulse{animation:dcManageHeartbeatBad 1.2s ease-in-out infinite;}
.dc-health-detail-wrap{padding-top:12px;}
.dc-health-detail-groups{
  display:grid;
  grid-template-columns:1fr;
  gap:9px;
  margin-left:12px;
}
.dc-health-section .dc-health-section-title b{
  font-size:14px;
  letter-spacing:.01em;
}
.dc-health-section .dc-health-section-title small{
  font-size:11px;
}
.dc-health-detail-grid{
  grid-template-columns:1fr 1fr;
  gap:7px;
  padding:8px;
}
.dc-health-detail-grid .dc-manage-detail-cell{
  min-height:43px;
  grid-template-columns:minmax(126px,36%) minmax(0,1fr);
}
.dc-health-detail-grid .dc-manage-detail-cell .dc-manage-param{
  font-size:12px;
  padding:9px 10px;
}
.dc-health-detail-grid .dc-manage-detail-cell .dc-manage-value{
  padding:7px 8px;
}
.dc-health-detail-grid .dc-manage-detail-cell .dc-manage-mono{
  font-size:13.5px;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  letter-spacing:.005em;
}
.theme-light .dc-health-icon-strip{background:color-mix(in srgb,var(--panel) 84%,#fff 16%);}
@media(max-width:1280px){
  .dc-health-summary-row{grid-template-columns:34px minmax(170px,.9fr) minmax(220px,1fr) minmax(290px,1.5fr);gap:6px;}
  .dc-health-icon{min-width:34px;height:30px;font-size:12.4px;padding:0 6px;}
  .dc-health-icon.connection{min-width:30px;width:30px;font-size:16px;}
  .dc-health-detail-grid{grid-template-columns:1fr;}
}
@media(max-width:860px){
  .dc-health-summary-row{grid-template-columns:34px minmax(0,1fr);}
  .dc-health-card .dc-manage-summary-cell.summary-id,.dc-health-icon-strip{grid-column:2;}
  .dc-health-icon-strip{justify-content:flex-start;flex-wrap:wrap;overflow:visible;}
  .dc-health-detail-wrap{padding-left:21px;}
  .dc-health-detail-groups{margin-left:8px;}
  .dc-health-detail-grid .dc-manage-detail-cell{grid-template-columns:minmax(112px,38%) minmax(0,1fr);}
}

/* WEB30_15_788_DEVICE_HEALTH_LIVE_DIFF_UPDATE_EFFECTS */
.dc-health-shell{display:grid;gap:10px;}
.dc-health-subtabs{display:flex;gap:6px;align-items:center;border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent);padding-bottom:7px;}
.dc-health-subtab{min-height:32px;padding:7px 12px;border:1px solid color-mix(in srgb,var(--line) 76%,transparent);border-radius:8px;background:color-mix(in srgb,var(--panel2) 58%,transparent);color:var(--muted);font-weight:900;font-size:12px;letter-spacing:.02em;cursor:pointer;}
.dc-health-subtab.active{color:var(--text);border-color:color-mix(in srgb,var(--bad) 68%,var(--line));background:color-mix(in srgb,var(--panel2) 82%,var(--bad) 8%);}
.dc-health-effect-panel{border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:10px;background:color-mix(in srgb,var(--panel) 88%,var(--panel2));padding:10px;}
.dc-health-effect-row{display:grid;grid-template-columns:minmax(170px,.9fr) minmax(210px,1.1fr) minmax(180px,.9fr) minmax(170px,.8fr) 82px 86px minmax(240px,1.3fr);gap:8px;align-items:end;}
.dc-health-effect-row label{display:grid;gap:4px;min-width:0;}
.dc-health-effect-row label span{font-size:10.5px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;color:color-mix(in srgb,var(--text) 72%,var(--muted));}
.dc-health-effect-row select,.dc-health-effect-row input[type="range"],.dc-health-effect-row input[type="color"]{width:100%;min-height:32px;border-radius:8px;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);background:color-mix(in srgb,var(--control) 56%,transparent);color:var(--text);}
.dc-health-effect-row code{font-size:11px;color:var(--good);font-weight:900;}
.dc-health-effect-preview{min-height:38px;}
.dc-health-live-cell .dc-manage-mono,.dc-health-card .dc-manage-summary-cell .dc-manage-mono,.dc-health-effect-preview .dc-manage-mono{display:inline-flex;align-items:center;min-height:1.25em;transform-origin:center;will-change:transform,opacity,filter,box-shadow,background,color;}
.dc-live-effect-run{animation-duration:var(--dc-live-duration,720ms);animation-iteration-count:var(--dc-live-repeat,1);animation-timing-function:cubic-bezier(.2,.8,.2,1);animation-fill-mode:none;}
.dc-live-effect-zoom-pulse.dc-live-effect-run{animation-name:dcLiveZoomPulse;}
.dc-live-effect-soft-glow.dc-live-effect-run{animation-name:dcLiveSoftGlow;}
.dc-live-effect-border-flash.dc-live-effect-run{animation-name:dcLiveBorderFlash;}
.dc-live-effect-value-flash.dc-live-effect-run{animation-name:dcLiveValueFlash;}
.dc-live-effect-slide-up.dc-live-effect-run{animation-name:dcLiveSlideUp;}
.dc-live-effect-slide-down.dc-live-effect-run{animation-name:dcLiveSlideDown;}
.dc-live-effect-fade-swap.dc-live-effect-run{animation-name:dcLiveFadeSwap;}
.dc-live-effect-flip.dc-live-effect-run{animation-name:dcLiveFlip;}
.dc-live-effect-heartbeat.dc-live-effect-run{animation-name:dcLiveHeartbeat;}
.dc-live-effect-shake-alert.dc-live-effect-run{animation-name:dcLiveShakeAlert;}
.dc-live-effect-ripple.dc-live-effect-run{animation-name:dcLiveRipple;}
.dc-live-effect-color-blink.dc-live-effect-run{animation-name:dcLiveColorBlink;}
.dc-live-effect-underline-sweep.dc-live-effect-run{animation-name:dcLiveUnderlineSweep;}
.dc-live-effect-pop.dc-live-effect-run{animation-name:dcLivePop;}
.dc-live-effect-number-tick.dc-live-effect-run{animation-name:dcLiveNumberTick;}
@keyframes dcLiveZoomPulse{0%{transform:scale(1)}35%{transform:scale(calc(1 + var(--dc-live-intensity,2)*.035));color:var(--dc-live-color,#22c55e)}100%{transform:scale(1)}}
@keyframes dcLiveSoftGlow{0%{box-shadow:none}45%{box-shadow:0 0 calc(var(--dc-live-intensity,2)*8px) var(--dc-live-color,#22c55e);color:var(--dc-live-color,#22c55e)}100%{box-shadow:none}}
@keyframes dcLiveBorderFlash{0%,100%{outline:0 solid transparent}45%{outline:calc(1px + var(--dc-live-intensity,2)*.55px) solid var(--dc-live-color,#22c55e);outline-offset:2px}}
@keyframes dcLiveValueFlash{0%,100%{background:transparent}35%{background:color-mix(in srgb,var(--dc-live-color,#22c55e) 24%,transparent);color:var(--dc-live-color,#22c55e)}}
@keyframes dcLiveSlideUp{0%{transform:translateY(8px);opacity:.25}45%{transform:translateY(calc(var(--dc-live-intensity,2)*-1px));opacity:1;color:var(--dc-live-color,#22c55e)}100%{transform:translateY(0)}}
@keyframes dcLiveSlideDown{0%{transform:translateY(-8px);opacity:.25}45%{transform:translateY(calc(var(--dc-live-intensity,2)*1px));opacity:1;color:var(--dc-live-color,#22c55e)}100%{transform:translateY(0)}}
@keyframes dcLiveFadeSwap{0%{opacity:.18;filter:blur(1px)}55%{opacity:1;color:var(--dc-live-color,#22c55e)}100%{filter:none}}
@keyframes dcLiveFlip{0%{transform:rotateX(0)}45%{transform:rotateX(76deg);color:var(--dc-live-color,#22c55e)}100%{transform:rotateX(0)}}
@keyframes dcLiveHeartbeat{0%,100%{transform:scale(1)}18%{transform:scale(calc(1 + var(--dc-live-intensity,2)*.04))}34%{transform:scale(.98)}52%{transform:scale(calc(1 + var(--dc-live-intensity,2)*.025));color:var(--dc-live-color,#22c55e)}}
@keyframes dcLiveShakeAlert{0%,100%{transform:translateX(0)}20%{transform:translateX(calc(var(--dc-live-intensity,2)*-1px));color:var(--dc-live-color,#22c55e)}40%{transform:translateX(calc(var(--dc-live-intensity,2)*1px))}60%{transform:translateX(calc(var(--dc-live-intensity,2)*-.6px))}80%{transform:translateX(calc(var(--dc-live-intensity,2)*.6px))}}
@keyframes dcLiveRipple{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--dc-live-color,#22c55e) 48%,transparent)}70%{box-shadow:0 0 0 calc(var(--dc-live-intensity,2)*5px) transparent;color:var(--dc-live-color,#22c55e)}100%{box-shadow:none}}
@keyframes dcLiveColorBlink{0%,100%{color:inherit}20%,60%{color:var(--dc-live-color,#22c55e)}40%{color:color-mix(in srgb,var(--dc-live-color,#22c55e) 50%,var(--text))}}
@keyframes dcLiveUnderlineSweep{0%{text-decoration-color:transparent;text-decoration-thickness:0}45%{text-decoration:underline;text-decoration-color:var(--dc-live-color,#22c55e);text-decoration-thickness:calc(1px + var(--dc-live-intensity,2)*.4px);text-underline-offset:4px;color:var(--dc-live-color,#22c55e)}100%{text-decoration-color:transparent}}
@keyframes dcLivePop{0%{transform:scale(.92);opacity:.45}50%{transform:scale(calc(1 + var(--dc-live-intensity,2)*.045));opacity:1;color:var(--dc-live-color,#22c55e)}100%{transform:scale(1)}}
@keyframes dcLiveNumberTick{0%{transform:translateY(-5px);opacity:.2}30%{transform:translateY(3px);opacity:.9;color:var(--dc-live-color,#22c55e)}60%{transform:translateY(-1px)}100%{transform:translateY(0);opacity:1}}
@media(max-width:1280px){.dc-health-effect-row{grid-template-columns:repeat(2,minmax(0,1fr));}.dc-health-effect-preview{grid-column:1/3;}}
@media(max-width:760px){.dc-health-effect-row{grid-template-columns:1fr;}.dc-health-effect-preview{grid-column:auto;}.dc-health-subtabs{position:sticky;top:0;z-index:2;background:var(--bg);}}

/* WEB30_15_790_DEVICE_HEALTH_EFFECT_ANIMATION_OVERRIDE_FIX */
.dc-lite-page .dc-live-effect-box,
.dc-lite-page .dc-live-effect-text{
  animation-duration:var(--dc-live-duration,720ms)!important;
  animation-iteration-count:var(--dc-live-repeat,1)!important;
  animation-timing-function:cubic-bezier(.18,.82,.22,1)!important;
  animation-fill-mode:none!important;
  transform-origin:center!important;
  will-change:transform,opacity,background-color,color,outline!important;
}
.dc-lite-page .dc-live-effect-box{
  position:relative!important;
  overflow:visible!important;
  border-radius:8px!important;
}
.dc-lite-page .dc-live-effect-box::after{
  content:"";
  position:absolute;
  inset:-3px;
  border-radius:10px;
  pointer-events:none;
  opacity:0;
  border:2px solid var(--dc-live-color,#22c55e);
  animation-duration:var(--dc-live-duration,720ms)!important;
  animation-iteration-count:var(--dc-live-repeat,1)!important;
  animation-timing-function:cubic-bezier(.18,.82,.22,1)!important;
}
.dc-lite-page .dc-live-effect-zoom-pulse.dc-live-effect-run{animation-name:dcLive790ZoomPulse!important;}
.dc-lite-page .dc-live-effect-soft-glow.dc-live-effect-run{animation-name:dcLive790SoftGlow!important;}
.dc-lite-page .dc-live-effect-border-flash.dc-live-effect-run{animation-name:dcLive790BorderFlash!important;}
.dc-lite-page .dc-live-effect-value-flash.dc-live-effect-run{animation-name:dcLive790ValueFlash!important;}
.dc-lite-page .dc-live-effect-slide-up.dc-live-effect-run{animation-name:dcLive790SlideUp!important;}
.dc-lite-page .dc-live-effect-slide-down.dc-live-effect-run{animation-name:dcLive790SlideDown!important;}
.dc-lite-page .dc-live-effect-fade-swap.dc-live-effect-run{animation-name:dcLive790FadeSwap!important;}
.dc-lite-page .dc-live-effect-flip.dc-live-effect-run{animation-name:dcLive790Flip!important;}
.dc-lite-page .dc-live-effect-heartbeat.dc-live-effect-run{animation-name:dcLive790Heartbeat!important;}
.dc-lite-page .dc-live-effect-shake-alert.dc-live-effect-run{animation-name:dcLive790ShakeAlert!important;}
.dc-lite-page .dc-live-effect-ripple.dc-live-effect-run{animation-name:dcLive790Ripple!important;}
.dc-lite-page .dc-live-effect-color-blink.dc-live-effect-run{animation-name:dcLive790ColorBlink!important;}
.dc-lite-page .dc-live-effect-underline-sweep.dc-live-effect-run{animation-name:dcLive790UnderlineSweep!important;}
.dc-lite-page .dc-live-effect-pop.dc-live-effect-run{animation-name:dcLive790Pop!important;}
.dc-lite-page .dc-live-effect-number-tick.dc-live-effect-run{animation-name:dcLive790NumberTick!important;}
.dc-lite-page .dc-live-effect-box.dc-live-effect-run::after{animation-name:dcLive790Aura!important;}
.dc-lite-page .dc-live-effect-border-flash.dc-live-effect-box.dc-live-effect-run::after{animation-name:dcLive790BorderAura!important;}
.dc-lite-page .dc-live-effect-ripple.dc-live-effect-box.dc-live-effect-run::after{animation-name:dcLive790RippleAura!important;}
.dc-lite-page .dc-live-effect-underline-sweep.dc-live-effect-box.dc-live-effect-run::after{animation-name:dcLive790UnderlineAura!important;}
@keyframes dcLive790ZoomPulse{0%{transform:scale(1)}38%{transform:scale(calc(1 + var(--dc-live-intensity,2)*.045));color:var(--dc-live-color,#22c55e);background-color:color-mix(in srgb,var(--dc-live-color,#22c55e) 13%,transparent)}100%{transform:scale(1)}}
@keyframes dcLive790SoftGlow{0%,100%{outline:0 solid transparent;background-color:transparent}45%{outline:calc(2px + var(--dc-live-intensity,2)*.55px) solid color-mix(in srgb,var(--dc-live-color,#22c55e) 72%,transparent);background-color:color-mix(in srgb,var(--dc-live-color,#22c55e) 18%,transparent);color:var(--dc-live-color,#22c55e)}}
@keyframes dcLive790BorderFlash{0%,100%{outline:0 solid transparent}35%,65%{outline:calc(2px + var(--dc-live-intensity,2)*.7px) solid var(--dc-live-color,#22c55e);outline-offset:2px;color:var(--dc-live-color,#22c55e)}}
@keyframes dcLive790ValueFlash{0%,100%{background-color:transparent;color:inherit}30%,70%{background-color:color-mix(in srgb,var(--dc-live-color,#22c55e) 28%,transparent);color:var(--dc-live-color,#22c55e)}}
@keyframes dcLive790SlideUp{0%{transform:translateY(9px);opacity:.25}45%{transform:translateY(calc(var(--dc-live-intensity,2)*-1.5px));opacity:1;color:var(--dc-live-color,#22c55e)}100%{transform:translateY(0);opacity:1}}
@keyframes dcLive790SlideDown{0%{transform:translateY(-9px);opacity:.25}45%{transform:translateY(calc(var(--dc-live-intensity,2)*1.5px));opacity:1;color:var(--dc-live-color,#22c55e)}100%{transform:translateY(0);opacity:1}}
@keyframes dcLive790FadeSwap{0%{opacity:.12;transform:scale(.98)}55%{opacity:1;transform:scale(1.03);color:var(--dc-live-color,#22c55e)}100%{opacity:1;transform:scale(1)}}
@keyframes dcLive790Flip{0%{transform:perspective(460px) rotateX(0)}42%{transform:perspective(460px) rotateX(68deg);color:var(--dc-live-color,#22c55e)}100%{transform:perspective(460px) rotateX(0)}}
@keyframes dcLive790Heartbeat{0%,100%{transform:scale(1)}17%{transform:scale(calc(1 + var(--dc-live-intensity,2)*.055));color:var(--dc-live-color,#22c55e)}32%{transform:scale(.98)}52%{transform:scale(calc(1 + var(--dc-live-intensity,2)*.035))}}
@keyframes dcLive790ShakeAlert{0%,100%{transform:translateX(0)}18%{transform:translateX(calc(var(--dc-live-intensity,2)*-1.4px));color:var(--dc-live-color,#22c55e)}36%{transform:translateX(calc(var(--dc-live-intensity,2)*1.4px))}54%{transform:translateX(calc(var(--dc-live-intensity,2)*-.9px))}72%{transform:translateX(calc(var(--dc-live-intensity,2)*.9px))}}
@keyframes dcLive790Ripple{0%{transform:scale(.985);background-color:color-mix(in srgb,var(--dc-live-color,#22c55e) 24%,transparent)}65%{transform:scale(1.025);color:var(--dc-live-color,#22c55e)}100%{transform:scale(1);background-color:transparent}}
@keyframes dcLive790ColorBlink{0%,100%{color:inherit;background-color:transparent}20%,60%{color:var(--dc-live-color,#22c55e);background-color:color-mix(in srgb,var(--dc-live-color,#22c55e) 15%,transparent)}40%{color:color-mix(in srgb,var(--dc-live-color,#22c55e) 55%,var(--text))}}
@keyframes dcLive790UnderlineSweep{0%,100%{text-decoration-color:transparent;text-decoration-thickness:0}45%{text-decoration:underline;text-decoration-color:var(--dc-live-color,#22c55e);text-decoration-thickness:calc(2px + var(--dc-live-intensity,2)*.45px);text-underline-offset:5px;color:var(--dc-live-color,#22c55e)}}
@keyframes dcLive790Pop{0%{transform:scale(.90);opacity:.45}48%{transform:scale(calc(1 + var(--dc-live-intensity,2)*.055));opacity:1;color:var(--dc-live-color,#22c55e);background-color:color-mix(in srgb,var(--dc-live-color,#22c55e) 15%,transparent)}100%{transform:scale(1);opacity:1}}
@keyframes dcLive790NumberTick{0%{transform:translateY(-6px);opacity:.2}30%{transform:translateY(4px);opacity:.95;color:var(--dc-live-color,#22c55e)}62%{transform:translateY(-1px)}100%{transform:translateY(0);opacity:1}}
@keyframes dcLive790Aura{0%{opacity:0;transform:scale(.96)}40%{opacity:.78;transform:scale(1)}100%{opacity:0;transform:scale(1.04)}}
@keyframes dcLive790BorderAura{0%,100%{opacity:0;transform:scale(1)}40%,68%{opacity:1;transform:scale(1)}}
@keyframes dcLive790RippleAura{0%{opacity:.92;transform:scale(.9)}100%{opacity:0;transform:scale(calc(1.04 + var(--dc-live-intensity,2)*.035))}}
@keyframes dcLive790UnderlineAura{0%,35%{opacity:0;transform:scaleX(.1);transform-origin:left center;inset:auto 6px 2px 6px;height:2px;border:0;background:var(--dc-live-color,#22c55e)}55%{opacity:1;transform:scaleX(1);inset:auto 6px 2px 6px;height:2px;border:0;background:var(--dc-live-color,#22c55e)}100%{opacity:0;transform:scaleX(1);inset:auto 6px 2px 6px;height:2px;border:0;background:var(--dc-live-color,#22c55e)}}

/* WEB30_15_791_DEVICE_HEALTH_EFFECT_POLISH_STARTUP_PRESETS */
.dc-health-effect-panel{
  display:grid;
  gap:10px;
}
.dc-health-effect-toolbar,
.dc-health-effect-preview-row,
.dc-health-startup-grid{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.dc-health-effect-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(120px,1fr));
  gap:8px;
  align-items:end;
}
.dc-health-effect-grid label,
.dc-health-startup-grid label{
  display:grid;
  gap:4px;
  min-width:0;
}
.dc-health-effect-grid label span,
.dc-health-startup-grid label span{
  font-size:10.5px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.07em;
  color:color-mix(in srgb,var(--text) 74%,var(--muted));
}
.dc-health-effect-grid :where(select,input[type="range"],input[type="color"],input[type="number"]),
.dc-health-startup-grid :where(select,input[type="range"],input[type="number"]){
  width:100%;
  min-height:32px;
  border-radius:8px;
  border:1px solid color-mix(in srgb,var(--line) 78%,transparent);
  background:color-mix(in srgb,var(--control) 58%,transparent);
  color:var(--text);
}
.dc-health-effect-grid label:has(:disabled),
.dc-health-startup-grid label:has(:disabled){
  opacity:.42;
  filter:saturate(.45);
}
.dc-health-effect-grid code,
.dc-health-startup-grid code{font-size:11px;color:var(--good);font-weight:900;white-space:nowrap;}
.dc-health-effect-switch{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:34px;
  padding:6px 9px;
  border:1px solid color-mix(in srgb,var(--line) 78%,transparent);
  border-radius:9px;
  background:color-mix(in srgb,var(--panel2) 62%,transparent);
  cursor:pointer;
}
.dc-health-effect-switch input{position:absolute;opacity:0;pointer-events:none;}
.dc-health-effect-switch span{width:34px;height:18px;border-radius:999px;background:color-mix(in srgb,var(--muted) 42%,var(--panel));position:relative;display:inline-block;transition:.16s ease;}
.dc-health-effect-switch span::before{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--text);transition:.16s ease;}
.dc-health-effect-switch input:checked+span{background:color-mix(in srgb,var(--good) 82%,#064e3b);box-shadow:0 0 14px color-mix(in srgb,var(--good) 34%,transparent);}
.dc-health-effect-switch input:checked+span::before{left:18px;}
.dc-health-effect-switch b{font-size:12px;font-weight:950;color:var(--text);white-space:nowrap;}
.dc-health-preset{display:inline-flex;align-items:center;gap:5px;border:1px solid color-mix(in srgb,var(--line) 76%,transparent);border-radius:8px;padding:4px 5px;background:color-mix(in srgb,var(--panel) 74%,transparent);}
.dc-health-preset b{width:20px;text-align:center;color:var(--good);font:950 12px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;}
.dc-health-preset .mini{min-height:25px;padding:3px 6px;font-size:10.5px;}
.dc-health-effect-preview-row .dc-health-effect-preview{min-width:260px;max-width:420px;}
.dc-lite-page .dc-live-effect-box,
.dc-lite-page .dc-live-effect-text{
  --dc-live-main:var(--dc-live-text-color,var(--dc-live-color,#22c55e));
  --dc-live-fill:var(--dc-live-bg-color,var(--dc-live-color,#22c55e));
  --dc-live-line:var(--dc-live-border-color,var(--dc-live-color,#22c55e));
}
.dc-lite-page .dc-live-effect-box::after{border-color:var(--dc-live-line)!important;}
.dc-lite-page .dc-live-effect-blur.dc-live-effect-run{filter:blur(calc(var(--dc-live-intensity,2)*.18px));}
.dc-lite-page .dc-live-effect-smooth.dc-live-effect-run{animation-timing-function:cubic-bezier(.16,.9,.2,1)!important;}
.dc-lite-page .dc-live-start-fade.dc-live-effect-run{opacity:.72;}
.dc-lite-page .dc-live-start-dim.dc-live-effect-run{filter:brightness(.82);}
.dc-lite-page .dc-live-start-blur.dc-live-effect-run{filter:blur(1.2px);}
.dc-lite-page .dc-live-end-hold-glow.dc-live-effect-run{box-shadow:0 0 10px color-mix(in srgb,var(--dc-live-line) 36%,transparent)!important;}
.dc-lite-page .dc-health-startup-counting .dc-manage-mono,
.dc-health-effect-preview.dc-health-startup-counting .dc-manage-mono{
  color:var(--dc-live-text-color,#86efac);
  text-shadow:0 0 10px color-mix(in srgb,var(--dc-live-border-color,#22c55e) 42%,transparent);
  transition:color .12s ease,text-shadow .12s ease;
}
@keyframes dcLive791ZoomPulse{0%{transform:scale(1);background-color:transparent}38%{transform:scale(calc(1 + var(--dc-live-intensity,2)*.045));color:var(--dc-live-main);background-color:color-mix(in srgb,var(--dc-live-fill) 20%,transparent);outline:1px solid color-mix(in srgb,var(--dc-live-line) 52%,transparent)}100%{transform:scale(1);background-color:transparent}}
@keyframes dcLive791SoftGlow{0%,100%{outline:0 solid transparent;background-color:transparent}45%{outline:calc(2px + var(--dc-live-intensity,2)*.55px) solid color-mix(in srgb,var(--dc-live-line) 72%,transparent);background-color:color-mix(in srgb,var(--dc-live-fill) 20%,transparent);color:var(--dc-live-main)}}
@keyframes dcLive791BorderFlash{0%,100%{outline:0 solid transparent}35%,65%{outline:calc(2px + var(--dc-live-intensity,2)*.7px) solid var(--dc-live-line);outline-offset:2px;color:var(--dc-live-main)}}
@keyframes dcLive791ValueFlash{0%,100%{background-color:transparent;color:inherit}30%,70%{background-color:color-mix(in srgb,var(--dc-live-fill) 34%,transparent);color:var(--dc-live-main)}}
@keyframes dcLive791SlideUp{0%{transform:translateY(9px);opacity:.25}45%{transform:translateY(calc(var(--dc-live-intensity,2)*-1.5px));opacity:1;color:var(--dc-live-main)}100%{transform:translateY(0);opacity:1}}
@keyframes dcLive791SlideDown{0%{transform:translateY(-9px);opacity:.25}45%{transform:translateY(calc(var(--dc-live-intensity,2)*1.5px));opacity:1;color:var(--dc-live-main)}100%{transform:translateY(0);opacity:1}}
@keyframes dcLive791FadeSwap{0%{opacity:.12;transform:scale(.98);filter:blur(.8px)}55%{opacity:1;transform:scale(1.03);filter:none;color:var(--dc-live-main);background-color:color-mix(in srgb,var(--dc-live-fill) 16%,transparent)}100%{opacity:1;transform:scale(1)}}
@keyframes dcLive791Flip{0%{transform:perspective(460px) rotateX(0)}42%{transform:perspective(460px) rotateX(68deg);color:var(--dc-live-main);outline:1px solid var(--dc-live-line)}100%{transform:perspective(460px) rotateX(0)}}
@keyframes dcLive791Heartbeat{0%,100%{transform:scale(1)}17%{transform:scale(calc(1 + var(--dc-live-intensity,2)*.055));color:var(--dc-live-main);background-color:color-mix(in srgb,var(--dc-live-fill) 15%,transparent)}32%{transform:scale(.98)}52%{transform:scale(calc(1 + var(--dc-live-intensity,2)*.035))}}
@keyframes dcLive791ShakeAlert{0%,100%{transform:translateX(0)}18%{transform:translateX(calc(var(--dc-live-intensity,2)*-1.4px));color:var(--dc-live-main);outline:1px solid var(--dc-live-line)}36%{transform:translateX(calc(var(--dc-live-intensity,2)*1.4px))}54%{transform:translateX(calc(var(--dc-live-intensity,2)*-.9px))}72%{transform:translateX(calc(var(--dc-live-intensity,2)*.9px))}}
@keyframes dcLive791Ripple{0%{transform:scale(.985);background-color:color-mix(in srgb,var(--dc-live-fill) 24%,transparent)}65%{transform:scale(1.025);color:var(--dc-live-main);outline:1px solid color-mix(in srgb,var(--dc-live-line) 44%,transparent)}100%{transform:scale(1);background-color:transparent}}
@keyframes dcLive791ColorBlink{0%,100%{color:inherit;background-color:transparent}20%,60%{color:var(--dc-live-main);background-color:color-mix(in srgb,var(--dc-live-fill) 18%,transparent)}40%{color:color-mix(in srgb,var(--dc-live-main) 55%,var(--text))}}
@keyframes dcLive791UnderlineSweep{0%,100%{text-decoration-color:transparent;text-decoration-thickness:0}45%{text-decoration:underline;text-decoration-color:var(--dc-live-line);text-decoration-thickness:calc(2px + var(--dc-live-intensity,2)*.45px);text-underline-offset:5px;color:var(--dc-live-main)}}
@keyframes dcLive791Pop{0%{transform:scale(.90);opacity:.45}48%{transform:scale(calc(1 + var(--dc-live-intensity,2)*.055));opacity:1;color:var(--dc-live-main);background-color:color-mix(in srgb,var(--dc-live-fill) 18%,transparent);outline:1px solid color-mix(in srgb,var(--dc-live-line) 48%,transparent)}100%{transform:scale(1);opacity:1}}
@keyframes dcLive791NumberTick{0%{transform:translateY(-6px);opacity:.2}30%{transform:translateY(4px);opacity:.95;color:var(--dc-live-main)}62%{transform:translateY(-1px)}100%{transform:translateY(0);opacity:1}}
.dc-lite-page .dc-live-effect-zoom-pulse.dc-live-effect-run{animation-name:dcLive791ZoomPulse!important;}
.dc-lite-page .dc-live-effect-soft-glow.dc-live-effect-run{animation-name:dcLive791SoftGlow!important;}
.dc-lite-page .dc-live-effect-border-flash.dc-live-effect-run{animation-name:dcLive791BorderFlash!important;}
.dc-lite-page .dc-live-effect-value-flash.dc-live-effect-run{animation-name:dcLive791ValueFlash!important;}
.dc-lite-page .dc-live-effect-slide-up.dc-live-effect-run{animation-name:dcLive791SlideUp!important;}
.dc-lite-page .dc-live-effect-slide-down.dc-live-effect-run{animation-name:dcLive791SlideDown!important;}
.dc-lite-page .dc-live-effect-fade-swap.dc-live-effect-run{animation-name:dcLive791FadeSwap!important;}
.dc-lite-page .dc-live-effect-flip.dc-live-effect-run{animation-name:dcLive791Flip!important;}
.dc-lite-page .dc-live-effect-heartbeat.dc-live-effect-run{animation-name:dcLive791Heartbeat!important;}
.dc-lite-page .dc-live-effect-shake-alert.dc-live-effect-run{animation-name:dcLive791ShakeAlert!important;}
.dc-lite-page .dc-live-effect-ripple.dc-live-effect-run{animation-name:dcLive791Ripple!important;}
.dc-lite-page .dc-live-effect-color-blink.dc-live-effect-run{animation-name:dcLive791ColorBlink!important;}
.dc-lite-page .dc-live-effect-underline-sweep.dc-live-effect-run{animation-name:dcLive791UnderlineSweep!important;}
.dc-lite-page .dc-live-effect-pop.dc-live-effect-run{animation-name:dcLive791Pop!important;}
.dc-lite-page .dc-live-effect-number-tick.dc-live-effect-run{animation-name:dcLive791NumberTick!important;}
@media(max-width:1280px){.dc-health-effect-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.dc-health-effect-preview-row .dc-health-effect-preview{min-width:0;}}
@media(max-width:760px){.dc-health-effect-grid{grid-template-columns:1fr;}.dc-health-startup-grid{display:grid;grid-template-columns:1fr;}.dc-health-effect-toolbar{display:grid;grid-template-columns:1fr 1fr;}.dc-health-effect-switch{justify-content:center;}}

/* WEB30_15_792_DEVICE_HEALTH_ICON_POLISH */
.dc-health-summary-row{
  grid-template-columns:38px minmax(190px,.82fr) minmax(260px,1fr) minmax(540px,2.65fr);
  gap:8px;
  padding:9px 10px;
}
.dc-health-card .dc-manage-summary-cell{
  min-height:42px;
}
.dc-health-card .dc-manage-summary-cell .dc-manage-param{
  font-size:9.2px;
  padding:6px 5px;
}
.dc-health-card .dc-manage-summary-cell .dc-manage-value{
  padding:6px 8px;
}
.dc-health-card .dc-manage-summary-cell code{
  font-size:13px;
}
.dc-health-icon-strip{
  min-height:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:9px;
  padding:4px 8px;
  overflow:hidden;
}
.dc-health-core-icons,
.dc-health-sensor-icons{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
}
.dc-health-core-icons{
  flex:0 0 auto;
  padding-right:9px;
  border-right:1px solid color-mix(in srgb,var(--line) 70%,transparent);
}
.dc-health-sensor-icons{
  flex:1 1 auto;
  overflow:hidden;
}
.dc-health-icon{
  position:relative;
  min-width:48px;
  height:36px;
  padding:0 9px;
  border-radius:10px;
  font-size:14.2px;
  letter-spacing:.015em;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--bg) 28%,transparent);
}
.dc-health-icon .dc-health-icon-main{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  line-height:1;
}
.dc-health-icon i{
  position:absolute;
  right:5px;
  top:5px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:currentColor;
  opacity:.8;
  box-shadow:0 0 8px currentColor;
}
.dc-health-icon.connection{
  min-width:42px;
  width:42px;
  padding:0;
  font-size:22px;
  border-radius:11px;
}
.dc-health-icon.timebase,
.dc-health-icon.gps,
.dc-health-icon.rtc,
.dc-health-icon.ingest,
.dc-health-icon.data{
  min-width:58px;
  font-size:14px;
}
.dc-health-icon.ingest,
.dc-health-icon.data{
  letter-spacing:.01em;
}
.dc-health-icon.sensor{
  min-width:54px;
  font-size:14.4px;
}
.dc-health-icon.sensor.empty{
  opacity:.55;
}
.dc-health-icon.tone-ok{
  color:color-mix(in srgb,var(--good) 92%,#fff 8%);
  border-color:color-mix(in srgb,var(--good) 58%,var(--line));
  background:linear-gradient(180deg,color-mix(in srgb,var(--good) 13%,var(--panel)),color-mix(in srgb,var(--good) 5%,var(--control)));
}
.dc-health-icon.tone-warn{
  color:color-mix(in srgb,var(--warn) 92%,#fff 8%);
  border-color:color-mix(in srgb,var(--warn) 62%,var(--line));
  background:linear-gradient(180deg,color-mix(in srgb,var(--warn) 15%,var(--panel)),color-mix(in srgb,var(--warn) 6%,var(--control)));
}
.dc-health-icon.tone-bad{
  color:color-mix(in srgb,var(--bad) 92%,#fff 8%);
  border-color:color-mix(in srgb,var(--bad) 62%,var(--line));
  background:linear-gradient(180deg,color-mix(in srgb,var(--bad) 15%,var(--panel)),color-mix(in srgb,var(--bad) 6%,var(--control)));
}
.dc-health-icon.tone-neutral{
  color:color-mix(in srgb,var(--muted) 88%,var(--text));
  border-color:color-mix(in srgb,var(--muted) 38%,var(--line));
  background:color-mix(in srgb,var(--control) 48%,transparent);
}
.dc-health-icon.tone-local{
  color:color-mix(in srgb,var(--accent) 82%,var(--text));
  border-color:color-mix(in srgb,var(--accent) 52%,var(--line));
  background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 13%,var(--panel)),color-mix(in srgb,var(--accent) 5%,var(--control)));
}
.dc-health-icon.tone-ok.pulse{animation:dcManageHeartbeatOk 1.7s ease-in-out infinite;}
.dc-health-icon.tone-warn.pulse{animation:dcManageHeartbeatWarn .95s ease-in-out infinite;}
.dc-health-icon.tone-bad.pulse{animation:dcManageHeartbeatBad 1.1s ease-in-out infinite;}
.dc-health-icon.tone-warn i,
.dc-health-icon.tone-bad i{animation:dcHealthIconDotPulse .75s ease-in-out infinite;}
@keyframes dcHealthIconDotPulse{
  0%,100%{opacity:.45;transform:scale(.75);}
  50%{opacity:1;transform:scale(1.45);}
}
@media(max-width:1280px){
  .dc-health-summary-row{grid-template-columns:36px minmax(165px,.85fr) minmax(210px,1fr) minmax(360px,2fr);}
  .dc-health-icon-strip{gap:7px;padding:4px 6px;}
  .dc-health-core-icons,.dc-health-sensor-icons{gap:5px;}
  .dc-health-core-icons{padding-right:7px;}
  .dc-health-icon{min-width:42px;height:34px;font-size:13px;padding:0 7px;}
  .dc-health-icon.connection{min-width:38px;width:38px;font-size:20px;}
  .dc-health-icon.timebase,.dc-health-icon.gps,.dc-health-icon.rtc,.dc-health-icon.ingest,.dc-health-icon.data{min-width:50px;font-size:12.7px;}
  .dc-health-icon.sensor{min-width:48px;font-size:13px;}
}
@media(max-width:860px){
  .dc-health-icon-strip{height:auto;min-height:44px;flex-wrap:wrap;overflow:visible;}
  .dc-health-core-icons{border-right:0;padding-right:0;}
  .dc-health-sensor-icons{flex-wrap:wrap;overflow:visible;}
}


/* WEB30_16_814 Registration/Auth V3 UI shell */
.reg-v3-page .reg-v3-tabs{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));}
.reg-v3-tab small{display:block;font-size:.72rem;opacity:.68;font-weight:500;margin-top:2px;}
.reg-v3-hero{overflow:hidden;}
.reg-v3-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:14px 0;}
.reg-v3-metric{border:1px solid var(--line);border-radius:16px;padding:12px;background:rgba(255,255,255,.045);box-shadow:var(--shadow-soft);}
.reg-v3-metric span{display:block;color:var(--muted);font-size:.78rem;}
.reg-v3-metric b{display:block;font-size:1.35rem;margin-top:4px;}
.reg-v3-metric small{display:block;color:var(--muted);margin-top:4px;}
.reg-v3-metric.tone-ok{border-color:rgba(77,220,140,.35);}
.reg-v3-metric.tone-warn{border-color:rgba(255,190,90,.42);}
.reg-v3-metric.tone-bad{border-color:rgba(255,105,105,.42);}
.reg-v3-pipeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:16px 0;}
.reg-v3-pipeline article{position:relative;border:1px solid var(--line);border-radius:16px;padding:12px 12px 12px 46px;background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.025));min-height:76px;}
.reg-v3-pipeline article i{position:absolute;left:12px;top:13px;width:24px;height:24px;border-radius:999px;display:grid;place-items:center;background:rgba(120,170,255,.16);border:1px solid rgba(120,170,255,.34);font-style:normal;font-weight:800;}
.reg-v3-pipeline article b{display:block;margin-bottom:4px;}
.reg-v3-pipeline article span{display:block;color:var(--muted);font-size:.78rem;line-height:1.35;}
.reg-v3-note-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:14px;}
.reg-v3-note-grid section{border:1px dashed var(--line);border-radius:16px;padding:12px;background:rgba(255,255,255,.025);}
.reg-v3-note-grid h4{margin:0 0 6px;}
.reg-v3-note-grid p{margin:0;color:var(--muted);line-height:1.55;}
.reg-v3-pill{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:5px 10px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.045);font-weight:800;font-size:.78rem;white-space:nowrap;}
.reg-v3-pill.tone-ok{border-color:rgba(77,220,140,.4);background:rgba(77,220,140,.10);}
.reg-v3-pill.tone-warn{border-color:rgba(255,190,90,.45);background:rgba(255,190,90,.10);}
.reg-v3-pill.tone-bad{border-color:rgba(255,105,105,.45);background:rgba(255,105,105,.10);}
.reg-v3-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;margin-top:12px;}
.reg-v3-table{width:100%;border-collapse:collapse;min-width:760px;}
.reg-v3-table th,.reg-v3-table td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left;}
.reg-v3-table th{font-size:.76rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:rgba(255,255,255,.035);}
.reg-v3-table td small{display:block;color:var(--muted);margin-top:3px;}
.reg-v3-policy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:14px;}
.reg-v3-policy-grid article{border:1px solid var(--line);border-radius:16px;padding:13px;background:rgba(255,255,255,.035);}
.reg-v3-policy-grid article b,.reg-v3-policy-grid article span,.reg-v3-policy-grid article small{display:block;}
.reg-v3-policy-grid article span{font-size:1.15rem;font-weight:900;margin:5px 0;}
.reg-v3-policy-grid article small{color:var(--muted);}
.reg-v3-settings-grid input:disabled,.reg-v3-settings-grid select:disabled{opacity:.72;cursor:not-allowed;}
button.compact{padding:6px 10px;font-size:.78rem;margin:2px;}


/* WEB30_16_826_REGISTRATION_V3_F1C_UI_FINALIZATION */
.reg-v3-page .panel.pad{padding:18px;}
.reg-v3-table{min-width:900px;font-size:.94rem;}
.reg-v3-table th{font-size:.82rem;letter-spacing:.045em;}
.reg-v3-table td{padding:13px 14px;line-height:1.45;}
.reg-v3-table td b{font-size:.98rem;}
.reg-v3-table td small{font-size:.82rem;margin-top:5px;}
.reg-v3-table code{font-size:.9rem;}
.reg-v3-code{display:inline-flex;align-items:center;justify-content:center;min-width:72px;padding:8px 12px;border-radius:10px;border:1px solid rgba(255,190,90,.5);background:rgba(255,190,90,.12);font-size:1.35rem!important;font-weight:900;letter-spacing:.08em;color:#fff;}
.reg-v3-countdown{font-size:.95rem!important;font-weight:800;color:var(--muted);}
.reg-v3-count{font-size:1.1rem;font-weight:900;}
.reg-v3-pill{font-size:.84rem;min-height:30px;padding:6px 11px;}
.reg-v3-table .compact{font-size:.84rem;padding:8px 11px;}
/* WEB30_16_827 Registration V3 advanced shell */
.reg-v3-page .reg-v3-tabs{grid-template-columns:repeat(auto-fit,minmax(135px,1fr));}
.reg-v3-advanced-settings-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));}
.reg-v3-shell-note{margin-top:12px;font-size:.9rem;}

/* WEB30_16_835 Registration V3 header watch + second-row tab rail */
.reg-v3-header-pill{position:relative;cursor:pointer;border:1px solid rgba(34,197,94,.55);background:color-mix(in srgb,var(--panel2) 88%,transparent);color:var(--text);font:inherit;min-width:58px;justify-content:center;overflow:visible!important}
.reg-v3-header-pill.ok{border-color:rgba(34,197,94,.58);box-shadow:0 0 0 1px rgba(34,197,94,.14),0 0 14px rgba(34,197,94,.10)}
.reg-v3-header-pill.warn{border-color:rgba(245,158,11,.75);box-shadow:0 0 0 1px rgba(245,158,11,.18),0 0 18px rgba(245,158,11,.13)}
.reg-v3-header-pill.bad{border-color:rgba(239,68,68,.72);box-shadow:0 0 0 1px rgba(239,68,68,.18),0 0 20px rgba(239,68,68,.16)}
.reg-v3-header-pill #regV3HeaderIcon{font-size:12px;line-height:1;font-weight:950}
.reg-v3-header-pill #regV3HeaderStatus{max-width:42px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;font-weight:950}
.reg-v3-header-pill.warn #regV3HeaderStatus{color:#fde68a}.reg-v3-header-pill.bad #regV3HeaderStatus{color:#fecaca}.reg-v3-header-pill.ok #regV3HeaderStatus{color:#bbf7d0}
.reg-v3-header-state-icon{display:inline-block;font-weight:950}
.reg-v3-header-pill.state-registration-request{border-color:rgba(34,197,94,.95)!important;background:rgba(22,163,74,.96)!important;color:#fff!important;animation:regV3GreenFast .42s steps(2,end) infinite;box-shadow:0 0 0 1px rgba(34,197,94,.42),0 0 18px rgba(34,197,94,.55)!important}
.reg-v3-header-pill.state-waiting-code{border-color:rgba(34,197,94,.88)!important;background:rgba(22,163,74,.92)!important;color:#fff!important;animation:regV3GreenSlow 1.25s ease-in-out infinite;box-shadow:0 0 0 1px rgba(34,197,94,.32),0 0 14px rgba(34,197,94,.35)!important}
.reg-v3-header-pill.state-token-leak{border-color:rgba(255,255,255,.7)!important;background:#ef0000!important;color:#fff!important;animation:regV3PoliceRed .36s steps(2,end) infinite;box-shadow:0 0 0 1px rgba(255,255,255,.28),0 0 22px rgba(239,0,0,.75)!important}
.reg-v3-header-pill.state-duplicate-identity-token{border-color:rgba(255,255,255,.65)!important;background:#f97316!important;color:#fff!important;animation:regV3PoliceOrangeRed .48s steps(2,end) infinite;box-shadow:0 0 0 1px rgba(255,255,255,.24),0 0 22px rgba(249,115,22,.70)!important}
.reg-v3-header-pill.state-load-error{border-color:rgba(245,158,11,.75)!important;background:rgba(245,158,11,.24)!important;color:#fff!important}
.reg-v3-header-pill.state-registration-request #regV3HeaderStatus,.reg-v3-header-pill.state-waiting-code #regV3HeaderStatus,.reg-v3-header-pill.state-token-leak #regV3HeaderStatus,.reg-v3-header-pill.state-duplicate-identity-token #regV3HeaderStatus{color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.35)}
@keyframes regV3GreenFast{0%,100%{background:rgba(22,163,74,.96);box-shadow:0 0 0 1px rgba(34,197,94,.45),0 0 20px rgba(34,197,94,.68)}50%{background:rgba(20,83,45,.98);box-shadow:0 0 0 1px rgba(34,197,94,.20),0 0 5px rgba(34,197,94,.28)}}
@keyframes regV3GreenSlow{0%,100%{background:rgba(22,163,74,.92);box-shadow:0 0 0 1px rgba(34,197,94,.38),0 0 16px rgba(34,197,94,.45)}50%{background:rgba(20,83,45,.92);box-shadow:0 0 0 1px rgba(34,197,94,.18),0 0 5px rgba(34,197,94,.22)}}
@keyframes regV3PoliceRed{0%,100%{background:#ef0000;box-shadow:0 0 0 1px rgba(255,255,255,.35),0 0 26px rgba(255,0,0,.92)}50%{background:#7f0000;box-shadow:0 0 0 1px rgba(255,255,255,.12),0 0 5px rgba(255,0,0,.38)}}
@keyframes regV3PoliceOrangeRed{0%,100%{background:#f97316;box-shadow:0 0 0 1px rgba(255,255,255,.28),0 0 24px rgba(249,115,22,.82)}50%{background:#dc2626;box-shadow:0 0 0 1px rgba(255,255,255,.26),0 0 24px rgba(220,38,38,.82)}}
@media (prefers-reduced-motion: reduce){.reg-v3-header-pill.state-registration-request,.reg-v3-header-pill.state-waiting-code,.reg-v3-header-pill.state-token-leak,.reg-v3-header-pill.state-duplicate-identity-token{animation:none!important}}
.reg-v3-header-tooltip{display:none;position:absolute;right:0;top:calc(100% + 9px);width:min(380px,calc(100vw - 24px));padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:var(--shadow);z-index:70;text-align:left;color:var(--text);white-space:normal;gap:7px}
.reg-v3-header-tooltip strong{font-size:.86rem}.reg-v3-header-tooltip div{display:grid;grid-template-columns:95px 1fr;gap:8px;align-items:start;border-bottom:1px dashed color-mix(in srgb,var(--line) 72%,transparent);padding-bottom:5px}.reg-v3-header-tooltip div span{color:var(--muted);font-size:.75rem}.reg-v3-header-tooltip div b{font-size:.78rem;line-height:1.35}.reg-v3-header-tooltip small{color:var(--muted);line-height:1.45}.reg-v3-header-tooltip button{margin-top:4px;justify-self:start}
.reg-v3-header-pill:hover .reg-v3-header-tooltip,.reg-v3-header-pill:focus-visible .reg-v3-header-tooltip{display:grid}
.reg-v3-nested .reg-v3-tabs,.device-update-page.reg-v3-page .reg-v3-tabs{display:flex!important;align-items:flex-end;gap:5px;overflow-x:auto;overflow-y:hidden;margin:0 0 8px!important;padding:0!important;border:0!important;border-bottom:1px solid rgba(239,68,68,.72)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;grid-template-columns:none!important;white-space:nowrap;}
.reg-v3-nested .reg-v3-tabs .du-tab,.device-update-page.reg-v3-page .reg-v3-tabs .du-tab{flex:0 0 auto;display:inline-flex!important;align-items:center;justify-content:center;text-align:center;gap:0;min-width:auto!important;min-height:34px!important;margin:0 0 -1px!important;padding:7px 11px!important;border:1px solid var(--line)!important;border-bottom:0!important;border-radius:8px 8px 0 0!important;background:var(--panel2)!important;color:var(--muted)!important;box-shadow:none!important;cursor:pointer;font-size:12px;font-weight:800;line-height:1.2;}
.reg-v3-nested .reg-v3-tabs .du-tab b,.device-update-page.reg-v3-page .reg-v3-tabs .du-tab b{display:block;color:inherit!important;font-size:12px!important;font-weight:800!important;line-height:1.2!important;}
.reg-v3-nested .reg-v3-tabs .du-tab.active,.device-update-page.reg-v3-page .reg-v3-tabs .du-tab.active{background:var(--panel)!important;color:var(--text)!important;border-color:rgba(239,68,68,.92)!important;border-bottom-color:var(--panel)!important;box-shadow:none!important;transform:none!important;}
.reg-v3-nested .reg-v3-tabs .du-tab:hover,.device-update-page.reg-v3-page .reg-v3-tabs .du-tab:hover{color:var(--text)!important;border-color:rgba(239,68,68,.66)!important;}
.theme-light .reg-v3-nested .reg-v3-tabs,.theme-light .device-update-page.reg-v3-page .reg-v3-tabs{background:transparent!important;border-bottom-color:#ef4444!important;}.theme-light .reg-v3-nested .reg-v3-tabs .du-tab,.theme-light .device-update-page.reg-v3-page .reg-v3-tabs .du-tab{background:#f6f8fb!important;border-color:#c9d6e2!important;color:#526273!important;}.theme-light .reg-v3-nested .reg-v3-tabs .du-tab.active,.theme-light .device-update-page.reg-v3-page .reg-v3-tabs .du-tab.active{background:#fff!important;color:#172033!important;border-color:#ef4444!important;}
@media(max-width:880px){.reg-v3-header-tooltip{right:-130px}.reg-v3-header-pill{min-width:48px}.reg-v3-header-pill #regV3HeaderStatus{max-width:30px}.reg-v3-nested .reg-v3-tabs .du-tab,.device-update-page.reg-v3-page .reg-v3-tabs .du-tab{padding:6px 9px!important;}}

/* WEB30_16_836 Registration V3 partial pane refresh + stable header panel */
.reg-v3-body{position:relative;min-height:120px;}
.reg-v3-body-refreshing{opacity:.96;}
.reg-v3-refresh-note{position:sticky;top:0;z-index:2;margin:0 0 10px;padding:7px 10px;border:1px solid rgba(96,165,250,.30);border-radius:10px;background:color-mix(in srgb,var(--panel2) 88%,transparent);color:var(--muted);font-size:.78rem;font-weight:800;}
.reg-v3-inline-loading{min-height:120px;display:grid;align-content:center;}
.reg-v3-header-pill{position:relative;overflow:visible!important;}
.reg-v3-header-pill:after{content:'';position:absolute;right:0;top:100%;width:min(390px,calc(100vw - 24px));height:14px;display:none;}
.reg-v3-header-pill.open:after,.reg-v3-header-pill:hover:after,.reg-v3-header-pill:focus-within:after{display:block;}
.reg-v3-header-tooltip{right:0!important;top:calc(100% + 10px)!important;z-index:10060!important;width:min(382px,calc(100vw - 24px))!important;padding:13px!important;border:1px solid color-mix(in srgb,#ef4444 44%,var(--line))!important;border-radius:17px!important;background:color-mix(in srgb,var(--panel) 95%,#000 5%)!important;box-shadow:0 18px 50px rgba(0,0,0,.40)!important;text-align:left!important;line-height:1.36!important;color:var(--text)!important;white-space:normal!important;gap:7px!important;cursor:default;}
.reg-v3-header-tooltip:before{content:'';position:absolute;right:22px;top:-7px;width:12px;height:12px;transform:rotate(45deg);background:inherit;border-left:1px solid color-mix(in srgb,#ef4444 44%,var(--line));border-top:1px solid color-mix(in srgb,#ef4444 44%,var(--line));}
.reg-v3-header-pill:hover .reg-v3-header-tooltip,.reg-v3-header-pill:focus-within .reg-v3-header-tooltip,.reg-v3-header-pill.open .reg-v3-header-tooltip{display:grid!important;}
.reg-v3-header-tooltip strong{color:#ff5e71;font-size:.87rem;font-weight:950;margin-bottom:2px;}
.reg-v3-header-tooltip div{display:grid;grid-template-columns:98px minmax(0,1fr);gap:9px;align-items:center;border-bottom:0!important;padding-bottom:0!important;font-size:.82rem;color:var(--text);}
.reg-v3-header-tooltip div span{color:var(--muted);font-size:.76rem;font-weight:800;}
.reg-v3-header-tooltip div b{font-size:.82rem!important;line-height:1.38;font-weight:900;overflow-wrap:anywhere;}
.reg-v3-header-tooltip .reg-v3-header-event{border-top:1px dashed color-mix(in srgb,var(--line) 72%,transparent);padding-top:6px;}
.reg-v3-header-tooltip small{color:var(--muted);font-size:.76rem;line-height:1.48;display:block;margin-top:2px;}
.reg-v3-header-tooltip hr{width:100%;border:0;border-top:1px solid var(--line);margin:5px 0;}
.reg-v3-header-tooltip .reg-v3-header-open{justify-self:start;margin-top:3px;padding:5px 12px;border-radius:999px;min-height:30px;font-size:.78rem;font-weight:900;}
.lang-fa .reg-v3-header-tooltip{direction:rtl;text-align:right!important;right:auto!important;left:0!important;}
.lang-fa .reg-v3-header-tooltip:before{left:22px;right:auto;}
.lang-fa .reg-v3-header-tooltip div{grid-template-columns:92px minmax(0,1fr);}
.lang-fa .reg-v3-header-tooltip .reg-v3-header-open{justify-self:end;}
@media(max-width:880px){.reg-v3-header-tooltip{right:-128px!important;width:min(350px,calc(100vw - 20px))!important}.lang-fa .reg-v3-header-tooltip{left:-128px!important;right:auto!important}.reg-v3-header-pill:after{right:-128px;width:min(350px,calc(100vw - 20px));}}

/* WEB30_16_839 Registration V3 header alert animation repair + blocked-device table */
.reg-v3-header-pill.state-registration-request,
.reg-v3-header-pill.state-waiting-code,
.reg-v3-header-pill.state-token-leak,
.reg-v3-header-pill.state-duplicate-identity-token{isolation:isolate;overflow:visible!important;transform:translateZ(0);}
.reg-v3-header-pill.state-registration-request:before,
.reg-v3-header-pill.state-waiting-code:before,
.reg-v3-header-pill.state-token-leak:before,
.reg-v3-header-pill.state-duplicate-identity-token:before{content:'';position:absolute;inset:0;border-radius:inherit;z-index:0;pointer-events:none;opacity:1;}
.reg-v3-header-pill #regV3HeaderIcon,.reg-v3-header-pill #regV3HeaderStatus{position:relative;z-index:2;}
.reg-v3-header-pill .reg-v3-header-tooltip{z-index:10060;}
.reg-v3-header-pill.state-registration-request:before{animation:regV3HeaderGreenFastSolid .34s steps(2,end) infinite;}
.reg-v3-header-pill.state-waiting-code:before{animation:regV3HeaderGreenSlowSolid 1.15s ease-in-out infinite;}
.reg-v3-header-pill.state-token-leak:before{animation:regV3HeaderPoliceRedSolid .30s steps(2,end) infinite;}
.reg-v3-header-pill.state-duplicate-identity-token:before{animation:regV3HeaderPoliceOrangeRedSolid .42s steps(2,end) infinite;}
.reg-v3-header-state-icon.state-registration-request{animation:regV3IconPopFast .34s steps(2,end) infinite;}
.reg-v3-header-state-icon.state-waiting-code{animation:regV3IconPopSlow 1.15s ease-in-out infinite;}
.reg-v3-header-state-icon.state-token-leak{animation:regV3IconPoliceRed .30s steps(2,end) infinite;}
.reg-v3-header-state-icon.state-duplicate-identity-token{animation:regV3IconPoliceOrangeRed .42s steps(2,end) infinite;}
@keyframes regV3HeaderGreenFastSolid{0%,100%{background:#16a34a;box-shadow:0 0 0 1px rgba(34,197,94,.75),0 0 22px rgba(34,197,94,.85)}50%{background:#064e3b;box-shadow:0 0 0 1px rgba(34,197,94,.25),0 0 3px rgba(34,197,94,.20)}}
@keyframes regV3HeaderGreenSlowSolid{0%,100%{background:#16a34a;box-shadow:0 0 0 1px rgba(34,197,94,.62),0 0 18px rgba(34,197,94,.62)}50%{background:#14532d;box-shadow:0 0 0 1px rgba(34,197,94,.22),0 0 4px rgba(34,197,94,.20)}}
@keyframes regV3HeaderPoliceRedSolid{0%,100%{background:#ef0000;box-shadow:0 0 0 1px rgba(255,255,255,.55),0 0 28px rgba(255,0,0,.95)}50%{background:#420000;box-shadow:0 0 0 1px rgba(255,255,255,.16),0 0 3px rgba(255,0,0,.25)}}
@keyframes regV3HeaderPoliceOrangeRedSolid{0%,100%{background:#f97316;box-shadow:0 0 0 1px rgba(255,255,255,.40),0 0 26px rgba(249,115,22,.92)}50%{background:#dc2626;box-shadow:0 0 0 1px rgba(255,255,255,.40),0 0 26px rgba(220,38,38,.92)}}
@keyframes regV3IconPopFast{0%,100%{transform:scale(1.2);filter:brightness(1.6)}50%{transform:scale(.82);filter:brightness(.78)}}
@keyframes regV3IconPopSlow{0%,100%{transform:scale(1.12);filter:brightness(1.35)}50%{transform:scale(.92);filter:brightness(.85)}}
@keyframes regV3IconPoliceRed{0%,100%{transform:scale(1.22);color:#fff;text-shadow:0 0 10px #fff}50%{transform:scale(.85);color:#ffd1d1;text-shadow:none}}
@keyframes regV3IconPoliceOrangeRed{0%,100%{transform:scale(1.18);color:#fff7ed;text-shadow:0 0 9px #fed7aa}50%{transform:scale(.90);color:#fee2e2;text-shadow:0 0 9px #fecaca}}
.reg-v3-scroll-cell{max-width:190px;overflow:hidden;white-space:nowrap;position:relative;display:block;line-height:1.35;}
.reg-v3-scroll-cell span{display:inline-block;min-width:100%;padding-inline-end:36px;animation:regV3CellTextPan 7s ease-in-out infinite alternate;will-change:transform;}
.reg-v3-table td:hover .reg-v3-scroll-cell span{animation-play-state:running;}
@keyframes regV3CellTextPan{0%,18%{transform:translateX(0)}82%,100%{transform:translateX(-35%)}}
.lang-fa .reg-v3-scroll-cell span{animation-name:regV3CellTextPanRtl;}
@keyframes regV3CellTextPanRtl{0%,18%{transform:translateX(0)}82%,100%{transform:translateX(35%)}}
.reg-v3-unblocked-time{display:block!important;color:#22c55e!important;font-weight:900;margin-top:5px;}
.reg-v3-blocked-row-unblocked td{opacity:.86;}
.reg-v3-blocked-row-unblocked .reg-v3-scroll-cell span{color:var(--muted);}

/* WEB30_16_840 Device Access UI polish */
.reg-v3-overview-panel{overflow:hidden;}
.reg-v3-overview-head h3{display:flex;align-items:center;gap:8px;margin:0;font-size:1rem;letter-spacing:.01em;}
.reg-v3-section-icon{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:10px;background:linear-gradient(135deg,rgba(96,165,250,.18),rgba(34,197,94,.12));border:1px solid rgba(96,165,250,.28);font-size:.9rem;}
.reg-v3-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin:12px 0;}
.reg-v3-summary-card{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;min-height:76px;padding:12px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.018));box-shadow:0 12px 34px rgba(0,0,0,.16);position:relative;overflow:hidden;}
.reg-v3-summary-card:before{content:'';position:absolute;inset:0 0 auto;height:3px;background:rgba(148,163,184,.45);}
.reg-v3-summary-card i{display:grid;place-items:center;width:38px;height:38px;border-radius:14px;font-style:normal;font-weight:950;background:rgba(148,163,184,.12);border:1px solid rgba(148,163,184,.26);}
.reg-v3-summary-card span,.reg-v3-mini-state span,.reg-v3-last-log span{display:block;color:var(--muted);font-size:.73rem;font-weight:850;text-transform:uppercase;letter-spacing:.045em;}
.reg-v3-summary-card b{display:block;margin-top:2px;font-size:1.32rem;font-weight:950;line-height:1;}
.reg-v3-summary-card small{display:block;margin-top:5px;color:var(--muted);font-weight:780;font-size:.72rem;}
.reg-v3-summary-card.tone-ok{border-color:rgba(34,197,94,.32);}.reg-v3-summary-card.tone-ok:before{background:#22c55e;}.reg-v3-summary-card.tone-ok i{background:rgba(34,197,94,.13);border-color:rgba(34,197,94,.32);color:#86efac;}
.reg-v3-summary-card.tone-warn{border-color:rgba(245,158,11,.36);}.reg-v3-summary-card.tone-warn:before{background:#f59e0b;}.reg-v3-summary-card.tone-warn i{background:rgba(245,158,11,.14);border-color:rgba(245,158,11,.34);color:#fcd34d;}
.reg-v3-summary-card.tone-bad{border-color:rgba(239,68,68,.38);}.reg-v3-summary-card.tone-bad:before{background:#ef4444;}.reg-v3-summary-card.tone-bad i{background:rgba(239,68,68,.15);border-color:rgba(239,68,68,.36);color:#fca5a5;}
.reg-v3-state-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:9px;margin:10px 0 12px;}
.reg-v3-mini-state{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.032);}
.reg-v3-mini-state i{font-style:normal;display:grid;place-items:center;width:28px;height:28px;border-radius:11px;background:rgba(148,163,184,.12);font-weight:950;}
.reg-v3-mini-state b{font-size:.84rem;font-weight:950;white-space:nowrap;}
.reg-v3-mini-state.tone-ok i{color:#86efac;background:rgba(34,197,94,.12);}.reg-v3-mini-state.tone-warn i{color:#fde68a;background:rgba(245,158,11,.12);}.reg-v3-mini-state.tone-bad i{color:#fca5a5;background:rgba(239,68,68,.13);}
.reg-v3-last-log{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;align-items:start;margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,rgba(96,165,250,.07),rgba(255,255,255,.018));}
.reg-v3-last-log i{display:grid;place-items:center;width:40px;height:40px;border-radius:14px;background:rgba(96,165,250,.13);border:1px solid rgba(96,165,250,.28);font-style:normal;font-weight:950;}
.reg-v3-last-log b{display:block;font-size:.95rem;line-height:1.38;overflow-wrap:anywhere;}
.reg-v3-last-log small{display:block;color:var(--muted);font-size:.77rem;margin-top:5px;font-weight:780;}
.reg-v3-last-log.tone-warn{border-color:rgba(245,158,11,.34);}.reg-v3-last-log.tone-warn i{color:#fde68a;background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.28);}
.reg-v3-last-log.tone-bad{border-color:rgba(239,68,68,.36);}.reg-v3-last-log.tone-bad i{color:#fecaca;background:rgba(239,68,68,.13);border-color:rgba(239,68,68,.32);}
.reg-v3-overview-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);}
.reg-v3-header-tooltip strong{display:flex!important;align-items:center;gap:7px;color:var(--text)!important;font-size:.9rem!important;border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:4px;}
.reg-v3-title-icon{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:9px;background:rgba(96,165,250,.14);border:1px solid rgba(96,165,250,.28);}
.reg-v3-header-status-row{display:grid!important;grid-template-columns:92px minmax(0,1fr)!important;align-items:center;padding:4px 0!important;}
.reg-v3-header-kpi-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:6px!important;margin:4px 0 2px!important;border:0!important;padding:0!important;}
.reg-v3-header-kpi-grid section{display:grid;gap:2px;place-items:center;text-align:center;min-width:0;padding:8px 4px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.035);}
.reg-v3-header-kpi-grid section i{font-style:normal;font-weight:950;font-size:.92rem;color:#93c5fd;line-height:1;}
.reg-v3-header-kpi-grid section span{font-size:.66rem!important;font-weight:850;color:var(--muted);white-space:nowrap;}
.reg-v3-header-kpi-grid section b{font-size:.96rem!important;font-weight:950;line-height:1.1;}
.reg-v3-header-lastlog{display:grid!important;grid-template-columns:82px minmax(0,1fr)!important;gap:9px!important;align-items:start;margin-top:5px;padding:8px!important;border:1px solid var(--line)!important;border-radius:12px;background:rgba(255,255,255,.032);}
.reg-v3-header-lastlog b{max-height:42px;overflow:hidden;}
.reg-v3-header-tooltip small{display:none!important;}
.lang-fa .reg-v3-header-kpi-grid{direction:rtl;}
@media(max-width:880px){.reg-v3-header-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.reg-v3-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* WEB30_17_843 Email UI polish: register-style tabs and readable host-mail workspace. */
.email-hub-page{
  display:grid;
  gap:12px;
  font-size:15px;
}
.email-hub-page .panel.pad{
  padding:16px;
}
.email-hub-page .panel h3{
  font-size:1.02rem;
  line-height:1.35;
}
.email-hub-page label,
.email-hub-page input,
.email-hub-page select,
.email-hub-page textarea,
.email-hub-page button,
.email-hub-page table{
  font-size:14px;
}
.email-hub-page .muted,
.email-hub-page .tiny,
.email-hub-page small{
  font-size:.86rem;
  line-height:1.45;
}
.email-hub-tabs{
  display:flex!important;
  align-items:flex-end!important;
  gap:0!important;
  flex-wrap:wrap!important;
  margin:0 0 0!important;
  padding:8px 0 0!important;
  border-bottom:1px solid rgba(239,68,68,.92)!important;
  background:transparent!important;
  box-shadow:none!important;
}
.email-hub-tabs .du-tab,
.email-hub-tabs .reg-v3-tab{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  gap:0!important;
  min-width:auto!important;
  min-height:38px!important;
  margin:0 0 -1px!important;
  padding:9px 13px!important;
  border:1px solid var(--line)!important;
  border-bottom:0!important;
  border-radius:8px 8px 0 0!important;
  background:var(--panel2)!important;
  color:var(--muted)!important;
  box-shadow:none!important;
  cursor:pointer!important;
  font-weight:850!important;
  line-height:1.2!important;
}
.email-hub-tabs .du-tab b,
.email-hub-tabs .reg-v3-tab b{
  display:block!important;
  color:inherit!important;
  font-size:13.5px!important;
  font-weight:850!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}
.email-hub-tabs .du-tab.active,
.email-hub-tabs .reg-v3-tab.active{
  background:var(--panel)!important;
  color:var(--text)!important;
  border-color:rgba(239,68,68,.92)!important;
  border-bottom-color:var(--panel)!important;
  transform:none!important;
  box-shadow:none!important;
}
.email-hub-tabs .du-tab:hover,
.email-hub-tabs .reg-v3-tab:hover{
  color:var(--text)!important;
  border-color:rgba(239,68,68,.66)!important;
}
.mail-channel-grid b{font-size:.95rem!important;}
.mail-channel-grid span{font-size:.96rem!important;}
.mail-template-tabs .tab{font-size:14px!important;border-radius:8px 8px 0 0!important;padding:9px 13px!important;}
.theme-light .email-hub-tabs{background:transparent!important;border-bottom-color:#ef4444!important;}
.theme-light .email-hub-tabs .du-tab,
.theme-light .email-hub-tabs .reg-v3-tab{background:#f6f8fb!important;border-color:#c9d6e2!important;color:#526273!important;}
.theme-light .email-hub-tabs .du-tab.active,
.theme-light .email-hub-tabs .reg-v3-tab.active{background:#fff!important;color:#172033!important;border-color:#ef4444!important;}
@media(max-width:880px){.email-hub-tabs .du-tab,.email-hub-tabs .reg-v3-tab{padding:7px 10px!important}.email-hub-tabs .du-tab b,.email-hub-tabs .reg-v3-tab b{font-size:13px!important}}

/* WEB30_17_844 Domain mailbox tab. */
.mailbox-page{font-size:15.5px;}
.mailbox-subtabs{
  display:flex;
  align-items:flex-end;
  flex-wrap:wrap;
  gap:0;
  border-bottom:1px solid rgba(239,68,68,.9);
  margin:0 0 10px;
  padding-top:4px;
}
.mailbox-subtab{
  border:1px solid var(--line);
  border-bottom:0;
  border-radius:8px 8px 0 0;
  background:var(--panel2);
  color:var(--muted);
  font-weight:850;
  padding:9px 14px;
  min-height:38px;
  margin:0 0 -1px;
  cursor:pointer;
  font-size:14px;
}
.mailbox-subtab.active{
  background:var(--panel);
  color:var(--text);
  border-color:rgba(239,68,68,.92);
  border-bottom-color:var(--panel);
}
.mailbox-list-panel table th,
.mailbox-list-panel table td{
  font-size:14px;
  vertical-align:top;
}
.mailbox-list-panel tr[data-mailbox-open]{cursor:pointer;}
.mailbox-list-panel tr[data-mailbox-open]:hover{background:rgba(255,255,255,.035);}
.mailbox-read-pane{margin-top:12px;}
.mailbox-message-card{
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(255,255,255,.025);
  padding:14px;
}
.mailbox-message-card h3{margin:0 0 10px;font-size:1rem;}
.mailbox-message-card dl{display:grid;grid-template-columns:70px minmax(0,1fr);gap:6px 10px;margin:0 0 12px;}
.mailbox-message-card dt{color:var(--muted);font-weight:850;}
.mailbox-message-card dd{margin:0;word-break:break-word;}
.mailbox-message-card pre{
  white-space:pre-wrap;
  overflow:auto;
  max-height:480px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(0,0,0,.18);
  font-size:14px;
  line-height:1.55;
}
.tiny-btn{padding:5px 9px!important;font-size:12.5px!important;min-height:28px!important;}
.theme-light .mailbox-subtabs{border-bottom-color:#ef4444;}
.theme-light .mailbox-subtab{background:#f6f8fb;border-color:#c9d6e2;color:#526273;}
.theme-light .mailbox-subtab.active{background:#fff;color:#172033;border-color:#ef4444;}
@media(max-width:880px){.mailbox-subtab{padding:7px 10px;font-size:13px}.mailbox-message-card dl{grid-template-columns:1fr}.mailbox-message-card pre{max-height:360px}}


/* WEB30.17.846_EMAIL_ALL_SITE_EVENTS */
.email-hub-tabs .du-tab span b{font-size:14.5px;letter-spacing:.01em}
.email-hub-page{font-size:14.5px;line-height:1.55}
.email-hub-page input,.email-hub-page select,.email-hub-page textarea{font-size:14.5px}
.mail-template-selector{margin:10px 0 14px;max-width:720px}
.mail-template-selector label{display:grid;gap:7px;font-weight:700}
.mail-template-selector select{min-height:42px}
.mail-event-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.mail-event-rules-table th,.mail-event-rules-table td{vertical-align:middle;font-size:14px}
.mail-event-rules-table td:first-child b{display:block;font-size:14.5px;margin-bottom:2px}
.mail-event-rules-table td:first-child small{display:block;color:var(--muted);font-family:var(--mono);font-size:12px}
.mail-event-rules-table input[type="number"]{width:92px;min-height:36px}
.mail-event-rules-table select{min-width:220px;min-height:36px}
.mail-event-rules-table .center{text-align:center}
.mail-event-policy-panel .form-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.mail-event-rules-panel .table-wrap{max-height:62vh;overflow:auto}

/* WEB30.17.847_EMAIL_MAILBOX_ACTIONS_HEADER_COMPACT */
.mail-compact-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel2) 70%,transparent);padding:9px 12px;font-size:13.5px}.mail-compact-status b{font-size:14.5px}.mail-compact-status span{color:var(--muted);font-weight:800}.mailbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.mailbox-toolbar h3{margin:0}.mailbox-row.read{opacity:.76}.mailbox-row.unread{background:color-mix(in srgb,var(--accent) 7%,transparent);box-shadow:inset 3px 0 0 color-mix(in srgb,var(--accent) 82%,transparent)}.mailbox-row.flagged{box-shadow:inset 3px 0 0 color-mix(in srgb,#f59e0b 80%,transparent)}.mailbox-row.unread.flagged{box-shadow:inset 3px 0 0 color-mix(in srgb,#f59e0b 85%,transparent),inset 6px 0 0 color-mix(in srgb,var(--accent) 80%,transparent)}.mailbox-subject-cell{font-weight:850}.mailbox-row.read .mailbox-subject-cell{font-weight:600;color:var(--muted)}.mailbox-unread-dot{display:inline-flex;width:8px;height:8px;border-radius:50%;margin-inline-end:7px;background:transparent}.mailbox-row.unread .mailbox-unread-dot{background:var(--accent);box-shadow:0 0 8px color-mix(in srgb,var(--accent) 72%,transparent)}.mailbox-star-cell{width:32px;text-align:center}.mailbox-icon-btn{width:26px;height:26px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--panel2) 80%,transparent);color:var(--muted);font-weight:950;cursor:pointer}.mailbox-icon-btn.active{color:#fbbf24;border-color:rgba(251,191,36,.62);box-shadow:0 0 12px rgba(251,191,36,.16)}.mailbox-action-cell{display:flex;gap:6px;flex-wrap:wrap}.ghost-btn.danger{border-color:rgba(239,68,68,.42)!important;color:#fecaca!important}.ghost-btn.danger:hover{background:rgba(239,68,68,.12)!important;border-color:rgba(239,68,68,.72)!important}.mailbox-message-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.mailbox-message-head h3{margin:0!important}.email-hub-page .mail-status-grid{display:none}.email-hub-page .panel h3{margin-bottom:8px}.email-hub-page .mail-channel-card h3,.email-hub-page .scroll-card h3{margin-bottom:6px}.email-hub-page .mail-channel-card{padding:12px!important}.email-hub-page .mail-channel-grid{gap:8px}.email-hub-page .mail-channel-grid div{padding:10px!important}.email-hub-page .muted:not(.mail-diagnostic-box .muted){line-height:1.35}
.mail-header-wrap{position:relative;display:inline-flex;align-items:center;flex:0 0 auto}.mail-header-pill{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:54px;height:24px;max-width:68px;padding:2px 7px;line-height:1;direction:ltr;overflow:visible;flex:0 0 auto;border:1px solid var(--line);background:color-mix(in srgb,var(--panel2) 88%,transparent);color:var(--text);font:inherit;cursor:pointer}.mail-header-pill>span{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:13px;font-weight:950;line-height:1}.mail-header-pill #mailHeaderStatus{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:16px;max-width:28px;height:16px;padding:0 4px;border-radius:999px;background:color-mix(in srgb,var(--accent) 18%,transparent);font-size:10px;font-weight:950;line-height:1;overflow:hidden;text-overflow:ellipsis}.mail-header-pill.warn{border-color:rgba(245,158,11,.72);box-shadow:0 0 0 1px rgba(245,158,11,.18),0 0 16px rgba(245,158,11,.12);animation:smsBlinkWarn 1.25s ease-in-out infinite}.mail-header-pill.muted{opacity:.82}.mail-header-panel{position:absolute;top:calc(100% + 9px);right:0;width:min(390px,calc(100vw - 24px));max-height:450px;overflow:auto;z-index:1500;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--panel) 96%,#000 4%);box-shadow:0 18px 48px rgba(0,0,0,.38);padding:10px;display:none;text-align:left;direction:ltr}.mail-header-panel.open{display:grid;gap:9px}.mail-header-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 4px 8px;border-bottom:1px solid var(--line)}.mail-header-panel-head b{font-size:.9rem}.mail-header-panel-head span{color:var(--muted);font-size:.76rem;font-weight:900}.mail-header-list{display:grid;gap:6px}.mail-header-item{display:grid;grid-template-columns:26px minmax(0,1fr) 72px;grid-template-areas:'ico subj time' 'ico from time';gap:2px 8px;width:100%;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:12px;background:color-mix(in srgb,var(--panel2) 72%,transparent);color:var(--text);padding:8px;text-align:left;cursor:pointer}.mail-header-item:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 9%,transparent)}.mail-header-item.unread{box-shadow:inset 3px 0 0 color-mix(in srgb,var(--accent) 85%,transparent)}.mail-header-item span{grid-area:ico;display:grid;place-items:center;font-weight:950;color:var(--accent)}.mail-header-item b{grid-area:subj;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.mail-header-item small{grid-area:from;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.74rem}.mail-header-item em{grid-area:time;color:var(--muted);font-style:normal;font-size:.68rem;text-align:right;align-self:center}.mail-header-empty{padding:14px;text-align:center;color:var(--muted);font-size:.82rem}.mail-header-empty.mini{padding:0}.mail-header-events{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:7px 4px}.mail-header-events b{font-size:.8rem}.mail-header-events div{display:flex;gap:6px}.mail-header-event{width:24px;height:24px;border:1px solid var(--line);border-radius:999px;display:grid;place-items:center;font-weight:950;background:color-mix(in srgb,var(--panel2) 76%,transparent);font-size:.78rem}.mail-header-event.warning,.mail-header-event.warn{color:#fbbf24;border-color:rgba(251,191,36,.55)}.mail-header-event.error,.mail-header-event.critical,.mail-header-event.fatal,.mail-header-event.danger{color:#fecaca;border-color:rgba(239,68,68,.58)}.mail-header-event.info{color:#93c5fd}.mail-header-panel-actions{display:flex;gap:8px;justify-content:flex-end}.lang-fa .mail-header-panel{right:auto;left:0;text-align:right;direction:rtl}.lang-fa .mail-header-item{text-align:right;direction:rtl}.lang-fa .mail-header-item em{text-align:left}@media(max-width:720px){.mail-header-panel{position:fixed;top:58px;right:10px;left:10px;width:auto}.lang-fa .mail-header-panel{left:10px;right:10px}.mailbox-message-head{display:grid}.mailbox-action-cell{min-width:220px}}

/* WEB30.17.848 Email queue/template/mailbox polish */
.email-hub-page .mail-status-grid{margin-bottom:10px}
.email-hub-page section.panel h3{margin-bottom:8px}
.mailbox-row.unread{background:rgba(54,169,255,.13);box-shadow:inset 3px 0 0 rgba(54,169,255,.9);font-weight:800}
.mailbox-row.read{background:rgba(120,140,160,.035);color:rgba(225,235,245,.78)}
.mailbox-row.flagged{box-shadow:inset 3px 0 0 rgba(255,199,72,.95)}
.mailbox-subject-cell{display:flex;align-items:center;gap:8px}
.mailbox-unread-dot{width:9px;height:9px;border-radius:50%;background:transparent;border:1px solid rgba(140,160,180,.5);display:inline-block;flex:0 0 auto}
.mailbox-row.unread .mailbox-unread-dot{background:#36a9ff;border-color:#36a9ff;box-shadow:0 0 10px rgba(54,169,255,.75)}
.mailbox-read-check{display:inline-flex;align-items:center;justify-content:center;margin-inline-start:6px;cursor:pointer;vertical-align:middle}
.mailbox-read-check input{display:none}
.mailbox-read-check span{width:16px;height:16px;border-radius:4px;border:1px solid rgba(150,170,190,.6);display:inline-block;background:rgba(255,255,255,.03)}
.mailbox-read-check input:checked + span{background:rgba(41,224,169,.25);border-color:#29e0a9;box-shadow:inset 0 0 0 3px rgba(10,18,28,.9)}
.mail-html-editor{font-family:ui-monospace,Consolas,monospace;direction:ltr;min-height:260px}
.mail-html-preview{background:rgba(255,255,255,.04);border:1px solid rgba(130,155,180,.25);border-radius:12px;padding:10px;min-height:130px;overflow:auto}
.mail-preview-subject{font-weight:800;margin-bottom:8px;color:#eaf6ff}
.mail-preview-frame{width:100%;min-height:360px;border:1px solid rgba(130,155,180,.25);border-radius:10px;background:#fff}
.mail-var-chip{border:1px solid rgba(80,170,210,.35);background:rgba(30,70,100,.35);color:#dff7ff;border-radius:999px;padding:3px 8px;margin:2px;font-size:12px;cursor:pointer}
.mail-queue-panel .form-actions,.mail-template-panel .form-actions{gap:8px;flex-wrap:wrap}

/* WEB30.17.850 mailbox modal viewer */
.mailbox-list-panel tr[data-mailbox-open],.mailbox-list-panel .mailbox-row{cursor:default}
.mailbox-list-panel tr[data-mailbox-open]:hover,.mailbox-list-panel .mailbox-row:hover{background:rgba(255,255,255,.02)}
.mailbox-read-pane{display:none!important}
.mailbox-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:24px;padding:0 8px;border-radius:999px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel2) 82%,transparent);font-size:.86rem;font-weight:900;margin-inline-start:8px}
.mailbox-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:10px 0}
.mailbox-pager-meta{color:var(--muted);font-size:.84rem;font-weight:800}
.mail-viewer-backdrop{position:fixed;inset:0;z-index:12050;background:rgba(2,8,13,.72);backdrop-filter:blur(8px);display:grid;place-items:center;padding:18px}
.mail-viewer-modal{width:min(80vw,1180px);height:min(80vh,820px);display:grid;grid-template-rows:auto 1fr auto;border-radius:24px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));box-shadow:0 30px 90px rgba(0,0,0,.45);background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 96%,#000),color-mix(in srgb,var(--panel2) 94%,#000));padding:16px}
.mail-viewer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.mail-viewer-kicker{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}
.mail-viewer-head h3{margin:0 0 10px;font-size:1.28rem;line-height:1.3}
.mail-viewer-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.mail-viewer-meta-item{border:1px solid color-mix(in srgb,var(--line) 86%,transparent);border-radius:14px;background:color-mix(in srgb,var(--panel2) 74%,transparent);padding:9px 10px;display:grid;gap:4px}
.mail-viewer-meta-item span{color:var(--muted);font-size:.75rem;font-weight:900}
.mail-viewer-meta-item b{font-size:.9rem;line-height:1.45;word-break:break-word}
.mail-viewer-body{min-height:0;padding:12px 0}
.mail-viewer-frame{width:100%;height:100%;min-height:430px;border:1px solid var(--line);border-radius:16px;background:#fff}
.mail-viewer-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--line)}
.mail-viewer-nav,.mail-viewer-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.mail-viewer-pageinfo{color:var(--muted);font-size:.82rem;font-weight:900;margin-inline-end:8px}
.mail-viewer-actions .ghost-btn,.mail-viewer-nav .ghost-btn{min-height:32px}
@media(max-width:980px){.mail-viewer-modal{width:min(92vw,1180px);height:min(88vh,880px)}.mail-viewer-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.mail-viewer-backdrop{padding:10px}.mail-viewer-modal{width:calc(100vw - 12px);height:calc(100vh - 12px);padding:12px;border-radius:18px}.mail-viewer-meta-grid{grid-template-columns:1fr}.mail-viewer-foot{display:grid;grid-template-columns:1fr}.mail-viewer-nav,.mail-viewer-actions{justify-content:flex-start}.mail-viewer-frame{min-height:300px}}

/* WEB30.17.851 independent HTML email builder */
.email-builder-panel{display:grid;gap:12px}
.email-builder-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:10px}
.email-builder-head h3{margin:0 0 4px}
.email-builder-head small{color:var(--muted);font-weight:800}
.email-builder-workspace{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:12px;min-height:520px}
.email-builder-code{width:100%;min-height:520px;resize:vertical;border:1px solid var(--line);border-radius:16px;background:#07111c;color:#dcecff;font:13px/1.65 Consolas,Monaco,monospace;padding:14px;direction:ltr;text-align:left;white-space:pre;tab-size:2}
.email-builder-visual{min-height:520px;max-height:68vh;overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff;color:#172033;padding:18px;line-height:1.7;font-family:Tahoma,Arial,sans-serif;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
.email-builder-visual:focus,.email-builder-code:focus{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px}
.email-builder-side{display:grid;align-content:start;gap:10px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--panel2) 82%,transparent);padding:12px;min-width:0}
.email-builder-side b{font-size:.92rem}
.email-builder-side small{color:var(--muted);line-height:1.55;font-size:.78rem}
.email-builder-token-list{display:flex;gap:6px;flex-wrap:wrap;max-height:390px;overflow:auto;padding-inline-end:3px}
.email-builder-toolbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--panel2) 82%,transparent);padding:8px}
.email-builder-toolbar button,.email-builder-toolbar label{min-height:32px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel) 84%,transparent);color:var(--text);font-size:.82rem;font-weight:900;padding:5px 9px;display:inline-flex;align-items:center;gap:6px}
.email-builder-toolbar button{cursor:pointer}
.email-builder-toolbar button:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:color-mix(in srgb,var(--accent) 11%,var(--panel2))}
.email-builder-toolbar input[type="color"]{width:28px;height:24px;border:0;background:transparent;padding:0}
.email-builder-toolbar select{height:28px;min-width:64px}
.theme-light .email-builder-code{background:#f7fafc;color:#111827}
@media(max-width:1020px){.email-builder-workspace{grid-template-columns:1fr}.email-builder-side{order:-1}.email-builder-token-list{max-height:160px}.email-builder-code,.email-builder-visual{min-height:420px}}

/* WEB30.17.852 Email Builder polish */
.email-builder-editor-stack{display:grid;gap:10px;min-width:0}
.email-builder-code{resize:both;min-width:340px;max-width:100%;overflow:auto}
.email-builder-visual{resize:both;min-width:340px;max-width:100%;overflow:auto}
.email-builder-toolbar{position:relative}
.email-builder-toolbar label button{min-height:24px;padding:2px 7px;border-radius:8px;background:color-mix(in srgb,var(--accent) 14%,var(--panel));color:var(--text);border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line));cursor:pointer}
.email-builder-tool-status{font-size:.78rem;font-weight:850;color:var(--muted);margin-top:-4px;padding-inline:4px}
.email-builder-footer-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--panel2) 78%,transparent);padding:9px}
.email-builder-footer-tools label{display:inline-flex;align-items:center;gap:7px;font-size:.82rem;font-weight:900;color:var(--muted)}
.email-builder-footer-tools input[type="email"]{min-width:230px;height:34px}
.email-builder-table-wrap{position:relative;display:inline-flex}
.email-builder-table-picker{position:absolute;top:calc(100% + 7px);left:0;z-index:40;width:206px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--panel) 98%,#000 2%);box-shadow:0 18px 44px rgba(0,0,0,.34);padding:10px;display:none}
.email-builder-table-picker.open{display:grid;gap:8px}
.email-builder-table-label{font-size:.78rem;font-weight:900;color:var(--muted)}
.email-builder-table-grid{display:grid;grid-template-columns:repeat(8,18px);gap:4px}
.email-builder-table-grid button{width:18px;height:18px;min-height:18px;padding:0;border-radius:4px;background:color-mix(in srgb,var(--panel2) 78%,transparent);border:1px solid var(--line)}
.email-builder-table-grid button.active{background:color-mix(in srgb,var(--accent) 55%,var(--panel2));border-color:color-mix(in srgb,var(--accent) 80%,var(--line))}
.email-builder-mobile-frame{display:block;width:390px!important;max-width:100%;height:680px!important;min-height:680px!important;margin:0 auto;border-radius:28px!important;box-shadow:0 0 0 10px rgba(15,23,42,.92),0 20px 55px rgba(0,0,0,.36);overflow:hidden}
@media(max-width:760px){.email-builder-footer-tools{display:grid;grid-template-columns:1fr}.email-builder-footer-tools input[type="email"]{min-width:0;width:100%}.email-builder-code,.email-builder-visual{min-width:0}.email-builder-table-picker{left:auto;right:0}}


/* WEB30.17.853 Email builder preview/resize polish */
.email-builder-code,
.email-builder-visual{
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  min-width:280px;
  min-height:520px;
  max-height:none!important;
  resize:both;
  overflow:auto;
}
.email-builder-code{
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  overflow-x:hidden;
}
.email-builder-visual{
  overflow-x:hidden;
}
.email-builder-editor-stack{
  max-width:100%;
  overflow:visible;
}
.email-builder-workspace{
  overflow:hidden;
}
.email-builder-mobile-preview-modal{
  width:min(96vw,980px)!important;
  height:min(92vh,920px)!important;
  overflow:hidden;
}
.email-builder-mobile-preview-modal .mail-viewer-head{
  flex:0 0 auto;
}
.email-builder-mobile-preview-body{
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:auto;
  min-height:0;
  padding:18px 0;
}
.email-builder-mobile-preview-wrap{
  width:430px;
  max-width:100%;
  min-height:720px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:auto;
  padding:20px 14px;
}
.email-builder-desktop-preview-wrap{
  width:100%;
  height:100%;
  min-height:430px;
}
.email-builder-mobile-frame{
  display:block;
  width:390px!important;
  max-width:calc(100vw - 90px)!important;
  height:700px!important;
  min-height:700px!important;
  margin:auto!important;
  border-radius:30px!important;
  box-shadow:0 0 0 10px rgba(15,23,42,.92),0 20px 55px rgba(0,0,0,.36);
  overflow:hidden;
}
@media(max-width:640px){
  .email-builder-mobile-preview-modal{width:calc(100vw - 12px)!important;height:calc(100vh - 12px)!important}
  .email-builder-mobile-preview-wrap{min-height:620px;padding:14px 4px}
  .email-builder-mobile-frame{width:360px!important;max-width:calc(100vw - 58px)!important;height:640px!important;min-height:640px!important}
  .email-builder-code,.email-builder-visual{min-width:0;resize:vertical}
}

/* WEB30.18.858 Data View cleanup: chart-first layout and non-dimming point hover */
.datalogger-data-view-clean{display:grid;gap:var(--gap)}
.datalogger-data-view-clean .data-view-filter-bar{grid-template-columns:minmax(180px,.85fr) minmax(180px,.85fr) minmax(180px,.85fr) minmax(240px,1.05fr) auto;margin:0 0 2px;align-items:end}
.datalogger-data-view-clean .data-view-refresh-btn{height:34px;align-self:end;white-space:nowrap}
.datalogger-data-view-clean .history-chart-panel{order:2}
.datalogger-data-view-clean #dlHistoryOverviewPanels{order:3}
.datalogger-data-view-clean #dlHistoryMetricStrip{order:4}
.datalogger-data-view-clean #dlHistoryRecordsPanel{order:5}
.datalogger-data-view-clean .history-generic-chart-mount .mpu30-chart-stage,
.datalogger-data-view-clean .history-generic-chart-mount .mpu30-chart-svg{cursor:crosshair!important}
.datalogger-data-view-clean .mpu30-chart-card.hover-focus-off .mpu30-chart-svg:has(.mpu30-chart-series:hover) .mpu30-chart-series,
.datalogger-data-view-clean .mpu30-chart-card.hover-focus-off .mpu30-chart-svg .mpu30-chart-series:hover,
.mpu30-chart-card.hover-focus-off .mpu30-chart-svg:has(.mpu30-chart-series:hover) .mpu30-chart-series,
.mpu30-chart-card.hover-focus-off .mpu30-chart-svg .mpu30-chart-series:hover{opacity:1!important;filter:none!important}
.datalogger-data-view-clean .history-generic-chart-mount .mpu30-chart-hit,
.datalogger-data-view-clean .history-generic-chart-mount .mpu30-chart-dot,
.datalogger-data-view-clean .history-generic-chart-mount .mpu30-chart-scatter{stroke:rgba(255,255,255,.68);stroke-width:.8;opacity:.96;vector-effect:non-scaling-stroke}
@media(max-width:1280px){.datalogger-data-view-clean .data-view-filter-bar{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.datalogger-data-view-clean .data-view-filter-bar{grid-template-columns:1fr}.datalogger-data-view-clean .data-view-refresh-btn{width:100%}}

/* WEB30.18.860 Data View compact tree tabs: device -> sensor -> metric */
.datalogger-tabs.datalogger-tree-menu-tabs{display:flex;gap:4px;overflow-x:auto;overflow-y:hidden;margin:0 0 6px;padding:0;border-bottom:1px solid var(--line);flex-wrap:nowrap;direction:ltr;scrollbar-width:none;-ms-overflow-style:none;cursor:grab;user-select:none}
.datalogger-tabs.datalogger-tree-menu-tabs::-webkit-scrollbar{display:none}
.datalogger-tabs.datalogger-tree-menu-tabs .dc-lite-tab{flex:0 0 auto;border:1px solid var(--line);border-bottom:0;border-radius:7px 7px 0 0;background:var(--panel2);color:var(--muted);padding:7px 13px;font-size:13px;font-weight:900;white-space:nowrap;box-shadow:none;transform:none;line-height:1.15}
.datalogger-tabs.datalogger-tree-menu-tabs .dc-lite-tab.active{background:var(--panel);color:var(--text);border-color:var(--accent);box-shadow:inset 0 2px 0 var(--accent)}
.datalogger-tree-view{padding-top:6px!important;gap:8px!important}
.datalogger-tree-nav{order:1;display:grid;gap:4px;direction:ltr;border:0;border-radius:0;background:transparent;padding:0;margin:0;min-width:0}
.datalogger-tree-refresh-row,.datalogger-tree-title{display:none!important}
.datalogger-tree-row{display:block;min-width:0;margin:0;padding:0}
.datalogger-tree-tabs{display:flex;gap:4px;overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;margin:0;padding:0;border-bottom:1px solid color-mix(in srgb,var(--line) 84%,transparent);scrollbar-width:none;-ms-overflow-style:none;min-width:0;cursor:grab;user-select:none;touch-action:pan-x}
.datalogger-tree-tabs::-webkit-scrollbar{display:none}
.datalogger-tree-tabs.dragging{cursor:grabbing;scroll-behavior:auto}
.datalogger-tree-tabs .datalogger-tree-tab{flex:0 0 auto;min-width:auto;max-width:220px;min-height:36px;display:block;text-align:start;border:1px solid var(--line);border-bottom:0;border-radius:7px 7px 0 0;background:var(--panel2);color:var(--muted);padding:8px 13px;font-size:13.5px;font-weight:900;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:none;transform:none;cursor:pointer}
.datalogger-tree-tabs .datalogger-tree-tab:hover{border-color:color-mix(in srgb,var(--accent) 48%,var(--line));background:color-mix(in srgb,var(--accent) 8%,var(--panel2));color:var(--text)}
.datalogger-tree-tabs .datalogger-tree-tab.active{background:var(--panel);color:var(--text);border-color:var(--accent);box-shadow:inset 0 2px 0 var(--accent)}
.datalogger-tree-row.station-row .datalogger-tree-tab{max-width:240px}.datalogger-tree-row.metric-row .datalogger-tree-tab{max-width:280px}.datalogger-tree-row.sensor-row .datalogger-tree-tab{max-width:220px}.datalogger-tree-tab.tone-ok{border-inline-start:3px solid var(--good)}.datalogger-tree-tab.tone-bad{border-inline-start:3px solid var(--bad)}.datalogger-tree-tab.tone-neutral{border-inline-start:3px solid var(--muted)}
.datalogger-tree-empty{display:inline-flex;align-items:center;min-height:34px;padding:7px 11px;color:var(--muted);border:1px dashed var(--line);border-bottom:0;border-radius:7px 7px 0 0;background:var(--panel2);font-size:13px;font-weight:800}
.datalogger-data-view-clean .history-chart-panel{order:2;margin-top:0}.datalogger-data-view-clean #dlHistoryOverviewPanels{order:3}.datalogger-data-view-clean #dlHistoryRecordsPanel{order:4}
.datalogger-tree-view .history-chart-panel{padding-top:10px}.datalogger-tree-view .history-chart-head{margin-bottom:8px}.datalogger-tree-view .history-chart-title-meta h4{font-size:1.04rem}.datalogger-tree-view .history-chart-title-meta span{font-size:.78rem}.datalogger-tree-view .history-chart-controls-near{margin:0 0 8px;padding:7px 9px;border-radius:12px}
@media(max-width:900px){.datalogger-tree-tabs .datalogger-tree-tab{max-width:190px;padding:8px 11px}.datalogger-tree-row.station-row .datalogger-tree-tab,.datalogger-tree-row.metric-row .datalogger-tree-tab,.datalogger-tree-row.sensor-row .datalogger-tree-tab{max-width:210px}.datalogger-tabs.datalogger-tree-menu-tabs .dc-lite-tab{font-size:12.5px;padding:7px 10px}}

/* WEB30_18_861: Data View compact tree tab relation lines */
.datalogger-tree-view{gap:10px!important}
.datalogger-tree-nav{position:relative;display:grid;gap:14px!important;padding:0 0 2px!important;margin:0!important;overflow:hidden;isolation:isolate}
.datalogger-tree-connectors{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:visible}
.datalogger-tree-link{fill:none;stroke:color-mix(in srgb,var(--accent2) 74%,var(--text) 10%);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--accent2) 36%,transparent))}
.datalogger-tree-link-node{fill:color-mix(in srgb,var(--accent2) 88%,var(--text) 12%);stroke:var(--panel);stroke-width:1.2}
.datalogger-tree-row{position:relative;z-index:1;display:block;min-width:0;margin:0!important;padding:0!important}
.datalogger-tree-tabs{display:flex;align-items:flex-end;gap:6px!important;overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;margin:0!important;padding:0!important;border-bottom:0!important;scrollbar-width:none;-ms-overflow-style:none;min-width:0;cursor:grab;user-select:none;touch-action:pan-x;scroll-behavior:smooth}
.datalogger-tree-tabs::-webkit-scrollbar{display:none!important}
.datalogger-tree-tabs.dragging{cursor:grabbing;scroll-behavior:auto}
.datalogger-tree-tabs .datalogger-tree-tab{flex:0 0 auto;display:inline-flex!important;align-items:center;justify-content:center;height:38px!important;min-height:38px!important;max-height:38px!important;min-width:74px;max-width:230px;padding:0 14px!important;border:1px solid color-mix(in srgb,var(--accent2) 54%,var(--line))!important;border-bottom-color:color-mix(in srgb,var(--accent2) 54%,var(--line))!important;border-inline-start-width:1px!important;border-radius:8px!important;background:linear-gradient(180deg,color-mix(in srgb,var(--panel2) 92%,#000 8%),color-mix(in srgb,var(--panel) 90%,#000 10%))!important;color:var(--text)!important;font-size:14px!important;font-weight:900!important;line-height:1!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:none!important;transform:none!important;cursor:pointer}
.datalogger-tree-tabs .datalogger-tree-tab:hover{border-color:color-mix(in srgb,var(--accent2) 72%,var(--text) 8%)!important;background:color-mix(in srgb,var(--accent2) 10%,var(--panel2))!important;color:var(--text)!important}
.datalogger-tree-tabs .datalogger-tree-tab.active{border-color:var(--bad)!important;background:linear-gradient(180deg,color-mix(in srgb,var(--bad) 16%,var(--panel)),color-mix(in srgb,var(--panel) 92%,#000 8%))!important;color:var(--text)!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--bad) 34%,transparent), inset 0 2px 0 var(--bad)!important}
.datalogger-tree-tab.tone-ok,.datalogger-tree-tab.tone-bad,.datalogger-tree-tab.tone-neutral{border-inline-start:1px solid color-mix(in srgb,var(--accent2) 54%,var(--line))!important}
.datalogger-tree-tabs .datalogger-tree-tab.active.tone-ok,.datalogger-tree-tabs .datalogger-tree-tab.active.tone-bad,.datalogger-tree-tabs .datalogger-tree-tab.active.tone-neutral{border-inline-start-color:var(--bad)!important}
.datalogger-tree-empty{height:38px!important;min-height:38px!important;display:inline-flex;align-items:center;border:1px dashed color-mix(in srgb,var(--accent2) 38%,var(--line))!important;border-radius:8px!important;background:var(--panel2)!important}
.datalogger-tree-row.station-row .datalogger-tree-tab,.datalogger-tree-row.sensor-row .datalogger-tree-tab,.datalogger-tree-row.metric-row .datalogger-tree-tab{max-width:230px!important}
.datalogger-tabs.datalogger-tree-menu-tabs{gap:6px!important;border-bottom:0!important;margin:0 0 8px!important;scrollbar-width:none;-ms-overflow-style:none;cursor:grab;touch-action:pan-x}
.datalogger-tabs.datalogger-tree-menu-tabs::-webkit-scrollbar{display:none!important}
.datalogger-tabs.datalogger-tree-menu-tabs .dc-lite-tab{height:36px!important;min-height:36px!important;display:inline-flex!important;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--accent2) 48%,var(--line))!important;border-radius:8px!important;border-bottom-color:color-mix(in srgb,var(--accent2) 48%,var(--line))!important;padding:0 14px!important;font-size:13.5px!important;line-height:1!important;background:var(--panel2)!important;box-shadow:none!important}
.datalogger-tabs.datalogger-tree-menu-tabs .dc-lite-tab.active{border-color:var(--bad)!important;background:color-mix(in srgb,var(--bad) 13%,var(--panel))!important;color:var(--text)!important;box-shadow:inset 0 2px 0 var(--bad)!important}
.theme-light .datalogger-tree-link-node{stroke:var(--bg)}
@media(max-width:900px){.datalogger-tree-tabs .datalogger-tree-tab{height:36px!important;min-height:36px!important;max-height:36px!important;min-width:68px;font-size:13.2px!important;padding:0 12px!important}.datalogger-tree-nav{gap:12px!important}.datalogger-tabs.datalogger-tree-menu-tabs .dc-lite-tab{height:34px!important;min-height:34px!important;font-size:12.8px!important}}

/* WEB30_18_862: Data View tree tabs - stronger contrast and soft funnel connectors */
.datalogger-tree-nav{
  --dv-tree-idle-border: rgba(56,189,248,.64);
  --dv-tree-idle-border-soft: rgba(56,189,248,.36);
  --dv-tree-idle-bg-a: rgba(8,24,39,.96);
  --dv-tree-idle-bg-b: rgba(4,15,28,.96);
  --dv-tree-idle-text: #dbeafe;
  --dv-tree-active: #fb3f62;
  --dv-tree-active-soft: rgba(251,63,98,.30);
  --dv-tree-active-bg-a: rgba(84,17,35,.96);
  --dv-tree-active-bg-b: rgba(22,9,18,.98);
  --dv-tree-link: rgba(251,113,133,.92);
}
.datalogger-tree-tabs{gap:8px!important}
.datalogger-tree-tabs .datalogger-tree-tab{
  position:relative!important;
  overflow:visible!important;
  height:40px!important;
  min-height:40px!important;
  max-height:40px!important;
  border-width:1.3px!important;
  border-color:var(--dv-tree-idle-border)!important;
  border-inline-start-color:var(--dv-tree-idle-border)!important;
  border-inline-start-width:1.3px!important;
  border-radius:9px!important;
  background:linear-gradient(180deg,var(--dv-tree-idle-bg-a),var(--dv-tree-idle-bg-b))!important;
  color:var(--dv-tree-idle-text)!important;
  box-shadow:0 0 0 1px rgba(56,189,248,.08), inset 0 1px 0 rgba(255,255,255,.045)!important;
  z-index:2;
}
.datalogger-tree-tab-label{
  display:block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  pointer-events:none;
}
.datalogger-tree-tabs .datalogger-tree-tab:hover{
  border-color:rgba(125,211,252,.90)!important;
  background:linear-gradient(180deg,rgba(13,42,65,.98),rgba(7,22,39,.98))!important;
  color:#f8fafc!important;
  box-shadow:0 0 0 1px rgba(125,211,252,.16),0 0 14px rgba(56,189,248,.12)!important;
}
.datalogger-tree-tabs .datalogger-tree-tab.active{
  border-color:var(--dv-tree-active)!important;
  border-inline-start-color:var(--dv-tree-active)!important;
  border-inline-start-width:1.3px!important;
  background:linear-gradient(180deg,var(--dv-tree-active-bg-a),var(--dv-tree-active-bg-b))!important;
  color:#fff7f8!important;
  box-shadow:0 0 0 1px rgba(251,63,98,.38),0 0 18px rgba(251,63,98,.13),inset 0 2px 0 var(--dv-tree-active)!important;
  z-index:4;
}
.datalogger-tree-tab.tone-ok,.datalogger-tree-tab.tone-bad,.datalogger-tree-tab.tone-neutral,
.datalogger-tree-tabs .datalogger-tree-tab.active.tone-ok,.datalogger-tree-tabs .datalogger-tree-tab.active.tone-bad,.datalogger-tree-tabs .datalogger-tree-tab.active.tone-neutral{
  border-inline-start-width:1.3px!important;
  border-inline-start-color:inherit!important;
}
.datalogger-tree-tabs .datalogger-tree-tab.active::before,
.datalogger-tree-tabs .datalogger-tree-tab.active::after{
  content:"";
  position:absolute;
  left:50%;
  width:22px;
  height:11px;
  transform:translateX(-50%);
  pointer-events:none;
  background:radial-gradient(ellipse at center,var(--dv-tree-link) 0%,rgba(251,113,133,.70) 48%,rgba(251,113,133,0) 76%);
  filter:drop-shadow(0 0 5px rgba(251,113,133,.35));
  z-index:-1;
}
.datalogger-tree-tabs .datalogger-tree-tab.active::before{top:-9px;clip-path:polygon(50% 0,100% 100%,0 100%)}
.datalogger-tree-tabs .datalogger-tree-tab.active::after{bottom:-9px;clip-path:polygon(0 0,100% 0,50% 100%)}
.datalogger-tree-row.station-row .datalogger-tree-tab.active::before{display:none}
.datalogger-tree-row.metric-row .datalogger-tree-tab.active::after{display:none}
.datalogger-tree-connectors{z-index:1!important}
.datalogger-tree-link{
  stroke:var(--dv-tree-link)!important;
  stroke-width:1.85!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  filter:drop-shadow(0 0 5px rgba(251,113,133,.30));
}
.datalogger-tree-link-cap{
  fill:rgba(251,113,133,.46);
  stroke:rgba(251,113,133,.82);
  stroke-width:.85;
  filter:drop-shadow(0 0 5px rgba(251,113,133,.22));
}
.datalogger-tree-link-node{
  fill:#fff1f2!important;
  stroke:var(--dv-tree-link)!important;
  stroke-width:1.25!important;
}
.datalogger-tabs.datalogger-tree-menu-tabs .dc-lite-tab{
  border-color:rgba(56,189,248,.54)!important;
  background:linear-gradient(180deg,rgba(8,24,39,.96),rgba(4,15,28,.96))!important;
  color:#dbeafe!important;
}
.datalogger-tabs.datalogger-tree-menu-tabs .dc-lite-tab.active{
  border-color:var(--bad)!important;
  background:linear-gradient(180deg,rgba(84,17,35,.96),rgba(22,9,18,.98))!important;
  color:#fff7f8!important;
  box-shadow:0 0 0 1px rgba(251,63,98,.34),inset 0 2px 0 var(--bad)!important;
}
.theme-light .datalogger-tree-nav{
  --dv-tree-idle-bg-a: rgba(239,249,255,.98);
  --dv-tree-idle-bg-b: rgba(224,242,254,.98);
  --dv-tree-idle-text: #082f49;
  --dv-tree-active-bg-a: rgba(255,228,230,.98);
  --dv-tree-active-bg-b: rgba(255,241,242,.98);
}
@media(max-width:900px){
  .datalogger-tree-tabs .datalogger-tree-tab{height:38px!important;min-height:38px!important;max-height:38px!important}
}

/* WEB30_18_863: Data View tree wiring - no funnel caps, animated current, full menu-to-device link */
.datalogger-tree-view{padding-top:8px!important}
.datalogger-tree-frame{
  position:relative;
  isolation:isolate;
  display:grid;
  gap:12px;
  overflow:hidden;
  padding:0 0 3px;
  margin:0 0 4px;
}
.datalogger-tree-frame > .datalogger-tree-connectors{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:0!important;
  pointer-events:none;
  overflow:hidden!important;
}
.datalogger-tree-frame > .datalogger-tabs,
.datalogger-tree-frame > .datalogger-tree-nav{
  position:relative;
  z-index:2;
}
.datalogger-tree-nav{
  gap:12px!important;
  overflow:visible!important;
}
.datalogger-tabs.datalogger-tree-menu-tabs{
  margin:0!important;
  padding:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
}
.datalogger-tree-tabs .datalogger-tree-tab.active::before,
.datalogger-tree-tabs .datalogger-tree-tab.active::after{
  display:none!important;
  content:none!important;
}
.datalogger-tree-link-cap{display:none!important}
.datalogger-tree-link{
  stroke:var(--dv-tree-link)!important;
  stroke-width:1.7!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  fill:none!important;
  opacity:.82;
  filter:drop-shadow(0 0 4px rgba(251,113,133,.28));
}
.datalogger-tree-link-node{
  fill:rgba(255,255,255,.92)!important;
  stroke:var(--dv-tree-link)!important;
  stroke-width:1.05!important;
  opacity:.82;
}
.datalogger-tree-flow-path{
  fill:none;
  stroke:rgba(34,211,238,.62);
  stroke-width:2.25;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:3 16;
  opacity:.48;
  filter:drop-shadow(0 0 7px rgba(34,211,238,.38));
  animation:dvTreeFlowWire 1.45s linear infinite;
}
.datalogger-tree-flow-dot{
  fill:#ecfeff;
  stroke:#22d3ee;
  stroke-width:1.2;
  opacity:.98;
  filter:drop-shadow(0 0 7px rgba(34,211,238,.92)) drop-shadow(0 0 12px rgba(251,113,133,.28));
}
.datalogger-tree-flow-dot.flow-dot-ghost{
  fill:#67e8f9;
  stroke:rgba(236,254,255,.86);
  opacity:.52;
  filter:drop-shadow(0 0 5px rgba(34,211,238,.72));
}
@keyframes dvTreeFlowWire{
  from{stroke-dashoffset:22}
  to{stroke-dashoffset:0}
}
@media (prefers-reduced-motion: reduce){
  .datalogger-tree-flow-path{animation:none}
  .datalogger-tree-flow-dot{display:none}
}
.theme-light .datalogger-tree-flow-path{stroke:rgba(14,165,233,.62)}
.theme-light .datalogger-tree-flow-dot{stroke:#0284c7;fill:#f0f9ff}

/* WEB30_18_864: Data View tree wiring - animated dashed current and sequential edge pulse */
.datalogger-tree-frame > .datalogger-tree-connectors{
  z-index:1!important;
}
.datalogger-tree-link{
  stroke:rgba(251,113,133,.34)!important;
  stroke-width:1.35!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  fill:none!important;
  opacity:.62!important;
  filter:drop-shadow(0 0 3px rgba(251,113,133,.18))!important;
}
.datalogger-tree-link-node,
.datalogger-tree-flow-dot,
.datalogger-tree-flow-dot.flow-dot-ghost{
  display:none!important;
}
.datalogger-tree-flow-path{
  fill:none!important;
  stroke:rgba(34,211,238,.88)!important;
  stroke-width:2.15!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  stroke-dasharray:6 10!important;
  stroke-dashoffset:0;
  opacity:.92!important;
  filter:drop-shadow(0 0 6px rgba(34,211,238,.42)) drop-shadow(0 0 9px rgba(251,113,133,.16))!important;
  animation:dvTreeDashedFlow 1.28s linear infinite!important;
}
@keyframes dvTreeDashedFlow{
  from{stroke-dashoffset:0}
  to{stroke-dashoffset:-32}
}
.datalogger-tabs.datalogger-tree-menu-tabs .dc-lite-tab,
.datalogger-tree-tabs .datalogger-tree-tab{
  position:relative!important;
  overflow:hidden!important;
}
.datalogger-tree-flow-tab::before,
.datalogger-tree-flow-tab::after,
.datalogger-tree-tabs .datalogger-tree-tab.active.datalogger-tree-flow-tab::before,
.datalogger-tree-tabs .datalogger-tree-tab.active.datalogger-tree-flow-tab::after,
.datalogger-tabs.datalogger-tree-menu-tabs .dc-lite-tab.active.datalogger-tree-flow-tab::before,
.datalogger-tabs.datalogger-tree-menu-tabs .dc-lite-tab.active.datalogger-tree-flow-tab::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:10px!important;
  right:10px!important;
  height:2px!important;
  width:auto!important;
  transform:none!important;
  pointer-events:none!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,transparent,rgba(236,254,255,.98) 16%,rgba(34,211,238,.98) 50%,rgba(236,254,255,.98) 84%,transparent)!important;
  box-shadow:0 0 9px rgba(34,211,238,.42),0 0 12px rgba(251,113,133,.18)!important;
  clip-path:none!important;
  opacity:0;
  z-index:5!important;
  animation:dvTreeTabEdgePulse var(--dv-flow-cycle,4.48s) linear infinite!important;
  animation-delay:var(--dv-flow-delay,0s)!important;
}
.datalogger-tree-flow-tab::before,
.datalogger-tree-tabs .datalogger-tree-tab.active.datalogger-tree-flow-tab::before,
.datalogger-tabs.datalogger-tree-menu-tabs .dc-lite-tab.active.datalogger-tree-flow-tab::before{
  top:0!important;
  bottom:auto!important;
}
.datalogger-tree-flow-tab::after,
.datalogger-tree-tabs .datalogger-tree-tab.active.datalogger-tree-flow-tab::after,
.datalogger-tabs.datalogger-tree-menu-tabs .dc-lite-tab.active.datalogger-tree-flow-tab::after{
  bottom:0!important;
  top:auto!important;
}
@keyframes dvTreeTabEdgePulse{
  0%,9%{opacity:0;transform:scaleX(.32)!important}
  12%,22%{opacity:1;transform:scaleX(1)!important}
  28%,100%{opacity:0;transform:scaleX(.46)!important}
}
@media (prefers-reduced-motion: reduce){
  .datalogger-tree-flow-path{animation:none!important;stroke-dashoffset:0!important}
  .datalogger-tree-flow-tab::before,
  .datalogger-tree-flow-tab::after{animation:none!important;opacity:.72!important}
}
.theme-light .datalogger-tree-flow-path{stroke:rgba(14,165,233,.88)!important}

/* WEB30_18_865: Data View compact chart toolbar, tools panel and metric help */
.dataview-chart-head{
  align-items:center!important;
  margin-bottom:8px!important;
  gap:10px!important;
}
.dataview-chart-title-meta{
  min-width:0;
  display:grid;
  gap:6px;
}
.dataview-chart-title-meta h4{
  font-size:1.06rem!important;
  line-height:1.15!important;
  margin:0!important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.dataview-status-chips{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  min-width:0;
}
.dataview-status-chips span{
  display:inline-flex!important;
  align-items:center;
  min-height:24px;
  max-width:240px;
  padding:4px 8px;
  border:1px solid color-mix(in srgb,var(--accent2) 36%,var(--line));
  border-radius:999px;
  background:rgba(255,255,255,.026);
  color:var(--muted)!important;
  font-size:.72rem!important;
  font-weight:750;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  margin:0!important;
}
.dataview-status-chips span.ok{
  color:#86efac!important;
  border-color:rgba(34,197,94,.44);
  background:rgba(22,163,74,.10);
}
.dataview-status-chips span.bad{
  color:#fca5a5!important;
  border-color:rgba(248,113,113,.44);
  background:rgba(220,38,38,.10);
}
.dataview-chart-title-actions{
  flex:0 0 auto;
}
.dataview-icon-btn{
  min-width:32px!important;
  width:32px!important;
  padding-inline:0!important;
  border-radius:999px!important;
  font-weight:900!important;
}
.dataview-help-panel{
  margin:-2px 0 8px;
  padding:9px 11px;
  border:1px solid color-mix(in srgb,var(--accent2) 38%,var(--line));
  border-radius:14px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--panel2) 84%,transparent),color-mix(in srgb,var(--panel) 92%,transparent));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
.dataview-help-panel div{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:5px;
}
.dataview-help-panel b{color:var(--text)}
.dataview-help-panel div span{
  color:var(--muted);
  font-size:.72rem;
  border:1px solid var(--line);
  border-radius:999px;
  padding:3px 7px;
}
.dataview-help-panel p{
  margin:4px 0;
  color:var(--muted);
  font-size:.76rem;
  line-height:1.45;
}
.dataview-chart-toolbar{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:8px 10px!important;
  max-width:none!important;
  margin:0 0 8px!important;
  padding:7px 8px!important;
  border-color:color-mix(in srgb,var(--accent2) 34%,var(--line))!important;
  background:linear-gradient(180deg,color-mix(in srgb,var(--panel2) 88%,transparent),color-mix(in srgb,var(--panel) 93%,transparent))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
.dataview-toolbar-main,
.dataview-toolbar-actions{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
  min-width:0;
}
.dataview-toolbar-main .mini-label{
  flex:0 0 auto;
  letter-spacing:.03em;
  text-transform:uppercase;
  font-size:.64rem!important;
}
.dataview-chart-toolbar .history-range-selector{
  display:flex;
  gap:5px;
  flex-wrap:wrap;
  min-width:0;
}
.dataview-chart-toolbar .history-range-selector .ghost-btn{
  height:30px;
  min-width:44px;
  padding:5px 9px;
  border-radius:10px;
}
.dataview-chart-toolbar .history-density-control,
.dataview-chart-toolbar .history-gap-toggle{
  height:30px;
  display:inline-flex!important;
  align-items:center;
  gap:6px;
  margin:0;
  padding:0 8px;
  border:1px solid color-mix(in srgb,var(--accent2) 28%,var(--line));
  border-radius:10px;
  background:rgba(255,255,255,.022);
  color:var(--muted);
  font-size:.72rem;
  white-space:nowrap;
}
.dataview-chart-toolbar .history-density-control select{
  height:24px;
  min-width:82px;
  border-radius:8px;
  font-size:.72rem;
}
.dataview-chart-toolbar .history-gap-toggle input{
  margin:0;
  accent-color:var(--accent2);
}
.dataview-chart-toolbar a.ghost-btn,
.dataview-chart-toolbar button.ghost-btn{
  height:30px!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:5px 9px!important;
  border-radius:10px!important;
  text-decoration:none;
}
.dataview-tools-panel{
  grid-column:1 / -1;
  border:1px solid color-mix(in srgb,var(--accent2) 28%,var(--line));
  border-radius:13px;
  padding:8px;
  background:rgba(0,0,0,.12);
}
.dataview-tools-grid{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.dataview-tools-grid .chart-preset-select{
  height:30px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0;
  padding:0 8px;
  border:1px solid color-mix(in srgb,var(--accent2) 24%,var(--line));
  border-radius:10px;
  background:rgba(255,255,255,.022);
}
.dataview-tools-grid .chart-preset-select select{
  height:24px;
  min-width:128px;
  border-radius:8px;
  font-size:.72rem;
}
.dataview-tools-note{
  font-size:.72rem;
}
.dataview-focus-mode #dlHistoryOverviewPanels,
.dataview-focus-mode #dlHistoryRecordsPanel{
  display:none!important;
}
.dataview-focus-mode .history-chart-panel-wide .history-generic-chart-mount .mpu30-chart-stage{
  height:clamp(470px,66vh,760px)!important;
}
.theme-light .dataview-help-panel,
.theme-light .dataview-chart-toolbar,
.theme-light .dataview-tools-panel{
  background:#f8fbff!important;
}
@media(max-width:980px){
  .dataview-chart-head{align-items:flex-start!important;flex-direction:column!important}
  .dataview-chart-toolbar{grid-template-columns:1fr!important;align-items:flex-start!important}
  .dataview-toolbar-actions{justify-content:flex-start}
}
@media(max-width:620px){
  .dataview-status-chips span{max-width:160px}
  .dataview-chart-toolbar .history-range-selector .ghost-btn{min-width:auto}
  .dataview-toolbar-actions > *, .dataview-tools-grid > *{max-width:100%}
}


/* WEB30_18_866: industrial Data View help panel + live range */
.dataview-status-chips span.live{
  color:#fecaca!important;
  border-color:rgba(244,63,94,.62)!important;
  background:rgba(190,24,93,.18)!important;
  animation:dvLiveBlink 1.45s linear infinite;
}
.history-live-btn{
  border-color:rgba(244,63,94,.56)!important;
  color:#fecdd3!important;
  background:linear-gradient(180deg,rgba(127,29,29,.28),rgba(63,10,17,.22))!important;
  gap:6px;
}
.history-live-btn.active{
  color:#fff1f2!important;
  box-shadow:0 0 0 1px rgba(244,63,94,.55) inset, 0 0 18px rgba(244,63,94,.18);
}
.history-live-btn .live-dot{width:8px;height:8px;border-radius:999px;display:inline-block;background:#fb7185;box-shadow:0 0 10px rgba(251,113,133,.62)}
.history-live-btn.active .live-dot{animation:dvLiveBlink .95s linear infinite}
@keyframes dvLiveBlink{0%,100%{opacity:1}50%{opacity:.28}}
.dataview-help-panel{padding:12px 12px 10px}
.dv-help-shell{display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;align-items:stretch}
.dv-help-rail{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px solid color-mix(in srgb,var(--accent2) 28%,var(--line));border-radius:16px;background:linear-gradient(180deg,rgba(10,24,40,.9),rgba(3,14,25,.72));padding:12px 0}
.dv-rail-node{width:12px;height:12px;border-radius:999px;background:rgba(34,197,94,.9);box-shadow:0 0 12px rgba(34,197,94,.5)}
.dv-rail-arrow{width:18px;height:28px;position:relative}
.dv-rail-arrow::before,.dv-rail-arrow::after{content:'';position:absolute;left:50%;transform:translateX(-50%)}
.dv-rail-arrow::before{top:0;bottom:10px;width:2px;background:linear-gradient(180deg,rgba(14,165,233,.16),rgba(14,165,233,.9))}
.dv-rail-arrow::after{bottom:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:9px solid rgba(14,165,233,.88);animation:dvRailDown 1.35s ease-in-out infinite}
@keyframes dvRailDown{0%,100%{transform:translateX(-50%) translateY(-1px);opacity:.55}50%{transform:translateX(-50%) translateY(3px);opacity:1}}
.dv-help-grid{display:grid;grid-template-columns:minmax(280px,1.05fr) minmax(340px,.95fr);gap:12px;min-width:0}
.dv-panel-card{min-width:0;padding:10px 12px;border:1px solid color-mix(in srgb,var(--accent2) 36%,var(--line));border-radius:16px;background:linear-gradient(180deg,rgba(8,20,36,.96),rgba(6,16,28,.92));box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
.dv-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px;flex-wrap:wrap}
.dv-panel-head b{font-size:.98rem;color:var(--text)}
.dv-panel-kicker{font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent2)}
.dv-info-table{width:100%;border-collapse:separate;border-spacing:0 7px}
.dv-info-table th,.dv-info-table td{padding:8px 10px;border-top:1px solid rgba(249,115,22,.18);border-bottom:1px solid rgba(14,165,233,.12);background:rgba(255,255,255,.02);font-size:.78rem}
.dv-info-table th{width:88px;color:#8fd5ff;font-weight:800;text-align:left;border-left:1px solid rgba(14,165,233,.16);border-radius:10px 0 0 10px}
.dv-info-table td{color:var(--text);border-right:1px solid rgba(14,165,233,.16)}
.dv-info-table tr td:last-child{border-radius:0 10px 10px 0}
.dv-seg{font-family:"Consolas","Courier New",monospace;letter-spacing:.06em;font-weight:800;color:#d9f99d;text-shadow:0 0 8px rgba(163,230,53,.14)}
.dv-inline-path{display:inline-flex;align-items:center;gap:7px;flex-wrap:wrap;color:#f8fafc}
.dv-widget-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:10px}
.dv-widget{display:grid;grid-template-columns:56px minmax(0,1fr);gap:10px;align-items:center;padding:9px 10px;border:1px solid rgba(14,165,233,.18);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.012))}
.dv-widget-icon{display:grid;place-items:center;min-height:46px}
.dv-widget-copy{min-width:0;display:grid;gap:3px}
.dv-widget-copy small{font-size:.67rem;letter-spacing:.06em;text-transform:uppercase;color:#93c5fd;font-weight:800}
.dv-widget-copy strong{font-size:.94rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dv-widget-copy em{font-size:.72rem;color:var(--muted);font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dv-wifi-bars{display:flex;align-items:flex-end;gap:3px;height:32px;padding:4px 5px 2px;border:1px solid rgba(14,165,233,.20);border-radius:12px;background:rgba(8,18,31,.85)}
.dv-wifi-bars i{display:block;width:6px;border-radius:6px 6px 2px 2px;background:rgba(148,163,184,.22);border:1px solid rgba(148,163,184,.15)}
.dv-wifi-bars i:nth-child(1){height:8px}.dv-wifi-bars i:nth-child(2){height:14px}.dv-wifi-bars i:nth-child(3){height:20px}.dv-wifi-bars i:nth-child(4){height:26px}
.dv-wifi-bars.level-1 i:nth-child(1),.dv-wifi-bars.level-2 i:nth-child(-n+2),.dv-wifi-bars.level-3 i:nth-child(-n+3),.dv-wifi-bars.level-4 i{background:linear-gradient(180deg,#22c55e,#84cc16);box-shadow:0 0 8px rgba(34,197,94,.28)}
.dv-battery-shell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:20px;border:2px solid rgba(250,204,21,.72);border-radius:5px;color:#fde68a;font-size:.56rem;font-weight:900;overflow:hidden}
.dv-battery-cap{position:absolute;right:-5px;top:5px;width:4px;height:8px;border-radius:0 2px 2px 0;background:rgba(250,204,21,.72)}
.dv-battery-fill{position:absolute;left:2px;top:2px;bottom:2px;border-radius:2px;background:linear-gradient(90deg,rgba(250,204,21,.28),rgba(250,204,21,.72));z-index:0}
.dv-battery-shell b{position:relative;z-index:1}
.dv-clock-face{width:34px;height:34px;border-radius:999px;border:2px solid rgba(125,211,252,.58);position:relative;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.10),rgba(255,255,255,.02));display:block}
.dv-clock-face::before,.dv-clock-face::after{content:'';position:absolute;left:50%;top:50%;transform-origin:left center;background:#7dd3fc;border-radius:4px}
.dv-clock-face::before{width:10px;height:2px;transform:translate(-1px,-1px) rotate(16deg)}
.dv-clock-face::after{width:2px;height:11px;transform:translate(-1px,-10px) rotate(0deg)}
.dv-status-puck{width:16px;height:16px;border-radius:999px;display:inline-block;border:2px solid rgba(255,255,255,.18);box-shadow:0 0 10px rgba(255,255,255,.08)}
.dv-status-puck.ok{background:#22c55e;box-shadow:0 0 12px rgba(34,197,94,.46)}
.dv-status-puck.bad{background:#f43f5e;box-shadow:0 0 12px rgba(244,63,94,.38)}
.dv-device-subgrid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10px}
.dv-mini-card{padding:9px 10px;border-radius:14px;border:1px solid rgba(249,115,22,.18);background:rgba(255,255,255,.02);display:grid;gap:4px}
.dv-mini-card span{font-size:.67rem;text-transform:uppercase;letter-spacing:.08em;color:#fdba74;font-weight:800}
.dv-mini-card strong{font-size:.92rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dv-mini-card em{font-size:.72rem;color:var(--muted);font-style:normal}
.dv-led-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dv-led{display:inline-flex;align-items:center;gap:6px;padding:4px 7px;border-radius:999px;border:1px solid rgba(148,163,184,.20);background:rgba(5,15,25,.74)}
.dv-led i{width:10px;height:10px;border-radius:999px;display:block;background:#475569;box-shadow:0 0 0 1px rgba(255,255,255,.06) inset}
.dv-led b{font-size:.68rem;letter-spacing:.05em;color:#dbeafe}
.dv-led.ok i{background:#22c55e;box-shadow:0 0 10px rgba(34,197,94,.45)}
.dv-led.bad i{background:#f43f5e;box-shadow:0 0 10px rgba(244,63,94,.38)}
.dv-led.warn i{background:#f59e0b;box-shadow:0 0 10px rgba(245,158,11,.35)}
.dv-led.info i{background:#38bdf8;box-shadow:0 0 10px rgba(56,189,248,.35)}
@media(max-width:980px){.dv-help-shell{grid-template-columns:1fr}.dv-help-rail{flex-direction:row;padding:10px;min-height:44px}.dv-help-grid{grid-template-columns:1fr}.dv-device-subgrid,.dv-widget-grid{grid-template-columns:1fr}}

/* WEB30_18_867: Data View live mode partial refresh + industrial help panel layout */
.dataview-help-panel .dv-help-shell-industrial{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
  align-items:stretch!important;
}
.dataview-help-panel .dv-device-card-wide{
  display:grid!important;
  gap:10px!important;
  grid-column:1 / -1;
  border-color:rgba(14,165,233,.34)!important;
  background:linear-gradient(180deg,rgba(7,22,38,.98),rgba(5,16,30,.94))!important;
}
.dataview-help-panel .dv-widget-grid-wide{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  margin-bottom:0!important;
}
.dataview-help-panel .dv-device-subgrid-clean{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
.dataview-help-panel .dv-help-bottom-grid{
  display:grid!important;
  grid-template-columns:minmax(280px,.92fr) minmax(360px,1.08fr)!important;
  gap:12px!important;
  align-items:stretch!important;
  min-width:0!important;
}
.dataview-help-panel .dv-sensor-card,
.dataview-help-panel .dv-live-reading-card{
  display:grid!important;
  gap:9px!important;
  align-content:start!important;
}
.dataview-help-panel .dv-sensor-card{
  border-color:rgba(56,189,248,.32)!important;
}
.dataview-help-panel .dv-live-reading-card{
  border-color:rgba(34,197,94,.34)!important;
  background:radial-gradient(circle at 18% 18%,rgba(34,197,94,.10),transparent 34%),linear-gradient(180deg,rgba(7,24,28,.98),rgba(5,17,28,.94))!important;
}
.dataview-help-panel .dv-panel-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin-bottom:0!important;
}
.dataview-help-panel .dv-info-table{
  width:100%!important;
  border-collapse:separate!important;
  border-spacing:0 7px!important;
}
.dataview-help-panel .dv-info-table th,
.dataview-help-panel .dv-info-table td{
  vertical-align:middle!important;
}
.dataview-help-panel .dv-live-readout{
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr)!important;
  grid-template-areas:"icon number" "icon label";
  align-items:center!important;
  gap:4px 12px!important;
  padding:12px!important;
  border:1px solid rgba(34,197,94,.22)!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,rgba(15,23,42,.50),rgba(2,6,23,.22))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 0 24px rgba(34,197,94,.055);
}
.dv-live-readout-icon{
  grid-area:icon;
  display:grid!important;
  place-items:center!important;
  width:48px;
  height:48px;
  border-radius:16px;
  border:1px solid rgba(56,189,248,.30);
  background:rgba(14,165,233,.08);
  font-size:1.55rem;
  filter:drop-shadow(0 0 10px rgba(56,189,248,.18));
}
.dv-live-number{
  grid-area:number;
  min-width:0;
  display:flex!important;
  align-items:flex-end!important;
  gap:8px!important;
  flex-wrap:wrap!important;
}
.dv-live-number strong{
  font-family:"DS-Digital","Seven Segment","DSEG7 Classic","Consolas","Courier New",monospace;
  font-size:clamp(2rem,4.7vw,3.35rem);
  line-height:.92;
  letter-spacing:.055em;
  color:#d9f99d;
  text-shadow:0 0 16px rgba(163,230,53,.24),0 0 2px rgba(255,255,255,.20);
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
}
.dv-live-number em{
  font-style:normal;
  color:#86efac;
  font-size:.95rem;
  font-weight:900;
  padding-bottom:4px;
}
.dv-live-readout small{
  grid-area:label;
  color:#93c5fd;
  font-size:.74rem;
  font-weight:800;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.dataview-help-panel .dv-live-stats-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
}
.dv-live-stat{
  display:grid!important;
  gap:3px!important;
  padding:9px 10px!important;
  border-radius:14px!important;
  border:1px solid rgba(148,163,184,.18)!important;
  background:rgba(255,255,255,.025)!important;
  min-width:0;
}
.dv-live-stat span{
  color:#bfdbfe!important;
  font-size:.64rem!important;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:900;
  border:0!important;
  padding:0!important;
  margin:0!important;
}
.dv-live-stat strong{
  font-family:"Consolas","Courier New",monospace;
  font-size:1.05rem;
  color:var(--text)!important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.dv-live-stat em{
  font-style:normal;
  color:var(--muted);
  font-size:.68rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.dv-live-stat.ok{border-color:rgba(34,197,94,.28)!important;background:rgba(34,197,94,.055)!important}
.dv-live-stat.warn{border-color:rgba(245,158,11,.30)!important;background:rgba(245,158,11,.055)!important}
.dv-live-stat.info{border-color:rgba(56,189,248,.26)!important;background:rgba(56,189,248,.05)!important}
.dv-live-stat.ok strong{color:#bbf7d0!important}
.dv-live-stat.warn strong{color:#fde68a!important}
.dv-live-stat.info strong{color:#bae6fd!important}
.history-page.dataview-live-silent-refresh .history-chart-panel,
.history-page.dataview-live-silent-refresh .dataview-help-panel{
  transition:box-shadow .18s ease,border-color .18s ease;
}
@media(max-width:1180px){
  .dataview-help-panel .dv-widget-grid-wide{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .dataview-help-panel .dv-help-bottom-grid{grid-template-columns:1fr!important}
}
@media(max-width:720px){
  .dataview-help-panel .dv-widget-grid-wide,
  .dataview-help-panel .dv-device-subgrid-clean,
  .dataview-help-panel .dv-live-stats-grid{grid-template-columns:1fr!important}
  .dataview-help-panel .dv-live-readout{grid-template-columns:48px minmax(0,1fr)!important}
  .dv-live-number strong{font-size:2rem}
}
.dataview-help-panel .dv-widget{display:grid!important}
.dataview-help-panel .dv-widget-icon{display:grid!important}
.dataview-help-panel .dv-widget-copy{display:grid!important}
.dataview-help-panel .dv-mini-card{display:grid!important}
.dataview-help-panel .dv-info-table tbody,
.dataview-help-panel .dv-info-table tr{display:table-row-group}
.dataview-help-panel .dv-info-table tr{display:table-row!important}
.dataview-help-panel .dv-info-table th,
.dataview-help-panel .dv-info-table td{display:table-cell!important}

/* WEB30_18_868_DATAVIEW_HISTORY_TIME_BLOCK_AXIS
   Data View remains a history reader: LIVE mode was removed from this tab. */
.mpu30-chart-xdate{
  fill:color-mix(in srgb,var(--accent) 80%,var(--text) 20%);
  font-size:11px;
  font-weight:850;
  letter-spacing:.02em;
  opacity:.96;
}
.mpu30-chart-xlabel{
  font-variant-numeric:tabular-nums;
}
.mpu30-chart-ruler-track i.date{
  height:18px;
  width:1px;
  background:color-mix(in srgb,var(--accent) 74%,var(--text) 10%);
}
.mpu30-chart-ruler-track i.date b{
  position:absolute;
  top:2px;
  left:6px;
  transform:none;
  color:color-mix(in srgb,var(--accent) 82%,var(--text) 18%);
  font-size:10px;
  font-weight:850;
  white-space:nowrap;
}
.history-live-btn{display:none!important}

/* WEB30_19_869_DATALOGGER_LIVE_TAB_CACHE_ONLY */
.dl-live-shell{display:flex;flex-direction:column;gap:10px;min-width:0}
.dl-live-subtabs{display:flex;gap:4px;overflow-x:auto;overflow-y:hidden;border-bottom:1px solid var(--line);padding:0;margin:0 0 6px;scrollbar-width:none;-ms-overflow-style:none}
.dl-live-subtabs::-webkit-scrollbar{display:none}
.dl-live-subtab{flex:0 0 auto;border:1px solid var(--line);border-bottom:0;border-radius:7px 7px 0 0;background:var(--panel2);color:var(--muted);font-size:13px;font-weight:900;padding:8px 13px;white-space:nowrap;cursor:pointer}
.dl-live-subtab:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--text);background:color-mix(in srgb,var(--accent) 8%,var(--panel2))}
.dl-live-subtab.active{background:var(--panel);color:var(--text);border-color:var(--accent);box-shadow:inset 0 2px 0 var(--accent)}
.dl-live-state{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:950;letter-spacing:.06em}
.dl-live-state:before{content:"";width:8px;height:8px;border-radius:999px;background:var(--muted)}
.dl-live-state.live{color:var(--good);border-color:color-mix(in srgb,var(--good) 45%,var(--line));background:rgba(34,197,94,.08)}
.dl-live-state.live:before{background:var(--good);box-shadow:0 0 0 5px color-mix(in srgb,var(--good) 15%,transparent)}
.dl-live-state.stale{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 55%,var(--line));background:rgba(245,158,11,.08)}
.dl-live-state.stale:before{background:var(--warn)}
.dl-live-state.offline{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 45%,var(--line));background:rgba(239,68,68,.08)}
.dl-live-state.offline:before{background:var(--bad)}
.dl-live-chart-card{border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:20px;background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 96%,var(--accent) 4%),color-mix(in srgb,var(--panel2) 95%,#000 5%));padding:12px;box-shadow:0 16px 36px rgba(0,0,0,.11);min-width:0}
.dl-live-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.dl-live-chart-head b,.dl-live-chart-head small{display:block}.dl-live-chart-head small,.dl-live-chart-head span{color:var(--muted);font-size:.78rem}.dl-live-chart-svg{width:100%;height:250px;display:block;overflow:visible}.dl-live-chart-svg .grid{stroke:color-mix(in srgb,var(--line) 65%,transparent);stroke-width:1;vector-effect:non-scaling-stroke}.dl-live-chart-svg text{fill:var(--muted);font-size:11px}.dl-live-chart-svg polyline{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.dl-live-chart-svg circle{fill:var(--accent);stroke:var(--panel);stroke-width:2;vector-effect:non-scaling-stroke}.dl-live-chart-empty{border:1px dashed var(--line);border-radius:20px;color:var(--muted);padding:30px;text-align:center;background:rgba(255,255,255,.02)}
.dl-live-endpoints{display:grid;gap:8px;margin-top:10px}.dl-live-endpoints code{display:block;border:1px solid var(--line);border-radius:12px;padding:9px 10px;background:rgba(0,0,0,.14);white-space:normal;word-break:break-all}.dl-live-guard-note{margin-top:12px;border:1px solid color-mix(in srgb,var(--good) 28%,var(--line));border-radius:14px;background:rgba(34,197,94,.08);padding:10px;color:var(--text)}.dl-live-json{max-height:420px;overflow:auto;border:1px solid var(--line);border-radius:14px;padding:12px;background:rgba(0,0,0,.16);color:var(--muted);font-size:12px;direction:ltr;text-align:left}.dl-live-metric-grid .live-metric-card{min-height:150px}.dl-live-contract-card{border-color:color-mix(in srgb,var(--accent) 25%,var(--line))}
@media(max-width:760px){.dl-live-subtab{padding:8px 10px;font-size:12.5px}.dl-live-chart-head{flex-direction:column}.dl-live-chart-svg{height:220px}}
/* WEB30_19_873_DATALOGGER_LIVE_GROUPED_NUMERIC_FIRST */
.dl-live-device-toggle-strip,.dl-live-metric-toggle-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}
.dl-live-device-toggle-strip>span,.dl-live-metric-toggle-strip>span{font-size:.72rem;font-weight:950;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-inline-end:2px}
.dl-live-toggle-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:6px 9px;background:var(--panel2);font-size:.78rem;line-height:1;cursor:pointer;max-width:270px}
.dl-live-toggle-chip:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 7%,var(--panel2))}
.dl-live-toggle-chip input{margin:0;accent-color:var(--accent)}
.dl-live-toggle-chip b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}
.dl-live-toggle-chip small{color:var(--muted);font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:96px}
.dl-live-toggle-chip.metric b{max-width:190px;font-weight:850}
.dl-live-device-groups{display:grid;gap:14px;min-width:0}
.dl-live-device-group{border-color:color-mix(in srgb,var(--accent) 20%,var(--line));min-width:0}
.dl-live-device-group-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px;min-width:0}
.dl-live-device-title{display:flex;align-items:flex-start;gap:10px;min-width:0}.dl-live-device-title h3{margin:0}.dl-live-device-title small{display:block;color:var(--muted);word-break:break-all}.dl-live-device-group-actions label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.8rem;font-weight:850}.dl-live-device-group-actions select{min-width:180px}
.dl-live-numeric-first{margin-top:12px}.dl-live-chart-below{margin-top:12px}.dl-live-chart-below .dl-live-chart-card{box-shadow:none;background:var(--panel2)}
@media(max-width:760px){.dl-live-device-group-head{flex-direction:column}.dl-live-device-group-actions,.dl-live-device-group-actions label,.dl-live-device-group-actions select{width:100%}.dl-live-toggle-chip{max-width:100%}.dl-live-toggle-chip b{max-width:170px}.dl-live-toggle-chip small{display:none}}
