/* ERadius — оболонка (11.10.2026, правки власника голосом). Підключається останнім після restyle.css.
   Мова — та сама, що в панелях старту й меню (sidebar-panels.css): токени теми, без власних кольорів. */

/* ── 1. Шапка меню: знак ≈40 px, під назвою — назва відділення; уся шапка веде на старт ── */
html[data-theme] .sidebar .brand{gap:var(--space-3);padding:var(--space-2);margin:calc(var(--space-1) * -1) 0 var(--space-2);align-items:center;position:relative}
html[data-theme] .sidebar .brand .brand-mark,
html[data-theme] .sidebar .brand .brand-logo{width:40px;height:40px}
html[data-theme] .sidebar .brand .brand-text{display:flex;flex-direction:column;gap:2px;min-width:0}
html[data-theme] .sidebar .brand .brand-name{font-size:17px;line-height:1.1}
html[data-theme] .sidebar .brand .brand-sub{font-size:11.5px;line-height:1.25;color:var(--text-secondary);white-space:normal;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* сигнал «можна натиснути»: підсвітка + стрілка на старт при наведенні, як у рядків панелей */
html[data-theme] .sidebar:not(.is-collapsed) .brand::after{content:'›';position:absolute;right:var(--space-2);top:50%;transform:translateY(-50%);
  color:var(--text-muted);opacity:0;transition:opacity 120ms ease,transform 120ms ease;font-size:18px}
html[data-theme] .sidebar:not(.is-collapsed) .brand:hover::after,
html[data-theme] .sidebar:not(.is-collapsed) .brand:focus-visible::after{opacity:1;color:var(--accent);transform:translate(2px,-50%)}
html[data-theme] .sidebar .brand:hover .brand-name{color:var(--accent)}
html[data-theme] .sidebar.is-collapsed .brand{padding:var(--space-1);margin:0 0 var(--space-2)}
html[data-theme] .sidebar.is-collapsed .brand .brand-mark{width:36px;height:36px}

/* ── 2. Кнопка згортання — рядок меню внизу, над «Друк». Одна кнопка, одне місце, обидва стани ── */
html[data-theme] .sidebar .sidebar-collapse{display:flex;align-items:center;gap:var(--space-2);width:100%;border:0;background:none;
  font:inherit;color:var(--text-secondary);cursor:pointer;text-align:left;border-radius:var(--r-sm)}
html[data-theme] .sidebar .sidebar-collapse:hover{background:color-mix(in srgb,var(--bg-hover) 85%,transparent);color:var(--text-primary)}
html[data-theme] .sidebar .sidebar-collapse:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}
html[data-theme] .sidebar .sidebar-collapse::after{content:none!important}
html[data-theme] .sidebar .sidebar-collapse .sidebar-collapse-ic{width:18px;height:18px;flex:0 0 auto;transition:transform 180ms ease}
html[data-theme] .sidebar.is-collapsed .sidebar-collapse{justify-content:center;padding:var(--space-2) 0}
html[data-theme] .sidebar.is-collapsed .sidebar-collapse .sidebar-collapse-ic{transform:rotate(180deg)}
html[data-theme] .sidebar.is-collapsed .sidebar-collapse-label{display:none}
/* старої ручки на краю більше немає в розмітці; правило — на випадок кешованої сторінки */
.sidebar-edge-handle{display:none!important}

/* ── 3. Верхня панель: прибрано шестірню дашборду, шари (брендування) і «три крапки» ── */
[data-shell-hidden]{display:none!important}

/* ── 4. Налаштування біля «Оператор» — групи з підписами ── */
html[data-theme] #settingsMenu .settings-group-title{margin:var(--space-2) var(--space-3) 2px;font-size:10.5px;font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}
html[data-theme] #settingsMenu .settings-group-title:first-child{margin-top:var(--space-1)}
html[data-theme] .sidebar.is-collapsed .sidebar-footer .more-menu .settings-group-title{display:block}

/* ── 5. Годинник-табло лише на старті ── */
.start-clock{display:none}
body[data-route="overview"] .start-clock{display:flex;flex-direction:column;position:absolute;top:30px;left:50%;transform:translateX(-50%);
  z-index:3;pointer-events:none;align-items:center;text-align:center;
  padding:var(--space-2) var(--space-5);border-radius:var(--r-md);
  background:color-mix(in srgb,var(--bg-surface) 62%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid color-mix(in srgb,var(--border-subtle) 70%,transparent)}
body[data-route="overview"] .start-clock-time{font-size:56px;line-height:1;font-weight:600;letter-spacing:-.02em;color:var(--text-primary);
  font-variant-numeric:tabular-nums}
body[data-route="overview"] .start-clock-date{margin-top:6px;font-size:15px;color:var(--text-secondary)}

/* ── 6. Підпис джерел мапи — дрібно в правому нижньому куті (ліцензії OSM/FABDEM вимагають атрибуції) ── */
html[data-theme] body[data-route="overview"] .map3d-site-section .map3d-toolbar{left:auto;right:var(--space-3);bottom:var(--space-1);text-align:right}
html[data-theme] body[data-route="overview"] .map3d-site-section .map3d-toolbar .map3d-note{display:inline-block;max-width:420px;
  font-size:11px;line-height:1.35;padding:1px var(--space-2);color:var(--text-secondary);
  background:color-mix(in srgb,var(--bg-surface) 55%,transparent);border-radius:var(--r-sm)}
html[data-theme] .sidebar:not(.is-collapsed) .sidebar-collapse{white-space:nowrap;font-size:var(--fs-body);padding:var(--space-2) var(--space-3)}
html[data-theme] .sidebar .sidebar-collapse .sidebar-collapse-label{flex:1 0 auto;min-width:max-content;overflow:visible}
html[data-theme] .sidebar .sidebar-collapse::before{content:none!important;display:none!important}
html[data-theme] .sidebar .sidebar-collapse .sidebar-collapse-label{text-align:left;font-size:inherit;opacity:1}
@media (max-width:720px){html[data-theme] .sidebar .sidebar-collapse{display:none}}
html[data-theme] body[data-route="overview"] .map3d-site-section .map3d-toolbar{pointer-events:auto}
html[data-theme] body[data-route="overview"] .map3d-site-section .map3d-toolbar .map3d-note a{color:inherit;text-decoration:underline}

/* ── 7. Мапа — нижній шар на весь екран (власник 11.10) ──
   Старт: мапа під меню й панелями, розмір не залежить від меню → згортання не смикає й не відкидає кадр, гортання не рухає мапу.
   Інші екрани: мапа лишається тлом, застигла (inert, без подій), під притіненою вуаллю; екран лежить над нею. */
body[data-route="overview"] [data-view-panel="site"],
[data-view-panel="site"].map-backdrop{position:fixed;inset:0;z-index:0;margin:0;padding:0;max-width:none}
body[data-route="overview"] .map3d-site-section .map3d-site .map3d-stage,
.map-backdrop .map3d-site-section .map3d-site .map3d-stage{height:100vh;min-height:0}
.map-backdrop{pointer-events:none}
.map-backdrop .map3d-layout{display:block;border:0;background:none}
.map-backdrop>.section-heading,.map-backdrop .map3d-toolbar,.map-backdrop .map3d-aside,.map-backdrop .map3d-dock,
.map-backdrop .map3d-site-labels{display:none!important}
.map-backdrop::after{content:'';position:fixed;inset:0;background:color-mix(in srgb,var(--bg) 86%,transparent)}
/* усе інше у вмісті — над мапою (нульова специфічність: власні position/z-index екранів і старту переважають) */
:where(.main-content)>:where(:not([data-view-panel="site"])){position:relative;z-index:1}
/* Самостійний #site — вміст над .main-content::after, а не фоновий шар огляду. */
body[data-route="site"] [data-view-panel="site"]{position:relative;z-index:1}
/* сторінка на старті не прокручується — нічого не «їде» */
body[data-route="overview"]{overflow:hidden}

/* ── 8. Активна шапка: на старті ERadius підсвічений, як активний пункт меню ── */
html[data-theme] .sidebar .brand.active{background:color-mix(in srgb,var(--bg-hover) 100%,transparent);border-radius:var(--r-sm);
  box-shadow:inset 2px 0 0 var(--accent)}
html[data-theme] .sidebar .brand.active .brand-name{color:var(--text-primary)}
html[data-theme] .sidebar .brand.active::after{opacity:0!important}
/* мапа тепер і під панелями старту на всю ширину — у світлій темі панель щільніша, щоб приглушений текст тримав контраст ≥4.5 */
html[data-theme="light"] body[data-route="overview"] .start-panel{background:color-mix(in srgb,var(--bg-surface) 88%,transparent)}

/* ── 9. Світла тема — біла: токени в restyle.css (розділ «Токени»), тут лише використання ── */

/* ── 10. Меню без стрибків: рядки й шапка однакової висоти в обох станах, змінюється лише ширина ── */
html[data-theme] .sidebar .nav-list .nav-item,
html[data-theme] .sidebar.is-collapsed .nav-list .nav-item{height:44px;min-height:44px;margin:0 0 2px;font-size:15px;gap:var(--space-3);
  padding-top:0;padding-bottom:0;align-items:center}
html[data-theme] .sidebar .nav-list .nav-item .ic{width:20px;height:20px}
html[data-theme] .sidebar .sidebar-head,
html[data-theme] .sidebar.is-collapsed .sidebar-head{flex-direction:row;align-items:center;gap:0}
html[data-theme] .sidebar .brand,
html[data-theme] .sidebar.is-collapsed .brand{height:58px;flex-wrap:nowrap;overflow:hidden;justify-content:flex-start;
  padding:var(--space-2);margin:0 0 var(--space-2)}
html[data-theme] .sidebar.is-collapsed .brand .brand-mark{width:40px;height:40px}
html[data-theme] .sidebar .brand .brand-text{white-space:nowrap}
html[data-theme] .sidebar .brand .brand-sub{white-space:nowrap;display:block;overflow:hidden;text-overflow:ellipsis}
html[data-theme] .sidebar .sidebar-collapse,
html[data-theme] .sidebar.is-collapsed .sidebar-collapse{height:40px;justify-content:flex-start;padding:0 var(--space-3)}
/* ліва панель старту й підпис мапи їдуть разом із краєм меню, а не перестрибують */
body[data-route="overview"] .start-panel-left,
body[data-route="overview"] .map3d-site-section .map3d-toolbar{transition:left .28s cubic-bezier(.22,.61,.36,1)}
@media (prefers-reduced-motion:reduce){body[data-route="overview"] .start-panel-left{transition:none}}

/* ── 11. Перемикач теми — анімоване сонце ↔ місяць ── */
.theme-toggle .theme-anim{width:20px;height:20px;overflow:visible;transition:transform .5s cubic-bezier(.22,.61,.36,1)}
.theme-toggle .tt-core{fill:currentColor;transition:r .45s cubic-bezier(.22,.61,.36,1)}
.theme-toggle .tt-bite{transition:cx .45s cubic-bezier(.22,.61,.36,1),cy .45s cubic-bezier(.22,.61,.36,1)}
.theme-toggle .tt-rays{stroke:currentColor;stroke-width:2;stroke-linecap:round;transform-origin:12px 12px;
  transition:transform .45s cubic-bezier(.22,.61,.36,1),opacity .3s ease}
html[data-theme="dark"] .theme-toggle .theme-anim{transform:rotate(-25deg)}
html[data-theme="dark"] .theme-toggle .tt-core{r:9px}
html[data-theme="dark"] .theme-toggle .tt-bite{cx:18px;cy:7px}
html[data-theme="dark"] .theme-toggle .tt-rays{transform:scale(.4) rotate(45deg);opacity:0}
.theme-toggle:hover .theme-anim{transform:rotate(20deg)}
html[data-theme="dark"] .theme-toggle:hover .theme-anim{transform:rotate(-60deg)}
@media (prefers-reduced-motion:reduce){.theme-toggle *{transition:none!important}}
/* зміна теми — плавно, а не спалахом */
html.theme-fading,html.theme-fading :not(.theme-anim,.theme-anim *){transition:background-color .3s ease,border-color .3s ease,color .2s ease!important}
/* низ меню не перестрибує: у згорнутому стані шестірня не стає окремим рядком над аватаром,
   а лежить на самому аватарі (наведення/фокус показують її) — висота підвалу однакова в обох станах */
html[data-theme] .sidebar .sidebar-footer{min-height:49px;position:relative}
html[data-theme] .sidebar.is-collapsed .sidebar-footer{flex-direction:row;justify-content:flex-start;padding-left:var(--space-2)}
html[data-theme] .sidebar.is-collapsed .sidebar-footer .more-wrap{position:absolute;left:var(--space-2);top:50%;transform:translateY(-50%);margin:0;order:0}
html[data-theme] .sidebar.is-collapsed .sidebar-footer .more-wrap>.icon-button{width:32px;height:32px;border-radius:50%;
  background:var(--bg-hover);opacity:0;transition:opacity 120ms ease}
html[data-theme] .sidebar.is-collapsed .sidebar-footer:hover .more-wrap>.icon-button,
html[data-theme] .sidebar.is-collapsed .sidebar-footer .more-wrap>.icon-button:focus-visible,
html[data-theme] .sidebar.is-collapsed .sidebar-footer .more-wrap>.icon-button[aria-expanded="true"]{opacity:1}
html[data-theme] .sidebar .sidebar-bottom .nav-print,
html[data-theme] .sidebar.is-collapsed .sidebar-bottom .nav-print{height:38px;min-height:38px;padding-top:0;padding-bottom:0}
/* підписи пунктів: згасають і звужуються синхронно з рейкою; у згорнутому — лише іконка по центру рейки */
html[data-theme] .sidebar .nav-list .nav-item{overflow:hidden;white-space:nowrap}
html[data-theme] .sidebar .nav-label{display:block;width:auto;max-width:180px;overflow:hidden;text-overflow:clip;text-align:left;font-size:inherit;opacity:1;
  transition:max-width .28s cubic-bezier(.22,.61,.36,1),opacity .18s ease .04s}
html[data-theme] .sidebar.is-collapsed .nav-label{max-width:0;opacity:0;transition-delay:0s}
html[data-theme] .sidebar.is-collapsed .nav-list .nav-item{width:auto;gap:0;justify-content:flex-start;padding-left:calc((100% - 20px) / 2)}
/* шапка: назва відділення у два рядки, висота стала (ширина тексту не залежить від анімації рейки) */
html[data-theme] .sidebar .brand,
html[data-theme] .sidebar.is-collapsed .brand{height:66px}
html[data-theme] .sidebar .brand .brand-sub{white-space:normal;width:170px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-overflow:clip}
@media (prefers-reduced-motion:reduce){html[data-theme] .sidebar .nav-label{transition:none}}
/* згорнутий підвал: аватар по центру рейки (як іконки пунктів), шестірня лежить на ньому */
html[data-theme] .sidebar.is-collapsed .sidebar-footer{justify-content:center;padding-left:0;padding-right:0}
html[data-theme] .sidebar.is-collapsed .sidebar-footer .more-wrap{left:50%;transform:translate(-50%,-50%)}

/* ── 12. Екрани — вікно над мапою, не повний екран (власник 11.10) ──
   Меню плаває над мапою на всіх екранах (як на старті); вміст — округле напівпрозоре вікно праворуч від меню
   з власною прокруткою; мапа навколо видна й застигла. Підзаголовок-штамп і дата прибрані, дубль назви й «?» — теж. */
html[data-theme] body:not([data-route="overview"]) .sidebar,
html[data-theme][data-theme] body:not([data-route="overview"]) .sidebar{
  position:fixed;top:var(--space-3);left:var(--space-3);bottom:var(--space-3);height:auto;width:var(--sb-w);z-index:6;
  background:color-mix(in srgb,var(--bg-surface) 88%,transparent);
  -webkit-backdrop-filter:blur(14px) saturate(1.1);backdrop-filter:blur(14px) saturate(1.1);
  border:1px solid color-mix(in srgb,var(--border-strong) 70%,transparent);border-radius:var(--r-lg)}
body:not([data-route="overview"]){overflow:hidden}
html[data-theme] body:not([data-route="overview"]) .main-content{
  position:fixed;z-index:2;top:var(--space-3);bottom:var(--space-3);right:var(--space-3);left:calc(var(--sb-w) + var(--space-3) * 2);
  width:auto;max-width:none;margin:0;overflow:auto;overscroll-behavior:contain;padding:var(--space-4) var(--space-5) var(--space-5);
  /* без backdrop-filter/transform: вони зробили б вікно «контейнером» для position:fixed — і мапа-тло опинилась би всередині вікна */
  background:color-mix(in srgb,var(--bg-surface) 95%,transparent);
  border:1px solid color-mix(in srgb,var(--border-strong) 70%,transparent);border-radius:var(--r-lg);
  transition:left .28s cubic-bezier(.22,.61,.36,1)}
@media (prefers-reduced-motion:reduce){html[data-theme] body:not([data-route="overview"]) .main-content{animation:none;transition:none}}
@media (prefers-reduced-transparency:reduce){
  html[data-theme] body:not([data-route="overview"]) .main-content,
  html[data-theme] body:not([data-route="overview"]) .sidebar{background:var(--bg-surface);-webkit-backdrop-filter:none;backdrop-filter:none}}
/* #site: розділ «Мапа ділянки» сам є вмістом вікна — мапа в потоці вікна, а не на весь екран */
/* мапа за вікном — видно, лише трохи притлумлена */
.map-backdrop::after{background:color-mix(in srgb,var(--bg) 35%,transparent)}
/* шапка вікна: лише назва + дії, без дати й штампу-підзаголовка */
html[data-theme] body:not([data-route="overview"]) .topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);
  padding:0 0 var(--space-3);margin:0 0 var(--space-3);border-bottom:1px solid color-mix(in srgb,var(--border-subtle) 85%,transparent)}
html[data-theme] body:not([data-route="overview"]) #todayLabel,
html[data-theme] body:not([data-route="overview"]) #pageSubtitle{display:none}
html[data-theme] body:not([data-route="overview"]) #pageTitle{margin:0;font-size:22px;line-height:1.2}
html[data-theme] .view>.section-heading.dup-title>div:first-child{display:none}
html[data-theme] .view>.section-heading.dup-title{justify-content:flex-start;margin-top:0}
html[data-theme] .help-btn{display:none}
/* на вузькому — меню рейкою, вікно на весь простір праворуч */
@media (max-width:720px){html[data-theme] body:not([data-route="overview"]) .main-content{padding:var(--space-3)}}

/* ── 13. Старт: картка вибраного на мапі (корпус · поверх · приміщення) — внизу між панелями ── */
.start-sel{display:none}
body[data-route="overview"] .start-sel:not([hidden]){display:flex;flex-direction:column;align-items:center;gap:2px;position:absolute;z-index:3;
  left:50%;bottom:56px;transform:translateX(-50%);max-width:min(560px,calc(100vw - 2 * var(--sp-w) - 160px));text-align:center;pointer-events:none;
  padding:var(--space-2) var(--space-4);border-radius:var(--r-md);
  background:color-mix(in srgb,var(--bg-surface) 82%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border-strong))}
.start-sel-text{font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--text-primary)}
.start-sel-hint{font-size:var(--fs-caption);color:var(--text-secondary)}
/* вікно — непрозоре: контраст тексту не залежить від мапи під ним (мапа видна довкола вікна) */
html[data-theme] body:not([data-route="overview"]) .main-content{background:var(--bg-surface)}
/* прапорець «стара ширина» (U18, оборотність) шанується й у вікні */
html[data-theme][data-layout-legacy-width="1"] body:not([data-route="overview"]) .main-content{max-width:1600px}
/* Мапа-тло (.map-backdrop) — нащадок вікна (.main-content), тож малюється ПОВЕРХ власного фону вікна.
   Тому фон вікна — окремий шар ::after (іде в DOM після мапи, той самий z-index 0 → над мапою, під вмістом z 1). */
html[data-theme] body:not([data-route="overview"]) .main-content{background:transparent}
html[data-theme] body:not([data-route="overview"]) .main-content::after{content:'';position:fixed;z-index:0;pointer-events:none;
  top:var(--space-3);bottom:var(--space-3);right:var(--space-3);left:calc(var(--sb-w) + var(--space-3) * 2);
  background:var(--bg-surface);border-radius:var(--r-lg);transition:left .28s cubic-bezier(.22,.61,.36,1)}
html[data-theme][data-layout-legacy-width="1"] body:not([data-route="overview"]) .main-content::after{right:auto;width:1600px;max-width:calc(100vw - var(--sb-w) - var(--space-3) * 3)}

/* 12.10 (власник: «блимає старий вигляд»): до першого switchView робоча зона прихована; потім — плавна поява. */
html:not(.app-ready) .app-shell{visibility:hidden}
html.app-ready .app-shell{animation:app-in .28s ease-out}
@keyframes app-in{from{opacity:0}to{opacity:1}}
.map3d-stage canvas{animation:app-in .5s ease-out}
@media (prefers-reduced-motion:reduce){html.app-ready .app-shell,.map3d-stage canvas{animation:none}}

/* Міні-календар відсутностей у правій панелі старту (12.10) */
.sp-abscal{padding:6px 12px 10px;border-bottom:1px solid color-mix(in srgb,var(--border-strong) 50%,transparent)}
.sp-abscal .ac-head{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--text-secondary);margin-bottom:4px}
.sp-abscal .ac-head span::first-letter{text-transform:uppercase}
.sp-abscal .ac-nav{border:0;background:none;color:var(--text-muted);font-size:16px;line-height:1;width:22px;height:22px;border-radius:6px;cursor:pointer}
.sp-abscal .ac-nav:hover{background:var(--bg-hover);color:var(--text-primary)}
.sp-abscal .ac-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.sp-abscal .ac-grid b{font-size:10px;font-weight:500;color:var(--text-muted)}
.sp-abscal .ac-d{position:relative;height:24px;border:0;border-radius:6px;background:none;color:var(--text-primary);font:inherit;font-size:11.5px;font-variant-numeric:tabular-nums;cursor:pointer;padding:0}
.sp-abscal .ac-d.is-wk{color:var(--text-muted)}
.sp-abscal .ac-d:hover{background:var(--bg-hover)}
.sp-abscal .ac-d.is-today{background:var(--accent);color:var(--text-on-accent,var(--bg-surface));font-weight:600}
.sp-abscal .ac-d i{position:absolute;left:50%;bottom:2px;width:4px;height:3px;border-radius:2px;transform:translateX(-50%);background:var(--warning)}
.sp-abscal .ac-d.is-today i{background:var(--bg-surface)}
.sp-abscal .ac-d i.n2{width:7px}.sp-abscal .ac-d i.n3{width:10px}.sp-abscal .ac-d i.n4{width:14px}

/* Календар тижнів (12.10) */
[data-week-range]{cursor:pointer;border-radius:8px;padding:4px 10px;border:1px solid var(--border);font-weight:var(--fw-semibold)}
[data-week-range]:hover{background:var(--bg-hover);border-color:var(--accent)}
[data-week-range]::after{content:' ▾';color:var(--text-muted);font-size:.85em}
.week-picker{position:fixed;z-index:70;padding:12px 14px 10px;border-radius:14px;background:var(--bg-surface);border:1px solid var(--border-strong);box-shadow:0 16px 40px color-mix(in srgb,var(--text-primary) 18%,transparent);color:var(--text-primary)}
.wp-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.wp-nav,.wp-today{border:1px solid var(--border);background:none;color:inherit;font:inherit;border-radius:8px;height:30px;padding:0 12px;cursor:pointer}
.wp-nav{width:34px;padding:0;font-size:18px}
.wp-nav:hover,.wp-today:hover{background:var(--bg-hover)}
.wp-months{display:grid;grid-template-columns:repeat(3,auto);gap:22px}
.wp-title{font-weight:var(--fw-semibold);margin-bottom:4px;text-transform:capitalize}
.wp-dow,.wp-week{display:grid;grid-template-columns:repeat(7,34px) 10px;align-items:center;text-align:center}
.wp-dow b{font-size:var(--fs-caption);font-weight:500;color:var(--text-muted);padding:2px 0}
.wp-week{border:0;background:none;color:inherit;font:inherit;font-size:var(--fs-body);border-radius:8px;cursor:pointer;padding:0;height:32px;font-variant-numeric:tabular-nums}
.wp-week:hover{background:var(--bg-hover)}
.wp-week.is-cur{background:color-mix(in srgb,var(--accent) 14%,transparent);outline:1.5px solid var(--accent)}
.wp-week span.out{color:var(--text-muted);opacity:.6}
.wp-week span.today{color:var(--accent);font-weight:var(--fw-semibold);text-decoration:underline}
.wp-week i,.wp-legend i{width:7px;height:7px;border-radius:50%;background:var(--border-strong);justify-self:center}
.wp-week.st-ok i,.wp-legend i.st-ok{background:var(--success)}
.wp-week.st-part i,.wp-legend i.st-part{background:var(--warning)}
.wp-legend{display:flex;gap:14px;margin-top:8px;font-size:var(--fs-caption);color:var(--text-muted)}
.wp-legend span{display:inline-flex;align-items:center;gap:5px}
/* Шрифти трохи більші (власник 12.10) */
html:root{--fs-micro:12px;--fs-caption:13px;--fs-body:14px;--fs-body-lg:15px;--fs-title:16px;--fs-display:22px}

/* 13.10 (власник): календар відсутностей на старті — більший, числа крупніші */
.sp-abscal .ac-head{font-size:13.5px;margin-bottom:8px}
.sp-abscal .ac-grid{gap:4px}
.sp-abscal .ac-grid b{font-size:12px}
.sp-abscal .ac-d{height:34px;font-size:15px;font-weight:500}
.sp-abscal .ac-d.is-today{font-weight:600}
.sp-abscal .ac-d i{bottom:3px;height:3px}
.sp-abscal .ac-nav{font-size:18px;min-width:28px;min-height:28px}

/* 13.10 (власник): права панель і календар більші; ліва лишається компактною */
body[data-route="overview"] .start-panel-right{width:clamp(320px,25vw,360px)}
body[data-route="overview"] .start-panel-right .ac-d{height:39px;font-size:16px}
body[data-route="overview"] .start-panel-right .ac-grid{gap:5px}
