:root,:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ab-font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ab-font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--ab-font-scale:1;--ab-ui-scale:1;--ab-color-canvas:#202337;--ab-color-shell:#171a2c;--ab-color-surface:#25293b;--ab-color-surface-raised:#2b3044;--ab-color-surface-muted:#1d2132;--ab-color-surface-selected:#354d49;--ab-color-input:#1b1f30;--ab-color-overlay:#080b15b8;--ab-status-card-gradient-start:#252835f5;--ab-status-card-gradient-end:#1e212ef5;--ab-color-text:#f4f3f7;--ab-color-text-soft:#d7d7e1;--ab-color-text-muted:#a2a5c2;--ab-color-text-faint:#7f85a5;--ab-color-border:#50566d;--ab-color-border-soft:#3b4158;--ab-color-brand:#779181;--ab-color-brand-strong:#9ab895;--ab-color-brand-soft:#334b45;--ab-color-brand-contrast:#f8f7f4;--ab-color-logo:#8faa8c;--ab-color-schedule-icon:#fff;--ab-calendar-active-gradient-end:#1e202b;--ab-color-success:#8fb58b;--ab-color-success-soft:#304a3b;--ab-color-success-text:#b8d6b2;--ab-color-warning:#f2ad35;--ab-color-warning-soft:#4a3720;--ab-color-warning-text:#ffc965;--ab-color-danger:#ef5d62;--ab-color-danger-soft:#4c242c;--ab-color-danger-text:#ff9da1;--ab-color-info:#7c9bd3;--ab-color-info-soft:#283a59;--ab-color-info-text:#adc4ec;--ab-shadow-sm:0 1px 2px #0000002e;--ab-shadow-md:0 8px 24px #00000029;--ab-focus-ring:0 0 0 3px #7aa08f47;--ab-radius-sm:6px;--ab-radius-md:10px;--ab-radius-lg:14px;--ab-radius-pill:999px;--ab-space-1:4px;--ab-space-2:8px;--ab-space-3:12px;--ab-space-4:16px;--ab-space-5:20px;--ab-space-6:24px;--ab-space-7:32px;--ab-space-8:40px;--ab-sidebar-width:220px;--ab-sidebar-width-collapsed:76px;--ab-header-height:92px;--ab-control-height:44px;--ab-content-max:1440px;--ab-motion-fast:.14s;--ab-motion-normal:.22s}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ab-color-canvas:#dfe6e2;--ab-color-shell:#f9fbfa;--ab-color-surface:#fff;--ab-color-surface-raised:#f1f5f3;--ab-color-surface-muted:#e6eeea;--ab-color-surface-selected:#c7ddd4;--ab-color-input:#fff;--ab-color-overlay:#10201994;--ab-status-card-gradient-start:#fffffffc;--ab-status-card-gradient-end:#e1ece6fc;--ab-color-text:#152027;--ab-color-text-soft:#2b3b42;--ab-color-text-muted:#4a6063;--ab-color-text-faint:#657878;--ab-color-border:#94aaa0;--ab-color-border-soft:#c1cec7;--ab-color-brand:#3d705b;--ab-color-brand-strong:#245a45;--ab-color-brand-soft:#afd0bd;--ab-color-brand-contrast:#fff;--ab-color-logo:#2e7259;--ab-color-schedule-icon:#000;--ab-calendar-active-gradient-end:#edf4f0;--ab-color-success:#397548;--ab-color-success-soft:#d4e9d6;--ab-color-success-text:#235f35;--ab-color-warning:#975c05;--ab-color-warning-soft:#ffe5ad;--ab-color-warning-text:#704302;--ab-color-danger:#a9333e;--ab-color-danger-soft:#f5d6da;--ab-color-danger-text:#842631;--ab-color-info:#275f9c;--ab-color-info-soft:#d6e6f7;--ab-color-info-text:#1d4f86;--ab-shadow-sm:0 1px 2px #122a1f24;--ab-shadow-md:0 12px 30px #122a1f29;--ab-focus-ring:0 0 0 3px #30705452}@media (prefers-color-scheme:light){:root:not([data-theme]),:root[data-theme=auto]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ab-color-canvas:#dfe6e2;--ab-color-shell:#f9fbfa;--ab-color-surface:#fff;--ab-color-surface-raised:#f1f5f3;--ab-color-surface-muted:#e6eeea;--ab-color-surface-selected:#c7ddd4;--ab-color-input:#fff;--ab-color-overlay:#10201994;--ab-status-card-gradient-start:#fffffffc;--ab-status-card-gradient-end:#e1ece6fc;--ab-color-text:#152027;--ab-color-text-soft:#2b3b42;--ab-color-text-muted:#4a6063;--ab-color-text-faint:#657878;--ab-color-border:#94aaa0;--ab-color-border-soft:#c1cec7;--ab-color-brand:#3d705b;--ab-color-brand-strong:#245a45;--ab-color-brand-soft:#afd0bd;--ab-color-brand-contrast:#fff;--ab-color-logo:#2e7259;--ab-color-schedule-icon:#000;--ab-calendar-active-gradient-end:#edf4f0;--ab-color-success:#397548;--ab-color-success-soft:#d4e9d6;--ab-color-success-text:#235f35;--ab-color-warning:#975c05;--ab-color-warning-soft:#ffe5ad;--ab-color-warning-text:#704302;--ab-color-danger:#a9333e;--ab-color-danger-soft:#f5d6da;--ab-color-danger-text:#842631;--ab-color-info:#275f9c;--ab-color-info-soft:#d6e6f7;--ab-color-info-text:#1d4f86;--ab-shadow-sm:0 1px 2px #122a1f24;--ab-shadow-md:0 12px 30px #122a1f29;--ab-focus-ring:0 0 0 3px #30705452}}:root[data-scale=compact]{--ab-ui-scale:.82;--ab-font-scale:.92}:root[data-scale=standard],:root:not([data-scale]){--ab-ui-scale:1;--ab-font-scale:1}:root[data-scale=comfortable]{--ab-ui-scale:1.12;--ab-font-scale:1.06}@media (prefers-reduced-motion:reduce){:root{--ab-motion-fast:0s;--ab-motion-normal:0s}}*,:before,:after{box-sizing:border-box}html{background:var(--ab-color-canvas);min-width:320px;font-family:var(--ab-font-family);font-size:calc(16px * var(--ab-font-scale));color:var(--ab-color-text);accent-color:var(--ab-color-brand)}body{background:var(--ab-color-canvas);min-height:100vh;color:var(--ab-color-text);margin:0}button,input,select,textarea{font:inherit}button,a,select,input[type=checkbox]{-webkit-tap-highlight-color:transparent}a{color:var(--ab-color-brand-strong)}svg{display:block}.ab-sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.ab-app{grid-template-columns:var(--ab-sidebar-width) minmax(0, 1fr);grid-template-rows:var(--ab-header-height) minmax(0, 1fr);min-height:100vh;display:grid}.ab-app.ab-nav-collapsed{grid-template-columns:var(--ab-sidebar-width-collapsed) minmax(0, 1fr)}.ab-header{justify-content:flex-start;align-items:center;gap:calc(var(--ab-space-5) * var(--ab-ui-scale));min-width:0;padding:0 calc(var(--ab-space-4) * var(--ab-ui-scale));background:var(--ab-color-shell);border-bottom:1px solid var(--ab-color-border-soft);grid-area:1/1/auto/-1;display:flex}.ab-brand{align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));min-width:max-content;color:var(--ab-color-text);text-decoration:none;display:inline-flex}.ab-brand__mark{object-fit:contain;width:58px;height:64px;display:block}.ab-brand__wordmark{font-size:calc(2.58rem * var(--ab-font-scale));letter-spacing:-.03em;align-items:center;font-weight:760;line-height:1;display:inline-flex}.ab-brand__wordmark strong{color:var(--ab-color-brand-strong)}.ab-brand__suffix{color:var(--ab-color-text-muted);letter-spacing:.32em;align-self:center;align-items:center;margin-left:.5em;font-size:.72em;font-weight:500;line-height:1;display:inline-flex}.ab-header__status{min-width:0;color:var(--ab-color-text-muted);justify-content:flex-end;align-items:center;margin-left:auto;display:flex}.ab-header__status-item{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));min-width:max-content;padding:0 calc(var(--ab-space-4) * var(--ab-ui-scale));border-left:1px solid var(--ab-color-border-soft);display:inline-flex}.ab-header__status-item:first-child{border-left:0}.ab-header__status strong,.ab-online{color:var(--ab-color-success);font-weight:650}.ab-header__user{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));min-width:max-content;color:var(--ab-color-text-soft);font-size:.82rem;display:inline-flex}.ab-user-menu{margin-left:calc(var(--ab-space-3) * var(--ab-ui-scale))}.ab-theme-toggle{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));min-height:34px;padding:0 calc(var(--ab-space-2) * var(--ab-ui-scale));color:var(--ab-color-text-muted);border-radius:var(--ab-radius-pill);font:inherit;cursor:pointer;transition:color var(--ab-motion-fast), background var(--ab-motion-fast), border-color var(--ab-motion-fast);background:0 0;border:1px solid #0000;font-size:.78rem;display:inline-flex}.ab-theme-toggle:hover,.ab-theme-toggle:focus-visible{color:var(--ab-color-text);border-color:var(--ab-color-border-soft);background:var(--ab-color-surface-muted)}.ab-theme-toggle:focus-visible{box-shadow:var(--ab-focus-ring);outline:0}.ab-theme-toggle .ab-icon{width:18px;height:18px;color:var(--ab-color-brand-strong)}.ab-user-trigger{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));min-width:0;padding:calc(var(--ab-space-1) * var(--ab-ui-scale)) calc(var(--ab-space-2) * var(--ab-ui-scale));color:var(--ab-color-text-soft);border-radius:var(--ab-radius-sm);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;display:inline-flex}.ab-user-trigger:hover,.ab-user-trigger:focus-visible,.ab-user-menu.is-open .ab-user-trigger{color:var(--ab-color-text);border-color:var(--ab-color-border-soft);background:var(--ab-color-surface-muted)}.ab-user-trigger:focus-visible{box-shadow:var(--ab-focus-ring);outline:0}.ab-user-trigger>.ab-icon{width:20px;height:20px;color:var(--ab-color-brand-strong)}.ab-user-trigger__copy{gap:1px;line-height:1.1;display:grid}.ab-user-trigger__copy strong{font-size:.82rem;font-weight:650}.ab-user-trigger__copy small{color:var(--ab-color-text-muted);font-size:.7rem}.ab-user-trigger__chevron{transition:transform var(--ab-motion-fast);width:14px!important;height:14px!important;color:var(--ab-color-text-muted)!important}.ab-user-menu.is-open .ab-user-trigger__chevron{transform:rotate(90deg)}.ab-header__user .ab-icon{width:20px;height:20px;color:var(--ab-color-brand-strong)}.ab-header>.ab-nav-collapse{order:-1;margin-left:0}.ab-status-dot{background:currentColor;border-radius:50%;flex:none;width:.65em;height:.65em}.ab-main{min-width:0;padding:calc(var(--ab-space-3) * var(--ab-ui-scale));grid-area:2/2}.ab-content{width:min(100%, var(--ab-content-max));min-height:calc(100vh - var(--ab-header-height) - (var(--ab-space-6) * var(--ab-ui-scale)));padding:calc(var(--ab-space-7) * var(--ab-ui-scale));border-radius:var(--ab-radius-lg);background:linear-gradient(135deg, var(--ab-color-surface-muted), var(--ab-color-canvas) 58%);margin:0 auto}.ab-side-nav{top:var(--ab-header-height);z-index:20;min-height:calc(100vh - var(--ab-header-height));padding:0 calc(var(--ab-space-3) * var(--ab-ui-scale)) calc(var(--ab-space-3) * var(--ab-ui-scale));background:var(--ab-color-shell);border-left:1px solid var(--ab-color-border-soft);flex-direction:column;grid-area:2/1;gap:0;display:flex;position:sticky;overflow:auto}.ab-nav-collapse{width:34px;height:34px;color:var(--ab-color-text-muted);border-radius:var(--ab-radius-pill);cursor:pointer;transition:color var(--ab-motion-fast), background var(--ab-motion-fast), border-color var(--ab-motion-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:flex}.ab-nav-collapse:hover,.ab-nav-collapse:focus-visible{color:var(--ab-color-text);border-color:var(--ab-color-brand);background:var(--ab-color-surface-muted)}.ab-nav-collapse:focus-visible{box-shadow:var(--ab-focus-ring);outline:0}.ab-nav-collapse .ab-icon{width:18px;height:18px;transition:transform var(--ab-motion-normal)}.ab-app.ab-nav-collapsed .ab-nav-collapse .ab-icon{transform:rotate(180deg)}.ab-app.ab-nav-collapsed .ab-nav-link__label{display:none}.ab-app.ab-nav-collapsed .ab-nav-link{justify-content:center;gap:0;padding-inline:0}.ab-nav-link{align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));min-height:55px;padding:calc(var(--ab-space-3) * var(--ab-ui-scale)) calc(var(--ab-space-3) * var(--ab-ui-scale));color:var(--ab-color-text-soft);border-radius:var(--ab-radius-md);transition:color var(--ab-motion-fast), background var(--ab-motion-fast), border-color var(--ab-motion-fast);border:1px solid #0000;text-decoration:none;display:flex;position:relative}.ab-nav-link:hover{color:var(--ab-color-text);background:var(--ab-color-surface-muted)}.ab-nav-link[aria-current=page]{color:var(--ab-color-text);background:var(--ab-color-surface-selected);border-color:var(--ab-color-brand-soft)}.ab-nav-link[aria-current=page]:before{content:"";background:var(--ab-color-brand-strong);width:5px;position:absolute;inset:0 auto 0 0}.ab-nav-link__icon{width:27px;height:27px;color:var(--ab-color-text-soft);flex:none}.ab-nav-link[aria-current=page] .ab-nav-link__icon{color:var(--ab-color-brand-strong)}.ab-nav-spacer{flex:1}.ab-page-head{justify-content:space-between;align-items:flex-start;gap:calc(var(--ab-space-5) * var(--ab-ui-scale));margin-bottom:calc(var(--ab-space-7) * var(--ab-ui-scale));display:flex}.ab-page-head h1{color:var(--ab-color-text);letter-spacing:-.035em;margin:0;font-size:clamp(1.75rem,1.75rem + .7vw,2.6rem);line-height:1.08}.ab-page-title-row{align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));display:flex}.ab-help{z-index:60;position:relative}.ab-help__trigger{width:30px;height:30px;color:var(--ab-color-text-soft);border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-pill);background:var(--ab-color-surface-muted);font:inherit;cursor:pointer;place-items:center;padding:0;font-weight:760;display:inline-grid}.ab-help__trigger:focus-visible{box-shadow:var(--ab-focus-ring);outline:none}.ab-help__panel{top:calc(100% + var(--ab-space-3));width:min(380px,100vw - 48px);padding:calc(var(--ab-space-5) * var(--ab-ui-scale));color:var(--ab-color-text-soft);border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-md);background:var(--ab-color-surface-raised);box-shadow:var(--ab-shadow-md);position:absolute;left:0}.ab-help__panel[hidden]{display:none}.ab-help__panel h2{margin:0 0 calc(var(--ab-space-3) * var(--ab-ui-scale));color:var(--ab-color-text);font-size:1.15rem}.ab-help__panel p{color:var(--ab-color-text-muted);margin:0;line-height:1.5}.ab-help__panel p+p{margin-top:calc(var(--ab-space-3) * var(--ab-ui-scale))}.ab-page-head p{max-width:62ch;margin:calc(var(--ab-space-2) * var(--ab-ui-scale)) 0 0;color:var(--ab-color-text-muted);line-height:1.5}.ab-toolbar{justify-content:flex-end;align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));flex-wrap:wrap;display:flex}.ab-btn{justify-content:center;align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));min-height:max(44px, calc(var(--ab-control-height) * var(--ab-ui-scale)));padding:0 calc(var(--ab-space-5) * var(--ab-ui-scale));border-radius:var(--ab-radius-sm);color:var(--ab-color-text);white-space:nowrap;cursor:pointer;transition:transform var(--ab-motion-fast), background var(--ab-motion-fast), border-color var(--ab-motion-fast), color var(--ab-motion-fast);background:0 0;border:1px solid #0000;font-weight:650;line-height:1;text-decoration:none;display:inline-flex}.ab-btn:hover{transform:translateY(-1px)}.ab-btn:active{transform:translateY(0)}.ab-btn:disabled{opacity:.58;cursor:not-allowed;transform:none}.ab-btn:focus-visible,.ab-nav-link:focus-visible,.ab-field:focus-visible,.ab-select:focus-visible,.ab-icon-btn:focus-visible,.ab-menu__item:focus-visible{box-shadow:var(--ab-focus-ring);outline:none}.ab-btn--primary{color:var(--ab-color-brand-contrast);background:var(--ab-color-brand);border-color:var(--ab-color-brand-strong)}.ab-btn--primary:hover{background:var(--ab-color-brand-strong)}.ab-btn--outline{color:var(--ab-color-brand-strong);border-color:var(--ab-color-brand);background:var(--ab-color-surface-muted)}.ab-btn--outline:hover{background:var(--ab-color-brand-soft)}.ab-btn--neutral{color:var(--ab-color-text-soft);border-color:var(--ab-color-border);background:var(--ab-color-surface-muted)}.ab-btn--danger{color:var(--ab-color-danger);border-color:var(--ab-color-danger);background:var(--ab-color-danger-soft)}.ab-btn--sm{min-height:max(34px, calc(38px * var(--ab-ui-scale)));padding-inline:calc(var(--ab-space-4) * var(--ab-ui-scale));font-size:.92rem}.ab-icon-btn{width:max(30px, calc(var(--ab-control-height) * var(--ab-ui-scale)));height:max(30px, calc(var(--ab-control-height) * var(--ab-ui-scale)));color:var(--ab-color-text-soft);border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-sm);background:var(--ab-color-surface-muted);cursor:pointer;place-items:center;padding:0;display:inline-grid}.ab-menu{z-index:20;position:relative}.ab-menu.is-open{z-index:70}.ab-menu__panel{top:calc(100% + var(--ab-space-2));z-index:30;min-width:176px;padding:var(--ab-space-2);border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-md);background:var(--ab-color-surface-raised);box-shadow:var(--ab-shadow-md);display:grid;position:absolute;right:0}.ab-menu__panel[hidden]{display:none}.ab-menu__item{min-height:40px;padding:0 var(--ab-space-3);color:var(--ab-color-text);border-radius:var(--ab-radius-sm);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0}.ab-menu__item:hover,.ab-menu__item:focus-visible{background:var(--ab-color-surface-muted)}.ab-menu__item--danger{color:var(--ab-color-danger)}.ab-icon{stroke-width:1.8px;flex:none;width:1.25em;height:1.25em}.ab-panel{border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-md);background:var(--ab-color-surface);box-shadow:var(--ab-shadow-sm)}.ab-summary{grid-template-columns:repeat(var(--ab-summary-columns,4), minmax(0, 1fr));margin-bottom:calc(var(--ab-space-7) * var(--ab-ui-scale));padding:calc(var(--ab-space-4) * var(--ab-ui-scale));display:grid}.ab-summary__item{min-width:0;padding:calc(var(--ab-space-4) * var(--ab-ui-scale)) calc(var(--ab-space-5) * var(--ab-ui-scale));border-left:1px solid var(--ab-color-border)}.ab-summary__item:first-child{border-left:0}.ab-eyebrow{margin:0 0 calc(var(--ab-space-3) * var(--ab-ui-scale));color:var(--ab-color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:650}.ab-summary__value{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));min-width:0;color:var(--ab-color-text);letter-spacing:-.025em;margin:0;font-size:clamp(1.25rem,1.15rem + .7vw,1.8rem);font-weight:760;line-height:1.2;display:flex}.ab-summary__meta{margin:calc(var(--ab-space-3) * var(--ab-ui-scale)) 0 0;color:var(--ab-color-text-muted);line-height:1.45}.ab-status-grid{gap:calc(var(--ab-space-4) * var(--ab-ui-scale));grid-template-columns:minmax(0,1.35fr) minmax(0,1.1fr) minmax(230px,.72fr);margin-bottom:0;display:grid}.ab-status-card{min-width:0;min-height:200px;padding:calc(var(--ab-space-3) * var(--ab-ui-scale)) calc(var(--ab-space-6) * var(--ab-ui-scale));border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-md);background:linear-gradient(135deg, var(--ab-status-card-gradient-start), var(--ab-status-card-gradient-end));box-shadow:var(--ab-shadow-sm);position:relative}.ab-status-card--split,.ab-status-card--next{align-items:center;gap:calc(var(--ab-space-5) * var(--ab-ui-scale));grid-template-columns:auto minmax(0,1fr);display:grid}.ab-status-card--next .ab-status-card__next-copy{pointer-events:auto;justify-content:flex-start;align-items:center;min-height:100%;padding-top:8%;position:static;inset:auto}.ab-status-card__next-copy{text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;min-width:0;display:flex;position:absolute;inset:0}.ab-status-card__icon{width:72px;height:72px;color:var(--ab-color-brand-strong);border:1px solid var(--ab-color-brand);border-radius:var(--ab-radius-pill);background:var(--ab-color-surface-muted);flex:none;place-items:center;display:grid}.ab-status-card__icon--muted{color:var(--ab-color-text-soft);border-color:var(--ab-color-brand);background:var(--ab-color-surface-muted)}.ab-status-card__icon .ab-icon{stroke-width:1.8px;width:34px;height:34px}.ab-status-card--split:first-child .ab-status-card__icon{color:var(--ab-color-text)}.ab-status-card__heading{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));margin:0 0 calc(var(--ab-space-3) * var(--ab-ui-scale));color:var(--ab-color-text-muted);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;font-size:.95rem;font-weight:680;display:flex;position:absolute;top:8%}.ab-status-card--next .ab-status-card__heading{justify-content:center;position:static;inset:auto}.ab-mode-switch{border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-pill);background:var(--ab-color-surface-muted);box-shadow:inset 0 0 0 1px var(--ab-color-border-soft);isolation:isolate;align-items:center;gap:2px;padding:2px;display:inline-flex}.ab-mode-switch__option{min-height:calc(26px * var(--ab-ui-scale));padding:0 calc(var(--ab-space-3) * var(--ab-ui-scale));color:var(--ab-color-text-muted);border-radius:var(--ab-radius-pill);font:inherit;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:color var(--ab-motion-fast), background var(--ab-motion-fast), box-shadow var(--ab-motion-fast);background:0 0;border:0;font-size:.78rem;font-weight:680}.ab-mode-switch__option:hover{color:var(--ab-color-text)}.ab-mode-switch__option[aria-pressed=true]{color:var(--ab-color-success-text);background:var(--ab-color-success-soft);box-shadow:0 0 0 1px var(--ab-color-success), 0 0 12px #8fb58b24}.ab-mode-switch__option:focus-visible{box-shadow:var(--ab-focus-ring);outline:0}.ab-status-card__label{margin:0 0 calc(var(--ab-space-2) * var(--ab-ui-scale));color:var(--ab-color-text-muted);font-size:1rem}.ab-status-card--next .ab-status-card__label{font-size:1.12rem}.ab-status-card__title{color:var(--ab-color-text);letter-spacing:-.03em;margin:0;font-size:clamp(1.45rem,1.15rem + .75vw,2rem);font-weight:760;line-height:1.15}.ab-status-card__time{margin:calc(var(--ab-space-2) * var(--ab-ui-scale)) 0;color:var(--ab-color-text);letter-spacing:-.04em;font-size:clamp(2.4rem,2rem + 1vw,3.25rem);font-weight:680;line-height:1}.ab-status-card__accent{margin:calc(var(--ab-space-2) * var(--ab-ui-scale)) 0 0;color:var(--ab-color-brand-strong)}.ab-status-card__accent--timed{justify-content:center;align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));display:inline-flex}.ab-status-card__accent--timed .ab-icon{width:1.05em;height:1.05em;color:var(--ab-color-text)}.ab-status-card__meta{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));margin:calc(var(--ab-space-4) * var(--ab-ui-scale)) 0 0;color:var(--ab-color-text-muted);flex-wrap:wrap;line-height:1.45;display:flex}.ab-status-card__meta>span+span:before{content:"·";margin-right:calc(var(--ab-space-2) * var(--ab-ui-scale));color:var(--ab-color-text-faint)}.ab-status-card__meta .ab-meta-icon-item .ab-icon{color:var(--ab-color-text)}@media (max-width:1450px) and (min-width:921px){.ab-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ab-status-card--next{grid-column:1/-1;min-height:180px}}.ab-active-schedule-list{gap:calc(var(--ab-space-2) * var(--ab-ui-scale));margin-top:calc(var(--ab-space-2) * var(--ab-ui-scale));grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ab-active-schedule-item{justify-content:space-between;align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));min-width:0;padding:calc(var(--ab-space-2) * var(--ab-ui-scale)) calc(var(--ab-space-3) * var(--ab-ui-scale));border:1px solid var(--ab-color-border-soft);border-radius:var(--ab-radius-sm);background:var(--ab-color-surface-muted);display:flex}.ab-active-schedule-item__name{color:var(--ab-color-text);text-overflow:ellipsis;white-space:nowrap;font-weight:420;overflow:hidden}.ab-active-schedule-item__meta{align-items:center;gap:calc(var(--ab-space-1) * var(--ab-ui-scale));color:var(--ab-color-text-muted);flex:none;font-size:.8rem;display:inline-flex}.ab-active-schedule-item__meta .ab-icon{width:1em;height:1em;color:var(--ab-color-text)}.ab-active-schedule-empty{padding:calc(var(--ab-space-3) * var(--ab-ui-scale));color:var(--ab-color-text-muted);border:1px dashed var(--ab-color-border);border-radius:var(--ab-radius-sm);text-align:center;grid-column:1/-1;margin:0}.ab-control-mode-copy{margin:calc(var(--ab-space-3) * var(--ab-ui-scale)) 0 0;color:var(--ab-color-brand-strong);font-size:.9rem}.ab-meta-icon-item{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));display:inline-flex}.ab-meta-icon-item .ab-icon{width:1.05em;height:1.05em;color:var(--ab-color-brand-strong)}.ab-btn--quiet{font-weight:520}.ab-schedule-stack{gap:calc(var(--ab-space-3) * var(--ab-ui-scale));display:grid}.ab-schedule-card{align-items:center;gap:calc(var(--ab-space-5) * var(--ab-ui-scale));min-height:116px;padding:calc(var(--ab-space-4) * var(--ab-ui-scale)) calc(var(--ab-space-5) * var(--ab-ui-scale));border:1px solid var(--ab-color-border);border-left:5px solid var(--ab-color-border);border-radius:var(--ab-radius-md);background:linear-gradient(135deg, var(--ab-color-surface-raised), var(--ab-color-surface));box-shadow:var(--ab-shadow-sm);grid-template-columns:minmax(0,1fr) auto;display:grid;position:relative}.ab-schedule-card.has-open-menu{z-index:60}.ab-schedule-card.is-active{border-left-color:var(--ab-color-brand-strong)}.ab-schedule-card.is-calendar-active{border-left-color:var(--ab-color-brand-strong);background:linear-gradient(347deg, var(--ab-color-surface-selected), var(--ab-calendar-active-gradient-end))}.ab-mode-notice{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));margin-bottom:calc(var(--ab-space-3) * var(--ab-ui-scale));padding:calc(var(--ab-space-3) * var(--ab-ui-scale)) calc(var(--ab-space-4) * var(--ab-ui-scale));color:var(--ab-color-brand-strong);border:1px solid var(--ab-color-brand);border-radius:var(--ab-radius-sm);background:var(--ab-color-brand-soft);display:flex}.ab-mode-notice[hidden]{display:none}.ab-schedule-card .ab-entity__icon{width:64px;height:64px;color:var(--ab-color-schedule-icon);border-radius:var(--ab-radius-pill);background:0 0}.ab-calendar-actions{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));margin-top:calc(var(--ab-space-3) * var(--ab-ui-scale));flex-wrap:wrap;display:flex}.ab-calendar-actions .ab-btn{margin-top:0!important}.ab-calendar-actions [hidden]{display:none}.ab-schedule-card .ab-entity__icon .ab-icon{width:1.9em;height:1.9em}.ab-schedule-card .ab-entity__title{font-size:1.35rem}.ab-schedule-card__details{align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));margin-top:calc(var(--ab-space-3) * var(--ab-ui-scale));color:var(--ab-color-text-muted);flex-wrap:wrap;display:flex}.ab-schedule-card__details>span+span:before{content:"·";margin-right:calc(var(--ab-space-3) * var(--ab-ui-scale));color:var(--ab-color-text-faint)}.ab-schedule-card__details .ab-meta-icon-item .ab-icon{color:var(--ab-color-text)}.ab-schedule-create{justify-content:flex-end;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));margin-top:calc(var(--ab-space-4) * var(--ab-ui-scale));display:flex}.ab-section{margin-top:calc(var(--ab-space-7) * var(--ab-ui-scale))}.ab-section-head{justify-content:space-between;align-items:end;gap:calc(var(--ab-space-4) * var(--ab-ui-scale));margin-bottom:calc(var(--ab-space-3) * var(--ab-ui-scale));display:flex}.ab-section-title{align-items:baseline;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));color:var(--ab-color-text);letter-spacing:-.02em;margin:0;font-size:1.4rem;display:flex}.ab-section-count{color:var(--ab-color-text-muted);font-size:.95rem;font-weight:450}.ab-badge{border-radius:var(--ab-radius-sm);text-transform:uppercase;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;min-height:1.8em;padding:.2em .65em;font-size:.75rem;font-weight:760;line-height:1;display:inline-flex}.ab-badge--success{color:var(--ab-color-success-text);background:var(--ab-color-success-soft);border-color:#0000}.ab-badge--neutral{color:var(--ab-color-text-soft);background:var(--ab-color-surface-raised);border-color:var(--ab-color-border-soft)}.ab-badge--warning{color:var(--ab-color-warning-text);background:var(--ab-color-warning-soft);border-color:var(--ab-color-warning)}.ab-badge--danger{color:var(--ab-color-danger-text);background:var(--ab-color-danger-soft);border-color:var(--ab-color-danger)}.ab-chip{min-height:32px;padding:0 calc(var(--ab-space-3) * var(--ab-ui-scale));border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-sm);color:var(--ab-color-text-muted);background:var(--ab-color-surface-muted);white-space:nowrap;align-items:center;font-size:.86rem;display:inline-flex}.ab-list{overflow:hidden}.ab-list__head,.ab-list__row{align-items:center;gap:calc(var(--ab-space-4) * var(--ab-ui-scale));min-width:0;padding:calc(var(--ab-space-4) * var(--ab-ui-scale)) calc(var(--ab-space-5) * var(--ab-ui-scale));grid-template-columns:minmax(260px,2fr) minmax(100px,.7fr) minmax(200px,1.15fr) minmax(210px,auto);display:grid}.ab-list__head{min-height:calc(52px * var(--ab-ui-scale));color:var(--ab-color-text-muted);background:var(--ab-color-surface-muted);border-bottom:1px solid var(--ab-color-border);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;font-weight:650}.ab-list__row{min-height:calc(94px * var(--ab-ui-scale));border-bottom:1px solid var(--ab-color-border-soft);position:relative}.ab-list__row:last-of-type{border-bottom:0}.ab-list__row.is-active{background:var(--ab-color-surface-selected)}.ab-list__row.is-active:before{content:"";background:var(--ab-color-brand-strong);width:4px;position:absolute;inset:0 auto 0 0}.ab-entity{align-items:center;gap:calc(var(--ab-space-4) * var(--ab-ui-scale));min-width:0;display:flex}.ab-entity__icon{width:calc(52px * var(--ab-ui-scale));height:calc(52px * var(--ab-ui-scale));color:var(--ab-color-brand-strong);border:1px solid var(--ab-color-brand);border-radius:var(--ab-radius-md);background:var(--ab-color-brand-soft);flex:none;place-items:center;display:grid}.ab-entity__copy{min-width:0}.ab-entity__title-line{align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));flex-wrap:wrap;min-width:0;display:flex}.ab-entity__title{color:var(--ab-color-text);text-overflow:ellipsis;white-space:nowrap;font-size:1.12rem;font-weight:420;overflow:hidden}.ab-entity__meta{margin-top:calc(var(--ab-space-1) * var(--ab-ui-scale));color:var(--ab-color-text-muted);font-size:.9rem}.ab-chip-group,.ab-actions{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));flex-wrap:wrap;min-width:0;display:flex}.ab-actions{justify-content:flex-end}.ab-list__footer{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));padding:calc(var(--ab-space-3) * var(--ab-ui-scale)) calc(var(--ab-space-5) * var(--ab-ui-scale));color:var(--ab-color-text-muted);background:var(--ab-color-surface-muted);border-top:1px solid var(--ab-color-border-soft);font-size:.88rem;display:flex}.ab-field,.ab-select{width:100%;min-height:max(44px, calc(var(--ab-control-height) * var(--ab-ui-scale)));padding:0 calc(var(--ab-space-3) * var(--ab-ui-scale));color:var(--ab-color-text);border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-sm);background:var(--ab-color-input)}.ab-field:disabled,.ab-select:disabled{color:var(--ab-color-text-muted);background:var(--ab-color-surface-muted);cursor:not-allowed}.ab-form-label{margin-bottom:calc(var(--ab-space-2) * var(--ab-ui-scale));color:var(--ab-color-text-muted);font-size:.88rem;font-weight:600;display:block}.ab-settings{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));display:flex}.ab-settings .ab-select{width:auto;min-width:132px}body.ab-modal-open{overflow:hidden}.ab-dialog-layer{z-index:180;padding:calc(var(--ab-space-4) * var(--ab-ui-scale));background:var(--ab-color-overlay);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);place-items:center;display:grid;position:fixed;inset:0}.ab-dialog-layer[hidden],.ab-dialog-stage[hidden]{display:none}.ab-schedule-dialog{width:min(760px,100vw - 32px);max-height:calc(100vh - 32px);color:var(--ab-color-text);border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-lg);background:linear-gradient(135deg, var(--ab-color-surface-raised), var(--ab-color-surface));transition:width var(--ab-motion-normal);flex-direction:column;display:flex;overflow:hidden;box-shadow:0 28px 80px #00000057}.ab-schedule-dialog.is-builder{width:min(1220px,100vw - 32px)}.ab-dialog-stage{flex-direction:column;flex:1;min-height:0;display:flex}.ab-dialog-header{justify-content:space-between;align-items:center;gap:calc(var(--ab-space-4) * var(--ab-ui-scale));padding:calc(var(--ab-space-5) * var(--ab-ui-scale)) calc(var(--ab-space-6) * var(--ab-ui-scale));border-bottom:1px solid var(--ab-color-border-soft);display:flex}.ab-dialog-header__title-group{align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));min-width:0;display:flex}.ab-dialog-header h2{letter-spacing:-.02em;margin:0;font-size:1.55rem;line-height:1.2}.ab-dialog-header p{margin:calc(var(--ab-space-1) * var(--ab-ui-scale)) 0 0;color:var(--ab-color-text-muted);font-size:.9rem}.ab-dialog-close{flex:none}.ab-dialog-close .ab-icon{width:20px;height:20px}.ab-method-intro{padding:calc(var(--ab-space-5) * var(--ab-ui-scale)) calc(var(--ab-space-6) * var(--ab-ui-scale)) 0;color:var(--ab-color-text-muted);text-align:center;margin:0}.ab-method-grid{gap:calc(var(--ab-space-4) * var(--ab-ui-scale));padding:calc(var(--ab-space-5) * var(--ab-ui-scale)) calc(var(--ab-space-6) * var(--ab-ui-scale));display:grid}.ab-method-card{align-items:center;gap:calc(var(--ab-space-4) * var(--ab-ui-scale));width:100%;padding:calc(var(--ab-space-5) * var(--ab-ui-scale));color:var(--ab-color-text);text-align:left;border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-md);background:linear-gradient(135deg, var(--ab-color-surface-raised), var(--ab-status-card-gradient-end));cursor:pointer;transition:border-color var(--ab-motion-fast), transform var(--ab-motion-fast), box-shadow var(--ab-motion-fast);grid-template-columns:auto minmax(0,1fr) auto;display:grid;position:relative}.ab-method-card:hover{border-color:var(--ab-color-brand);box-shadow:var(--ab-shadow-md);transform:translateY(-2px)}.ab-method-card:focus-visible{box-shadow:var(--ab-focus-ring);outline:0}.ab-method-card--manual{border-left:4px solid var(--ab-color-brand-strong)}.ab-method-card__icon{width:60px;height:60px;color:var(--ab-color-brand-strong);border:1px solid var(--ab-color-brand);border-radius:var(--ab-radius-md);background:var(--ab-color-brand-soft);place-items:center;display:grid}.ab-method-card__icon .ab-icon{width:30px;height:30px}.ab-method-card h3{margin:0 0 calc(var(--ab-space-1) * var(--ab-ui-scale));font-size:1.15rem}.ab-method-card p{color:var(--ab-color-text-muted);margin:0;line-height:1.45}.ab-method-card__arrow{color:var(--ab-color-brand-strong);font-size:1.4rem}.ab-method-card__badge{top:-10px;right:calc(var(--ab-space-4) * var(--ab-ui-scale));position:absolute}.ab-dialog-footer{justify-content:flex-end;align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));padding:calc(var(--ab-space-4) * var(--ab-ui-scale)) calc(var(--ab-space-6) * var(--ab-ui-scale));border-top:1px solid var(--ab-color-border-soft);background:var(--ab-color-surface-muted);display:flex}.ab-dialog-footer__meta{color:var(--ab-color-text-muted);margin-right:auto;font-size:.88rem}.ab-schedule-builder{flex:1;grid-template-columns:minmax(240px,290px) minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.ab-builder-sidebar{padding:calc(var(--ab-space-5) * var(--ab-ui-scale));border-right:1px solid var(--ab-color-border-soft);background:var(--ab-color-surface-muted);overflow-y:auto}.ab-builder-sidebar h3,.ab-builder-events h3{margin:0;font-size:1.05rem}.ab-builder-sidebar__section+.ab-builder-sidebar__section{margin-top:calc(var(--ab-space-6) * var(--ab-ui-scale));padding-top:calc(var(--ab-space-5) * var(--ab-ui-scale));border-top:1px solid var(--ab-color-border-soft)}.ab-builder-help{margin:calc(var(--ab-space-3) * var(--ab-ui-scale)) 0 0;color:var(--ab-color-text-muted);font-size:.88rem;line-height:1.5}.ab-builder-progress{margin-top:calc(var(--ab-space-3) * var(--ab-ui-scale))}.ab-builder-progress__track{border-radius:var(--ab-radius-pill);background:var(--ab-color-border-soft);height:7px;overflow:hidden}.ab-builder-progress__bar{border-radius:inherit;background:linear-gradient(90deg, var(--ab-color-brand), var(--ab-color-brand-strong));width:1%;height:100%;transition:width var(--ab-motion-normal)}.ab-builder-progress__copy{justify-content:space-between;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));margin-top:calc(var(--ab-space-2) * var(--ab-ui-scale));color:var(--ab-color-text-muted);font-size:.82rem;display:flex}.ab-builder-tip{gap:calc(var(--ab-space-2) * var(--ab-ui-scale));margin-top:calc(var(--ab-space-4) * var(--ab-ui-scale));padding:calc(var(--ab-space-3) * var(--ab-ui-scale));color:var(--ab-color-info-text);border:1px solid var(--ab-color-info);border-radius:var(--ab-radius-sm);background:var(--ab-color-info-soft);font-size:.82rem;line-height:1.45;display:flex}.ab-builder-tip .ab-icon{flex:none;margin-top:2px}.ab-builder-events{flex-direction:column;min-width:0;min-height:0;display:flex}.ab-builder-events__toolbar{justify-content:space-between;align-items:center;gap:calc(var(--ab-space-4) * var(--ab-ui-scale));padding:calc(var(--ab-space-4) * var(--ab-ui-scale)) calc(var(--ab-space-5) * var(--ab-ui-scale));border-bottom:1px solid var(--ab-color-border-soft);display:flex}.ab-builder-events__toolbar p{margin:calc(var(--ab-space-1) * var(--ab-ui-scale)) 0 0;color:var(--ab-color-text-muted);font-size:.85rem}.ab-event-list{gap:calc(var(--ab-space-4) * var(--ab-ui-scale));min-height:0;padding:calc(var(--ab-space-5) * var(--ab-ui-scale));display:grid;overflow-y:auto}.ab-event-card{padding:calc(var(--ab-space-4) * var(--ab-ui-scale));border:1px solid var(--ab-color-border);border-left:4px solid var(--ab-color-brand);border-radius:var(--ab-radius-md);background:linear-gradient(135deg, var(--ab-color-surface-raised), var(--ab-color-surface));box-shadow:var(--ab-shadow-sm);transition:opacity var(--ab-motion-fast), transform var(--ab-motion-fast), box-shadow var(--ab-motion-fast);position:relative}.ab-event-card.is-dragging{z-index:2;opacity:.58;box-shadow:var(--ab-shadow-lg);transform:scale(.992)}.ab-event-card__header{justify-content:space-between;align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));margin-bottom:calc(var(--ab-space-4) * var(--ab-ui-scale));display:flex}.ab-event-card__identity{align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));min-width:0;display:flex}.ab-event-card__copy{min-width:0}.ab-event-title-edit{align-items:center;gap:calc(var(--ab-space-1) * var(--ab-ui-scale));max-width:100%;color:var(--ab-color-text-strong);cursor:text;display:inline-flex}.ab-event-title-edit input{min-width:8ch;max-width:min(36ch,52vw);color:inherit;border-radius:var(--ab-radius-xs);font:inherit;background:0 0;border:0;outline:0;padding:2px 3px;font-weight:760}.ab-event-title-edit .ab-icon{width:14px;height:14px;color:var(--ab-color-text-muted);opacity:.72;transition:color var(--ab-motion-fast), opacity var(--ab-motion-fast);pointer-events:none;flex:none}.ab-event-title-edit:hover input,.ab-event-title-edit input:focus{background:var(--ab-color-surface-muted);box-shadow:inset 0 0 0 1px var(--ab-color-border)}.ab-event-title-edit:hover .ab-icon,.ab-event-title-edit:focus-within .ab-icon{color:var(--ab-color-brand-strong);opacity:1}.ab-event-title-edit input:focus-visible{box-shadow:var(--ab-focus-ring)}.ab-event-title-edit input[aria-invalid=true]{color:var(--ab-color-danger-text);background:var(--ab-color-danger-soft);box-shadow:inset 0 0 0 1px var(--ab-color-danger)}.ab-event-card__number{width:34px;height:34px;color:var(--ab-color-brand-contrast);border-radius:var(--ab-radius-pill);background:var(--ab-color-brand);flex:none;place-items:center;font-weight:760;display:grid}.ab-event-card__summary{color:var(--ab-color-text-muted);font-size:.82rem}.ab-event-card__tools{gap:calc(var(--ab-space-2) * var(--ab-ui-scale));display:flex}.ab-event-card__tools .ab-icon-btn{width:38px;height:38px}.ab-event-card__tools .ab-icon-btn:disabled{opacity:.42;cursor:not-allowed}.ab-drag-handle{cursor:grab;touch-action:none}.ab-drag-handle:active{cursor:grabbing}.ab-event-fields{gap:calc(var(--ab-space-3) * var(--ab-ui-scale));grid-template-columns:minmax(220px,1.2fr) minmax(180px,1fr) minmax(110px,.55fr);align-items:end;display:grid}.ab-time-fields{gap:calc(var(--ab-space-2) * var(--ab-ui-scale));grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.ab-duration-field{display:block;position:relative}.ab-duration-field .ab-field{padding-right:48px}.ab-duration-field__suffix{top:50%;right:calc(var(--ab-space-3) * var(--ab-ui-scale));color:var(--ab-color-text-muted);pointer-events:none;font-size:.82rem;position:absolute;transform:translateY(-50%)}.ab-event-days{justify-content:space-between;align-items:flex-end;gap:calc(var(--ab-space-4) * var(--ab-ui-scale));margin-top:calc(var(--ab-space-4) * var(--ab-ui-scale));padding-top:calc(var(--ab-space-4) * var(--ab-ui-scale));border-top:1px solid var(--ab-color-border-soft);display:flex}.ab-day-toggle-list{gap:calc(var(--ab-space-2) * var(--ab-ui-scale));border-radius:var(--ab-radius-pill);background:var(--ab-color-surface-muted);flex-wrap:wrap;padding:3px;display:flex}.ab-day-toggle{position:relative}.ab-day-toggle input{opacity:0;width:1px;height:1px;position:absolute}.ab-day-toggle span{min-width:42px;min-height:36px;padding:0 calc(var(--ab-space-3) * var(--ab-ui-scale));color:var(--ab-color-text-muted);border-radius:var(--ab-radius-pill);cursor:pointer;transition:color var(--ab-motion-fast), border-color var(--ab-motion-fast), background var(--ab-motion-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:5px;font-size:.8rem;font-weight:620;display:flex}.ab-day-toggle span:before{border-radius:var(--ab-radius-pill);background:var(--ab-color-brand);content:"";opacity:0;width:6px;height:6px;transition:opacity var(--ab-motion-fast), transform var(--ab-motion-fast);flex:none;transform:scale(.5)}.ab-day-toggle input:checked+span{color:var(--ab-color-text-strong);border-color:var(--ab-color-border-soft);background:var(--ab-color-surface-raised);box-shadow:inset 0 0 0 1px var(--ab-color-border-soft)}.ab-day-toggle input:checked+span:before{opacity:1;transform:scale(1)}.ab-day-toggle input:focus-visible+span{box-shadow:var(--ab-focus-ring)}.ab-event-card.has-day-error .ab-day-toggle-list{border-radius:var(--ab-radius-sm);box-shadow:0 0 0 2px var(--ab-color-danger);padding:3px}.ab-day-presets{gap:calc(var(--ab-space-2) * var(--ab-ui-scale));flex-wrap:wrap;display:flex}.ab-day-preset{min-height:34px;padding:0 calc(var(--ab-space-3) * var(--ab-ui-scale));color:var(--ab-color-brand-strong);border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-pill);font:inherit;cursor:pointer;background:0 0;font-size:.78rem}.ab-day-preset:hover{border-color:var(--ab-color-brand);background:var(--ab-color-brand-soft)}.ab-day-preset:focus-visible{box-shadow:var(--ab-focus-ring);outline:0}.ab-field[aria-invalid=true]{border-color:var(--ab-color-danger);box-shadow:0 0 0 2px var(--ab-color-danger-soft)}.ab-builder-sidebar .ab-form-label[for=new-schedule-name]{margin-top:calc(var(--ab-space-4) * var(--ab-ui-scale))}.ab-toast-region{z-index:100;top:calc(var(--ab-header-height) + (var(--ab-space-3) * var(--ab-ui-scale)) + env(safe-area-inset-top));width:min(520px,100vw - 32px);max-height:calc(100vh - var(--ab-header-height) - (var(--ab-space-6) * var(--ab-ui-scale)) - env(safe-area-inset-top));gap:calc(var(--ab-space-2) * var(--ab-ui-scale));pointer-events:none;display:grid;position:fixed;left:50%;overflow-y:auto;transform:translate(-50%)}.ab-toast{align-items:flex-start;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));width:100%;padding:calc(var(--ab-space-3) * var(--ab-ui-scale)) calc(var(--ab-space-4) * var(--ab-ui-scale));color:var(--ab-color-text);border:1px solid var(--ab-color-border);border-left:4px solid var(--ab-color-brand);border-radius:var(--ab-radius-sm);background:var(--ab-color-surface-raised);box-shadow:var(--ab-shadow-md);opacity:0;transition:opacity var(--ab-motion-normal), transform var(--ab-motion-normal);display:flex;transform:translateY(-8px)}.ab-toast__icon{width:calc(22px * var(--ab-ui-scale));height:calc(22px * var(--ab-ui-scale));color:var(--ab-color-brand-strong);stroke-width:2px;flex:none}.ab-toast__message{overflow-wrap:anywhere;min-width:0;line-height:1.45}.ab-toast.is-visible{opacity:1;transform:translateY(0)}.ab-toast.is-leaving{transition:opacity .6s,transform .6s;animation:.6s forwards ab-toast-exit}@keyframes ab-toast-exit{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-120%)scale(.985)}}.ab-toast--danger{border-left-color:var(--ab-color-danger)}.ab-toast--danger .ab-toast__icon{color:var(--ab-color-danger-text)}.ab-toast--warning{border-left-color:var(--ab-color-warning)}.ab-toast--warning .ab-toast__icon{color:var(--ab-color-warning-text)}.ab-toast--success{border-left-color:var(--ab-color-success)}.ab-toast--success .ab-toast__icon{color:var(--ab-color-success-text)}.ab-toast--info{border-left-color:var(--ab-color-info)}.ab-toast--info .ab-toast__icon{color:var(--ab-color-info-text)}@media (max-width:1180px){.ab-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ab-status-card--next{grid-column:1/-1;min-height:180px}.ab-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.ab-summary__item:nth-child(odd){border-left:0}.ab-summary__item:nth-child(n+3){border-top:1px solid var(--ab-color-border)}.ab-list__head,.ab-list__row{grid-template-columns:minmax(230px,1.8fr) minmax(80px,.55fr) minmax(150px,1fr) auto}}@media (max-width:920px){.ab-dialog-layer{padding:0}.ab-schedule-dialog,.ab-schedule-dialog.is-builder{border-width:0;border-radius:0;width:100vw;min-height:100vh;max-height:100vh}.ab-schedule-builder{display:block;overflow-y:auto}.ab-builder-sidebar{border-right:0;border-bottom:1px solid var(--ab-color-border-soft);overflow:visible}.ab-builder-events,.ab-event-list{overflow:visible}.ab-event-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.ab-app{padding-bottom:calc(76px + env(safe-area-inset-bottom));display:block}.ab-header{z-index:30;min-height:calc(var(--ab-header-height) * .84);padding:calc(var(--ab-space-3) * var(--ab-ui-scale)) calc(var(--ab-space-4) * var(--ab-ui-scale));position:sticky;top:0}.ab-brand__wordmark{font-size:1.22rem}.ab-brand__suffix,.ab-header__status-item:first-child,.ab-header__status-item:nth-child(2){display:none}.ab-header__status-item{border-left:0;padding:0}.ab-header__status{gap:calc(var(--ab-space-2) * var(--ab-ui-scale))}.ab-main{padding:calc(var(--ab-space-5) * var(--ab-ui-scale))}.ab-content{min-height:0;padding:calc(var(--ab-space-6) * var(--ab-ui-scale))}.ab-side-nav{z-index:50;min-height:0;height:calc(72px + env(safe-area-inset-bottom));padding:0 0 env(safe-area-inset-bottom);border:0;border-top:1px solid var(--ab-color-border-soft);scrollbar-width:none;flex-direction:row;gap:0;display:flex;position:fixed;inset:auto 0 0;overflow:auto hidden}.ab-nav-collapse,.ab-header__user,.ab-user-menu,.ab-theme-toggle{display:none}.ab-app.ab-nav-collapsed .ab-nav-link{gap:4px}.ab-app.ab-nav-collapsed .ab-nav-link__label{display:inline}.ab-side-nav::-webkit-scrollbar{display:none}.ab-nav-link{text-align:center;border:0;flex-direction:column;flex:0 0 92px;justify-content:center;gap:4px;min-height:72px;padding:8px 6px;font-size:.7rem}.ab-nav-link[aria-current=page]:before{width:auto;height:4px;inset:0 0 auto}.ab-nav-link__icon{width:23px;height:23px}.ab-nav-spacer{display:none}.ab-page-head{align-items:stretch}.ab-list__head{display:none}.ab-list__row{gap:calc(var(--ab-space-4) * var(--ab-ui-scale));padding-block:calc(var(--ab-space-5) * var(--ab-ui-scale));grid-template-columns:1fr auto}.ab-list__cell[data-label=Events],.ab-list__cell[data-label=Outputs]{padding-left:calc((52px + var(--ab-space-4)) * var(--ab-ui-scale));grid-column:1}.ab-list__cell[data-label=Actions]{grid-area:1/2/span 3}}@media (max-width:620px){.ab-dialog-header{padding:calc(var(--ab-space-4) * var(--ab-ui-scale))}.ab-dialog-header h2{font-size:1.25rem}.ab-method-intro{padding:calc(var(--ab-space-4) * var(--ab-ui-scale)) calc(var(--ab-space-4) * var(--ab-ui-scale)) 0}.ab-method-grid{padding:calc(var(--ab-space-4) * var(--ab-ui-scale))}.ab-method-card{padding:calc(var(--ab-space-4) * var(--ab-ui-scale));grid-template-columns:auto minmax(0,1fr)}.ab-method-card__icon{width:48px;height:48px}.ab-method-card__arrow{display:none}.ab-dialog-footer{z-index:5;padding:calc(var(--ab-space-3) * var(--ab-ui-scale)) calc(var(--ab-space-4) * var(--ab-ui-scale));flex-wrap:wrap;position:sticky;bottom:0}.ab-dialog-footer .ab-btn{flex:1}.ab-dialog-footer__meta{width:100%;margin:0}.ab-builder-sidebar,.ab-builder-events__toolbar,.ab-event-list{padding:calc(var(--ab-space-4) * var(--ab-ui-scale))}.ab-builder-events__toolbar,.ab-event-card__header{align-items:flex-start}.ab-event-fields{grid-template-columns:1fr}.ab-event-days{flex-direction:column;align-items:flex-start}.ab-day-toggle-list{grid-template-columns:repeat(7,minmax(0,1fr));width:100%;display:grid}.ab-day-toggle span{min-width:0;padding:0}.ab-help__panel{width:auto;position:fixed;top:146px;left:12px;right:12px}.ab-main{padding:calc(var(--ab-space-4) * var(--ab-ui-scale))}.ab-content{background:0 0;padding:0}.ab-page-head{display:block}.ab-page-head .ab-toolbar{margin-top:calc(var(--ab-space-4) * var(--ab-ui-scale));justify-content:stretch}.ab-page-head .ab-toolbar>*{flex:1}.ab-summary{grid-template-columns:1fr;padding:0}.ab-status-grid{grid-template-columns:1fr}.ab-status-card,.ab-status-card--next{grid-column:auto;min-height:0}.ab-status-card--split{grid-template-columns:auto minmax(0,1fr)}.ab-status-card__icon{width:58px;height:58px}.ab-status-card__icon .ab-icon{width:29px;height:29px}.ab-status-card--split .ab-status-card__heading,.ab-status-card--next .ab-status-card__heading{position:static;inset:auto}.ab-status-card__next-copy{pointer-events:auto;position:static;inset:auto}.ab-status-card__meta>span+span:before,.ab-schedule-card__details>span+span:before{display:none}.ab-active-schedule-list{grid-template-columns:1fr}.ab-schedule-card{display:block}.ab-schedule-card .ab-actions{margin-top:calc(var(--ab-space-4) * var(--ab-ui-scale));padding-left:calc((64px + var(--ab-space-4)) * var(--ab-ui-scale))}.ab-schedule-create{flex-direction:column}.ab-schedule-create .ab-btn{width:100%}.ab-summary__item,.ab-summary__item:nth-child(odd){padding:calc(var(--ab-space-4) * var(--ab-ui-scale));border-left:0;border-top:1px solid var(--ab-color-border)}.ab-summary__item:first-child{border-top:0}.ab-list__row{display:block}.ab-list__cell+.ab-list__cell{margin-top:calc(var(--ab-space-3) * var(--ab-ui-scale))}.ab-list__cell[data-label=Events],.ab-list__cell[data-label=Outputs],.ab-list__cell[data-label=Actions]{padding-left:calc((52px + var(--ab-space-4)) * var(--ab-ui-scale))}.ab-actions{justify-content:flex-start}.ab-actions .ab-btn{flex:1}.ab-section-head{flex-direction:column;align-items:flex-start}.ab-settings{width:100%}.ab-settings .ab-select{flex:1}.ab-toast-region{top:calc((var(--ab-header-height) * .84) + 12px + env(safe-area-inset-top));width:calc(100vw - 24px);max-height:calc(100vh - (var(--ab-header-height) * .84) - 24px - env(safe-area-inset-top))}}@media print{.ab-side-nav,.ab-toolbar,.ab-header__status,.ab-actions{display:none!important}.ab-app{display:block}.ab-main{padding:0}}.ab-modal-transition{-webkit-backdrop-filter:blur();backdrop-filter:blur();background:0 0;transition:background-color .18s,-webkit-backdrop-filter .18s,backdrop-filter .18s}.ab-modal-transition>:first-child{opacity:0;transform-origin:50%;will-change:opacity, transform;transition:opacity .16s,transform .22s cubic-bezier(.2,.8,.2,1);transform:translateY(12px)scale(.985)}.ab-modal-transition.is-open{background:var(--ab-color-overlay);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.ab-modal-transition.is-open>:first-child{opacity:1;transform:translateY(0)scale(1)}.ab-modal-transition.is-closing{pointer-events:none}@media (prefers-reduced-motion:reduce){.ab-modal-transition,.ab-modal-transition>:first-child{transition:none}}:root[data-theme=light]{--ab-color-canvas:#f4f6f8;--ab-color-shell:#fff;--ab-color-surface:#fff;--ab-color-surface-raised:#f8fafc;--ab-color-surface-muted:#eef2f6;--ab-color-surface-selected:#e6f0f3;--ab-color-input:#fff;--ab-color-text:#213343;--ab-color-text-soft:#33475b;--ab-color-text-muted:#516f90;--ab-color-text-faint:#70869b;--ab-color-border:#c7d2df;--ab-color-border-soft:#dfe6ed;--ab-color-brand:#397c69;--ab-color-brand-strong:#246b5a;--ab-color-brand-soft:#d5e9e3;--ab-color-logo:#2f7562;--ab-status-card-gradient-start:#fffffffc;--ab-status-card-gradient-end:#f7f9fcfc;--ab-calendar-active-gradient-end:#f3f7f8;--ab-shadow-sm:0 1px 2px #21334314, 0 3px 10px #2133430d;--ab-shadow-md:0 12px 30px #2133431f;--ab-focus-ring:0 0 0 3px #2d7c693d}:root[data-theme=light] .ab-header{--ab-color-text:#fff;--ab-color-text-soft:#e5edf5;--ab-color-text-muted:#b9c8d6;--ab-color-border-soft:#40556a;--ab-color-brand-strong:#a4cf98;--ab-color-success:#9bd392;color:var(--ab-color-text);background:linear-gradient(135deg,#213343 0%,#263e52 100%);border-bottom-color:#172838;box-shadow:0 4px 14px #2133432e}:root[data-theme=light] .ab-header .ab-brand__suffix{color:#bdcad6}:root[data-theme=light] .ab-header .ab-user-trigger{color:#f8fafc}:root[data-theme=light] .ab-header .ab-user-trigger:hover,:root[data-theme=light] .ab-header .ab-user-trigger:focus-visible,:root[data-theme=light] .ab-header .ab-user-menu.is-open .ab-user-trigger{color:#fff;background:#ffffff1a;border-color:#ffffff3d}:root[data-theme=light] .ab-header .ab-user-trigger__copy strong{color:#fff}:root[data-theme=light] .ab-header .ab-user-trigger__copy small{color:#c8d5df}:root[data-theme=light] .ab-header .ab-user-trigger__chevron{color:#b9c8d6!important}:root[data-theme=light] .ab-header .ab-user-menu .ab-menu__panel{--ab-color-text:#213343;--ab-color-text-soft:#33475b;--ab-color-text-muted:#516f90;--ab-color-surface-raised:#fff;--ab-color-surface-muted:#eef2f6;--ab-color-border:#c7d2df;color:var(--ab-color-text)}:root[data-theme=light] .ab-header .ab-user-menu .ab-menu__item:not(.ab-menu__item--danger) .ab-icon{color:var(--ab-color-text-muted)}:root[data-theme=light] .ab-toast-region{--ab-color-text:#213343;--ab-color-text-soft:#33475b;--ab-color-text-muted:#516f90;--ab-color-border:#c7d2df;--ab-color-border-soft:#dfe6ed;--ab-color-brand-strong:#246b5a;--ab-color-success:#397c69;color:var(--ab-color-text)}:root[data-theme=light] .ab-toast-region .ab-toast--success{--ab-toast-accent:#286b9f;--ab-toast-soft:#e3eff8}:root[data-theme=light] .ab-side-nav{background:#fff}:root[data-theme=light] .ab-content{box-shadow:none;background:0 0}.ab-btn{font-weight:450}.ab-summary__value{font-size:clamp(1rem,.94rem + .45vw,1.28rem);font-weight:600}@media (min-width:921px){:root[data-theme=light] .ab-side-nav{--ab-color-text:#fff;--ab-color-text-soft:#c8d5df;--ab-color-text-muted:#a9bac8;--ab-color-surface-muted:#2b4559;--ab-color-brand-strong:#a4cf98;background:linear-gradient(#213343 0%,#1d3040 100%);border-left:0;border-right:1px solid #172838;box-shadow:3px 0 12px #2133431f}}.ab-header__clock{text-align:center;justify-items:center;gap:1px;min-width:9.5rem;line-height:1.05;display:grid}.ab-header__clock strong{font-size:1rem}.ab-header__clock small{color:var(--ab-color-text-muted);letter-spacing:.04em;font-size:.62rem;font-weight:600}.ab-header__clock-zone{text-transform:uppercase}.ab-header__live-context{align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));display:flex}.ab-header__live-context>span{min-width:0;color:var(--ab-color-text-muted);white-space:nowrap;align-items:center;gap:5px;font-size:calc(.65rem + 1px);display:inline-flex}.ab-header__live-context>span+span{padding-left:calc(var(--ab-space-3) * var(--ab-ui-scale));border-left:1px solid var(--ab-color-border-soft)}.ab-header__live-context>span>span{gap:1px;min-width:0;display:grid}.ab-header__live-context small{color:var(--ab-color-text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:calc(.5rem + 1px);font-weight:600;line-height:1}.ab-header__live-context .ab-icon{width:.86rem;height:.86rem;color:var(--ab-color-success)}.ab-header__live-context strong{max-width:9.5rem;color:var(--ab-color-text-soft);text-overflow:ellipsis;font-weight:650;line-height:1.1;overflow:hidden}.ab-header__live-item--next strong{max-width:13rem}.ab-tooltip{z-index:1200;width:max-content;max-width:min(280px,100vw - 36px);padding:calc(var(--ab-space-2) * var(--ab-ui-scale)) calc(var(--ab-space-3) * var(--ab-ui-scale));color:var(--ab-color-text);border:1px solid color-mix(in srgb, var(--ab-color-success) 32%, var(--ab-color-border));border-radius:var(--ab-radius-md);background:color-mix(in srgb, var(--ab-color-surface-raised) 94%, var(--ab-color-success-soft));box-shadow:var(--ab-shadow-md);text-align:center;white-space:pre-line;pointer-events:none;font-size:.78rem;font-weight:600;line-height:1.35;animation:.14s ease-out both ab-tooltip-in;position:fixed}.ab-tooltip:after{content:"";border:solid color-mix(in srgb, var(--ab-color-success) 32%, var(--ab-color-border));background:color-mix(in srgb, var(--ab-color-surface-raised) 94%, var(--ab-color-success-soft));width:8px;height:8px;position:absolute;transform:rotate(45deg)}.ab-tooltip[data-placement=top]{transform:translate(-50%,-100%)}.ab-tooltip[data-placement=top]:after{border-width:0 1px 1px 0;bottom:-5px;right:calc(50% - 4px)}.ab-tooltip[data-placement=bottom]{transform:translate(-50%)}.ab-tooltip[data-placement=bottom]:after{border-width:1px 0 0 1px;top:-5px;right:calc(50% - 4px)}.ab-tooltip[data-placement=right]{transform:translateY(-50%)}.ab-tooltip[data-placement=right]:after{border-width:0 0 1px 1px;top:calc(50% - 4px);left:-5px}.ab-tooltip[data-placement=left]{transform:translate(-100%,-50%)}.ab-tooltip[data-placement=left]:after{border-width:1px 1px 0 0;top:calc(50% - 4px);right:-5px}@keyframes ab-tooltip-in{0%{opacity:0}to{opacity:1}}.ab-toast-region{--ab-toast-gap:10px;z-index:1100;gap:var(--ab-toast-gap);width:min(344px,100vw - 32px);max-height:calc(100vh - var(--ab-header-height) - 28px - env(safe-area-inset-top));pointer-events:none;scrollbar-width:thin;padding:2px;display:flex;position:fixed;overflow:hidden auto}.ab-toast-region:empty{display:none}.ab-toast-region[data-stack=down]{flex-direction:column}.ab-toast-region[data-stack=up]{flex-direction:column-reverse}.ab-toast-region[data-placement^=top]{top:calc(8px + env(safe-area-inset-top))}.ab-toast-region[data-placement^=bottom]{bottom:calc(14px + env(safe-area-inset-bottom));max-height:calc(100vh - 28px - env(safe-area-inset-bottom))}.ab-toast-region[data-placement$=left]{left:16px}.ab-toast-region[data-placement$=right]{right:16px}.ab-toast-region[data-placement$=center]{left:50%;transform:translate(-50%)}.ab-toast{--ab-toast-accent:var(--ab-color-brand-strong);--ab-toast-soft:var(--ab-color-brand-soft);border:1px solid var(--ab-color-border-soft);background:color-mix(in srgb, var(--ab-color-surface-raised) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transform-origin:100% 0;pointer-events:auto;border-left-width:1px;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;min-height:56px;padding:10px 10px 10px 11px;transition:opacity .18s,transform .22s cubic-bezier(.2,.8,.2,1);display:grid;position:relative;overflow:hidden;transform:translateY(-10px)scale(.985);box-shadow:0 14px 34px #0f1f2d29,0 2px 8px #0f1f2d14}.ab-toast:after{background:var(--ab-toast-accent);content:"";border-radius:0 3px 3px 0;width:3px;position:absolute;inset:9px auto 9px 0}.ab-toast__icon{box-sizing:content-box;width:18px;height:18px;color:var(--ab-toast-accent);background:var(--ab-toast-soft);stroke-width:2px;border-radius:9px;padding:7px}.ab-toast__copy{gap:2px;min-width:0;display:grid}.ab-toast__title{color:var(--ab-color-text);letter-spacing:.055em;overflow-wrap:anywhere;text-transform:uppercase;font-size:.73rem;font-weight:800;line-height:1.25}.ab-toast__message{min-width:0;color:var(--ab-color-text-soft);overflow-wrap:anywhere;font-size:.84rem;font-weight:550;line-height:1.38;display:block}.ab-toast__controls{align-items:center;gap:5px;display:flex}.ab-toast__action,.ab-toast__close{min-height:34px;color:var(--ab-toast-accent);border:1px solid color-mix(in srgb, var(--ab-toast-accent) 34%, var(--ab-color-border));background:color-mix(in srgb, var(--ab-toast-soft) 72%, var(--ab-color-surface-raised));font:inherit;cursor:pointer;border-radius:8px}.ab-toast__action{padding:5px 9px;font-size:.76rem;font-weight:750}.ab-toast__close{place-items:center;width:34px;padding:0;display:grid}.ab-toast__close .ab-icon{width:16px;height:16px}.ab-toast__action:hover,.ab-toast__close:hover{border-color:var(--ab-toast-accent);background:var(--ab-toast-soft)}.ab-toast__action:focus-visible,.ab-toast__close:focus-visible{outline:2px solid var(--ab-color-focus);outline-offset:2px}.ab-toast__action:disabled{cursor:progress;opacity:.62}.ab-toast__progress{background:color-mix(in srgb, var(--ab-toast-accent) 50%, transparent);opacity:.45;transform-origin:0;height:1px;animation:ab-toast-progress var(--ab-toast-duration,6.5s) linear forwards;position:absolute;bottom:0;left:0;right:0}.ab-toast--success{--ab-toast-accent:var(--ab-color-success-text);--ab-toast-soft:var(--ab-color-success-soft)}.ab-toast--warning{--ab-toast-accent:var(--ab-color-warning-text);--ab-toast-soft:var(--ab-color-warning-soft)}.ab-toast--danger{--ab-toast-accent:var(--ab-color-danger-text);--ab-toast-soft:var(--ab-color-danger-soft)}.ab-toast--info{--ab-toast-accent:var(--ab-color-info-text);--ab-toast-soft:var(--ab-color-info-soft)}.ab-toast.is-visible{animation:.22s cubic-bezier(.2,.8,.2,1) both ab-toast-enter}.ab-toast.is-leaving{opacity:0;pointer-events:none;transform:translateY(-120%)scale(.985)}.ab-toast[data-paused=true] .ab-toast__progress{animation-play-state:paused}@keyframes ab-toast-enter{0%{opacity:0;transform:translateY(-10px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes ab-toast-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){.ab-toast.is-visible{animation-duration:1ms}.ab-toast.is-leaving{transition-duration:1ms}.ab-toast__progress{animation-timing-function:step-end}}.ab-calendar-discard-layer{z-index:80}.ab-confirm-dialog{border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-lg);background:var(--ab-color-surface-raised);width:min(420px,100vw - 32px);box-shadow:var(--ab-shadow-md);grid-template-columns:auto minmax(0,1fr);gap:14px;padding:22px;display:grid}.ab-confirm-dialog__icon{width:2.5rem;height:2.5rem;color:var(--ab-color-warning-text);border:1px solid var(--ab-color-warning);background:var(--ab-color-warning-soft);border-radius:50%;place-items:center;display:grid}.ab-confirm-dialog__icon .ab-icon{width:1.25rem;height:1.25rem}.ab-confirm-dialog h2{margin:0 0 6px;font-size:1.05rem}.ab-confirm-dialog p{color:var(--ab-color-text-muted);margin:0;font-size:.84rem;line-height:1.45}.ab-confirm-dialog .ab-dialog-footer{grid-column:1/-1;justify-content:flex-end;margin-top:4px}.ab-network-restart-confirm{width:min(520px,100vw - 32px)}.ab-network-restart-confirm ul{color:var(--ab-color-text);gap:5px;margin:12px 0;padding-left:20px;font-size:.85rem;display:grid}.ab-network-restart-confirm__destination{border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-md);background:var(--ab-color-surface-muted);gap:3px;margin-top:14px;padding:12px 14px;display:grid}.ab-network-restart-confirm__destination span,.ab-network-restart-confirm__destination small{color:var(--ab-color-text-muted);font-size:.75rem}.ab-network-restart-confirm__destination strong{color:var(--ab-color-text);font-size:.95rem}.ab-restart-recovery{min-height:calc(100vh - var(--ab-header-height,70px));padding:clamp(24px,6vw,72px) 20px}.ab-restart-recovery__card{grid-template-columns:auto minmax(0,1fr) auto;gap:20px;width:min(680px,100%);margin:0 auto;padding:clamp(22px,4vw,34px);display:grid}.ab-restart-recovery__icon{width:3rem;height:3rem;color:var(--ab-color-info-text);border:1px solid var(--ab-color-info);background:var(--ab-color-info-soft);border-radius:50%;place-items:center;display:grid}.ab-restart-recovery__icon.is-warning{color:var(--ab-color-warning-text);border-color:var(--ab-color-warning);background:var(--ab-color-warning-soft)}.ab-restart-recovery__icon .ab-icon{width:1.4rem;height:1.4rem}.ab-restart-recovery h1{margin:4px 0 8px;font-size:clamp(1.45rem,4vw,2rem)}.ab-restart-recovery p{color:var(--ab-color-text-muted);margin:0;line-height:1.55}.ab-restart-recovery__countdown{border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-lg);background:var(--ab-color-surface-muted);align-content:center;justify-items:center;min-width:76px;padding:10px;display:grid}.ab-restart-recovery__countdown strong{color:var(--ab-color-success-text);font-variant-numeric:tabular-nums;font-size:1.9rem;line-height:1}.ab-restart-recovery__countdown span{color:var(--ab-color-text-muted);text-transform:uppercase;letter-spacing:.08em;margin-top:4px;font-size:.7rem}.ab-restart-recovery__progress{background:var(--ab-color-surface-muted);border-radius:999px;grid-column:1/-1;height:5px;overflow:hidden}.ab-restart-recovery__progress span{border-radius:inherit;background:var(--ab-color-success);height:100%;transition:width .25s linear;display:block}.ab-restart-recovery__destination{border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-md);background:var(--ab-color-surface-muted);grid-column:1/-1;grid-template-columns:1fr auto;gap:3px 16px;padding:14px 16px;display:grid}.ab-restart-recovery__destination span,.ab-restart-recovery__destination small{color:var(--ab-color-text-muted);font-size:.78rem}.ab-restart-recovery__destination strong{color:var(--ab-color-text);text-align:right;font-size:.9rem}.ab-restart-recovery__destination small{grid-column:1/-1}.ab-restart-recovery__note{border-radius:var(--ab-radius-md);background:var(--ab-color-info-soft);grid-column:1/-1;align-items:flex-start;gap:8px;padding:12px 14px;font-size:.8rem;display:flex;color:var(--ab-color-info-text)!important}.ab-restart-recovery__note .ab-icon{flex:none;width:1rem;height:1rem;margin-top:2px}.ab-restart-recovery__actions{grid-column:1/-1;justify-content:flex-end}@media (max-width:600px){.ab-network-restart-confirm{grid-template-columns:1fr}.ab-network-restart-confirm .ab-confirm-dialog__icon{display:none}.ab-network-restart-confirm .ab-dialog-footer{grid-column:1}.ab-restart-recovery__card{grid-template-columns:auto minmax(0,1fr);gap:14px}.ab-restart-recovery__countdown{grid-column:1/-1;grid-template-columns:auto auto;gap:6px;min-width:0}.ab-restart-recovery__countdown span{align-self:end;margin:0}.ab-restart-recovery__actions{grid-template-columns:1fr;display:grid}}@media (max-width:920px){.ab-toast-region{top:calc(7px + env(safe-area-inset-top));width:calc(100vw - 24px);max-height:calc(100vh - 14px - env(safe-area-inset-top))}.ab-toast-region[data-placement^=bottom]{top:auto;bottom:calc(72px + env(safe-area-inset-bottom));max-height:calc(100vh - 96px - env(safe-area-inset-bottom))}.ab-toast-region[data-placement$=left]{left:12px}.ab-toast-region[data-placement$=right]{right:12px}.ab-toast-region[data-placement$=center]{left:50%}.ab-toast{min-height:52px}}@media (min-width:921px){.ab-app{--ab-sidebar-width:190px;--ab-sidebar-width-collapsed:68px;transition:grid-template-columns var(--ab-motion-normal)}.ab-side-nav{padding-top:calc(var(--ab-space-2) * var(--ab-ui-scale));transition:padding var(--ab-motion-normal)}.ab-side-nav .ab-nav-link{width:100%;max-width:100%;transition:width var(--ab-motion-normal), max-width var(--ab-motion-normal), gap var(--ab-motion-normal), padding var(--ab-motion-normal), color var(--ab-motion-fast), background var(--ab-motion-fast), border-color var(--ab-motion-fast)}.ab-nav-link__label{opacity:1;white-space:nowrap;max-width:9rem;transition:max-width var(--ab-motion-normal), opacity var(--ab-motion-fast), transform var(--ab-motion-normal);display:inline-block;overflow:hidden;transform:translate(0)}.ab-app.ab-nav-collapsed .ab-nav-link__label{opacity:0;max-width:0;display:inline-block;transform:translate(-6px)}}.ab-side-nav .ab-nav-link[aria-current=page],.ab-side-nav .ab-nav-link.is-active{color:var(--ab-color-text);background:color-mix(in srgb, var(--ab-color-brand-strong) 14%, var(--ab-color-surface-muted));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ab-color-brand-strong) 24%, transparent);border-color:#0000;font-weight:550}.ab-side-nav .ab-nav-link[aria-current=page]:before,.ab-side-nav .ab-nav-link.is-active:before{display:none}@media (min-width:921px){:root[data-theme=light] .ab-side-nav .ab-nav-link:hover{color:#fff;background:#ffffff12}:root[data-theme=light] .ab-side-nav .ab-nav-link[aria-current=page],:root[data-theme=light] .ab-side-nav .ab-nav-link.is-active{color:#fff;background:linear-gradient(135deg,#36566d 0%,#304c61 100%);border-color:#48657a;box-shadow:0 3px 10px #0918242e,inset 0 0 0 1px #ffffff0d}:root[data-theme=light] .ab-side-nav .ab-nav-link[aria-current=page] .ab-nav-link__icon,:root[data-theme=light] .ab-side-nav .ab-nav-link.is-active .ab-nav-link__icon{color:#a4cf98}}@media (max-width:1180px){.ab-header__status .ab-header__clock,.ab-header__live-context>span:last-child{display:none}}@media (max-width:760px){.ab-header__live-context{display:none}}.ab-mode-switch__icon{width:2.7rem;height:2.7rem;color:var(--ab-color-text-muted);border:1px solid var(--ab-color-border);background:var(--ab-color-surface);border-radius:50%;place-items:center;display:grid}.ab-mode-switch__icon .ab-icon{width:1.35rem;height:1.35rem}.ab-mode-switch__option[aria-pressed=true] .ab-mode-switch__icon{color:var(--ab-color-success-text);border-color:var(--ab-color-success);background:var(--ab-color-success-soft)}.ab-mode-switch__copy{gap:4px;min-width:0;display:grid}.ab-mode-switch__copy strong{text-transform:none;font-size:.98rem;font-weight:650}.ab-mode-switch__copy small{color:var(--ab-color-text-muted);text-transform:none;font-size:.78rem;font-weight:450;line-height:1.3}.ab-control-mode-dropdown{position:relative}.ab-control-mode-dropdown__trigger{text-align:left;align-items:center;gap:10px;min-width:230px;display:inline-flex}.ab-control-mode-dropdown__trigger>span{flex-direction:column;flex:1;gap:2px;min-width:0;line-height:1.15;display:flex}.ab-control-mode-dropdown__trigger small,.ab-control-mode-dropdown__trigger strong{display:block}.ab-control-mode-dropdown__trigger small{color:var(--ab-color-text-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.6rem;line-height:1}.ab-control-mode-dropdown__trigger strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:550;overflow:hidden}.ab-control-mode-dropdown__trigger>.ab-icon:last-child{width:.8rem;height:.8rem;transform:rotate(90deg)}.ab-control-mode-dropdown__panel{z-index:40;border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-md);background:var(--ab-color-surface-raised);width:min(390px,100vw - 32px);box-shadow:var(--ab-shadow-md);padding:14px;position:absolute;top:calc(100% + 8px);right:0}.ab-control-mode-dropdown__panel>p{color:var(--ab-color-text-muted);margin:0 0 10px;font-size:.75rem;line-height:1.35}.ab-control-mode-dropdown__panel .ab-mode-switch{box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-columns:1fr;gap:8px;padding:0;display:grid}.ab-control-mode-dropdown__panel .ab-mode-switch__option{border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-md);background:var(--ab-color-surface-muted);text-align:left;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:14px;width:100%;min-height:58px;padding:10px 12px;display:grid}.ab-control-mode-dropdown__panel .ab-mode-switch__option[aria-pressed=true]{border-color:var(--ab-color-success);background:color-mix(in srgb, var(--ab-color-success-soft) 72%, var(--ab-color-surface))}.ab-control-mode-dropdown__panel .ab-mode-switch__icon{width:2rem;height:2rem}.ab-control-mode-dropdown__panel .ab-mode-switch__copy strong{font-size:.82rem}.ab-control-mode-dropdown__panel .ab-mode-switch__copy small{font-size:.7rem}@media (max-width:760px){.ab-control-mode-dropdown,.ab-control-mode-dropdown__trigger{width:100%}.ab-control-mode-dropdown__panel{width:min(390px,100vw - 32px);left:0;right:auto}}.ab-status-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ab-status-card,.ab-status-card--next{min-height:144px;padding:calc(var(--ab-space-3) * var(--ab-ui-scale)) calc(var(--ab-space-4) * var(--ab-ui-scale))}.ab-status-card--split,.ab-status-card--next{gap:calc(var(--ab-space-3) * var(--ab-ui-scale))}.ab-status-card__icon{width:54px;height:54px}.ab-status-card__icon .ab-icon{width:26px;height:26px}.ab-status-card--split .ab-status-card__heading{left:calc((var(--ab-space-4) + 54px + var(--ab-space-3)) * var(--ab-ui-scale));right:calc(var(--ab-space-4) * var(--ab-ui-scale))}.ab-status-card--active-schedules>div{align-content:center;min-width:0;display:grid}.ab-status-card--active-schedules .ab-status-card__heading{margin:0 0 3px;position:static;inset:auto}.ab-status-card--active-schedules .ab-status-card__heading--secondary{margin-top:calc(var(--ab-space-3) * var(--ab-ui-scale))}.ab-status-card--active-schedules .ab-status-card__heading--subtle{color:var(--ab-color-text-muted);letter-spacing:.06em;font-size:.68rem}.ab-status-card--active-schedules .ab-status-card__label{margin-bottom:2px}.ab-status-card--active-schedules .ab-active-schedule-list{gap:5px;margin-top:4px}.ab-status-card--active-schedules .ab-active-schedule-item{min-height:28px;padding-block:4px}.ab-status-card--active-schedules .ab-control-mode-copy{margin:6px 0 0;line-height:1.25}.ab-status-card--active-schedules.is-calendar-summary{min-height:132px;padding-block:calc(var(--ab-space-2) * var(--ab-ui-scale))}.ab-status-card--active-schedules.is-calendar-summary>.ab-status-card__icon{width:44px;height:44px}.ab-status-card--active-schedules.is-calendar-summary>.ab-status-card__icon .ab-icon{width:21px;height:21px}.ab-status-card--active-schedules.is-calendar-summary>div{align-content:start;align-self:stretch;width:100%}.ab-active-calendar-compact{gap:7px;min-width:0;display:grid}.ab-active-calendar-compact>.ab-status-card__heading{margin:0}.ab-status-card--active-schedules.is-calendar-summary .ab-active-calendar-compact__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ab-active-calendar-compact__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-width:0;display:grid}.ab-active-calendar-compact__item{gap:4px;min-width:0;display:grid}.ab-active-calendar-compact__item>.ab-status-card__heading--subtle{color:var(--ab-color-text-muted);letter-spacing:.055em;margin:0;font-size:.62rem}.ab-active-calendar-compact__item>strong,.ab-active-calendar-compact__item>span{min-width:0;min-height:40px;color:var(--ab-color-text);border-radius:var(--ab-radius-sm);background:var(--ab-color-surface-muted);align-content:center;gap:2px;padding:6px 8px;font-size:.78rem;line-height:1.2;display:grid}.ab-active-calendar-compact__item>strong,.ab-active-calendar-compact__item>span>strong{overflow-wrap:anywhere}.ab-active-calendar-compact__item small{color:var(--ab-color-text-muted);white-space:nowrap;font-size:.61rem;font-weight:500}@media (max-width:760px){.ab-status-card--active-schedules.is-calendar-summary .ab-active-calendar-compact__grid{grid-template-columns:1fr}}.ab-status-card--calendar-outlook{min-width:0;display:block;position:relative}.ab-calendar-outlook__content{align-content:center;gap:8px;min-width:0;height:100%;display:grid}.ab-calendar-outlook__heading{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.ab-calendar-outlook__heading .ab-status-card__heading{margin:0 0 2px;position:static;inset:auto}.ab-calendar-outlook__heading .ab-status-card__label{margin:0}.ab-calendar-outlook__days{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.ab-calendar-outlook__day{min-width:0;height:47px;color:var(--ab-color-text-muted);background:var(--ab-color-surface-muted);cursor:pointer;font:inherit;border:1px solid #0000;border-radius:7px;align-content:center;place-items:center;gap:1px;padding:0;display:grid;position:relative}.ab-calendar-outlook__day:hover{border-color:var(--ab-color-brand)}.ab-calendar-outlook__day:focus-visible{outline:2px solid var(--ab-color-focus);outline-offset:2px}.ab-calendar-outlook__day.is-selected{border-color:var(--ab-color-brand-strong);box-shadow:0 0 0 2px color-mix(in srgb, var(--ab-color-brand) 18%, transparent)}.ab-calendar-outlook__day>span{letter-spacing:.06em;text-transform:uppercase;font-size:.56rem;font-weight:750}.ab-calendar-outlook__day>strong{color:var(--ab-color-text);font-size:.78rem;line-height:1}.ab-calendar-outlook__day>i{background:var(--ab-color-text-faint);border-radius:50%;width:5px;height:5px;margin-top:2px}.ab-calendar-outlook__day>small{color:#0000;border:2px solid var(--ab-color-surface);background:var(--ab-color-info);border-radius:50%;width:7px;height:7px;position:absolute;top:-4px;right:-3px;overflow:hidden}.ab-calendar-outlook__day.is-quiet{color:var(--ab-color-text-faint);border:1px dashed color-mix(in srgb, var(--ab-color-text-muted) 42%, var(--ab-color-border));background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--ab-color-surface-muted) 82%, var(--ab-color-surface)) 0, color-mix(in srgb, var(--ab-color-surface-muted) 82%, var(--ab-color-surface)) 5px, color-mix(in srgb, var(--ab-color-text-faint) 7%, var(--ab-color-surface)) 5px, color-mix(in srgb, var(--ab-color-text-faint) 7%, var(--ab-color-surface)) 7px)}.ab-calendar-outlook__day.is-quiet>strong{color:var(--ab-color-text-muted)}.ab-calendar-outlook__day.is-quiet>i{border:1px solid var(--ab-color-text-faint);background:0 0;width:6px;height:6px}.ab-calendar-outlook__day.is-assigned>i{background:var(--ab-calendar-day-accent,var(--ab-color-success));box-shadow:0 0 0 2px color-mix(in srgb, var(--ab-calendar-day-accent,var(--ab-color-success)) 16%, transparent)}.ab-calendar-outlook__day.is-holiday{color:var(--ab-color-warning-text);border-color:color-mix(in srgb, var(--ab-color-warning) 48%, var(--ab-color-border));background:color-mix(in srgb, var(--ab-color-warning-soft) 68%, var(--ab-color-surface-muted))}.ab-calendar-outlook__day.is-holiday>i{background:var(--ab-color-warning);box-shadow:0 0 0 2px color-mix(in srgb, var(--ab-color-warning) 18%, transparent)}.ab-calendar-outlook__day.is-today{color:var(--ab-color-success-text);outline:1px solid color-mix(in srgb, var(--ab-color-success) 58%, transparent);outline-offset:-1px}.ab-calendar-outlook__day.tone-0{--ab-calendar-day-accent:var(--ab-color-success)}.ab-calendar-outlook__day.tone-1{--ab-calendar-day-accent:#4b85c5}.ab-calendar-outlook__day.tone-2{--ab-calendar-day-accent:#9a68c7}.ab-calendar-outlook__day.tone-3{--ab-calendar-day-accent:#d28a3c}.ab-calendar-outlook__day.tone-4{--ab-calendar-day-accent:#2d9b9a}.ab-calendar-outlook__detail{z-index:5;width:min(182px,100% - 24px);color:var(--ab-color-text);border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-sm);background:var(--ab-color-surface-raised);box-shadow:var(--ab-shadow-md);text-align:center;justify-items:center;gap:2px;padding:6px 8px;font-size:.7rem;line-height:1.2;display:grid;position:absolute;top:72px;left:50%;transform:translate(-50%)}.ab-calendar-outlook__detail strong{font-size:.74rem}.ab-calendar-outlook__detail span{overflow-wrap:anywhere}.ab-calendar-outlook__detail small{color:var(--ab-color-text-muted)}.ab-calendar-outlook__detail.is-holiday{border-color:color-mix(in srgb, var(--ab-color-warning) 52%, var(--ab-color-border));background:color-mix(in srgb, var(--ab-color-warning-soft) 34%, var(--ab-color-surface-raised))}.ab-calendar-outlook__detail.is-holiday span{color:var(--ab-color-warning-text);font-weight:650}.ab-calendar-outlook__summary{border-top:1px solid var(--ab-color-border-soft);grid-template-columns:1fr 1fr;padding-top:7px;display:grid}.ab-calendar-outlook__summary>span{gap:2px;min-width:0;display:grid}.ab-calendar-outlook__summary>span+span{border-left:1px solid var(--ab-color-border-soft);padding-left:10px}.ab-calendar-outlook__summary small{color:var(--ab-color-text-muted);letter-spacing:.035em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.56rem;overflow:hidden}.ab-calendar-outlook__summary strong{color:var(--ab-color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.ab-calendar-outlook__empty,.ab-calendar-outlook__loading{min-height:78px;color:var(--ab-color-text-muted);border-radius:var(--ab-radius-sm);background:var(--ab-color-surface-muted);text-align:left;justify-content:center;align-items:center;gap:10px;display:flex}.ab-calendar-outlook__empty>.ab-icon{width:1.35rem;height:1.35rem}.ab-calendar-outlook__empty>span{gap:2px;display:grid}.ab-calendar-outlook__empty strong{color:var(--ab-color-text);font-size:.8rem}.ab-calendar-outlook__empty small,.ab-calendar-outlook__loading{font-size:.68rem}.ab-calendar-outlook__loading .ab-schedule-detail__spinner{border-width:2px;width:1.15rem;height:1.15rem}.ab-status-card--manual-insights{gap:calc(var(--ab-space-3) * var(--ab-ui-scale))}.ab-manual-insights__content{align-content:center;gap:3px;min-width:0;display:grid}.ab-status-card--manual-insights .ab-status-card__heading{margin:0 0 3px;position:static;inset:auto}.ab-status-card--manual-insights .ab-status-card__heading--with-badge{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));grid-template-columns:minmax(0,1fr) auto;width:100%;display:grid}.ab-status-card--manual-insights .ab-status-card__label{margin-bottom:2px}.ab-status-card--manual-insights .ab-badge{white-space:nowrap}.ab-status-card--manual-insights footer small{color:var(--ab-color-text-muted);font-size:.61rem;line-height:1.2}.ab-manual-insights__body{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-width:0;display:grid}.ab-manual-insights__summary{align-items:center;gap:7px;display:flex}.ab-manual-insights__summary>strong{color:var(--ab-color-text);letter-spacing:-.04em;font-size:clamp(1.8rem,2.3vw,2.25rem);line-height:.9}.ab-manual-insights__summary>span{color:var(--ab-color-text-soft);font-size:.76rem;font-weight:700;line-height:1.1;display:grid}.ab-manual-insights__summary small{color:var(--ab-color-text-muted);white-space:nowrap;margin-top:3px;font-size:.61rem;font-weight:500}.ab-manual-insights__plot{min-width:0;height:36px;margin-inline:3px 5px;position:relative}.ab-manual-insights__rail{background:var(--ab-color-border);border-radius:2px;height:2px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.ab-manual-insights__plot i{background:var(--ab-color-success);width:3px;min-height:8px;box-shadow:0 1px 0 var(--ab-color-surface-raised);border-radius:3px 3px 1px 1px;position:absolute;bottom:50%;transform:translate(-50%,1px)}.ab-manual-insights__plot i:nth-of-type(3n+1){background:var(--ab-color-brand-strong)}.ab-manual-insights__plot i[tabindex]{outline:0}.ab-manual-insights__plot i[tabindex]:focus-visible{box-shadow:var(--ab-focus-ring)}.ab-manual-insights__content>footer{border-top:1px solid var(--ab-color-border-soft);grid-template-columns:repeat(3,minmax(0,1fr));padding-top:7px;display:grid}.ab-manual-insights__content>footer>span{gap:1px;min-width:0;padding-inline:9px;display:grid}.ab-manual-insights__content>footer>span:first-child{padding-left:0}.ab-manual-insights__content>footer>span+span{border-left:1px solid var(--ab-color-border-soft)}.ab-status-card--manual-insights footer strong{white-space:nowrap;font-size:.72rem;line-height:1.2}.ab-manual-insights__empty{min-height:48px;color:var(--ab-color-text-muted);align-items:center;gap:10px;font-size:.76rem;display:flex}.ab-manual-insights__empty>span:last-child{gap:3px;display:grid}.ab-manual-insights__empty strong{color:var(--ab-color-text);font-size:.85rem}.ab-manual-insights__empty small{line-height:1.35}.ab-status-card__time{font-size:clamp(1.92rem,1.6rem + .8vw,2.4rem)}.ab-status-card--next .ab-status-card__icon,.ab-status-card--next .ab-status-card__icon--muted{color:var(--ab-color-schedule-icon)}.ab-status-card__accent--timed{justify-content:center;align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));grid-template-columns:auto minmax(0,auto);max-width:100%;display:grid}.ab-status-card__accent--timed .ab-icon{box-sizing:content-box;width:.82rem;height:.82rem;color:var(--ab-color-text);border:1px solid var(--ab-color-border);background:0 0;border-radius:50%;padding:.3rem}.ab-status-card__accent--timed>span{text-align:center;overflow-wrap:anywhere;min-width:0;line-height:1.35}:root[data-theme=dark] .ab-status-card__icon{color:#fff;border-color:var(--ab-color-border);background:0 0}@media (min-width:761px){.ab-status-card--next .ab-status-card__next-copy{align-content:center;justify-items:center;gap:calc(var(--ab-space-1) * var(--ab-ui-scale));text-align:center;min-width:0;padding-top:0;display:grid}.ab-status-card--next .ab-status-card__heading{justify-content:center;width:100%;margin:0;position:static}}.ab-active-schedule-item[tabindex]{outline:0}.ab-active-schedule-item[tabindex]:focus-visible{box-shadow:var(--ab-focus-ring)}.ab-status-card--active-schedules .ab-active-schedule-item__name{text-overflow:clip;white-space:normal;overflow-wrap:anywhere;min-width:0;overflow:visible}.ab-menu__item[href]{color:inherit;text-decoration:none}.ab-menu__item[href].ab-menu__item--danger{color:var(--ab-color-danger)}.ab-user-menu .ab-menu__panel{gap:calc(var(--ab-space-1) * var(--ab-ui-scale))}.ab-holiday-menu .ab-menu__item{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));grid-template-columns:1.2rem minmax(0,1fr);display:grid}.ab-holiday-menu .ab-menu__item .ab-icon{width:1rem;height:1rem}.ab-user-menu .ab-menu__item{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));box-sizing:border-box;width:100%;min-height:calc(40px * var(--ab-ui-scale));padding:0 calc(var(--ab-space-3) * var(--ab-ui-scale));grid-template-columns:1.2rem minmax(0,1fr);line-height:1.2;display:grid}.ab-user-menu .ab-menu__item .ab-icon{justify-self:center;width:1.1rem;height:1.1rem}.ab-user-menu .ab-theme-menu-item{color:inherit;font:inherit;text-align:left}.ab-schedule-table{--ab-schedule-table-columns:minmax(260px, 1.7fr) minmax(90px, .48fr) minmax(210px, 1.05fr) minmax(270px, auto);border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-lg);background:var(--ab-color-surface);box-shadow:var(--ab-shadow-sm);position:relative}.ab-schedule-table__head,.ab-schedule-table__row{grid-template-columns:var(--ab-schedule-table-columns);align-items:center;gap:calc(var(--ab-space-4) * var(--ab-ui-scale));display:grid}.ab-schedule-table__head{min-height:calc(58px * var(--ab-ui-scale));padding:0 calc(var(--ab-space-4) * var(--ab-ui-scale));color:var(--ab-color-text-muted);border-bottom:1px solid var(--ab-color-border);border-radius:var(--ab-radius-lg) var(--ab-radius-lg) 0 0;background:var(--ab-color-surface-muted);letter-spacing:.09em;text-transform:uppercase;font-size:.74rem;font-weight:750}.ab-schedule-table__head>:last-child{padding-right:calc(var(--ab-space-2) * var(--ab-ui-scale));justify-self:end}.ab-schedule-table__body{display:grid}.ab-schedule-table__row{min-height:calc(94px * var(--ab-ui-scale));padding:calc(var(--ab-space-3) * var(--ab-ui-scale)) calc(var(--ab-space-4) * var(--ab-ui-scale));border-bottom:1px solid var(--ab-color-border-soft);background:linear-gradient(135deg, var(--ab-color-surface-raised), var(--ab-color-surface));border-left:5px solid #0000;position:relative}.ab-schedule-table__row.has-open-menu{z-index:60}.ab-schedule-table__row.is-active{border-left-color:var(--ab-color-success);background:linear-gradient(90deg, color-mix(in srgb, var(--ab-color-success) 24%, var(--ab-color-surface-raised)), color-mix(in srgb, var(--ab-color-success) 10%, var(--ab-color-surface)) 78%);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ab-color-success) 32%, transparent)}.ab-schedule-table__row.is-active .ab-schedule-table__icon,.ab-schedule-table__row.is-active .ab-output-tag{border-color:color-mix(in srgb, var(--ab-color-success) 48%, var(--ab-color-border));background:color-mix(in srgb, var(--ab-color-success) 16%, var(--ab-color-surface-muted))}.ab-schedule-table__schedule{align-items:center;gap:calc(var(--ab-space-4) * var(--ab-ui-scale));min-width:0;display:flex}.ab-schedule-table__icon{width:3.25rem;height:3.25rem;color:var(--ab-color-text);border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-sm);background:var(--ab-color-surface-muted);flex:none;place-items:center;display:grid}.ab-schedule-table__icon.is-active{color:var(--ab-color-success-text);border-color:color-mix(in srgb, var(--ab-color-success) 62%, var(--ab-color-border));background:color-mix(in srgb, var(--ab-color-success) 28%, var(--ab-color-surface-muted));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ab-color-success) 18%, transparent)}.ab-schedule-table__icon .ab-icon{width:1.55rem;height:1.55rem}.ab-schedule-table__schedule .ab-entity__title-line{flex-wrap:wrap;min-width:0}.ab-schedule-table__schedule .ab-entity__title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ab-schedule-table__events{color:var(--ab-color-text);white-space:nowrap;align-items:baseline;gap:5px;display:flex}.ab-schedule-table__events strong{font-size:1rem}.ab-schedule-table__events span{color:var(--ab-color-text-muted);font-size:.82rem}.ab-schedule-table__outputs{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));flex-wrap:wrap;min-width:0;display:flex}.ab-output-tag{min-height:2rem;padding:0 calc(var(--ab-space-3) * var(--ab-ui-scale));color:var(--ab-color-text-soft);border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-sm);background:var(--ab-color-surface-muted);white-space:nowrap;align-items:center;font-size:.8rem;display:inline-flex}.ab-schedule-table__muted{color:var(--ab-color-text-muted);font-size:.82rem}.ab-schedule-table__actions{justify-content:flex-end;align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));display:flex}.ab-schedule-table__actions .ab-btn{min-width:76px}.ab-schedule-table__actions .ab-icon-btn{width:40px;height:40px}.ab-schedule-table__footer{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));min-height:calc(52px * var(--ab-ui-scale));padding:0 calc(var(--ab-space-4) * var(--ab-ui-scale));color:var(--ab-color-text-muted);border-radius:0 0 var(--ab-radius-lg) var(--ab-radius-lg);background:var(--ab-color-surface-muted);font-size:.8rem;display:flex}.ab-schedule-table__footer .ab-icon{width:1rem;height:1rem}.ab-calendar-schedule-parent{align-items:center;gap:calc(var(--ab-space-5) * var(--ab-ui-scale));min-height:calc(112px * var(--ab-ui-scale));padding:calc(var(--ab-space-4) * var(--ab-ui-scale)) calc(var(--ab-space-5) * var(--ab-ui-scale));border-bottom:1px solid color-mix(in srgb, var(--ab-color-success) 34%, var(--ab-color-border));background:linear-gradient(120deg, color-mix(in srgb, var(--ab-color-success) 6%, var(--ab-color-surface-raised)), var(--ab-color-surface) 72%);grid-template-columns:minmax(260px,1fr) auto auto;display:grid}.ab-calendar-schedule-parent__main{align-items:center;gap:calc(var(--ab-space-4) * var(--ab-ui-scale));min-width:0;display:flex}.ab-calendar-schedule-parent__icon{width:3.5rem;height:3.5rem;color:var(--ab-color-success-text);border-radius:var(--ab-radius-md);background:color-mix(in srgb, var(--ab-color-success) 18%, var(--ab-color-surface));flex:none;place-items:center;display:grid}.ab-calendar-schedule-parent.is-active .ab-calendar-schedule-parent__icon{color:var(--ab-color-success-text);background:color-mix(in srgb, var(--ab-color-success) 30%, var(--ab-color-surface));box-shadow:0 0 0 2px color-mix(in srgb, var(--ab-color-success) 32%, transparent)}.ab-calendar-schedule-parent__icon .ab-icon{width:1.7rem;height:1.7rem}.ab-calendar-schedule-parent__copy{gap:3px;min-width:0;display:grid}.ab-calendar-schedule-parent__copy small{color:var(--ab-color-success-text);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;font-weight:800}.ab-calendar-schedule-parent__copy strong{color:var(--ab-color-text);text-overflow:ellipsis;white-space:nowrap;font-size:1.08rem;overflow:hidden}.ab-calendar-schedule-parent__copy>span{color:var(--ab-color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;line-height:1.4;overflow:hidden}.ab-calendar-schedule-parent__stats{align-items:center;display:flex}.ab-calendar-schedule-parent__stats>span{min-width:92px;padding-inline:calc(var(--ab-space-4) * var(--ab-ui-scale));border-left:1px solid var(--ab-color-border-soft);gap:2px;display:grid}.ab-calendar-schedule-parent__stats strong{color:var(--ab-color-text);font-size:1.15rem}.ab-calendar-schedule-parent__stats small{color:var(--ab-color-text-muted);white-space:nowrap;font-size:.68rem}.ab-schedule-table__row.is-calendar-child{padding-left:calc(var(--ab-space-8) * var(--ab-ui-scale));background:var(--ab-color-surface-raised);border-left-color:#0000}:root[data-theme=light] .ab-schedule-table__row.is-calendar-child{background:#f1f8ff}.ab-schedule-table__row.is-calendar-child.is-active{box-shadow:none;border-left-color:#0000}.ab-schedule-table__row.is-calendar-child.is-active .ab-output-tag{border-color:var(--ab-color-border);background:var(--ab-color-surface-muted)}.ab-schedule-table__row.is-calendar-child:before{top:0;bottom:0;left:calc(var(--ab-space-5) * var(--ab-ui-scale));content:"";background:color-mix(in srgb, var(--ab-color-success) 42%, var(--ab-color-border));width:1px;position:absolute}.ab-schedule-table__row.is-calendar-child:after{top:50%;left:calc(var(--ab-space-5) * var(--ab-ui-scale));width:calc(var(--ab-space-3) * var(--ab-ui-scale));content:"";background:color-mix(in srgb, var(--ab-color-success) 42%, var(--ab-color-border));height:1px;position:absolute}.ab-calendar-schedule-divider{margin-top:calc(var(--ab-space-4) * var(--ab-ui-scale));padding:calc(var(--ab-space-4) * var(--ab-ui-scale));color:var(--ab-color-text);border-top:1px solid var(--ab-color-border-soft);border-bottom:1px solid var(--ab-color-border-soft);background:var(--ab-color-surface-muted);letter-spacing:.04em;font-size:.78rem;font-weight:750}.ab-calendar-schedule-divider small{margin-left:calc(var(--ab-space-2) * var(--ab-ui-scale));color:var(--ab-color-text-muted);letter-spacing:0;font-size:.72rem;font-weight:500}.ab-calendar-schedule-empty-row{padding:calc(var(--ab-space-5) * var(--ab-ui-scale));color:var(--ab-color-text-muted);border-bottom:1px solid var(--ab-color-border-soft);text-align:center;font-size:.82rem}.ab-menu>.ab-icon-btn{transition:background-color .18s,border-color .18s}.ab-menu.is-open>.ab-icon-btn{background:var(--ab-color-surface-muted);border-color:var(--ab-color-brand)}.ab-menu>.ab-icon-btn+.ab-menu__panel{transform-origin:100% 0;animation:.16s ease-out both ab-action-menu-in}.ab-schedule-action-menu .ab-menu__panel{min-width:190px}.ab-schedule-action-menu .ab-menu__item{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));grid-template-columns:1.15rem minmax(0,1fr);display:grid}.ab-schedule-action-menu .ab-menu__item .ab-icon{width:1rem;height:1rem;color:var(--ab-color-text-muted);stroke-width:1.9px}.ab-schedule-action-menu .ab-menu__item--danger .ab-icon{color:var(--ab-color-danger)}@keyframes ab-action-menu-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.ab-menu>.ab-icon-btn{transition:none}.ab-menu>.ab-icon-btn+.ab-menu__panel{animation:none}}.ab-theme-toggle,.ab-nav-collapse{cursor:pointer}.ab-empty-state{gap:calc(var(--ab-space-2) * var(--ab-ui-scale));min-height:7rem;padding:calc(var(--ab-space-5) * var(--ab-ui-scale));border:1px dashed var(--ab-color-border);border-radius:var(--ab-radius-lg);color:var(--ab-color-text-muted);text-align:center;place-content:center;display:grid}.ab-empty-state p,.ab-empty-state small{margin:0}.ab-feature-loading{padding-block:calc(var(--ab-space-4) * var(--ab-ui-scale))}.ab-feature-skeleton{gap:calc(var(--ab-space-3) * var(--ab-ui-scale));display:grid}.ab-feature-skeleton__bar{background:linear-gradient(90deg, var(--ab-color-surface-muted) 25%, var(--ab-color-border) 37%, var(--ab-color-surface-muted) 63%);background-size:400% 100%;border-radius:999px;height:1rem;animation:1.4s infinite ab-feature-skeleton}.ab-feature-skeleton__bar.is-title{width:min(40%,18rem);height:1.6rem}.ab-feature-skeleton__bar.is-card{border-radius:var(--ab-radius-lg);height:7rem}@keyframes ab-feature-skeleton{0%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.ab-feature-skeleton__bar{animation:none}}.ab-access-denied{align-items:start;gap:calc(var(--ab-space-5) * var(--ab-ui-scale));max-width:720px;padding:calc(var(--ab-space-7) * var(--ab-ui-scale));border:1px solid var(--ab-color-warning);border-radius:var(--ab-radius-lg);background:var(--ab-color-warning-soft);box-shadow:var(--ab-shadow-sm);grid-template-columns:auto minmax(0,1fr);margin:clamp(32px,8vh,96px) auto;display:grid}.ab-access-denied__icon{width:3rem;height:3rem;color:var(--ab-color-warning-text);border:1px solid;border-radius:50%;place-items:center;display:grid}.ab-access-denied__icon .ab-icon{width:1.5rem;height:1.5rem}.ab-access-denied h1{margin:4px 0 var(--ab-space-2);font-size:clamp(1.35rem,3vw,2rem)}.ab-access-denied p{margin:0 0 var(--ab-space-4);color:var(--ab-color-text-soft)}.ab-access-denied .ab-eyebrow{color:var(--ab-color-warning-text);margin-bottom:0}@media (max-width:540px){.ab-access-denied{margin:var(--ab-space-4);grid-template-columns:1fr}}.ab-output-assignment-dialog{border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-lg);background:var(--ab-color-surface);width:min(720px,100vw - 32px);max-height:min(88vh,780px);box-shadow:var(--ab-shadow-md);flex-direction:column;display:flex;overflow:hidden}.ab-output-assignment-dialog__header{align-items:center;gap:calc(var(--ab-space-4) * var(--ab-ui-scale));padding:calc(var(--ab-space-5) * var(--ab-ui-scale)) calc(var(--ab-space-6) * var(--ab-ui-scale));border-bottom:1px solid var(--ab-color-border);background:linear-gradient(135deg, color-mix(in srgb, var(--ab-color-success) 8%, var(--ab-color-surface-raised)), var(--ab-color-surface));grid-template-columns:auto minmax(0,1fr) auto;display:grid}.ab-output-assignment-dialog__header p,.ab-output-assignment-dialog__header h2,.ab-output-assignment-dialog__header span{margin:0}.ab-output-assignment-dialog__header p{color:var(--ab-color-success-text);letter-spacing:.1em;text-transform:uppercase;margin-bottom:3px;font-size:.7rem;font-weight:800}.ab-output-assignment-dialog__header h2{font-size:1.35rem}.ab-output-assignment-dialog__header div>span{color:var(--ab-color-text-muted);margin-top:4px;font-size:.84rem;display:block}.ab-output-assignment-dialog__header div>span strong{color:var(--ab-color-text-soft)}.ab-output-assignment-dialog__icon{width:3rem;height:3rem;color:var(--ab-color-schedule-icon);border:1px solid var(--ab-color-success);background:var(--ab-color-surface-muted);border-radius:50%;place-items:center;display:grid}.ab-output-assignment-dialog__icon .ab-icon{width:1.4rem;height:1.4rem}.ab-output-assignment-dialog__body{min-height:0;padding:calc(var(--ab-space-5) * var(--ab-ui-scale)) calc(var(--ab-space-6) * var(--ab-ui-scale));overflow-y:auto}.ab-output-assignment-dialog__mode{gap:calc(var(--ab-space-2) * var(--ab-ui-scale));display:grid}.ab-output-assignment-dialog__mode>span{color:var(--ab-color-text);font-size:.86rem;font-weight:700}.ab-output-assignment-dialog__mode>small{color:var(--ab-color-text-muted);font-size:.76rem;line-height:1.4}.ab-output-assignment-dialog__section{margin-top:calc(var(--ab-space-5) * var(--ab-ui-scale));padding-top:calc(var(--ab-space-5) * var(--ab-ui-scale));border-top:1px solid var(--ab-color-border-soft)}.ab-output-assignment-dialog__section-head{justify-content:space-between;align-items:flex-start;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));margin-bottom:calc(var(--ab-space-3) * var(--ab-ui-scale));display:flex}.ab-output-assignment-dialog__section-head h3,.ab-output-assignment-dialog__section-head p{margin:0}.ab-output-assignment-dialog__section-head h3{font-size:1rem}.ab-output-assignment-dialog__section-head p{color:var(--ab-color-text-muted);margin-top:3px;font-size:.76rem}.ab-output-assignment-list{gap:calc(var(--ab-space-3) * var(--ab-ui-scale));grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ab-output-assignment-option{align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));min-height:calc(82px * var(--ab-ui-scale));padding:calc(var(--ab-space-3) * var(--ab-ui-scale));border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-md);background:var(--ab-color-surface-muted);cursor:pointer;transition:border-color var(--ab-motion-fast), background var(--ab-motion-fast), transform var(--ab-motion-fast);grid-template-columns:auto minmax(0,1fr) auto;display:grid;position:relative}.ab-output-assignment-option:hover{border-color:var(--ab-color-success);transform:translateY(-1px)}.ab-output-assignment-option:focus-within{box-shadow:var(--ab-focus-ring);outline:0}.ab-output-assignment-option.is-selected{border-color:var(--ab-color-success);background:color-mix(in srgb, var(--ab-color-success) 14%, var(--ab-color-surface-muted));box-shadow:inset 4px 0 var(--ab-color-success)}.ab-output-assignment-option.is-disabled{opacity:.58;cursor:not-allowed}.ab-output-assignment-option.is-disabled:hover{border-color:var(--ab-color-border);transform:none}.ab-output-assignment-option input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.ab-output-assignment-option__icon{width:2.6rem;height:2.6rem;color:var(--ab-color-schedule-icon);border:1px solid var(--ab-color-border);background:var(--ab-color-surface);border-radius:50%;place-items:center;display:grid}.ab-output-assignment-option.is-selected .ab-output-assignment-option__icon{border-color:var(--ab-color-success)}.ab-output-assignment-option__icon .ab-icon{width:1.25rem;height:1.25rem}.ab-output-assignment-option__copy{gap:3px;min-width:0;display:grid}.ab-output-assignment-option__copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.ab-output-assignment-option__copy small{color:var(--ab-color-text-muted);font-size:.72rem;line-height:1.3}.ab-output-assignment-option__check{width:1.35rem;height:1.35rem;color:var(--ab-color-surface);border:1px solid var(--ab-color-border);background:var(--ab-color-surface);border-radius:5px;place-items:center;font-size:.78rem;font-weight:800;display:grid}.ab-output-assignment-option.is-selected .ab-output-assignment-option__check{border-color:var(--ab-color-success);background:var(--ab-color-success)}.ab-output-assignment-dialog__empty{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));min-height:5rem;padding:calc(var(--ab-space-4) * var(--ab-ui-scale));color:var(--ab-color-text-muted);border:1px dashed var(--ab-color-border);border-radius:var(--ab-radius-md);display:flex}.ab-output-assignment-dialog__validation{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));margin:calc(var(--ab-space-3) * var(--ab-ui-scale)) 0 0;color:var(--ab-color-danger-text);font-size:.8rem;display:flex}.ab-output-assignment-dialog__validation .ab-icon{width:1rem;height:1rem}.ab-output-assignment-dialog__state{place-content:center;justify-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));min-height:280px;padding:calc(var(--ab-space-6) * var(--ab-ui-scale));color:var(--ab-color-text-muted);text-align:center;display:grid}.ab-output-assignment-dialog__state>.ab-icon{width:2rem;height:2rem;color:var(--ab-color-danger)}.ab-output-assignment-dialog__state strong{color:var(--ab-color-text)}.ab-output-assignment-dialog__state .ab-btn{margin-top:calc(var(--ab-space-2) * var(--ab-ui-scale))}.ab-output-assignment-dialog__footer{justify-content:space-between;align-items:center;gap:calc(var(--ab-space-4) * var(--ab-ui-scale));padding:calc(var(--ab-space-4) * var(--ab-ui-scale)) calc(var(--ab-space-6) * var(--ab-ui-scale));border-top:1px solid var(--ab-color-border);background:var(--ab-color-surface-raised);display:flex}.ab-output-assignment-dialog__footer>span{color:var(--ab-color-text-muted);font-size:.78rem}.ab-output-assignment-dialog__footer>div{gap:calc(var(--ab-space-3) * var(--ab-ui-scale));display:flex}@media (max-width:620px){.ab-output-assignment-dialog{border:0;border-radius:0;width:100vw;min-height:100vh;max-height:100vh}.ab-output-assignment-dialog__header,.ab-output-assignment-dialog__body,.ab-output-assignment-dialog__footer{padding-inline:calc(var(--ab-space-4) * var(--ab-ui-scale))}.ab-output-assignment-dialog__header{grid-template-columns:minmax(0,1fr) auto}.ab-output-assignment-dialog__header>.ab-output-assignment-dialog__icon{display:none}.ab-output-assignment-list{grid-template-columns:1fr}.ab-output-assignment-dialog__footer{flex-direction:column;align-items:stretch}.ab-output-assignment-dialog__footer>div{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}.ab-schedule-detail-dialog{width:min(820px,100vw - 32px);max-height:min(88vh,860px);overflow:hidden}.ab-schedule-detail-dialog .ab-dialog-stage{flex-direction:column;min-height:0;max-height:min(88vh,860px);display:flex}.ab-schedule-detail-dialog .ab-dialog-header{flex:none}.ab-schedule-detail__eyebrow{margin:0 0 calc(var(--ab-space-1) * var(--ab-ui-scale));color:var(--ab-color-success-text);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:800}.ab-schedule-detail__body{min-height:0;padding:calc(var(--ab-space-5) * var(--ab-ui-scale));border-top:1px solid var(--ab-color-border);border-bottom:1px solid var(--ab-color-border);overflow-y:auto}.ab-schedule-detail__summary{margin-bottom:calc(var(--ab-space-5) * var(--ab-ui-scale));border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-md);background:var(--ab-color-surface-muted);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.ab-schedule-detail__summary>div{gap:calc(var(--ab-space-1) * var(--ab-ui-scale));padding:calc(var(--ab-space-4) * var(--ab-ui-scale));border-left:1px solid var(--ab-color-border);display:grid}.ab-schedule-detail__summary>div:first-child{border-left:0}.ab-schedule-detail__summary span,.ab-schedule-detail__section-head span{color:var(--ab-color-text-muted);font-size:.78rem}.ab-schedule-detail__summary strong{overflow-wrap:anywhere;font-size:1.05rem}.ab-schedule-detail__assignments{margin-bottom:calc(var(--ab-space-5) * var(--ab-ui-scale))}.ab-schedule-detail__assignments h3,.ab-schedule-detail__section-head h3{margin:0;font-size:.95rem}.ab-schedule-detail__assignments>div{gap:calc(var(--ab-space-2) * var(--ab-ui-scale));margin-top:calc(var(--ab-space-3) * var(--ab-ui-scale));flex-wrap:wrap;display:flex}.ab-schedule-detail__section-head{justify-content:space-between;align-items:baseline;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));margin-bottom:calc(var(--ab-space-3) * var(--ab-ui-scale));display:flex}.ab-schedule-detail__event-list{gap:calc(var(--ab-space-2) * var(--ab-ui-scale));margin:0;padding:0;list-style:none;display:grid}.ab-schedule-detail__event{align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));padding:calc(var(--ab-space-3) * var(--ab-ui-scale));border:1px solid var(--ab-color-border-soft);border-radius:var(--ab-radius-sm);background:var(--ab-color-surface);grid-template-columns:auto minmax(170px,1fr) auto;display:grid}.ab-schedule-detail__event-number{width:2rem;height:2rem;color:var(--ab-color-success-text);border:1px solid var(--ab-color-success);border-radius:50%;place-items:center;font-size:.78rem;font-weight:800;display:grid}.ab-schedule-detail__event-copy{gap:calc(var(--ab-space-1) * var(--ab-ui-scale));min-width:0;display:grid}.ab-schedule-detail__event-copy strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ab-schedule-detail__event-copy span{align-items:center;gap:calc(var(--ab-space-1) * var(--ab-ui-scale));color:var(--ab-color-text-muted);font-size:.8rem;display:flex}.ab-schedule-detail__event-copy .ab-icon{width:1rem;height:1rem}.ab-schedule-detail__days{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.ab-schedule-detail__days>span:not(.ab-schedule-detail__muted){min-width:1.8rem;color:var(--ab-color-text);border-radius:var(--ab-radius-sm);background:var(--ab-color-surface-selected);text-align:center;padding:4px 6px;font-size:.7rem;font-weight:700}@media (min-width:921px){.ab-schedule-detail__days>span:not(.ab-schedule-detail__muted){min-width:2.5rem;padding:6px 8px;font-size:.98rem}}.ab-schedule-detail__muted{color:var(--ab-color-text-muted);font-size:.82rem}.ab-schedule-detail__state{place-content:center;justify-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));min-height:260px;padding:calc(var(--ab-space-6) * var(--ab-ui-scale));color:var(--ab-color-text-muted);text-align:center;display:grid}.ab-schedule-detail__state strong{color:var(--ab-color-text)}.ab-schedule-detail__state--error .ab-icon{width:2rem;height:2rem;color:var(--ab-color-danger)}.ab-schedule-detail__spinner{border:3px solid var(--ab-color-border);border-top-color:var(--ab-color-success);border-radius:50%;width:2rem;height:2rem;animation:.8s linear infinite ab-schedule-detail-spin}@keyframes ab-schedule-detail-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ab-schedule-detail__spinner{border-top-color:var(--ab-color-border);animation:none}}.ab-builder-field-error{margin:calc(var(--ab-space-2) * var(--ab-ui-scale)) 0 0;color:var(--ab-color-danger);font-size:.8rem;line-height:1.4}.ab-dialog-footer__meta.ab-builder-field-error{margin:0 auto 0 0}.ab-builder-output{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));margin-top:calc(var(--ab-space-3) * var(--ab-ui-scale));color:var(--ab-color-text);font-size:.88rem;display:flex}.ab-builder-output input{width:1.1rem;height:1.1rem;accent-color:var(--ab-color-success)}.ab-event-card__tools .ab-icon-btn{font-size:1rem;font-weight:800}@media (max-width:980px) and (min-width:621px){.ab-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ab-status-card--next{grid-column:1/-1;min-height:180px}}@media (min-width:981px){.ab-status-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ab-status-grid>.ab-status-card--next{grid-column:auto}}@media (max-width:1180px) and (min-width:761px){.ab-schedule-table{--ab-schedule-table-columns:minmax(190px, 1.25fr) minmax(64px, .38fr) minmax(135px, .8fr) minmax(200px, auto);max-width:100%}.ab-schedule-table__head,.ab-schedule-table__row{gap:calc(var(--ab-space-2) * var(--ab-ui-scale));min-width:0;padding-inline:calc(var(--ab-space-3) * var(--ab-ui-scale))}.ab-schedule-table__schedule{gap:calc(var(--ab-space-3) * var(--ab-ui-scale))}.ab-schedule-table__icon{width:2.75rem;height:2.75rem}.ab-schedule-table__icon .ab-icon{width:1.35rem;height:1.35rem}.ab-output-tag{min-height:1.8rem;padding-inline:calc(var(--ab-space-2) * var(--ab-ui-scale));font-size:.74rem}.ab-schedule-table__actions{gap:calc(var(--ab-space-1) * var(--ab-ui-scale));min-width:0}.ab-schedule-table__actions .ab-btn{min-width:64px;padding-inline:calc(var(--ab-space-2) * var(--ab-ui-scale))}.ab-schedule-table__actions .ab-icon-btn{width:36px;height:36px}}@media (max-width:760px){.ab-schedule-table__head{display:none}.ab-schedule-table__row{gap:calc(var(--ab-space-2) * var(--ab-ui-scale));padding:calc(var(--ab-space-3) * var(--ab-ui-scale));grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr)}.ab-schedule-table__schedule{gap:calc(var(--ab-space-2) * var(--ab-ui-scale))}.ab-schedule-table__icon{width:2.5rem;height:2.5rem}.ab-schedule-table__icon .ab-icon{width:1.2rem;height:1.2rem}.ab-schedule-table__schedule,.ab-schedule-table__actions{grid-column:1/-1}.ab-schedule-table__events,.ab-schedule-table__outputs{align-self:start}.ab-schedule-table__events,.ab-schedule-table__outputs,.ab-schedule-table__actions{padding-top:1.15rem;position:relative}.ab-schedule-table__events:before,.ab-schedule-table__outputs:before,.ab-schedule-table__actions:before{content:attr(data-label);color:var(--ab-color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:750;position:absolute;top:0;left:0}.ab-schedule-table__actions{justify-content:flex-start}.ab-schedule-table__actions .ab-btn{flex:1;min-height:2.25rem;padding-block:.45rem}.ab-schedule-table__actions .ab-menu{flex:none}.ab-schedule-table__footer{padding:calc(var(--ab-space-3) * var(--ab-ui-scale)) calc(var(--ab-space-4) * var(--ab-ui-scale))}.ab-calendar-schedule-parent{gap:calc(var(--ab-space-3) * var(--ab-ui-scale));padding:calc(var(--ab-space-4) * var(--ab-ui-scale));grid-template-columns:minmax(0,1fr)}.ab-calendar-schedule-parent__stats{justify-content:stretch}.ab-calendar-schedule-parent__stats>span{min-width:0;padding-inline:calc(var(--ab-space-3) * var(--ab-ui-scale));flex:1}.ab-calendar-schedule-parent__stats>span:first-child{border-left:0;padding-left:0}.ab-calendar-schedule-parent>.ab-btn{width:100%}.ab-schedule-table__row.is-calendar-child{padding-left:calc(var(--ab-space-6) * var(--ab-ui-scale))}.ab-schedule-table__row.is-calendar-child:before,.ab-schedule-table__row.is-calendar-child:after{left:calc(var(--ab-space-3) * var(--ab-ui-scale))}}.ab-device-summary{--ab-summary-columns:4;grid-template-columns:repeat(var(--ab-summary-columns), minmax(0, 1fr));margin-bottom:calc(var(--ab-space-4) * var(--ab-ui-scale));display:grid;overflow:hidden}.ab-device-summary .ab-summary__item{flex-direction:column;align-items:flex-start;display:flex}.ab-device-summary .ab-badge,.ab-device-summary .ab-summary__meta{margin-top:calc(var(--ab-space-2) * var(--ab-ui-scale))}.ab-system-cloud-notice{margin-bottom:calc(var(--ab-space-5) * var(--ab-ui-scale))}.ab-system-cloud-notice span{gap:2px;display:grid}.ab-system-cloud-notice strong{font-size:.86rem}.ab-system-cloud-notice small{color:var(--ab-color-text-muted);line-height:1.4}.ab-system-cloud-notice a{color:var(--ab-color-brand-strong);font-weight:650}.ab-network-page-head{margin-bottom:calc(var(--ab-space-5) * var(--ab-ui-scale))}.ab-network-diagnostic{align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));margin:calc(var(--ab-space-3) * var(--ab-ui-scale)) 0 calc(var(--ab-space-4) * var(--ab-ui-scale));padding:calc(var(--ab-space-3) * var(--ab-ui-scale)) calc(var(--ab-space-4) * var(--ab-ui-scale));color:var(--ab-color-text);border:1px solid var(--ab-color-warning);border-radius:var(--ab-radius-md);background:color-mix(in srgb, var(--ab-color-warning) 10%, var(--ab-color-surface));grid-template-columns:auto minmax(0,1fr) auto;display:grid}.ab-network-diagnostic__icon{width:2.2rem;height:2.2rem;color:var(--ab-color-warning-strong,var(--ab-color-warning));background:color-mix(in srgb, var(--ab-color-warning) 16%, transparent);border-radius:50%;place-items:center;display:grid}.ab-network-diagnostic>div{gap:2px;min-width:0;display:grid}.ab-network-diagnostic strong{font-size:.95rem}.ab-network-diagnostic p,.ab-network-diagnostic small{color:var(--ab-color-text-muted);margin:0}.ab-network-diagnostic p{font-size:.8rem}.ab-network-diagnostic small{font-size:.72rem}.ab-network-diagnostic__actions{align-items:stretch;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));flex-direction:column;display:flex}.ab-network-diagnostic__actions .ab-btn{white-space:nowrap;justify-content:center}.ab-network-diagnostic__details{padding-top:calc(var(--ab-space-2) * var(--ab-ui-scale));border-top:1px solid color-mix(in srgb, var(--ab-color-warning) 34%, var(--ab-color-border-soft));grid-column:1/-1}.ab-network-diagnostic__details summary{justify-content:space-between;align-items:center;gap:var(--ab-space-3);min-height:34px;color:var(--ab-color-text);cursor:pointer;list-style:none;display:flex}.ab-network-diagnostic__details summary::-webkit-details-marker{display:none}.ab-network-diagnostic__details summary>span{gap:2px;display:grid}.ab-network-diagnostic__details summary strong{font-size:.8rem}.ab-network-diagnostic__details summary small{color:var(--ab-color-text-muted);font-weight:500}.ab-network-diagnostic__details summary>.ab-icon{width:.9rem;height:.9rem;transition:transform var(--ab-motion-fast);transform:rotate(90deg)}.ab-network-diagnostic__details[open] summary>.ab-icon{transform:rotate(-90deg)}.ab-network-diagnostic__impact{gap:calc(var(--ab-space-3) * var(--ab-ui-scale));padding-top:calc(var(--ab-space-3) * var(--ab-ui-scale));animation:ab-network-diagnostic-reveal var(--ab-motion-fast) ease-out;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ab-network-diagnostic__impact>section{padding:calc(var(--ab-space-3) * var(--ab-ui-scale));border:1px solid var(--ab-color-border-soft);border-radius:var(--ab-radius-sm);background:color-mix(in srgb, var(--ab-color-surface) 78%, transparent)}.ab-network-diagnostic__impact>section>strong{font-size:.76rem}.ab-network-diagnostic__impact ul{color:var(--ab-color-text-muted);gap:4px;margin:7px 0 0;padding-left:1.05rem;font-size:.74rem;line-height:1.35;display:grid}.ab-network-diagnostic__impact>p{grid-column:1/-1;align-items:flex-start;gap:6px;line-height:1.4;display:flex}.ab-network-diagnostic__impact>p .ab-icon{flex:none;width:.85rem;height:.85rem;margin-top:2px}@keyframes ab-network-diagnostic-reveal{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.ab-network-healing-confirm{width:min(92vw,720px)}.ab-network-healing-confirm__icon{color:var(--ab-color-success-text);border-color:var(--ab-color-success);background:var(--ab-color-success-soft)}.ab-network-healing-confirm__source{align-items:flex-start;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));margin-top:calc(var(--ab-space-3) * var(--ab-ui-scale));padding:calc(var(--ab-space-3) * var(--ab-ui-scale));color:var(--ab-color-success-text);border:1px solid color-mix(in srgb, var(--ab-color-success) 48%, var(--ab-color-border));border-radius:var(--ab-radius-sm);background:var(--ab-color-success-soft);display:flex}.ab-network-healing-confirm__source>.ab-icon{flex:none;width:1rem;height:1rem;margin-top:2px}.ab-network-healing-confirm__source span{gap:3px;display:grid}.ab-network-healing-confirm__source small{color:var(--ab-color-text-muted);line-height:1.4}.ab-network-healing-confirm__changes{margin-top:calc(var(--ab-space-3) * var(--ab-ui-scale));border:1px solid var(--ab-color-border-soft);border-radius:var(--ab-radius-sm);background:var(--ab-color-border-soft);gap:1px;display:grid;overflow:hidden}.ab-network-healing-confirm__changes>div{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));padding:calc(var(--ab-space-3) * var(--ab-ui-scale));background:var(--ab-color-surface);grid-template-columns:minmax(90px,.8fr) minmax(0,1fr) auto minmax(0,1fr) auto;display:grid}.ab-network-healing-confirm__changes span{color:var(--ab-color-text-muted);font-size:.75rem;font-weight:700}.ab-network-healing-confirm__changes del{color:var(--ab-color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.ab-network-healing-confirm__changes strong{text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;overflow:hidden}.ab-network-healing-confirm__changes>div>.ab-icon{width:.8rem;height:.8rem;color:var(--ab-color-text-faint)}.ab-network-healing-confirm__changes small{color:var(--ab-color-text-muted);background:var(--ab-color-surface-muted);text-transform:uppercase;border-radius:999px;padding:3px 6px;font-size:.62rem;font-weight:700}.ab-network-healing-confirm__changes small.is-verified{color:var(--ab-color-success-text);background:var(--ab-color-success-soft)}.ab-network-healing-confirm__notice{align-items:flex-start;gap:var(--ab-space-2);margin:calc(var(--ab-space-3) * var(--ab-ui-scale)) 0 0;color:var(--ab-color-text-muted);font-size:.74rem;line-height:1.4;display:flex}.ab-network-healing-confirm__notice .ab-icon{flex:none;width:.9rem;height:.9rem;margin-top:2px}.ab-wifi-strength{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));color:var(--ab-color-text-muted);display:inline-flex}.ab-wifi-strength__bars{align-items:flex-end;gap:2px;height:1rem;display:inline-flex}.ab-wifi-strength__bars i{background:var(--ab-color-border);border-radius:2px 2px 0 0;width:3px}.ab-wifi-strength__bars i:first-child{height:25%}.ab-wifi-strength__bars i:nth-child(2){height:48%}.ab-wifi-strength__bars i:nth-child(3){height:72%}.ab-wifi-strength__bars i:nth-child(4){height:100%}.ab-wifi-strength__bars i.is-active{background:var(--ab-color-success)}.ab-wifi-strength small{color:inherit;letter-spacing:0;font-size:.72rem;font-weight:650}.ab-device-summary .ab-summary__value:has(.ab-network-interface-summary){width:100%}.ab-network-interface-summary{gap:2px;width:100%;min-width:0;display:grid}.ab-network-interface-summary__row{grid-template-columns:minmax(76px,.8fr) minmax(68px,1fr) auto;align-items:center;gap:8px;width:100%;min-width:0;min-height:25px;display:grid}.ab-network-interface-summary__row+.ab-network-interface-summary__row{border-top:1px solid var(--ab-color-border-soft)}.ab-network-interface-summary__name{align-items:center;gap:6px;min-width:0;display:inline-flex}.ab-network-interface-summary__name .ab-icon{width:.9rem;height:.9rem;color:var(--ab-color-text-muted)}.ab-network-interface-summary strong{min-width:0;font-size:.76rem;font-weight:650}.ab-network-interface-summary__metric{min-width:0;color:var(--ab-color-text-muted);text-align:left;text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;overflow:hidden}.ab-network-interface-summary .ab-wifi-strength{justify-content:flex-start;margin:0}.ab-interface-state{color:var(--ab-color-text-muted);letter-spacing:.02em;white-space:nowrap;align-items:center;gap:5px;margin-left:0;font-size:.64rem;font-weight:750;display:inline-flex}.ab-network-interface-summary .ab-interface-state{justify-self:end}.ab-interface-state i{background:currentColor;border-radius:50%;width:6px;height:6px}.ab-interface-state.is-connected{color:var(--ab-color-success)}.ab-network-form-grid{gap:calc(var(--ab-space-4) * var(--ab-ui-scale));grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ab-network-panel{min-width:0;padding:calc(var(--ab-space-5) * var(--ab-ui-scale))}.ab-network-panel__header{align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));margin-bottom:calc(var(--ab-space-4) * var(--ab-ui-scale));display:flex}.ab-network-panel__header h2{margin:0;font-size:1.15rem}.ab-network-panel__icon{width:2.5rem;height:2.5rem;color:var(--ab-color-text);border:1px solid var(--ab-color-success);border-radius:50%;place-items:center;display:grid}.ab-network-panel__icon .ab-icon{width:1.4rem;height:1.4rem}.ab-network-settings{display:grid}.ab-network-setting-row{align-items:center;gap:calc(var(--ab-space-4) * var(--ab-ui-scale));min-height:calc(54px * var(--ab-ui-scale));border-bottom:1px solid var(--ab-color-border-soft);grid-template-columns:minmax(130px,.9fr) minmax(0,1.25fr);display:grid}.ab-network-setting-row:last-child{border-bottom:0}.ab-network-setting-row__label{color:var(--ab-color-text-muted)}.ab-network-setting-row__control{justify-content:flex-end;align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));min-width:0;display:flex}.ab-network-setting-row__control .ab-field,.ab-network-setting-row__control .ab-select{min-height:calc(40px * var(--ab-ui-scale))}.ab-setting-readout{color:var(--ab-color-text);text-align:right;overflow-wrap:anywhere}.ab-time-sync-actions{justify-content:flex-end;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));flex-wrap:wrap;display:flex}.ab-network-panel__actions{gap:calc(var(--ab-space-3) * var(--ab-ui-scale));margin-top:calc(var(--ab-space-5) * var(--ab-ui-scale));grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ab-network-save-bar{justify-content:space-between;align-items:center;gap:calc(var(--ab-space-4) * var(--ab-ui-scale));margin-top:calc(var(--ab-space-4) * var(--ab-ui-scale));padding:calc(var(--ab-space-4) * var(--ab-ui-scale)) calc(var(--ab-space-5) * var(--ab-ui-scale));display:flex}.ab-network-save-bar p{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));color:var(--ab-color-text-muted);margin:0;display:flex}.ab-network-save-bar>div{gap:calc(var(--ab-space-2) * var(--ab-ui-scale));display:flex}.ab-network-save-bar .ab-btn{min-width:min(100%,200px)}.ab-network-form-grid--modern{grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);align-items:start}.ab-network-panel__header>div{min-width:0}.ab-network-panel__header p{color:var(--ab-color-text-muted);margin:3px 0 0;font-size:.78rem}.ab-interface-tabs{gap:calc(var(--ab-space-3) * var(--ab-ui-scale));margin-bottom:calc(var(--ab-space-4) * var(--ab-ui-scale));grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ab-interface-tabs>button{align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));min-height:82px;padding:calc(var(--ab-space-3) * var(--ab-ui-scale));color:var(--ab-color-text);border:1px solid var(--ab-color-border-soft);border-radius:var(--ab-radius-md);background:linear-gradient(145deg, var(--ab-color-surface-raised), var(--ab-color-surface));box-shadow:var(--ab-shadow-sm);text-align:left;cursor:pointer;transition:border-color var(--ab-motion-fast), box-shadow var(--ab-motion-fast), transform var(--ab-motion-fast);grid-template-columns:auto minmax(0,1fr);display:grid}.ab-interface-tabs>button:hover{border-color:color-mix(in srgb, var(--ab-color-success) 62%, var(--ab-color-border));box-shadow:var(--ab-shadow-md);transform:translateY(-2px)}.ab-interface-tabs>button.is-selected{border-color:var(--ab-color-success);background:linear-gradient(145deg, color-mix(in srgb, var(--ab-color-success) 14%, var(--ab-color-surface-raised)), var(--ab-color-surface));box-shadow:var(--ab-shadow-sm), inset 0 0 0 1px color-mix(in srgb, var(--ab-color-success) 24%, transparent)}.ab-interface-tabs>button>.ab-icon{box-sizing:content-box;width:1.25rem;height:1.25rem;color:var(--ab-color-success);border:1px solid color-mix(in srgb, var(--ab-color-success) 48%, var(--ab-color-border));background:color-mix(in srgb, var(--ab-color-success) 10%, var(--ab-color-surface));border-radius:50%;padding:.62rem}.ab-interface-tabs>button>span{gap:3px;min-width:0;display:grid}.ab-interface-tabs>button strong{font-size:.94rem}.ab-interface-tabs>button small{color:var(--ab-color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.ab-interface-workspace{gap:calc(var(--ab-space-4) * var(--ab-ui-scale));display:grid}.ab-wifi-control-row{justify-content:space-between;align-items:center;gap:var(--ab-space-4);padding:calc(var(--ab-space-3) * var(--ab-ui-scale));border:1px solid var(--ab-color-border-soft);border-radius:var(--ab-radius-md);background:var(--ab-color-surface-muted);display:flex}.ab-wifi-control-row h3,.ab-wifi-control-row p{margin:0}.ab-wifi-control-row h3{font-size:.9rem}.ab-wifi-control-row p{color:var(--ab-color-text-muted);margin-top:3px;font-size:.72rem;line-height:1.35}.ab-toggle{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.ab-toggle input{opacity:0;width:1px;height:1px;position:absolute}.ab-toggle>span{border:1px solid var(--ab-color-border);background:var(--ab-color-surface);width:2.5rem;height:1.4rem;transition:background var(--ab-motion-fast), border-color var(--ab-motion-fast);border-radius:999px;flex:none;position:relative}.ab-toggle>span i{background:var(--ab-color-text-muted);width:.88rem;height:.88rem;transition:transform var(--ab-motion-fast), background var(--ab-motion-fast);border-radius:50%;position:absolute;top:3px;left:3px}.ab-toggle input:checked+span{border-color:var(--ab-color-success);background:var(--ab-color-success-soft)}.ab-toggle input:checked+span i{background:var(--ab-color-success);transform:translate(1.05rem)}.ab-toggle input:focus-visible+span{box-shadow:var(--ab-focus-ring)}.ab-toggle strong{min-width:4rem;font-size:.76rem}.ab-current-network{align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));padding:calc(var(--ab-space-4) * var(--ab-ui-scale));border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-md);background:linear-gradient(135deg, var(--ab-color-surface-muted), var(--ab-color-surface));grid-template-columns:auto minmax(0,1fr) auto;display:grid}.ab-current-network.is-connected{border-color:color-mix(in srgb, var(--ab-color-success) 52%, var(--ab-color-border));background:linear-gradient(135deg, color-mix(in srgb, var(--ab-color-success) 11%, var(--ab-color-surface-muted)), var(--ab-color-surface))}.ab-current-network__icon{width:2.75rem;height:2.75rem;color:var(--ab-color-success);border:1px solid;border-radius:50%;place-items:center;display:grid}.ab-current-network__icon .ab-icon{width:1.3rem;height:1.3rem}.ab-current-network h3,.ab-current-network p{margin:0}.ab-current-network h3{margin-top:2px;font-size:.98rem}.ab-current-network p{color:var(--ab-color-text-muted);margin-top:2px;font-size:.72rem}.ab-current-network__actions{justify-content:flex-end;align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));display:flex}.ab-wifi-empty{min-height:95px;color:var(--ab-color-text-muted);border:1px dashed var(--ab-color-border);border-radius:var(--ab-radius-md);text-align:center;place-content:center;justify-items:center;gap:8px;font-size:.76rem;display:grid}.ab-wifi-empty .ab-icon{width:1.4rem;height:1.4rem}.ab-wifi-empty p{margin:0}.ab-wifi-control-row__actions{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));display:flex}.ab-wifi-power-select .ab-select{min-width:7.25rem;min-height:36px;color:var(--ab-color-success-text);font-size:.72rem;font-weight:680}.ab-wifi-scan-results{border:1px solid var(--ab-color-border-soft);border-radius:var(--ab-radius-md);max-height:15rem;display:grid;overflow:auto}.ab-wifi-scan-result{align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));padding:calc(var(--ab-space-3) * var(--ab-ui-scale));border-bottom:1px solid var(--ab-color-border-soft);background:var(--ab-color-surface-muted);grid-template-columns:auto minmax(0,1fr) auto auto;display:grid}.ab-wifi-scan-result:last-child{border-bottom:0}.ab-wifi-scan-result>span:nth-child(2){gap:2px;min-width:0;display:grid}.ab-wifi-scan-result strong,.ab-wifi-scan-result small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ab-wifi-scan-result small{color:var(--ab-color-text-muted);font-size:.68rem}.ab-wifi-connect-dialog{gap:calc(var(--ab-space-5) * var(--ab-ui-scale));width:min(470px,100vw - 32px);padding:calc(var(--ab-space-5) * var(--ab-ui-scale));color:var(--ab-color-text);border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-lg);background:var(--ab-color-surface);box-shadow:var(--ab-shadow-lg);display:grid}.ab-wifi-connect-dialog>header{align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));grid-template-columns:auto minmax(0,1fr) auto;display:grid}.ab-wifi-connect-dialog h2,.ab-wifi-connect-dialog p{margin:0}.ab-wifi-connect-dialog h2{text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:1.15rem;overflow:hidden}.ab-wifi-connect-dialog header p{color:var(--ab-color-text-muted);margin-top:3px;font-size:.75rem}.ab-wifi-connect-dialog>label{gap:6px;display:grid}.ab-wifi-connect-dialog>footer{justify-content:flex-end;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));padding-top:calc(var(--ab-space-3) * var(--ab-ui-scale));border-top:1px solid var(--ab-color-border-soft);display:flex}.ab-wifi-connect{align-items:end;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));padding:calc(var(--ab-space-3) * var(--ab-ui-scale));border:1px solid color-mix(in srgb, var(--ab-color-success) 45%, var(--ab-color-border));border-radius:var(--ab-radius-md);background:color-mix(in srgb, var(--ab-color-success) 8%, var(--ab-color-surface-muted));grid-template-columns:minmax(100px,.45fr) minmax(220px,1fr) auto;display:grid}.ab-wifi-connect>div{align-self:center;gap:3px;min-width:0;display:grid}.ab-wifi-connect>div strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ab-wifi-connect label{color:var(--ab-color-text-muted);gap:4px;font-size:.68rem;font-weight:700;display:grid}.ab-password-field{grid-template-columns:minmax(0,1fr) auto;display:grid}.ab-password-field .ab-field{border-radius:var(--ab-radius-sm) 0 0 var(--ab-radius-sm)}.ab-password-field button{color:var(--ab-color-success);border:1px solid var(--ab-color-border);border-radius:0 var(--ab-radius-sm) var(--ab-radius-sm) 0;background:var(--ab-color-surface);cursor:pointer;border-left:0;padding:0 10px;font-size:.7rem;font-weight:750}.ab-addressing-section{gap:var(--ab-space-3);padding:calc(var(--ab-space-4) * var(--ab-ui-scale));border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-md);background:var(--ab-color-surface-muted);display:grid}.ab-addressing-section__head{justify-content:space-between;align-items:center;gap:var(--ab-space-4);display:flex}.ab-addressing-section h3,.ab-addressing-section p{margin:0}.ab-addressing-section h3{font-size:.9rem}.ab-addressing-section p{color:var(--ab-color-text-muted);margin-top:3px;font-size:.7rem}.ab-addressing-choice{border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-sm);background:var(--ab-color-surface);grid-template-columns:repeat(2,auto);padding:3px;display:inline-grid}.ab-addressing-choice button{min-height:30px;color:var(--ab-color-text-muted);border-radius:calc(var(--ab-radius-sm) - 2px);cursor:pointer;background:0 0;border:0;padding:0 11px;font-size:.68rem;font-weight:750}.ab-addressing-choice button.is-selected{color:var(--ab-color-text);background:var(--ab-color-success-soft);box-shadow:0 0 0 1px var(--ab-color-success)}.ab-addressing-choice button:disabled{opacity:.45;cursor:not-allowed}.ab-address-grid{column-gap:var(--ab-space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ab-address-grid .ab-network-setting-row{grid-template-columns:1fr;align-content:start;gap:5px;padding:8px 0}.ab-address-grid .ab-network-setting-row__control,.ab-address-grid .ab-field{justify-content:stretch;width:100%}.ab-network-field{min-width:0}.ab-network-field.has-error .ab-field{border-color:var(--ab-color-warning);box-shadow:0 0 0 2px color-mix(in srgb, var(--ab-color-warning) 18%, transparent)}.ab-network-field__error{color:var(--ab-color-warning-strong,var(--ab-color-text));align-items:flex-start;gap:5px;margin-top:3px;font-size:.7rem;line-height:1.25;display:flex}.ab-network-field__error .ab-icon{flex:none;width:.8rem;height:.8rem}.ab-interface-mac{align-items:center;gap:var(--ab-space-2);padding-top:var(--ab-space-3);color:var(--ab-color-text-muted);border-top:1px solid var(--ab-color-border-soft);font-size:.72rem;display:flex}.ab-interface-mac strong{color:var(--ab-color-text);margin-left:auto;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem}.ab-time-panel{top:calc(var(--ab-header-height) + var(--ab-space-4));position:sticky}@media (max-width:1100px){.ab-network-form-grid--modern{grid-template-columns:1fr}.ab-network-diagnostic{grid-template-columns:auto minmax(0,1fr)}.ab-network-diagnostic .ab-btn{grid-column:1/-1;width:100%}.ab-time-panel{position:static}}@media (max-width:640px){.ab-interface-tabs{grid-template-columns:1fr}.ab-wifi-control-row,.ab-addressing-section__head{flex-direction:column;align-items:stretch}.ab-wifi-control-row__actions{grid-template-columns:1fr 1fr;display:grid}.ab-wifi-power-select .ab-select,.ab-wifi-control-row__actions .ab-btn{width:100%}.ab-current-network{grid-template-columns:auto minmax(0,1fr)}.ab-current-network__actions{grid-column:1/-1;justify-content:space-between}.ab-wifi-scan-result{grid-template-columns:auto minmax(0,1fr) auto}.ab-wifi-scan-result>.ab-btn{grid-column:2/-1;width:100%}.ab-wifi-connect{grid-template-columns:1fr}.ab-wifi-connect .ab-btn{width:100%}.ab-addressing-choice{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.ab-address-grid,.ab-network-diagnostic__impact{grid-template-columns:1fr}.ab-network-diagnostic__impact>p{grid-column:auto}.ab-network-diagnostic__actions{width:100%}.ab-network-healing-confirm__changes>div{grid-template-columns:1fr auto}.ab-network-healing-confirm__changes span{grid-column:1/-1}.ab-network-healing-confirm__changes del{grid-column:1}.ab-network-healing-confirm__changes>div>.ab-icon{grid-area:2/2}.ab-network-healing-confirm__changes strong{grid-column:1}.ab-network-healing-confirm__changes small{grid-area:3/2}.ab-interface-mac{flex-wrap:wrap;align-items:flex-start}.ab-interface-mac strong{width:100%;margin:0}}.ab-system-grid{gap:calc(var(--ab-space-4) * var(--ab-ui-scale));grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);display:grid}.ab-system-grid>.ab-system-maintenance{grid-area:1/2/span 2}@media (min-width:981px){.ab-system-grid>.ab-system-device .ab-network-setting-row__control .ab-field,.ab-system-grid>.ab-system-device .ab-network-setting-row__control .ab-select{width:50%}.ab-system-grid>.ab-system-cloud .ab-network-setting-row__control .ab-select{width:20%;min-width:7rem}}.ab-system-panel__footer{justify-content:space-between;align-items:center;gap:var(--ab-space-3);margin-top:calc(var(--ab-space-5) * var(--ab-ui-scale));color:var(--ab-color-text-muted);font-size:.76rem;display:flex}.ab-system-panel__footer>div{gap:var(--ab-space-2);display:flex}.ab-system-maintenance__intro{margin:0 0 calc(var(--ab-space-4) * var(--ab-ui-scale));color:var(--ab-color-text-muted);line-height:1.5}.ab-system-action-list{gap:calc(var(--ab-space-2) * var(--ab-ui-scale));display:grid}.ab-system-action{align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));padding:calc(var(--ab-space-3) * var(--ab-ui-scale));border:1px solid var(--ab-color-border-soft);border-radius:var(--ab-radius-sm);background:var(--ab-color-surface-muted);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.ab-system-action__icon{width:2.25rem;height:2.25rem;color:var(--ab-color-text);border:1px solid var(--ab-color-border);border-radius:50%;place-items:center;display:grid}.ab-system-action__icon .ab-icon{width:1.2rem;height:1.2rem}.ab-system-action h3,.ab-system-action p{margin:0}.ab-system-action h3{font-size:.94rem}.ab-system-action__title{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));display:flex}.ab-fw-branch-pill{border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-pill);background:var(--ab-color-surface);color:var(--ab-color-text-soft);letter-spacing:.02em;text-transform:uppercase;cursor:pointer;padding:2px 8px;font-size:.66rem;font-weight:700}.ab-fw-branch-pill:hover{color:var(--ab-color-text)}.ab-fw-branch-pill:disabled{cursor:default;opacity:.65}.ab-fw-branch-pill--beta{border-color:var(--ab-color-warning,#b26a00);color:var(--ab-color-warning,#b26a00)}.ab-system-action p{color:var(--ab-color-text-muted);margin-top:3px;font-size:.82rem;line-height:1.35}.ab-system-confirm{width:min(460px,100vw - 32px);padding:calc(var(--ab-space-5) * var(--ab-ui-scale));border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-lg);background:var(--ab-color-surface);box-shadow:var(--ab-shadow-lg)}.ab-system-confirm header{align-items:flex-start;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));display:flex}.ab-system-confirm__icon{width:2.5rem;height:2.5rem;color:var(--ab-color-danger);border:1px solid;border-radius:50%;place-items:center;display:grid}.ab-system-confirm h2,.ab-system-confirm p{margin:0}.ab-system-confirm p{margin-top:calc(var(--ab-space-2) * var(--ab-ui-scale));color:var(--ab-color-text-muted);line-height:1.5}.ab-system-confirm footer{justify-content:flex-end;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));margin-top:calc(var(--ab-space-5) * var(--ab-ui-scale));display:flex}.ab-factory-reset-dialog{width:min(650px,100vw - 32px);color:var(--ab-color-text);border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-lg);background:var(--ab-color-surface);box-shadow:var(--ab-shadow-lg);overflow:hidden}.ab-factory-reset-dialog__header{align-items:start;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));padding:calc(var(--ab-space-5) * var(--ab-ui-scale));border-bottom:1px solid var(--ab-color-border-soft);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.ab-factory-reset-dialog h2,.ab-factory-reset-dialog p{margin:0}.ab-factory-reset-dialog__header p{margin-top:calc(var(--ab-space-2) * var(--ab-ui-scale));color:var(--ab-color-text-muted);line-height:1.45}.ab-factory-reset-options{gap:calc(var(--ab-space-3) * var(--ab-ui-scale));padding:calc(var(--ab-space-5) * var(--ab-ui-scale));display:grid}.ab-factory-reset-option{align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));padding:calc(var(--ab-space-4) * var(--ab-ui-scale));color:var(--ab-color-text);text-align:left;border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-md);background:var(--ab-color-surface-muted);cursor:pointer;font:inherit;grid-template-columns:auto minmax(0,1fr);display:grid}.ab-factory-reset-option:hover,.ab-factory-reset-option.is-selected{border-color:var(--ab-color-danger);background:color-mix(in srgb, var(--ab-color-danger) 9%, var(--ab-color-surface))}.ab-factory-reset-option.is-selected{box-shadow:0 0 0 2px color-mix(in srgb, var(--ab-color-danger) 18%, transparent)}.ab-factory-reset-option__check{color:#fff;border:1px solid var(--ab-color-border);border-radius:50%;place-items:center;width:1.5rem;height:1.5rem;display:grid}.ab-factory-reset-option.is-selected .ab-factory-reset-option__check{border-color:var(--ab-color-danger);background:var(--ab-color-danger)}.ab-factory-reset-option>span:last-child{gap:4px;display:grid}.ab-factory-reset-option small{color:var(--ab-color-text-muted);font-size:.78rem;line-height:1.4}.ab-factory-reset-hardware{gap:calc(var(--ab-space-3) * var(--ab-ui-scale));margin:0 calc(var(--ab-space-5) * var(--ab-ui-scale)) calc(var(--ab-space-5) * var(--ab-ui-scale));padding:calc(var(--ab-space-4) * var(--ab-ui-scale));color:var(--ab-color-text-muted);border:1px solid var(--ab-color-border-soft);border-radius:var(--ab-radius-md);background:var(--ab-color-surface-muted);display:flex}.ab-factory-reset-hardware>.ab-icon{color:var(--ab-color-danger);flex:none}.ab-factory-reset-hardware ul{gap:5px;margin:7px 0 0;padding-left:1.15rem;font-size:.74rem;line-height:1.4;display:grid}.ab-factory-reset-dialog>footer{justify-content:flex-end;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));padding:calc(var(--ab-space-4) * var(--ab-ui-scale)) calc(var(--ab-space-5) * var(--ab-ui-scale));border-top:1px solid var(--ab-color-border-soft);background:var(--ab-color-surface-muted);display:flex}.ab-factory-reset-progress{align-content:center;place-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));min-height:15rem;padding:calc(var(--ab-space-6) * var(--ab-ui-scale));text-align:center;display:grid}.ab-factory-reset-progress p{color:var(--ab-color-text-muted)}.ab-factory-reset-progress .ab-spinner{border:3px solid var(--ab-color-border);border-top-color:var(--ab-color-danger);border-radius:50%;width:2rem;height:2rem;animation:.75s linear infinite ab-schedule-detail-spin}.ab-firmware-update-layer{z-index:1550}.ab-firmware-update-dialog{width:min(650px,100vw - 32px);color:var(--ab-color-text);border:1px solid color-mix(in srgb, var(--ab-color-success) 40%, var(--ab-color-border));border-radius:var(--ab-radius-lg);background:var(--ab-color-surface);box-shadow:var(--ab-shadow-lg);overflow:hidden}.ab-firmware-update-dialog.is-error{border-color:color-mix(in srgb, var(--ab-color-danger) 55%, var(--ab-color-border))}.ab-firmware-update-dialog__header{align-items:start;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));padding:calc(var(--ab-space-5) * var(--ab-ui-scale));border-bottom:1px solid var(--ab-color-border-soft);background:linear-gradient(120deg, color-mix(in srgb, var(--ab-color-success-soft) 42%, var(--ab-color-surface-raised)), var(--ab-color-surface));grid-template-columns:auto minmax(0,1fr) auto;display:grid}.ab-firmware-update-dialog.is-error .ab-firmware-update-dialog__header{background:linear-gradient(120deg, color-mix(in srgb, var(--ab-color-danger) 10%, var(--ab-color-surface-raised)), var(--ab-color-surface))}.ab-firmware-update-dialog__icon{width:2.75rem;height:2.75rem;color:var(--ab-color-success);background:var(--ab-color-success-soft);border:1px solid;border-radius:50%;place-items:center;display:grid}.ab-firmware-update-dialog.is-error .ab-firmware-update-dialog__icon{color:var(--ab-color-danger);background:color-mix(in srgb, var(--ab-color-danger) 10%, var(--ab-color-surface))}.ab-firmware-update-dialog__icon .ab-icon{width:1.25rem;height:1.25rem}.ab-firmware-update-dialog h2,.ab-firmware-update-dialog p{margin:0}.ab-firmware-update-dialog h2{margin-top:2px;font-size:1.35rem}.ab-firmware-update-dialog__header p{color:var(--ab-color-text-muted);margin-top:5px;font-size:.82rem;line-height:1.45}.ab-firmware-version-grid{align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));padding:calc(var(--ab-space-5) * var(--ab-ui-scale));grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid}.ab-firmware-version-grid>div{min-width:0;padding:calc(var(--ab-space-4) * var(--ab-ui-scale));border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-md);background:var(--ab-color-surface-muted);gap:4px;display:grid}.ab-firmware-version-grid span,.ab-firmware-version-grid small{color:var(--ab-color-text-muted);font-size:.72rem}.ab-firmware-version-grid strong{text-overflow:ellipsis;white-space:nowrap;font-size:1.15rem;overflow:hidden}.ab-firmware-version-arrow{color:var(--ab-color-success)!important;font-size:1.4rem!important}.ab-firmware-update-dialog>.ab-mode-notice{margin:0 calc(var(--ab-space-5) * var(--ab-ui-scale)) calc(var(--ab-space-5) * var(--ab-ui-scale))}.ab-mode-notice--warning{color:var(--ab-color-warning-text);border-color:color-mix(in srgb, var(--ab-color-warning) 55%, var(--ab-color-border));background:color-mix(in srgb, var(--ab-color-warning) 12%, var(--ab-color-surface))}.ab-firmware-update-progress{align-content:center;place-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));min-height:15rem;padding:calc(var(--ab-space-6) * var(--ab-ui-scale));text-align:center;display:grid}.ab-firmware-update-progress p,.ab-firmware-update-progress small{max-width:32rem;color:var(--ab-color-text-muted);line-height:1.45}.ab-firmware-update-progress .ab-spinner{border:3px solid var(--ab-color-border);border-top-color:var(--ab-color-success);border-radius:50%;width:2.25rem;height:2.25rem;animation:.75s linear infinite ab-schedule-detail-spin}.ab-firmware-update-dialog.is-complete .ab-spinner,.ab-firmware-update-dialog.is-error .ab-spinner{display:none}.ab-firmware-progress{background:var(--ab-color-border-soft);border-radius:999px;width:min(30rem,100%);height:8px;overflow:hidden}.ab-firmware-progress>span{border-radius:inherit;background:var(--ab-color-success);height:100%;transition:width .24s;display:block}.ab-firmware-update-dialog>footer{justify-content:flex-end;align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));min-height:4.25rem;padding:calc(var(--ab-space-4) * var(--ab-ui-scale)) calc(var(--ab-space-5) * var(--ab-ui-scale));color:var(--ab-color-text-muted);border-top:1px solid var(--ab-color-border-soft);background:var(--ab-color-surface-muted);font-size:.75rem;display:flex}.ab-memory-layer{z-index:1560;padding:clamp(10px,2vw,28px)}.ab-maintenance-layer{z-index:1570;padding:clamp(10px,2vw,28px)}.ab-maintenance-dialog{width:min(760px,100vw - 32px);max-height:calc(100dvh - 40px);color:var(--ab-color-text);border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-lg);background:var(--ab-color-surface);box-shadow:var(--ab-shadow-lg);overflow:hidden}.ab-maintenance-dialog>header{align-items:start;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));padding:calc(var(--ab-space-5) * var(--ab-ui-scale));border-bottom:1px solid var(--ab-color-border-soft);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.ab-maintenance-dialog>header h2,.ab-maintenance-dialog>header p{margin:0}.ab-maintenance-dialog>header p{color:var(--ab-color-text-muted);margin-top:4px;line-height:1.4}.ab-maintenance-dialog__icon{width:2.65rem;height:2.65rem;color:var(--ab-color-accent-strong);background:var(--ab-color-accent-soft);border-radius:50%;place-items:center;display:grid}.ab-maintenance-dialog__icon .ab-icon{width:1.3rem;height:1.3rem}.ab-maintenance-tabs{margin:calc(var(--ab-space-4) * var(--ab-ui-scale)) calc(var(--ab-space-5) * var(--ab-ui-scale)) 0;border-radius:var(--ab-radius-md);background:var(--ab-color-surface-muted);grid-template-columns:repeat(2,1fr);gap:4px;padding:4px;display:grid}.ab-maintenance-tabs button{min-height:2.5rem;color:var(--ab-color-text-muted);border-radius:calc(var(--ab-radius-md) - 3px);font:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;font-weight:700;display:inline-flex}.ab-maintenance-tabs button[aria-selected=true]{color:var(--ab-color-text);background:var(--ab-color-surface);box-shadow:var(--ab-shadow-sm)}.ab-maintenance-stage{gap:calc(var(--ab-space-4) * var(--ab-ui-scale));padding:calc(var(--ab-space-5) * var(--ab-ui-scale));display:grid;overflow-y:auto}.ab-maintenance-stage__intro h3,.ab-maintenance-stage__intro p{margin:0}.ab-maintenance-stage__intro p{color:var(--ab-color-text-muted);margin-top:4px;line-height:1.45}.ab-maintenance-stage>.ab-btn{justify-self:start}.ab-backup-summary{border:1px solid var(--ab-color-border-soft);border-radius:var(--ab-radius-md);background:var(--ab-color-surface-muted);overflow:hidden}.ab-backup-summary>header{padding:calc(var(--ab-space-3) * var(--ab-ui-scale)) calc(var(--ab-space-4) * var(--ab-ui-scale));border-bottom:1px solid var(--ab-color-border-soft);justify-content:space-between;align-items:baseline;gap:12px;display:flex}.ab-backup-summary>header h3,.ab-backup-summary>header small{margin:0}.ab-backup-summary>header small{max-width:55%;color:var(--ab-color-text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ab-backup-summary__grid{grid-template-columns:repeat(4,1fr);display:grid}.ab-backup-summary__grid>span{padding:calc(var(--ab-space-3) * var(--ab-ui-scale)) calc(var(--ab-space-4) * var(--ab-ui-scale));border-right:1px solid var(--ab-color-border-soft);border-bottom:1px solid var(--ab-color-border-soft);gap:2px;display:grid}.ab-backup-summary__grid>span:nth-child(4n){border-right:0}.ab-backup-summary__grid strong{font-size:1.05rem}.ab-backup-summary__grid small,.ab-backup-summary__meta{color:var(--ab-color-text-muted)}.ab-backup-summary__meta,.ab-backup-summary>footer{padding:calc(var(--ab-space-3) * var(--ab-ui-scale)) calc(var(--ab-space-4) * var(--ab-ui-scale));color:var(--ab-color-text-muted);flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:.82rem;display:flex}.ab-maintenance-confirm{padding-top:calc(var(--ab-space-3) * var(--ab-ui-scale));border-top:1px solid var(--ab-color-border-soft);justify-content:space-between;align-items:center;gap:16px;display:flex}.ab-maintenance-confirm>span{color:var(--ab-color-text-muted);font-size:.85rem;line-height:1.4}.ab-maintenance-status,.ab-maintenance-error,.ab-maintenance-complete,.ab-health-loading{min-height:190px;padding:calc(var(--ab-space-5) * var(--ab-ui-scale));text-align:center;place-content:center;justify-items:center;gap:8px;display:grid}.ab-maintenance-status p,.ab-maintenance-error p,.ab-maintenance-complete p,.ab-health-loading p{max-width:32rem;color:var(--ab-color-text-muted);margin:0}.ab-maintenance-error>.ab-icon,.ab-maintenance-complete>.ab-icon{width:2rem;height:2rem}.ab-maintenance-error>.ab-icon{color:var(--ab-color-danger)}.ab-maintenance-complete>.ab-icon{color:var(--ab-color-success)}.ab-health-dialog{flex-direction:column;width:min(960px,100vw - 32px);display:flex}.ab-health-overview{align-items:center;gap:calc(var(--ab-space-4) * var(--ab-ui-scale));margin:calc(var(--ab-space-4) * var(--ab-ui-scale)) calc(var(--ab-space-5) * var(--ab-ui-scale));padding:calc(var(--ab-space-4) * var(--ab-ui-scale));border-radius:var(--ab-radius-md);background:var(--ab-color-surface-muted);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.ab-health-overview__mark{width:3.2rem;height:3.2rem;color:var(--ab-color-success);background:color-mix(in srgb, var(--ab-color-success) 12%, transparent);border-radius:50%;place-items:center;display:grid}.ab-health-overview.is-warning .ab-health-overview__mark,.ab-health-overview.is-critical .ab-health-overview__mark{color:var(--ab-color-warning);background:color-mix(in srgb, var(--ab-color-warning) 12%, transparent)}.ab-health-overview.is-critical .ab-health-overview__mark{color:var(--ab-color-danger);background:color-mix(in srgb, var(--ab-color-danger) 12%, transparent)}.ab-health-overview h3,.ab-health-overview p{margin:0}.ab-health-overview p{color:var(--ab-color-text-muted);margin-top:3px;font-size:.82rem}.ab-health-counts{display:flex}.ab-health-counts>span{text-align:center;border-left:1px solid var(--ab-color-border-soft);min-width:68px;padding:2px 12px;display:grid}.ab-health-counts strong{font-size:1.2rem}.ab-health-counts small{color:var(--ab-color-text-muted);font-size:.72rem}.ab-health-list{gap:calc(var(--ab-space-2) * var(--ab-ui-scale));min-height:0;padding:0 calc(var(--ab-space-5) * var(--ab-ui-scale)) calc(var(--ab-space-4) * var(--ab-ui-scale));display:grid;overflow-y:auto}.ab-health-item{align-items:start;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));padding:calc(var(--ab-space-3) * var(--ab-ui-scale));border:1px solid var(--ab-color-border-soft);border-radius:var(--ab-radius-sm);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.ab-health-item__icon{width:2.1rem;height:2.1rem;color:var(--ab-color-success);background:color-mix(in srgb, var(--ab-color-success) 10%, transparent);border-radius:50%;place-items:center;display:grid}.ab-health-item.is-warning .ab-health-item__icon,.ab-health-item.is-critical .ab-health-item__icon{color:var(--ab-color-warning);background:color-mix(in srgb, var(--ab-color-warning) 10%, transparent)}.ab-health-item.is-critical .ab-health-item__icon{color:var(--ab-color-danger);background:color-mix(in srgb, var(--ab-color-danger) 10%, transparent)}.ab-health-item h3,.ab-health-item p{margin:0}.ab-health-item p{color:var(--ab-color-text-muted);margin-top:3px;line-height:1.4}.ab-health-item small{color:var(--ab-color-text-muted);margin-top:5px;display:block}.ab-health-item aside{margin-top:calc(var(--ab-space-2) * var(--ab-ui-scale));padding:calc(var(--ab-space-2) * var(--ab-ui-scale)) calc(var(--ab-space-3) * var(--ab-ui-scale));border-radius:var(--ab-radius-sm);background:var(--ab-color-surface-muted);gap:2px;font-size:.82rem;display:grid}.ab-health-dialog__footer{justify-content:flex-end;align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));padding:calc(var(--ab-space-3) * var(--ab-ui-scale)) calc(var(--ab-space-5) * var(--ab-ui-scale));border-top:1px solid var(--ab-color-border-soft);background:var(--ab-color-surface-muted);display:flex}.ab-health-dialog__footer>span{color:var(--ab-color-text-muted);margin-right:auto;font-size:.8rem}.ab-memory-dialog{width:min(1500px,100%);height:min(1040px,100vh - 24px);min-height:620px;color:var(--ab-color-text);border:1px solid color-mix(in srgb, #18a0ae 42%, var(--ab-color-border));border-radius:var(--ab-radius-lg);background:var(--ab-color-surface);box-shadow:var(--ab-shadow-lg);flex-direction:column;display:flex;overflow:hidden}.ab-memory-dialog__header{align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));padding:calc(var(--ab-space-4) * var(--ab-ui-scale)) calc(var(--ab-space-5) * var(--ab-ui-scale));border-bottom:1px solid var(--ab-color-border);background:linear-gradient(120deg, color-mix(in srgb, #18a0ae 13%, var(--ab-color-surface-raised)), var(--ab-color-surface));flex:none;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.ab-memory-dialog__icon{color:#087f8c;border:1px solid color-mix(in srgb, #18a0ae 65%, var(--ab-color-border));background:color-mix(in srgb, #18a0ae 12%, var(--ab-color-surface));border-radius:50%;place-items:center;width:2.8rem;height:2.8rem;display:grid}.ab-memory-dialog__icon .ab-icon{width:1.35rem;height:1.35rem}.ab-memory-dialog__header h2,.ab-memory-dialog__header p{margin:0}.ab-memory-dialog__header h2{margin-top:2px;font-size:1.45rem}.ab-memory-dialog__header p{color:var(--ab-color-text-muted);margin-top:3px;font-size:.8rem}.ab-memory-dialog__actions{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));display:flex}.ab-memory-dialog__actions .ab-btn{gap:6px}.ab-memory-dialog__actions .ab-icon{width:1rem;height:1rem}.ab-memory-dialog .ab-icon-btn{width:2.3rem;height:2.3rem;color:var(--ab-color-text-muted);border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-sm);background:var(--ab-color-surface-muted);cursor:pointer;flex:none;place-items:center;display:inline-grid}.ab-memory-dialog .ab-icon-btn:hover:not(:disabled){color:var(--ab-color-text);border-color:#18a0ae}.ab-memory-dialog .ab-icon-btn:disabled{opacity:.36;cursor:not-allowed}.ab-memory-dialog .ab-icon-btn .ab-icon{width:1rem;height:1rem}.ab-memory-dialog__state{align-content:center;place-items:center;gap:var(--ab-space-3);padding:var(--ab-space-6);text-align:center;flex:1;display:grid}.ab-memory-dialog__state.is-error{color:var(--ab-color-danger-text)}.ab-memory-dialog__state p{max-width:34rem;color:var(--ab-color-text-muted);margin:0}.ab-memory-dialog__body{min-height:0;padding:calc(var(--ab-space-4) * var(--ab-ui-scale));background:color-mix(in srgb, var(--ab-color-surface-muted) 50%, var(--ab-color-surface));overflow-y:auto}.ab-memory-health{border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-md);background:var(--ab-color-surface);box-shadow:var(--ab-shadow-sm);grid-template-columns:minmax(145px,.75fr) repeat(3,minmax(140px,1fr)) minmax(220px,1.5fr);display:grid;overflow:hidden}.ab-memory-health>div{min-height:78px;padding:calc(var(--ab-space-3) * var(--ab-ui-scale));border-left:1px solid var(--ab-color-border-soft);align-content:center;gap:3px;display:grid}.ab-memory-health>div:first-child{border-left:0}.ab-memory-health small{color:var(--ab-color-text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.66rem;font-weight:760}.ab-memory-health strong{font-size:1.25rem}.ab-memory-health div>span{color:var(--ab-color-text-muted);font-size:.71rem}.ab-memory-health__state{grid-template-columns:auto 1fr;align-items:center}.ab-memory-health__state>span{width:12px;height:44px;box-shadow:0 0 18px color-mix(in srgb, currentColor 45%, transparent);background:currentColor;border-radius:999px}.ab-memory-health__state>div{gap:2px;display:grid}.ab-memory-health__state.is-healthy{color:#238b57}.ab-memory-health__state.is-watch{color:#c27a00}.ab-memory-health__state.is-critical{color:#c3424b}.ab-memory-health__note{color:var(--ab-color-text-muted);background:var(--ab-color-surface-muted);grid-template-columns:auto 1fr;align-items:center}.ab-memory-health__note .ab-icon{color:#087f8c;width:1.05rem}.ab-memory-timeline{margin-top:calc(var(--ab-space-4) * var(--ab-ui-scale));padding:calc(var(--ab-space-3) * var(--ab-ui-scale)) calc(var(--ab-space-4) * var(--ab-ui-scale));border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-md);background:var(--ab-color-surface)}.ab-memory-timeline>header{justify-content:space-between;align-items:end;gap:var(--ab-space-3);display:flex}.ab-memory-timeline h3,.ab-memory-timeline header strong{margin:2px 0 0}.ab-memory-timeline header>div:last-child{color:var(--ab-color-text-muted);justify-items:end;font-size:.72rem;display:grid}.ab-memory-timeline header>div:last-child strong{color:var(--ab-color-text);font-size:.9rem}.ab-memory-timeline__controls{align-items:center;gap:var(--ab-space-3);margin-top:var(--ab-space-3);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.ab-memory-timeline input[type=range]{accent-color:#087f8c;cursor:pointer;width:100%}.ab-memory-timeline__labels{color:var(--ab-color-text-muted);justify-content:space-between;margin:3px 2.8rem 0;font-size:.65rem;display:flex}.ab-memory-scale-control{justify-content:space-between;align-items:center;gap:var(--ab-space-4);margin-top:calc(var(--ab-space-4) * var(--ab-ui-scale));display:flex}.ab-memory-scale-control>div{gap:2px;display:grid}.ab-memory-scale-control>div>span{color:var(--ab-color-text-muted);font-size:.73rem}.ab-memory-scale-control label{color:var(--ab-color-text-soft);cursor:pointer;align-items:center;gap:8px;font-size:.75rem;font-weight:680;display:inline-flex}.ab-memory-scale-control input{accent-color:#087f8c}.ab-memory-pools{gap:calc(var(--ab-space-3) * var(--ab-ui-scale));margin-top:calc(var(--ab-space-2) * var(--ab-ui-scale));grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ab-memory-pools.is-true-scale{align-items:stretch;display:flex}.ab-memory-pool{min-width:0;padding:calc(var(--ab-space-3) * var(--ab-ui-scale));border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-md);background:var(--ab-color-surface);box-shadow:var(--ab-shadow-sm);flex-direction:column;flex-basis:0;display:flex;overflow:hidden}.ab-memory-pools.is-true-scale .ab-memory-pool--internal{min-width:245px}.ab-memory-pool>header{justify-content:space-between;align-items:center;gap:var(--ab-space-3);display:flex}.ab-memory-pool h3{margin:2px 0 0;font-size:1.05rem}.ab-memory-pool>header>strong{font-size:.92rem}.ab-memory-pool__map{height:210px;margin-top:var(--ab-space-3);border:1px solid color-mix(in srgb, var(--ab-color-text) 16%, var(--ab-color-border));border-radius:var(--ab-radius-sm);background:color-mix(in srgb, var(--ab-color-text) 5%, var(--ab-color-surface-muted));align-items:stretch;gap:3px;padding:3px;display:flex;overflow:hidden}.ab-memory-block{color:#fff;border-radius:4px;flex-direction:column;flex-basis:0;justify-content:flex-end;gap:2px;min-width:34px;padding:8px;transition:flex-grow .22s,filter .14s;display:flex;position:relative;overflow:hidden}.ab-memory-block:hover{filter:brightness(1.1)}.ab-memory-block strong,.ab-memory-block span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ab-memory-block strong{font-size:.72rem}.ab-memory-block span{opacity:.9;font-size:.65rem}.ab-memory-block.is-core{background:#3169b2}.ab-memory-block.is-settings{background:#5468d4}.ab-memory-block.is-network{background:#008fa3}.ab-memory-block.is-cloud{background:#7a4fb3}.ab-memory-block.is-web{background:#9a3f96}.ab-memory-block.is-tasks{background:#d07022}.ab-memory-block.is-services{background:#4f5e7a}.ab-memory-block.is-unknown{background:#b33d47}.ab-memory-block.is-contiguous{color:#123b29;background:#75d49b}.ab-memory-block.is-fragmented{color:#593b00;background-color:#f2c45f;background-image:repeating-linear-gradient(135deg,#ffffff57 0 6px,#0000 6px 12px)}.ab-memory-pool__metrics{margin:var(--ab-space-3) 0 0;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.ab-memory-pool__metrics>div{min-width:0;padding:0 var(--ab-space-2);border-left:1px solid var(--ab-color-border-soft)}.ab-memory-pool__metrics>div:first-child{border-left:0;padding-left:0}.ab-memory-pool__metrics dt{color:var(--ab-color-text-muted);font-size:.64rem}.ab-memory-pool__metrics dd{text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;font-size:.76rem;font-weight:730;overflow:hidden}.ab-memory-pool__unavailable{min-height:210px;color:var(--ab-color-text-muted);border:1px dashed var(--ab-color-border);border-radius:var(--ab-radius-sm);flex:1;align-content:center;place-items:center;gap:8px;display:grid}.ab-memory-stage-delta{margin-top:calc(var(--ab-space-3) * var(--ab-ui-scale));border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-md);background:var(--ab-color-border-soft);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.ab-memory-stage-delta>div{padding:calc(var(--ab-space-3) * var(--ab-ui-scale));background:var(--ab-color-surface);gap:3px;display:grid}.ab-memory-stage-delta small{color:var(--ab-color-text-muted);font-size:.67rem}.ab-memory-stage-delta strong{font-size:.88rem}.ab-memory-stage-delta strong.is-consumed{color:#c3424b}.ab-memory-stacks{margin-top:calc(var(--ab-space-3) * var(--ab-ui-scale));padding:calc(var(--ab-space-3) * var(--ab-ui-scale));border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-md);background:var(--ab-color-surface)}.ab-memory-stacks>header{justify-content:space-between;align-items:end;gap:var(--ab-space-3);display:flex}.ab-memory-stacks h3{margin:2px 0 0;font-size:1rem}.ab-memory-stacks>header>span{color:var(--ab-color-text-muted);font-size:.7rem}.ab-memory-stacks__map{height:94px;margin-top:var(--ab-space-3);gap:4px;display:flex}.ab-memory-stack{color:#fff;border-radius:var(--ab-radius-sm);isolation:isolate;background:#6c3d16;flex-basis:0;align-content:end;gap:2px;min-width:82px;padding:8px;display:grid;position:relative;overflow:hidden}.ab-memory-stack__fill{z-index:-1;background:linear-gradient(135deg,#dc7b25,#b95b13);position:absolute;inset:0 auto 0 0}.ab-memory-stack strong,.ab-memory-stack span,.ab-memory-stack small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ab-memory-stack strong{font-size:.7rem}.ab-memory-stack span,.ab-memory-stack small{opacity:.9;font-size:.62rem}.ab-memory-dialog__footnote{align-items:center;gap:var(--ab-space-2);margin-top:calc(var(--ab-space-3) * var(--ab-ui-scale));padding:calc(var(--ab-space-3) * var(--ab-ui-scale));color:var(--ab-color-text-muted);border:1px solid var(--ab-color-border-soft);border-radius:var(--ab-radius-sm);background:var(--ab-color-surface-muted);grid-template-columns:auto minmax(0,1fr) auto;font-size:.7rem;line-height:1.4;display:grid}.ab-memory-dialog__footnote .ab-icon{color:#087f8c;width:1rem}@media (max-width:900px){.ab-memory-layer{padding:0}.ab-memory-dialog{border:0;border-radius:0;width:100%;height:100%;min-height:0}.ab-memory-dialog__header{grid-template-columns:auto minmax(0,1fr)}.ab-memory-dialog__actions{grid-column:1/-1;justify-content:flex-end}.ab-memory-health{grid-template-columns:repeat(2,minmax(0,1fr))}.ab-memory-health>div{border-top:1px solid var(--ab-color-border-soft)}.ab-memory-health>div:nth-child(odd){border-left:0}.ab-memory-health>div:nth-child(-n+2){border-top:0}.ab-memory-health__note{grid-column:1/-1}.ab-memory-pools,.ab-memory-pools.is-true-scale{grid-template-columns:1fr;display:grid}.ab-memory-pools.is-true-scale .ab-memory-pool--internal{min-width:0}.ab-memory-pool__map{height:175px}}@media (max-width:560px){.ab-memory-dialog__body,.ab-memory-dialog__header{padding:var(--ab-space-3)}.ab-memory-dialog__header p,.ab-memory-dialog__icon{display:none}.ab-memory-dialog__header{grid-template-columns:minmax(0,1fr)}.ab-memory-dialog__actions{grid-column:1;grid-template-columns:1fr 1fr auto;display:grid}.ab-memory-dialog__actions .ab-btn{justify-content:center}.ab-memory-health{grid-template-columns:1fr 1fr}.ab-memory-health strong{font-size:1rem}.ab-memory-timeline>header,.ab-memory-scale-control,.ab-memory-stacks>header{flex-direction:column;align-items:flex-start}.ab-memory-timeline header>div:last-child{justify-items:start}.ab-memory-timeline__labels{margin-left:0;margin-right:0}.ab-memory-pool__metrics,.ab-memory-stage-delta{grid-template-columns:repeat(2,minmax(0,1fr))}.ab-memory-pool__metrics>div:nth-child(3){border-left:0;padding-left:0}.ab-memory-stacks__map{flex-wrap:wrap;height:auto}.ab-memory-stack{min-width:calc(50% - 4px);min-height:78px}.ab-memory-dialog__footnote{grid-template-columns:auto 1fr}.ab-memory-dialog__footnote .ab-badge{grid-column:2;justify-self:start}.ab-firmware-update-dialog__header{padding:var(--ab-space-4);grid-template-columns:auto minmax(0,1fr) auto}.ab-firmware-version-grid{padding:var(--ab-space-4);grid-template-columns:1fr}.ab-firmware-version-arrow{justify-self:center;transform:rotate(90deg)}.ab-firmware-update-dialog>.ab-mode-notice{margin:0 var(--ab-space-4) var(--ab-space-4)}.ab-firmware-update-dialog>footer{padding:var(--ab-space-3) var(--ab-space-4)}.ab-firmware-update-dialog>footer .ab-btn{flex:1 1 0}}.ab-log-layer{z-index:1500;padding:clamp(10px,2.4vw,36px)}.ab-log-dialog{width:min(1200px,100%);height:min(1020px,100vh - 32px);min-height:600px;color:var(--ab-color-text);border:1px solid color-mix(in srgb, var(--ab-color-success) 26%, var(--ab-color-border));border-radius:var(--ab-radius-lg);background:var(--ab-color-surface);box-shadow:var(--ab-shadow-lg);flex-direction:column;display:flex;position:relative;overflow:hidden}.ab-log-dialog__header{justify-content:space-between;align-items:center;gap:var(--ab-space-4);padding:calc(var(--ab-space-4) * var(--ab-ui-scale)) calc(var(--ab-space-5) * var(--ab-ui-scale));border-bottom:1px solid var(--ab-color-border);background:linear-gradient(120deg, color-mix(in srgb, var(--ab-color-success-soft) 35%, var(--ab-color-surface-raised)), var(--ab-color-surface));flex:none;display:flex}.ab-log-dialog__title,.ab-log-dialog__header-actions,.ab-log-commandbar>div,.ab-log-live{align-items:center;display:flex}.ab-log-dialog__title{gap:calc(var(--ab-space-3) * var(--ab-ui-scale))}.ab-log-dialog__title h2,.ab-log-dialog__title p{margin:0}.ab-log-dialog__title h2{margin-top:2px;font-size:1.45rem}.ab-log-dialog__title p{color:var(--ab-color-text-muted);margin-top:2px;font-size:.82rem}.ab-log-dialog__mark{width:2.75rem;height:2.75rem;color:var(--ab-color-success);border:1px solid color-mix(in srgb, var(--ab-color-success) 55%, var(--ab-color-border));background:var(--ab-color-success-soft);border-radius:50%;flex:none;place-items:center;display:grid}.ab-log-dialog__mark .ab-icon{width:1.25rem;height:1.25rem}.ab-log-dialog__header-actions{gap:calc(var(--ab-space-3) * var(--ab-ui-scale))}.ab-log-live{color:var(--ab-color-success);gap:7px;font-size:.76rem;font-weight:750}.ab-log-live i{width:7px;height:7px;box-shadow:0 0 0 4px color-mix(in srgb, currentColor 14%, transparent);background:currentColor;border-radius:50%}.ab-log-live.is-paused{color:var(--ab-color-warning)}.ab-log-dialog .ab-icon-btn{width:2.25rem;height:2.25rem;color:var(--ab-color-text-muted);border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-sm);background:var(--ab-color-surface-muted);cursor:pointer;transition:color var(--ab-motion-fast), border-color var(--ab-motion-fast), background var(--ab-motion-fast);flex:none;place-items:center;display:inline-grid}.ab-log-dialog .ab-icon-btn:hover:not(:disabled){color:var(--ab-color-text);border-color:var(--ab-color-success);background:var(--ab-color-success-soft)}.ab-log-dialog .ab-icon-btn:disabled{opacity:.38;cursor:not-allowed}.ab-log-dialog .ab-icon-btn .ab-icon{width:1rem;height:1rem}.ab-log-overview{border-bottom:1px solid var(--ab-color-border);background:var(--ab-color-surface-muted);flex:none;grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.ab-log-stat{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));min-width:0;padding:calc(var(--ab-space-3) * var(--ab-ui-scale)) calc(var(--ab-space-4) * var(--ab-ui-scale));color:var(--ab-color-text-muted);border:0;border-right:1px solid var(--ab-color-border-soft);text-align:left;cursor:pointer;background:0 0;grid-template-columns:auto 1fr;display:grid;position:relative}.ab-log-stat:last-child{border-right:0}.ab-log-stat:after{content:"";background:0 0;border-radius:2px;height:2px;position:absolute;bottom:-1px;left:12px;right:12px}.ab-log-stat strong{color:var(--ab-color-text);font-size:1.15rem}.ab-log-stat span{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-weight:650;overflow:hidden}.ab-log-stat:hover,.ab-log-stat.is-selected{background:var(--ab-color-surface-raised)}.ab-log-stat.is-selected:after{background:var(--ab-color-success)}.ab-log-stat--error.is-selected:after{background:var(--ab-color-danger)}.ab-log-stat--warning.is-selected:after{background:var(--ab-color-warning)}.ab-log-toolbar{align-items:end;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));padding:calc(var(--ab-space-3) * var(--ab-ui-scale)) calc(var(--ab-space-4) * var(--ab-ui-scale));border-bottom:1px solid var(--ab-color-border-soft);flex:none;grid-template-columns:minmax(280px,1fr) auto minmax(190px,.28fr);display:grid}.ab-log-search{border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-sm);background:var(--ab-color-input);align-items:center;gap:8px;min-width:0;height:2.45rem;padding:0 10px;display:flex}.ab-log-search:focus-within{border-color:var(--ab-color-success);box-shadow:0 0 0 2px color-mix(in srgb, var(--ab-color-success) 18%, transparent)}.ab-log-search>.ab-icon{width:1rem;height:1rem;color:var(--ab-color-text-muted);flex:none}.ab-log-search input{width:100%;min-width:0;color:var(--ab-color-text);font:inherit;background:0 0;border:0;outline:0;font-size:.84rem}.ab-log-search button{color:var(--ab-color-text-muted);cursor:pointer;background:0 0;border:0;padding:4px;display:grid}.ab-log-search button .ab-icon{width:.9rem;height:.9rem}.ab-log-match-nav{align-items:center;gap:5px;display:flex}.ab-log-match-nav span{min-width:4.8rem;color:var(--ab-color-text-muted);text-align:right;font-size:.73rem}.ab-log-match-nav .ab-icon-btn:first-of-type .ab-icon{transform:rotate(180deg)}.ab-log-select{gap:4px;display:grid}.ab-log-select>span{color:var(--ab-color-text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;font-weight:700}.ab-log-select .ab-select{width:100%}.ab-log-commandbar{justify-content:space-between;align-items:center;gap:var(--ab-space-3);padding:calc(var(--ab-space-2) * var(--ab-ui-scale)) calc(var(--ab-space-4) * var(--ab-ui-scale));border-bottom:1px solid var(--ab-color-border);background:var(--ab-color-surface-muted);flex:none;display:flex}.ab-log-commandbar__toggle{display:none}.ab-log-commandbar>div{gap:calc(var(--ab-space-2) * var(--ab-ui-scale))}.ab-log-commandbar .ab-btn{gap:6px}.ab-log-commandbar .ab-btn .ab-icon{width:.92rem;height:.92rem}.ab-log-commandbar .ab-btn.is-active{color:var(--ab-color-success);border-color:var(--ab-color-success);background:var(--ab-color-success-soft)}.ab-log-commandbar .ab-btn.is-active .ab-icon{transform:rotate(90deg)}.ab-log-table-head,.ab-log-row{grid-template-columns:100px 145px minmax(120px,.45fr) minmax(280px,1.7fr);align-items:center;display:grid}.ab-log-table-head{min-height:2rem;padding:0 calc(var(--ab-space-4) * var(--ab-ui-scale));color:var(--ab-color-text-muted);border-bottom:1px solid var(--ab-color-border);background:var(--ab-color-surface);letter-spacing:.08em;text-transform:uppercase;flex:none;font-size:.65rem;font-weight:800}.ab-log-list{background:color-mix(in srgb, var(--ab-color-surface-muted) 55%, var(--ab-color-surface));overscroll-behavior:contain;scroll-behavior:smooth;flex:auto;min-height:0;overflow:auto}.ab-log-row{min-height:3.15rem;padding:7px calc(var(--ab-space-4) * var(--ab-ui-scale));border-bottom:1px solid var(--ab-color-border-soft);font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.78rem;position:relative}.ab-log-row:before{content:"";background:0 0;width:3px;position:absolute;top:0;bottom:0;left:0}.ab-log-row:hover{background:var(--ab-color-surface-raised)}.ab-log-row.is-current{background:color-mix(in srgb, var(--ab-color-warning) 12%, var(--ab-color-surface-raised));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ab-color-warning) 45%, transparent)}.ab-log-row--error:before{background:var(--ab-color-danger)}.ab-log-row--warning:before{background:var(--ab-color-warning)}.ab-log-level{letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:6px;width:max-content;font-family:inherit;font-size:.66rem;font-weight:800;display:inline-flex}.ab-log-level i{background:currentColor;border-radius:50%;width:7px;height:7px}.ab-log-level--error{color:var(--ab-color-danger-text)}.ab-log-level--warning{color:var(--ab-color-warning)}.ab-log-level--info{color:var(--ab-color-success)}.ab-log-level--debug{color:var(--ab-color-text-muted)}.ab-log-row time{color:var(--ab-color-text);display:grid}.ab-log-row time span{color:var(--ab-color-text-muted);margin-top:2px;font-size:.68rem}.ab-log-category{width:max-content;max-width:calc(100% - 12px);color:var(--ab-color-text-muted);border:1px solid var(--ab-color-border);background:var(--ab-color-surface-muted);font-family:var(--ab-font-sans,inherit);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:3px 7px;font-size:.69rem;font-weight:650;overflow:hidden}.ab-log-row p{overflow-wrap:anywhere;color:var(--ab-color-text);margin:0;line-height:1.45}.ab-log-state{min-height:100%;padding:var(--ab-space-6);color:var(--ab-color-text-muted);text-align:center;place-content:center;justify-items:center;display:grid}.ab-log-state>.ab-icon{width:2rem;height:2rem;margin-bottom:var(--ab-space-3);color:var(--ab-color-success)}.ab-log-state--error>.ab-icon{color:var(--ab-color-danger)}.ab-log-state h3,.ab-log-state p{margin:0}.ab-log-state p{max-width:34rem;margin-top:6px;font-size:.82rem;line-height:1.5}.ab-log-state .ab-btn{margin-top:var(--ab-space-4)}.ab-log-dialog__footer{justify-content:space-between;align-items:center;gap:var(--ab-space-3);min-height:2.1rem;padding:0 calc(var(--ab-space-4) * var(--ab-ui-scale));color:var(--ab-color-text-muted);border-top:1px solid var(--ab-color-border);background:var(--ab-color-surface-muted);flex:none;font-size:.68rem;display:flex}.ab-log-confirm{z-index:2;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#040814b8;place-items:center;padding:20px;display:grid;position:absolute;inset:0}.ab-log-confirm>div{width:min(480px,100%);padding:calc(var(--ab-space-5) * var(--ab-ui-scale));border:1px solid color-mix(in srgb, var(--ab-color-danger) 50%, var(--ab-color-border));border-radius:var(--ab-radius-lg);background:var(--ab-color-surface-raised);box-shadow:var(--ab-shadow-lg);text-align:center}.ab-log-confirm .ab-system-confirm__icon{margin:0 auto var(--ab-space-3)}.ab-log-confirm h3,.ab-log-confirm p{margin:0}.ab-log-confirm p{margin-top:var(--ab-space-2);color:var(--ab-color-text-muted);font-size:.85rem;line-height:1.5}.ab-log-confirm footer{justify-content:center;gap:var(--ab-space-2);margin-top:var(--ab-space-5);display:flex}@media (max-width:980px){.ab-log-layer{padding:8px}.ab-log-dialog{height:calc(100dvh - 16px);min-height:0}.ab-log-toolbar{grid-template-columns:minmax(0,1fr) auto}.ab-log-select{grid-area:2/1/auto/-1}.ab-log-commandbar{flex-direction:column;align-items:stretch}.ab-log-commandbar__toggle{min-height:1.8rem;color:var(--ab-color-text-muted);border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-sm);background:var(--ab-color-surface);font:inherit;text-align:left;justify-content:space-between;align-items:center;padding:3px 8px;font-size:.72rem;font-weight:650;display:inline-flex}.ab-log-commandbar__toggle .ab-icon{width:.85rem;height:.85rem;transition:transform var(--ab-motion-fast)}.ab-log-commandbar.is-expanded .ab-log-commandbar__toggle .ab-icon{transform:rotate(-90deg)}.ab-log-commandbar:not(.is-expanded)>div{display:none!important}.ab-log-commandbar>div{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.ab-log-commandbar .ab-btn{justify-content:center}.ab-log-table-head,.ab-log-row{grid-template-columns:88px 126px minmax(110px,.4fr) minmax(220px,1.4fr)}}@media (max-width:640px){.ab-log-layer{padding:0}.ab-log-dialog{border:0;border-radius:0;width:100%;height:100dvh}.ab-log-dialog__header{padding:12px 14px}.ab-log-dialog__title p,.ab-log-dialog__header-actions .ab-log-live{display:none}.ab-log-dialog__title h2{font-size:1.18rem}.ab-log-dialog__mark{width:2.25rem;height:2.25rem}.ab-log-overview{grid-template-columns:repeat(5,minmax(66px,1fr));overflow-x:auto}.ab-log-stat{text-align:center;grid-template-columns:1fr;gap:1px;padding:8px 10px;display:grid}.ab-log-stat strong{font-size:.96rem}.ab-log-stat span{font-size:.61rem}.ab-log-toolbar{grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:9px 10px}.ab-log-search{height:2.25rem}.ab-log-match-nav span{display:none}.ab-log-select{grid-column:1/-1}.ab-log-select>span{display:none}.ab-log-commandbar{padding:8px 10px}.ab-log-commandbar>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.ab-log-commandbar .ab-btn{min-width:0;padding-inline:7px;font-size:.67rem}.ab-log-commandbar .ab-btn .ab-icon,.ab-log-table-head{display:none}.ab-log-row{grid-template-columns:auto 1fr auto;gap:5px 10px;padding:10px 12px}.ab-log-row time{grid-area:1/2;align-items:baseline;gap:6px;display:flex}.ab-log-row time span{margin:0}.ab-log-category{grid-area:1/3}.ab-log-row p{grid-area:2/1/auto/-1;padding-left:1px;font-size:.73rem}.ab-log-dialog__footer{padding:0 10px}}.ab-io-page-head{margin-bottom:calc(var(--ab-space-5) * var(--ab-ui-scale))}.ab-io-section-head{margin-bottom:calc(var(--ab-space-3) * var(--ab-ui-scale))}.ab-io-section-head p{margin:calc(var(--ab-space-1) * var(--ab-ui-scale)) 0 0;color:var(--ab-color-text-muted)}.ab-io-table{overflow:hidden}.ab-io-device-groups{gap:calc(var(--ab-space-4) * var(--ab-ui-scale));display:grid}.ab-io-device-group{scroll-margin-top:1rem;overflow:hidden}.ab-io-device-group:focus{outline:2px solid var(--ab-color-success);outline-offset:3px}.ab-io-device-group__head{align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));padding:calc(var(--ab-space-4) * var(--ab-ui-scale));border-bottom:1px solid var(--ab-color-border);background:linear-gradient(90deg, color-mix(in srgb, var(--ab-color-success) 8%, var(--ab-color-surface)), var(--ab-color-surface));grid-template-columns:auto minmax(0,1fr);display:grid}.ab-io-device-group__toggle{align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));width:100%;padding:calc(var(--ab-space-4) * var(--ab-ui-scale));border:0;border-bottom:1px solid var(--ab-color-border);color:inherit;background:linear-gradient(90deg, color-mix(in srgb, var(--ab-color-success) 8%, var(--ab-color-surface)), var(--ab-color-surface));font:inherit;text-align:left;cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.ab-io-device-group__toggle:hover{background:linear-gradient(90deg, color-mix(in srgb, var(--ab-color-success) 13%, var(--ab-color-surface)), var(--ab-color-surface))}.ab-io-device-group__toggle:focus-visible{outline:2px solid var(--ab-color-focus);outline-offset:-3px}.ab-io-device-group__toggle h3{margin:1px 0;font-size:1.05rem}.ab-io-device-group__chevron{border:1px solid var(--ab-color-border);width:1.8rem;height:1.8rem;color:var(--ab-color-text-muted);background:var(--ab-color-surface);border-radius:50%;place-items:center;font-size:1rem;font-weight:700;display:grid}.ab-io-device-group__collapsible[hidden]{display:none}.ab-io-device-group__head h3{margin:1px 0;font-size:1.05rem}.ab-io-device-group__head small{color:var(--ab-color-text-muted)}.ab-io-device-group__details{justify-items:start;gap:2px;min-width:0;display:grid}.ab-io-device-group__connection{flex-wrap:wrap;gap:.35rem;margin-top:2px;line-height:1.35}.ab-io-device-group__network{flex-wrap:wrap;gap:4px 18px;margin-top:5px;display:flex}.ab-io-device-group__network>span{gap:1px;min-width:0;display:grid}.ab-io-device-group__network>span>small{font-size:.68rem}.ab-io-device-group__network strong{overflow-wrap:anywhere;font-size:.78rem;font-weight:650}.ab-io-table__head,.ab-io-row{align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));grid-template-columns:minmax(130px,.95fr) minmax(150px,1.2fr) minmax(125px,1fr) minmax(125px,1fr) minmax(120px,.9fr) minmax(110px,.85fr);display:grid}.ab-io-table__head{padding:calc(var(--ab-space-3) * var(--ab-ui-scale)) calc(var(--ab-space-4) * var(--ab-ui-scale));color:var(--ab-color-text-muted);background:var(--ab-color-surface-muted);border-bottom:1px solid var(--ab-color-border);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;font-weight:700}.ab-io-row{min-height:calc(74px * var(--ab-ui-scale));padding:calc(var(--ab-space-3) * var(--ab-ui-scale)) calc(var(--ab-space-4) * var(--ab-ui-scale));border-bottom:1px solid var(--ab-color-border-soft)}.ab-io-row:last-child{border-bottom:0}.ab-io-row .ab-field,.ab-io-row .ab-select{min-height:calc(40px * var(--ab-ui-scale))}.ab-io-port{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));color:var(--ab-color-success);display:flex}.ab-io-port>span{align-items:center;gap:8px;min-width:0;display:inline-flex}.ab-io-port .ab-interface-state{margin-left:0;line-height:1}.ab-io-port .ab-icon{width:1.35rem;height:1.35rem}.ab-io-duration{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));grid-template-columns:minmax(0,1fr) auto;display:grid}.ab-io-duration span{color:var(--ab-color-text-muted);font-size:.82rem}.ab-io-emergency{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));color:var(--ab-color-text-muted);font-size:.8rem;display:flex}.ab-io-emergency input{width:1.2rem;height:1.2rem;accent-color:var(--ab-color-success)}.ab-io-discovered{margin-top:calc(var(--ab-space-6) * var(--ab-ui-scale))}.ab-device-manager-head{justify-content:space-between;align-items:flex-end;gap:calc(var(--ab-space-4) * var(--ab-ui-scale));display:flex}.ab-live-heading{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));display:flex}.ab-live-indicator{color:var(--ab-color-success);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:5px;font-size:.72rem;font-weight:800;display:inline-flex}.ab-live-indicator i{width:7px;height:7px;box-shadow:0 0 0 4px color-mix(in srgb, currentColor 14%, transparent);background:currentColor;border-radius:50%}.ab-device-manager-block{gap:calc(var(--ab-space-3) * var(--ab-ui-scale));margin-top:calc(var(--ab-space-5) * var(--ab-ui-scale));display:grid}.ab-device-manager-block>h3{letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.82rem}.ab-device-manager-block>h3 span{min-width:1.45rem;height:1.45rem;color:var(--ab-color-text-muted);background:var(--ab-color-surface-muted);border-radius:999px;place-items:center;margin-left:4px;font-size:.75rem;display:inline-grid}.ab-device-card-grid{gap:calc(var(--ab-space-3) * var(--ab-ui-scale));grid-template-columns:minmax(0,1fr);display:grid}.ab-device-card{min-width:0;display:grid;position:relative}.ab-device-card:has(.ab-device-card__actions[open]){z-index:3}.ab-device-card.is-adopted{border-color:color-mix(in srgb, var(--ab-color-success) 45%, var(--ab-color-border))}.ab-device-card.is-offline{border-style:dashed}.ab-device-card>header{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));padding:calc(var(--ab-space-2) * var(--ab-ui-scale)) calc(var(--ab-space-3) * var(--ab-ui-scale));grid-template-columns:auto minmax(0,1fr);display:grid}.ab-device-card>header .ab-discovered-device__icon{width:2.5rem;height:2.5rem}.ab-device-card>header .ab-discovered-device__icon .ab-icon{width:1.35rem;height:1.35rem}.ab-device-card>header h4{margin:0;font-size:1rem}.ab-device-card .ab-discovered-device__title{flex-wrap:wrap}.ab-device-card>header p{color:var(--ab-color-text-muted);margin:4px 0 0;font-size:.78rem}.ab-device-card__connection{color:var(--ab-color-success-text);align-items:center;gap:.35rem;font-size:.76rem;font-weight:700;display:inline-flex}.ab-device-card__connection.is-offline{color:var(--ab-color-warning)}.ab-device-card__connection i{background:currentColor;border-radius:50%;width:.45rem;height:.45rem}.ab-device-card__overview{padding:calc(var(--ab-space-2) * var(--ab-ui-scale)) calc(var(--ab-space-3) * var(--ab-ui-scale));border-block:1px solid var(--ab-color-border-soft);background:var(--ab-color-surface-muted);color:var(--ab-color-text);flex-wrap:wrap;gap:.35rem 1.25rem;font-size:.82rem;display:flex}.ab-device-card__technical{padding:.35rem calc(var(--ab-space-3) * var(--ab-ui-scale));border-bottom:1px solid var(--ab-color-border-soft);color:var(--ab-color-text-muted);font-size:.76rem}.ab-device-card__technical h5{color:var(--ab-color-text-muted);margin:0;font-size:.74rem;font-weight:650}.ab-device-card__technical dl{flex-wrap:wrap;gap:.45rem 1.4rem;margin:.5rem 0 .2rem;display:flex}.ab-device-card__technical dl>div{gap:1px;display:grid}.ab-device-card__technical dt{color:var(--ab-color-text-muted)}.ab-device-card__technical dd{color:var(--ab-color-text);margin:0;font-weight:700}.ab-device-card>footer{justify-content:flex-end;align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));padding:calc(var(--ab-space-2) * var(--ab-ui-scale)) calc(var(--ab-space-3) * var(--ab-ui-scale));display:flex}.ab-device-card__actions{position:relative}.ab-device-card__actions summary{border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-sm);min-height:2.25rem;color:var(--ab-color-text);background:var(--ab-color-surface);cursor:pointer;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.8rem;list-style:none;display:inline-flex}.ab-device-card__actions summary::-webkit-details-marker{display:none}.ab-device-card__actions summary .ab-icon{width:.8rem;height:.8rem;transform:rotate(90deg)}.ab-device-card__actions[open] summary .ab-icon{transform:rotate(-90deg)}.ab-device-card__actions-panel{z-index:4;border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-sm);background:var(--ab-color-surface);min-width:11.5rem;box-shadow:var(--ab-shadow-md);padding:.3rem;position:absolute;top:calc(100% + 4px);right:0}.ab-device-card__actions-panel button{border-radius:var(--ab-radius-sm);width:100%;color:var(--ab-color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:.5rem .55rem;font-size:.8rem;display:block}.ab-device-card__actions-panel button:hover:not(:disabled){background:var(--ab-color-surface-muted)}.ab-device-card__actions-panel button.is-danger{color:var(--ab-color-danger)}.ab-device-card__actions-panel button:disabled{opacity:.5;cursor:not-allowed}.ab-adoption-dialog{gap:calc(var(--ab-space-4) * var(--ab-ui-scale));width:min(92vw,560px);padding:calc(var(--ab-space-5) * var(--ab-ui-scale));border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-lg);background:var(--ab-color-surface);box-shadow:var(--ab-shadow-lg);display:grid}.ab-adoption-dialog>header{align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));grid-template-columns:auto minmax(0,1fr) auto;display:grid}.ab-adoption-dialog>header h2{margin:2px 0}.ab-adoption-dialog>header p{color:var(--ab-color-text-muted);margin:0;font-size:.8rem}.ab-adoption-dialog>label{gap:calc(var(--ab-space-2) * var(--ab-ui-scale));display:grid}.ab-adoption-dialog>footer{justify-content:flex-end;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));display:flex}.ab-discovered-device{align-items:center;gap:calc(var(--ab-space-5) * var(--ab-ui-scale));padding:calc(var(--ab-space-5) * var(--ab-ui-scale));grid-template-columns:auto minmax(0,1fr) auto;display:grid}.ab-discovered-device__icon{border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-sm);width:3.5rem;height:3.5rem;color:var(--ab-color-text);place-items:center;display:grid}.ab-discovered-device__icon .ab-icon{width:2rem;height:2rem}.ab-discovered-device__title{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));display:flex}.ab-discovered-device__title h3{margin:0;font-size:1.05rem}.ab-discovered-device__facts{margin-top:calc(var(--ab-space-3) * var(--ab-ui-scale));flex-wrap:wrap;display:flex}.ab-discovered-device__facts>span{min-width:115px;padding:0 calc(var(--ab-space-3) * var(--ab-ui-scale));border-left:1px solid var(--ab-color-border-soft);gap:2px;display:grid}.ab-discovered-device__facts>span:first-child{border-left:0;padding-left:0}.ab-discovered-device__facts small{color:var(--ab-color-text-muted)}.ab-discovered-device__facts strong{font-size:.86rem;font-weight:600}.ab-discovered-device__action{justify-items:end;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));text-align:right;display:grid}.ab-discovered-device__action small{color:var(--ab-color-text-muted)}.ab-holidays-page-head{margin-bottom:calc(var(--ab-space-6) * var(--ab-ui-scale))}.ab-holidays-page-actions{align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));display:flex}.ab-holidays-calendar-notice{margin:0 0 calc(var(--ab-space-5) * var(--ab-ui-scale))}.ab-holidays-calendar-notice span{gap:.15rem;display:grid}.ab-holidays-calendar-notice small{color:var(--ab-color-text-muted)}.ab-holiday-section-head{margin-bottom:calc(var(--ab-space-3) * var(--ab-ui-scale));align-items:flex-end}.ab-holiday-section-head p{margin:calc(var(--ab-space-1) * var(--ab-ui-scale)) 0 0;color:var(--ab-color-text-muted)}.ab-holiday-list{gap:calc(var(--ab-space-2) * var(--ab-ui-scale));display:grid}.ab-holiday-row{z-index:0;align-items:center;gap:calc(var(--ab-space-4) * var(--ab-ui-scale));min-height:calc(70px * var(--ab-ui-scale));padding:calc(var(--ab-space-3) * var(--ab-ui-scale)) calc(var(--ab-space-4) * var(--ab-ui-scale));border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-md);background:var(--ab-color-surface);box-shadow:var(--ab-shadow-sm);grid-template-columns:auto minmax(180px,1.25fr) minmax(115px,.7fr) minmax(105px,.75fr) minmax(80px,.45fr) auto auto;display:grid;position:relative}.ab-holiday-row.is-today{border-left:4px solid var(--ab-color-success);background:linear-gradient(135deg, var(--ab-status-card-gradient-start), var(--ab-status-card-gradient-end))}.ab-holiday-row:has(.ab-menu.is-open){z-index:5}.ab-holiday-row__icon{width:2.7rem;height:2.7rem;color:var(--ab-color-success);border:1px solid;border-radius:50%;place-items:center;display:grid}.ab-holiday-row__icon .ab-icon{width:1.35rem;height:1.35rem}.ab-holiday-row__identity h3{margin:0;font-size:1rem}.ab-holiday-row__mobile-type{color:var(--ab-color-text-muted);font-size:.8rem;display:none}.ab-holiday-date{padding:calc(var(--ab-space-2) * var(--ab-ui-scale)) calc(var(--ab-space-3) * var(--ab-ui-scale));color:var(--ab-color-text);border-radius:var(--ab-radius-sm);background:var(--ab-color-surface-selected);white-space:nowrap;justify-self:start;font-weight:700}.ab-holiday-type,.ab-holiday-detected-copy,.ab-calendar-source{color:var(--ab-color-text-muted)}.ab-holiday-today{justify-content:center;min-width:64px;display:flex}.ab-holiday-menu{position:relative}.ab-holiday-menu .ab-menu__panel{min-width:120px;top:calc(100% + 6px);left:auto;right:0}.ab-calendar-holidays{margin-top:calc(var(--ab-space-7) * var(--ab-ui-scale));padding-top:calc(var(--ab-space-6) * var(--ab-ui-scale));border-top:1px solid var(--ab-color-border)}.ab-holiday-gap-note{margin:0 0 calc(var(--ab-space-3) * var(--ab-ui-scale));color:var(--ab-color-text-muted);font-size:.85rem}.ab-holiday-heading-line,.ab-calendar-source{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));display:flex}.ab-holiday-row--detected{border-left:4px solid var(--ab-color-warning);grid-template-columns:auto minmax(180px,1.25fr) minmax(140px,.8fr) minmax(90px,.65fr) minmax(140px,.8fr) auto}.ab-holiday-row--detected .ab-holiday-row__icon{color:var(--ab-color-warning)}.ab-holiday-row--detected .ab-holiday-date{background:color-mix(in srgb, var(--ab-color-warning) 22%, var(--ab-color-surface-muted))}.ab-holiday-dialog{border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-lg);background:var(--ab-color-surface);width:min(600px,100vw - 32px);box-shadow:var(--ab-shadow-lg);overflow:hidden}.ab-holiday-dialog .ab-dialog-header{padding:calc(var(--ab-space-5) * var(--ab-ui-scale))}.ab-holiday-form{gap:calc(var(--ab-space-4) * var(--ab-ui-scale));padding:calc(var(--ab-space-5) * var(--ab-ui-scale));border-top:1px solid var(--ab-color-border);border-bottom:1px solid var(--ab-color-border);display:grid}.ab-holiday-form__dates{gap:calc(var(--ab-space-3) * var(--ab-ui-scale));grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ab-holiday-dialog .ab-dialog-footer{padding:calc(var(--ab-space-4) * var(--ab-ui-scale)) calc(var(--ab-space-5) * var(--ab-ui-scale))}.ab-emergency-page-head{margin-bottom:calc(var(--ab-space-5) * var(--ab-ui-scale))}.ab-global-emergency{top:calc(var(--ab-space-2) * var(--ab-ui-scale));z-index:25;align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));width:min(100%, var(--ab-content-max));margin:0 auto calc(var(--ab-space-3) * var(--ab-ui-scale));padding:calc(var(--ab-space-3) * var(--ab-ui-scale)) calc(var(--ab-space-4) * var(--ab-ui-scale));color:#fff;border:1px solid color-mix(in srgb, var(--ab-color-danger) 74%, #fff);border-radius:var(--ab-radius-md);background:linear-gradient(135deg, color-mix(in srgb, var(--ab-color-danger) 88%, #40111b), color-mix(in srgb, var(--ab-color-danger) 70%, #35101a));box-shadow:0 10px 28px color-mix(in srgb, var(--ab-color-danger) 28%, transparent);grid-template-columns:auto minmax(0,1fr) auto;display:grid;position:sticky}.ab-global-emergency__icon{background:#ffffff21;border-radius:50%;place-items:center;width:2.35rem;height:2.35rem;display:grid}.ab-global-emergency__icon .ab-icon{width:1.35rem;height:1.35rem}.ab-global-emergency__copy{gap:2px;min-width:0;display:grid}.ab-global-emergency__copy strong{font-size:.94rem}.ab-global-emergency__copy small{color:#ffffffd1;font-size:.78rem}.ab-global-emergency .ab-btn--danger{color:#7f1528;background:#fff;border-color:#fff;box-shadow:0 2px 8px #2e050d33}.ab-global-emergency .ab-btn--danger:hover:not(:disabled){color:#610d1c;background:#fff4f6}.ab-emergency-help{margin-bottom:calc(var(--ab-space-5) * var(--ab-ui-scale));padding:calc(var(--ab-space-4) * var(--ab-ui-scale));align-items:center}.ab-emergency-help>.ab-icon{width:2rem;height:2rem}.ab-emergency-help>span{gap:3px;display:grid}.ab-emergency-help strong{color:var(--ab-color-text)}.ab-emergency-help small{color:var(--ab-color-text-muted);font-size:.88rem}.ab-emergency-list{gap:calc(var(--ab-space-4) * var(--ab-ui-scale));display:grid}.ab-emergency-pattern{--ab-emergency-accent:var(--ab-color-warning);align-items:center;gap:calc(var(--ab-space-5) * var(--ab-ui-scale));min-height:calc(142px * var(--ab-ui-scale));padding:calc(var(--ab-space-5) * var(--ab-ui-scale));border-left:5px solid var(--ab-emergency-accent);background:linear-gradient(135deg, var(--ab-status-card-gradient-start), var(--ab-status-card-gradient-end));grid-template-columns:auto minmax(210px,1.15fr) minmax(150px,.75fr) minmax(150px,.75fr) auto;display:grid;position:relative}.ab-emergency-pattern--fire{--ab-emergency-accent:#f97316}.ab-emergency-pattern--lockdown{--ab-emergency-accent:var(--ab-color-danger)}.ab-emergency-pattern__icon{width:4.25rem;height:4.25rem;color:var(--ab-emergency-accent);border:2px solid;border-radius:50%;place-items:center;display:grid}.ab-emergency-pattern__icon .ab-icon{stroke-width:1.6px;width:2.4rem;height:2.4rem}.ab-emergency-pattern__identity h2,.ab-emergency-pattern__identity p{margin:0}.ab-emergency-pattern__identity h2{font-size:1.2rem}.ab-emergency-pattern__identity p{max-width:240px;margin-top:calc(var(--ab-space-2) * var(--ab-ui-scale));color:var(--ab-color-text-muted);line-height:1.45}.ab-emergency-time{gap:calc(var(--ab-space-2) * var(--ab-ui-scale));color:var(--ab-color-text-muted);display:grid}.ab-emergency-time__control{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));display:flex}.ab-emergency-time .ab-select{width:92px;min-height:calc(42px * var(--ab-ui-scale))}.ab-emergency-time small{color:var(--ab-color-text-muted)}.ab-emergency-pattern.is-testing{box-shadow:0 0 0 1px var(--ab-emergency-accent), 0 0 24px color-mix(in srgb, var(--ab-emergency-accent) 28%, transparent)}.ab-emergency-pattern.is-active{box-shadow:0 0 0 2px var(--ab-emergency-accent), 0 8px 24px color-mix(in srgb, var(--ab-emergency-accent) 24%, transparent)}.ab-emergency-pattern.is-active .ab-action-active{color:var(--ab-emergency-accent)}:root[data-theme=light] .ab-emergency-pattern.is-active{background:color-mix(in srgb, var(--ab-emergency-accent) 10%, var(--ab-color-surface))}.ab-emergency-testing{right:calc(var(--ab-space-4) * var(--ab-ui-scale));bottom:calc(var(--ab-space-2) * var(--ab-ui-scale));color:var(--ab-emergency-accent);align-items:center;gap:6px;font-size:.75rem;display:flex;position:absolute}.ab-emergency-testing__pulse{background:currentColor;border-radius:50%;width:7px;height:7px;animation:.85s ease-in-out infinite alternate ab-emergency-pulse}@keyframes ab-emergency-pulse{to{opacity:.25;transform:scale(.7)}}.ab-emergency-footer{justify-content:space-between;align-items:center;gap:calc(var(--ab-space-4) * var(--ab-ui-scale));margin-top:calc(var(--ab-space-5) * var(--ab-ui-scale));display:flex}.ab-emergency-footer p{align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));color:var(--ab-color-text-muted);margin:0;display:flex}.ab-emergency-footer__icon{width:2.6rem;height:2.6rem;color:var(--ab-color-success);border:1px solid;border-radius:50%;place-items:center;display:grid}.ab-emergency-footer>div{gap:calc(var(--ab-space-3) * var(--ab-ui-scale));display:flex}.ab-ring-page-head{margin-bottom:calc(var(--ab-space-6) * var(--ab-ui-scale))}.ab-ring-section-head{margin-bottom:calc(var(--ab-space-4) * var(--ab-ui-scale));align-items:flex-end}.ab-ring-section-head p{margin:calc(var(--ab-space-2) * var(--ab-ui-scale)) 0 0;color:var(--ab-color-text-muted)}.ab-output-control-grid{gap:calc(var(--ab-space-5) * var(--ab-ui-scale));grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ab-output-control{align-items:center;gap:calc(var(--ab-space-5) * var(--ab-ui-scale));min-height:calc(190px * var(--ab-ui-scale));padding:calc(var(--ab-space-6) * var(--ab-ui-scale));background:linear-gradient(135deg, var(--ab-status-card-gradient-start), var(--ab-status-card-gradient-end));grid-template-columns:auto minmax(0,1fr);display:grid;position:relative;overflow:hidden}.ab-output-control__icon{width:4.4rem;height:4.4rem;color:var(--ab-color-success);border:1px solid;border-radius:50%;place-items:center;display:grid;position:relative}.ab-output-control__icon .ab-icon{width:2.4rem;height:2.4rem}:root[data-theme=dark] .ab-output-control__icon{color:var(--ab-color-text-soft);background:#ffffff06;border-color:#cedaeb26}.ab-output-control h3,.ab-output-control p{margin:0}.ab-output-control h3{font-size:1.25rem}.ab-output-control p{margin-top:calc(var(--ab-space-2) * var(--ab-ui-scale));color:var(--ab-color-text-muted)}.ab-output-control>.ab-btn{grid-column:2}.ab-output-control.is-active{box-shadow:0 0 0 1px var(--ab-color-success), 0 0 24px color-mix(in srgb, var(--ab-color-success) 24%, transparent)}.ab-output-control__pulse{pointer-events:none;border:1px solid;border-radius:50%;animation:.9s ease-out infinite ab-output-pulse;position:absolute;inset:-1px}@keyframes ab-output-pulse{to{opacity:0;transform:scale(1.45)}}.ab-ring-adopted-group{margin-top:calc(var(--ab-space-6) * var(--ab-ui-scale));gap:calc(var(--ab-space-4) * var(--ab-ui-scale));display:grid}.ab-ring-adopted-group__head{align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));flex-wrap:wrap;display:flex}.ab-ring-adopted-group__head .ab-icon{width:1.5rem;height:1.5rem;color:var(--ab-color-text-muted)}.ab-ring-adopted-group__head h3{flex:auto;min-width:0;margin:0;font-size:1.05rem}.ab-ring-emergency{margin-top:calc(var(--ab-space-7) * var(--ab-ui-scale));padding-top:calc(var(--ab-space-6) * var(--ab-ui-scale));border-top:1px solid var(--ab-color-border)}.ab-emergency-action-grid{gap:calc(var(--ab-space-4) * var(--ab-ui-scale));grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.ab-emergency-action-card{--ab-action-accent:var(--ab-color-warning);gap:calc(var(--ab-space-4) * var(--ab-ui-scale));min-height:calc(180px * var(--ab-ui-scale));padding:calc(var(--ab-space-5) * var(--ab-ui-scale));border-left:5px solid var(--ab-action-accent);background:linear-gradient(135deg, var(--ab-status-card-gradient-start), var(--ab-status-card-gradient-end));display:grid;position:relative}.ab-emergency-action-card--fire{--ab-action-accent:#f97316}.ab-emergency-action-card--lockdown{--ab-action-accent:var(--ab-color-danger)}.ab-emergency-action-card__body{align-items:center;gap:calc(var(--ab-space-4) * var(--ab-ui-scale));display:flex}.ab-emergency-action-card__icon{width:3.8rem;height:3.8rem;color:var(--ab-action-accent);border:1px solid;border-radius:50%;place-items:center;display:grid}.ab-emergency-action-card__icon .ab-icon{width:2rem;height:2rem}.ab-emergency-action-card h3,.ab-emergency-action-card p{margin:0}.ab-emergency-action-card h3{font-size:1.2rem}.ab-emergency-action-card p{margin-top:calc(var(--ab-space-2) * var(--ab-ui-scale));color:var(--ab-color-text-muted)}.ab-emergency-action-card>.ab-btn{color:var(--ab-action-accent);border-color:var(--ab-action-accent)}.ab-emergency-action-card>.ab-btn--danger,.ab-emergency-pattern>.ab-btn--danger{color:#fff;border-color:var(--ab-color-danger);background:var(--ab-color-danger)}.ab-emergency-action-card.is-active{box-shadow:0 0 0 1px var(--ab-action-accent), 0 0 24px color-mix(in srgb, var(--ab-action-accent) 25%, transparent)}.ab-action-active{right:calc(var(--ab-space-4) * var(--ab-ui-scale));top:calc(var(--ab-space-3) * var(--ab-ui-scale));color:var(--ab-action-accent);align-items:center;gap:6px;font-size:.75rem;font-weight:700;display:flex;position:absolute}.ab-action-active>span{background:currentColor;border-radius:50%;width:7px;height:7px}:root[data-theme=light] .ab-emergency-action-card.is-active{background:color-mix(in srgb, var(--ab-action-accent) 12%, var(--ab-color-surface));box-shadow:0 0 0 2px var(--ab-action-accent), 0 8px 24px color-mix(in srgb, var(--ab-action-accent) 28%, transparent)}:root[data-theme=light] .ab-emergency-action-card.is-active .ab-action-active{border:1px solid color-mix(in srgb, var(--ab-action-accent) 55%, transparent);background:color-mix(in srgb, var(--ab-action-accent) 16%, var(--ab-color-surface));border-radius:999px;padding:4px 8px}.ab-action-confirm{--ab-action-accent:var(--ab-color-warning);width:min(520px,100vw - 32px);padding:calc(var(--ab-space-5) * var(--ab-ui-scale));border:1px solid var(--ab-action-accent);border-radius:var(--ab-radius-lg);background:var(--ab-color-surface);box-shadow:var(--ab-shadow-lg)}.ab-action-confirm--fire{--ab-action-accent:#f97316}.ab-action-confirm--lockdown{--ab-action-accent:var(--ab-color-danger)}.ab-action-confirm header{align-items:flex-start;gap:calc(var(--ab-space-4) * var(--ab-ui-scale));display:flex}.ab-action-confirm__icon{width:3.4rem;height:3.4rem;color:var(--ab-action-accent);border:1px solid;border-radius:50%;place-items:center;display:grid}.ab-action-confirm h2,.ab-action-confirm p{margin:0}.ab-action-confirm h2{margin-top:calc(var(--ab-space-3) * var(--ab-ui-scale))}.ab-action-confirm p{margin-top:calc(var(--ab-space-2) * var(--ab-ui-scale));color:var(--ab-color-text-muted);line-height:1.5}.ab-action-confirm .ab-mode-notice{margin-top:calc(var(--ab-space-4) * var(--ab-ui-scale))}.ab-action-confirm footer{justify-content:flex-end;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));margin-top:calc(var(--ab-space-5) * var(--ab-ui-scale));display:flex}.ab-button-config-page-head{margin-bottom:calc(var(--ab-space-5) * var(--ab-ui-scale))}.ab-button-config-notice{margin-bottom:calc(var(--ab-space-5) * var(--ab-ui-scale));padding:calc(var(--ab-space-4) * var(--ab-ui-scale));align-items:center}.ab-button-config-notice>.ab-icon{flex:none;width:1.8rem;height:1.8rem}.ab-button-config-notice>span{gap:3px;display:grid}.ab-button-config-notice strong{color:var(--ab-color-text)}.ab-button-config-notice small{color:var(--ab-color-text-muted);font-size:.86rem;line-height:1.4}.ab-button-config-section-head{margin-bottom:calc(var(--ab-space-3) * var(--ab-ui-scale));align-items:flex-end}.ab-button-config-section-head p{margin:calc(var(--ab-space-1) * var(--ab-ui-scale)) 0 0;color:var(--ab-color-text-muted)}.ab-input-mapping-card{background:linear-gradient(135deg, var(--ab-status-card-gradient-start), var(--ab-status-card-gradient-end));padding:0;overflow:hidden}.ab-input-mapping-card__header{align-items:center;gap:calc(var(--ab-space-4) * var(--ab-ui-scale));padding:calc(var(--ab-space-5) * var(--ab-ui-scale));border-bottom:1px solid var(--ab-color-border);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.ab-input-mapping-card__icon{width:3.75rem;height:3.75rem;color:var(--ab-color-success);background:var(--ab-color-surface-muted);border:1px solid;border-radius:50%;place-items:center;display:grid}.ab-input-mapping-card__icon .ab-icon{width:2rem;height:2rem}.ab-input-mapping-card__eyebrow{color:var(--ab-color-success-text);letter-spacing:.09em;text-transform:uppercase;font-size:.7rem;font-weight:800}.ab-input-mapping-card__header h2,.ab-input-mapping-card__header p{margin:0}.ab-input-mapping-card__header h2{margin-top:3px;font-size:1.2rem}.ab-input-mapping-card__header p{color:var(--ab-color-text-muted);margin-top:3px;font-size:.84rem}.ab-input-mapping-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr);display:grid}.ab-assignment-group{min-width:0;padding:calc(var(--ab-space-5) * var(--ab-ui-scale) + 8px);border:0;margin:0}.ab-assignment-group+.ab-assignment-group{border-left:1px solid var(--ab-color-border)}.ab-assignment-group>legend{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ab-assignment-group__heading{gap:calc(var(--ab-space-1) * var(--ab-ui-scale));margin-bottom:calc(var(--ab-space-4) * var(--ab-ui-scale));display:grid}.ab-assignment-group__heading h3,.ab-assignment-group__heading p{margin:0}.ab-assignment-group__heading h3{color:var(--ab-color-text);font-size:1rem;font-weight:750}.ab-assignment-group__heading p{color:var(--ab-color-text-muted);font-size:.84rem;line-height:1.4}.ab-assignment-list{gap:calc(var(--ab-space-3) * var(--ab-ui-scale));grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ab-assignment-group--emergency .ab-assignment-list{grid-template-columns:repeat(3,minmax(0,1fr))}.ab-assignment-option{--ab-assignment-accent:var(--ab-color-success);align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));min-height:calc(82px * var(--ab-ui-scale));padding:calc(var(--ab-space-3) * var(--ab-ui-scale));cursor:pointer;border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-md);background:var(--ab-color-surface-muted);grid-template-columns:auto minmax(0,1fr) auto;transition:border-color .12s,background-color .12s,transform .12s;display:grid;position:relative}.ab-assignment-option:hover{border-color:var(--ab-assignment-accent);transform:translateY(-1px)}.ab-assignment-option:focus-within{outline:2px solid var(--ab-color-focus);outline-offset:2px}.ab-assignment-option.is-selected{border-color:var(--ab-assignment-accent);background:color-mix(in srgb, var(--ab-assignment-accent) 13%, var(--ab-color-surface-muted));box-shadow:inset 4px 0 var(--ab-assignment-accent)}.ab-assignment-option input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.ab-assignment-option__icon{width:2.6rem;height:2.6rem;color:var(--ab-assignment-accent);border:1px solid;border-radius:50%;place-items:center;display:grid}.ab-assignment-option__icon .ab-icon{width:1.3rem;height:1.3rem}.ab-assignment-option__copy{gap:3px;min-width:0;display:grid}.ab-assignment-option__copy strong{overflow-wrap:anywhere;font-size:.9rem}.ab-assignment-option__copy small{color:var(--ab-color-text-muted);font-size:.73rem;line-height:1.3}.ab-assignment-option__check{width:1.35rem;height:1.35rem;color:var(--ab-color-surface);border:1px solid var(--ab-color-border);background:var(--ab-color-surface);border-radius:5px;place-items:center;font-size:.78rem;font-weight:800;display:grid}.ab-assignment-option.is-selected .ab-assignment-option__check{border-color:var(--ab-assignment-accent);background:var(--ab-assignment-accent)}.ab-assignment-option--disaster{--ab-assignment-accent:var(--ab-color-warning)}.ab-assignment-option--fire{--ab-assignment-accent:#f97316}.ab-assignment-option--lockdown{--ab-assignment-accent:var(--ab-color-danger)}.ab-input-mapping-card__footer{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));min-height:calc(52px * var(--ab-ui-scale));padding:calc(var(--ab-space-3) * var(--ab-ui-scale)) calc(var(--ab-space-5) * var(--ab-ui-scale));color:var(--ab-color-text-muted);border-top:1px solid var(--ab-color-border);background:var(--ab-color-surface-muted);font-size:.82rem;display:flex}.ab-input-mapping-card__footer .ab-icon{flex:none;width:1.1rem;height:1.1rem}.ab-button-config-save-bar{justify-content:space-between;align-items:center;gap:calc(var(--ab-space-4) * var(--ab-ui-scale));margin-top:calc(var(--ab-space-4) * var(--ab-ui-scale));padding:calc(var(--ab-space-4) * var(--ab-ui-scale)) calc(var(--ab-space-5) * var(--ab-ui-scale));display:flex}.ab-button-config-save-bar:not(.is-visible){visibility:hidden}.ab-button-config-save-bar p{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));color:var(--ab-color-text-muted);margin:0;display:flex}.ab-button-config-save-bar p .ab-icon{width:1.1rem;height:1.1rem}.ab-button-config-save-bar>div{gap:calc(var(--ab-space-3) * var(--ab-ui-scale));display:flex}@media (max-width:760px){.ab-schedule-detail-dialog,.ab-schedule-detail-dialog .ab-dialog-stage{max-height:calc(100vh - 16px)}.ab-schedule-detail__body{padding:calc(var(--ab-space-4) * var(--ab-ui-scale))}.ab-schedule-detail__summary{grid-template-columns:1fr}.ab-schedule-detail__summary>div{border-top:1px solid var(--ab-color-border);border-left:0}.ab-schedule-detail__summary>div:first-child{border-top:0}.ab-schedule-detail__event{grid-template-columns:auto minmax(0,1fr)}.ab-schedule-detail__days{grid-column:2;justify-content:flex-start}.ab-page-head>.ab-badge{align-self:flex-start}.ab-status-grid{grid-template-columns:1fr}.ab-status-card--next{grid-column:auto;min-height:0}.ab-device-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.ab-device-summary .ab-summary__item{min-width:0;padding:calc(var(--ab-space-3) * var(--ab-ui-scale));border-top:0}.ab-device-summary .ab-summary__item:nth-child(odd){border-left:0}.ab-device-summary .ab-summary__item:nth-child(n+3){border-top:1px solid var(--ab-color-border)}.ab-network-interface-summary .ab-interface-state{display:none}.ab-input-mapping-grid{grid-template-columns:1fr}.ab-assignment-group+.ab-assignment-group{border-top:1px solid var(--ab-color-border);border-left:0}.ab-assignment-list,.ab-assignment-group--emergency .ab-assignment-list{grid-template-columns:1fr}.ab-input-mapping-card__header{grid-template-columns:auto minmax(0,1fr)}.ab-input-mapping-card__header>.ab-badge{grid-column:2;justify-self:start}.ab-button-config-save-bar{flex-direction:column;align-items:stretch}.ab-button-config-save-bar>div{grid-template-columns:1fr;display:grid}.ab-network-form-grid,.ab-system-grid{grid-template-columns:1fr}.ab-system-grid>.ab-system-maintenance{grid-area:auto}.ab-network-setting-row{gap:calc(var(--ab-space-2) * var(--ab-ui-scale));padding:calc(var(--ab-space-3) * var(--ab-ui-scale)) 0;grid-template-columns:1fr}.ab-network-setting-row__control{justify-content:flex-start}.ab-network-setting-row__control .ab-field,.ab-network-setting-row__control .ab-select{width:100%}.ab-network-save-bar{flex-direction:column;align-items:stretch}.ab-network-save-bar>div{grid-template-columns:1fr 1fr;display:grid}.ab-network-save-bar .ab-btn{width:100%}.ab-system-action{grid-template-columns:auto minmax(0,1fr)}.ab-system-action .ab-btn{grid-column:2;justify-self:start}.ab-factory-reset-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);overflow-y:auto}.ab-factory-reset-dialog__header{padding:calc(var(--ab-space-4) * var(--ab-ui-scale));grid-template-columns:auto minmax(0,1fr) auto}.ab-factory-reset-options{padding:calc(var(--ab-space-4) * var(--ab-ui-scale))}.ab-factory-reset-hardware{margin:0 calc(var(--ab-space-4) * var(--ab-ui-scale)) calc(var(--ab-space-4) * var(--ab-ui-scale))}.ab-factory-reset-dialog>footer{padding:calc(var(--ab-space-3) * var(--ab-ui-scale)) calc(var(--ab-space-4) * var(--ab-ui-scale));grid-template-columns:1fr;display:grid;position:sticky;bottom:0}.ab-factory-reset-dialog>footer .ab-btn{width:100%}.ab-io-table{box-shadow:none;background:0 0;border:0}.ab-io-device-group__head{grid-template-columns:auto minmax(0,1fr)}.ab-io-device-group__network{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:7px 12px;width:100%;display:grid}.ab-io-device-group__head .ab-btn{grid-column:1/-1;width:100%}.ab-io-table__head{display:none}.ab-io-table__body{gap:calc(var(--ab-space-3) * var(--ab-ui-scale));display:grid}.ab-io-row{gap:calc(var(--ab-space-3) * var(--ab-ui-scale));padding:calc(var(--ab-space-4) * var(--ab-ui-scale));border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-md);background:var(--ab-color-surface);grid-template-columns:repeat(2,minmax(0,1fr))}.ab-io-row>label,.ab-io-port{gap:calc(var(--ab-space-1) * var(--ab-ui-scale));display:grid}.ab-io-row>label:before{content:attr(data-label);color:var(--ab-color-text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:700}.ab-io-port{grid-column:1/-1;grid-template-columns:auto 1fr;align-items:center}.ab-io-emergency{grid-column:1/-1;grid-template-columns:auto 1fr}.ab-io-emergency:before{display:none}.ab-discovered-device{padding:calc(var(--ab-space-4) * var(--ab-ui-scale));grid-template-columns:auto minmax(0,1fr)}.ab-discovered-device__action{text-align:left;grid-column:1/-1;justify-items:stretch}.ab-discovered-device__action .ab-btn{width:100%}.ab-discovered-device__facts>span{min-width:0;padding:calc(var(--ab-space-2) * var(--ab-ui-scale)) 0;border-left:0;border-top:1px solid var(--ab-color-border-soft);width:50%}.ab-device-manager-head{flex-direction:column;align-items:stretch}.ab-device-card-grid{grid-template-columns:1fr}.ab-device-card>header{padding:calc(var(--ab-space-2) * var(--ab-ui-scale))}.ab-device-card>header .ab-discovered-device__icon{width:2.25rem;height:2.25rem}.ab-device-card>header .ab-discovered-device__icon .ab-icon{width:1.2rem;height:1.2rem}.ab-device-card>footer .ab-btn{flex:1}.ab-adoption-dialog{width:calc(100vw - 24px);padding:calc(var(--ab-space-4) * var(--ab-ui-scale))}.ab-holidays-page-actions{width:100%}.ab-holidays-page-actions .ab-btn{flex:1}.ab-holiday-section-head{align-items:flex-start}.ab-holiday-row,.ab-holiday-row--detected{gap:calc(var(--ab-space-3) * var(--ab-ui-scale));grid-template-columns:auto minmax(0,1fr) auto}.ab-holiday-list{gap:calc(var(--ab-space-2) * var(--ab-ui-scale))}.ab-holiday-row,.ab-holiday-row--detected{min-height:0;padding:calc(var(--ab-space-2) * var(--ab-ui-scale)) calc(var(--ab-space-3) * var(--ab-ui-scale));gap:calc(var(--ab-space-2) * var(--ab-ui-scale))}.ab-holiday-row__icon{width:2.25rem;height:2.25rem}.ab-holiday-row__icon .ab-icon{width:1.1rem;height:1.1rem}.ab-holiday-row__identity h3{font-size:.92rem}.ab-holiday-row__mobile-type{margin-top:1px;font-size:.72rem;display:block}.ab-holiday-date{grid-column:2;padding:3px 8px;font-size:.82rem}.ab-holiday-type,.ab-holiday-detected-copy{display:none}.ab-holiday-today{grid-area:1/3;min-width:0}.ab-holiday-row>.ab-btn{grid-column:2;justify-self:start;min-height:30px;padding:5px 10px;font-size:.78rem}.ab-holiday-menu{grid-area:2/3}.ab-holiday-menu .ab-icon-btn{width:30px;height:30px}.ab-calendar-source{display:none}.ab-holiday-form__dates{grid-template-columns:1fr}.ab-emergency-pattern{gap:calc(var(--ab-space-4) * var(--ab-ui-scale));grid-template-columns:auto minmax(0,1fr)}.ab-emergency-pattern__identity p{max-width:none}.ab-emergency-time{grid-column:span 1}.ab-emergency-pattern>.ab-btn{grid-column:1/-1;width:100%}.ab-emergency-testing{grid-column:1/-1;position:static}.ab-emergency-footer{flex-direction:column;align-items:stretch}.ab-emergency-footer>div{grid-template-columns:1fr;display:grid}.ab-output-control-grid,.ab-emergency-action-grid{grid-template-columns:1fr}.ab-output-control{grid-template-columns:auto minmax(0,1fr)}.ab-output-control>.ab-btn{grid-column:1/-1}.ab-ring-section-head{align-items:flex-start}.ab-action-confirm footer{grid-template-columns:1fr;display:grid}}@media (prefers-reduced-motion:reduce){.ab-app,.ab-side-nav,.ab-side-nav .ab-nav-link,.ab-nav-link__label{transition:none}.ab-tooltip{animation:none}}@media (max-width:980px) and (min-width:621px){.ab-emergency-action-grid{grid-template-columns:1fr}}@media (max-width:1100px) and (min-width:621px){.ab-emergency-pattern{grid-template-columns:auto minmax(180px,1fr) repeat(2,minmax(130px,.65fr))}.ab-emergency-pattern>.ab-btn{grid-column:2/-1;justify-self:end}}@media (max-width:980px) and (min-width:621px){.ab-device-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.ab-device-summary .ab-summary__item:nth-child(odd){border-left:0}.ab-device-summary .ab-summary__item:nth-child(n+3){border-top:1px solid var(--ab-color-border)}.ab-input-mapping-grid{grid-template-columns:1fr}.ab-assignment-group+.ab-assignment-group{border-top:1px solid var(--ab-color-border);border-left:0}.ab-network-form-grid,.ab-system-grid{grid-template-columns:1fr}.ab-io-table__head,.ab-io-row{grid-template-columns:minmax(110px,.85fr) minmax(120px,1.05fr) minmax(105px,.9fr) minmax(105px,.9fr) minmax(100px,.75fr)}.ab-io-table__head>:last-child,.ab-io-row>:last-child{display:none}.ab-discovered-device{grid-template-columns:auto minmax(0,1fr)}.ab-discovered-device__action{text-align:left;grid-column:1/-1;justify-items:start}}.ab-users-page__head-actions{align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));display:flex}.ab-users-page .ab-section-head p{margin:calc(var(--ab-space-1) * var(--ab-ui-scale)) 0 0;color:var(--ab-color-text-muted)}.ab-user-list{gap:calc(var(--ab-space-3) * var(--ab-ui-scale));display:grid}.ab-user-card{align-items:center;gap:calc(var(--ab-space-4) * var(--ab-ui-scale));min-height:calc(94px * var(--ab-ui-scale));padding:calc(var(--ab-space-4) * var(--ab-ui-scale));border-left:4px solid var(--ab-color-success);grid-template-columns:minmax(260px,1.55fr) minmax(140px,.72fr) minmax(105px,.52fr) minmax(105px,.52fr) auto;display:grid}.ab-user-card.is-disabled{border-left-color:var(--ab-color-border);opacity:.78}.ab-user-card__identity{align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));min-width:0;display:flex}.ab-user-card__avatar{width:3rem;height:3rem;color:var(--ab-color-text);border:1px solid var(--ab-color-border);background:var(--ab-color-surface-muted);letter-spacing:.04em;border-radius:50%;flex:none;place-items:center;font-size:.8rem;font-weight:800;display:grid}.ab-user-card__identity>div,.ab-user-card__role,.ab-user-card__access{gap:5px;min-width:0;display:grid}.ab-user-card__name-line{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));min-width:0;display:flex}.ab-user-card__name-line>strong{text-overflow:ellipsis;white-space:nowrap;font-size:1rem;overflow:hidden}.ab-user-card__identity>div>span:last-child,.ab-user-card__role small,.ab-user-card__access span{color:var(--ab-color-text-muted);font-size:.75rem}.ab-role-badge{border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-pill);color:var(--ab-color-text-soft);background:var(--ab-color-surface-muted);text-transform:uppercase;justify-self:start;padding:5px 9px;font-size:.72rem;font-weight:680}.ab-role-badge--superadmin{color:var(--ab-color-danger-text);border-color:var(--ab-color-danger);background:var(--ab-color-danger-soft)}.ab-role-badge--admin{color:var(--ab-color-warning-text);border-color:var(--ab-color-warning);background:var(--ab-color-warning-soft)}.ab-role-badge--technician{color:var(--ab-color-info-text);border-color:var(--ab-color-info);background:var(--ab-color-info-soft)}.ab-role-badge--operator{color:var(--ab-color-success-text);border-color:var(--ab-color-success);background:var(--ab-color-success-soft)}.ab-role-badge--custom{color:var(--ab-color-brand-strong);border-color:var(--ab-color-brand);background:var(--ab-color-brand-soft)}.ab-user-card__access strong{font-size:.88rem}.ab-account-status{align-items:center;gap:7px;font-size:.8rem;font-weight:700;display:inline-flex}.ab-account-status>span{background:currentColor;border-radius:50%;width:8px;height:8px}.ab-account-status.is-enabled{color:var(--ab-color-success-text)}.ab-account-status.is-disabled{color:var(--ab-color-text-muted)}.ab-user-card__actions{justify-content:flex-end;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));display:flex}.ab-user-card__actions .ab-btn{min-width:74px}.ab-user-editor{border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-lg);background:var(--ab-color-surface);width:min(980px,100vw - 32px);max-height:min(92vh,940px);box-shadow:var(--ab-shadow-lg);flex-direction:column;display:flex;overflow:hidden}.ab-user-editor__header{justify-content:space-between;align-items:flex-start;gap:calc(var(--ab-space-5) * var(--ab-ui-scale));padding:calc(var(--ab-space-5) * var(--ab-ui-scale)) calc(var(--ab-space-6) * var(--ab-ui-scale));border-bottom:1px solid var(--ab-color-border);background:var(--ab-color-surface-raised);display:flex}.ab-user-editor__header h2,.ab-user-editor__header p{margin:0}.ab-user-editor__header h2{font-size:1.55rem}.ab-user-editor__header p{margin-top:calc(var(--ab-space-2) * var(--ab-ui-scale));color:var(--ab-color-text-muted)}.ab-user-editor__eyebrow{margin-bottom:calc(var(--ab-space-1) * var(--ab-ui-scale));color:var(--ab-color-success-text);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:800;display:block}.ab-user-editor__body{min-height:0;padding:calc(var(--ab-space-5) * var(--ab-ui-scale)) calc(var(--ab-space-6) * var(--ab-ui-scale));overflow-y:auto}.ab-user-editor__fields{gap:calc(var(--ab-space-4) * var(--ab-ui-scale));grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ab-user-editor__fields>label:not(.ab-user-editor__enabled){gap:calc(var(--ab-space-2) * var(--ab-ui-scale));display:grid}.ab-user-editor__fields>label>span{font-size:.82rem;font-weight:700}.ab-user-editor__fields>label>small{color:var(--ab-color-text-muted);font-size:.72rem}.ab-user-editor__role{grid-column:1/-1}.ab-user-editor__enabled{align-items:flex-start;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));padding:calc(var(--ab-space-3) * var(--ab-ui-scale));border:1px solid var(--ab-color-border-soft);border-radius:var(--ab-radius-sm);background:var(--ab-color-surface-muted);grid-column:1/-1;display:flex}.ab-user-editor__enabled input{flex:none;width:1.2rem;height:1.2rem}.ab-user-editor__enabled>span{gap:3px;display:grid}.ab-user-editor__enabled small{color:var(--ab-color-text-muted);font-size:.74rem;font-weight:400}.ab-permissions-note{align-items:flex-start;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));margin-top:calc(var(--ab-space-5) * var(--ab-ui-scale));padding:calc(var(--ab-space-4) * var(--ab-ui-scale));color:var(--ab-color-info-text);border:1px solid var(--ab-color-info);border-radius:var(--ab-radius-md);background:var(--ab-color-info-soft);display:flex}.ab-permissions-note.is-custom{color:var(--ab-color-success-text);border-color:var(--ab-color-success);background:var(--ab-color-success-soft)}.ab-permissions-note>span{gap:4px;display:grid}.ab-permissions-note small{color:inherit;opacity:.82}.ab-role-presets{gap:calc(var(--ab-space-3) * var(--ab-ui-scale));margin-top:calc(var(--ab-space-5) * var(--ab-ui-scale));display:grid}.ab-role-presets h3,.ab-role-presets p{margin:0}.ab-role-presets h3{font-size:1rem}.ab-role-presets p{color:var(--ab-color-text-muted);margin-top:3px;font-size:.78rem}.ab-role-presets>div:last-child{gap:calc(var(--ab-space-2) * var(--ab-ui-scale));grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.ab-role-preset{min-height:62px;padding:calc(var(--ab-space-2) * var(--ab-ui-scale));color:var(--ab-color-text-soft);border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-sm);background:var(--ab-color-surface-muted);cursor:pointer;text-align:center;place-content:center;gap:5px;display:grid}.ab-role-preset small{color:var(--ab-color-text-muted);font-size:.68rem}.ab-role-preset.is-selected{color:var(--ab-color-success-text);border-color:var(--ab-color-success);background:var(--ab-color-success-soft);box-shadow:0 0 0 1px var(--ab-color-success)}.ab-permission-groups{gap:calc(var(--ab-space-3) * var(--ab-ui-scale));margin-top:calc(var(--ab-space-5) * var(--ab-ui-scale));display:grid}.ab-permission-group{border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-md);background:var(--ab-color-surface-muted)}.ab-permission-group summary{justify-content:space-between;align-items:center;gap:calc(var(--ab-space-4) * var(--ab-ui-scale));padding:calc(var(--ab-space-4) * var(--ab-ui-scale));cursor:pointer;list-style-position:inside;display:flex}.ab-permission-group summary>span:first-of-type{margin-left:calc(var(--ab-space-2) * var(--ab-ui-scale));gap:3px;display:inline-grid}.ab-permission-group summary small{color:var(--ab-color-text-muted);font-size:.72rem;font-weight:400}.ab-permission-group__count{color:var(--ab-color-text-muted);flex:none;font-size:.75rem;font-weight:700}.ab-permission-grid{gap:calc(var(--ab-space-2) * var(--ab-ui-scale));padding:0 calc(var(--ab-space-4) * var(--ab-ui-scale)) calc(var(--ab-space-4) * var(--ab-ui-scale));border-top:1px solid var(--ab-color-border-soft);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.ab-permission-option{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));min-height:40px;padding:calc(var(--ab-space-2) * var(--ab-ui-scale));border-radius:var(--ab-radius-sm);display:flex}.ab-permission-option:has(input:not(:disabled)):hover{background:var(--ab-color-surface-raised)}.ab-permission-option input{flex:none;width:1.05rem;height:1.05rem}.ab-permission-option span{font-size:.78rem}.ab-user-editor__footer{justify-content:flex-end;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));padding:calc(var(--ab-space-4) * var(--ab-ui-scale)) calc(var(--ab-space-6) * var(--ab-ui-scale));border-top:1px solid var(--ab-color-border);background:var(--ab-color-surface-raised);display:flex}.ab-user-confirm{width:min(520px,100vw - 32px);padding:calc(var(--ab-space-6) * var(--ab-ui-scale));border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-lg);background:var(--ab-color-surface);box-shadow:var(--ab-shadow-lg)}.ab-user-confirm header{align-items:flex-start;gap:calc(var(--ab-space-4) * var(--ab-ui-scale));display:flex}.ab-user-confirm__icon{width:3rem;height:3rem;color:var(--ab-color-success-text);border:1px solid var(--ab-color-success);background:var(--ab-color-success-soft);border-radius:50%;flex:none;place-items:center;display:grid}.ab-user-confirm__icon.is-danger{color:var(--ab-color-danger-text);border-color:var(--ab-color-danger);background:var(--ab-color-danger-soft)}.ab-user-confirm h2,.ab-user-confirm p{margin:0}.ab-user-confirm h2{font-size:1.25rem}.ab-user-confirm p{margin-top:calc(var(--ab-space-2) * var(--ab-ui-scale));color:var(--ab-color-text-muted);line-height:1.5}.ab-user-confirm footer{justify-content:flex-end;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));margin-top:calc(var(--ab-space-6) * var(--ab-ui-scale));display:flex}@media (max-width:1180px){.ab-user-card{grid-template-columns:minmax(240px,1.4fr) minmax(140px,.8fr) minmax(100px,.55fr) minmax(100px,.55fr)}.ab-user-card__actions{padding-top:calc(var(--ab-space-3) * var(--ab-ui-scale));border-top:1px solid var(--ab-color-border-soft);grid-column:1/-1;justify-content:flex-end}}@media (max-width:760px){.ab-users-page__head-actions{justify-content:space-between;width:100%}.ab-user-card{grid-template-columns:repeat(2,minmax(0,1fr))}.ab-user-card__identity,.ab-user-card__actions{grid-column:1/-1}.ab-user-card__role,.ab-user-card__access,.ab-user-card__status{padding-top:1.2rem;position:relative}.ab-user-card__role:before,.ab-user-card__access:before,.ab-user-card__status:before{content:attr(data-label);color:var(--ab-color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.65rem;font-weight:750;position:absolute;top:0}.ab-user-card__status{grid-column:1/-1}.ab-user-card__actions{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.ab-user-editor{border:0;border-radius:0;width:100vw;min-height:100vh;max-height:100vh}.ab-user-editor__header,.ab-user-editor__body,.ab-user-editor__footer{padding-inline:calc(var(--ab-space-4) * var(--ab-ui-scale))}.ab-user-editor__fields{grid-template-columns:1fr}.ab-user-editor__role,.ab-user-editor__enabled{grid-column:auto}.ab-role-presets>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr))}.ab-permission-grid{grid-template-columns:1fr}.ab-user-editor__footer .ab-btn{flex:1}}.ab-login{min-height:100vh;padding:calc(var(--ab-space-5) * var(--ab-ui-scale));background:radial-gradient(circle at 18% 12%, color-mix(in srgb, var(--ab-color-success) 9%, transparent), transparent 46%), radial-gradient(circle at 85% 90%, color-mix(in srgb, var(--ab-color-success) 6%, transparent), transparent 40%), var(--ab-color-shell);place-items:center;display:grid}.ab-login__card{gap:calc(var(--ab-space-4) * var(--ab-ui-scale));width:min(420px,100%);padding:calc(var(--ab-space-7) * var(--ab-ui-scale)) calc(var(--ab-space-6) * var(--ab-ui-scale));border:1px solid var(--ab-color-border-soft);border-radius:var(--ab-radius-lg);background:var(--ab-color-surface);box-shadow:var(--ab-shadow-md);display:grid}.ab-login__switch{align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));margin:calc(var(--ab-space-3) * var(--ab-ui-scale) * -1) calc(var(--ab-space-2) * var(--ab-ui-scale) * -1) calc(var(--ab-space-2) * var(--ab-ui-scale));padding:calc(var(--ab-space-3) * var(--ab-ui-scale));border:1px solid color-mix(in srgb, var(--ab-color-brand-strong) 38%, var(--ab-color-border));border-radius:var(--ab-radius-md);background:linear-gradient(135deg, color-mix(in srgb, var(--ab-color-brand-strong) 11%, var(--ab-color-surface)), var(--ab-color-surface-raised));grid-template-columns:38px minmax(0,1fr) auto;display:grid}.ab-login__switch-mark{width:38px;height:38px;color:var(--ab-color-brand-strong);background:var(--ab-color-success-soft);border-radius:11px;place-items:center;font-weight:800;display:grid}.ab-login__switch-copy{gap:2px;min-width:0;display:grid}.ab-login__switch-copy strong{color:var(--ab-color-text);font-size:.82rem}.ab-login__switch-copy small{color:var(--ab-color-text-muted);font-size:.72rem;line-height:1.35}.ab-login__switch .ab-btn{white-space:nowrap}.ab-login__brand{justify-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));margin-bottom:calc(var(--ab-space-2) * var(--ab-ui-scale));text-align:center;display:grid}.ab-login__mark{object-fit:contain;image-rendering:auto;width:63px;height:69px;display:block}.ab-login__wordmark{color:var(--ab-color-text);font-size:calc(1.7rem * var(--ab-font-scale));letter-spacing:-.03em;font-weight:760;line-height:1}.ab-login__wordmark strong{color:var(--ab-color-brand-strong)}.ab-login__suffix{color:var(--ab-color-text-muted);letter-spacing:.14em;margin-left:6px;font-size:.62em;font-weight:800}.ab-login__tagline{color:var(--ab-color-text-muted);margin:0;font-size:.86rem}.ab-login__field{gap:calc(var(--ab-space-2) * var(--ab-ui-scale));display:grid}.ab-login__field>span{color:var(--ab-color-text-muted);font-size:.84rem;font-weight:600}.ab-login__password{display:block;position:relative}.ab-login__password .ab-field{padding-right:calc(44px * var(--ab-ui-scale))}.ab-login__reveal{width:34px;height:34px;color:var(--ab-color-text-muted);border-radius:var(--ab-radius-sm);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.ab-login__reveal:hover{color:var(--ab-color-text);background:var(--ab-color-surface-raised)}.ab-login__reveal .ab-icon{width:1.05rem;height:1.05rem}.ab-login__submit{margin-top:calc(var(--ab-space-2) * var(--ab-ui-scale))}.ab-login__notice{align-items:flex-start;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));padding:calc(var(--ab-space-3) * var(--ab-ui-scale));border:1px solid color-mix(in srgb, var(--ab-color-warning) 55%, var(--ab-color-border));border-radius:var(--ab-radius-md);background:color-mix(in srgb, var(--ab-color-warning-soft) 60%, var(--ab-color-surface));font-size:.84rem;display:flex}.ab-login__notice .ab-icon{flex:none;width:1.1rem;height:1.1rem}.ab-login__notice--error{border-color:color-mix(in srgb, var(--ab-color-danger) 55%, var(--ab-color-border));background:color-mix(in srgb, var(--ab-color-danger-soft) 55%, var(--ab-color-surface))}.ab-login__notice span{gap:calc(var(--ab-space-2) * var(--ab-ui-scale));display:grid}.ab-login__notice .ab-btn{justify-self:start}.ab-login__footer{color:var(--ab-color-text-muted);text-align:center;gap:4px;display:grid}.ab-login__footer small{font-size:.76rem}.ab-login__firmware{opacity:.78;font-size:.68rem!important}@media (max-width:480px){.ab-login__switch{grid-template-columns:38px minmax(0,1fr)}.ab-login__switch .ab-btn{grid-column:1/-1;width:100%}}.ab-files-toolbar{align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));margin-bottom:calc(var(--ab-space-4) * var(--ab-ui-scale));flex-wrap:wrap;display:flex}.ab-files-storage{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));color:var(--ab-color-text-muted);margin-left:auto;font-size:.8rem;display:inline-flex}.ab-files-storage .ab-icon{width:1rem;height:1rem}.ab-files-list{gap:calc(var(--ab-space-2) * var(--ab-ui-scale));display:grid}.ab-files-row{align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));padding:calc(var(--ab-space-3) * var(--ab-ui-scale));border:1px solid var(--ab-color-border-soft);border-radius:var(--ab-radius-md);background:var(--ab-color-surface-muted);display:flex}.ab-files-row__icon{width:2.2rem;height:2.2rem;color:var(--ab-color-success-text);border:1px solid var(--ab-color-border);background:var(--ab-color-surface);border-radius:50%;flex:none;place-items:center;display:grid}.ab-files-row__icon .ab-icon{width:1.05rem;height:1.05rem}.ab-files-row__copy{flex:auto;gap:2px;min-width:0;display:grid}.ab-files-row__copy strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ab-files-row__copy small{color:var(--ab-color-text-muted);font-size:.76rem}.ab-files-row .ab-btn{flex:none;text-decoration:none}.ab-file-library-section{margin-top:calc(var(--ab-space-6) * var(--ab-ui-scale));padding-top:calc(var(--ab-space-5) * var(--ab-ui-scale));border-top:1px solid var(--ab-color-border)}.ab-file-library-section__head{justify-content:space-between;align-items:center;gap:calc(var(--ab-space-4) * var(--ab-ui-scale));display:flex}.ab-file-library-section__head h3,.ab-file-library-section__head p{margin:0}.ab-file-library-section__head h3{margin-top:2px;font-size:1rem}.ab-file-library-section__head h3+p{color:var(--ab-color-text-muted);margin-top:4px;font-size:.78rem}@media (max-width:620px){.ab-global-emergency{top:calc((var(--ab-header-height) * .84) + 6px);grid-template-columns:auto minmax(0,1fr)}.ab-global-emergency__copy small{display:none}.ab-global-emergency .ab-btn{grid-column:1/-1;width:100%}.ab-file-library-section__head{flex-direction:column;align-items:stretch}.ab-file-library-section__head .ab-btn{align-self:flex-start}}.ab-status-card.is-calendar-active{border-color:color-mix(in srgb, var(--ab-color-success) 58%, var(--ab-color-border));background:linear-gradient(135deg, color-mix(in srgb, var(--ab-color-success-soft) 58%, var(--ab-color-surface-raised)), var(--ab-color-surface))}.ab-schedule-timeline{gap:calc(var(--ab-space-4) * var(--ab-ui-scale));margin-top:calc(var(--ab-space-5) * var(--ab-ui-scale));padding:calc(var(--ab-space-4) * var(--ab-ui-scale));display:grid}.ab-schedule-timeline>header{justify-content:space-between;align-items:center;display:flex}.ab-schedule-timeline h2{margin:2px 0 0;font-size:1rem}.ab-timeline-track{border-top:3px solid var(--ab-color-border);height:4.4rem;margin:0 1.5rem;position:relative}.ab-timeline-event,.ab-timeline-now{justify-items:center;gap:5px;display:grid;position:absolute;top:-7px;transform:translate(-50%)}.ab-timeline-event i,.ab-timeline-now i{border:2px solid var(--ab-color-success);background:var(--ab-color-surface-raised);border-radius:50%;width:11px;height:11px;display:block}.ab-timeline-event small,.ab-timeline-now small{color:var(--ab-color-text-muted);white-space:nowrap;font-size:.62rem}.ab-timeline-event.is-past i{border-color:var(--ab-color-text-faint);background:var(--ab-color-border)}.ab-bell-history{gap:calc(var(--ab-space-4) * var(--ab-ui-scale));margin-top:calc(var(--ab-space-5) * var(--ab-ui-scale));padding:calc(var(--ab-space-4) * var(--ab-ui-scale));display:grid}.ab-bell-history>header{justify-content:space-between;align-items:center;gap:var(--ab-space-3);display:flex}.ab-bell-history h2{margin:2px 0 0;font-size:1rem}.ab-bell-history>header p{color:var(--ab-color-text-muted);margin:3px 0 0;font-size:.78rem}.ab-bell-history__list{border:1px solid var(--ab-color-border-soft);border-radius:var(--ab-radius-md);background:var(--ab-color-border-soft);gap:1px;display:grid;overflow:hidden}.ab-bell-history__item{align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));padding:calc(var(--ab-space-2) * var(--ab-ui-scale)) calc(var(--ab-space-3) * var(--ab-ui-scale));background:var(--ab-color-surface);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.ab-bell-history__icon{width:1.8rem;height:1.8rem;color:var(--ab-color-success-text);border:1px solid;border-radius:50%;place-items:center;display:grid}.ab-bell-history__icon.is-manual{color:var(--ab-color-info-text)}.ab-bell-history__icon .ab-icon{width:1rem;height:1rem}.ab-bell-history__item div{gap:2px;min-width:0;display:grid}.ab-bell-history__item strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.ab-bell-history__item small,.ab-bell-history__item time{color:var(--ab-color-text-muted);font-size:.7rem}.ab-bell-history__more{justify-self:center}.ab-bell-history-dialog{gap:calc(var(--ab-space-4) * var(--ab-ui-scale));width:min(92vw,720px);max-height:min(82vh,760px);padding:calc(var(--ab-space-5) * var(--ab-ui-scale));border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-lg);background:var(--ab-color-surface);box-shadow:var(--ab-shadow-lg);grid-template-rows:auto minmax(0,1fr) auto;display:grid}.ab-bell-history-dialog>header{justify-content:space-between;align-items:flex-start;gap:var(--ab-space-3);display:flex}.ab-bell-history-dialog h2{margin:2px 0 0;font-size:1.15rem}.ab-bell-history-dialog>header p{color:var(--ab-color-text-muted);margin:3px 0 0;font-size:.78rem}.ab-bell-history-dialog__list{min-height:0;padding-right:3px;overflow-y:auto}.ab-bell-history-dialog>footer{justify-content:flex-end;display:flex}.ab-status-card--active-schedules .ab-active-schedule-item small{color:var(--ab-color-text-muted);font-size:.7rem}.ab-timeline-now{z-index:2;top:-12px}.ab-timeline-now:after{content:"";background:var(--ab-color-danger);width:1px;height:2.7rem;position:absolute;top:11px}.ab-timeline-now i{border-color:var(--ab-color-danger);background:var(--ab-color-danger);width:18px;height:18px;box-shadow:0 0 0 4px color-mix(in srgb, var(--ab-color-danger) 18%, transparent)}.ab-timeline-now small{color:var(--ab-color-danger-text);font-weight:800}.ab-calendar-builder-layer{z-index:80;padding:calc(var(--ab-space-3) * var(--ab-ui-scale))}.ab-calendar-builder{width:min(1480px,100vw - 24px);height:min(64rem,100vh - 24px);max-height:calc(100vh - 24px);color:var(--ab-color-text);border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-lg);background:var(--ab-color-surface-raised);box-shadow:var(--ab-shadow-md);grid-template-rows:auto auto auto auto minmax(0,1fr) auto;grid-template-areas:"header""toolbar""stats""notice""body""footer";display:grid;overflow:hidden}.ab-calendar-builder__header,.ab-calendar-builder__footer{justify-content:space-between;align-items:center;gap:calc(var(--ab-space-4) * var(--ab-ui-scale));padding:calc(var(--ab-space-5) * var(--ab-ui-scale));background:var(--ab-color-surface);display:flex}.ab-calendar-builder__header{border-bottom:1px solid var(--ab-color-border-soft);grid-area:header}.ab-calendar-builder__header>div{gap:calc(var(--ab-space-1) * var(--ab-ui-scale));display:grid}.ab-calendar-builder__header h2{margin:0;font-size:clamp(1.35rem,2.4vw,1.9rem)}.ab-calendar-builder__header p{color:var(--ab-color-text-muted);margin:0}.ab-eyebrow{color:var(--ab-color-success-text);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;font-weight:800}.ab-calendar-builder__toolbar{align-items:end;gap:calc(var(--ab-space-4) * var(--ab-ui-scale));padding:calc(var(--ab-space-4) * var(--ab-ui-scale)) calc(var(--ab-space-5) * var(--ab-ui-scale));border-bottom:1px solid var(--ab-color-border-soft);background:var(--ab-color-surface-muted);grid-area:toolbar;grid-template-columns:minmax(230px,.82fr) minmax(340px,1.35fr) minmax(220px,.58fr);display:grid}.ab-calendar-builder__toolbar label{gap:calc(var(--ab-space-2) * var(--ab-ui-scale));color:var(--ab-color-text-muted);font-size:.78rem;font-weight:700;display:grid}.ab-calendar-builder__toolbar .ab-field{width:100%}.ab-calendar-year-picker,.ab-calendar-month-picker{justify-content:space-between;align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));display:flex}.ab-calendar-year-picker{min-height:3.35rem;padding:calc(var(--ab-space-2) * var(--ab-ui-scale)) calc(var(--ab-space-2) * var(--ab-ui-scale)) calc(var(--ab-space-2) * var(--ab-ui-scale)) calc(var(--ab-space-3) * var(--ab-ui-scale));border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-md);background:linear-gradient(145deg, var(--ab-color-surface-raised), var(--ab-color-surface));box-shadow:var(--ab-shadow-sm)}.ab-calendar-year-picker>span:first-child{gap:2px;min-width:0;display:grid}.ab-calendar-year-picker small{color:var(--ab-color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.64rem;font-weight:800}.ab-calendar-year-picker strong{text-align:left;min-width:3.5rem;font-size:1.08rem}.ab-calendar-year-picker__controls{padding-left:calc(var(--ab-space-2) * var(--ab-ui-scale));border-left:1px solid var(--ab-color-border-soft);align-items:center;gap:4px;display:flex}.ab-calendar-year-picker__controls .ab-icon-btn{border-radius:var(--ab-radius-sm);background:var(--ab-color-surface-muted);place-items:center;width:2.15rem;height:2.15rem;padding:0;line-height:1;display:grid}.ab-calendar-year-picker .ab-icon-btn,.ab-calendar-month-picker .ab-icon-btn{place-items:center;padding:0;line-height:1;display:grid}.ab-calendar-month-picker .ab-icon-btn .ab-icon{width:1rem;height:1rem;display:block}.ab-calendar-month-picker__previous .ab-icon{transform:rotate(180deg)}.ab-calendar-builder .ab-field::placeholder{color:var(--ab-color-text-faint);opacity:1;font-weight:400}.ab-calendar-clear-year{color:var(--ab-color-danger-text);border-color:color-mix(in srgb, var(--ab-color-danger) 45%, var(--ab-color-border))}.ab-calendar-clear-year:hover:not(:disabled){color:var(--ab-color-danger-text);border-color:var(--ab-color-danger);background:color-mix(in srgb, var(--ab-color-danger) 12%, var(--ab-color-surface))}.ab-calendar-builder__stats{align-items:center;gap:calc(var(--ab-space-5) * var(--ab-ui-scale));min-height:3.2rem;padding:0 calc(var(--ab-space-5) * var(--ab-ui-scale));color:var(--ab-color-text-muted);border-bottom:1px solid var(--ab-color-border-soft);grid-area:stats;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);font-size:.8rem;display:grid}.ab-calendar-builder__stats span{white-space:nowrap}.ab-calendar-builder__stats strong{color:var(--ab-color-text);font-size:1rem}.ab-calendar-builder__stats>.ab-calendar-holidays-button{justify-self:start}.ab-calendar-builder__assignment-stats{justify-content:center;align-items:center;gap:calc(var(--ab-space-5) * var(--ab-ui-scale));display:flex}.ab-calendar-builder__stats small{min-width:0;color:var(--ab-color-success-text);text-align:right;justify-self:end}@media (max-width:900px){.ab-calendar-builder__stats{grid-template-columns:1fr;justify-items:center}.ab-calendar-builder__assignment-stats{flex-wrap:wrap}.ab-calendar-builder__stats small{text-align:center;justify-self:stretch;width:100%}}.ab-calendar-holidays-button{border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-sm);background:var(--ab-color-surface-raised);color:var(--ab-color-text-muted);font:inherit;cursor:pointer;white-space:nowrap;align-items:center;gap:.35rem;padding:.3rem .5rem;display:inline-flex}.ab-calendar-holidays-button:hover:not(:disabled){border-color:var(--ab-color-success);background:var(--ab-color-success-soft)}.ab-calendar-holidays-button:disabled{opacity:.55;cursor:wait}.ab-calendar-holidays-button__label{color:var(--ab-color-text);font-weight:800}.ab-calendar-holidays-button__counts{color:var(--ab-color-text-muted)}.ab-calendar-holidays-button__action{color:var(--ab-color-success-text);margin-left:.3rem;font-weight:700}.ab-calendar-holidays-layer{z-index:82}.ab-calendar-holidays-dialog{border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-lg);background:var(--ab-color-surface-raised);width:min(640px,100vw - 32px);max-height:min(760px,100vh - 32px);box-shadow:var(--ab-shadow-md);flex-direction:column;display:flex;overflow:hidden}.ab-calendar-holidays-dialog header{justify-content:space-between;gap:1rem;padding:1.25rem;display:flex}.ab-calendar-holidays-dialog h2{margin:.25rem 0}.ab-calendar-holidays-dialog header p{color:var(--ab-color-text-muted);margin:0;font-size:.85rem;line-height:1.45}.ab-calendar-holidays-dialog__summary{border-block:1px solid var(--ab-color-border-soft);background:var(--ab-color-surface-muted);flex-wrap:wrap;gap:1.25rem;padding:.75rem 1.25rem;font-size:.85rem;display:flex}.ab-calendar-holidays-dialog__summary strong{font-size:1rem}.ab-calendar-holidays-dialog__list{min-height:0;padding:.5rem 1.25rem;overflow:auto}.ab-calendar-holidays-dialog__list>p{color:var(--ab-color-text-muted)}.ab-calendar-holidays-dialog__list article{border-bottom:1px solid var(--ab-color-border-soft);justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 0;display:flex}.ab-calendar-holidays-dialog__list article>span:first-child{flex:1;gap:.15rem;min-width:0;display:grid}.ab-calendar-holiday-name{width:min(100%,16rem);min-height:2rem;padding:.3rem .5rem;font-weight:700}.ab-calendar-holidays-dialog__list article small{color:var(--ab-color-text-muted)}.ab-calendar-holidays-dialog>footer{border-top:1px solid var(--ab-color-border-soft);padding:.8rem 1.25rem}.ab-calendar-holiday-list-confirm{width:2rem;height:2rem;color:var(--ab-color-success-text);border:1px solid var(--ab-color-success);border-radius:var(--ab-radius-sm);background:var(--ab-color-success-soft);cursor:pointer;flex:none;place-items:center;display:grid}.ab-calendar-holiday-list-confirm .ab-icon{width:1rem;height:1rem}.ab-calendar-holiday-confirm-layer{z-index:84}.ab-calendar-holiday-confirm-dialog{border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-lg);background:var(--ab-color-surface-raised);width:min(430px,100vw - 32px);box-shadow:var(--ab-shadow-md);gap:.8rem;padding:1.4rem;display:grid}.ab-calendar-holiday-confirm-dialog h2,.ab-calendar-holiday-confirm-dialog p{margin:0}.ab-calendar-holiday-confirm-dialog p{color:var(--ab-color-text-muted);font-size:.85rem;line-height:1.5}.ab-calendar-holiday-confirm-dialog label{gap:.35rem;font-size:.8rem;font-weight:700;display:grid}.ab-calendar-holiday-confirm-dialog footer{justify-content:flex-end;margin-top:.3rem}.ab-calendar-missing{height:auto;min-height:calc(3.2rem * var(--ab-ui-scale));grid-area:notice;margin:0;overflow:hidden}.ab-calendar-missing>span{align-items:baseline;gap:calc(var(--ab-space-1) * var(--ab-ui-scale));min-width:0;display:flex}.ab-calendar-missing small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ab-calendar-missing>.ab-btn{flex:none;margin-left:auto}.ab-calendar-builder__body{grid-area:body;grid-template-columns:minmax(340px,.76fr) minmax(0,2.24fr);min-height:0;display:grid;overflow:hidden}.ab-calendar-schedules,.ab-calendar-workspace{min-height:0;padding:calc(var(--ab-space-5) * var(--ab-ui-scale));overflow:auto}.ab-calendar-schedules{gap:calc(var(--ab-space-4) * var(--ab-ui-scale));border-right:1px solid var(--ab-color-border-soft);background:var(--ab-color-surface);flex-direction:column;display:flex}.ab-calendar-schedules h3,.ab-calendar-month-head h3{margin:calc(var(--ab-space-1) * var(--ab-ui-scale)) 0;font-size:1.08rem}.ab-calendar-schedules p{color:var(--ab-color-text-muted);margin:0;font-size:.82rem;line-height:1.45}.ab-calendar-schedule-list{gap:calc(var(--ab-space-2) * var(--ab-ui-scale));grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ab-calendar-schedule-empty{justify-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));padding:calc(var(--ab-space-5) * var(--ab-ui-scale));color:var(--ab-color-text-muted);text-align:center;border:1px dashed var(--ab-color-border);border-radius:var(--ab-radius-md);display:grid}.ab-calendar-schedule-empty .ab-icon{color:var(--ab-color-success-text)}.ab-calendar-schedule-empty strong{color:var(--ab-color-text)}.ab-calendar-schedule-empty span{font-size:.76rem;line-height:1.45}.ab-calendar-schedule{--ab-calendar-accent:var(--ab-color-success);align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));min-height:4rem;padding:calc(var(--ab-space-3) * var(--ab-ui-scale));color:var(--ab-color-text);text-align:left;border:1px solid var(--ab-color-border-soft);border-radius:var(--ab-radius-md);background:var(--ab-color-surface-muted);cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.ab-calendar-schedule:hover{border-color:var(--ab-calendar-accent);background:var(--ab-color-surface-raised)}.ab-calendar-schedule.is-selected{border-color:var(--ab-calendar-accent);background:color-mix(in srgb, var(--ab-calendar-accent) 14%, var(--ab-color-surface));box-shadow:0 0 0 2px color-mix(in srgb, var(--ab-calendar-accent) 18%, transparent)}.ab-calendar-schedule__swatch{background:var(--ab-calendar-accent);width:.82rem;height:.82rem;box-shadow:0 0 0 4px color-mix(in srgb, var(--ab-calendar-accent) 15%, transparent);border-radius:50%}.ab-calendar-schedule>span:nth-child(2){gap:3px;min-width:0;display:grid}.ab-calendar-schedule strong,.ab-calendar-schedule small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ab-calendar-schedule small{color:var(--ab-color-text-muted);font-size:.72rem}.ab-calendar-tone-0{--ab-calendar-accent:#6aa57a}.ab-calendar-tone-1{--ab-calendar-accent:#4d8fd8}.ab-calendar-tone-2{--ab-calendar-accent:#a879d2}.ab-calendar-tone-3{--ab-calendar-accent:#d18a45}.ab-calendar-tone-4{--ab-calendar-accent:#3fa8a0}.ab-calendar-schedule.ab-calendar-holiday-tone,.ab-calendar-year-overview__selection.ab-calendar-holiday-tone,.ab-calendar-holiday-tone{--ab-calendar-accent:#ad8610}.ab-calendar-tip{gap:calc(var(--ab-space-3) * var(--ab-ui-scale));padding:calc(var(--ab-space-3) * var(--ab-ui-scale));color:var(--ab-color-text-muted);border:1px solid var(--ab-color-border-soft);border-radius:var(--ab-radius-md);background:var(--ab-color-surface-muted);margin-top:auto;display:flex}.ab-calendar-tip .ab-icon{color:var(--ab-color-success-text);flex:none}.ab-calendar-tip span{gap:3px;display:grid}.ab-calendar-tip strong{color:var(--ab-color-text);font-size:.78rem}.ab-calendar-tip small{font-size:.72rem;line-height:1.4}.ab-calendar-workspace{background:var(--ab-color-surface-raised)}.ab-calendar-month-head{justify-content:space-between;align-items:end;gap:calc(var(--ab-space-4) * var(--ab-ui-scale));display:flex}.ab-calendar-month-controls{align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));display:flex}.ab-calendar-view-toggle{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));min-height:2.5rem;padding:0 calc(var(--ab-space-3) * var(--ab-ui-scale));color:var(--ab-color-text-soft);border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-sm);background:var(--ab-color-surface);box-shadow:var(--ab-shadow-sm);font:inherit;cursor:pointer;transition:color var(--ab-motion-fast), border-color var(--ab-motion-fast), background var(--ab-motion-fast), transform var(--ab-motion-fast);font-size:.76rem;font-weight:750;display:inline-flex}.ab-calendar-view-toggle:hover,.ab-calendar-view-toggle.is-active{color:var(--ab-color-success-text);border-color:var(--ab-color-success);background:var(--ab-color-success-soft);transform:translateY(-1px)}.ab-calendar-view-toggle:focus-visible{box-shadow:var(--ab-focus-ring);outline:0}.ab-calendar-view-toggle .ab-icon{width:1rem;height:1rem}.ab-calendar-month-picker{min-width:16rem}.ab-calendar-month-picker strong{text-align:center;min-width:10rem;font-size:1rem}.ab-calendar-view-panel{transform-origin:50% 18%;animation:.26s cubic-bezier(.2,.8,.2,1) both ab-calendar-view-enter}@keyframes ab-calendar-view-enter{0%{opacity:0;transform:scale(.965)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.ab-calendar-year-overview__tools{justify-content:space-between;align-items:center;gap:calc(var(--ab-space-4) * var(--ab-ui-scale));margin:calc(var(--ab-space-3) * var(--ab-ui-scale)) 0 calc(var(--ab-space-4) * var(--ab-ui-scale));padding:calc(var(--ab-space-3) * var(--ab-ui-scale));border:1px solid var(--ab-color-border-soft);border-radius:var(--ab-radius-md);background:var(--ab-color-surface-muted);display:flex}.ab-calendar-year-overview__tools>div{gap:calc(var(--ab-space-2) * var(--ab-ui-scale));min-width:0;display:grid}.ab-calendar-year-overview__intro{color:var(--ab-color-text-muted);margin:0;font-size:.78rem}.ab-calendar-year-overview__selection{--ab-calendar-accent:var(--ab-color-success);align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));min-width:0;color:var(--ab-color-text-muted);font-size:.72rem;display:flex}.ab-calendar-year-overview__selection>i{background:var(--ab-calendar-accent);border-radius:50%;flex:none;width:.65rem;height:.65rem}.ab-calendar-year-overview__selection strong{color:var(--ab-color-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ab-calendar-year-overview{gap:calc(var(--ab-space-3) * var(--ab-ui-scale));grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.ab-calendar-mini-month{min-width:0;color:var(--ab-color-text);border:1px solid var(--ab-color-border-soft);border-radius:var(--ab-radius-md);background:linear-gradient(145deg, var(--ab-color-surface), var(--ab-color-surface-muted));box-shadow:var(--ab-shadow-sm);text-align:left;transition:border-color var(--ab-motion-fast), box-shadow var(--ab-motion-fast), transform var(--ab-motion-normal);grid-template-rows:minmax(0,1fr) auto;display:grid;overflow:hidden}.ab-calendar-mini-month:hover{border-color:var(--ab-color-success);box-shadow:var(--ab-shadow-md);transform:translateY(-3px)scale(1.012)}.ab-calendar-mini-month:focus-within{border-color:var(--ab-color-success);box-shadow:var(--ab-focus-ring)}.ab-calendar-mini-month.is-current{border-color:color-mix(in srgb, var(--ab-color-success) 64%, var(--ab-color-border));background:linear-gradient(145deg, color-mix(in srgb, var(--ab-color-success) 10%, var(--ab-color-surface)), var(--ab-color-surface-muted))}.ab-calendar-mini-month__zoom{gap:calc(var(--ab-space-2) * var(--ab-ui-scale));min-width:0;padding:calc(var(--ab-space-3) * var(--ab-ui-scale));color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;display:grid}.ab-calendar-mini-month__zoom:focus-visible{outline:0}.ab-calendar-mini-month__actions{border-top:1px solid var(--ab-color-border-soft);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ab-calendar-mini-month__apply{justify-content:center;align-items:center;gap:calc(var(--ab-space-1) * var(--ab-ui-scale));min-width:0;min-height:2.15rem;padding:calc(var(--ab-space-2) * var(--ab-ui-scale));color:var(--ab-color-success-text);background:color-mix(in srgb, var(--ab-color-success-soft) 58%, var(--ab-color-surface));font:inherit;cursor:pointer;border:0;font-size:.66rem;font-weight:750;display:flex}.ab-calendar-mini-month__apply+.ab-calendar-mini-month__apply{border-left:1px solid var(--ab-color-border-soft)}.ab-calendar-mini-month__apply:hover:not(:disabled){background:var(--ab-color-success-soft)}.ab-calendar-mini-month__apply:focus-visible{box-shadow:inset var(--ab-focus-ring);outline:0}.ab-calendar-mini-month__apply:disabled{cursor:not-allowed;opacity:.55}.ab-calendar-mini-month__apply .ab-icon{width:.85rem;height:.85rem}.ab-calendar-mini-month__head{justify-content:space-between;align-items:baseline;gap:var(--ab-space-2);display:flex}.ab-calendar-mini-month__head strong{font-size:.86rem}.ab-calendar-mini-month__head small{color:var(--ab-color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.6rem;overflow:hidden}.ab-calendar-mini-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.ab-calendar-mini-weekday{color:var(--ab-color-text-faint);text-align:center;padding-bottom:2px;font-size:.52rem;font-weight:800}.ab-calendar-mini-day{--ab-calendar-accent:var(--ab-color-success);min-height:1.12rem;color:var(--ab-color-text-muted);border-radius:4px;place-items:center;font-size:clamp(.48rem,.52vw,.62rem);line-height:1;display:grid}.ab-calendar-mini-day.is-empty{visibility:hidden}.ab-calendar-mini-day.is-assigned{color:var(--ab-color-text);background:color-mix(in srgb, var(--ab-calendar-accent) 25%, transparent);box-shadow:inset 0 -2px 0 var(--ab-calendar-accent);font-weight:800}.ab-calendar-mini-day.is-suggested-holiday{color:var(--ab-color-warning-text);background:color-mix(in srgb, var(--ab-color-warning-soft) 55%, transparent)}.ab-calendar-mini-day.is-confirmed-holiday{color:var(--ab-color-text);background:repeating-linear-gradient(135deg, #c6a21c2b 0 3px, transparent 3px 7px), color-mix(in srgb, #e6c64d 34%, var(--ab-color-surface));font-weight:800;box-shadow:inset 0 -2px #ad8610}.ab-calendar-mini-day.ab-calendar-tone-0{--ab-calendar-accent:#6aa57a}.ab-calendar-mini-day.ab-calendar-tone-1{--ab-calendar-accent:#4d8fd8}.ab-calendar-mini-day.ab-calendar-tone-2{--ab-calendar-accent:#a879d2}.ab-calendar-mini-day.ab-calendar-tone-3{--ab-calendar-accent:#d18a45}.ab-calendar-mini-day.ab-calendar-tone-4{--ab-calendar-accent:#3fa8a0}.ab-calendar-mini-day.is-today{outline:1px solid var(--ab-color-success);outline-offset:-1px}.ab-calendar-quick-actions{gap:calc(var(--ab-space-2) * var(--ab-ui-scale));margin:calc(var(--ab-space-4) * var(--ab-ui-scale)) 0;flex-wrap:wrap;display:flex}.ab-calendar-clear-weekends{min-height:2.25rem;color:var(--ab-color-text);padding-inline:.75rem;font-size:.8rem;font-weight:700}.ab-calendar-grid{--ab-calendar-day-row-height:4.6rem;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:auto repeat(6, var(--ab-calendar-day-row-height));gap:calc(var(--ab-space-2) * var(--ab-ui-scale));-webkit-user-select:none;user-select:none;display:grid}.ab-calendar-grid__weekday{min-width:0;padding:calc(var(--ab-space-2) * var(--ab-ui-scale));color:var(--ab-color-text-muted);border-radius:var(--ab-radius-sm);font:inherit;text-align:center;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #0000;font-size:.7rem;font-weight:800;line-height:1}.ab-calendar-grid__weekday:hover:not(:disabled){color:var(--ab-color-success-text);border-color:var(--ab-color-success);background:var(--ab-color-success-soft)}.ab-calendar-grid__weekday:focus-visible{box-shadow:var(--ab-focus-ring);outline:0}.ab-calendar-grid__weekday:disabled{cursor:not-allowed;opacity:.55}.ab-calendar-day-wrap{min-width:0;min-height:0;position:relative}.ab-calendar-day-wrap>.ab-calendar-day{width:100%;height:100%}.ab-calendar-holiday-confirm{z-index:2;width:1.65rem;height:1.65rem;color:var(--ab-color-success-text);border:1px solid var(--ab-color-success);border-radius:var(--ab-radius-sm);background:var(--ab-color-surface-raised);box-shadow:var(--ab-shadow-sm);cursor:pointer;place-items:center;display:grid;position:absolute;top:.35rem;right:.35rem}.ab-calendar-holiday-confirm:hover{background:var(--ab-color-success-soft)}.ab-calendar-holiday-confirm .ab-icon{width:.95rem;height:.95rem}.ab-calendar-day-context-layer{z-index:81;background:0 0;position:fixed;inset:0}.ab-calendar-day-context{border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-md);background:var(--ab-color-surface-raised);width:12.5rem;box-shadow:var(--ab-shadow-md);padding:.3rem;position:absolute}.ab-calendar-day-context__select{position:relative}.ab-calendar-day-context button{width:100%;min-height:2.2rem;color:var(--ab-color-text);border-radius:var(--ab-radius-sm);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem .55rem;font-size:.78rem;display:flex}.ab-calendar-day-context button:hover,.ab-calendar-day-context button:focus-visible{background:var(--ab-color-success-soft);outline:0}.ab-calendar-day-context button:disabled{color:var(--ab-color-text-muted);cursor:not-allowed}.ab-calendar-day-context button .ab-icon{flex:none;width:.9rem;height:.9rem}.ab-calendar-day-context__submenu{border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-md);background:var(--ab-color-surface-raised);width:12rem;max-height:min(20rem,100vh - 2rem);box-shadow:var(--ab-shadow-md);gap:.1rem;padding:.3rem;display:grid;position:absolute;top:-.3rem;left:100%;overflow:auto}.ab-calendar-day-context.opens-left .ab-calendar-day-context__submenu{left:auto;right:100%}.ab-calendar-day-context__submenu i{background:var(--ab-calendar-accent,var(--ab-color-success));border-radius:50%;flex:none;width:.65rem;height:.65rem}.ab-calendar-day-context__submenu button span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.ab-calendar-day{--ab-calendar-accent:var(--ab-color-success);min-width:0;min-height:var(--ab-calendar-day-row-height);padding:calc(var(--ab-space-2) * var(--ab-ui-scale));color:var(--ab-color-text);text-align:left;border:1px solid var(--ab-color-border-soft);border-radius:var(--ab-radius-sm);background:var(--ab-color-surface);cursor:pointer;touch-action:none;align-content:space-between;display:grid;position:relative;overflow:hidden}.ab-calendar-day.ab-calendar-tone-0{--ab-calendar-accent:#6aa57a}.ab-calendar-day.ab-calendar-tone-1{--ab-calendar-accent:#4d8fd8}.ab-calendar-day.ab-calendar-tone-2{--ab-calendar-accent:#a879d2}.ab-calendar-day.ab-calendar-tone-3{--ab-calendar-accent:#d18a45}.ab-calendar-day.ab-calendar-tone-4{--ab-calendar-accent:#3fa8a0}.ab-calendar-day:hover:not(:disabled){border-color:var(--ab-calendar-accent);transform:translateY(-1px)}.ab-calendar-day.is-weekend{background:color-mix(in srgb, var(--ab-color-surface-muted) 78%, var(--ab-color-canvas))}.ab-calendar-day.is-assigned{border-color:var(--ab-calendar-accent);background:color-mix(in srgb, var(--ab-calendar-accent) 14%, var(--ab-color-surface));box-shadow:inset 0 3px 0 var(--ab-calendar-accent)}.ab-calendar-day.is-suggested-holiday{border-color:color-mix(in srgb, var(--ab-color-warning) 30%, var(--ab-color-border-soft));background:color-mix(in srgb, var(--ab-color-warning-soft) 45%, var(--ab-color-surface));padding-right:2.15rem}.ab-calendar-day.is-confirmed-holiday{--ab-calendar-accent:#ad8610;background:repeating-linear-gradient(135deg, #c6a21c26 0 6px, transparent 6px 13px), color-mix(in srgb, #e6c64d 29%, var(--ab-color-surface));border-color:#ad8610;box-shadow:inset 0 3px #ad8610}.ab-calendar-day.is-paint-preview{z-index:1;border-color:var(--ab-calendar-accent);outline:2px solid var(--ab-calendar-accent);outline-offset:-3px}.ab-calendar-day.is-remove-preview{--ab-calendar-accent:var(--ab-color-danger);background:color-mix(in srgb, var(--ab-color-danger) 9%, var(--ab-color-surface));box-shadow:none}.ab-calendar-day.is-today{outline:2px solid var(--ab-color-success);outline-offset:2px}.ab-calendar-day.is-empty{visibility:hidden}.ab-calendar-day>span{font-weight:750}.ab-calendar-day small{color:var(--ab-color-text-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;display:block;overflow:hidden}.ab-calendar-day:disabled{cursor:not-allowed;opacity:.55}.ab-calendar-no-schedule{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));margin:calc(var(--ab-space-4) * var(--ab-ui-scale)) 0 0;color:var(--ab-color-text-muted);font-size:.75rem;display:flex}.ab-calendar-no-schedule .ab-icon{width:1rem;height:1rem}.ab-calendar-builder__footer{border-top:1px solid var(--ab-color-border-soft);grid-area:footer}.ab-calendar-builder__footer>div{gap:calc(var(--ab-space-2) * var(--ab-ui-scale));display:flex}@media (max-width:1280px){.ab-calendar-year-overview{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:980px){.ab-calendar-builder__toolbar{grid-template-columns:1fr 1fr}.ab-calendar-year-picker{grid-column:1/-1;justify-self:end}.ab-calendar-builder__body{grid-template-columns:1fr;grid-auto-rows:max-content;align-content:start;overflow:auto}.ab-calendar-schedules,.ab-calendar-workspace{overflow:visible}.ab-calendar-schedules{border-right:0;border-bottom:1px solid var(--ab-color-border-soft)}.ab-calendar-tip{margin-top:0}.ab-calendar-year-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.ab-calendar-builder-layer{padding:0}.ab-calendar-builder{border:0;border-radius:0;width:100vw;height:100dvh;max-height:100dvh}.ab-calendar-builder__header{padding:calc(var(--ab-space-3) * var(--ab-ui-scale))}.ab-calendar-builder__header p{display:none}.ab-calendar-builder__header h2{font-size:1.2rem}.ab-calendar-builder__footer,.ab-calendar-workspace{padding:calc(var(--ab-space-3) * var(--ab-ui-scale))}.ab-calendar-schedules{gap:calc(var(--ab-space-2) * var(--ab-ui-scale));padding:calc(var(--ab-space-3) * var(--ab-ui-scale))}.ab-calendar-builder__toolbar{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));padding:calc(var(--ab-space-2) * var(--ab-ui-scale)) calc(var(--ab-space-3) * var(--ab-ui-scale));grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.ab-calendar-builder__toolbar label{gap:2px;min-width:0;font-size:.62rem}.ab-calendar-builder__toolbar label span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ab-calendar-builder__toolbar .ab-field{min-width:0;min-height:2.25rem;padding-inline:.55rem;font-size:.72rem}.ab-calendar-year-picker{grid-column:auto;justify-self:stretch;min-height:2.65rem;padding:4px 4px 4px 8px}.ab-calendar-year-picker small{font-size:.5rem}.ab-calendar-year-picker strong{min-width:2.5rem;font-size:.82rem}.ab-calendar-year-picker__controls{padding-left:3px}.ab-calendar-year-picker__controls .ab-icon-btn{width:1.65rem;height:1.65rem;font-size:1.1rem}.ab-calendar-builder__stats{gap:calc(var(--ab-space-2) * var(--ab-ui-scale));padding:calc(var(--ab-space-3) * var(--ab-ui-scale)) calc(var(--ab-space-4) * var(--ab-ui-scale))}.ab-calendar-builder__assignment-stats{gap:calc(var(--ab-space-2) * var(--ab-ui-scale)) calc(var(--ab-space-4) * var(--ab-ui-scale));flex-wrap:wrap}.ab-calendar-schedules h3{margin:0;font-size:.88rem}.ab-calendar-schedules p{font-size:.7rem}.ab-calendar-schedule-list{gap:5px}.ab-calendar-schedule{gap:8px;min-height:2.8rem;padding:8px}.ab-calendar-schedule strong{font-size:.78rem}.ab-calendar-schedule small{font-size:.62rem}.ab-calendar-tip{gap:8px;padding:8px}.ab-calendar-tip strong{font-size:.7rem}.ab-calendar-tip small{font-size:.62rem}.ab-calendar-year-overview__tools,.ab-calendar-month-head,.ab-calendar-month-controls{flex-direction:column;align-items:stretch}.ab-calendar-view-toggle{justify-content:center}.ab-calendar-month-picker{min-width:0}.ab-calendar-quick-actions{grid-template-columns:1fr 1fr;display:grid}.ab-calendar-quick-actions .ab-btn:first-child{grid-column:1/-1}.ab-calendar-grid{--ab-calendar-day-row-height:3.8rem}.ab-calendar-builder__footer{flex-direction:column;align-items:stretch}.ab-calendar-builder__footer>div:last-child{grid-template-columns:1fr 1fr;display:grid}}@media (max-width:440px){.ab-calendar-year-overview{grid-template-columns:1fr}.ab-calendar-grid{gap:3px}.ab-calendar-grid__weekday{padding-inline:0;font-size:.6rem}.ab-calendar-grid{--ab-calendar-day-row-height:3.15rem}.ab-calendar-day{padding:6px}.ab-calendar-day small{font-size:0}.ab-calendar-day.is-assigned small:after{content:"●";color:var(--ab-calendar-accent);font-size:.7rem}}@media (prefers-reduced-motion:reduce){.ab-calendar-view-panel{animation:none}.ab-calendar-mini-month{transition:none}}@media (max-width:920px){.ab-help{z-index:1}.ab-header{align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));display:flex}.ab-brand{min-width:0}.ab-brand__mark{width:44px;height:48px}.ab-brand__wordmark{font-size:2.16rem}.ab-header__status{align-items:center;gap:calc(var(--ab-space-1) * var(--ab-ui-scale));margin-left:auto;display:flex}.ab-header__status .ab-header__clock{min-width:76px;padding:0 calc(var(--ab-space-2) * var(--ab-ui-scale));border-left:0;display:grid}.ab-header__clock strong{font-size:.88rem}.ab-header__clock small{font-size:.54rem}.ab-header__live-context{gap:calc(var(--ab-space-2) * var(--ab-ui-scale))}.ab-header__live-context>span+span{padding-left:calc(var(--ab-space-2) * var(--ab-ui-scale))}.ab-theme-toggle{flex:none;justify-content:center;width:36px;height:36px;min-height:36px;padding:0;display:inline-flex}.ab-theme-toggle>span{display:none}.ab-user-menu{flex:none;margin-left:0;display:block;position:relative}.ab-user-trigger{justify-content:center;width:38px;height:38px;min-height:38px;padding:0}.ab-user-trigger__copy,.ab-user-trigger__chevron{display:none}}@media (max-width:620px){.ab-status-card--next{min-height:6.5rem;padding:calc(var(--ab-space-3) * var(--ab-ui-scale))}.ab-status-card--next .ab-status-card__next-copy{text-align:center;align-content:center;justify-items:center;gap:2px;min-width:0;display:grid}.ab-status-card--next .ab-status-card__heading{width:100%;margin:0;position:static}.ab-status-card--next .ab-status-card__time{font-size:1.8rem}.ab-status-card--next .ab-status-card__label{font-size:.78rem}.ab-status-card--next .ab-status-card__accent{margin-top:3px;font-size:.72rem}.ab-status-card--split>div{min-width:0}.ab-status-card--split .ab-status-card__heading--with-badge{align-items:start;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));width:100%;margin-bottom:calc(var(--ab-space-3) * var(--ab-ui-scale));grid-template-columns:minmax(0,1fr) auto;line-height:1.25;display:grid}.ab-status-card__heading--with-badge .ab-badge{white-space:nowrap;align-self:start}.ab-status-card--manual-insights{min-height:135px}.ab-manual-insights__summary>strong{font-size:1.9rem}}@media (max-width:500px){.ab-header{flex-wrap:nowrap;gap:4px}.ab-brand{flex:auto;min-width:0}.ab-brand__mark{width:38px;height:42px}.ab-brand__wordmark{text-overflow:ellipsis;white-space:nowrap;font-size:1.55rem;overflow:hidden}.ab-header__status{border-top:0;flex:0 auto;justify-content:end;gap:0;margin-left:0;padding:0;display:flex}.ab-header__status .ab-header__clock{white-space:nowrap;justify-content:flex-end;align-items:baseline;gap:3px;min-width:0;padding:0;display:flex}.ab-header__clock-zone,.ab-header__clock-date{font-size:.43rem!important}.ab-header__clock strong{font-size:.68rem}.ab-theme-toggle,.ab-user-trigger{width:30px;height:30px;min-height:30px}.ab-theme-toggle .ab-icon,.ab-user-trigger>.ab-icon{width:1rem;height:1rem}.ab-nav-collapse{width:28px;height:28px;min-height:28px;padding:0}}@media (max-width:360px){.ab-brand__wordmark{font-size:1.3rem}.ab-header__clock strong{font-size:.62rem}.ab-header__clock-zone,.ab-header__clock-date{font-size:.39rem!important}.ab-theme-toggle,.ab-user-trigger{width:26px;height:26px}.ab-nav-collapse{width:24px;height:24px}}@media (max-width:760px){.ab-page-head__actions{justify-content:flex-end;align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));flex-wrap:wrap;min-width:0;display:flex}.ab-page-head__actions .ab-btn{white-space:nowrap}.ab-page-head__actions .ab-badge{flex:none}.ab-page-head__actions .ab-btn{flex:0 auto}.ab-page-head{align-items:flex-start}.ab-page-head>:first-child{min-width:0}.ab-users-page__head-actions,.ab-holidays-page-actions{justify-content:flex-end;align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));flex-wrap:wrap;display:flex}}@media (min-width:761px){.ab-page-head__actions{justify-content:flex-end;align-items:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));flex-wrap:wrap;min-width:0;display:flex}}@media (max-width:520px){.ab-page-head__actions{justify-content:flex-start;width:100%}.ab-page-head__actions .ab-btn{flex:auto}.ab-page-head__actions .ab-badge{margin-right:auto}.ab-users-page__head-actions,.ab-holidays-page-actions{justify-content:flex-start;width:100%}}@media (max-width:760px){.ab-schedule-dialog.is-builder,.ab-schedule-dialog.is-builder .ab-dialog-stage,.ab-schedule-builder,.ab-builder-sidebar,.ab-builder-events,.ab-event-list,.ab-event-card{box-sizing:border-box;min-width:0;max-width:100%}.ab-schedule-dialog.is-builder .ab-dialog-stage{width:100%}.ab-builder-sidebar{padding:calc(var(--ab-space-3) * var(--ab-ui-scale))}.ab-builder-sidebar__section+.ab-builder-sidebar__section{margin-top:calc(var(--ab-space-4) * var(--ab-ui-scale));padding-top:calc(var(--ab-space-3) * var(--ab-ui-scale))}.ab-builder-help{margin-top:calc(var(--ab-space-2) * var(--ab-ui-scale));font-size:.78rem;line-height:1.4}.ab-builder-sidebar h3,.ab-builder-events h3{font-size:.96rem}.ab-builder-events__toolbar{gap:calc(var(--ab-space-2) * var(--ab-ui-scale));padding:calc(var(--ab-space-3) * var(--ab-ui-scale))}.ab-event-list{gap:calc(var(--ab-space-3) * var(--ab-ui-scale));padding:calc(var(--ab-space-3) * var(--ab-ui-scale))}.ab-event-card{padding:calc(var(--ab-space-3) * var(--ab-ui-scale))}.ab-event-card__header{gap:calc(var(--ab-space-2) * var(--ab-ui-scale));margin-bottom:calc(var(--ab-space-3) * var(--ab-ui-scale));flex-wrap:wrap}.ab-event-card__identity{flex:13rem;min-width:0}.ab-event-card__tools{flex-wrap:wrap;flex:0 auto;gap:4px;margin-left:auto}.ab-event-card__tools .ab-icon-btn{width:32px;height:32px}.ab-event-title-edit,.ab-event-title-edit input{min-width:0;max-width:100%}.ab-event-title-edit input{width:100%;font-size:.92rem}.ab-event-card__summary{text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;overflow:hidden}.ab-event-fields,.ab-time-fields{width:100%;min-width:0}.ab-event-fields{gap:calc(var(--ab-space-2) * var(--ab-ui-scale))}.ab-event-days{gap:calc(var(--ab-space-2) * var(--ab-ui-scale));margin-top:calc(var(--ab-space-3) * var(--ab-ui-scale));padding-top:calc(var(--ab-space-3) * var(--ab-ui-scale))}.ab-day-toggle-list{gap:2px;padding:2px}.ab-day-toggle span{min-height:35px;font-size:.79rem}.ab-day-preset{min-height:30px;font-size:.72rem}}.ab-wizard-stage{flex-direction:column;min-height:0;max-height:min(90vh,820px);display:flex}.ab-wizard-progress{background:var(--ab-color-surface-muted);flex:none;height:5px;overflow:hidden}.ab-wizard-progress>span{background:var(--ab-color-success);border-radius:0 999px 999px 0;height:100%;transition:width .2s;display:block}.ab-wizard-body{width:min(760px,100%);min-height:430px;padding:calc(var(--ab-space-6) * var(--ab-ui-scale));flex:auto;align-self:center;overflow-y:auto}.ab-wizard-body>header{margin-bottom:calc(var(--ab-space-5) * var(--ab-ui-scale));text-align:center}.ab-wizard-body>header h3{color:var(--ab-color-text);margin:0;font-size:1.35rem}.ab-wizard-body>header p{color:var(--ab-color-text-muted);margin:7px 0 0}.ab-wizard-preset-grid{gap:calc(var(--ab-space-3) * var(--ab-ui-scale));grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.ab-wizard-preset-grid>button{min-height:132px;padding:calc(var(--ab-space-4) * var(--ab-ui-scale));color:var(--ab-color-text);border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-md);background:var(--ab-color-surface-muted);cursor:pointer;text-align:center;align-content:center;justify-items:center;gap:6px;display:grid}.ab-wizard-preset-grid>button:hover{border-color:var(--ab-color-success);transform:translateY(-1px)}.ab-wizard-preset-grid>button.is-selected{border-color:var(--ab-color-success);background:var(--ab-color-success-soft);box-shadow:0 0 0 1px var(--ab-color-success)}.ab-wizard-preset-grid small{color:var(--ab-color-text-muted);line-height:1.35}.ab-wizard-preset__icon{width:42px;height:42px;color:var(--ab-color-text-soft);border:1px solid var(--ab-color-border);background:var(--ab-color-surface);border-radius:12px;place-items:center;display:grid}.ab-wizard-preset__icon .ab-icon{stroke-width:1.75px;width:23px;height:23px}.ab-wizard-preset-grid>button.is-selected .ab-wizard-preset__icon{color:var(--ab-color-success-text);border-color:color-mix(in srgb, var(--ab-color-success) 55%, var(--ab-color-border));background:var(--ab-color-success-soft)}.ab-wizard-number-wrap,.ab-wizard-time-wrap,.ab-wizard-break{justify-items:center;gap:calc(var(--ab-space-4) * var(--ab-ui-scale));padding-top:calc(var(--ab-space-5) * var(--ab-ui-scale));display:grid}.ab-wizard-number{border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-md);background:var(--ab-color-surface);grid-template-columns:48px 110px 48px;display:grid;overflow:hidden}.ab-wizard-number button{color:var(--ab-color-success-text);background:var(--ab-color-surface-muted);cursor:pointer;border:0;font-size:1.4rem}.ab-wizard-number input{width:100%;color:var(--ab-color-text);border:0;border-inline:1px solid var(--ab-color-border);font:inherit;text-align:center;background:0 0;outline:0;padding:13px 4px;font-size:1.35rem;font-weight:700}.ab-wizard-number-wrap>span{color:var(--ab-color-text-muted)}.ab-wizard-quick-list{justify-content:center;gap:calc(var(--ab-space-2) * var(--ab-ui-scale));flex-wrap:wrap;display:flex}.ab-wizard-quick-list button{min-height:36px;color:var(--ab-color-text-soft);border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-sm);background:var(--ab-color-surface-muted);cursor:pointer;padding:7px 13px}.ab-wizard-quick-list button.is-selected{color:var(--ab-color-success-text);border-color:var(--ab-color-success);background:var(--ab-color-success-soft)}.ab-wizard-choice-list{gap:calc(var(--ab-space-3) * var(--ab-ui-scale));display:grid}.ab-wizard-choice-list>button{align-items:center;gap:calc(var(--ab-space-3) * var(--ab-ui-scale));padding:calc(var(--ab-space-4) * var(--ab-ui-scale));color:var(--ab-color-text);border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-md);background:var(--ab-color-surface-muted);cursor:pointer;text-align:left;grid-template-columns:28px 1fr;display:grid}.ab-wizard-choice-list>button.is-selected{border-color:var(--ab-color-success);background:var(--ab-color-success-soft)}.ab-wizard-choice-list small{color:var(--ab-color-text-muted);margin-top:3px;display:block}.ab-wizard-choice__check{color:#0000;border:1px solid var(--ab-color-border);border-radius:50%;place-items:center;width:24px;height:24px;display:grid}.ab-wizard-choice-list .is-selected .ab-wizard-choice__check{color:#fff;border-color:var(--ab-color-success);background:var(--ab-color-success)}.ab-wizard-days{margin-top:calc(var(--ab-space-4) * var(--ab-ui-scale));grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.ab-wizard-days label{cursor:pointer}.ab-wizard-days input{opacity:0;position:absolute}.ab-wizard-days span{min-height:42px;color:var(--ab-color-text-muted);border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-sm);background:var(--ab-color-surface-muted);place-items:center;display:grid}.ab-wizard-days input:checked+span{color:var(--ab-color-success-text);border-color:var(--ab-color-success);background:var(--ab-color-success-soft)}.ab-wizard-time{align-items:center;gap:9px;display:flex}.ab-wizard-time select{min-width:90px;color:var(--ab-color-text);border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-md);background:var(--ab-color-surface);font:inherit;text-align:center;padding:12px;font-size:1.25rem;font-weight:700}.ab-wizard-validation{margin-top:calc(var(--ab-space-4) * var(--ab-ui-scale));justify-content:center;gap:6px;display:flex}.ab-wizard-summary{gap:calc(var(--ab-space-4) * var(--ab-ui-scale));display:grid}.ab-wizard-summary-grid{gap:calc(var(--ab-space-3) * var(--ab-ui-scale));grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.ab-wizard-summary-grid.is-calendar-mode{grid-template-columns:repeat(3,minmax(0,1fr))}.ab-wizard-summary-grid>div{min-height:78px;padding:calc(var(--ab-space-3) * var(--ab-ui-scale));border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-md);background:var(--ab-color-surface-muted);text-align:center;place-content:center;gap:4px;display:grid}.ab-wizard-summary-grid strong{color:var(--ab-color-success-text);font-size:1.05rem}.ab-wizard-summary-grid span{color:var(--ab-color-text-muted);text-transform:uppercase;font-size:.72rem}.ab-wizard-timeline{padding:calc(var(--ab-space-4) * var(--ab-ui-scale));border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-md);background:var(--ab-color-surface-muted)}.ab-wizard-timeline h4{margin:0 0 calc(var(--ab-space-3) * var(--ab-ui-scale))}.ab-wizard-timeline>div{gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.ab-wizard-timeline>div>div{border-top:3px solid var(--ab-color-success);background:var(--ab-color-surface);border-radius:4px;justify-items:center;gap:3px;min-width:76px;padding:9px;display:grid}.ab-wizard-timeline>div>div.is-break{border-top-color:var(--ab-color-warning)}.ab-wizard-timeline>div>div.is-break>span{color:var(--ab-color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.58rem;font-weight:700}.ab-wizard-timeline small{min-height:1em;color:var(--ab-color-text-muted);white-space:nowrap}.ab-wizard-activate{padding:calc(var(--ab-space-4) * var(--ab-ui-scale));border:1px solid var(--ab-color-border);border-radius:var(--ab-radius-md);background:var(--ab-color-success-soft);cursor:pointer;align-items:flex-start;gap:11px;display:flex}.ab-wizard-activate input{accent-color:var(--ab-color-success);margin-top:3px}.ab-wizard-activate span{gap:3px;display:grid}.ab-wizard-activate small{color:var(--ab-color-text-muted)}@media (max-width:760px){.ab-wizard-stage{max-height:calc(100vh - 16px)}.ab-wizard-body{min-height:0;padding:calc(var(--ab-space-4) * var(--ab-ui-scale))}.ab-wizard-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ab-wizard-preset-grid>button{min-height:112px;padding:calc(var(--ab-space-3) * var(--ab-ui-scale))}.ab-wizard-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ab-wizard-days{grid-template-columns:repeat(4,minmax(0,1fr))}.ab-wizard-days span{min-height:46px;font-size:1.05rem}}@media (prefers-reduced-motion:reduce){.ab-wizard-progress>span{transition:none}}.ab-help__panel:focus{outline:none}.ab-help__panel:focus-visible{box-shadow:var(--ab-shadow-md), var(--ab-focus-ring)}.ab-help__panel-header{justify-content:space-between;align-items:flex-start;gap:var(--ab-space-3);display:flex}.ab-help__panel-header h2{margin-bottom:calc(var(--ab-space-3) * var(--ab-ui-scale))}.ab-help__close{width:32px;height:32px;color:var(--ab-color-text-soft);border-radius:var(--ab-radius-sm);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;flex:0 0 32px;place-items:center;padding:0;font-size:1.25rem;line-height:1;display:grid}.ab-help__close:hover{border-color:var(--ab-color-border);background:var(--ab-color-surface-muted)}.ab-help__close:focus-visible{box-shadow:var(--ab-focus-ring);outline:none}@media (max-width:760px){.ab-maintenance-layer{padding:0}.ab-maintenance-dialog,.ab-health-dialog{border:0;border-radius:0;width:100vw;max-height:100dvh}.ab-maintenance-dialog>header{padding:calc(var(--ab-space-4) * var(--ab-ui-scale))}.ab-maintenance-tabs{margin:calc(var(--ab-space-3) * var(--ab-ui-scale)) calc(var(--ab-space-4) * var(--ab-ui-scale)) 0}.ab-maintenance-stage{padding:calc(var(--ab-space-4) * var(--ab-ui-scale))}.ab-backup-summary__grid{grid-template-columns:repeat(2,1fr)}.ab-backup-summary__grid>span:nth-child(4n){border-right:1px solid var(--ab-color-border-soft)}.ab-backup-summary__grid>span:nth-child(2n){border-right:0}.ab-maintenance-confirm{flex-direction:column;align-items:stretch}.ab-maintenance-confirm .ab-btn{width:100%}.ab-health-overview{margin:calc(var(--ab-space-3) * var(--ab-ui-scale)) calc(var(--ab-space-4) * var(--ab-ui-scale));grid-template-columns:auto minmax(0,1fr)}.ab-health-counts{grid-column:1/-1;justify-content:stretch}.ab-health-counts>span{flex:1}.ab-health-list{padding:0 calc(var(--ab-space-4) * var(--ab-ui-scale)) calc(var(--ab-space-3) * var(--ab-ui-scale))}.ab-health-item{grid-template-columns:auto minmax(0,1fr)}.ab-health-item>.ab-badge{grid-column:2;justify-self:start}.ab-health-dialog__footer{padding:calc(var(--ab-space-3) * var(--ab-ui-scale)) calc(var(--ab-space-4) * var(--ab-ui-scale));flex-wrap:wrap}.ab-health-dialog__footer>span{width:100%}}:root,:root[data-theme=dark]{--ab-color-canvas:#1d2940;--ab-color-shell:#141a2b;--ab-color-border:#cedaeb29;--ab-color-border-soft:#cedaeb14;--ab-color-panel-border:#ffffff14;--ab-color-panel-border-soft:#ffffff0d;--ab-panel-border-width:1px;--ab-panel-radius:12px;--ab-shadow-panel:0 1px 0 #ffffff05 inset, 0 10px 28px #0000001a}:root[data-theme=light]{--ab-color-panel-border:#233a3026;--ab-color-panel-border-soft:#233a3017;--ab-panel-border-width:1px;--ab-panel-radius:12px;--ab-shadow-panel:0 6px 18px #233a3014}.ab-panel,.ab-summary,.ab-status-card,.ab-schedule-table,.ab-io-table,.ab-dialog-stage,.ab-dialog,.ab-calendar-builder,.ab-user-editor,.ab-log-dialog{border-width:var(--ab-panel-border-width);border-color:var(--ab-color-panel-border);border-radius:var(--ab-panel-radius);box-shadow:var(--ab-shadow-panel)}.ab-summary__item,.ab-device-summary .ab-summary__item,.ab-log-stat,.ab-schedule-table__row,.ab-schedule-table__head{border-color:var(--ab-color-panel-border-soft)}:root[data-theme=dark] .ab-btn--outline,:root[data-theme=dark] .ab-btn--neutral,:root[data-theme=dark] .ab-icon-btn,:root[data-theme=dark] .ab-help__trigger{background:#ffffff09;border-color:#cedaeb21;box-shadow:inset 0 1px #ffffff05}:root[data-theme=dark] .ab-btn--outline:hover,:root[data-theme=dark] .ab-btn--neutral:hover,:root[data-theme=dark] .ab-icon-btn:hover,:root[data-theme=dark] .ab-help__trigger:hover{background:#ffffff12;border-color:#cedaeb38}:root[data-theme=dark] .ab-btn--primary{border-color:#0000;box-shadow:inset 0 1px #ffffff1a}:root[data-theme=dark] .ab-btn--danger{border-color:color-mix(in srgb, var(--ab-color-danger) 30%, transparent);background:color-mix(in srgb, var(--ab-color-danger) 10%, var(--ab-color-surface-muted))}:root[data-theme=dark] .ab-emergency-action-card>.ab-btn{border-color:color-mix(in srgb, var(--ab-action-accent) 30%, transparent);background:color-mix(in srgb, var(--ab-action-accent) 7%, var(--ab-color-surface-muted))}:root[data-theme=dark] .ab-emergency-action-card>.ab-btn:hover{border-color:color-mix(in srgb, var(--ab-action-accent) 48%, transparent);background:color-mix(in srgb, var(--ab-action-accent) 12%, var(--ab-color-surface-muted))}:root[data-theme=dark] .ab-mode-switch__option[aria-pressed=true],:root[data-theme=dark] .ab-control-mode-dropdown__panel .ab-mode-switch__option[aria-pressed=true],:root[data-theme=dark] .ab-output-assignment-option.is-selected,:root[data-theme=dark] .ab-interface-tabs>button.is-selected,:root[data-theme=dark] .ab-role-preset.is-selected,:root[data-theme=dark] .ab-wizard-preset-grid>button.is-selected,:root[data-theme=dark] .ab-wizard-choice-list>button.is-selected,:root[data-theme=dark] .ab-wizard-quick-list button.is-selected,:root[data-theme=dark] .ab-wizard-days input:checked+span{border-color:color-mix(in srgb, var(--ab-color-success) 38%, transparent)}:root[data-theme=dark] .ab-addressing-choice button.is-selected{box-shadow:0 0 0 1px color-mix(in srgb, var(--ab-color-success) 32%, transparent) inset}:root[data-theme=dark] .ab-field,:root[data-theme=dark] .ab-select,:root[data-theme=dark] textarea{background-color:color-mix(in srgb, var(--ab-color-input) 88%, var(--ab-color-surface));border-color:#cedaeb21}@media (max-width:700px){.ab-dialog-stage,.ab-calendar-builder,.ab-user-editor,.ab-log-dialog{box-shadow:none;border-radius:0}}
