/* MVP planning workspace: Elbrus palette, explicit hierarchy, compact controls. */
:root { --ui-shadow:0 6px 24px rgba(11,58,76,.055); --ui-focus:0 0 0 3px rgba(20,82,104,.18); }
body { line-height:1.4; }
button,a,input,select { -webkit-tap-highlight-color:transparent; }
button,a { transition:background-color .14s,border-color .14s,color .14s,box-shadow .14s; }
.btn:hover:not(:disabled) { border-color:#9db5bf;box-shadow:0 2px 5px #0b3a4c0a; }
button:disabled { opacity:.42; }
.app-main { min-height:100dvh; }
.rail { box-shadow:4px 0 24px #0b3a4c0a; }
.rail a { text-decoration:none; }
.rail a:hover { background:#145268;color:#fff; }
.rail-label { position:absolute;left:56px;top:8px;border-radius:8px;background:#0b3a4c;color:#fff;white-space:nowrap;padding:7px 12px;font-size:12px;font-weight:600;pointer-events:none;opacity:0;transform:translateX(-3px);transition:opacity .14s,transform .14s;box-shadow:0 4px 16px #0b3a4c26; }
.rail a:hover .rail-label,.rail a:focus-visible .rail-label { opacity:1;transform:translateX(0); }
.plan-root { outline:none; }
.plan-root .scroll>header { gap:8px 10px!important;padding:12px 20px!important;align-items:center!important; }
.plan-root .scroll>header>button,.plan-root .scroll>header>.plan-switch>button { min-height:38px; }
.plan-root .plan-presets { align-self:center; }
.plan-root .plan-search { background:#f7f9fb!important;border-color:#e1e8ec!important; }
.plan-root .plan-search:focus-within { border-color:#7aa3b3!important;box-shadow:var(--ui-focus); }
.plan-root .plan-command-trigger { font-size:12px;color:#5b707b;min-width:52px; }
.plan-root .plan-switch-button { font-size:12px;border-width:1px;border-color:#7aa3b3; }
.plan-root .scroll>section[aria-label="Сводка"] { padding:10px 20px!important;gap:8px 20px!important;background:#fcfdfe!important; }
.plan-root .scroll>section[aria-label="Сводка"]>span { font-size:12px!important; }
.plan-root .scroll>section[aria-label="Сводка"]>span:first-child { font-size:10px!important;text-transform:uppercase;letter-spacing:.04em;max-width:130px; }
.plan-root .plan-filters { gap:7px!important;padding:14px 20px 8px!important; }
.plan-root .plan-filters>.pill { padding:6px 12px;min-height:32px;font-size:11px; }
.plan-root .plan-filters .seg button { font-size:11px;padding:5px 9px;min-height:27px; }
.plan-root .plan-legend { gap:8px 14px!important;font-size:10px!important;padding-bottom:10px!important; }
.plan-workspace-heading { display:flex;align-items:center;justify-content:space-between;gap:12px;margin:6px 20px 8px; }
.plan-workspace-heading>div:first-child { display:flex;gap:12px;align-items:baseline; }
.plan-workspace-heading b { font-size:14px;font-weight:800;color:#0b3a4c; }
.plan-workspace-heading span { color:#5b707b;font-size:10px; }
.plan-workspace-actions { display:flex;align-items:center;gap:8px; }
.plan-workspace-actions .btn { font-size:10px;min-height:30px;height:30px;padding:0 10px;border-color:#e1e8ec;background:#fff; }
.plan-guide { margin:0 20px 10px;display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:10px;color:#6b808b; }
.plan-guide-mark { color:#0b3a4c;background:#e7f0f4;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:5px;font-weight:800; }
kbd { font-family:inherit;border:1px solid #d8e2e7;background:#fff;padding:1px 5px;border-radius:4px;font-size:9px;box-shadow:0 1px 0 #d8e2e7; }
.plan-root .tablewrap { box-shadow:var(--ui-shadow);border-color:#d8e2e7;border-radius:12px; }
.plan-root table.tabel { user-select:none; }
.plan-root table.tabel th.day-h { font-size:11px; }
.plan-root table.tabel td.day { cursor:cell; }
.plan-root table.tabel td.fct { cursor:default; }
.plan-root table.tabel td.day:not(.fct):hover { box-shadow:inset 0 0 0 2px #7aa3b3; }
.plan-root table.tabel td.seld { background:#d3e9f1!important;box-shadow:inset 0 0 0 2px #145268!important; }
.plan-root table.tabel td.st-fio:focus-visible { outline:2px solid #145268;outline-offset:-2px; }
.plan-root table.tabel tr.grp td { font-size:11px; }
.plan-root table.tabel td.st-fio { font-size:11.5px; }
.plan-root .scroll { max-height:calc(100dvh - 360px); }
.plan-root .table-foot { font-size:10px;padding:8px 12px; }
.plan-empty { min-height:220px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:32px;white-space:normal; }
.plan-empty b { color:#0b3a4c;font-size:18px; }
.plan-empty p { color:#5b707b;font-size:12px;max-width:340px; }
.plan-root table.tabel .plan-empty-row td { background:#fff!important;height:auto!important; }
.selbub-pill { gap:8px!important; }
.selbub-edit { border-radius:6px;background:#fff;color:#0b3a4c;padding:4px 9px;font-size:10px;font-weight:800; }
.employee-panel { border-top:4px solid #e31e25; }
.employee-heading h2 { font-weight:800; }
.employee-edit { width:100%;margin:4px 0 16px; }
.employee-panel h3 { font-size:12px;margin-top:20px;color:#0b3a4c; }
.employee-panel .data-note { font-size:11px; }
.command-palette { max-height:80dvh;overflow:auto; }
.command-palette input:focus { outline:none;border-color:#7aa3b3;box-shadow:var(--ui-focus); }
.modal,.command-palette { border:1px solid #d8e2e7; }
.toast { max-width:min(520px,calc(100vw - 32px));border-radius:12px;box-shadow:0 6px 28px #0b3a4c26;font-size:12px; }
.app:has(.plan-root.focus-true)>.rail { display:none; }
.app:has(.plan-root.focus-true)>.app-main { margin-left:0; }
.plan-root.focus-true .scroll>header,.plan-root.focus-true .scroll>section[aria-label="Сводка"],.plan-root.focus-true .scroll>.plan-filters,.plan-root.focus-true .scroll>.plan-legend { display:none!important; }
.plan-root.focus-true .scroll { max-height:calc(100dvh - 125px)!important; }
.plan-root.focus-true .plan-workspace-heading { margin-top:14px; }
@media(max-width:1279px) {
 .plan-workspace-heading { margin-top:12px; }
 .plan-root.view-false .plan-guide { margin-bottom:8px; }
 .plan-root.view-false .scroll { max-height:calc(100dvh - 235px); }
}
@media(max-width:900px) {
 .rail a { height:46px;position:relative;padding-bottom:9px; }
 .rail-label { opacity:1;transform:none;box-shadow:none;background:none;top:auto;bottom:0;left:50%;padding:0;font-size:9px;font-weight:500;transform:translateX(-50%);color:#b6cdd6; }
 .rail a.on .rail-label { color:#fff; }
 .rail a:hover .rail-label,.rail a:focus-visible .rail-label { transform:translateX(-50%); }
 .plan-workspace-heading { margin-left:12px;margin-right:12px; }
 .plan-workspace-heading>div:first-child { flex-direction:column;gap:2px; }
 .plan-workspace-heading b { font-size:12px; }
 .plan-workspace-heading span { font-size:9px; }
 .plan-guide { margin-left:12px;margin-right:12px; }
 .plan-guide kbd,.plan-guide kbd+span { display:none; }
 .plan-root .table-foot { gap:10px;flex-wrap:wrap; }
 .plan-root .table-foot .legend { flex-wrap:wrap;font-size:9px;gap:8px; }
 .plan-root .table-foot .legend .it { font-size:9px; }
}
@media(max-width:600px) {
 .plan-workspace-heading { align-items:flex-start; }
 .plan-workspace-actions { gap:4px; }
 .plan-workspace-actions .btn { font-size:9px;padding:0 7px; }
 .plan-guide { font-size:9px; }
 .plan-root .plan-focus-button { display:none; }
 .plan-root.view-false .scroll { max-height:calc(100dvh - 295px); }
 .plan-root table.tabel .rc:last-child,.plan-root table.tabel .rh:last-child { position:static; }
 .plan-root .plan-switch-button { max-width:230px;text-overflow:ellipsis;overflow:hidden; }
 .plan-root .plan-menu { position:fixed;top:130px;left:12px;right:12px;min-width:0;max-height:60dvh;overflow:auto; }
 .selbub { max-width:calc(100vw - 24px); }
}
@media(prefers-reduced-motion:reduce) { * { transition:none!important;scroll-behavior:auto!important; } }
@media print { .plan-workspace-heading,.plan-guide { display:none; } }

.plan-guide { min-height:20px; }
@media(max-width:900px) { .rail>.rail-logo { display:none; } }

.overview-page .overview-status-dot { display:inline-block;width:6px;height:6px;min-width:6px;min-height:6px;max-width:6px;max-height:6px;padding:0;border:0;border-radius:50%;flex:none; }

/* The plan owns its viewport: only the time sheet scrolls. */
.app-main:has(.plan-root) { height:100dvh;min-height:0;overflow:hidden;padding-bottom:0; }
.plan-root { height:100dvh;display:flex;flex-direction:column;min-height:0;overflow:hidden; }
.plan-root .scroll>header,.plan-root .scroll>section,.plan-filters,.plan-legend,.plan-workspace-heading,.plan-guide { flex:none; }
.plan-root .plan-main { flex:1;min-height:0;display:flex;padding-bottom:12px; }
.plan-root .tablewrap { display:flex;flex-direction:column;min-height:0; }
.plan-root .scroll { flex:1;min-height:100px;max-height:none!important;overflow:auto; }
.plan-root .table-foot { flex:none; }
.plan-root .plan-tools { display:contents; }
.plan-tools-heading,.plan-mobile-filters,.plan-view-backdrop { display:none; }
.plan-root .plan-guide { height:24px;min-height:24px;flex-wrap:nowrap;white-space:nowrap;overflow:hidden;font-size:11px; }
.plan-guide>span:nth-child(2) { min-width:0;overflow:hidden;text-overflow:ellipsis; }
.plan-root table.tabel td.st-fio { font-size:12.5px; }
.plan-root table.tabel td.st-fio .fio-role { font-size:11px;line-height:14px; }
.plan-root table.tabel th.day-h { font-size:12px; }
.plan-root .plan-legend { font-size:11px!important; }
.plan-workspace-heading span { font-size:11px; }
.plan-workspace-actions .btn { font-size:11px;min-height:34px; }
.plan-root .plan-filters>.pill,.plan-root .plan-filters .seg button { font-size:12px; }
.plan-root .plan-search input { min-width:0; }
.plan-root .plan-tools>button { white-space:nowrap; }
.cal-pop { width:min(380px,calc(100vw - 24px));max-height:calc(100dvh - 100px);overflow:auto; }
@media(min-width:0px) {
 .plan-root .mobile-view-toggle { display:block!important; }
 .plan-root .scroll>header { flex-wrap:wrap;gap:8px!important; }
 .plan-root .scroll>header>.plan-switch { order:2; }
 .plan-root .scroll>header>.mobile-view-toggle { order:3; }
 .plan-root.view-false .plan-tools { display:none!important; }
 .plan-root .scroll>.plan-filters,.plan-root .scroll>.plan-legend,.plan-root .scroll>section[aria-label="Сводка"] { display:none!important; }
 .plan-root.view-true .plan-tools { display:flex!important;flex-wrap:wrap;align-content:flex-start;gap:12px;position:fixed;z-index:160;top:16px;right:16px;width:440px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;padding:20px;border:1px solid #d8e2e7;border-radius:16px;background:#fff;box-shadow:0 20px 70px #0b3a4c33; }
 .plan-tools-heading { display:flex;width:100%;align-items:center;justify-content:space-between;color:#0b3a4c;font-size:18px;margin-bottom:4px; }
 .plan-tools-heading .btn-x { width:36px;height:36px;border:1px solid #d8e2e7; }
 .plan-root .plan-tools>.plan-presets,.plan-root .plan-tools>.plan-search { width:100%; }
 .plan-root .plan-tools>.plan-search input { flex:1;width:100%!important; }
 .plan-root .plan-tools>button { flex:1 1 calc(50% - 6px);min-height:42px!important;height:auto!important;padding:10px!important;font-size:12px!important; }
 .plan-root .plan-tools>.plan-command-trigger { flex-basis:100%; }
 .plan-root .plan-tools .plan-presets button { flex:1;padding:6px 5px;font-size:12px; }
 .plan-mobile-filters { display:block;width:100%;border-top:1px solid #e1e8ec;padding-top:8px; }
 .plan-mobile-filters h3 { font-size:12px;color:#5b707b;margin:12px 0 8px; }
 .plan-mobile-filters .seg { display:flex!important;flex-wrap:wrap;width:100%;margin-bottom:10px; }
 .plan-mobile-filters .seg button { flex:1;padding:8px 6px!important;min-height:38px; }
 .plan-mobile-filters p { font-size:12px;line-height:1.5;color:#5b707b; }
 .plan-view-backdrop { display:block;position:fixed;inset:0;z-index:155;background:#0b3a4c66; }
 .plan-root .plan-workspace-heading { margin-top:12px; }
}
@media(max-width:900px) { .plan-root { height:calc(100dvh - 60px); } }
@media(max-width:600px) {
 .plan-root.view-true .plan-tools { left:12px;right:12px;top:12px;bottom:72px;width:auto;max-width:none;max-height:none;padding:16px; }
 .plan-root .plan-guide { font-size:11px; }
 .plan-root .plan-workspace-heading { flex-wrap:wrap; }
 .plan-root .table-foot .legend { display:none; }
 .plan-root .table-foot { padding:8px 10px; }
 .plan-root .plan-menu { top:118px; }
}

.plan-root table.tabel { zoom:var(--zoom,1); }
.object-backdrop { position:fixed;inset:0;z-index:75; }
.plan-object-menu { position:fixed;left:88px;top:66px;width:310px;max-width:calc(100vw - 32px);z-index:80;background:#fff;border:1px solid #d8e2e7;border-radius:12px;box-shadow:0 14px 40px #0b3a4c26;padding:12px; }
.plan-object-menu>b { display:block;padding:6px 8px 10px;color:#5b707b;font-size:12px; }
.plan-object-menu button { display:block;width:100%;text-align:left;padding:12px 10px;border-radius:8px;font-weight:700;font-size:13px; }
.plan-object-menu button span { display:block;font-size:12px;font-weight:400;color:#5b707b;margin-top:4px; }
.plan-object-menu .object-current { background:#eef6f9;color:#0b3a4c; }
.plan-object-menu button:disabled { opacity:.7; }
.plan-zoom-range { width:100%;accent-color:#0b3a4c;min-height:40px; }
@media(max-width:900px) { .plan-object-menu { left:16px; } }
.plan-root .table-foot .legend { display:none; }
.plan-root .table-foot { padding:7px 12px;min-height:30px; }
.plan-root .table-foot>span { white-space:nowrap;font-size:11px; }
.plan-root .plan-density { margin-left:auto; }
.btn.btn-primary:disabled { background:#edf1f4;border-color:#d8e2e7;color:#5b707b;opacity:1; }
@media(min-width:0px) { .plan-root .plan-tools>.plan-density { display:none; } }
.plan-search-count,.plan-tools-apply { display:none; }
@media(min-width:0px) {
 .plan-root .plan-search-count { display:block;flex-basis:100%;font-size:12px;color:#5b707b; }
 .plan-root .plan-tools>.plan-tools-apply { display:block;flex-basis:100%; }
}

/* Pinned in-grid totals and translucent scale controls. */
.plan-root .tablewrap { position:relative; }
.plan-root table.tabel { border-collapse:separate;border-spacing:0; }
.plan-root table.tabel thead { position:sticky;top:0;z-index:30;box-shadow:0 2px 0 #d8e2e7; }
.plan-root table.tabel thead th { background:#fbfcfd; }
.plan-root table.tabel thead .st-fio { top:auto;z-index:32; }
.plan-root table.tabel tfoot.plan-totals { position:sticky;bottom:0;z-index:20;box-shadow:0 -2px 0 #bdced6,0 -6px 16px #0b3a4c0c; }
.plan-root table.tabel tfoot.plan-totals td { border-bottom:0;white-space:nowrap; }
.plan-root table.tabel tfoot .comp td { height:34px; }
.plan-root table.tabel tfoot .lbl { position:sticky;left:0;z-index:23;text-align:left;padding:5px 12px;font-size:12px;background:#eef3f6; }
.plan-root table.tabel tfoot .plan-total-row td { height:42px;background:#eaf2f6;color:#0b3a4c;border-top:1px solid #d8e2e7;font-size:12px;font-weight:800;text-align:center; }
.plan-root table.tabel tfoot .plan-total-row .lbl { text-align:left; }
.plan-root table.tabel tfoot .plan-total-row .lbl span { display:block;font-size:10px;font-weight:500;color:#6a57a0; }
.plan-root table.tabel tfoot .plan-total-row .replacement-count { color:#6a57a0;font-size:11px;font-weight:600; }
.plan-root table.tabel tfoot .plan-total-row .rc { background:#eaf2f6;z-index:24;font-size:11.5px; }
.plan-root table.tabel tfoot .comp-sum { background:#eef3f6; }
.plan-zoom-bubble { position:fixed;right:28px;bottom:132px;z-index:36;display:flex;align-items:center;gap:2px;padding:4px;border:1px solid #ffffffa8;border-radius:999px;background:#0b3a4cb8;color:#fff;box-shadow:0 5px 20px #0b3a4c26;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);opacity:.8;transition:opacity .15s,background .15s; }
.plan-zoom-bubble:hover,.plan-zoom-bubble:focus-within { opacity:1;background:#0b3a4ce8; }
.plan-zoom-bubble button { width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:inherit;font-size:22px;line-height:1;cursor:pointer; }
.plan-zoom-bubble button:hover:not(:disabled) { background:#ffffff26; }
.plan-zoom-bubble button.plan-zoom-reset { width:56px;border-radius:18px;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums; }
.plan-zoom-bubble button:disabled { opacity:.3; }
.plan-zoom-bubble button:focus-visible { outline:2px solid #fff;outline-offset:-3px; }
@media(max-width:900px) { .plan-zoom-bubble { bottom:192px;right:18px; } }
@media(max-width:600px) {
 .plan-root table.tabel tfoot .lbl { font-size:11px; }
 .plan-root table.tabel tfoot .plan-total-row td { height:40px; }
 .plan-zoom-bubble { right:16px;bottom:188px; }
}
@media print { .plan-zoom-bubble { display:none; } .plan-root table.tabel tfoot.plan-totals { position:static; } }

/* Any-period picker: date fields and a correctly aligned six-week calendar. */
.cal-range-fields { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin:12px 0 14px; }
.cal-range-fields label { display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;color:#5b707b;min-width:0; }
.cal-range-fields input { width:100%;min-width:0;box-sizing:border-box;height:38px;padding:6px 8px;border:1px solid #cbd9e0;border-radius:8px;background:#fff;color:#0b3a4c;font:600 13px inherit; }
.cal-range-fields>.btn { grid-column:1/-1;min-height:36px; }
.cal-error { margin:0 0 10px;color:#b51c29;font-size:12px; }
.cal-d { cursor:pointer; }
.cal-d.adjacent { color:#8b9ba5;background:#f8fafb; }
.cal-d.adjacent:hover { color:#0b3a4c; }
.cal-nav { width:36px;height:34px;border:1px solid #e1e8ec;font-size:22px; }
.cal-cap { font-size:14px; }
.cal-legend { flex-wrap:wrap;gap:8px 12px; }
.cal-pop { box-sizing:border-box; }

/* Keep footer at viewport bottom for short/filtered lists, too. */
.plan-root table.tabel { height:100%; }
.plan-root table.tabel tr.plan-spacer { height:100%; }
.plan-root table.tabel tr.plan-spacer td { padding:0;border:0;background:#fff; }
.plan-root table.tabel thead .zone.fz { background:#0b3a4c;color:#fff; }
.plan-root table.tabel thead .zone.pz { background:#edf6f8;color:#0b3a4c; }
.plan-root table.tabel col.cg-h { width:86px; }
.plan-root table.tabel col.cg-o { width:80px; }
.plan-root table.tabel col.cg-p { width:124px; }
.plan-root table.tabel .rc:last-child,.plan-root table.tabel .rh:last-child { right:0;min-width:124px;width:124px; }
.plan-root table.tabel .rc:nth-last-child(2),.plan-root table.tabel .rh:nth-last-child(2) { right:124px;min-width:80px;width:80px; }
.plan-root table.tabel .rc:nth-last-child(3),.plan-root table.tabel .rh:nth-last-child(3) { right:204px;min-width:86px;width:86px; }
.cal-range-fields>.btn { justify-content:center;text-align:center; }
.plan-root:has([role="dialog"]) .plan-zoom-bubble { visibility:hidden; }

@media(max-width:600px) {
 .plan-root table.tabel .rc,.plan-root table.tabel .rh { position:static!important; }
 .plan-root table.tabel tfoot .plan-total-row .rc { position:static!important; }
}

.plan-root table.tabel th.day-h { padding-left:2px;padding-right:2px;min-width:32px;color:#405e6d; }
.plan-root table.tabel th.day-h.we { color:#a5121a; }
.plan-root table.tabel tfoot.plan-totals { background:#eaf2f6; }
.plan-root table.tabel tfoot .plan-total-row .rc { background:#eaf2f6!important; }
.plan-group-label { display:inline-flex;align-items:center;position:sticky;left:12px; }

.plan-zoom-bubble { bottom:calc(72px + 80px * var(--table-scale,1)); }
@media(max-width:900px) { .plan-zoom-bubble { bottom:calc(132px + 80px * var(--table-scale,1)); } }

.plan-group-label { transform:translateZ(0); }

/* A single compact total row and compact nested replacement rows. */
.plan-root table.tabel tfoot .plan-total-row td { height:32px;padding:4px 3px;font-size:11.5px;line-height:18px; }
.plan-root table.tabel tfoot .plan-total-row .lbl { padding:4px 12px;font-size:12px; }
.plan-root table.tabel tfoot .plan-total-row td.low { background:#fbd5d7;color:#a5121a; }
.plan-root table.tabel tfoot .plan-total-row td.over { background:#e0f2ee; }
.plan-root table.tabel tfoot .plan-total-row td.nd { color:#8a9da8;font-weight:500; }
.plan-root table.tabel tfoot .plan-total-row .total-sub-count { display:inline;margin-left:3px;font-size:10px;font-weight:600;color:#6a57a0; }
.plan-zoom-bubble { bottom:calc(64px + 34px * var(--table-scale,1)); }
@media(max-width:900px) { .plan-zoom-bubble { bottom:calc(124px + 34px * var(--table-scale,1)); } }

/* Compact name/position columns; positions wrap instead of increasing name rows. */
.plan-root { --w-fio:180px;--w-role:96px; }
.plan-root table.tabel col.cg-role { width:var(--w-role); }
.plan-root table.tabel .st-role { position:sticky;left:var(--w-fio);width:var(--w-role);min-width:var(--w-role);max-width:var(--w-role);white-space:normal;overflow-wrap:normal;word-break:normal;text-overflow:clip;text-align:left;font-size:10px;font-weight:500;line-height:11px;padding:2px 6px;background:#fff;z-index:3; }
.plan-root table.tabel thead .st-role { background:#fbfcfd;z-index:32;top:auto; }
.plan-root table.tabel tbody tr.row td { height:28px;padding-top:2px;padding-bottom:2px; }
.plan-root.density-0 table.tabel tbody tr.row td { height:24px; }
.plan-root.density-2 table.tabel tbody tr.row td { height:34px; }
.plan-root table.tabel tbody td.st-fio { padding:2px 8px;font-size:12px;line-height:18px; }
.plan-root table.tabel tbody td.st-fio .badge-days { position:static;float:right;margin-left:3px;font-size:8px;line-height:12px;padding:1px 3px; }
.plan-root table.tabel tr.substitution-child td.st-role { background:#f0f3fc;color:#71809c; }
.plan-root table.tabel tr.substitution-child td { height:26px; }
.plan-zoom-bubble { opacity:.35;background:#0b3a4c99; }
.plan-zoom-bubble:hover { opacity:1;background:#0b3a4ce8; }
.plan-zoom-bubble:focus-within:not(:hover) { opacity:.35;background:#0b3a4c99; }
.plan-zoom-bubble:has(button:focus-visible) { opacity:1;background:#0b3a4ce8; }
@media(max-width:600px) {
 .plan-root { --w-fio:130px;--w-role:76px; }
 .plan-root table.tabel tbody td.st-fio { font-size:11px;padding-left:5px;padding-right:4px; }
 .plan-root table.tabel .st-role { font-size:9px;line-height:10px;padding:2px 4px; }
}

.plan-root table.tabel tfoot.plan-totals { transform:translateZ(0);will-change:transform; }

/* Working table fills all space below the toolbar, edge to edge. */
.app-main:has(.plan-root) { padding:0; }
.plan-root .plan-main { margin:0!important;padding:0!important; }
.plan-root .tablewrap { margin:0!important;padding:0;border:0;border-radius:0;box-shadow:none;width:100%; }
.plan-root .scroll { border:0;border-radius:0; }
.plan-zoom-bubble { bottom:calc(32px + 34px * var(--table-scale,1)); }
@media(max-width:900px) { .plan-zoom-bubble { bottom:calc(92px + 34px * var(--table-scale,1)); } }

/* Controls scroll away naturally; only the table header stays at screen top. */
.plan-root .scroll>header,.plan-root .scroll>section,.plan-root .scroll>.plan-filters,.plan-root .scroll>.plan-legend { position:static;z-index:auto;width:100%; }
.plan-root .scroll>header { top:auto; }
