/* Облик «Пульт» — второй вид сервиса (решение владельца 2026-10-11, образец — прототип v05).
   Включается атрибутом data-skin="pult" на <html> (web/skin.js до первой отрисовки, app.js при каждой).
   Всё оформление ниже — только под :root[data-skin="pult"]: без атрибута классический вид не меняется ни на пиксель.
   Исключение — первый раздел: карточки выбора вида в анкете, они видны в обоих обликах.
   Логику сервиса этот файл не трогает. Шрифт цифр IBM Plex Mono лежит в web/fonts (OFL, plexmono-OFL.txt). */

@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('../fonts/plexmono-cyrillic-400.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('../fonts/plexmono-latin-400.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 500; font-display: swap;
  src: url('../fonts/plexmono-cyrillic-500.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 500; font-display: swap;
  src: url('../fonts/plexmono-latin-500.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 600 700; font-display: swap;
  src: url('../fonts/plexmono-cyrillic-600.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 600 700; font-display: swap;
  src: url('../fonts/plexmono-latin-600.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ======================================================================
   1. Выбор вида в анкете — виден в обоих обликах (маленькие картинки нарисованы здесь же, без снимков)
   ====================================================================== */
.onb-skin { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.onb-skin-it {
  display: grid; gap: 8px; justify-items: start; padding: 8px 8px 10px; min-height: 44px; text-align: left;
  border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface);
  transition: border-color .15s, box-shadow .15s, transform .12s;
}
.onb-skin-it:hover { border-color: color-mix(in srgb, var(--accent) 50%, var(--line)); }
.onb-skin-it:active { transform: scale(.98); }
.onb-skin-it.on { border-color: var(--accent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 35%, transparent); }
.onb-skin-it { min-width: 0; }
.onb-skin-it b { padding: 0 4px; font-size: 14px; max-width: 100%; overflow-wrap: anywhere; }
.skin-pv { position: relative; display: block; width: 100%; aspect-ratio: 16 / 10; border-radius: 8px; overflow: hidden; }
.skin-pv i, .skin-pv u { position: absolute; display: block; }
.skin-pv-classic { background: #EFEBE1; box-shadow: inset 0 0 0 1px #DED5C4; }
.skin-pv-classic::before { content: ""; position: absolute; left: 10%; top: 14%; width: 22%; height: 46%; border-radius: 4px; background: #FCFAF5; box-shadow: inset 0 5px 0 #B8201A, 0 2px 4px rgba(40, 32, 18, .18); }
.skin-pv-classic i { left: 40%; height: 7%; border-radius: 3px; background: #57503F; }
.skin-pv-classic i:nth-child(1) { top: 18%; width: 46%; background: #1C1A16; }
.skin-pv-classic i:nth-child(2) { top: 34%; width: 36%; }
.skin-pv-classic i:nth-child(3) { top: 50%; width: 42%; opacity: .6; }
.skin-pv-classic u { left: 10%; bottom: 12%; width: 34%; height: 15%; border-radius: 5px; background: #B8201A; }
.skin-pv-pult {
  background-color: #08090D;
  background-image: linear-gradient(rgba(255, 255, 255, .06) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .06) 1px, transparent 1px);
  background-size: 10px 10px; box-shadow: inset 0 0 0 1px #232836;
}
.skin-pv-pult::before { content: ""; position: absolute; left: 8%; right: 8%; top: 12%; height: 52%; border-radius: 5px; border: 1px solid #353C4D; background: #10131A; }
.skin-pv-pult i { left: 14%; height: 6%; border-radius: 2px; background: #9AA2B5; }
.skin-pv-pult i:nth-child(1) { top: 20%; width: 18%; background: #FFB547; }
.skin-pv-pult i:nth-child(2) { top: 34%; width: 52%; background: #E9EBF1; }
.skin-pv-pult i:nth-child(3) { top: 48%; width: 40%; }
.skin-pv-pult u { right: 8%; bottom: 10%; width: 36%; height: 16%; border-radius: 5px; background: #FFB547; box-shadow: 0 4px 12px -4px rgba(255, 170, 40, .6); }

/* ======================================================================
   2. Цвета, шрифты, скругления «Пульта» (значения — из прототипа)
   ====================================================================== */
:root[data-skin="pult"] {
  --f-body: "Inter", "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;
  --f-display: var(--f-body);
  --f-serif: var(--f-body);
  --f-mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, "Courier New", monospace;
  --r-xl: 16px; --r-lg: 14px; --r-md: 11px; --r-sm: 9px; --r-xs: 5px; --r: var(--r-lg); --r-s: var(--r-sm);
  --ease: cubic-bezier(.2, .8, .2, 1);
  --lift: none;
}
:root[data-skin="pult"]:not([data-theme="dark"]) {
  --ground: #EDEFF3; --surface: #FFFFFF; --surface-2: #F4F5F8; --surface-3: #FFFFFF; --sunk: #E7EAF0;
  --ink: #11141B; --ink-2: #2F3644; --ink-3: #4F5767; --line: #D6DAE2; --line2: #BFC5D0;
  /* Цвет семьи в «Пульте» не применяется: янтарь — его лицо (в классическом виде цвет семьи остаётся). */
  --accent: #F0A02A !important; --accent-ink: #1C1305 !important; --accent-soft: #FCEBCF;
  --acc-ink: #874C00; --acc-tint: rgba(240, 160, 42, .16); --acc-line: rgba(205, 120, 0, .55); --acc-shadow: rgba(215, 130, 0, .45);
  --glow: rgba(222, 128, 0, .8); --glow-soft: rgba(255, 168, 40, .09);
  --red: #B3261E; --ok: #16764A; --ok-soft: #DCEFE5; --warn: #8A4F00; --warn-soft: #FBEBD0; --bad-soft: #F8E2E0;
  --calm: #1C67B8; --calm-soft: rgba(28, 103, 184, .1);
  --grid: rgba(28, 38, 58, .055);
  --shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 10px 28px -14px rgba(16, 24, 40, .18);
  --shadow-lg: 0 2px 6px rgba(16, 24, 40, .08), 0 28px 64px -24px rgba(16, 24, 40, .32);
  --edge: inset 0 1px 0 rgba(255, 255, 255, .9);
  --pult-hi: rgba(255, 255, 255, .4);
  color-scheme: light;
}
:root[data-skin="pult"][data-theme="dark"] {
  --ground: #08090D; --surface: #10131A; --surface-2: #161A23; --surface-3: #131721; --sunk: #0B0D12;
  --ink: #E9EBF1; --ink-2: #C3C8D4; --ink-3: #9AA2B5; --line: #232836; --line2: #353C4D;
  --accent: #FFB547 !important; --accent-ink: #1A1205 !important; --accent-soft: #2C2519;
  --acc-ink: #FFC46B; --acc-tint: rgba(255, 181, 71, .13); --acc-line: rgba(255, 181, 71, .55); --acc-shadow: rgba(255, 170, 40, .35);
  --glow: rgba(255, 192, 96, .9); --glow-soft: rgba(255, 181, 71, .07);
  --red: #FF8080; --ok: #5BD69A; --ok-soft: #10261C; --warn: #FFC46B; --warn-soft: #2C2519; --bad-soft: #2E1719;
  --calm: #70B9FF; --calm-soft: rgba(112, 185, 255, .12);
  --grid: rgba(255, 255, 255, .032);
  --shadow: 0 1px 0 rgba(255, 255, 255, .03) inset, 0 18px 40px -20px rgba(0, 0, 0, .8);
  --shadow-lg: 0 2px 8px rgba(0, 0, 0, .55), 0 32px 72px -26px rgba(0, 0, 0, .85);
  --edge: inset 0 1px 0 rgba(255, 255, 255, .05);
  --pult-hi: rgba(255, 255, 255, .4);
  color-scheme: dark;
}

/* ======================================================================
   3. Фон: тонкая сетка вместо бумаги, без цветного поля и света сверху
   ====================================================================== */
:root[data-skin="pult"] body { background-color: var(--ground); background-image: none; font-family: var(--f-body); }
:root[data-skin="pult"] body::before {
  background: linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px) !important;
  background-size: 24px 24px !important; background-position: -1px -1px !important; background-repeat: repeat !important;
  mix-blend-mode: normal; opacity: 1;
}
:root[data-skin="pult"] body::after,
:root[data-skin="pult"] .canvas,
:root[data-skin="pult"] .clip,
:root[data-skin="pult"] .sheet-perf,
:root[data-skin="pult"] .sheet-binding,
:root[data-skin="pult"] .sheet::after { display: none; }
:root[data-skin="pult"] ::selection { background: var(--acc-tint); }
:root[data-skin="pult"] :focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* Тонкие полосы прокрутки */
/* (цвет — везде; ширину «тонко» — только у прокручиваемых областей: спрятанные полосы лент остаются спрятанными) */
:root[data-skin="pult"],
:root[data-skin="pult"] :is(.main, .side-nav, .rail-nav, .chat, .modal, .drawer, .bell-menu, .sheet-body, textarea) { scrollbar-width: thin; }
:root[data-skin="pult"] * { scrollbar-color: var(--line2) transparent; }

/* Цифры — моно: время, суммы, счётчики */
:root[data-skin="pult"] .task-time, :root[data-skin="pult"] .big-num, :root[data-skin="pult"] .sheet-num,
:root[data-skin="pult"] .kpi-num, :root[data-skin="pult"] .sec-hero-num, :root[data-skin="pult"] .sch-hero-time,
:root[data-skin="pult"] .hero-time, :root[data-skin="pult"] .cover-num, :root[data-skin="pult"] .rail-n,
:root[data-skin="pult"] .side-i-state, :root[data-skin="pult"] .bell-n, :root[data-skin="pult"] .colo-no,
:root[data-skin="pult"] .money, :root[data-skin="pult"] .amount, :root[data-skin="pult"] .num {
  font-family: var(--f-mono); font-variant-numeric: tabular-nums; letter-spacing: -.02em;
}
/* Рубрики — моно заглавными, как приборная подпись */
:root[data-skin="pult"] .rub, :root[data-skin="pult"] .side-gk, :root[data-skin="pult"] .rail-k,
:root[data-skin="pult"] .field-label, :root[data-skin="pult"] .group-title, :root[data-skin="pult"] .ds-head,
:root[data-skin="pult"] .bt-head, :root[data-skin="pult"] .wk-wd, :root[data-skin="pult"] .fact dt,
:root[data-skin="pult"] .onb-step, :root[data-skin="pult"] .hero-k, :root[data-skin="pult"] .sheet-month {
  font-family: var(--f-mono); letter-spacing: .08em;
}
:root[data-skin="pult"] h1, :root[data-skin="pult"] h2, :root[data-skin="pult"] h3,
:root[data-skin="pult"] .top-title, :root[data-skin="pult"] .plate-title { letter-spacing: -.02em; }

/* ======================================================================
   4. Панели: тонкая рамка, ровный фон, свет за курсором (web/skin.js ставит .pult-glow)
   ====================================================================== */
:root[data-skin="pult"] :is(.card, .bt, .scard, .b-tile, .bill, .add-panel, .show-pane, .feat-bot, .hero, .notice, .setting,
  .ds-tile, .modal, .drawer, .sheet, .onb-card, .task.is-next) {
  background-image: none; border: 1px solid var(--line); box-shadow: var(--shadow), var(--edge);
}
:root[data-skin="pult"] :is(.modal, .drawer) { box-shadow: var(--shadow-lg), var(--edge); }
:root[data-skin="pult"] .pult-glow {
  border-color: transparent !important;
  background:
    radial-gradient(420px circle at var(--mx, -999px) var(--my, -999px), var(--glow-soft), transparent 60%) padding-box,
    linear-gradient(var(--pb, var(--surface)), var(--pb, var(--surface))) padding-box,
    radial-gradient(260px circle at var(--mx, -999px) var(--my, -999px), var(--glow), var(--line) 62%) border-box !important;
}
@media (hover: none), (pointer: coarse) { :root[data-skin="pult"] .pult-glow { background: none; } }

/* Листок календаря — табло с моно-числом, без рваного края */
:root[data-skin="pult"] .sheet { -webkit-mask-image: none; mask-image: none; padding-bottom: 12px; background: var(--surface); border-radius: var(--r-lg); }
:root[data-skin="pult"] .sheet-stack { filter: none; }
:root[data-skin="pult"] .sheet-stack::before, :root[data-skin="pult"] .sheet-stack::after { display: none; }
:root[data-skin="pult"] .sheet-num { color: var(--acc-ink); font-weight: 500; }
:root[data-skin="pult"] .sheet.weekend .sheet-num { color: var(--red); }

:root[data-skin="pult"] .mini-leaf { border-top: 1px solid var(--line); border-radius: 10px; }
:root[data-skin="pult"] .mini-leaf b { font: 500 26px/1 var(--f-mono); color: var(--acc-ink); letter-spacing: -.04em; }
:root[data-skin="pult"] .guide-sheet { border-top: 1px solid var(--acc-line); border-radius: 10px; }

/* Красный классического вида был и цветом марки: «сейчас», «сегодня», шаги анкеты — в «Пульте» янтарные.
   Красным остаётся только тревожное: просрочено, отказ, удалить, SOS. */
:root[data-skin="pult"] .onb-dots i.on, :root[data-skin="pult"] .now-line::before, :root[data-skin="pult"] .rb-now,
:root[data-skin="pult"] .ys-top { background: var(--accent); }
:root[data-skin="pult"] .now-line span, :root[data-skin="pult"] .hour.now .hour-label { color: var(--acc-ink); }
:root[data-skin="pult"] .menu-day.today { box-shadow: 0 0 0 2px var(--accent); }
:root[data-skin="pult"] .rb-now { box-shadow: 0 0 10px -2px var(--acc-shadow); }

:root[data-skin="pult"] :is(.group-title, .hero-k, .ds-k, .feat-title, .field-label) { text-shadow: none; }
:root[data-skin="pult"] .field.float .input:focus + .field-label,
:root[data-skin="pult"] .field.float .input:not(:placeholder-shown) + .field-label,
:root[data-skin="pult"] :is(.react.on, .sch-head em) { color: var(--acc-ink); }
/* число на колокольчике: в ночной теме красный светлый — цифра тёмная (контраст ≥ 4.5) */
:root[data-skin="pult"][data-theme="dark"] .bell-n { color: #1A0505; }

/* ======================================================================
   5. Кнопки и поля
   ====================================================================== */
:root[data-skin="pult"] .btn {
  border-radius: var(--r-md); font-weight: 500;
  transition: transform .14s var(--ease), background-color .2s, border-color .2s, box-shadow .25s, filter .2s;
}
:root[data-skin="pult"] .btn:active { transform: translateY(1px) scale(.97); }
:root[data-skin="pult"] .btn.primary, :root[data-skin="pult"] .btn.ghost.is-on {
  background: var(--accent); color: var(--accent-ink); border-color: transparent; font-weight: 600;
  box-shadow: inset 0 1px 0 var(--pult-hi), inset 0 -2px 0 rgba(0, 0, 0, .12), 0 8px 22px -10px var(--acc-shadow);
}
:root[data-skin="pult"] .btn.primary:hover, :root[data-skin="pult"] .btn.ghost.is-on:hover {
  background: var(--accent); filter: brightness(1.05);
  box-shadow: inset 0 1px 0 var(--pult-hi), inset 0 -2px 0 rgba(0, 0, 0, .12), 0 10px 30px -8px var(--acc-shadow), 0 0 0 4px var(--acc-tint);
}
:root[data-skin="pult"] .btn.ghost { background: var(--surface-2); border-color: var(--line2); color: var(--ink); }
:root[data-skin="pult"] .btn.ghost:hover { border-color: var(--acc-line); }
:root[data-skin="pult"] .btn.danger { background: transparent; color: var(--red); border-color: color-mix(in srgb, var(--red) 45%, transparent); }
:root[data-skin="pult"] .btn.danger:hover { background: var(--bad-soft); }
:root[data-skin="pult"] .icon-btn { border-radius: var(--r-md); }
:root[data-skin="pult"] .icon-btn:hover { background: var(--surface-2); color: var(--ink); }
:root[data-skin="pult"] .icon-btn:active { transform: scale(.94); }
:root[data-skin="pult"] :is(.input, .select, textarea.input) {
  background: var(--sunk); border: 1px solid var(--line2); border-radius: var(--r-md); color: var(--ink); box-shadow: none;
}
:root[data-skin="pult"] :is(.input, .select, textarea.input)::placeholder { color: var(--ink-3); }
:root[data-skin="pult"] :is(.input, .select, textarea.input, .title-input, .inline-input, .big-input):focus {
  outline: none; border-color: var(--accent); box-shadow: 0 0 0 4px var(--acc-tint); background: var(--surface);
}
:root[data-skin="pult"] .seg { background: var(--sunk); border-color: var(--line); border-radius: var(--r-md); }
:root[data-skin="pult"] .seg > button { border-radius: 8px; }
:root[data-skin="pult"] .seg > button.on { background: var(--surface); color: var(--ink); box-shadow: 0 0 0 1px var(--acc-line), 0 1px 2px rgba(0, 0, 0, .12); }
:root[data-skin="pult"] .pill { border-radius: 6px; }
:root[data-skin="pult"] .av { box-shadow: 0 0 0 2px var(--surface); }
:root[data-skin="pult"] .link-btn { color: var(--acc-ink); }

/* ======================================================================
   6. Каркас «Пульта» (web/skins/pult.js): шапка, боковое меню, нижняя панель, карта «Ещё»
   Свои классы pu-* — классический каркас (.rail, .side, .tabs, .mast) в «Пульте» не рисуется.
   Телефон и планшет — до 899 px, компьютер — от 900 px (как в прототипе).
   ====================================================================== */
:root[data-skin="pult"] .pu-app { display: block; position: relative; height: 100dvh; }
:root[data-skin="pult"] .pu-main { height: 100dvh; overflow-y: auto; overflow-x: hidden; padding: 0; position: relative; z-index: 1; }
:root[data-skin="pult"] .pu-page { padding: 18px 16px 196px; }
:root[data-skin="pult"] .pu-page > .view { padding: 0; max-width: none; min-height: 0; margin: 0; }
:root[data-skin="pult"] .pu-page > .banners { display: grid; gap: 8px; margin: 0 0 14px; padding: 0; max-width: none; }
:root[data-skin="pult"] .pu-ic { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
:root[data-skin="pult"] kbd { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 5px;
  border: 1px solid var(--line2); border-bottom-width: 2px; border-radius: 5px; background: var(--surface); font: 500 11px/1 var(--f-mono); color: var(--ink-3); }
:root[data-skin="pult"] .pu-desk, :root[data-skin="pult"] .pu-xwide { display: none !important; }

/* Шапка */
:root[data-skin="pult"] .pu-hdr {
  position: sticky; top: 0; z-index: 20; display: flex; align-items: center; gap: 2px; height: 60px; padding: 0 8px 0 10px;
  background: color-mix(in srgb, var(--ground) 84%, transparent); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--line);
}
:root[data-skin="pult"] .pu-logo { display: flex; align-items: center; gap: 8px; min-width: 0; min-height: 44px; padding: 0 4px; border: 0; border-radius: 10px;
  background: none; color: var(--ink); text-align: left; cursor: pointer; }
:root[data-skin="pult"] .pu-hdr .pu-logo { flex: 1; }
:root[data-skin="pult"] .pu-lg { width: 26px; height: 26px; flex: none; }
:root[data-skin="pult"] .pu-hdr .pu-lg { display: none; }
:root[data-skin="pult"] .pu-lgt { display: grid; min-width: 0; }
:root[data-skin="pult"] .pu-lgt b { font-size: 16px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; letter-spacing: -.01em; }
:root[data-skin="pult"] .pu-lgt small { font: 400 11.5px/1.25 var(--f-body); color: var(--ink-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
:root[data-skin="pult"] .pu-hsp { flex: 1; }
:root[data-skin="pult"] .pu-hdr .pu-logo ~ .pu-hsp { display: none; }
:root[data-skin="pult"] .pu-hb, :root[data-skin="pult"] .pu-tops .icon-btn {
  position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 6px; flex: none;
  min-width: 42px; min-height: 44px; width: auto; height: auto; padding: 0 6px; border: 1px solid transparent; border-radius: 11px;
  background: none; color: var(--ink); cursor: pointer; transition: background-color .2s, border-color .2s, transform .14s var(--ease);
}
:root[data-skin="pult"] .pu-hb:hover, :root[data-skin="pult"] .pu-tops .icon-btn:hover { background: var(--surface-2); border-color: var(--line); }
:root[data-skin="pult"] .pu-hb:active, :root[data-skin="pult"] .pu-tops .icon-btn:active { transform: scale(.94); }
:root[data-skin="pult"] .pu-hb[aria-pressed="true"] { background: var(--acc-tint); border-color: var(--acc-line); }
:root[data-skin="pult"] .pu-avbtn .av { width: 32px; height: 32px; font-size: 14px; box-shadow: none; }
:root[data-skin="pult"] .pu-hbdg { position: absolute; top: 5px; right: 4px; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 99px;
  background: var(--accent); color: var(--accent-ink); font: 600 10.5px/17px var(--f-mono); text-align: center; }
:root[data-skin="pult"] .pu-tops { display: contents; }
:root[data-skin="pult"] .pu-tops .tb-label { display: none; }
:root[data-skin="pult"] .pu-tops .icon-btn .ic { width: 20px; height: 20px; }
/* SOS — моно-надписью, тревожным цветом */
:root[data-skin="pult"] .pu-tops .sos-btn { font: 700 12px/1 var(--f-mono); color: var(--red); border-color: var(--bad-soft); background: none; letter-spacing: .02em; }
:root[data-skin="pult"] .pu-tops .sos-btn .ic { display: none; }
:root[data-skin="pult"] .pu-tops .sos-btn .tb-label { display: inline; }
:root[data-skin="pult"] .pu-tops .sos-btn:hover { background: var(--bad-soft); border-color: color-mix(in srgb, var(--red) 45%, transparent); }
/* «Вставить текст» на телефоне — в меню «+», в шапке его нет */
:root[data-skin="pult"] .pu-tops [data-m="capture"] { display: none; }
:root[data-skin="pult"] .pu-hdr .fabbox, :root[data-skin="pult"] .pu-hdr .bellbox {
  top: calc(100% + 8px); border-radius: 14px; background: var(--surface); background-image: none; border: 1px solid var(--line);
  box-shadow: 0 20px 50px -14px rgba(0, 0, 0, .45); padding: 6px;
}
:root[data-skin="pult"] .pu-hdr .fabbox { min-width: 220px; }
:root[data-skin="pult"] .pu-hdr .fab-item.narrow-only { display: flex; }
:root[data-skin="pult"] .pu-hdr .fab-item { min-height: 44px; border-radius: 10px; font-weight: 500; font-size: 15px; }
:root[data-skin="pult"] .pu-hdr .fab-item .ic { color: var(--acc-ink); }
:root[data-skin="pult"] .pu-hdr .bellbox { padding: 0; }
:root[data-skin="pult"] .pu-hdr .bell-head b { font: 500 11.5px/1.2 var(--f-mono); letter-spacing: .08em; color: var(--ink-3); }
:root[data-skin="pult"] .pu-viewas { display: grid; gap: 4px; min-width: 0; }
:root[data-skin="pult"] .pu-viewas > span:not(.sr-only):not(.as-static) { font-size: 12px; color: var(--ink-3); }
:root[data-skin="pult"] .pu-viewas .select { height: 40px; min-height: 40px; padding: 0 10px; border-radius: 10px; font: 500 14px/1 var(--f-body); max-width: 100%; }

/* Заголовок раздела */
:root[data-skin="pult"] .pu-pt { margin: 4px 0 16px; }
:root[data-skin="pult"] .pu-eb { font: 500 11.5px/1.3 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); }
:root[data-skin="pult"] .pu-h1 { margin: 6px 0 0; font: 600 26px/1.15 var(--f-body); letter-spacing: -.02em; color: var(--ink); }
:root[data-skin="pult"] .pu-foot { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; justify-content: space-between; margin-top: 28px;
  padding-top: 14px; border-top: 1px dashed var(--line2); font-size: 12.5px; color: var(--ink-3); }
:root[data-skin="pult"] .pu-foot .link-btn { min-height: 44px; font-size: 13px; }
:root[data-skin="pult"] .pu-mono { font-family: var(--f-mono); }

/* Нижняя панель телефона: строка «Что сделать?» и вкладки */
:root[data-skin="pult"] .pu-dock {
  position: fixed; z-index: 22; left: 0; right: 0; bottom: 0; padding: 10px 12px calc(6px + env(safe-area-inset-bottom));
  background: color-mix(in srgb, var(--surface) 90%, transparent); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
  border-top: 1px solid var(--line);
}
:root[data-skin="pult"] .pu-cmdbar {
  position: relative; display: flex; align-items: center; gap: 10px; width: 100%; height: 54px; padding: 0 6px 0 14px; overflow: hidden;
  border: 1px solid var(--line2); border-radius: 14px; background: var(--sunk); color: var(--ink); text-align: left; cursor: pointer;
  transition: border-color .2s, transform .14s var(--ease), box-shadow .25s;
}
:root[data-skin="pult"] .pu-cmdbar:hover { border-color: var(--acc-line); }
:root[data-skin="pult"] .pu-cmdbar:active { transform: scale(.985); }
:root[data-skin="pult"] .pu-cmdbar > .pu-ic { color: var(--acc-ink); }
:root[data-skin="pult"] .pu-cmdbar .pu-q { flex: 1; min-width: 0; font-size: 17px; font-weight: 500; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
:root[data-skin="pult"] .pu-cmdbar .pu-q small { display: block; font-size: 12.5px; font-weight: 400; color: var(--ink-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
:root[data-skin="pult"] .pu-go { flex: none; display: inline-flex; align-items: center; gap: 6px; height: 42px; padding: 0 14px; border-radius: 10px;
  background: var(--accent); color: var(--accent-ink); font-weight: 600; font-size: 15px;
  box-shadow: inset 0 1px 0 var(--pult-hi), inset 0 -2px 0 rgba(0, 0, 0, .12); }
:root[data-skin="pult"] .pu-go .pu-ic { width: 18px; height: 18px; }
@media (prefers-reduced-motion: no-preference) {
  :root[data-skin="pult"] .pu-cmdbar::after {
    content: ""; position: absolute; inset: 0; pointer-events: none; transform: translateX(-100%);
    background: linear-gradient(100deg, transparent 30%, var(--acc-tint) 50%, transparent 70%);
    animation: pult-sweep 1.4s .9s var(--ease) 1 both;
  }
  @keyframes pult-sweep { to { transform: translateX(100%); } }
}
:root[data-skin="pult"] .pu-tabs { position: relative; display: block; margin-top: 8px; }
:root[data-skin="pult"] .pu-tabs-in { position: relative; z-index: 1; display: grid; }
:root[data-skin="pult"] .pu-tind { position: absolute; z-index: 0; top: 0; bottom: 0; left: 0; width: 0; border-radius: 12px; background: var(--acc-tint); opacity: 0;
  transition: transform .38s cubic-bezier(.3, 1.25, .5, 1), width .38s, opacity .2s; }
:root[data-skin="pult"] .pu-tab {
  position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-width: 0; min-height: 52px;
  padding: 0 1px; border: 0; border-radius: 12px; background: none; color: var(--ink-3); font-size: 11px; letter-spacing: -.01em; font-weight: 500; cursor: pointer; transition: color .2s;
}
:root[data-skin="pult"] .pu-tab > span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
:root[data-skin="pult"] .pu-tab .pu-ic { width: 22px; height: 22px; transition: transform .25s cubic-bezier(.3, 1.4, .5, 1); }
:root[data-skin="pult"] .pu-tab[aria-current="page"] { color: var(--ink); }
:root[data-skin="pult"] .pu-tab[aria-current="page"] .pu-ic { color: var(--acc-ink); transform: translateY(-1px); }
:root[data-skin="pult"] .pu-tab:active .pu-ic { transform: scale(.88); }
:root[data-skin="pult"] .pu-tbdg { position: absolute; top: 2px; left: calc(50% + 6px); min-width: 17px; height: 17px; padding: 0 4px; border-radius: 99px;
  background: var(--accent); color: var(--accent-ink); font: 600 10.5px/17px var(--f-mono); text-align: center; }
@media (max-width: 360px) {
  :root[data-skin="pult"] .pu-cmdbar .pu-q small { display: none; }
  :root[data-skin="pult"] .pu-tab { font-size: 10.5px; }
}
/* Открыт бот: строка записи уходит, вкладки остаются над полем ввода бота */
:root[data-skin="pult"] .bot-open .pu-cmdbar { display: none; }
:root[data-skin="pult"] .bot-open .pu-dock { z-index: 26; }

/* «Ещё»: карта всех разделов */
:root[data-skin="pult"] .pu-drawer { position: fixed; inset: 0; z-index: 44; }
:root[data-skin="pult"] .pu-scrim { position: absolute; inset: 0; background: color-mix(in srgb, #000 55%, transparent); animation: pu-fade .22s both; }
:root[data-skin="pult"] .pu-drp {
  position: absolute; left: 0; top: 0; bottom: 0; width: min(360px, 88%); display: flex; flex-direction: column; overflow: auto; overscroll-behavior: contain;
  background: var(--surface); border-right: 1px solid var(--line); box-shadow: 20px 0 60px -20px rgba(0, 0, 0, .5);
  animation: pu-slide .32s cubic-bezier(.2, .9, .3, 1) both;
}
@keyframes pu-slide { from { transform: translateX(-100%); } }
@keyframes pu-fade { from { opacity: 0; } }
:root[data-skin="pult"] .pu-drp > * { flex: none; }
:root[data-skin="pult"] .pu-mrow[hidden], :root[data-skin="pult"] .pu-drg[hidden], :root[data-skin="pult"] .pu-none[hidden] { display: none; }
:root[data-skin="pult"] .pu-drh { display: flex; align-items: center; gap: 10px; padding: 14px 12px 10px 16px; }
:root[data-skin="pult"] .pu-drh > div { flex: 1; display: grid; min-width: 0; }
:root[data-skin="pult"] .pu-drh b { font-size: 16px; }
:root[data-skin="pult"] .pu-drh small { color: var(--ink-3); font-size: 12.5px; }
:root[data-skin="pult"] .pu-drh .crest { color: var(--ink); flex: none; }
:root[data-skin="pult"] .pu-x { width: 44px; height: 44px; flex: none; display: grid; place-items: center; border: 0; border-radius: 12px; background: var(--surface-2); color: var(--ink-3); cursor: pointer; }
:root[data-skin="pult"] .pu-x:hover { color: var(--ink); }
:root[data-skin="pult"] .pu-faces { display: flex; gap: 8px; padding: 4px 16px 10px; overflow-x: auto; scrollbar-width: none; }
:root[data-skin="pult"] .pu-face { display: flex; flex-direction: column; align-items: center; gap: 4px; min-width: 56px; min-height: 44px; padding: 6px;
  border: 1px solid transparent; border-radius: 12px; background: none; color: var(--ink); font-size: 12px; cursor: pointer; }
:root[data-skin="pult"] .pu-face[aria-pressed="true"] { background: var(--acc-tint); border-color: var(--acc-line); }
:root[data-skin="pult"] .pu-face .av { width: 36px; height: 36px; font-size: 15px; box-shadow: none; }
:root[data-skin="pult"] .pu-find { display: flex; align-items: center; gap: 10px; margin: 0 16px 8px; padding: 0 12px; border-radius: 12px;
  border: 1px solid var(--line2); background: var(--surface); color: var(--ink-3); }
:root[data-skin="pult"] .pu-find:focus-within { border-color: var(--accent); box-shadow: 0 0 0 4px var(--acc-tint); }
:root[data-skin="pult"] .pu-find .input { flex: 1; min-width: 0; height: 50px; border: 0; background: none; box-shadow: none; padding: 0; font-size: 16px; }
:root[data-skin="pult"] .pu-find .input:focus { box-shadow: none; background: none; }
:root[data-skin="pult"] .pu-drlist { padding: 0 4px; }
:root[data-skin="pult"] .pu-drlist .pu-eb { padding: 12px 12px 4px; }
:root[data-skin="pult"] .pu-none { margin: 12px 16px; color: var(--ink-3); font-size: 14px; }
:root[data-skin="pult"] .pu-mrow {
  display: grid; grid-template-columns: 40px minmax(0, 1fr) 20px; align-items: center; gap: 12px; width: 100%; min-height: 60px; padding: 8px 16px;
  border: 0; border-top: 1px solid var(--line); background: none; color: var(--ink); text-align: left; cursor: pointer; transition: background-color .2s;
}
:root[data-skin="pult"] .pu-eb + .pu-mrow { border-top: 0; }
:root[data-skin="pult"] .pu-mrow:hover { background: var(--surface-2); }
:root[data-skin="pult"] .pu-mrow:active { background: var(--sunk); }
:root[data-skin="pult"] .pu-mrow > .pu-go-ic { color: var(--ink-3); transition: transform .2s var(--ease); }
:root[data-skin="pult"] .pu-mrow:hover > .pu-go-ic { transform: translateX(3px); color: var(--acc-ink); }
:root[data-skin="pult"] .pu-ti { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 11px; background: var(--surface-2); border: 1px solid var(--line); color: var(--acc-ink); }
:root[data-skin="pult"] .pu-mt { display: grid; gap: 2px; min-width: 0; }
:root[data-skin="pult"] .pu-mt b { font-weight: 600; font-size: 15px; }
:root[data-skin="pult"] .pu-mt span { font-size: 13px; color: var(--ink-3); line-height: 1.35; }
:root[data-skin="pult"] .pu-drfoot { margin-top: auto; display: grid; gap: 10px; padding: 12px 16px 18px; border-top: 1px solid var(--line); }
:root[data-skin="pult"] .pu-drfoot .pu-mrow { border-top: 0; padding: 8px 0; }
:root[data-skin="pult"] .pu-row2 { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
:root[data-skin="pult"] .pu-row2 .btn { min-height: 40px; }

/* Боковое меню и шапка компьютера */
:root[data-skin="pult"] .pu-side { display: none; }
@media (min-width: 900px) {
  :root[data-skin="pult"] .pu-phone, :root[data-skin="pult"] .pu-dock { display: none !important; }
  :root[data-skin="pult"] .pu-desk { display: inline-flex !important; }
  :root[data-skin="pult"] .pu-app { display: grid; grid-template-columns: 252px minmax(0, 1fr); }
  :root[data-skin="pult"] .pu-app.pu-mini { grid-template-columns: 72px minmax(0, 1fr); }
  :root[data-skin="pult"] .pu-side {
    display: flex; flex-direction: column; position: sticky; top: 0; height: 100dvh; padding: 14px 12px; z-index: 6; min-width: 0;
    background: color-mix(in srgb, var(--surface) 94%, transparent); border-right: 1px solid var(--line);
  }
  :root[data-skin="pult"] .pu-side > .pu-logo { padding: 4px 8px 12px; gap: 10px; }
  :root[data-skin="pult"] .pu-side .crest { width: 30px; height: 30px; color: var(--ink); flex: none; }
  :root[data-skin="pult"] .pu-snav { flex: 1 1 auto; min-height: 0; overflow-y: auto; overflow-x: hidden; margin: 0 -8px; padding: 4px 8px 8px; scrollbar-width: thin;
    -webkit-mask-image: linear-gradient(transparent, #000 10px, #000 calc(100% - 10px), transparent); mask-image: linear-gradient(transparent, #000 10px, #000 calc(100% - 10px), transparent); }
  :root[data-skin="pult"] .pu-sgh { padding: 12px 10px 6px; font: 500 11px/1 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); }
  :root[data-skin="pult"] .pu-nav {
    position: relative; display: flex; align-items: center; gap: 10px; width: 100%; height: 40px; padding: 0 10px; border: 0; border-radius: 10px;
    background: none; color: var(--ink-3); font-size: 14.5px; font-weight: 500; text-align: left; cursor: pointer; transition: color .2s, background-color .2s;
  }
  :root[data-skin="pult"] .pu-nav:hover { color: var(--ink); background: var(--surface-2); }
  :root[data-skin="pult"] .pu-nav[aria-current="page"] { color: var(--ink); background: var(--acc-tint); box-shadow: inset 2px 0 0 var(--accent); }
  :root[data-skin="pult"] .pu-nav[aria-current="page"] .pu-ic { color: var(--acc-ink); }
  :root[data-skin="pult"] .pu-nav .pu-ic, :root[data-skin="pult"] .pu-nav .ic { width: 18px; height: 18px; }
  :root[data-skin="pult"] .pu-nl { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  :root[data-skin="pult"] .pu-bdg { margin-left: auto; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 99px; background: var(--acc-tint);
    color: var(--acc-ink); font: 600 11.5px/20px var(--f-mono); text-align: center; }
  :root[data-skin="pult"] .pu-sfoot { display: grid; gap: 2px; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line); }
  :root[data-skin="pult"] .pu-sfrow { display: flex; gap: 2px; }
  :root[data-skin="pult"] .pu-sfrow .pu-ib { flex: 1; justify-content: center; padding: 0; }
  :root[data-skin="pult"] .pu-sfrow .pu-ib > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  :root[data-skin="pult"] .pu-sfoot .pu-viewas { padding: 8px 4px 0; }
  :root[data-skin="pult"] .pu-side.is-mini { padding: 14px 8px; }
  :root[data-skin="pult"] .pu-side.is-mini .pu-lgt, :root[data-skin="pult"] .pu-side.is-mini .pu-nl, :root[data-skin="pult"] .pu-side.is-mini .pu-sgh,
  :root[data-skin="pult"] .pu-side.is-mini .pu-viewas, :root[data-skin="pult"] .pu-side.is-mini .pu-bdg { display: none; }
  :root[data-skin="pult"] .pu-side.is-mini .pu-nav { justify-content: center; padding: 0; }
  :root[data-skin="pult"] .pu-side.is-mini .pu-sfrow { flex-direction: column; }
  :root[data-skin="pult"] .pu-side.is-mini > .pu-logo { justify-content: center; padding: 4px 0 12px; }

  :root[data-skin="pult"] .pu-hdr { height: 68px; padding: 0 20px 0 24px; gap: 8px; }
  :root[data-skin="pult"] .pu-cmd {
    display: flex !important; align-items: center; gap: 10px; flex: 1; min-width: 0; max-width: 560px; height: 46px; padding: 0 6px 0 14px; margin-right: auto;
    border: 1px solid var(--line2); border-radius: 12px; background: var(--sunk); color: var(--ink-3); font-size: 15px; text-align: left; cursor: pointer;
    transition: border-color .2s, box-shadow .25s, transform .14s var(--ease);
  }
  :root[data-skin="pult"] .pu-cmd:hover { border-color: var(--acc-line); box-shadow: 0 0 0 4px var(--acc-tint); }
  :root[data-skin="pult"] .pu-cmd:active { transform: scale(.99); }
  :root[data-skin="pult"] .pu-cmd > .pu-ic { color: var(--acc-ink); }
  :root[data-skin="pult"] .pu-cmd .pu-q { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  :root[data-skin="pult"] .pu-cmd .pu-q b { color: var(--ink); font-weight: 500; }
  :root[data-skin="pult"] .pu-cmd .pu-go { height: 36px; padding: 0 12px; border-radius: 9px; }
  :root[data-skin="pult"] .pu-cmd ~ .pu-hsp { display: none; }
  :root[data-skin="pult"] .pu-hb { padding: 0 10px; }
  :root[data-skin="pult"] .pu-hb.pu-wide { padding: 0 12px; border-color: var(--line); }
  :root[data-skin="pult"] .pu-tops [data-m="capture"] { display: inline-flex; }
  :root[data-skin="pult"] .pu-page { padding: 26px 32px 48px; max-width: 1500px; }
  :root[data-skin="pult"] .pu-h1 { font-size: 30px; }
}
@media (min-width: 900px) and (max-width: 1180px) {
  :root[data-skin="pult"] .pu-hb.pu-wide kbd, :root[data-skin="pult"] .pu-hb.pu-wide > span, :root[data-skin="pult"] .pu-desk[data-act="toggleBot"] > span { display: none; }
  :root[data-skin="pult"] .pu-hb.pu-wide { border-color: transparent; padding: 0 8px; }
  :root[data-skin="pult"] .pu-hdr { padding: 0 12px 0 16px; gap: 4px; }
}
@media (min-width: 1500px) { :root[data-skin="pult"] .pu-xwide { display: grid !important; } }

/* ======================================================================
   7. Сборка по styles.css (создано скриптом один раз): акцентный текст и пояснения курсивом
   ====================================================================== */
/* создано по styles.css: текст цветом акцента — тёмным янтарём, чтобы читался (контраст ≥ 4.5) */
:root[data-skin="pult"] .auth-note .ic,
:root[data-skin="pult"] .bl-banner .ic,
:root[data-skin="pult"] .bl-save,
:root[data-skin="pult"] .bt-date,
:root[data-skin="pult"] .checkin-card > .ic,
:root[data-skin="pult"] .crest-form.on,
:root[data-skin="pult"] .cur-chip.on span,
:root[data-skin="pult"] .fab-item:focus-visible .ic,
:root[data-skin="pult"] .fab-item:hover .ic,
:root[data-skin="pult"] .feat-ic.big,
:root[data-skin="pult"] .guide-tip-k,
:root[data-skin="pult"] .icon-btn.set-top.is-on,
:root[data-skin="pult"] .kb-btn,
:root[data-skin="pult"] .kb-btn:hover,
:root[data-skin="pult"] .ld-flow-ic,
:root[data-skin="pult"] .ld-k,
:root[data-skin="pult"] .ld-menu .ld-menu-signin,
:root[data-skin="pult"] .ld-plan.is-best b,
:root[data-skin="pult"] .ld-rival.is-us b,
:root[data-skin="pult"] .ld-row.is-mark .ld-title,
:root[data-skin="pult"] .mc.today .mc-num,
:root[data-skin="pult"] .note-file,
:root[data-skin="pult"] .now-line,
:root[data-skin="pult"] .paper .pp-clock,
:root[data-skin="pult"] .pill.st-review,
:root[data-skin="pult"] .pp-beams,
:root[data-skin="pult"] .pp-ribbon i,
:root[data-skin="pult"] .proof-ic,
:root[data-skin="pult"] .push-banner > .ic,
:root[data-skin="pult"] .quick:hover,
:root[data-skin="pult"] .rank-row.first .rank-score,
:root[data-skin="pult"] .react.on,
:root[data-skin="pult"] .sch-head em,
:root[data-skin="pult"] .screen-card > .ic,
:root[data-skin="pult"] .setup-change,
:root[data-skin="pult"] .setup-mark,
:root[data-skin="pult"] .starter-item:hover .starter-plus,
:root[data-skin="pult"] .tab.on,
:root[data-skin="pult"] .task-more > summary,
:root[data-skin="pult"] .tg-open,
:root[data-skin="pult"] .toast .link-btn,
:root[data-skin="pult"] .viz-ic,
:root[data-skin="pult"] .wk-col.today .wk-num,
:root[data-skin="pult"] .wstrip-day.today .ws-num,
:root[data-skin="pult"] .yc-cell b { color: var(--acc-ink); }
/* создано по styles.css: пояснения курсивом с засечками — ровным текстом пульта */
:root[data-skin="pult"] .bt-lead,
:root[data-skin="pult"] .bt-tomline,
:root[data-skin="pult"] .chat-hint,
:root[data-skin="pult"] .cheer-card span,
:root[data-skin="pult"] .cover-in span,
:root[data-skin="pult"] .day-date span,
:root[data-skin="pult"] .day-sum,
:root[data-skin="pult"] .ds-tom b,
:root[data-skin="pult"] .empty-hint,
:root[data-skin="pult"] .empty::before,
:root[data-skin="pult"] .feat-col li span:last-child,
:root[data-skin="pult"] .focus-note,
:root[data-skin="pult"] .ld-head-list li,
:root[data-skin="pult"] .ld-kicker,
:root[data-skin="pult"] .ld-list li span:not(.ld-ic),
:root[data-skin="pult"] .ld-qa-item b,
:root[data-skin="pult"] .ld-sheet-head span,
:root[data-skin="pult"] .load-word,
:root[data-skin="pult"] .plate-sub,
:root[data-skin="pult"] .show-head span,
:root[data-skin="pult"] .sign,
:root[data-skin="pult"] .sline,
:root[data-skin="pult"] .so-head p,
:root[data-skin="pult"] .starter-head span,
:root[data-skin="pult"] .top-sub { font-family: var(--f-body); font-style: normal; }

/* ======================================================================
   8. «День» как в прототипе: листок с числом и кнопки дней в ряд, надзаголовок, кольца по людям,
   люди-фильтры пилюлями, полоса суток, «Ждут проверки» и «Сейчас» панелями, дела строками в панелях,
   справа — «Просит внимания», «Завтра», «Лента»
   ====================================================================== */
:root[data-skin="pult"] .view-day .day-wrap { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
:root[data-skin="pult"] .view-day .day-col { max-width: none; min-width: 0; }
:root[data-skin="pult"] .pu-dayhead { display: grid; gap: 0; margin: 0 0 4px; }
:root[data-skin="pult"] .pu-leafrow { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 8px; }
:root[data-skin="pult"] .pu-leaf {
  position: relative; display: grid; grid-template-columns: auto auto; align-items: center; gap: 0 10px; padding: 8px 18px 8px 14px;
  border-radius: 12px; background: var(--surface); border: 1px solid var(--line); box-shadow: var(--shadow), var(--edge);
}
:root[data-skin="pult"] .pu-leaf b { font: 500 30px/1 var(--f-mono); color: var(--acc-ink); letter-spacing: -.03em; }
:root[data-skin="pult"] .pu-leaf.is-we b { color: var(--red); }
:root[data-skin="pult"] .pu-leaf > span:not(.pu-leaf-s) { font-size: 12.5px; color: var(--ink-3); }
:root[data-skin="pult"] .pu-leaf-s { position: absolute; top: 4px; right: 5px; width: 10px; height: 10px; color: var(--ink-3); }
:root[data-skin="pult"] .pu-leaf-s svg { width: 10px; height: 10px; display: block; }
:root[data-skin="pult"] .pu-leafnav { display: flex; flex-wrap: wrap; gap: 6px; }
:root[data-skin="pult"] .pu-leafnav .btn { min-height: 36px; padding: 0 12px; font-size: 14px; border-radius: 9px; }
:root[data-skin="pult"] .pu-leafnav .pu-sq { padding: 0 10px; }
:root[data-skin="pult"] .pu-leafnav .btn.ghost:not(:hover) { border-color: var(--line2); }
:root[data-skin="pult"] .pu-dpt { margin: 4px 0 6px; }
:root[data-skin="pult"] .pu-dpt .day-date { margin: 6px 0 0; font: 600 26px/1.15 var(--f-body); letter-spacing: -.02em; color: var(--ink); }
:root[data-skin="pult"] .pu-dsub { margin: 6px 0 0; font-size: 14px; color: var(--ink-3); }
:root[data-skin="pult"] .pu-rings { display: flex; flex-wrap: wrap; gap: 12px; margin: 10px 0 2px; }
:root[data-skin="pult"] .pu-ring { position: relative; display: grid; justify-items: center; gap: 4px; width: 64px; padding: 0; border: 0; background: none; color: var(--ink); cursor: pointer; border-radius: 12px; }
:root[data-skin="pult"] .pu-ring svg { width: 60px; height: 60px; display: block; }
:root[data-skin="pult"] .pu-ring:active { transform: scale(.95); }
:root[data-skin="pult"] .pu-r-day { fill: none; stroke: var(--acc-line); stroke-width: 1.5; opacity: .6; }
:root[data-skin="pult"] .pu-r-trk { fill: none; stroke: var(--sunk); stroke-width: 6; }
:root[data-skin="pult"] .pu-r-val { fill: none; stroke: var(--mc); stroke-width: 6; stroke-linecap: round; transition: stroke-dashoffset .6s var(--ease); }
:root[data-skin="pult"] .pu-rc { position: absolute; top: 15px; left: 0; right: 0; text-align: center; line-height: 1; }
:root[data-skin="pult"] .pu-rc b { display: block; font: 600 14px/1 var(--f-mono); }
:root[data-skin="pult"] .pu-rc small { display: block; font: 400 9.5px/1.2 var(--f-mono); color: var(--ink-3); }
:root[data-skin="pult"] .pu-rn { font-size: 12px; color: var(--ink-3); max-width: 64px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
:root[data-skin="pult"] .pu-ring.on .pu-rn { color: var(--ink); font-weight: 600; }

/* Люди-фильтры */
:root[data-skin="pult"] .view-day .chips { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; margin: 14px -16px 12px; padding: 2px 16px; border: 0; }
:root[data-skin="pult"] .view-day .chips::before, :root[data-skin="pult"] .view-day .chips::after { display: none; }
:root[data-skin="pult"] .chip {
  display: inline-flex; align-items: center; gap: 7px; flex: none; min-height: 40px; padding: 0 14px; border-radius: 99px; border: 1px solid var(--line);
  background: var(--surface); color: var(--ink); font-size: 14px; font-weight: 500; white-space: nowrap; box-shadow: none;
  transition: background-color .2s, border-color .2s, color .2s, transform .14s var(--ease);
}
:root[data-skin="pult"] .chip:hover { border-color: var(--line2); }
:root[data-skin="pult"] .chip:active { transform: scale(.96); }
:root[data-skin="pult"] .chip.on { background: var(--ink); color: var(--ground); border-color: var(--ink); }
:root[data-skin="pult"] .chip .dot { width: 9px; height: 9px; border-radius: 50%; background: var(--mc); }
:root[data-skin="pult"] .chip.on .dot { box-shadow: 0 0 0 2px var(--ground); }

/* Полоса суток */
:root[data-skin="pult"] .view-day .ribbon { position: relative; margin: 6px 0 14px; }
:root[data-skin="pult"] .view-day .rb-track { position: relative; height: 30px; border-radius: 8px; background: var(--sunk); box-shadow: inset 0 0 0 1px var(--line); overflow: hidden; }
:root[data-skin="pult"] .view-day .rb-b { position: absolute; top: 6px; bottom: 12px; height: auto; border-radius: 3px; background: var(--mc); opacity: 1; }
:root[data-skin="pult"] .view-day .rb-b.is-done { opacity: .35; }
:root[data-skin="pult"] .view-day .rb-now { position: absolute; top: 0; bottom: 0; width: 2px; height: auto; border-radius: 0; background: var(--accent); box-shadow: 0 0 6px var(--acc-shadow); }
:root[data-skin="pult"] .view-day .rb-scale { position: relative; height: 14px; margin-top: 2px; }
:root[data-skin="pult"] .view-day .rb-scale span { position: absolute; transform: translateX(-50%); font: 400 10px/1 var(--f-mono); color: var(--ink-3); }
:root[data-skin="pult"] .view-day .rb-scale span:first-child { transform: none; }
:root[data-skin="pult"] .view-day .rb-scale span:last-child { transform: translateX(-100%); }

/* Панели дня: «Ждут проверки», «Сейчас», списки дел */
:root[data-skin="pult"] .view-day :is(.review-wait, .hero, .leftover, .steps, .wstrip, .tasklist) {
  position: relative; margin: 0 0 12px; background: var(--surface); background-image: none; border: 1px solid var(--line); border-radius: 16px;
  box-shadow: var(--shadow), var(--edge);
}
:root[data-skin="pult"] .view-day .review-wait { border-color: var(--acc-line); padding: 0 0 4px; }
:root[data-skin="pult"] .view-day .review-wait > .group-title {
  display: flex; align-items: center; gap: 10px; margin: 0; padding: 14px 16px 10px; border: 0; border-bottom: 1px dashed var(--line2);
  font: 600 16px/1.3 var(--f-body); letter-spacing: -.005em; text-transform: none; color: var(--ink);
}
:root[data-skin="pult"] .view-day .review-wait > .group-title .ic { width: 9px; height: 9px; border-radius: 50%; color: transparent; background: var(--accent); box-shadow: 0 0 0 4px var(--acc-tint); }
:root[data-skin="pult"] .view-day .review-wait > .tasklist { margin: 0; border: 0; box-shadow: none; background: none; border-radius: 0; }

/* Заголовок группы над списком — шапкой той же панели */
:root[data-skin="pult"] .view-day .group-title {
  margin: 0; padding: 14px 16px 6px; border: 1px solid var(--line); border-bottom: 0; border-radius: 16px 16px 0 0; background: var(--surface);
  font: 500 11.5px/1.2 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3);
}
:root[data-skin="pult"] .view-day .group-title + .tasklist { border-top: 0; border-radius: 0 0 16px 16px; box-shadow: var(--shadow); }
:root[data-skin="pult"] .view-day .group-title.late-title { color: var(--red); border-color: color-mix(in srgb, var(--red) 55%, var(--line)); }
:root[data-skin="pult"] .view-day .late-title + .tasklist { border-color: color-mix(in srgb, var(--red) 55%, var(--line)); }

/* Строки дел — как в прототипе: время моно, название, кто, кнопки справа; без цветной полосы слева */
:root[data-skin="pult"] .tasklist { display: grid; gap: 0; padding: 4px 6px 6px; }
:root[data-skin="pult"] .tasklist.axis { padding-left: 6px; }
:root[data-skin="pult"] .tasklist.axis::before, :root[data-skin="pult"] .tasklist.axis .task::after, :root[data-skin="pult"] .task::before { display: none; }
:root[data-skin="pult"] .task {
  display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; align-items: center; gap: 4px 10px; min-height: 58px; margin: 0;
  padding: 8px 10px 8px 8px; border: 0; border-radius: 12px; background: transparent; box-shadow: none; opacity: 1;
}
:root[data-skin="pult"] .task:hover, :root[data-skin="pult"] .task.is-hl { background: var(--surface-2); }
:root[data-skin="pult"] .task-open { border-radius: 12px; }
:root[data-skin="pult"] .task-open:hover { background: none; }
:root[data-skin="pult"] .task .task-time { font: 500 14px/1.2 var(--f-mono); color: var(--ink); text-align: left; display: grid; }
:root[data-skin="pult"] .task .task-time small { font-size: 11px; color: var(--ink-3); font-weight: 400; }
:root[data-skin="pult"] .task .task-title { font: 500 15px/1.3 var(--f-body); letter-spacing: 0; color: var(--ink); }
:root[data-skin="pult"] .task .task-meta { margin-top: 3px; gap: 4px 8px; font-size: 13px; color: var(--ink-3); }
:root[data-skin="pult"] .task .task-actions { gap: 6px; }
:root[data-skin="pult"] .task .task-actions .btn { min-height: 36px; padding: 0 12px; font-size: 14px; border-radius: 9px; }
:root[data-skin="pult"] .task :is(.pill, .badge, .clash) { height: 22px; padding: 0 7px; border-radius: 6px; font-size: 12px; font-weight: 500; letter-spacing: 0; }
:root[data-skin="pult"] .task .pts-inline { height: 22px; padding: 0 7px; border-radius: 6px; background: var(--acc-tint); color: var(--acc-ink); font: 600 12px/22px var(--f-mono); }
:root[data-skin="pult"] .task.st-done .task-title, :root[data-skin="pult"] .task.st-approved .task-title, :root[data-skin="pult"] .task.st-cancelled .task-title {
  color: var(--ink-3); text-decoration: line-through; text-decoration-color: var(--line2); }
:root[data-skin="pult"] .task.st-done .task-time, :root[data-skin="pult"] .task.st-approved .task-time { color: var(--ink-3); }
:root[data-skin="pult"] .task.st-overdue .task-time { color: var(--red); }
:root[data-skin="pult"] .task.is-event .task-title { font-weight: 400; }
:root[data-skin="pult"] .task > .sign { display: none; }
:root[data-skin="pult"] .task .who .av { width: 20px; height: 20px; font-size: 10px; }
:root[data-skin="pult"] .is-sortable .task { grid-template-columns: 52px minmax(0, 1fr) auto; }
:root[data-skin="pult"] .is-sortable .task > .grip { left: 8px; opacity: .6; }
:root[data-skin="pult"] .tasklist.is-past { opacity: 1; }
:root[data-skin="pult"] .tasklist.is-past .task-title { color: var(--ink-3); }
@media (max-width: 899px) {
  :root[data-skin="pult"] .task { grid-template-columns: 46px minmax(0, 1fr); }
  :root[data-skin="pult"] .task .task-actions { grid-column: 2; justify-content: flex-start; }
  :root[data-skin="pult"] .task .task-actions:empty { display: none; }
  :root[data-skin="pult"] .is-sortable .task { grid-template-columns: 46px minmax(0, 1fr); }
}

/* «Сейчас» */
:root[data-skin="pult"] .view-day .hero { padding: 16px; overflow: hidden; color: var(--ink); }
:root[data-skin="pult"] .view-day .hero::before, :root[data-skin="pult"] .view-day .hero::after { display: none; }
:root[data-skin="pult"] .view-day .hero .clip { display: none; }
:root[data-skin="pult"] .view-day .hero-k { display: block; font: 500 11.5px/1.2 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); margin: 0; }
:root[data-skin="pult"] .view-day .hero-main { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "b c" "a a"; align-items: start; gap: 6px 14px; margin-top: 6px; }
:root[data-skin="pult"] .view-day .hero-time { display: none; }
:root[data-skin="pult"] .view-day .hero-body { grid-area: b; min-width: 0; }
:root[data-skin="pult"] .view-day .hero-title { display: block; padding: 0; border: 0; background: none; text-align: left; font: 600 24px/1.15 var(--f-body); letter-spacing: -.02em; color: var(--ink); }
:root[data-skin="pult"] .view-day .hero-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-top: 8px; color: var(--ink-3); font-size: 14px; }
:root[data-skin="pult"] .view-day .hero-meta .av { width: 22px; height: 22px; font-size: 11px; }
:root[data-skin="pult"] .view-day .hero-meta .av.lg { width: 22px; height: 22px; }
:root[data-skin="pult"] .view-day .hero-act { grid-area: a; display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
:root[data-skin="pult"] .view-day .hero-act .btn { min-height: 36px; padding: 0 12px; font-size: 14px; border-radius: 9px; }
:root[data-skin="pult"] .pu-cd { grid-area: c; text-align: right; }
:root[data-skin="pult"] .pu-cd b { display: block; font: 500 30px/1 var(--f-mono); letter-spacing: -.02em; color: var(--acc-ink); white-space: nowrap; }
:root[data-skin="pult"] .pu-cd span { display: block; font-size: 12.5px; color: var(--ink-3); margin-top: 6px; }

/* Линия «сейчас», «Ещё N», «Раньше сегодня» */
:root[data-skin="pult"] .view-day .now-line { position: relative; height: 18px; margin: 2px 16px 6px; border: 0; }
:root[data-skin="pult"] .view-day .now-line::before { content: ""; position: absolute; left: 0; right: 0; top: 9px; height: 2px; border-radius: 2px; background: var(--accent); box-shadow: 0 0 8px var(--acc-shadow); }
:root[data-skin="pult"] .view-day .now-line span { position: relative; z-index: 1; margin-left: 44px; padding: 0 6px; background: var(--ground); color: var(--acc-ink); font: 500 11.5px/18px var(--f-mono); }
:root[data-skin="pult"] .view-day :is(.more-line, .past-line) {
  display: flex; align-items: center; gap: 8px; width: 100%; min-height: 44px; margin: 0 0 12px; padding: 0 16px; border: 1px solid var(--line); border-radius: 12px;
  background: var(--surface); color: var(--ink-3); font: 500 11.5px/1.2 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; text-align: left;
}
:root[data-skin="pult"] .view-day :is(.more-line, .past-line):hover { color: var(--ink); border-color: var(--line2); }
:root[data-skin="pult"] .view-day .leftover { padding: 12px 16px; }
:root[data-skin="pult"] .view-day .leftover-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
:root[data-skin="pult"] .view-day .leftover ul { margin: 8px 0 0; padding: 0; list-style: none; display: grid; gap: 4px; }
:root[data-skin="pult"] .view-day .leftover li { display: flex; align-items: center; gap: 8px; min-height: 40px; border-top: 1px solid var(--line); }

/* Плитки «Просит внимания» и сводки дня */
:root[data-skin="pult"] .view-day .kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 12px 0; }
:root[data-skin="pult"] .view-day .kpi, :root[data-skin="pult"] .ds-tile {
  display: grid; justify-items: start; align-content: start; gap: 2px; min-height: 96px; padding: 12px; text-align: left; color: var(--ink);
  background: var(--surface); background-image: none; border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow), var(--edge);
}
:root[data-skin="pult"] .view-day .kpi-k, :root[data-skin="pult"] .ds-name { font: 600 13px/1.3 var(--f-body); letter-spacing: 0; text-transform: none; color: var(--ink); order: 3; }
:root[data-skin="pult"] .view-day .kpi-num, :root[data-skin="pult"] .ds-n { font: 600 22px/1.15 var(--f-mono); color: var(--ink); order: 2; }
:root[data-skin="pult"] .view-day .kpi-sub, :root[data-skin="pult"] .ds-t { font-size: 12.5px; color: var(--ink-3); line-height: 1.3; order: 4; }
:root[data-skin="pult"] .view-day .kpi .spark { display: none; }
:root[data-skin="pult"] .ds-ic { order: 1; color: var(--acc-ink); }
:root[data-skin="pult"] .ds-ic .ic { color: var(--acc-ink); }
:root[data-skin="pult"] .view-day .day-aside {
  position: static; display: grid; gap: 12px; align-content: start; padding: 0; margin: 0; border: 0; max-height: none; overflow: visible; background: none;
}
:root[data-skin="pult"] .day-aside .ds-block { padding: 0; margin: 0; background: none; border: 0; box-shadow: none; }
:root[data-skin="pult"] .day-aside .ds-k { margin: 0 2px 8px; padding: 0; font: 500 11.5px/1.2 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); border: 0; }
:root[data-skin="pult"] .day-aside .ds-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
:root[data-skin="pult"] .day-aside :is(.ds-tom, .ds-block:has(.bt-news)) {
  position: relative; padding: 14px 16px; background: var(--surface); border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow), var(--edge); text-align: left;
}
:root[data-skin="pult"] .day-aside :is(.ds-tom, .ds-block:has(.bt-news)) .ds-k { margin: 0 0 8px; font: 600 16px/1.3 var(--f-body); letter-spacing: -.005em; text-transform: none; color: var(--ink); }
:root[data-skin="pult"] .pu-phd { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
:root[data-skin="pult"] .pu-phd .ds-k { margin: 0 !important; }
:root[data-skin="pult"] .pu-phd .link-btn, :root[data-skin="pult"] .pu-more-l { color: var(--acc-ink); font-weight: 500; font-size: 14px; min-height: 36px; }
:root[data-skin="pult"] .pu-more-l { position: absolute; top: 8px; right: 12px; }
:root[data-skin="pult"] .pu-tomr { margin: 0; padding: 4px 0; font-size: 14px; }
:root[data-skin="pult"] .pu-tomr > span { font-family: var(--f-mono); color: var(--acc-ink); }
:root[data-skin="pult"] .pu-tomr .dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--mc); margin: 0 4px 1px 0; }
:root[data-skin="pult"] .pu-tom > .link-btn { color: var(--acc-ink); min-height: 36px; font-size: 14px; }
:root[data-skin="pult"] .day-aside .bt-news { display: flex; align-items: flex-start; gap: 10px; padding: 8px 0; border: 0; }
:root[data-skin="pult"] .day-aside .bt-news::before, :root[data-skin="pult"] .day-aside .bt-news::after, :root[data-skin="pult"] .ds-block:has(.axis-row)::before { display: none; }
:root[data-skin="pult"] .day-aside .axis-row { padding-left: 0; }
:root[data-skin="pult"] .day-aside .bt-news-t { flex: 1; min-width: 0; font-size: 14px; line-height: 1.35; }
:root[data-skin="pult"] .day-aside .bt-news time { font: 400 12px/1.4 var(--f-mono); color: var(--ink-3); }

/* «Первые шаги» и неделя под днём */
:root[data-skin="pult"] .view-day .steps { padding: 0 0 6px; }
:root[data-skin="pult"] .view-day .steps-head { display: flex; align-items: center; gap: 10px; padding: 14px 12px 6px 16px; }
:root[data-skin="pult"] .view-day .steps-head b { font-size: 16px; font-weight: 600; }
:root[data-skin="pult"] .view-day .steps-n { margin-left: auto; font: 500 13px/1 var(--f-mono); color: var(--ink-3); }
:root[data-skin="pult"] .view-day .steps-bar { height: 6px; margin: 0 16px 10px; border-radius: 3px; background: var(--sunk); box-shadow: inset 0 0 0 1px var(--line); overflow: hidden; }
:root[data-skin="pult"] .view-day .steps-bar i { display: block; height: 100%; background: var(--accent); }
:root[data-skin="pult"] .view-day .steps-list { display: grid; }
:root[data-skin="pult"] .view-day .step { display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 6px 16px; border: 0; border-radius: 0; border-top: 1px solid var(--line); background: none; color: var(--ink); text-align: left; font-weight: 500; }
:root[data-skin="pult"] .view-day .step:hover:not(:disabled) { background: var(--surface-2); }
:root[data-skin="pult"] .view-day .step-box { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; background: var(--surface-2); border: 1px solid var(--line); color: var(--ok); }
:root[data-skin="pult"] .view-day .step.ok { opacity: .6; }
:root[data-skin="pult"] .view-day .wstrip { padding: 0 0 8px; }
:root[data-skin="pult"] .view-day .wstrip-head { display: flex; align-items: center; justify-content: space-between; padding: 12px 12px 4px 16px; }
:root[data-skin="pult"] .view-day .wstrip-head .hero-k { font: 600 16px/1.3 var(--f-body); letter-spacing: -.005em; text-transform: none; color: var(--ink); }
:root[data-skin="pult"] .view-day .wstrip-head .link-btn { color: var(--acc-ink); }
:root[data-skin="pult"] .view-day .wstrip-chart { padding: 0 10px; }
:root[data-skin="pult"] .view-day .ws-stroke { stroke: var(--accent); }
:root[data-skin="pult"] .view-day .ws-fill { fill: var(--acc-tint); }
:root[data-skin="pult"] .view-day .wstrip-day { border-radius: 10px; }
:root[data-skin="pult"] .view-day .wstrip-day.on { background: var(--acc-tint); box-shadow: inset 0 0 0 1px var(--acc-line); }
:root[data-skin="pult"] .view-day .ws-num { font-family: var(--f-mono); }
:root[data-skin="pult"] .view-day .ws-dot.is-full { background: var(--accent); }
:root[data-skin="pult"] .view-day .daybar { margin: 0 0 12px; }

/* Пустой день */
:root[data-skin="pult"] .view-day .empty { display: grid; justify-items: center; gap: 10px; padding: 28px 18px; text-align: center; color: var(--ink-3);
  background: var(--surface); border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow); margin: 0 0 12px; }
:root[data-skin="pult"] .view-day .empty::before { display: none; }
:root[data-skin="pult"] .view-day .empty :is(.sec-art, .empty-art, .empty-ic) { color: var(--acc-ink); width: 48px; height: 48px; }

@media (min-width: 900px) {
  :root[data-skin="pult"] .view-day .day-wrap { grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr); gap: 20px; align-items: start; }
  :root[data-skin="pult"] .view-day .day-aside { position: sticky; top: 84px; }
  :root[data-skin="pult"] .view-day .chips { margin: 16px 0 12px; padding: 2px 0; flex-wrap: wrap; overflow: visible; }
  :root[data-skin="pult"] .pu-dpt .day-date { font-size: 30px; }
  :root[data-skin="pult"] .view-day .hero { padding: 20px 22px; }
  :root[data-skin="pult"] .view-day .hero-title { font-size: 30px; }
  :root[data-skin="pult"] .pu-cd b { font-size: 40px; }
}
@media (min-width: 900px) and (max-width: 1180px) {
  :root[data-skin="pult"] .view-day .day-wrap { grid-template-columns: minmax(0, 1fr); }
  :root[data-skin="pult"] .view-day .day-aside { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 899px) {
  :root[data-skin="pult"] .view-day .kpis { grid-template-columns: minmax(0, 1fr); grid-auto-flow: row; grid-auto-columns: auto; overflow: visible; -webkit-mask-image: none; mask-image: none; }
  :root[data-skin="pult"] .view-day .kpi { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; min-height: 56px; gap: 2px 12px; }
  :root[data-skin="pult"] .view-day .kpi-num { grid-row: 1 / 3; }
}

/* Уведомление на телефоне — над нижней панелью «Пульта» (она выше классической) */
@media (max-width: 899px) { :root[data-skin="pult"] .pu-app .toast { bottom: calc(150px + env(safe-area-inset-bottom)); } }
@media (min-width: 900px) { :root[data-skin="pult"] .pu-app .toast { left: auto; right: 24px; bottom: 24px; transform: none; width: min(420px, calc(100vw - 48px)); max-width: none; } }

/* День ребёнка: очки крупным моно-числом в панели, дела — панелями с большой кнопкой */
:root[data-skin="pult"] .view-day .kid-hero {
  display: grid; gap: 8px; padding: 16px; margin: 0 0 12px; color: var(--ink); background: var(--surface); background-image: none;
  border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow), var(--edge);
}
:root[data-skin="pult"] .view-day .kid-hero::before, :root[data-skin="pult"] .view-day .kid-hero::after, :root[data-skin="pult"] .view-day .kid-hero .sheet-stack { display: none; }
:root[data-skin="pult"] .view-day .kid-hello { font: 600 26px/1.15 var(--f-body); letter-spacing: -.02em; }
:root[data-skin="pult"] .view-day .kid-points { display: flex; align-items: center; gap: 6px; font: 600 40px/1 var(--f-mono); color: var(--acc-ink); margin: 6px 0 2px; }
:root[data-skin="pult"] .view-day .kid-points span { display: inline-flex; color: var(--acc-ink); }
:root[data-skin="pult"] .view-day .kid-next { color: var(--ink-3); font-size: 14px; }
:root[data-skin="pult"] .view-day .kid-track { height: 6px; border-radius: 3px; background: var(--sunk); box-shadow: inset 0 0 0 1px var(--line); overflow: hidden; }
:root[data-skin="pult"] .view-day .kid-track span { display: block; height: 100%; background: var(--accent); border-radius: 3px; }
:root[data-skin="pult"] .view-day .kid-nav { display: flex; gap: 6px; margin: 0 0 12px; }
:root[data-skin="pult"] .view-day .kid-nav :is(.icon-btn, .btn) { min-height: 36px; border: 1px solid var(--line2); border-radius: 9px; background: var(--surface-2); }
:root[data-skin="pult"] .view-day .kgrid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
:root[data-skin="pult"] .view-day .kcard { padding: 14px; gap: 10px; border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow), var(--edge); background: var(--surface); }
:root[data-skin="pult"] .view-day .kcard-time { font: 500 14px/1 var(--f-mono); color: var(--ink-3); }
:root[data-skin="pult"] .view-day .kcard-title { font: 600 18px/1.25 var(--f-body); letter-spacing: -.01em; }
:root[data-skin="pult"] .view-day .kcard .btn.kid { min-height: 52px; font-size: 17px; width: 100%; }
:root[data-skin="pult"] .view-day .kcard .kpts { height: 22px; padding: 0 7px; border-radius: 6px; background: var(--acc-tint); color: var(--acc-ink); font: 600 12px/22px var(--f-mono); }
@media (min-width: 900px) { :root[data-skin="pult"] .view-day .kgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ======================================================================
   9. Разделы как в прототипе: ровные панели без цветных заливок, крупные цифры — моно янтарём,
   вкладки — переключателем, полосы и подсказки — строкой-панелью, настройки — плитками в две колонки
   ====================================================================== */
/* Полосы над разделом (пример, связь, оплата, подсказка раздела) */
:root[data-skin="pult"] .pu-page > .banners > * { margin: 0; max-width: none; }
:root[data-skin="pult"] .pu-page > .banners :is(.notice, .banner, .demo-bar) {
  display: flex; align-items: center; flex-wrap: wrap; gap: 8px 10px; padding: 10px 12px; margin: 0; border-radius: 12px;
  background: var(--surface); background-image: none; border: 1px solid var(--line); box-shadow: none; font-size: 14px; color: var(--ink);
}
:root[data-skin="pult"] .pu-page > .banners :is(.notice, .banner, .demo-bar)::before,
:root[data-skin="pult"] .pu-page > .banners :is(.notice, .banner, .demo-bar)::after { display: none; }
:root[data-skin="pult"] .pu-page > .banners .btn { min-height: 36px; padding: 0 12px; font-size: 14px; border-radius: 9px; }
/* Тревога SOS — не серая полоса среди прочих: красная рамка и подложка, знак и текст красным (как красная полоса классического) */
:root[data-skin="pult"] .pu-page > .banners .sos-banner { background: var(--bad-soft); border-color: color-mix(in srgb, var(--red) 55%, transparent); color: var(--ink); font-weight: 600; }
:root[data-skin="pult"] .pu-page > .banners .sos-banner > .ic { color: var(--red); }
:root[data-skin="pult"] .pu-page > .banners .sos-banner .btn.ghost { color: var(--ink); border-color: color-mix(in srgb, var(--red) 40%, var(--line)); background: var(--surface); }
/* Подсказка раздела: знак вопроса, жирный заголовок и фраза одной строкой, «Понятно» и «Больше не показывать» */
:root[data-skin="pult"] .guide-tip { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 10px; grid-template-columns: none; }
:root[data-skin="pult"] .guide-tip-k {
  flex: none; width: 20px; height: 20px; overflow: hidden; color: transparent; font-size: 0; border-radius: 50%; border: 1.75px solid var(--ink-2); position: relative; padding: 0; margin: 0;
}
:root[data-skin="pult"] .guide-tip-k::after { content: "?"; position: absolute; inset: 0; display: grid; place-items: center; font: 700 12px/1 var(--f-body); color: var(--ink-2); }
:root[data-skin="pult"] .guide-tip-t { flex: 1 1 260px; min-width: 0; font-size: 14px; line-height: 1.45; color: var(--ink); }
:root[data-skin="pult"] .guide-tip-h { display: inline; font-weight: 600; margin-right: 4px; font-size: 14px; }
:root[data-skin="pult"] .guide-tip-acts { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-left: auto; }
:root[data-skin="pult"] .guide-tip-acts .link-btn { min-height: 36px; padding: 0 12px; border-radius: 9px; color: var(--ink-3); font-size: 14px; font-weight: 500; }
:root[data-skin="pult"] .guide-tip-acts .link-btn:hover { color: var(--ink); background: var(--surface-2); }

/* Вкладки разделов (Неделя/Месяц, Покупки/Запасы, Лента/Совет) и выбор вкладки внутри раздела — переключателем */
:root[data-skin="pult"] .seg { display: inline-flex; padding: 3px; gap: 2px; border-radius: 12px; background: var(--sunk); border: 1px solid var(--line); max-width: 100%; overflow-x: auto; scrollbar-width: none; }
:root[data-skin="pult"] .seg > button { min-height: 38px; padding: 0 14px; border: 0; border-radius: 9px; background: none; color: var(--ink-3); font-size: 14px; font-weight: 500; white-space: nowrap; box-shadow: none; }
:root[data-skin="pult"] .seg > button:hover { color: var(--ink); }
:root[data-skin="pult"] .seg > button.on { background: var(--surface); color: var(--ink); box-shadow: 0 1px 3px rgba(0, 0, 0, .15), inset 0 0 0 1px var(--line); }
:root[data-skin="pult"] .twin-tabs { margin: 0 0 16px; }
:root[data-skin="pult"] .view:not(.view-day) > .chips {
  display: inline-flex; flex-wrap: nowrap; max-width: 100%; overflow-x: auto; scrollbar-width: none; gap: 2px; padding: 3px; margin: 0 0 16px;
  border-radius: 12px; background: var(--sunk); border: 1px solid var(--line); -webkit-mask-image: none; mask-image: none;
}
:root[data-skin="pult"] .view:not(.view-day) > .chips .chip { min-height: 38px; border: 0; border-radius: 9px; background: none; color: var(--ink-3); padding: 0 12px; }
:root[data-skin="pult"] .view:not(.view-day) > .chips .chip:hover { color: var(--ink); }
:root[data-skin="pult"] .view:not(.view-day) > .chips .chip.on { background: var(--surface); color: var(--ink); box-shadow: 0 1px 3px rgba(0, 0, 0, .15), inset 0 0 0 1px var(--line); }
:root[data-skin="pult"] .view:not(.view-day) > .chips .chip.on .dot { box-shadow: none; }

/* Шапка раздела (главная цифра) — ровная панель, цифра моно янтарём */
:root[data-skin="pult"] :is(.sec-hero, .sch-hero) {
  margin: 0 0 16px; padding: 16px 18px; border-radius: 16px; background: var(--surface); background-image: none;
  border: 1px solid var(--line); box-shadow: var(--shadow), var(--edge); color: var(--ink);
}
:root[data-skin="pult"] :is(.sec-hero, .sch-hero)::before, :root[data-skin="pult"] :is(.sec-hero, .sch-hero)::after { display: none; }
:root[data-skin="pult"] :is(.sec-hero, .sch-hero) .hero-k { font: 500 11.5px/1.2 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); }
:root[data-skin="pult"] :is(.sec-hero-num, .sch-hero-time, .sch-count b) { font-family: var(--f-mono); font-weight: 500; letter-spacing: -.03em; color: var(--acc-ink); }
:root[data-skin="pult"] .sec-hero-num.big { font-size: clamp(40px, 9vw, 64px); }
:root[data-skin="pult"] .sec-hero-num small { font-family: var(--f-body); font-size: 14px; color: var(--ink-3); letter-spacing: 0; }
:root[data-skin="pult"] :is(.sec-hero-body b, .sch-hero-body b) { font: 600 20px/1.2 var(--f-body); letter-spacing: -.01em; }
:root[data-skin="pult"] .sch-count b { color: var(--ink); font-size: 26px; }

/* Панели разделов: ровный фон, тонкая рамка, без цветной полосы сверху и заливок цветом раздела */
:root[data-skin="pult"] .view :is(.card, .scard, .mcard, .pocket, .reward, .rec, .menu-day, .bud-top, .bill, .chart-card, .year-card, .year-strip,
  .shelf, .hours-map, .rank, .howto, .rate-box, .card-form, .feed-post, .sch-col, .wk-col, .kids-points, .bl-card, .gift, .poll) {
  background-color: var(--surface); background-image: none; border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow), var(--edge);
}
:root[data-skin="pult"] .view :is(.mcard, .pocket) { border-top-width: 1px; border-top-style: solid; border-top-color: var(--line); }
:root[data-skin="pult"] .view .mcard.add { border-style: dashed; border-color: var(--line2); background: transparent; box-shadow: none; outline: 0; }
:root[data-skin="pult"] .view .rate-box { border-style: dashed; border-color: var(--line2); box-shadow: none; background: transparent; }
:root[data-skin="pult"] .view :is(.card, .scard, .mcard, .pocket, .reward, .rec, .menu-day, .chart-card, .year-card, .year-strip, .shelf, .hours-map, .rank, .bill)::before { display: none; }
:root[data-skin="pult"] .view .mcard-name, :root[data-skin="pult"] .view .pocket-top b { font-weight: 600; }
:root[data-skin="pult"] .view .pocket-sum { font: 500 30px/1 var(--f-mono); letter-spacing: -.03em; color: var(--acc-ink); }
:root[data-skin="pult"] .view .pocket-sum .field-label { font-family: var(--f-mono); }

/* Списки (покупки, запасы, когда-нибудь, школа, даты, траты): строки в одной панели */
:root[data-skin="pult"] .view :is(.shop-list, .date-list, .money-log) {
  display: grid; gap: 0; padding: 4px 6px; margin: 0 0 16px; list-style: none;
  background: var(--surface); border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow), var(--edge);
}
:root[data-skin="pult"] .view :is(.shop-list, .date-list, .money-log):empty { display: none; }
:root[data-skin="pult"] .view :is(.shop-item, .date-row) {
  margin: 0; min-height: 54px; border: 0; border-radius: 12px; background: transparent; box-shadow: none;
}
:root[data-skin="pult"] .view :is(.shop-item, .date-row)::before { display: none; }
:root[data-skin="pult"] .view :is(.shop-item, .date-row):hover { background: var(--surface-2); }
:root[data-skin="pult"] .view :is(.shop-item, .date-row) + :is(.shop-item, .date-row) { border-top: 0; }
:root[data-skin="pult"] .view .money-log li { border-color: var(--line); }

/* «+ Добавить …» — пунктирная строка во всю ширину, текст слева */
:root[data-skin="pult"] .view .add-open {
  display: flex; align-items: center; justify-content: flex-start; gap: 8px; width: 100%; min-height: 48px; margin: 0 0 16px; padding: 0 16px;
  border: 1px dashed var(--line2); border-radius: 12px; background: transparent; color: var(--ink); font-weight: 500; font-size: 15px;
}
:root[data-skin="pult"] .view .add-open:hover { border-color: var(--acc-line); background: var(--acc-tint); }
:root[data-skin="pult"] .view .add-open .ic { color: var(--acc-ink); }
:root[data-skin="pult"] .view .add-panel { margin: 0 0 16px; padding: 14px 16px 16px; border: 1px solid var(--acc-line); border-radius: 16px; background: var(--surface); }

/* Переход по периодам (неделя, месяц, деньги) */
:root[data-skin="pult"] .period-nav { display: flex; align-items: center; gap: 8px; margin: 0 0 14px; }
:root[data-skin="pult"] .period-nav .icon-btn { width: 46px; min-width: 46px; height: 40px; border: 1px solid var(--line2); border-radius: 11px; background: var(--surface-2); }
:root[data-skin="pult"] .period-nav h2, :root[data-skin="pult"] .period-nav b { font: 600 17px/1.2 var(--f-body); letter-spacing: -.01em; }

/* Заголовки внутри разделов */
:root[data-skin="pult"] .view .section-head h2, :root[data-skin="pult"] .view > h2, :root[data-skin="pult"] .view .set-group > h2 { font: 600 16px/1.3 var(--f-body); letter-spacing: -.005em; text-transform: none; }
:root[data-skin="pult"] .view:not(.view-day) .group-title {
  margin: 18px 0 8px; padding: 0; border: 0; font: 500 11.5px/1.2 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3);
}

/* Расписание: колонки дней — панели, сегодня — янтарная рамка */
:root[data-skin="pult"] .sch-col.today, :root[data-skin="pult"] .wk-col.today { background: var(--acc-tint); border-color: var(--acc-line); box-shadow: inset 0 0 0 1px var(--acc-line); }
:root[data-skin="pult"] .sch-col.is-past { opacity: .75; }
:root[data-skin="pult"] :is(.sch-head, .wk-head) { font-family: var(--f-body); }
:root[data-skin="pult"] .wk-num { font-family: var(--f-mono); font-weight: 500; }
:root[data-skin="pult"] .wk-load { background: var(--sunk); border-radius: 3px; }
:root[data-skin="pult"] :is(.slot, .wk-chip) { border-radius: 10px; }

/* Месяц: клетки ровные, без заливки по загрузке; сегодня — янтарная рамка */
:root[data-skin="pult"] .month .mc { background: var(--surface); background-image: none; border: 1px solid var(--line); border-radius: 10px; box-shadow: none; }
:root[data-skin="pult"] .month .mc.out { background: transparent; opacity: .55; }
:root[data-skin="pult"] .month .mc.today { border-color: var(--acc-line); box-shadow: inset 0 0 0 1px var(--acc-line); }
:root[data-skin="pult"] .month .mc-num { font-family: var(--f-mono); font-weight: 500; letter-spacing: -.02em; }
:root[data-skin="pult"] .month .mc.weekend .mc-num { color: var(--red); }
:root[data-skin="pult"] .month .mc.today .mc-num { color: var(--acc-ink); font-weight: 700; }
:root[data-skin="pult"] .month .mc::before { background: var(--accent); opacity: calc(var(--heat, 0) * .1); }
/* Цвет раздела в «Пульте» не применяется: у всех разделов один янтарь */
:root[data-skin="pult"] .pu-app, :root[data-skin="pult"] .pu-app [style*="--sec"] { --sec: var(--accent) !important; }

/* Деньги */
:root[data-skin="pult"] .bud-top { padding: 18px 20px; }
:root[data-skin="pult"] .bud-top :is(.big-num, .bud-num, .bud-sum) { font-family: var(--f-mono); font-weight: 500; letter-spacing: -.04em; }
:root[data-skin="pult"] .bud-track { background: var(--sunk); box-shadow: inset 0 0 0 1px var(--line); border-radius: 5px; }

/* Настройки: группы с подписью моно, плитки в две колонки на компьютере */
:root[data-skin="pult"] .view-settings .set-group { margin: 0 0 22px; }
:root[data-skin="pult"] .view-settings .set-group .section-head { margin: 0 0 10px; }
:root[data-skin="pult"] .view-settings .set-group .section-head h2 { margin: 0; font: 500 11.5px/1.2 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); }
:root[data-skin="pult"] .view-settings .settings { display: grid; gap: 12px; max-width: none; }
:root[data-skin="pult"] .view-settings .settings > * { margin: 0; max-width: none; }
:root[data-skin="pult"] .view-settings .setting { padding: 16px; border-radius: 16px; }
@media (min-width: 1100px) {
  :root[data-skin="pult"] .view-settings .settings { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
  :root[data-skin="pult"] .view-settings .settings > .wide-only { grid-column: 1 / -1; }
}
/* Лента: записи в одной панели */
:root[data-skin="pult"] .view-feed .feed-list { padding: 6px 16px; background: var(--surface); border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow), var(--edge); }
:root[data-skin="pult"] .view-feed .feed-post { padding: 8px; display: flex; gap: 8px; }
:root[data-skin="pult"] .view-feed .feed-post .input { border: 0; background: transparent; box-shadow: none; }
:root[data-skin="pult"] .bud-top .bud-sum { font: 500 clamp(36px, 7vw, 56px)/1.05 var(--f-mono); letter-spacing: -.04em; }
:root[data-skin="pult"] .bud-track > span { background: var(--accent); }

/* Итоги и награды: цифры моно */
:root[data-skin="pult"] :is(.rank-score, .scard b, .kp b, .reward-cost, .yc-num, .chart-num) { font-family: var(--f-mono); }
/* Настройки на телефоне: переключатель под подписью, не вылезает за плитку */
:root[data-skin="pult"] .view-settings .setting { flex-wrap: wrap; min-width: 0; }
:root[data-skin="pult"] .view-settings .setting .seg { max-width: 100%; min-width: 0; }

/* ======================================================================
   10. Окна и листы как в прототипе: на телефоне — лист снизу со шторкой и заголовком-полосой,
   на компьютере — окно по центру; карточка дела — лист справа; раздел поверх «Дня» — большая панель
   ====================================================================== */
:root[data-skin="pult"] .overlay { background: color-mix(in srgb, #11141B 48%, transparent); backdrop-filter: none; -webkit-backdrop-filter: none; }
:root[data-skin="pult"][data-theme="dark"] .overlay { background: rgba(0, 0, 0, .62); }
:root[data-skin="pult"] :is(.modal, .drawer, .sheet-over, .palette) { background: var(--surface); background-image: none; border: 1px solid var(--line); color: var(--ink); }
:root[data-skin="pult"] .modal-body > h2:first-child, :root[data-skin="pult"] .modal-body > .modal-title:first-child {
  margin: -22px -22px 0; padding: 16px 22px 14px; font: 600 18px/1.3 var(--f-body); letter-spacing: -.005em;
  border-bottom: 1px solid var(--line); background: var(--surface); position: sticky; top: 0; z-index: 2;
}
:root[data-skin="pult"] .modal.is-pop .modal-body > h2:first-child { margin: -16px -16px 0; padding: 14px 16px 12px; top: 0; font-size: 18px; }
:root[data-skin="pult"] .modal-foot { gap: 8px; padding-top: 4px; }
:root[data-skin="pult"] .field-label { font: 500 13px/1.3 var(--f-body); letter-spacing: 0; text-transform: none; color: var(--ink-3); }
:root[data-skin="pult"] .modal :is(.chip, .quick, [data-quick]) { min-height: 36px; padding: 0 12px; font-size: 13.5px; border-radius: 99px; }
/* Окно на компьютере — по центру, как в прототипе (и «Новая задача» тоже) */
@media (min-width: 900px) {
  :root[data-skin="pult"] .modal, :root[data-skin="pult"] .modal.is-pop {
    left: 50%; right: auto; top: 50%; transform: translate(-50%, -50%); width: min(600px, calc(100vw - 40px)); max-height: calc(100dvh - 48px);
    border-radius: 18px; box-shadow: 0 40px 100px -30px rgba(0, 0, 0, .6), var(--edge);
  }
  :root[data-skin="pult"] .modal.is-pop::before { display: none; }
  :root[data-skin="pult"] .modal.is-pop .modal-body { padding: 22px; gap: 14px; }
  :root[data-skin="pult"] .modal.is-pop .modal-body > h2:first-child { margin: -22px -22px 0; padding: 16px 22px 14px; top: 0; }
  @media (prefers-reduced-motion: no-preference) {
    :root[data-skin="pult"] .modal, :root[data-skin="pult"] .modal.is-pop { animation: pu-pop .32s cubic-bezier(.3, 1.3, .5, 1) both; }
    @keyframes pu-pop { from { opacity: 0; transform: translate(-50%, -48%) scale(.96); } }
  }
  /* Карточка дела — лист справа */
  :root[data-skin="pult"] .drawer { top: 0; bottom: 0; right: 0; width: min(480px, calc(100vw - 300px)); border-radius: 18px 0 0 18px; border-top: 1px solid var(--line); border-right: 0; box-shadow: -30px 0 80px -30px rgba(0, 0, 0, .5); }
  /* Раздел поверх «Дня» — большая панель по центру */
  :root[data-skin="pult"] .sheet-over { top: 4%; bottom: 4%; max-height: none; width: min(980px, calc(100vw - 320px)); border-radius: 18px; border-bottom: 1px solid var(--line); }
}
/* Телефон: окна и карточка дела — листом снизу */
@media (max-width: 899px) {
  :root[data-skin="pult"] .modal, :root[data-skin="pult"] .modal.is-pop {
    left: 0; right: 0; top: auto; bottom: 0; transform: none; width: 100%; max-width: none; max-height: 92dvh;
    border-radius: 22px 22px 0 0; border-bottom: 0; box-shadow: 0 -20px 60px -20px rgba(0, 0, 0, .5), var(--edge);
    padding-bottom: env(safe-area-inset-bottom);
  }
  :root[data-skin="pult"] .modal::after { content: ""; position: absolute; top: 7px; left: 50%; width: 40px; height: 5px; margin-left: -20px; border-radius: 3px; background: var(--line2); z-index: 3; }
  :root[data-skin="pult"] .modal-body > h2:first-child { padding-top: 22px; }
  @media (prefers-reduced-motion: no-preference) {
    :root[data-skin="pult"] .modal, :root[data-skin="pult"] .modal.is-pop { animation: pu-up .34s cubic-bezier(.2, .9, .3, 1) both; }
    @keyframes pu-up { from { transform: translateY(40px); opacity: .4; } }
  }
  :root[data-skin="pult"] .drawer {
    top: auto; left: 0; right: 0; bottom: 0; width: 100%; max-height: 92dvh; border-radius: 22px 22px 0 0; border-top: 1px solid var(--line);
    box-shadow: 0 -20px 60px -20px rgba(0, 0, 0, .5);
  }
  @media (prefers-reduced-motion: no-preference) { :root[data-skin="pult"] .drawer { animation: pu-up .34s cubic-bezier(.2, .9, .3, 1) both; } }
  :root[data-skin="pult"] .sheet-over { width: 100%; max-height: 92dvh; border-radius: 22px 22px 0 0; }
}
:root[data-skin="pult"] .drawer-title, :root[data-skin="pult"] .title-input { font: 600 22px/1.2 var(--f-body); letter-spacing: -.01em; }
:root[data-skin="pult"] .so-head { background: var(--surface); }
:root[data-skin="pult"] .so-head h2 { font: 600 18px/1.3 var(--f-body); }

/* Поиск и переходы (Ctrl K) */
:root[data-skin="pult"] .palette { border-radius: 18px; box-shadow: 0 40px 100px -30px rgba(0, 0, 0, .6), var(--edge); }
:root[data-skin="pult"] .pal-input { border-bottom: 1px solid var(--line); }
:root[data-skin="pult"] .pal-input .input { border: 0; background: none; box-shadow: none; font: 500 19px/1 var(--f-body); }
:root[data-skin="pult"] .pal-input > .ic { color: var(--acc-ink); }
:root[data-skin="pult"] .pal-row { border-radius: 10px; min-height: 46px; }
:root[data-skin="pult"] .pal-row:hover, :root[data-skin="pult"] .pal-row:focus-visible { background: var(--surface-2); box-shadow: inset 0 0 0 1px var(--acc-line); }
:root[data-skin="pult"] .pal-row .pal-ic { color: var(--ink-3); }

/* Фокус: одно дело — панель на сетке */
:root[data-skin="pult"] .focus {
  background-color: var(--ground); background-image: linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);
  background-size: 24px 24px;
}
:root[data-skin="pult"] .focus::before, :root[data-skin="pult"] .focus::after { display: none; }
:root[data-skin="pult"] .focus-card { padding: 26px 22px; width: min(560px, calc(100% - 32px)); text-align: left; justify-items: start;
  background: var(--surface); border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow), var(--edge); }
:root[data-skin="pult"] .focus-k { font: 500 12px/1 var(--f-mono); letter-spacing: .06em; color: var(--acc-ink); text-transform: uppercase; }
:root[data-skin="pult"] .focus-time { font: 500 40px/1 var(--f-mono); letter-spacing: -.03em; color: var(--acc-ink); }
:root[data-skin="pult"] .focus-title { font: 600 34px/1.1 var(--f-body); letter-spacing: -.02em; text-align: left; }
:root[data-skin="pult"] .focus-who { justify-content: flex-start; }
:root[data-skin="pult"] .focus-act { justify-content: flex-start; }
:root[data-skin="pult"] .focus-dots i { background: var(--line2); }
:root[data-skin="pult"] .focus-dots i.on { background: var(--accent); width: 20px; border-radius: 4px; }

/* Меню строки (правый щелчок / долгое нажатие) */
:root[data-skin="pult"] .rowmenu { background: var(--surface); background-image: none; border: 1px solid var(--line); border-radius: 14px; padding: 6px; box-shadow: 0 20px 50px -14px rgba(0, 0, 0, .45); backdrop-filter: none; }
:root[data-skin="pult"] .row-item { min-height: 44px; border-radius: 10px; font-size: 15px; }
:root[data-skin="pult"] .row-item .ic { color: var(--acc-ink); }
:root[data-skin="pult"] .row-item.bad, :root[data-skin="pult"] .row-item.bad .ic { color: var(--red); }

/* Обложка раздела при первом заходе за день, «День закрыт», карточка года */
:root[data-skin="pult"] .cover { background: color-mix(in srgb, var(--ground) 82%, transparent); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
:root[data-skin="pult"] .cover-in { padding: 28px 36px; border-radius: 24px; border: 1px solid var(--line); background: var(--surface); box-shadow: 0 30px 80px -30px rgba(0, 0, 0, .5); color: var(--ink); }
:root[data-skin="pult"] .cover-num { font-family: var(--f-mono); color: var(--acc-ink); opacity: .14; }
:root[data-skin="pult"] .cover-in .sec-art { color: var(--acc-ink); }
:root[data-skin="pult"] .cover-in h2 { font: 600 22px/1.2 var(--f-body); }
:root[data-skin="pult"] :is(.cheer-card, .year-card-pop, .yc) { background: var(--surface); border: 1px solid var(--line); border-radius: 18px; }
:root[data-skin="pult"] .cheer-card b { font: 600 22px/1.2 var(--f-body); }

/* ======================================================================
   11. Обучение в облике прототипа: экскурсия (окошко с янтарной рамкой и свечением, листок-панель
   «N из M» моно янтарём, полоски-точки), карточка «покажу, где что» — янтарной полосой, «С чего начнём?»
   и «Время и деньги» — в стиле «Пульта». Тексты — те же ключи, что в классическом виде.
   ====================================================================== */
:root[data-skin="pult"] .tour-hole {
  border-radius: 16px;
  box-shadow: 0 0 0 max(200vw, 200vh) rgba(17, 20, 27, .48), 0 0 0 2px var(--accent), 0 0 30px 4px var(--acc-shadow);
}
:root[data-skin="pult"][data-theme="dark"] .tour-hole { box-shadow: 0 0 0 max(200vw, 200vh) rgba(0, 0, 0, .62), 0 0 0 2px var(--accent), 0 0 30px 4px var(--acc-shadow); }
:root[data-skin="pult"] .tour-card {
  width: min(340px, calc(100vw - 24px)); padding: 16px; border-radius: 16px; background: var(--surface); background-image: none;
  border: 1px solid var(--line); box-shadow: 0 24px 60px -16px rgba(0, 0, 0, .55); color: var(--ink);
}
:root[data-skin="pult"] .tour-card::after, :root[data-skin="pult"] .tour-holes { display: none; }
:root[data-skin="pult"] .tour-k { margin: 0 0 8px; gap: 10px; font: 500 12px/1 var(--f-mono); letter-spacing: .06em; color: var(--acc-ink); padding-right: 40px; }
:root[data-skin="pult"] .tour-dots { gap: 5px; }
:root[data-skin="pult"] .tour-dots i { width: 10px; height: 4px; border-radius: 2px; background: var(--line2); transition: background-color .3s, width .3s var(--ease); }
:root[data-skin="pult"] .tour-dots i.on { width: 18px; background: var(--accent); }
:root[data-skin="pult"] .tour-h { margin: 0 0 4px; padding-right: 40px; font: 600 18px/1.25 var(--f-body); letter-spacing: -.01em; }
:root[data-skin="pult"] .tour-t { font-size: 14.5px; line-height: 1.45; color: var(--ink-3); }
:root[data-skin="pult"] .tour-foot { margin-top: 14px; gap: 8px; }
:root[data-skin="pult"] .tour-foot .btn { min-height: 36px; padding: 0 12px; font-size: 14px; border-radius: 9px; }
:root[data-skin="pult"] .tour-foot .link-btn { min-height: 36px; padding: 0 12px; border-radius: 9px; color: var(--ink-3); font-weight: 500; }
:root[data-skin="pult"] .tour-foot .link-btn:hover { color: var(--ink); background: var(--surface-2); }
:root[data-skin="pult"] .tour-x { top: 8px; right: 8px; width: 40px; height: 40px; border-radius: 12px; background: var(--surface-2); color: var(--ink-3); }
@media (prefers-reduced-motion: no-preference) {
  :root[data-skin="pult"] .tour-card { animation: pu-tip .28s cubic-bezier(.3, 1.4, .5, 1) both; }
  @keyframes pu-tip { from { opacity: 0; translate: 0 8px; scale: .97; } }
}

/* Карточка «покажу, где что» на «Дне» — янтарная полоса, как в прототипе */
:root[data-skin="pult"] .guide-card {
  display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; padding: 12px 14px; margin: 0 0 14px; border-radius: 12px;
  background: var(--acc-tint); border: 1px solid var(--acc-line); box-shadow: none;
}
:root[data-skin="pult"] .guide-card .guide-sheet { display: none; }
:root[data-skin="pult"] .guide-card .guide-body { flex: 1; min-width: 0; display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; }
:root[data-skin="pult"] .guide-card h2 { margin: 0; font: 600 15px/1.35 var(--f-body); letter-spacing: 0; }
:root[data-skin="pult"] .guide-card p { flex: 1 1 220px; margin: 0; font-size: 14px; color: var(--ink-2); }
:root[data-skin="pult"] .guide-card .guide-acts { margin: 0; gap: 6px; }
:root[data-skin="pult"] .guide-card .btn { min-height: 36px; padding: 0 12px; font-size: 14px; border-radius: 9px; }
:root[data-skin="pult"] .guide-card .btn.ghost { background: transparent; border-color: transparent; color: var(--ink-2); }

/* «С чего начнём?» и «Время и деньги семьи» */
:root[data-skin="pult"] .setup-head b, :root[data-skin="pult"] .setup-head h2 { font: 600 20px/1.25 var(--f-body); letter-spacing: -.01em; }
:root[data-skin="pult"] .setup-mark { color: var(--acc-ink); }
:root[data-skin="pult"] .st-chips { gap: 6px; }
:root[data-skin="pult"] .st-chips :is(button, label) { border-radius: 10px; }
:root[data-skin="pult"] .setup-sec { border-color: var(--line); }
:root[data-skin="pult"] .starter-item::before { display: none; }

/* «Первые шаги» и совет помощника в боте — те же панели */
:root[data-skin="pult"] .step-box .ic { color: var(--ok); }

/* Анкета и вход в «Пульте»: карточка — панель на сетке, шаги — янтарём */
:root[data-skin="pult"] .onb-card { border-radius: 18px; background: var(--surface); border: 1px solid var(--line); box-shadow: var(--shadow), var(--edge); }
:root[data-skin="pult"] .onb-dots i { border-radius: 2px; height: 4px; }
/* Листок экскурсии без кнопки (первый у ребёнка, последний «С чего начать») — экран тоже затемнён, как в прототипе */
:root[data-skin="pult"] .tour:has(.tour-card[data-side="mid"]) .tour-veil { background: rgba(17, 20, 27, .48); }
:root[data-skin="pult"][data-theme="dark"] .tour:has(.tour-card[data-side="mid"]) .tour-veil { background: rgba(0, 0, 0, .62); }
/* Шапка телефона: кнопки плотнее — название семьи и дата помещаются целиком */
@media (max-width: 899px) {
  :root[data-skin="pult"] .pu-hdr { padding: 0 4px 0 6px; }
  :root[data-skin="pult"] .pu-hb, :root[data-skin="pult"] .pu-tops .icon-btn { min-width: 40px; padding: 0 4px; }
  :root[data-skin="pult"] .pu-hdr .pu-avbtn { min-width: 40px; }
  :root[data-skin="pult"] .pu-hdr .pu-logo { padding: 0 2px; gap: 4px; }
}
@media (max-width: 360px) { :root[data-skin="pult"] .pu-rings { gap: 4px; } :root[data-skin="pult"] .pu-ring { width: 62px; } }
/* Название семьи и дата в шапке телефона: обычно одной строкой под «Nidalumi» («Ивановы · вт, 13 окт.»).
   На узком телефоне (320 px) строка не помещалась и резалась многоточием — там вместо «Nidalumi» крупно название
   семьи, а дата — строкой под ним: обе целиком. */
:root[data-skin="pult"] .pu-hdr .pu-lgd::before { content: ' · '; }
@media (max-width: 360px) {
  :root[data-skin="pult"] .pu-hdr .pu-lgt > b { display: none; }
  :root[data-skin="pult"] .pu-hdr .pu-lgt small { display: grid; overflow: visible; }
  :root[data-skin="pult"] .pu-hdr .pu-lgf { font: 600 15px/1.2 var(--f-body); color: var(--ink); letter-spacing: -.01em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  :root[data-skin="pult"] .pu-hdr .pu-lgd::before { content: none; }
}
/* Компьютер с невысоким экраном (1280×860 и ниже): все разделы бокового меню — до «Итогов» — видны без прокрутки
   (отчёт об обучении 13.10, №9; то же, что в классическом виде). */
@media (min-width: 900px) and (max-height: 920px) {
  :root[data-skin="pult"] .pu-nav { height: 32px; }
  :root[data-skin="pult"] .pu-sgh { padding: 8px 10px 4px; }
  :root[data-skin="pult"] .pu-side > .pu-logo { padding-bottom: 6px; }
  :root[data-skin="pult"] .pu-sfoot { margin-top: 6px; padding-top: 6px; }
  :root[data-skin="pult"] .pu-sfoot .pu-viewas { padding-top: 4px; }
  :root[data-skin="pult"] .pu-sfoot .pu-viewas .select { height: 34px; min-height: 34px; }
}
@media (min-width: 900px) and (max-height: 780px) {
  :root[data-skin="pult"] .pu-nav { height: 28px; }
}
/* Телефон: прокрутка к месту на странице (переход к дежурствам, фокус поля) не прячет его под шапку и нижнюю панель. */
@media (max-width: 899px) {
  :root[data-skin="pult"], :root[data-skin="pult"] .pu-main { scroll-padding-top: 72px; scroll-padding-bottom: 150px; }
}
/* Шаги «Чтобы напоминания приходили вовремя» — без двойного отступа слева (список в окне на телефоне был зажат) */
:root[data-skin="pult"] .guide-steps { margin-left: 0; padding-left: 22px; }
/* Поиск по разделам на телефоне: подсказка в поле целиком — шрифт как у полей, без «Esc» (клавиатуры у телефона нет) */
@media (max-width: 600px) {
  :root[data-skin="pult"] .pal-input .input { font-size: 16px; }
  :root[data-skin="pult"] .pal-input kbd { display: none; }
}
/* Раздел поверх дня (плитки «Школа», «Запасы», «Когда-нибудь»): название и подпись занимают всю ширину до кнопок,
   а не узкий столбик («Когда-/нибудь» на телефоне) */
:root[data-skin="pult"] .so-head > div:first-child { flex: 1 1 0; min-width: 0; }
:root[data-skin="pult"] .so-head > .row { flex: none; }
@media (max-width: 600px) {
  :root[data-skin="pult"] .so-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; align-items: start; }
  :root[data-skin="pult"] .so-head > .row { display: contents; }
  :root[data-skin="pult"] .so-head > div:first-child { grid-column: 1; grid-row: 1; }
  :root[data-skin="pult"] .so-head > .row > .icon-btn { grid-column: 2; grid-row: 1; }
  :root[data-skin="pult"] .so-head > .row > .btn { grid-column: 1 / -1; grid-row: 2; justify-self: start; }
}
/* «День»: первое дело — на первом экране (жалоба владельца 2026-10-15: «открыл „Пульт“ — задач не видно вообще»).
   Шапка дня в «Пульте» была на 60–125 px выше классической: листок отдельной строкой, кнопки дней строкой ниже,
   кольца по людям крупным рядом. С полосой помощника наверху дела уходили целиком под нижнюю панель телефона,
   а на ноутбуке — под край окна. Теперь: на телефоне листок и кнопки дней одной строкой, кольца мельче, «Сейчас
   свободны» не показываем (как в классическом на телефоне); на компьютере кольца справа от заголовка дня.
   Проверка — tests/pult-skin.mjs, «первое дело на первом экране». */
@media (max-width: 899px) {
  :root[data-skin="pult"] .pu-leafrow { flex-wrap: nowrap; gap: 6px; margin-bottom: 2px; }
  :root[data-skin="pult"] .pu-leaf { flex: none; display: flex; gap: 0; padding: 0 12px; min-height: 36px; border-radius: 9px; box-shadow: none; }
  :root[data-skin="pult"] .pu-leaf b { font-size: 22px; }
  :root[data-skin="pult"] .pu-leaf > span, :root[data-skin="pult"] .pu-leaf-s { display: none; }
  :root[data-skin="pult"] .pu-leafnav { min-width: 0; }
  :root[data-skin="pult"] .pu-leafnav .btn { padding: 0 10px; }
  :root[data-skin="pult"] .pu-leafnav .pu-sq { padding: 0 8px; }
  :root[data-skin="pult"] .pu-dpt { margin: 4px 0 2px; }
  :root[data-skin="pult"] .pu-dpt .day-date { margin-top: 4px; font-size: 24px; }
  :root[data-skin="pult"] .pu-dsub { margin-top: 2px; }
  :root[data-skin="pult"] .pu-free, :root[data-skin="pult"] .pu-dsub.is-free { display: none; }
  :root[data-skin="pult"] .pu-rings { flex-wrap: nowrap; gap: 6px; margin: 6px -16px 0; padding: 0 16px; overflow-x: auto; scrollbar-width: none; }
  :root[data-skin="pult"] .pu-ring { flex: none; width: 56px; gap: 2px; }
  :root[data-skin="pult"] .pu-ring svg { width: 46px; height: 46px; }
  :root[data-skin="pult"] .pu-rc { top: 11px; }
  :root[data-skin="pult"] .pu-rc b { font-size: 13px; }
  :root[data-skin="pult"] .pu-rc small { font-size: 8.5px; }
  :root[data-skin="pult"] .pu-rn { font-size: 11px; max-width: 56px; }
  :root[data-skin="pult"] .view-day .chips { margin-top: 8px; margin-bottom: 10px; }
}
/* Полоса помощника и «включи уведомления»: значок слева от текста, как в классическом, а не отдельной строкой сверху. */
:root[data-skin="pult"] .pu-page > .banners .push-banner { flex-wrap: nowrap; align-items: flex-start; }
@media (max-width: 360px) {
  :root[data-skin="pult"] .pu-leafnav .focus-btn { padding: 0 8px; font-size: 13px; }
  :root[data-skin="pult"] .pu-leafrow { align-items: flex-start; }
  :root[data-skin="pult"] .pu-ring { width: 52px; }
}
@media (min-width: 900px) {
  :root[data-skin="pult"] .pu-dayhead { grid-template-columns: minmax(0, 1fr) auto; column-gap: 20px; }
  :root[data-skin="pult"] .pu-leafrow { grid-column: 1 / -1; }
  :root[data-skin="pult"] .pu-dpt { grid-column: 1; min-width: 0; }
  :root[data-skin="pult"] .pu-rings { grid-column: 2; grid-row: 2; align-self: center; flex-wrap: nowrap; gap: 8px; margin: 0; }
  /* Люди-фильтры плотнее: семья из шести помещается одной строкой, а не двумя */
  :root[data-skin="pult"] .view-day .chips { gap: 6px; margin: 12px 0 10px; }
  :root[data-skin="pult"] .view-day .chip { min-height: 36px; padding: 0 12px; gap: 6px; }
}
