/* Новый вид лины (02.10.2026, владелец: «вкусная, сочная, современная»; меню с золотой плашкой — его выбор).
   Слой ПОВЕРХ app.css / nav.css: только вид (цвет, тень, радиус, отклик), разметка и расположение не меняются.
   Подключён последним в index.html. Откат: убрать строку <link … fresh.css> из index.html.
   ⚠️ Заливки записей --r-* (владелец 25.09) здесь не трогаем. В плотных панелях не менять ширины и вес шрифта:
   панель журнала и поля карточки записи сразу переносятся. Разбор и снимки: материалы/vid-2026-10/README.md */

/* ── 1. Токены ─────────────────────────────────────────────────────────── */
:root{
  --bg:#F3F1EC;--card:#fff;--tint:#FAF9F6;--soft:#EBE7E0;--line:#E6E1D9;--line-w:#F0EDE7;--line-s:#CFC8BD;--dim:#B5AEA4;
  --text:#191714;--muted:#5E5852;--faint:#716A63;
  --accent:#0E7A5F;--accent-h:#0A6650;--ok:#0E7A5F;--soft-ok:#D9EEE6;--ink-ok:#0B5A46;
  --e1:0 1px 2px rgba(25,23,20,.06),0 1px 1px rgba(25,23,20,.03);
  --e2:0 1px 2px rgba(25,23,20,.05),0 10px 28px -10px rgba(25,23,20,.14);
  --e3:0 2px 6px rgba(25,23,20,.07),0 28px 64px -16px rgba(25,23,20,.32);
  --ring:0 0 0 3px rgba(14,122,95,.20);
  --nav-bg:#0F2D25;--nav-line:rgba(255,255,255,.08);--nav-t:rgba(255,255,255,.78);--nav-f:rgba(255,255,255,.56);
  --nav-on:rgba(255,255,255,.11);--nav-hv:rgba(255,255,255,.06);--nav-ic:#7FDDC0;--nav-brand:#F1E6CF;
  --ease:cubic-bezier(.16,1,.3,1)}
:root[data-theme="dark"]{
  --bg:#131519;--card:#1C1F26;--tint:#21252D;--soft:#2A2F39;--line:#30353F;--line-w:#252931;--line-s:#464E5D;
  --accent:#35B592;--accent-h:#4CC9A6;--ok:#35B592;
  --e1:0 1px 2px rgba(0,0,0,.4);
  --e2:0 1px 2px rgba(0,0,0,.35),0 12px 30px -10px rgba(0,0,0,.6);
  --e3:0 2px 6px rgba(0,0,0,.4),0 28px 64px -16px rgba(0,0,0,.8);
  --ring:0 0 0 3px rgba(53,181,146,.28);
  --nav-bg:#0D0F13;--nav-line:rgba(255,255,255,.07);--nav-on:rgba(255,255,255,.09);--nav-ic:#4CC9A6;--nav-brand:#ECEFF4}

/* ── 2. То, что рисует браузер ─────────────────────────────────────────── */
::selection{background:rgba(14,122,95,.22)}
:root[data-theme="dark"] ::selection{background:rgba(53,181,146,.35)}
*{scrollbar-width:thin;scrollbar-color:var(--line-s) transparent}
input,textarea{caret-color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--accent);box-shadow:var(--ring)}
html,body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}

/* ── 3. Кнопки, поля, чипы, переключатели ──────────────────────────────── */
.btn{border-color:var(--line-s);box-shadow:var(--e1);transition:background .15s,border-color .15s,box-shadow .15s,transform .08s}
.btn:hover{background:var(--tint);border-color:var(--dim)}
.btn:active{transform:translateY(1px);box-shadow:none}
.btn.primary,.btn.ok{border-color:transparent;background:var(--accent);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.20),0 1px 2px rgba(10,80,62,.35),0 6px 14px -6px rgba(14,122,95,.55)}
.btn.primary:hover,.btn.ok:hover{background:var(--accent-h);border-color:transparent}
.btn.primary:active,.btn.ok:active{box-shadow:inset 0 2px 4px rgba(0,0,0,.18)}
:root[data-theme="dark"] .btn.primary,:root[data-theme="dark"] .btn.ok{color:#06231B;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 6px 16px -6px rgba(53,181,146,.5)}
.btn.lnk,.btn.user,.theme-btn,.btn.okk-ed,.btn.okk-del-q{box-shadow:none}   /* кнопки-ссылки без рамки: тень им не нужна */
.btn.lnk:hover{background:transparent;color:var(--text)}
.btn.danger:hover{background:var(--soft-bad);border-color:var(--bd-bad)}
input,select,textarea{border-color:var(--line-s);transition:border-color .15s,box-shadow .15s}

.chip{transition:background .15s,border-color .15s,color .15s}
button.chip:hover{border-color:var(--dim)}
.chip.on{background:var(--soft-ok);border-color:transparent;color:var(--ink-ok);box-shadow:inset 0 0 0 1.5px var(--accent)}
:root[data-theme="dark"] .chip.on{color:var(--ink-ok)}

/* переключатель: спокойная дорожка и белый «бегунок» вместо жёлтой заливки */
.seg{border:0;background:var(--soft);padding:2px;gap:0;border-radius:10px}   /* ширина как раньше (рамка 1px → отступ 2px): панель журнала не должна переноситься */
.seg button{border:0!important;background:transparent;border-radius:8px;color:var(--muted);padding-top:6px;padding-bottom:6px;transition:background .15s,color .15s,box-shadow .15s}
.seg button:hover{color:var(--text)}
/* тонкая черта между невыбранными пунктами: без неё соседние подписи читались одной фразой («Мастера салона Схема доступов») */
.seg button:not(:first-child):not(.on){background-image:linear-gradient(var(--line-s),var(--line-s));background-size:1px 46%;background-position:left center;background-repeat:no-repeat}
.seg button.on + button{background-image:none}
.seg button.on{background:var(--card);color:var(--text);box-shadow:0 1px 2px rgba(25,23,20,.14),0 0 0 .5px rgba(25,23,20,.06)}
:root[data-theme="dark"] .seg button.on{background:#3A4150}
/* статус записи остаётся цветным: это смысл, а не украшение */
#att.seg button[data-v="1"].on{background:var(--came);color:var(--ink-warn)}

/* ── 4. Шапка и меню ───────────────────────────────────────────────────── */
.top{border-bottom-color:var(--line);box-shadow:0 1px 0 rgba(25,23,20,.02)}
#viewname{font-size:19px;font-weight:800;letter-spacing:-.015em}
.gsearch{background:var(--soft);border-color:transparent;transition:background .15s,box-shadow .15s,border-color .15s}
.gsearch:focus-within{background:var(--card);border-color:var(--accent);box-shadow:var(--ring)}
.gsearch input:focus{box-shadow:none}
.copick{border-color:var(--line-s);box-shadow:var(--e1)}

@media (min-width:701px){
  body.nav-pin .top .brand{display:none}   /* логотип уже стоит в меню: второй рядом с названием раздела лишний */
  .nav{background:var(--nav-bg);border-right:0;box-shadow:1px 0 0 var(--nav-line)}
  .nav-head{border-bottom-color:var(--nav-line)}
  .nav .brand{color:var(--nav-brand)}
  .nav-logo{color:var(--nav-f)}.nav-logo:hover{background:var(--nav-hv);color:#fff}
  /* группы меню — отступом и черточкой с полями, заголовок ярче: блоки читались одним списком (владелец 02.10.2026) */
  .nav-g+.nav-g{position:relative;margin-top:10px;padding-top:10px;border-top:0}
  .nav-g+.nav-g::before{content:"";position:absolute;top:0;left:14px;right:14px;height:1px;background:rgba(255,255,255,.13)}
  .nav-gh{color:var(--nav-t);opacity:.72;padding:4px 14px 6px}
  body.nav-pin .nav-gh{opacity:.72}
  .nav-gh:hover,body.nav-pin .nav-gh:hover{color:#fff;opacity:1}
  .nav-g.closed .nav-gh{padding-bottom:2px}
  .nav .tab{color:var(--nav-t);transition:background .15s,color .15s}
  .nav-ic{color:var(--nav-f)}
  .nav .tab:hover{background:var(--nav-hv);color:#fff}
  .nav .tab.active{background:var(--nav-on);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
  .nav .tab.active .nav-ic,.nav .tab.fav .nav-ic{color:var(--nav-ic)}
  .nav-sub::before{background:var(--nav-line)}
  .nav-s{color:var(--nav-t)}.nav-s:hover{background:var(--nav-hv);color:#fff}
  .nav-s.on{color:#fff}.nav-s.on::before{background:var(--nav-ic)}
  .nav-act i{color:var(--nav-f)}.nav-act i:hover{background:var(--nav-on);color:#fff;box-shadow:none}
  .nav-foot{border-top-color:var(--nav-line)}
  .nav-foot button{color:var(--nav-f)}.nav-foot button:hover{background:var(--nav-hv);color:#fff}
  .nav-hid .tab{color:var(--nav-f)}
  .nav-body{scrollbar-color:rgba(255,255,255,.18) transparent}
  .nav-body::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18)}
  .nav .tbadge{box-shadow:0 0 0 2px var(--nav-bg)}
}
@media (max-width:700px){
  .navbar{border-top:0;box-shadow:0 -1px 0 var(--line),0 -10px 24px -14px rgba(25,23,20,.25)}
  .navbar button{transition:color .15s}
  .navbar button.active{color:var(--accent);font-weight:700}
  .fab{box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 10px 26px -6px rgba(14,122,95,.6)}
}

/* ── 5. Журнал ─────────────────────────────────────────────────────────── */
.journal{border:0;border-radius:14px;box-shadow:var(--e2)}
.gh{border-bottom-color:var(--line)}
.gh .gn b{font-size:13.5px;font-weight:700;letter-spacing:-.005em}
.gh .av{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35)}
.gt{color:var(--muted);font-weight:700}
.cell.half{border-bottom-color:var(--line-w)}
.cell.hour{border-bottom-color:var(--line)}
.cell.off{background:repeating-linear-gradient(135deg,var(--tint) 0 6px,var(--line-w) 6px 7px)}
.cell:hover{background:rgba(14,122,95,.035)}
.rec{border-radius:7px;box-shadow:inset 0 1px 0 rgba(255,255,255,.38),0 1px 2px rgba(25,23,20,.14);transition:box-shadow .15s,transform .15s var(--ease)}
.rec:hover{box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--accent),0 10px 22px -6px rgba(25,23,20,.35);transform:translateY(-1px)}
.rec{font-size:11.5px}
.rec .t{font-size:11px;opacity:.85;font-weight:700}
.rec .room{font-size:10.5px}
.rec .src{background:#1565B8}.rec .src.fm{background:#6A4C99}   /* белое на прежнем голубом давало 2,9:1 */
:root[data-theme="dark"] .rec .t{opacity:.95}
.rec .n{font-size:12px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 14px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 14px),transparent)}   /* длинное название гаснет у края, а не рубится на полбуквы */
.rec .new,.mitem .new{border:0;background:rgba(25,23,20,.80);color:#fff;padding:1px 5px}
:root[data-theme="dark"] .rec .new,:root[data-theme="dark"] .mitem .new{background:rgba(255,255,255,.90);color:#15171C}
.rec.cancel{opacity:1;color:var(--muted)}
.gt{font-size:11.5px}
.rec.cancel{box-shadow:none}
:root[data-theme="dark"] .rec{box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 1px 3px rgba(0,0,0,.5)}
:root[data-theme="dark"] .rec.cancel{box-shadow:none}
.nowline{border-top-width:1.5px}
.nowline::after{content:"";position:absolute;right:-1px;top:-5px;width:8px;height:8px;border-radius:50%;background:var(--bad)}
.grid.mob .nowline::after{display:none}
.legend i{border-radius:3.5px}

/* ── 6. Подсказка, карточка записи, окна ───────────────────────────────── */
.peek{border:0;border-radius:14px;box-shadow:var(--e3);animation:lfPop .16s var(--ease)}
.dd,.co-dd{border-color:var(--line);box-shadow:var(--e3);border-radius:12px}
.side-card{box-shadow:-1px 0 0 var(--line),-24px 0 64px -18px rgba(25,23,20,.32);animation:lfSide .26s var(--ease)}
.ph b{font-size:18px;letter-spacing:-.015em}
.ph .x{border-color:transparent;background:var(--soft);transition:background .15s,color .15s}
.ph .x:hover{background:var(--line);color:var(--text)}
.pf{background:var(--card);box-shadow:0 -10px 24px -18px rgba(25,23,20,.35)}
.guest .av{box-shadow:inset 0 0 0 2px rgba(255,255,255,.3)}
.fld label{font-weight:600;color:var(--muted)}
.tile{border-color:var(--line);box-shadow:var(--e1);transition:border-color .15s,box-shadow .15s,transform .08s}
.tile:hover{border-color:var(--dim)}
.tile:active{transform:translateY(1px)}
.modal{background:rgba(20,18,15,.48);animation:lfFade .18s ease-out}
.modal-card{border-radius:18px;padding:22px;box-shadow:var(--e3);animation:lfPop .22s var(--ease)}
.modal h3{font-size:19px;letter-spacing:-.015em;margin-bottom:8px}
.toast{border-radius:12px;box-shadow:var(--e3);padding:11px 18px;animation:lfRise .24s var(--ease)}
/* карточка гостя: цифры без рамок-карточек внутри окна, крупнее и ровнее */
.modal-card .kpi{gap:0;background:var(--tint);border-radius:14px;overflow:hidden}
.modal-card .kpi .card{border:0;border-radius:0;background:transparent;box-shadow:inset -1px 0 0 var(--line);padding:12px 16px}
.modal-card .kpi .card:last-child{box-shadow:none}
.modal-card .kpi .v{font-size:22px;letter-spacing:-.02em}
.modal-card>.card{background:var(--tint);border-color:transparent}
.cl-acts{border-bottom-color:var(--line-w)}
table.plain td,table.plain th{border-bottom-color:var(--line-w)}
tr.hrow:has(+ tr.hnrow) td{border-bottom:0}   /* строка визита и строка заметки под ней давали двойную линию */

/* ── 7. Диалоги ────────────────────────────────────────────────────────── */
.ch-list,.ch-thread{border:0;border-radius:14px;box-shadow:var(--e2)}
.ch-filters{border-bottom-color:var(--line-w)}
.ch-item{padding:9px 12px;border-bottom-color:var(--line-w);transition:background .12s}
.ch-item.sel{background:var(--soft-ok)}
.ch-item.sel:hover{background:var(--soft-ok)}
.ch-av{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.3)}
.ub{box-shadow:0 2px 6px -1px rgba(14,122,95,.5)}
.ch-acts .btn:not(.primary){box-shadow:none;border-color:var(--line)}
.ch-acts .btn:not(.primary):hover{border-color:var(--dim)}
.ch-who>b{font-size:17px;letter-spacing:-.015em}
.ch-msgs{background:var(--bg);padding:12px 16px;gap:6px}
.bub{border:0;border-radius:16px;padding:8px 12px;box-shadow:var(--e1)}
.msg.out .bub{background:#D3ECE2;box-shadow:none}
:root[data-theme="dark"] .msg.out .bub{background:#17463A}
.ch-day{border:0;background:var(--soft);font-weight:600;padding:2px 12px}
.ch-compose{padding:10px 12px;border-top-color:var(--line-w)}
.ch-compose textarea{border-radius:12px}
.ch-empty{font-size:15px}

/* ── 8. Гости: одна панель с линиями вместо сорока рамок ───────────────── */
.list.glist{gap:0;background:var(--card);border-radius:14px;box-shadow:var(--e2);overflow:hidden}
.glist .ghead{padding:10px 14px;background:var(--tint);border-bottom:1px solid var(--line)}
.glist .item.grow{border:0;border-radius:0;border-bottom:1px solid var(--line-w);transition:background .12s}
.glist .item.grow:last-child{border-bottom:0}
.glist .item.grow:hover{background:var(--tint)}
.g-nm b{font-size:14.5px}
.g-v b{font-size:15.5px;letter-spacing:-.01em}

/* ── 9. Движение ───────────────────────────────────────────────────────── */
@keyframes lfSide{from{transform:translateX(28px);opacity:.4}to{transform:none;opacity:1}}
@keyframes lfPop{from{transform:translateY(6px) scale(.985);opacity:0}to{transform:none;opacity:1}}
@keyframes lfFade{from{opacity:0}to{opacity:1}}
@keyframes lfRise{from{transform:translate(-50%,10px);opacity:0}to{transform:translateX(-50%);opacity:1}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media (max-width:700px){.side-card{animation-name:lfPop}}

/* ── 10. По разбору: контраст, тёмная тема, телефон ────────────────────── */
a{color:var(--accent-h)}
.gtag.new{color:var(--ink-ok)}.gtag.reg{color:var(--ink-info)}.gtag.warn{color:var(--ink-warn)}.gtag.bad{color:var(--ink-bad)}
.glist a.wa{opacity:.5;transition:opacity .15s}.glist .item:hover a.wa{opacity:1}
.g-c .faint:only-child{opacity:.4}
.bub{font-size:14px}.bub .meta{font-size:11px}
.ch-lastact{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line-s)}
.modal-card .btn.big:not(.primary):not(.ok){min-height:40px;color:var(--muted);box-shadow:none;font-size:14px}
:root[data-theme="dark"] .ub,:root[data-theme="dark"] .ch-seg .cnt:not(.bad),:root[data-theme="dark"] .okk-cseg .n.hot,:root[data-theme="dark"] .chip.st-new,:root[data-theme="dark"] .fab,:root[data-theme="dark"] #wl_n .cnt{color:#06231B}
:root[data-theme="dark"] .tbadge,:root[data-theme="dark"] .seg .cnt.bad{color:#2A0907}
:root[data-theme="dark"] .modal{background:rgba(0,0,0,.62)}
:root[data-theme="dark"] .chip.new{background:var(--soft);border-color:var(--line-s);color:var(--text)}
:root[data-theme="dark"] .g-av.av4{background:#47233A;color:#F2A9D0}
:root[data-theme="dark"] .gtag.bd{background:#47233A;color:#F2A9D0}
:root[data-theme="dark"] .rec:hover{box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--accent),0 10px 22px -6px rgba(0,0,0,.7)}
@media (hover:none){.glist .item.grow:hover{background:transparent}.rec:hover{transform:none}}
@media (max-width:700px){
  .glist .item.grow{align-items:start}
  .guest .glinks{gap:10px;font-size:13.5px}
  .grid.mob{margin-bottom:76px}   /* круглая «+» больше не закрывает вечерние записи */
  button.chip{min-height:32px}
  .modal-card .kpi{grid-template-columns:repeat(3,minmax(0,1fr))}   /* три цифры в ряд, без дыры «2 + 1» */
  .modal-card .kpi .card{min-width:0;padding:10px 12px}
  .modal-card .kpi .v{font-size:16px}
}
/* по замерам: пастельные аватарки и подсказка в поле на тёмной теме не дотягивали до 4,5:1 */
.g-av.av0{color:var(--ink-ok)}.g-av.av1{color:var(--ink-warn)}.g-av.av2{color:var(--ink-info)}.g-av.av3{color:#9A4412}
:root[data-theme="dark"] .g-av.av3{color:#FFAA70}
textarea::placeholder{color:var(--faint)}
@media (hover:none){a.wa{position:relative}a.wa::after{content:"";position:absolute;inset:-13px}}   /* значок вотсапа 15×15: палец попадает в область 41×41 */
/* ── Вариант с золотом (Настя, 02.10): золото сайта lina-crm.ru #E9C46A только в меню: логотип, значок и метка выбранного раздела.
   В рабочей области золота нет: там жёлтый занят статусом «пришёл» и записями с Яндекс Карт. */
:root{--nav-brand:#E9C46A;--nav-ic:#E9C46A}
:root[data-theme="dark"]{--nav-brand:#E9C46A;--nav-ic:#E9C46A}
@media (min-width:701px){
  .nav-head{border-bottom-color:rgba(233,196,106,.22)}
  .nav .tab.active{box-shadow:inset 0 0 0 1px rgba(233,196,106,.28)}
  .nav-logo:hover{color:#E9C46A}
}
/* ── Вариант 4 (владелец, 02.10): выбранный раздел меню целиком золотой плашкой, текст и значок тёмно-зелёные */
@media (min-width:701px){
  .nav .tab.active,.nav .tab.active:hover{background:#E9C46A;color:#0F2D25;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 2px 8px -2px rgba(0,0,0,.35)}
  .nav .tab.active .nav-ic,.nav .tab.active.fav .nav-ic{color:#0F2D25}
  .nav .tab.active .tbadge{box-shadow:0 0 0 2px #E9C46A}
  .nav .tab.active .nav-act i{color:rgba(15,45,37,.6)}
  .nav .tab.active .nav-act i:hover{background:rgba(15,45,37,.12);color:#0F2D25}
}
/* телефон: шапка беседы и поле ввода прежней высоты, иначе переписке на айфоне остаётся на 10px меньше */
@media (max-width:700px){.ch-who>b{font-size:15px}.ch-compose{padding:8px 10px}}
/* перетаскивание в меню (разделы и группы, 02.10.2026): черта золотом, зелёная на тёмно-зелёном не видна */
@media (min-width:701px){
  .nav .tab.over,.nav-g.g-over{box-shadow:inset 0 2px 0 #E9C46A}
  .nav .tab.over-b,.nav-g.g-over-b,.nav-gh.over{box-shadow:inset 0 -2px 0 #E9C46A}
  .nav-gh.over{color:#fff;opacity:1}
}
