/* Панель команды b-travel.ru. Токены те же, что у страниц раздела /docs_7k2m/,
   чтобы панель не выглядела чужой. Тёмная тема — по настройке устройства. */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --ground:#FAFBFD; --surface:#FFFFFF; --surface-2:#F1F4F9;
  --ink:#141C28; --ink-2:#4A5768; --ink-3:#7A8698;
  --line:#DFE5EE; --line-soft:#EAEFF6;
  --blue:#2F74DE; --blue-soft:#E8F0FD;
  --ok:#1F7A5A; --ok-soft:#E3F3ED;
  --work:#9A6B12; --work-soft:#FBF0DA;
  --wait:#B4472C; --wait-soft:#FBE9E3;
  --shadow:0 1px 2px rgba(20,28,40,.05), 0 8px 24px -16px rgba(20,28,40,.28);
}
@media (prefers-color-scheme: dark){
  :root{
    --ground:#0E141C; --surface:#161E29; --surface-2:#1D2733;
    --ink:#EAEFF6; --ink-2:#A9B6C7; --ink-3:#7A8698;
    --line:#28323F; --line-soft:#212B37;
    --blue:#6BA3F5; --blue-soft:#1A2739;
    --ok:#5FC49E; --ok-soft:#152C25;
    --work:#D9AC5A; --work-soft:#2C2415;
    --wait:#EE8B58; --wait-soft:#33221A;
    --shadow:0 1px 2px rgba(0,0,0,.4), 0 8px 24px -16px rgba(0,0,0,.8);
  }
}
html{-webkit-text-size-adjust:100%;}
body{background:var(--ground);color:var(--ink);
  font-family:"Golos Text","Helvetica Neue",Arial,sans-serif;font-size:16.5px;line-height:1.6;
  -webkit-font-smoothing:antialiased;}
a{color:var(--blue);}
h1,h2,h3{font-family:Rubik,"Golos Text",Arial,sans-serif;line-height:1.25;}
h1{font-size:clamp(25px,4.2vw,34px);font-weight:700;letter-spacing:-.02em;margin-bottom:8px;}
h2{font-size:20px;font-weight:600;margin-bottom:12px;}
h3{font-size:16.5px;font-weight:600;}
p{color:var(--ink-2);}
.lede{font-size:17px;max-width:62ch;margin-bottom:22px;}
.muted{color:var(--ink-3);}
.small{font-size:14px;}
.wrap{max-width:920px;margin:0 auto;padding:28px 20px 70px;}
.crumb{margin-bottom:10px;font-size:14.5px;}
.crumb a{text-decoration:none;}

/* шапка */
.bar{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5;}
.bar-in{max-width:920px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.brand{font-weight:700;text-decoration:none;color:var(--ink);line-height:1.15;display:flex;flex-direction:column;}
.brand span{font-size:12px;font-weight:400;color:var(--ink-3);letter-spacing:.02em;}
/* кнопка «Все проекты» — возврат на b-travel.ru/proekty/, как в панелях других проектов (23.09.2026) */
.allp{font-size:13px;text-decoration:none;color:var(--ink-3);border:1px solid var(--line);border-radius:999px;padding:3px 10px;white-space:nowrap;}
.allp:hover{color:var(--blue,#2f74de);border-color:var(--blue,#2f74de);}
.nav{display:flex;gap:6px;margin-left:6px;}
.nav a{padding:6px 12px;border-radius:8px;text-decoration:none;color:var(--ink-2);font-size:15px;}
.nav a:hover{background:var(--surface-2);}
.nav a.on{background:var(--blue-soft);color:var(--blue);font-weight:600;}
.who{margin-left:auto;display:flex;align-items:center;gap:9px;font-size:14px;color:var(--ink-3);}
.ava{width:28px;height:28px;border-radius:50%;background:var(--blue-soft);color:var(--blue);
  display:grid;place-items:center;font-weight:700;font-size:14px;}
.nm{color:var(--ink);font-weight:600;}
.lnk{background:none;border:0;color:var(--blue);font:inherit;font-size:14px;cursor:pointer;
  text-decoration:underline;text-underline-offset:3px;padding:0;}
.inline{display:inline;}

/* сообщения */
.flash{padding:11px 15px;border-radius:10px;margin-bottom:14px;font-size:15.5px;
  background:var(--ok-soft);color:var(--ok);border:1px solid transparent;}
.flash.err{background:var(--wait-soft);color:var(--wait);}

/* карточки и блоки */
.block{margin-top:34px;}
.block-h{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:14px;}
.block-h h2{margin:0;}
.cat::before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px;
  background:var(--ink-3);vertical-align:middle;}
.cat-important::before{background:var(--wait);}
.cat-current::before{background:var(--blue);}
.cat-reference::before{background:var(--ok);}
.cards{list-style:none;display:grid;gap:12px;}
.card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:14px;
  padding:16px 18px;box-shadow:var(--shadow);}
.card.narrow{max-width:440px;}
.card .row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px;}
.card .row h3{margin-right:auto;}
.card time{color:var(--ink-3);font-size:13.5px;}
.cover{position:absolute;inset:0;border-radius:14px;}
.task:hover{border-color:var(--blue);}
.chip{font-style:normal;font-size:12.5px;padding:3px 9px;border-radius:20px;background:var(--surface-2);color:var(--ink-2);white-space:nowrap;}
.chip.need{background:var(--wait-soft);color:var(--wait);}
.chip.work{background:var(--work-soft);color:var(--work);}
.chip.ready{background:var(--ok-soft);color:var(--ok);}
.meter{height:6px;border-radius:4px;background:var(--surface-2);overflow:hidden;margin-top:10px;}
.meter i{display:block;height:100%;background:var(--ok);}
.progress{margin:16px 0 22px;max-width:420px;}
.note{background:var(--blue-soft);border-radius:12px;padding:13px 16px;margin:14px 0;color:var(--ink-2);font-size:15.5px;}
.done-all{background:var(--ok-soft);color:var(--ok);border-radius:12px;padding:14px 16px;margin:16px 0;}

/* списки пунктов и отелей */
.items,.hotels{list-style:none;display:grid;gap:8px;margin-top:8px;}
.group{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);
  margin-top:16px;padding-left:2px;}
.item,.hotel{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:12px;
  padding:12px 15px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.hotel:hover{border-color:var(--blue);}
.item-main,.hotel-main{display:flex;flex-direction:column;margin-right:auto;min-width:0;}
.item-act{display:flex;gap:8px;align-items:center;flex-wrap:wrap;position:relative;z-index:1;}
.stars{color:var(--work);font-size:14px;}
.items.done .item{opacity:.72;}
.fold{margin-top:22px;}
.fold summary{cursor:pointer;color:var(--ink-2);font-size:15px;padding:6px 0;}

/* формы */
.form{display:grid;gap:14px;margin-top:18px;}
.fld{display:grid;gap:5px;}
.fld>span{font-weight:600;font-size:15px;}
.fld input,.fld textarea,.filters select,.filters input{width:100%;font:inherit;color:var(--ink);
  background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;}
.fld textarea{resize:vertical;}
.fld input:focus,.fld textarea:focus,.filters select:focus,.filters input:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:var(--blue);}
.hint{color:var(--ink-3);font-size:13.5px;font-style:normal;}
.chk{display:flex;gap:9px;align-items:flex-start;font-size:15px;color:var(--ink-2);}
.btn{display:inline-block;background:var(--surface-2);color:var(--ink);border:1px solid var(--line);
  border-radius:10px;padding:10px 16px;font:inherit;font-size:15px;cursor:pointer;text-decoration:none;}
.btn:hover{border-color:var(--blue);}
.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:600;}
.btn.primary:hover{filter:brightness(1.06);}
.btn.small{padding:6px 12px;font-size:14px;}
.btn.ghost{background:transparent;}
.drop{display:grid;place-items:center;gap:6px;border:1.5px dashed var(--line);border-radius:12px;
  padding:20px;text-align:center;color:var(--ink-2);cursor:pointer;background:var(--surface-2);}
.drop input{display:none;}
.drop.on{border-color:var(--blue);color:var(--blue);}
.preview{display:flex;gap:8px;flex-wrap:wrap;}
.preview img{width:96px;height:72px;object-fit:cover;border-radius:8px;border:1px solid var(--line);}
.shots{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0;}
.shots img{width:150px;height:110px;object-fit:cover;border-radius:10px;border:1px solid var(--line);}
.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:18px;}
.filters select,.filters input{width:auto;min-width:150px;flex:1 1 150px;}
.rowform{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.rowform input{flex:1 1 220px;font:inherit;background:var(--surface);color:var(--ink);
  border:1px solid var(--line);border-radius:10px;padding:8px 12px;}

/* вход */
.login{max-width:460px;margin:22px auto;}
.login .card{display:grid;gap:16px;margin-top:16px;}
.picks{display:flex;flex-wrap:wrap;gap:8px;}
.pick{position:relative;}
.pick input{position:absolute;opacity:0;inset:0;cursor:pointer;}
.pick span{display:block;padding:9px 15px;border:1px solid var(--line);border-radius:20px;
  background:var(--surface-2);font-size:15px;cursor:pointer;}
.pick input:checked+span{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:600;}
.pick input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px;}

/* сводка */
.stats{list-style:none;display:flex;gap:12px;flex-wrap:wrap;}
.stats li{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 18px;
  display:grid;gap:2px;min-width:150px;flex:1 1 150px;}
.stats b{font-size:26px;font-family:Rubik,Arial,sans-serif;line-height:1.1;}
.stats span{color:var(--ink-3);font-size:14px;}
.tbl{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;}
.tbl th,.tbl td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line-soft);font-size:15px;}
.tbl th{background:var(--surface-2);font-size:13.5px;color:var(--ink-2);font-weight:600;}
.tbl tr:last-child td{border-bottom:0;}
.log{list-style:none;display:grid;gap:6px;font-size:15px;color:var(--ink-2);}
.log time{color:var(--ink-3);font-size:13.5px;}

/* подвал */
.foot{max-width:920px;margin:0 auto;padding:0 20px 60px;color:var(--ink-3);font-size:14px;}
.bt-back{display:inline-flex;align-items:center;gap:7px;margin:0 0 14px;padding:7px 14px 7px 11px;
  border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--blue);
  text-decoration:none;font-size:14.5px;}
.bt-back:hover{border-color:var(--blue);}

@media (max-width:640px){
  .wrap{padding:20px 16px 60px;}
  .bar-in{padding:9px 16px;gap:10px;}
  .nav{order:3;width:100%;}
  .who{margin-left:auto;}
  .tbl,.tbl tbody,.tbl tr,.tbl td{display:block;width:100%;}
  .tbl thead{display:none;}
  .tbl tr{border-bottom:1px solid var(--line);padding:8px 0;}
  .tbl td{border:0;padding:4px 12px;display:flex;gap:10px;}
  .tbl td::before{content:attr(data-l);color:var(--ink-3);font-size:13.5px;min-width:88px;}
  .item,.hotel{align-items:flex-start;}
  .item-act{width:100%;}
}

/* ─────────── навигация: «где я», счётчики, поиск, нижняя панель ─────────── */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:12px;font-size:14.5px;color:var(--ink-3);}
.crumbs a{text-decoration:none;color:var(--ink-2);}
.crumbs a:hover{color:var(--blue);}
.crumbs i{font-style:normal;color:var(--line);}
.crumbs span{color:var(--ink);font-weight:600;}

.nav-i{display:inline-flex;align-items:center;gap:6px;}
.cnt{font-style:normal;font-size:12px;font-weight:700;line-height:1;padding:3px 6px;border-radius:20px;
  background:var(--wait-soft);color:var(--wait);}
.nav-i.on .cnt{background:var(--surface);}

.qs{display:flex;align-items:center;gap:0;margin-left:auto;}
.qs input{width:150px;padding:6px 10px;border:1px solid var(--line);border-right:0;border-radius:8px 0 0 8px;
  background:var(--surface);color:var(--ink);font:inherit;font-size:14px;}
.qs input:focus{outline:2px solid var(--blue-soft);outline-offset:-1px;}
.qs button{padding:6px 10px;border:1px solid var(--line);border-radius:0 8px 8px 0;background:var(--surface-2);
  color:var(--ink-2);cursor:pointer;display:grid;place-items:center;}
.qs button:hover{color:var(--blue);border-color:var(--blue);}
.qs + .who{margin-left:12px;}

.mob{display:none;}

/* ─────────── «продолжить с того места» ─────────── */
.cont{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:26px;}
.cont-i{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--line);
  border-radius:12px;background:var(--surface);text-decoration:none;color:var(--ink);box-shadow:var(--shadow);}
.cont-i:hover{border-color:var(--blue);}
.cont-i b{font-size:16px;}

/* ─────────── материалы ─────────── */
.mats .mat{position:relative;}
.mat-act{display:flex;align-items:center;gap:10px;margin-top:10px;position:relative;z-index:2;}

/* ─────────── кадры: удаление и убранные ─────────── */
.shot{position:relative;display:inline-block;line-height:0;}
.shot img{width:150px;height:110px;object-fit:cover;border-radius:10px;border:1px solid var(--line);}
.shot .x{position:absolute;top:5px;right:5px;width:24px;height:24px;border:0;border-radius:50%;
  background:rgba(20,28,40,.72);color:#fff;font-size:17px;line-height:1;cursor:pointer;
  display:grid;place-items:center;padding:0;}
.shot .x:hover{background:var(--wait);}
.shot.gone img{filter:grayscale(1);opacity:.4;}
.shot figcaption{position:absolute;left:6px;bottom:6px;background:rgba(20,28,40,.72);color:#fff;
  font-size:12px;line-height:1;padding:4px 7px;border-radius:6px;}
.shots.in-form{margin:2px 0 10px;}
.note.edit{border-left-color:var(--work);background:var(--work-soft);}

@media (max-width:640px){
  .nav{display:none;}
  .qs{order:3;width:100%;margin-left:0;}
  .qs input{width:100%;}
  body.has-mob{padding-bottom:62px;}
  .mob{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:10;background:var(--surface);
    border-top:1px solid var(--line);padding:6px 4px;padding-bottom:calc(6px + env(safe-area-inset-bottom));}
  /* Пять пунктов должны уместиться в одну строку и на узком телефоне:
     «Материалы» — самое длинное слово, с прежними отступами оно обрезалось. */
  .mob-i{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;
    padding:6px 1px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
    text-decoration:none;color:var(--ink-3);font-size:11.5px;border-radius:8px;}
  .mob-i.on{color:var(--blue);font-weight:600;background:var(--blue-soft);}
  .mob-i .cnt{font-size:11px;padding:2px 5px;}
  .shot img{width:130px;height:96px;}
}

/* 02.09.2026: кто занят отелем */
/* «кто занят отелем» — только внутри строк списков: без этого правило
   перебивало блок пользователя в шапке и имя слипалось со ссылками. */
.hotel-main .who,.item-main .who{display:block;font-size:12.5px;color:var(--work);margin-top:2px;}
.item.taken{border-left:3px solid var(--work);}
.who-note{border-left:3px solid var(--work);}
.take-form{margin:6px 0 10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}

/* ───────────── проверка новых отелей ─────────────
   Крупнее обычного: экран рассчитан на менеджеров, которым мелкие
   ссылки и выпадающие списки неудобны. Всё важное — кнопками. */
.rv-how{background:var(--surface);border:1px solid var(--line);border-radius:14px;
  padding:18px 20px;margin-bottom:20px;box-shadow:var(--shadow);}
.rv-how h2{margin-bottom:10px;}
.rv-how ol{margin:0 0 10px 20px;display:grid;gap:8px;}
.rv-how li{color:var(--ink-2);}
.rv-how li b{color:var(--ink);}

.rv-progress{margin:0 0 22px;}
.meter.big{height:12px;border-radius:7px;}
.rv-progress p{margin-top:8px;font-size:15px;}
.rv-progress b{color:var(--ink);}

.rv-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;}
.rv-tile{display:block;padding:14px 16px;border-radius:12px;text-decoration:none;
  background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);}
.rv-tile b{display:block;color:var(--ink);font-size:16.5px;}
.rv-tile span{display:block;color:var(--ink-3);font-size:14px;margin-top:2px;}
.rv-tile:hover{border-color:var(--blue);}
.rv-tile.on{background:var(--blue-soft);border-color:var(--blue);}
.rv-tile.done b{color:var(--ink-3);}
.rv-tile.done span{color:var(--ok);}

.rv-start{margin:22px 0;display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.btn.big{font-size:18px;padding:14px 22px;border-radius:12px;}

.rv-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;}

/* карточка отеля глазами туриста */
.rv-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;
  overflow:hidden;box-shadow:var(--shadow);margin-bottom:22px;}
.rv-photo img{display:block;width:100%;height:clamp(200px,34vw,340px);object-fit:cover;}
.rv-photo.none{height:150px;display:grid;place-items:center;background:var(--surface-2);
  color:var(--ink-3);text-align:center;padding:16px;font-size:15px;}
.rv-body{padding:18px 20px 20px;}
.rv-badge{display:inline-block;font-style:normal;font-size:13.5px;font-weight:600;
  background:var(--blue-soft);color:var(--blue);padding:4px 10px;border-radius:20px;margin-bottom:10px;}
.rv-body h2{font-size:23px;margin-bottom:2px;}
.rv-where{color:var(--ink-3);font-size:15px;margin-bottom:14px;}
.rv-facts{list-style:none;display:grid;gap:12px;margin-bottom:16px;}
.rv-facts li{display:flex;gap:12px;align-items:flex-start;}
.rv-facts b{display:block;font-size:14px;color:var(--ink-3);font-weight:600;}
.rv-facts span{display:block;color:var(--ink);}
.rv-facts .rv-empty{color:var(--wait);}
.rv-i{flex:0 0 34px;height:34px;border-radius:9px;background:var(--surface-2);color:var(--blue);
  display:grid;place-items:center;}
.rv-i svg{width:19px;height:19px;}
.rv-verdict{background:var(--surface-2);border-radius:12px;padding:14px 16px;}
.rv-verdict b{display:block;font-size:14px;color:var(--ink-3);margin-bottom:4px;}
.rv-verdict p{color:var(--ink);}

/* три кнопки решения */
.rv-ask{margin-bottom:20px;}
.rv-ask h2{font-size:21px;margin-bottom:14px;}
.rv-acts{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:12px;}
.rv-act-f{display:contents;}
.rv-act{width:100%;text-align:left;cursor:pointer;font:inherit;padding:16px 18px;border-radius:14px;
  border:2px solid var(--line);background:var(--surface);box-shadow:var(--shadow);}
.rv-act b{display:block;font-size:17px;color:var(--ink);margin-bottom:2px;}
.rv-act span{display:block;font-size:14px;color:var(--ink-3);}
.rv-act:hover{transform:translateY(-1px);}
.rv-act.yes{border-color:var(--ok);background:var(--ok-soft);}
.rv-act.yes b{color:var(--ok);}
.rv-act.fix{border-color:var(--work);background:var(--work-soft);}
.rv-act.fix b{color:var(--work);}
.rv-act.no{border-color:var(--line);}
.rv-act.no b{color:var(--ink-2);}

/* раскрывающиеся варианты «поправить» и «не берём» */
.rv-det{min-width:0;}
.rv-det[open]{grid-column:1/-1;}
.rv-det summary{display:block;list-style:none;}
.rv-det summary::-webkit-details-marker{display:none;}
.rv-det summary::marker{content:'';}
.rv-det[open] summary{margin-bottom:12px;}
.rv-form{margin-bottom:0;}
.rv-form .btn{margin-right:8px;}
.rv-radio{display:flex;gap:10px;align-items:center;padding:11px 14px;border:1px solid var(--line);
  border-radius:11px;margin-bottom:8px;cursor:pointer;background:var(--surface);}
.rv-radio:hover{border-color:var(--blue);}
.rv-radio input{width:19px;height:19px;accent-color:var(--blue);}
.rv-radio span{color:var(--ink);}

.rv-nav{display:flex;justify-content:space-between;gap:12px;margin-top:8px;}
.note.ok-note{background:var(--ok-soft);border-color:transparent;}

@media (max-width:560px){
  .rv-acts{grid-template-columns:1fr;}
  .rv-act{padding:15px 16px;}
  .rv-tiles{grid-template-columns:1fr 1fr;}
}
.rv-check{display:flex;gap:10px;align-items:flex-start;padding:11px 14px;border:1px solid var(--line);
  border-radius:11px;margin:0 0 14px;cursor:pointer;background:var(--surface);}
.rv-check:hover{border-color:var(--blue);}
.rv-check input{width:19px;height:19px;accent-color:var(--blue);flex:0 0 auto;margin-top:2px;}
.rv-check span{color:var(--ink);}

/* Выполненные задачи: свёрнуты внизу главной, карточки приглушены —
   они уже не требуют действий, но их видно, если понадобится вернуться. */
.done-tasks{margin-top:8px;}
.done-tasks .cards{margin-top:12px;}
.done-tasks .card h3{color:var(--ink-2);}

/* ───────────── 03.09.2026: «у вас в работе», свободные, у коллег ─────────────
   Заказчик взял отель в работу и не нашёл его. Теперь взятое — всегда
   первым блоком на главной и в задаче, с одной крупной кнопкой. */
.mine-block{margin:6px 0 30px;padding:16px 18px 18px;border-radius:16px;
  background:var(--work-soft);border:1px solid color-mix(in srgb,var(--work) 35%,transparent);}
.mine-block .block-h{margin-bottom:10px;}
.mine-block h2{color:var(--work);}
.mine-block .items{margin-top:0;}
.mine-cnt{color:var(--work);font-weight:600;}
.cnt.mine{background:var(--work-soft);color:var(--work);}
.item.mine{border-left:3px solid var(--work);}
.item.other{opacity:.8;}
.item.other:hover{opacity:1;}
.item .who{display:block;font-size:12.5px;color:var(--work);margin-top:2px;}
.item .who.mine{color:var(--work);font-weight:600;}
.item-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:2px 0;}
.q-chip{font-style:normal;font-size:12.5px;padding:2px 9px;border-radius:20px;
  background:var(--blue-soft);color:var(--blue);white-space:nowrap;font-weight:600;}
.answer{display:block;margin-top:3px;font-size:14px;color:var(--ok);font-weight:600;}
.items.done .answer{color:var(--ok);}
.free-block .block-h{margin-bottom:8px;}
.note.who-note.mine{background:var(--work-soft);border-left-color:var(--work);}
.fold.how summary{color:var(--blue);}
.fold.how .note{margin-top:8px;}

/* «С чего начать» — когда в работе пусто */
.start-block{margin:6px 0 30px;padding:18px 20px;border-radius:16px;background:var(--surface);
  border:1px solid var(--line);box-shadow:var(--shadow);}
.start-block h2{margin-bottom:4px;}
.start-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:14px 0 10px;}
.start-what{display:flex;flex-direction:column;margin-right:auto;min-width:0;}
.start-what b{font-size:18px;}

/* экран спорного вопроса */
.q-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px 20px;
  box-shadow:var(--shadow);margin-bottom:18px;}
.q-sides{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:stretch;margin:6px 0 12px;}
.q-side{padding:14px 16px;border-radius:12px;background:var(--surface-2);display:flex;flex-direction:column;gap:4px;}
.q-side b{font-size:17px;color:var(--ink);}
.q-vs{align-self:center;color:var(--ink-3);font-size:13px;text-transform:uppercase;letter-spacing:.06em;}
.q-links{list-style:none;display:grid;gap:6px;margin-top:8px;font-size:14.5px;}
.q-links a{margin-right:6px;}
.q-form h2{margin-bottom:2px;}
.q-opt{display:flex;gap:12px;align-items:center;padding:13px 16px;border:2px solid var(--line);
  border-radius:12px;cursor:pointer;background:var(--surface);font-size:16.5px;}
.q-opt:hover{border-color:var(--blue);}
.q-opt input{width:20px;height:20px;accent-color:var(--blue);flex:0 0 auto;}
.q-opt:has(input:checked){border-color:var(--blue);background:var(--blue-soft);}
.q-opt.other{border-style:dashed;}
.q-form .btn.big{justify-self:start;}
@media (max-width:560px){
  .q-sides{grid-template-columns:1fr;}
  .q-vs{justify-self:center;}
  .start-row .btn{width:100%;text-align:center;}
}

/* поиск отеля для правки — главная менеджера */
.fix-search{margin:4px 0 26px;padding:14px 18px;border-radius:14px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);}
.fix-search label{display:flex;flex-direction:column;gap:2px;margin-bottom:10px;}
.fix-row{display:flex;gap:8px;}
.fix-row input{flex:1;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;}
.fix-row input:focus{outline:2px solid var(--blue);border-color:var(--blue);}

/* ───────────── 03.09.2026: база отелей — галерея, теги, настройки ───────────── */
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:8px;}
.gshot{margin:0;background:var(--surface);border:2px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;}
.gshot.on{border-color:var(--ok);}
.gshot a{display:block;line-height:0;}
.gshot img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;}
.gshot figcaption{display:flex;flex-direction:column;gap:6px;padding:9px 10px 10px;line-height:1.3;}
.gshot.on figcaption b{color:var(--ok);font-size:14px;}
.gshot .btn{width:100%;}
.chip.hid{background:var(--wait-soft);color:var(--wait);}
.note.hid-note{background:var(--wait-soft);border-left:3px solid var(--wait);}
.tagform h2{margin-bottom:2px;}
.tg{display:grid;gap:8px;padding-top:4px;}
.tg>b{font-size:15px;}
.tg .picks{gap:7px;}
.tg .pick span{padding:7px 13px;font-size:14.5px;}
.setgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;margin-top:8px;}
.set{display:grid;gap:12px;align-content:start;}
.set h3{margin-bottom:-4px;}
.set select{width:100%;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:8px 10px;}
.set input[type=number]{width:100%;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:8px 10px;}
.set select:focus,.set input:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:var(--blue);}
.rowbtn{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.btn.danger{color:var(--wait);border-color:var(--wait);}
.btn.danger:hover{background:var(--wait-soft);}
@media (max-width:640px){
  .gal{grid-template-columns:repeat(2,1fr);gap:8px;}
  .setgrid{grid-template-columns:1fr;}
}

/* 03.09.2026: «Выбор Бизнес-Трэвел» — звёздочка в списке отелей */
.rec-form{position:relative;z-index:1;}
.rec{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:20px;border:1px solid var(--line);background:var(--surface);color:var(--ink-3);font:inherit;font-size:13.5px;cursor:pointer;}
.rec svg{fill:none;stroke:currentColor;stroke-width:1.8;}
.rec:hover{border-color:var(--work);color:var(--work);}
.rec.on{background:var(--work-soft);border-color:var(--work);color:var(--work);font-weight:600;}
.rec.on svg{fill:currentColor;}
.hotel.is-rec{border-left:3px solid var(--work);}
.tg-rec .pick span{padding:9px 16px;font-size:15.5px;}
.tg-rec .pick input:checked+span{background:var(--work);border-color:var(--work);}
@media (max-width:640px){.rec span{display:none;}.rec{padding:6px 8px;}}

/* Автосохранение тегов: кнопка не нужна, когда работают скрипты. */
.tagform.auto .tagsave{display:none}
.tagform .saving{color:var(--ok,#2F74DE)}


/* ── Статьи и новости (04.09.2026) ──────────────────────────────── */
.art-filters{margin:0 0 18px;padding:14px 16px;background:var(--surface-2);border-radius:12px}
.art-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 10px}
.art-row:last-child{margin-bottom:0}
.art-row b{font-size:13px;color:var(--ink-2);margin-right:4px}
.art-row input[type=search]{flex:1;min-width:200px;padding:8px 12px;border:1px solid var(--line);
  border-radius:8px;background:var(--surface);color:var(--ink)}
a.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:100px;
  background:var(--surface);border:1px solid var(--line);color:var(--ink-2);font-size:13px;text-decoration:none}
a.chip:hover{border-color:var(--blue)}
a.chip.on{background:var(--blue);border-color:var(--blue);color:#fff}
a.chip.on .cnt{background:rgba(255,255,255,.25);color:#fff}
.cards.arts{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;list-style:none;padding:0}
.card.art{padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);
  display:flex;flex-direction:column;gap:8px}
.card.art.st-ready{border-color:var(--ok);background:var(--ok-soft)}
.card.art.st-drop{opacity:.55}
.card.art.st-later{background:var(--work-soft)}
a.art-t{font-weight:600;font-size:16px;line-height:1.3;color:var(--ink);text-decoration:none}
a.art-t:hover{color:var(--blue)}
.art-s{margin:0;font-size:14px;line-height:1.5;color:var(--ink-2)}
.art-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12px}
.art-meta .muted{width:100%;margin-top:4px}
i.tag,a.tag{display:inline-block;padding:3px 9px;border-radius:100px;background:var(--blue-soft);
  color:var(--blue);font-size:12px;font-style:normal;text-decoration:none}
a.tag:hover{background:var(--blue-soft);filter:brightness(.96)}
.art-act{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0}
.art-note input[type=text]{flex:1;min-width:220px;max-width:520px;padding:8px 12px;
  border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}
.art-body{white-space:normal;line-height:1.6;font-size:15px;background:var(--surface);
  border:1px solid var(--line);border-radius:12px;padding:18px 20px;max-width:760px}
@media (max-width:600px){.cards.arts{grid-template-columns:1fr}}

/* ── Конвейер статей в разделе «Статьи» (06.09.2026) ─────────────────── */
.pipe{border:1px solid var(--line);border-radius:14px;background:var(--surface);
      padding:14px 16px;margin:14px 0 22px}
.pipe-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:10px}
.pipe-head b{font-size:16px}
.pipe-head .lnk{margin-left:auto}
.pipe-tiles{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
/* шкала «путь статьи»: ступени слева направо, каждая — своё слово (06.09.2026) */
.pipe-way{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;padding:0;counter-reset:step}
.pipe-way li{flex:1 1 150px;min-width:132px;background:var(--surface-2);border-radius:11px;
  padding:11px 13px;display:flex;flex-direction:column;gap:2px;position:relative}
.pipe-way li b{font-size:22px;font-family:Rubik,Arial,sans-serif;line-height:1.1}
.pipe-way li span{font-size:13px;color:var(--ink-3);line-height:1.35}
.pipe-way li .lnk{font-size:13px;margin-top:4px;align-self:flex-start}
.pipe-way li .step-note{font-size:12px;color:var(--ink-3);opacity:.85;margin-top:2px}
.pipe-way li.wait{background:var(--wait-soft)}
.pipe-way li.wait b{color:var(--wait)}
.pipe-way li.ok{background:var(--ok-soft)}
.pipe-way li.ok b{color:var(--ok)}
.pipe-tiles i{display:flex;flex-direction:column;gap:2px;font-style:normal;font-size:12.5px;
      color:var(--ink-2);border:1px solid var(--line);border-radius:10px;padding:6px 12px;min-width:104px}
.pipe-tiles i b{font-size:19px;color:var(--ink)}
.pipe-list{list-style:none;margin:0;padding:0}
.pipe-list li{display:flex;flex-wrap:wrap;align-items:center;gap:10px;
      padding:7px 0;border-top:1px solid var(--line)}
.pipe-d{font-weight:600;min-width:46px}
.pipe-t{flex:1 1 260px;min-width:0}
.pipe-list .chip.hold{background:var(--work-soft);color:var(--work)}
/* придержанные статьи: причина, черновик, решение с комментарием (23.09.2026) */
.hold-box{flex:1 1 100%;margin:6px 0 4px;padding:12px 14px;border-radius:10px;background:var(--work-soft)}
.hold-box > b{display:block;font-size:13.5px;margin-bottom:4px}
.hold-why{margin:0 0 10px 18px;padding:0;font-size:13.5px;line-height:1.5;color:var(--ink-2)}
.hold-why li{margin:2px 0}
.hold-dec{margin:0 0 10px;font-size:13.5px}
.hold-form textarea{width:100%;box-sizing:border-box;font:inherit;font-size:14px;padding:8px 10px;
      border:1px solid var(--line);border-radius:8px;background:#fff;resize:vertical}
.hold-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.art-h2{margin:26px 0 6px;font-size:18px}
@media (max-width:600px){.pipe-head .lnk{margin-left:0}.pipe-t{flex-basis:100%}}


/* ── Разбор тем, кнопки решения и страницы списков (06.09.2026) ───────
   Три вещи, из-за которых разбор не шёл: решение принималось только внутри
   карточки, после решения панель оставляла на той же теме, а списки грузились
   целиком (693 отеля — 640 КБ). */

/* кнопки решения — цветом, а не «все синие подряд» */
.btn.dec{border-radius:9px}
.btn.dec.ok{background:var(--ok-soft);color:var(--ok);border-color:transparent}
.btn.dec.ok:hover{filter:brightness(.96)}
.btn.dec.work{background:var(--work-soft);color:var(--work);border-color:transparent}
.btn.dec.work:hover{filter:brightness(.96)}
.btn.dec.no{background:var(--surface-2);color:var(--ink-2);border-color:transparent}
.btn.dec.no:hover{filter:brightness(.96)}
.chip.now{font-weight:600;padding:6px 12px}
.chip.no{background:var(--surface-2);color:var(--ink-2)}
.card.art .art-act{margin-top:auto;padding-top:10px;border-top:1px solid var(--line-soft)}

.art-dec{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:18px 0;
  padding:14px 16px;background:var(--surface-2);border-radius:12px}
.art-dec>b{font-size:14px;color:var(--ink-2)}
.art-note{display:flex;flex-wrap:wrap;gap:8px;align-items:center;width:100%}

/* приглашение начать разбор */
.note.start-note{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;
  background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}
.note.start-note .btn{white-space:nowrap}

/* метки под раскрытие: развёрнутыми они занимали пол-экрана до первой темы */
details.tags-row{display:block}
details.tags-row summary{cursor:pointer;font-size:13px;color:var(--ink-2);list-style:none;
  display:flex;gap:6px;align-items:baseline}
details.tags-row summary::-webkit-details-marker{display:none}
details.tags-row summary::before{content:'▸';color:var(--ink-3)}
details.tags-row[open] summary::before{content:'▾'}
.tags-in{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}

/* одна тема на экран */
.one-card{border:1px solid var(--line);border-radius:14px;background:var(--surface);
  box-shadow:var(--shadow);padding:22px 24px;margin:16px 0}
.one-t{font-size:22px;margin-bottom:6px}
.one-card .art-act.big{gap:10px;margin:18px 0 6px}
.one-card .art-act.big .btn{padding:11px 20px;font-size:16px;font-weight:600}
.one-card .skip{margin:6px 0 0;font-size:14px}
.one-card details.src{margin-top:16px}
.one-card details.src summary{cursor:pointer;color:var(--ink-2);font-size:14.5px}
.one-card details.src .art-body{margin-top:10px;max-height:460px;overflow:auto}

/* страницы длинных списков */
.pager{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:14px 0}
.pg-i{padding:6px 12px;border-radius:9px;border:1px solid var(--line);background:var(--surface);
  color:var(--ink-2);text-decoration:none;font-size:14px}
.pg-i:hover{border-color:var(--blue);color:var(--blue)}
.pg-i.on{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:600}
.pg-i.off{opacity:.4}
.pg-gap{color:var(--ink-3)}
.pg-n{margin-left:auto;color:var(--ink-3);font-size:13.5px}
@media (max-width:600px){.pg-n{margin-left:0;width:100%}}

/* материалы: группы и дата обновления */
.mat-grp{margin:0 0 28px}
.mat-grp h2{margin-bottom:2px}
.mat-grp>.muted{margin-bottom:12px}
.card.mat .row{display:flex;gap:10px;align-items:baseline;justify-content:space-between}
.card.mat .row .chip{flex:none}

/* ─── главная для владельца (06.09.2026) ───
   Заказчик заходит за состоянием дел: сверху то, что ждёт решения,
   ниже — что вышло за неделю и цифры по сайту. */
.invite{background:var(--surface);border:1px solid var(--blue);border-radius:16px;
  padding:20px 22px;margin:22px 0 6px;display:flex;gap:20px;align-items:center;flex-wrap:wrap;
  box-shadow:var(--shadow);}
.invite-t{flex:1 1 380px;min-width:0;}
.invite-t h2{margin-bottom:6px;}
.invite-t p{font-size:15.5px;}
.invite .meter{max-width:420px;}
.invite .btn{white-space:nowrap;}

.dec-list{list-style:none;display:grid;gap:10px;}
.dec-row{background:var(--surface);border:1px solid var(--line);border-radius:12px;
  padding:14px 16px;display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
.dec-what{display:flex;flex-direction:column;margin-right:auto;min-width:0;}
.dec-what b{font-size:16.5px;}
.dec-n{color:var(--wait);font-weight:600;font-size:14.5px;}
.dec-row .btn{white-space:nowrap;}

.week{list-style:none;display:grid;gap:2px;}
.week li{display:flex;gap:12px;align-items:baseline;padding:7px 2px;border-bottom:1px solid var(--line-soft);}
.week-d{color:var(--ink-3);font-size:13.5px;font-variant-numeric:tabular-nums;flex:0 0 42px;}
.week-t{color:var(--ink);flex:1 1 auto;min-width:0;}

.site-tiles{list-style:none;display:flex;gap:10px;flex-wrap:wrap;}
.site-tiles li{background:var(--surface);border:1px solid var(--line);border-radius:12px;
  padding:12px 16px;display:flex;flex-direction:column;min-width:104px;}
.site-tiles b{font-size:24px;font-family:Rubik,Arial,sans-serif;line-height:1.15;}
.site-tiles span{color:var(--ink-3);font-size:13.5px;}
.site-tiles .up,.site-tiles .down{font-style:normal;font-size:13px;font-weight:600;}
.site-tiles .up{color:var(--ok);}
.site-tiles .down{color:var(--wait);}
.seo-line{margin-top:14px;font-size:15px;color:var(--ink-2);background:var(--ok-soft);
  border-radius:10px;padding:11px 15px;}
.seo-line.bad{background:var(--wait-soft);}
.pulse{font-size:15.5px;color:var(--ink);}
.owner-links{margin-top:34px;display:flex;gap:8px;flex-wrap:wrap;}

/* превью отеля в списке: отель узнаётся по картинке быстрее, чем по названию */
.hotel-ph{flex:0 0 auto;width:64px;height:48px;border-radius:8px;overflow:hidden;
  background:var(--surface-2);display:block;}
.hotel-ph img{width:100%;height:100%;object-fit:cover;display:block;}
.hotel-ph.none{background:var(--surface-2) center/20px 20px no-repeat;
  border:1px dashed var(--line);}
@media (max-width:560px){
  .hotel-ph{width:52px;height:40px;}
  .invite{padding:16px;}
}

/* ответ на спорный вопрос прямо в списке — без «взять в работу» */
.q-quick{flex:1 0 100%;margin-top:6px;padding-top:8px;border-top:1px solid var(--line-soft);
  display:flex;gap:6px;flex-wrap:wrap;align-items:center;position:relative;z-index:1;}
.q-quick .btn{padding:7px 12px;font-size:14px;}
.q-quick .q-more{margin-left:4px;}
.item.free .q-quick{padding-top:2px;}
.q-inline{width:100%;}
.q-inline>summary{cursor:pointer;color:var(--blue);font-size:14.5px;padding:4px 0;
  list-style:none;text-decoration:underline;text-underline-offset:3px;}
.q-inline>summary::-webkit-details-marker{display:none;}

/* Кнопки, работающие без перезагрузки (07.09.2026) */
.quick-flash{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);z-index:60;max-width:min(520px,92vw);
  padding:12px 18px;border-radius:12px;background:var(--ok-bg,#e8f6ee);color:var(--ok-fg,#15603a);
  box-shadow:0 8px 30px rgba(20,40,70,.18);font-size:14px;line-height:1.35;opacity:0;pointer-events:none;transition:.2s}
.quick-flash.on{opacity:1;transform:translate(-50%,0)}
.quick-flash.err{background:#fdeceb;color:#94282a}
.rec.wait{opacity:.55}
.rec.dup.on{background:#fdeceb;border-color:#f0c2c0;color:#94282a}
li.hotel.is-dup{opacity:.72}
li.hotel.is-dup .hotel-main b{text-decoration:line-through}

/* Пожелания заказчика по теме статьи и просьба выпустить вне очереди (09.09.2026) */
.art-wish{margin:22px 0;padding:16px 18px;border:1px solid #DFE5EE;border-radius:12px;background:#F7F9FC}
.art-wish h2{margin:0 0 4px;font-size:17px}
.art-wish textarea{width:100%;margin:8px 0;padding:10px 12px;border:1px solid #DFE5EE;border-radius:9px;font:inherit;resize:vertical}
.art-rush{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:14px;color:#41506A}
.art-rush input{width:16px;height:16px}
.art-card.rush{border-color:#F2994A;box-shadow:0 0 0 1px #F2994A inset}
.chip.rush{background:#FFE9D6;color:#B45309}

/* ── Раздел «Экскурсии» (17.09.2026) ── */
.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 16px;}
.pill{display:inline-block;font-size:12.5px;padding:2px 9px;border-radius:999px;background:var(--surface-2);color:var(--ink-2);white-space:nowrap;}
.pill.ok{background:var(--ok-soft);color:var(--ok);} .pill.wait{background:var(--wait-soft);color:var(--wait);} .pill.work{background:var(--work-soft);color:var(--work);}
.exc-tbl td.act{white-space:nowrap;}
.exc-form{display:grid;gap:16px;}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;}
.fld select{width:100%;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:9px 12px;}
.fld.chk .chkrow{display:flex;align-items:center;gap:8px;padding:9px 0;}
.chkrow input{width:18px;height:18px;}
.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding-top:6px;border-top:1px solid var(--line-soft);}
.inline-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.inline-form input[type=text]{flex:1 1 200px;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:9px 12px;}
.pt-list{display:grid;gap:8px;}
.pt-row{display:grid;grid-template-columns:22px 1fr 76px minmax(200px,1.1fr);gap:10px 12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);cursor:pointer;}
.pt-row.on{border-color:var(--blue);background:var(--blue-soft);}
.pt-row input[type=checkbox]{width:18px;height:18px;}
.pt-name{display:grid;gap:2px;} .pt-name em{font-style:normal;font-size:13.5px;color:var(--ink-2);}
.pt-order input,.pt-times input{width:100%;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:6px 8px;font-size:14.5px;}
.pt-times{display:flex;gap:6px;align-items:center;} .pt-times input{flex:1;}
.op-card{margin-bottom:18px;} .op-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px;}
.pt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;}
.pt-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface);color:inherit;text-decoration:none;box-shadow:var(--shadow);transition:border-color .15s,transform .15s;}
.pt-card:hover{border-color:var(--blue);transform:translateY(-1px);} .pt-card.off{opacity:.55;}
.pt-img{position:relative;aspect-ratio:16/9;background:var(--surface-2);display:flex;align-items:center;justify-content:center;}
.pt-img img{width:100%;height:100%;object-fit:cover;display:block;}
.pt-img .nophoto{display:grid;justify-items:center;gap:4px;color:var(--ink-3);} .pt-img .nophoto i{font-style:normal;font-size:12.5px;}
.pt-num{position:absolute;left:10px;top:10px;min-width:26px;height:26px;padding:0 7px;border-radius:999px;background:var(--surface);color:var(--ink-2);font-size:12.5px;font-weight:600;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px rgba(0,0,0,.15);}
.pt-body{padding:12px 14px 14px;display:grid;gap:4px;font-size:15px;flex:1;}
.pt-body b{font-size:15.5px;line-height:1.3;} .pt-body em{font-style:normal;color:var(--ink-2);font-size:14px;line-height:1.4;}
.pt-addr{color:var(--ink-3);font-size:13.5px;}
.pt-pills{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;} .pt-edit{margin-left:auto;font-size:13.5px;color:var(--blue);}
.pt-map{height:380px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface-2);}
.pt-photo img{width:100%;max-width:520px;aspect-ratio:16/9;object-fit:cover;border-radius:12px;display:block;margin-bottom:6px;}
.pt-pin{width:30px;height:30px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--blue);border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.35);}
@media (max-width:700px){
  .grid2{grid-template-columns:1fr;}
  .pt-row{grid-template-columns:22px 1fr;} .pt-order,.pt-times{grid-column:2;}
  .pt-map{height:300px;}
}

.pt-pano{aspect-ratio:16/9;max-width:640px;border-radius:12px;overflow:hidden;border:1px solid var(--line);margin-bottom:6px;}
.pt-pano iframe{width:100%;height:100%;border:0;display:block;}
.fld textarea{width:100%;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:9px 12px;}
/* Карта посадки в списке экскурсий (21.09.2026) */
.exc-tbl td.mapcell{white-space:nowrap;}
.exc-tbl td.mapcell .pill{margin-right:.5rem;}
.exc-tbl td.mapcell form{display:inline-block;}

/* архив материалов — свёрнут внизу экрана «Материалы» (23.09.2026) */
.mat-archive{margin-top:28px;border-top:1px solid var(--line);padding-top:14px}
.mat-archive > summary{cursor:pointer;font-size:16px;padding:6px 0;list-style:none}
.mat-archive > summary::-webkit-details-marker{display:none}
.mat-archive > summary::before{content:"▸ ";color:var(--ink-3)}
.mat-archive[open] > summary::before{content:"▾ "}
.mat-archive .cards{margin-top:10px}

/* строка решения с двумя кнопками (план развития, 23.09.2026) */
.dec-btns{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.dec-btns form.inline{margin:0}

/* План работ (23.09.2026) */
.rm-goals{margin:10px 0 0;color:var(--ink-2);font-size:14px;line-height:1.5;}
.rm-group h2{margin:0 0 10px;font-size:18px;}
.rm-list{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.rm-step{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:12px;padding:12px 14px;}
.rm-step.rm-done{border-left-color:var(--ok);}
.rm-step.rm-work{border-left-color:var(--work);box-shadow:var(--shadow);}
.rm-step.rm-wait{border-left-color:var(--wait);}
.rm-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 8px;}
.rm-id{color:var(--ink-3);font-weight:600;}
.rm-t{font-weight:600;flex:1 1 220px;}
.rm-when{white-space:nowrap;}
.rm-st{display:inline-block;font-size:12px;font-weight:600;border-radius:999px;padding:2px 9px;white-space:nowrap;background:var(--surface-2);color:var(--ink-2);}
.rm-st.rm-done{background:var(--ok-soft);color:var(--ok);}
.rm-st.rm-work{background:var(--work-soft);color:var(--work);}
.rm-st.rm-wait{background:var(--wait-soft);color:var(--wait);}
.rm-why{margin:6px 0 0;color:var(--ink-2);font-size:14px;line-height:1.5;}
.rm-note{margin:8px 0 0;font-size:14px;line-height:1.5;background:var(--ok-soft);border-radius:8px;padding:8px 10px;}
.rm-c{margin:8px 0 0;background:var(--blue-soft);border-radius:8px;padding:8px 10px;}
.rm-c p{margin:2px 0 0;font-size:14px;line-height:1.5;}
.rm-form{margin-top:8px;}
.rm-form summary{cursor:pointer;color:var(--blue);font-size:14px;}
.rm-form form{display:grid;gap:8px;margin-top:8px;}
.rm-form textarea{width:100%;box-sizing:border-box;font:inherit;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:var(--surface);color:var(--ink);}
.rm-form .btn{justify-self:start;}
.rm-mini{list-style:none;margin:8px 0 12px;padding:0;display:grid;gap:6px;font-size:14px;}

/* «Выбор Бизнес-Трэвел» — утверждение кандидатов (23.09.2026) */
.rp-all{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:8px 0 18px;}
.rp-h{margin:4px 0 6px;font-weight:600;}
.rp-list{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:6px;}
.rp-list li{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 10px;line-height:1.45;}
.rp-list input{margin-right:6px;transform:scale(1.15);}
.rp-drop{margin:4px 0 12px;}
.rp-drop summary{cursor:pointer;color:var(--ink-2);}
.rp-done{opacity:.8;}
.rp-ok{background:var(--ok-soft);color:var(--ok);border-radius:10px;padding:10px 12px;margin:0;}
