/* Задачник АНО — стиль утверждённого макета 07.09.2026.
   Тема собрана в переменных: фирменный стиль ляжет заменой этого блока. */
[hidden]{display:none!important} /* иначе display у .form перебивает атрибут hidden у складных панелей */
:root{
  /* Палитра портала kch-tourism.ru: голубой 25A9DD, тёмно-синий 223C50,
     бирюза 00EED0 (акцент), красный E62D3C. Брендбук (0F6EAF) — прошлая версия темы в git. */
  --paper:#EDF2F6; --card:#FFFFFF; --ink:#10222E; --muted:#43596A; --line:rgba(16,60,90,.12);
  --тень:0 1px 2px rgba(16,60,90,.05), 0 10px 28px rgba(16,60,90,.07);
  --панно:linear-gradient(120deg,#0D3F5E 0%,#1584BD 62%,#00B89E 100%);
  --pine:#25A9DD; --pine-dark:#223C50; --pine-tint:#E9F7FC;
  --berry:#E62D3C; --berry-tint:#FCE4E6;
  --sun:#B07A2A; --sun-tint:#FAEFDC; --ok:#0E8A62;
  --sky:#00EED0;
  --подложка:#F8FAFC; --грань:#E4EBF1; --ось:#C3D1DA;
  --тинт-нейтр:#EAEDF3; --тинт-ок:#E2F2E9;
  font-size:15px;
}
/* тёмная тема — гамма Турметрики */
:root[data-theme='dark']{
  color-scheme:dark;
  --paper:#0A1118; --card:#111C26; --ink:#F2F7FA; --muted:#B3C5D1; --line:rgba(160,210,240,.12);
  --тень:0 1px 2px rgba(0,0,0,.4), 0 10px 28px rgba(0,0,0,.35);
  --панно:linear-gradient(120deg,#082C42 0%,#0F6A97 62%,#00907E 100%);
  --pine:#3DB4EA; --pine-dark:#79C8EC; --pine-tint:#122C3B;
  --berry:#E66767; --berry-tint:#33201F;
  --sun:#C98500; --sun-tint:#33290F; --ok:#16C4A7;
  --подложка:#0E1822; --грань:#1E2D3A; --ось:#2C4254;
  --тинт-нейтр:#22323F; --тинт-ок:#0E332D;
}
:root[data-theme='dark'] .btn.primary{color:#04222E}
:root[data-theme='dark'] .b.new,:root[data-theme='dark'] .b.away{color:#B3C5D1}
:root[data-theme='dark'] .b.done{color:var(--ok)}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--paper);color:var(--ink);font-family:"Golos Text",system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.45}
a{color:var(--pine-dark)}
.загрузка{padding:60px;text-align:center;color:var(--muted)}

/* верхняя панель */
.appbar{display:flex;align-items:center;gap:12px;row-gap:6px;background:var(--панно);color:#fff;padding:10px 18px;flex-wrap:wrap;position:sticky;top:0;z-index:20;box-shadow:var(--тень)}
.appbar .logo{font-weight:800;font-size:15px;white-space:nowrap;display:flex;align-items:center;gap:10px}
.appbar .logo img{height:40px;display:block}
.appbar .logo span{color:var(--sky);font-weight:600}
.appbar nav{display:flex;gap:2px;font-size:14px;flex-wrap:wrap}
.appbar nav a{color:#BFE3F7;text-decoration:none;padding:5px 11px;border-radius:7px;white-space:nowrap}
.appbar nav a.on{background:rgba(255,255,255,.16);color:#fff;font-weight:600}
/* «Кавказская тропа» — официальный знак проекта на белой подложке, как в брендбуке */
.appbar nav a.лого-нкт{display:inline-flex;align-items:center;gap:8px;padding:3px 11px 3px 4px;margin-left:6px;
  background:rgba(255,255,255,.12);border-radius:8px;font-size:13px;color:#fff}
.appbar nav a.лого-нкт:hover{background:rgba(255,255,255,.2)}
.appbar nav a.лого-нкт img{height:24px;width:24px;display:block;background:#fff;border-radius:5px;padding:2px}
@media (max-width:860px){.appbar nav a.лого-нкт span{display:none}.appbar nav a.лого-нкт{padding:3px 4px}}
.appbar .me{margin-left:auto;font-size:13px;color:#BFE3F7;display:flex;gap:10px;align-items:center}
.appbar .me b{color:#fff}
.appbar .пилюля{color:#fff;text-decoration:none;font-size:11.5px;font-weight:600;border-radius:99px;padding:3px 10px;white-space:nowrap}
.appbar .пилюля:hover{filter:brightness(1.1)}
.appbar .выйти{color:#BFE3F7;font-size:12px;cursor:pointer;text-decoration:underline}

.page{max-width:1180px;margin:0 auto;padding:20px 16px 60px}
.h-line{display:flex;align-items:baseline;gap:14px;margin-bottom:16px;flex-wrap:wrap}
.h-line h2{font-size:21px;font-weight:800;letter-spacing:-.2px}
.h-line .sub{color:var(--muted);font-size:13px}
.h-line .right{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}

.btn{display:inline-block;border:none;border-radius:8px;padding:8px 15px;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none}
.btn.primary{background:var(--pine);color:#fff}
.btn.primary:hover{background:var(--pine-dark)}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--pine-dark)}
.btn.danger{background:var(--berry);color:#fff}
.btn.small{padding:5px 11px;font-size:13px}
.btn:disabled{opacity:.5;cursor:default}

.b{display:inline-block;font-size:12px;font-weight:600;border-radius:6px;padding:2px 8px;white-space:nowrap}
.b.overdue{background:var(--berry-tint);color:var(--berry)}
.b.check{background:var(--sun-tint);color:var(--sun)}
.b.work{background:var(--pine-tint);color:var(--pine-dark)}
.b.done{background:var(--тинт-ок);color:var(--ok)}
.b.new{background:var(--тинт-нейтр);color:#4A566E}
.b.away{background:var(--тинт-нейтр);color:#4A566E}
.b.debt{background:var(--sun-tint);color:var(--sun)}

.panel{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin-bottom:18px;box-shadow:var(--тень)}
.panel.alert{border-left:4px solid var(--berry)}
.panel.debtP{border-left:4px solid var(--sun)}
.panel h4{font-size:15px;font-weight:800;margin-bottom:10px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;border-left:4px solid var(--pine);padding-left:10px;margin-left:-2px}
.panel h4 .cnt{font-size:13px;color:var(--muted);font-weight:500}
.panel h4 .lnk{margin-left:auto;font-size:13px;font-weight:500}

.grid2{display:grid;grid-template-columns:1.25fr 1fr;gap:16px;align-items:start}
.grid2 .panel{margin-bottom:16px}
@media (max-width:860px){.grid2{grid-template-columns:1fr}}

table{width:100%;border-collapse:collapse;font-size:14px}
th{font-size:11px;font-weight:600;color:var(--muted);text-align:left;padding:7px 10px;border-bottom:2px solid var(--ось);text-transform:uppercase;letter-spacing:.04em}
td{padding:8px 10px;border-bottom:1px solid var(--грань);vertical-align:top}
tr:last-child td{border-bottom:none}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
tr.click{cursor:pointer}
tr.click:hover td{background:rgba(26,144,200,.07)}
td small,.dim{color:var(--muted)}

.strip{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.chip{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:99px;padding:6px 13px;font-size:13px}
.chip .dot{width:8px;height:8px;border-radius:50%}
.dot.g{background:var(--ok)} .dot.r{background:var(--berry)} .dot.y{background:var(--sun)} .dot.grey{background:#9AA6A0}

.load{display:grid;grid-template-columns:130px 1fr 74px;gap:8px;align-items:center;font-size:13px;margin-bottom:7px}
.bar{height:14px;background:var(--pine-tint);border-radius:4px;overflow:hidden;position:relative}
.bar i{position:absolute;left:0;top:0;bottom:0;background:var(--pine);border-radius:4px}
.bar.over i{background:var(--berry)}
.load .val{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}

.mini{height:8px;background:var(--pine-tint);border-radius:4px;overflow:hidden;position:relative}
.mini i{position:absolute;left:0;top:0;bottom:0;background:var(--pine);border-radius:4px}

/* планёрка */
.person{border:1px solid var(--line);border-radius:14px;background:var(--card);margin-bottom:14px;overflow:hidden;box-shadow:var(--тень)}
.p-head{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--подложка);border-bottom:1px solid var(--грань);flex-wrap:wrap}
.ava{width:32px;height:32px;border-radius:50%;background:var(--pine);color:#fff;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;flex:none}
.ava.red{background:var(--berry)} .ava.grey{background:#9AA6A0}
.p-head .nm{font-weight:700}
.p-head .rl{color:var(--muted);font-size:13px}
.p-head .tm{margin-left:auto;font-size:13px;color:var(--muted)}
.p-head .tm b.late{color:var(--berry)}
.p-cols{display:grid;grid-template-columns:1fr 1fr 1fr}
.p-col{padding:10px 14px;border-right:1px solid var(--грань);font-size:13.5px;min-width:0}
.p-col:last-child{border-right:none}
.p-col h5{font-size:11.5px;font-weight:600;color:var(--muted);margin-bottom:7px}
.p-col ul{list-style:none}
.p-col li{margin-bottom:6px;padding-left:14px;position:relative}
.p-col li::before{content:"";position:absolute;left:0;top:7px;width:6px;height:6px;border-radius:50%;background:var(--pine)}
.p-col li.od::before{background:var(--berry)}
.p-col li.dn::before{background:var(--ok)}
.p-col li a{text-decoration:none;color:inherit}
.p-col li a:hover{text-decoration:underline}
@media (max-width:760px){.p-cols{grid-template-columns:1fr}.p-col{border-right:none;border-bottom:1px solid var(--грань)}}
.quick{display:flex;gap:8px;padding:9px 14px;background:var(--подложка);border-top:1px solid var(--грань);flex-wrap:wrap}
.quick input,.quick select{font-family:inherit;font-size:13px;border:1px solid var(--line);border-radius:7px;padding:6px 10px;background:var(--card);color:var(--ink)}
.quick input.t{flex:1;min-width:180px}

/* формы */
.form{display:grid;gap:10px;max-width:640px}
.form label{font-size:12.5px;font-weight:600;color:var(--muted)}
.form input,.form select,.form textarea{font-family:inherit;font-size:14px;border:1px solid var(--line);border-radius:8px;padding:8px 11px;background:var(--card);color:var(--ink);width:100%}
.form textarea{min-height:70px;resize:vertical}
.form .row{display:flex;gap:10px;flex-wrap:wrap}
.form .row>div{flex:1;min-width:130px}
.err{color:var(--berry);font-size:13.5px;font-weight:600}
.hint{color:var(--muted);font-size:12.5px}

/* карточка задачи */
.kv{display:grid;grid-template-columns:130px 1fr;gap:6px 12px;font-size:14px}
.kv dt{color:var(--muted)}
.kv dd{font-weight:500}
.comment{border-top:1px solid var(--грань);padding:10px 0;font-size:14px}
.comment .a{font-weight:600}
.comment .t{color:var(--muted);font-size:12px;margin-left:8px}
.attach{display:inline-flex;align-items:center;gap:7px;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:6px 11px;font-size:13px;margin:6px 6px 0 0;text-decoration:none;color:var(--ink)}
.hist{font-size:13px;color:var(--muted);list-style:none}
.hist li{padding:5px 0;border-bottom:1px dashed var(--грань)}
.hist li:last-child{border-bottom:none}
.hist b{color:var(--ink);font-weight:600}

/* проект: графы */
.f{display:grid;grid-template-columns:170px 1fr;gap:10px;padding:7px 0;border-bottom:1px solid var(--грань);font-size:14px}
.f dt{color:var(--muted)}
.f dd{font-weight:500}
.f dd .empty{color:var(--sun);font-weight:600;background:var(--sun-tint);border-radius:6px;padding:0 8px}
.kpi{display:grid;grid-template-columns:1fr 80px 80px 40px;gap:8px;font-size:14px;padding:7px 0;border-bottom:1px solid var(--грань);align-items:center}
.kpi:last-child{border-bottom:none}

/* мой день */
.daybtn{background:var(--pine);color:#fff;border-radius:12px;padding:13px;text-align:center;font-weight:700;font-size:15px;margin-bottom:14px;cursor:pointer;border:none;width:100%;font-family:inherit}
.daybtn.готово{background:var(--card);color:var(--ink);border:1px solid var(--line);cursor:default}
.daybtn small{display:block;font-weight:400;font-size:12px;margin-top:2px;opacity:.8}
.m-task{background:var(--card);border:1px solid var(--line);border-radius:11px;margin-bottom:9px;padding:11px 13px;font-size:14px}
.m-task .tt{font-weight:600;margin-bottom:3px}
.m-task .tt a{text-decoration:none;color:inherit}
.m-task .mm{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:12px;flex-wrap:wrap}
.m-task .row{display:flex;gap:8px;margin-top:9px;flex-wrap:wrap}
.m-sec{padding:12px 0 6px;font-size:12px;font-weight:600;color:var(--muted)}
.узко{max-width:560px;margin:0 auto}

/* вход */
.вход{max-width:360px;margin:10vh auto;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:26px;box-shadow:var(--тень)}
.вход h1{font-size:20px;font-weight:800;margin-bottom:4px}
.вход .p{color:var(--muted);font-size:13px;margin-bottom:16px}

.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--pine-dark);color:#fff;border-radius:10px;padding:10px 18px;font-size:14px;z-index:50;box-shadow:0 8px 24px rgba(0,0,0,.25)}
/* расписание: почасовая сетка недели */
.кал-обёртка{overflow-x:auto;border-radius:12px}
.кал{display:grid;grid-template-columns:52px repeat(5,minmax(120px,1fr));min-width:680px;border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden;box-shadow:var(--тень)}
.кши{padding:8px 6px;font-size:12.5px;text-align:center;color:var(--muted);border-bottom:1px solid var(--line);background:var(--pine-tint)}
.кши.кс{color:var(--pine-dark);background:var(--sun-tint)}
.кч{height:48px;padding:2px 6px 0 0;font-size:11.5px;text-align:right;color:var(--muted);border-top:1px solid var(--line)}
.кя{height:48px;position:relative;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.кя.кс{background:color-mix(in srgb,var(--sun-tint) 40%,transparent)}
.кя.др{background:var(--pine-tint)}
.кблок{position:absolute;left:3px;right:3px;top:2px;min-height:38px;border-radius:8px;background:var(--pine-tint);border:1px solid var(--pine);padding:3px 7px;font-size:12px;line-height:1.25;overflow:hidden;cursor:grab;z-index:2;box-shadow:0 1px 3px rgba(16,60,90,.12)}
.кблок b{font-weight:600}
.кблок small{color:var(--muted)}
.кблок.од{border-color:var(--berry);background:var(--berry-tint)}
.кблок.выбран{outline:2.5px solid var(--pine);outline-offset:1px;cursor:pointer}
.полка{display:flex;gap:8px;flex-wrap:wrap;min-height:44px;align-items:flex-start}
.полка .кблок{position:static;max-width:240px;min-height:0}
@media print{.кблок{box-shadow:none}}
/* личные заметки-стикеры: цвета фирменного стиля (голубой, бирюза, песок, красный) */
.заметки h4{border-left-color:var(--sky)}
/* доска: стикеры лежат свободно, их двигают за полоску сверху */
.доска{position:relative;min-height:170px;transition:height .15s}
.доска .стикер{position:absolute;width:220px}
.стикеры{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;align-items:start}
.ручка{height:14px;margin:-6px -7px 4px;border-radius:6px;cursor:grab;touch-action:none;
  background:repeating-linear-gradient(90deg,var(--зам-край) 0 3px,transparent 3px 7px);opacity:.5}
.ручка:hover{opacity:.9}
.ручка:focus-visible{outline:2px solid var(--pine-dark);outline-offset:2px;opacity:1}
.стикер.тащим{cursor:grabbing;z-index:5;transform:rotate(0) scale(1.03);
  box-shadow:0 10px 24px rgba(16,60,90,.20),0 22px 48px rgba(16,60,90,.14)}
.стикер.тащим .ручка{cursor:grabbing;opacity:1}
.стикер{position:relative;border-radius:4px 14px 4px 4px;padding:12px 13px 8px;min-height:120px;
  background:var(--зам-фон);border:1px solid var(--зам-край);border-top:3px solid var(--зам-край);
  box-shadow:0 2px 6px rgba(16,60,90,.10),0 10px 22px rgba(16,60,90,.06);
  transform:rotate(-.5deg);transition:transform .18s,box-shadow .18s}
.стикер:nth-child(even){transform:rotate(.6deg)}
.стикер:hover{transform:rotate(0);box-shadow:0 4px 10px rgba(16,60,90,.14),0 14px 30px rgba(16,60,90,.10)}
.стикер::after{content:"";position:absolute;right:0;top:0;border-width:0 16px 16px 0;border-style:solid;
  border-color:var(--зам-край) transparent;opacity:.55;border-radius:0 4px 0 0} /* загнутый уголок */
.стикер textarea{width:100%;border:none;background:transparent;resize:none;overflow:hidden;
  font-family:inherit;font-size:13.5px;line-height:1.45;color:var(--ink);padding:0;min-height:70px}
.стикер textarea:focus{outline:none}
.стикер textarea::placeholder{color:var(--muted);opacity:.75}
.стикер-текст{font-size:13.5px;line-height:1.45;white-space:pre-wrap;min-height:70px}
.стикер-низ{display:flex;align-items:center;gap:8px;margin-top:8px;padding-top:7px;border-top:1px dashed var(--зам-край)}
.стикер-низ .след{margin-left:auto;font-size:11px;color:var(--muted);white-space:nowrap}
.стикер-низ .дим-ссылка{font-size:11.5px;color:var(--muted);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.стикер-низ .дим-ссылка:hover{color:var(--pine-dark);text-decoration:underline}
.цвета{display:flex;gap:5px}
.точка{width:16px;height:16px;min-width:16px;border-radius:50%;border:1px solid rgba(16,60,90,.25);
  background:var(--зам-край);cursor:pointer;padding:0}
.точка.на{box-shadow:0 0 0 2px var(--card),0 0 0 3.5px var(--зам-край)}
.ц-бирюза{--зам-фон:#E4FBF6;--зам-край:#00C9B1}
.ц-голубой{--зам-фон:#E9F7FC;--зам-край:#25A9DD}
.ц-песок{--зам-фон:#FBF1DC;--зам-край:#D9A441}
.ц-красный{--зам-фон:#FDE8EA;--зам-край:#E5717C}
:root[data-theme='dark'] .ц-бирюза{--зам-фон:#0D2F2B;--зам-край:#16C4A7}
:root[data-theme='dark'] .ц-голубой{--зам-фон:#102A38;--зам-край:#3DB4EA}
:root[data-theme='dark'] .ц-песок{--зам-фон:#2F2716;--зам-край:#C98500}
:root[data-theme='dark'] .ц-красный{--зам-фон:#2F1D1F;--зам-край:#E66767}
@media print{.заметки{display:none}}
/* полоса наблюдателя (министерство): интерфейс руководителя, изменения не сохраняются */
.режим-просмотра{background:var(--sun-tint);color:var(--ink);border-bottom:1px solid var(--line);padding:8px 20px;font-size:13.5px;text-align:center}
@media print{.режим-просмотра{display:none}}
/* счётчик новых задач в шапке и метка «новая» у строки */
.счётчик{display:inline-block;min-width:18px;height:18px;margin-left:5px;padding:0 5px;border-radius:9px;background:var(--berry);color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center;vertical-align:1px}
.b.new-dot{background:var(--berry-tint);color:var(--berry);font-weight:600}
/* расписание команды */
.тк{display:grid;border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden;box-shadow:var(--тень)}
.тк-день{grid-template-columns:190px repeat(9,minmax(64px,1fr));min-width:820px}
.тк-неделя{grid-template-columns:190px repeat(5,minmax(150px,1fr));min-width:940px}
.тк-шапка{padding:8px 6px;font-size:12.5px;text-align:center;color:var(--muted);border-bottom:1px solid var(--line);background:var(--pine-tint)}
.тк-шапка.кс{color:var(--pine-dark);background:var(--sun-tint)}
.тк-имя{padding:7px 10px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:2px;font-size:13px;min-width:0}
.тк-имя a{text-decoration:none;color:var(--ink)}
.тк-имя small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.тк-полка{color:var(--sun)!important}
.тк-ряд{position:relative;border-top:1px solid var(--line);border-left:1px solid var(--line);
  background-image:linear-gradient(to right,var(--line) 1px,transparent 1px);background-size:calc(100% / 9) 100%}
.тк-ряд.нет,.тк-ячейка.нет{background-color:color-mix(in srgb,var(--paper) 70%,transparent)}
.тк-блок{position:absolute;height:34px;margin-left:2px;border-radius:7px;background:var(--pine-tint);border:1px solid var(--pine);padding:2px 7px;font-size:12px;line-height:1.3;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-decoration:none;color:var(--ink);z-index:1}
.тк-блок small,.тк-строка small{color:var(--muted)}
.тк-блок.од,.тк-строка.од{border-color:var(--berry);background:var(--berry-tint)}
.тк-блок:hover,.тк-строка:hover{border-color:var(--pine-dark)}
.тк-итог{position:absolute;right:6px;bottom:4px;z-index:2}
.тк-ячейка{border-top:1px solid var(--line);border-left:1px solid var(--line);padding:5px;display:flex;flex-direction:column;gap:4px;min-height:52px}
.тк-ячейка.кс{background:color-mix(in srgb,var(--sun-tint) 40%,transparent)}
.тк-строка{display:block;border:1px solid var(--pine);background:var(--pine-tint);border-radius:6px;padding:2px 6px;font-size:12px;line-height:1.3;text-decoration:none;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.тк-сумма{margin-top:auto;font-size:11.5px;color:var(--muted);text-align:right}
.тк-сумма.пере{color:var(--berry);font-weight:600}
.тк-блок,.тк-строка{cursor:grab}
.тк-блок.выбран,.тк-строка.выбран{outline:2.5px solid var(--pine-dark);outline-offset:1px;cursor:pointer}
.тк-ряд.цель,.тк-ячейка.цель{box-shadow:inset 0 0 0 2px var(--pine);cursor:copy}
.тк-ряд.др,.тк-ячейка.др{background-color:var(--pine-tint)}
.тк-откр{margin-left:4px;text-decoration:none;color:var(--pine-dark);font-weight:700}
.тк-строка{position:relative;padding-right:20px}
.тк-строка .тк-откр{position:absolute;right:6px;top:2px;margin:0}
#наверх{position:fixed;right:18px;bottom:18px;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--pine);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--тень);z-index:40;transition:transform .18s}
#наверх:hover{transform:translateY(-2px)}
@media print{#наверх{display:none!important}}
.toast.err{background:var(--berry)}

.print-head{display:none}
@media print{
  .appbar,.btn,.quick,select,.пилюля,.toast{display:none!important}
  body{background:#fff;font-size:12.5px}
  .page{max-width:none;padding:0}
  .print-head{display:flex;align-items:center;gap:16px;margin-bottom:16px;border-bottom:3px solid #223C50;padding-bottom:12px}
  .print-head img{height:46px}
  .print-head div{line-height:1.35}
  .print-head b{font-size:15px;color:#223C50}
  .panel,.person{border:1px solid #B7C4CE;box-shadow:none;page-break-inside:avoid}
  .p-head{background:#EDF3F7}
  .b{border:1px solid #B7C4CE}
}

/* карандаш директора у задач в списках */
.ред-каранд{color:var(--pine);text-decoration:none;font-size:13px;padding:0 4px}
.ред-каранд:hover{color:var(--pine-dark)}

/* мини-кнопки статусов на планёрке */
.мини{font-family:inherit;font-size:11.5px;font-weight:600;border:1px solid var(--line);background:var(--card);color:var(--pine-dark);border-radius:6px;padding:1px 7px;cursor:pointer;vertical-align:1px}
.мини:hover{border-color:var(--pine)}
.мини.ок{color:var(--ok)}
.мини.наз{color:var(--berry)}
@media print{.мини{display:none!important}}

/* имена в чипах обзора — ссылки на карточку человека */
.chip small a{color:inherit;text-decoration:underline;text-decoration-color:rgba(90,110,128,.4)}
.chip small a:hover{color:var(--pine-dark)}
.load span a{color:inherit;text-decoration:none}
.load span a:hover{color:var(--pine-dark);text-decoration:underline}

.строка-проекта{display:grid;grid-template-columns:1fr 130px 110px;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--грань)}

/* телефоны (iPhone 16e и близкие): компактная шапка, столбики, таблицы крутятся в карточках */
@media (max-width:520px){
  .appbar{gap:6px;row-gap:4px;padding:8px 12px}
  .appbar .logo img{height:30px}
  .appbar nav{gap:0;font-size:13px}
  .appbar nav a{padding:4px 8px}
  .appbar .me{font-size:12px;gap:7px}
  .appbar .пилюля{font-size:10.5px;padding:2px 8px}
  .page{padding:14px 10px 40px}
  .appbar .me{margin-left:0;flex-wrap:wrap;row-gap:3px}
  .h-line h2{font-size:18px}
  .panel{padding:14px 12px;overflow-x:auto}
  .panel h4{padding-left:8px}
  .строка-проекта{grid-template-columns:1fr;gap:4px}
  .строка-проекта .mini{max-width:220px}
  .kv{grid-template-columns:92px 1fr}
  .load{grid-template-columns:96px 1fr 58px}
  .quick input.t{min-width:130px}
  .chip{font-size:12px;padding:5px 10px}
  table{font-size:13px}
  th,td{padding:6px 6px}
  .daybtn{font-size:14px}
}

.grid2>div{min-width:0}
.panel{max-width:100%}
.p-head .nm a:hover{text-decoration:underline;color:var(--pine)}

/* режим правки: заметная рамка и тонированный фон */
.форма-правки{border:2px solid var(--pine);background:var(--pine-tint)}
.форма-правки h4{border-left-color:var(--pine)}
.форма-правки .form input,.форма-правки .form select,.форма-правки .form textarea{background:var(--card)}
.лента-нав{display:flex;align-items:center;gap:12px;width:100%;margin-bottom:6px}
.лента-нав span.dim{font-size:12.5px}

/* ── полировка по ui-ux-pro-max (09.09.2026): фокус, переходы, касания, контраст ── */
/* плавные переходы на интерактивном, 150–200 мс */
.btn,.пилюля,.мини,a,tr.click td,.chip,.ред-каранд{transition:background-color .18s ease,color .18s ease,border-color .18s ease,filter .18s ease}
/* видимое кольцо фокуса с клавиатуры */
.btn:focus-visible,.пилюля:focus-visible,.мини:focus-visible,a:focus-visible,
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--pine);outline-offset:2px;border-radius:6px}
/* уважение к отключённой анимации */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}
/* контраст вторичного текста в тёмной теме: не серым по серому */
:root[data-theme='dark'] .dim,:root[data-theme='dark'] td small{color:#9FB4C2}
/* касания на телефоне: мини-кнопки и карандаш не меньше 24px, зазоры 8px */
@media (max-width:520px){
  .мини{padding:5px 10px;font-size:12.5px}
  .ред-каранд{padding:4px 8px;font-size:15px}
  .p-col li{margin-bottom:9px}
  .btn.small{padding:8px 13px}
  .quick{gap:9px}
}

/* приёмы семьи (как в Турметрике): липкие шапки, заметная зебра, подсветка наведения */
.panel table thead th, .panel table tr:first-child th{position:sticky;top:0;background:var(--card);z-index:2}
table tr:nth-child(even) td{background:rgba(16,60,90,.045)}
:root[data-theme='dark'] table tr:nth-child(even) td{background:rgba(255,255,255,.045)}
table tr:hover td{background:rgba(37,169,221,.09)}
:root[data-theme='dark'] table tr:hover td{background:rgba(61,180,234,.08)}
tr.click:hover td{background:rgba(37,169,221,.12)!important}
:root[data-theme='dark'] tr.click:hover td{background:rgba(61,180,234,.11)!important}
/* те же оттенки в списках планёрки и строках проектов на обзоре */
.строка-проекта:nth-child(even){background:rgba(16,60,90,.045)}
.строка-проекта:hover{background:rgba(37,169,221,.09)}
:root[data-theme='dark'] .строка-проекта:nth-child(even){background:rgba(255,255,255,.045)}
:root[data-theme='dark'] .строка-проекта:hover{background:rgba(61,180,234,.08)}
.p-col li{border-radius:6px;padding-top:2px;padding-bottom:2px}
.p-col li:hover{background:rgba(37,169,221,.09)}
:root[data-theme='dark'] .p-col li:hover{background:rgba(61,180,234,.08)}

/* ── кадры: опросники (21.09.2026) ────────────────────────────────────────── */
.мягко{color:var(--muted);font-size:13px;line-height:1.55}
.строка-кнопок{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:16px 0}
.panel.согласие{max-width:620px}
.panel.согласие h2{font-size:18px;font-weight:800;margin-bottom:8px}
.panel.согласие p{font-size:14px;line-height:1.6;color:var(--ink)}

.кадры-плитки{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin:16px 0}
.плитка-опр{display:flex;flex-direction:column;gap:4px;background:var(--card);border:1px solid var(--line);
  border-radius:14px;padding:15px 16px;text-decoration:none;color:inherit;box-shadow:var(--тень);
  border-top:3px solid var(--pine);min-height:118px}
.плитка-опр:hover{border-color:var(--pine);transform:translateY(-1px)}
.плитка-опр b{font-size:15px;font-weight:800;line-height:1.25}
.плитка-опр .подпись{color:var(--muted);font-size:13px}
.плитка-опр .мета{color:var(--muted);font-size:12px;margin-top:auto}
.плитка-опр .статус{font-size:12px;font-weight:600;color:var(--muted)}
.плитка-опр.пройден{border-top-color:var(--ok)}
.плитка-опр.пройден .статус{color:var(--ok)}

.опрос-шапка{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.опрос-шапка b{font-size:19px;font-weight:800}
.опрос-шапка .назад{font-size:13px;text-decoration:none;color:var(--pine-dark);font-weight:600}
.откуда{margin:0 0 14px;font-size:13px;color:var(--muted);max-width:70ch}
.откуда summary{cursor:pointer;font-weight:600}
.откуда p{margin-top:8px;line-height:1.6}

.опрос{max-width:70ch}
.ход{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.полоса-хода{flex:1;height:6px;border-radius:99px;background:var(--грань);overflow:hidden}
.полоса-хода i{display:block;height:100%;background:var(--pine);transition:width .25s ease}
.вопрос{font-size:20px;line-height:1.4;font-weight:700;margin:0 0 18px}
.варианты{display:grid;gap:8px;margin-bottom:8px}
.варианты.пара{grid-template-columns:1fr 1fr}
.вариант{display:flex;align-items:center;gap:10px;min-height:48px;width:100%;text-align:left;
  background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 14px;
  font-family:inherit;font-size:15px;color:inherit;cursor:pointer;line-height:1.35}
.вариант:hover{border-color:var(--pine);background:var(--pine-tint)}
.вариант.выбран{border-color:var(--pine);background:var(--pine-tint);font-weight:600}
.вариант .цифра{flex:none;width:22px;height:22px;border-radius:6px;background:var(--тинт-нейтр);color:var(--muted);
  font-size:12px;font-weight:700;display:grid;place-items:center}
.вариант.выбран .цифра{background:var(--pine);color:#fff}

.цвета{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:10px;margin-bottom:8px}
.цвет{display:flex;flex-direction:column;align-items:center;gap:6px;background:var(--card);border:1px solid var(--line);
  border-radius:12px;padding:12px 8px;font-family:inherit;font-size:13px;color:inherit;cursor:pointer}
.цвет i{width:100%;height:56px;border-radius:8px;background:var(--цвет);border:1px solid rgba(0,0,0,.12)}
.цвет:hover{border-color:var(--pine)}
.цвет .имя-цвета{color:var(--muted)}
.цвет .место{font-weight:800;color:var(--pine-dark);min-height:18px}
.цвет:disabled{opacity:.45;cursor:default}

.результат{max-width:76ch;margin:0 0 26px}
.результат h2{font-size:19px;font-weight:800;margin-bottom:10px}
.результат .ведущие{font-size:15px;margin-bottom:12px}
.предупр{background:var(--sun-tint);border-radius:10px;padding:10px 13px;font-size:13px;margin-bottom:12px}
.шкалы{display:grid;gap:12px;margin-bottom:18px}
.шкала-строка{display:grid;grid-template-columns:150px 1fr 74px;gap:10px;align-items:center;
  padding-bottom:12px;border-bottom:1px solid var(--line)}
.шкала-строка .имя-шкалы{font-weight:700;font-size:14px}
.шкала-строка .полоса{height:10px;border-radius:99px;background:var(--грань);overflow:hidden}
.шкала-строка .полоса i{display:block;height:100%;background:var(--pine)}
.шкала-строка .полоса.высоко i{background:var(--ok)}
.шкала-строка .полоса.низко i{background:var(--ось)}
.шкала-строка .ур{font-size:12px;font-weight:700;color:var(--muted);text-align:right}
.шкала-строка .ур.высоко{color:var(--ok)}
.шкала-строка .толк{grid-column:1 / -1;color:var(--muted);font-size:13px;line-height:1.55}
.panel.советы h3,.panel.тип h3{font-size:16px;font-weight:800;margin-bottom:10px}
.совет-блок{margin-bottom:12px}
.совет-блок b{display:block;font-size:13px;color:var(--pine-dark);margin-bottom:4px}
.совет-блок ul{margin:0;padding-left:18px}
.совет-блок li{font-size:14px;line-height:1.55;margin-bottom:4px}
@media (max-width:640px){
  .варианты.пара{grid-template-columns:1fr}
  .шкала-строка{grid-template-columns:1fr 64px;gap:8px}
  .шкала-строка .имя-шкалы{grid-column:1 / -1}
  .вопрос{font-size:18px}
}
.мягко.широко{max-width:74ch;margin:0 0 14px}

/* ── сводка дня (23.09.2026) ─────────────────────────────────────────────── */
.плитки-св{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px}
.плитка-св{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;box-shadow:var(--тень)}
.плитка-св b{display:block;font-size:22px;font-weight:800;letter-spacing:-.4px;line-height:1.1}
.плитка-св span{color:var(--muted);font-size:12.5px;line-height:1.4}
.св-карта{padding:14px 16px;margin-bottom:12px}
.св-карта.тихо{opacity:.75}
.св-шапка{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.св-шапка b{font-size:15px;font-weight:800}
.св-шапка b a{color:inherit;text-decoration:none}
.св-шапка b a:hover{color:var(--pine)}
.св-часы{margin-left:auto;color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums}
.св-бейджи{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}
.св-бейдж{background:var(--pine-tint);color:var(--pine-dark);border-radius:99px;padding:3px 10px;font-size:12px;font-weight:600}
.св-бейдж.тихий{background:var(--тинт-нейтр);color:var(--muted);font-weight:500}
.св-бейдж.срочно{background:var(--berry-tint);color:var(--berry)}
.св-лента{list-style:none;margin:8px 0 0;padding:0;border-top:1px solid var(--line)}
.св-лента li{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;padding:5px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.св-время{color:var(--muted);font-variant-numeric:tabular-nums;min-width:38px}
.св-вид{font-weight:700;min-width:120px}
.св-лента a{color:var(--pine-dark);text-decoration:none;font-weight:600}
.св-лента a:hover{text-decoration:underline}
.св-текст{color:var(--muted);flex:1 1 220px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.св-раздел{font-size:14px;font-weight:700;color:var(--muted);margin:18px 0 10px}
@media (max-width:640px){ .св-вид{min-width:0} .св-текст{flex-basis:100%} .св-часы{margin-left:0} }
.св-режимы{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-right:6px}
.св-режимы a{padding:6px 12px;font-size:13px;font-weight:600;text-decoration:none;color:var(--muted);background:var(--card)}
.св-режимы a.on{background:var(--pine);color:#fff}
.св-дни{display:flex;gap:3px;align-items:flex-end;margin:8px 0 2px;flex-wrap:wrap}
.св-день{display:flex;flex-direction:column;align-items:center;gap:2px;text-decoration:none;min-width:22px}
.св-день i{display:block;width:14px;border-radius:3px 3px 0 0;background:var(--pine)}
.св-день span{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}
.св-день.выходной i{background:var(--ось)}
.св-день.пусто i{background:var(--грань)}
.св-день:hover i{filter:brightness(1.15)}
