:root{
  --paper:#EDEFEC; --surface:#F8F9F6; --surface-2:#E4E7E2;
  --ink:#141B21; --ink-2:#55616A; --ink-3:#808C94;
  --line:#CFD5CF; --line-soft:#DEE3DD;
  --accent:#22368F; --accent-ink:#1B2C77; --accent-bg:rgba(34,54,143,.07);
  --on-accent:#fff;
  --ok:#2E6B47; --ok-bg:rgba(46,107,71,.12);
  --warn:#B8782A; --warn-bg:rgba(184,120,42,.12);
  --bad:#B63B3B; --bad-bg:rgba(182,59,59,.12);
  --f-display:Georgia,"Times New Roman",serif;
  --f-body:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --edge:clamp(16px,4vw,40px);
  /* ── единый норматив органов управления (правило В8 портфеля) ──
     Размеры задаются ТОЛЬКО здесь. В разметке страниц высот, отступов
     и скруглений у полей и кнопок быть не должно. */
  --ctl-h:40px;       /* высота: поле, список, кнопка — одна на всё */
  --ctl-r:6px;        /* скругление органов управления */
  --ctl-fs:15px;      /* один шрифт и один размер во всех органах */
  --btn-w:170px;      /* ширина кнопки в шапке экрана */
  --btn-w-row:132px;  /* ширина кнопки внутри строки таблицы/документа */
  --btn-w-doc:146px;  /* кнопки в строке документа — одна ширина во всех строках (5V5-022) */
  --surf-r:10px;      /* скругление поверхностей: карточка, таблица, окно */
}
@media (max-width:640px){:root{--ctl-h:44px;--ctl-fs:16px;}}
@media (prefers-color-scheme:dark){:root{
  --paper:#0F1418; --surface:#161D23; --surface-2:#1D262D;
  --ink:#E9EDEA; --ink-2:#9AA6AE; --ink-3:#74818A;
  --line:#263039; --line-soft:#1D262E;
  --accent:#8FA3F7; --accent-ink:#B3C0FB; --accent-bg:rgba(143,163,247,.11); --on-accent:#0F1418;
  --ok:#6FBF8F; --ok-bg:rgba(111,191,143,.15);
  --warn:#E0A24E; --warn-bg:rgba(224,162,78,.15);
  --bad:#E08B8B; --bad-bg:rgba(224,139,139,.15);
}}
*{box-sizing:border-box;}
html,body{margin:0;height:100%;}
body{background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:15.5px;line-height:1.55;-webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:var(--f-display);font-weight:400;margin:0;}
a{color:var(--accent);}

/* ── органы управления: одна высота, одно скругление, один шрифт ── */
.btn,input,select,textarea{
  font-family:var(--f-body);font-size:var(--ctl-fs);
  height:var(--ctl-h);border-radius:var(--ctl-r);
}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 16px;border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;text-decoration:none;transition:opacity .12s;}
.btn:hover{opacity:.88;}
.btn:disabled{opacity:.5;cursor:default;}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line);}
.btn.ghost:hover{border-color:var(--accent);color:var(--accent);opacity:1;}
.btn.warn{background:var(--warn);border-color:var(--warn);color:#fff;}
.btn.act{min-width:var(--btn-w-row);}          /* кнопка внутри строки таблицы */
input,select,textarea{color:var(--ink);background:var(--paper);border:1px solid var(--line);padding:0 11px;width:100%;}
/* подсказка в пустом поле не должна выглядеть заполненным значением */
input::placeholder,textarea::placeholder{color:var(--ink-3);opacity:.55;font-style:italic;}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-3) 50%),linear-gradient(135deg,var(--ink-3) 50%,transparent 50%);background-position:calc(100% - 17px) 55%,calc(100% - 12px) 55%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:32px;}
textarea{height:auto;padding:9px 11px;min-height:calc(var(--ctl-h) * 2);resize:vertical;line-height:1.5;}
input[type=checkbox],input[type=radio]{width:18px;height:18px;flex:none;accent-color:var(--accent);padding:0;}
/* поле прижато к низу — если подпись слева заняла две строки, поля в ряду не «лесенкой» */
label.f{display:flex;flex-direction:column;justify-content:flex-end;gap:5px;font-size:13px;color:var(--ink-3);}
/* галочка с подписью — от левого края: правило label.f «поле к низу» в строке прижимало её вправо */
label.f.check{flex-direction:row;align-items:center;justify-content:flex-start;gap:9px;color:var(--ink);font-size:var(--ctl-fs);min-height:var(--ctl-h);}
/* подпись поля всегда в одну строку — иначе поля в ряду встают на разной высоте */
.lb{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.lb.solo{display:block;margin-bottom:7px;}
:where(a,button,input,select,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:2px;}

/* строка «подпись слева — поле справа» (номера договоров, оценки, бланки) */
.pair{display:flex;gap:10px;align-items:center;margin-bottom:8px;}
.pair .n{flex:1;font-size:14px;min-width:0;}
.pair input{max-width:180px;}
/* поле + кнопка в одну строку — обе одной высоты */
.inline{display:flex;gap:8px;align-items:flex-end;}
.inline .btn{flex:none;min-width:var(--btn-w-row);}

.chip{display:inline-flex;align-items:center;height:24px;white-space:nowrap;font-family:var(--f-mono);font-size:11px;letter-spacing:.03em;padding:0 9px;border-radius:var(--ctl-r);border:1px solid var(--line);color:var(--ink-2);background:var(--surface);}
.chip.ok{color:var(--ok);background:var(--ok-bg);border-color:transparent;}
.chip.warn{color:var(--warn);background:var(--warn-bg);border-color:transparent;}
.chip.accent{color:var(--accent-ink);background:var(--accent-bg);border-color:transparent;}

/* ── вход ── */
.login-wrap{min-height:100%;display:grid;place-items:center;padding:40px var(--edge);}
.login{width:100%;max-width:400px;}
.login .mark{display:block;height:44px;width:auto;margin:0 auto 18px;}
.login h1{text-align:center;font-size:26px;}
.login .sub{text-align:center;color:var(--ink-2);font-size:14px;margin:8px 0 22px;}
/* переключатель — снаружи ровно той же высоты, что поле ввода */
.seg{display:flex;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:var(--ctl-r);padding:4px;margin-bottom:16px;}
.seg button{flex:1;height:calc(var(--ctl-h) - 10px);border:none;border-radius:4px;background:transparent;color:var(--ink-2);font-family:var(--f-body);font-size:14px;cursor:pointer;white-space:nowrap;padding:0 10px;}
.seg button.on{background:var(--accent);color:var(--on-accent);}
.login form{display:flex;flex-direction:column;gap:12px;}
.login form .btn{width:100%;}
.login .hint{font-size:12px;color:var(--ink-3);text-align:center;margin-top:12px;line-height:1.5;}
/* панель управления платформой — отличается знаком, чтобы не путать с кабинетом */

/* ── каркас кабинета ── */
.top{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--paper) 90%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.top-in{max-width:1080px;margin:0 auto;padding:0 var(--edge);height:calc(var(--ctl-h) + 20px);display:flex;align-items:center;gap:14px;}
.top .brand{display:block;flex:none;height:28px;width:auto;}
.top .who{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--ink-2);}
.top .who .btn{min-width:var(--btn-w-row);}
/* владелец платформы в кабинете центра — видно всегда, пока он там */
.imp-bar{background:var(--warn-bg);color:var(--warn);border-bottom:1px solid var(--line);}
.imp-in{max-width:1080px;margin:0 auto;padding:10px var(--edge);font-size:13.5px;}
.wrap{max-width:1080px;margin:0 auto;padding:22px var(--edge) 60px;}

.tabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:22px;}
.tabs button{height:var(--ctl-h);background:none;border:none;border-bottom:2px solid transparent;padding:0 14px;font-family:var(--f-body);font-size:14.5px;color:var(--ink-2);cursor:pointer;margin-bottom:-1px;}
.tabs button.on{color:var(--ink);border-bottom-color:var(--accent);font-weight:500;}

.page-head{display:flex;align-items:center;gap:12px;min-height:var(--ctl-h);margin-bottom:16px;flex-wrap:wrap;}
.page-head h2{font-size:22px;}
.page-head .sp{margin-left:auto;}
.page-head .btn{min-width:var(--btn-w);}
/* группа кнопок: колонки одной ширины — кнопки равны по длине при любом тексте */
/* minmax(0,…) и снятая нижняя граница у кнопок: в узком месте (ячейка таблицы)
   колонки остаются равными, а не расходятся по длине текста */
.acts{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:10px;margin-left:auto;}
.acts .btn{width:100%;min-width:0;}
.acts.full{margin-left:0;}                     /* ряд кнопок во всю ширину карточки, кнопки делят её поровну */
/* в ячейке таблицы сетка сжимала колонки ниже ширины кнопки — текст упирался в рамку */
td .acts{grid-auto-columns:minmax(var(--btn-w-row),1fr);}
.crumb{background:none;border:none;color:var(--accent);cursor:pointer;font-family:var(--f-body);font-size:13.5px;padding:0;margin-bottom:12px;}

/* ── карточки и таблицы ── */
/* карточки в одном ряду — всегда одной высоты, кнопка прижата к низу,
   поэтому у соседних карточек кнопки стоят на одной линии */
.card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--surf-r);background:var(--surface);padding:18px;}
.card h3{font-size:16px;margin-bottom:14px;}
.card > .row{flex:1;}
.card > .row > .btn{width:100%;margin-top:auto;}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.grid2 > *,.grid3 > *{min-width:0;}            /* широкая таблица прокручивается внутри, а не распирает страницу */
.grid2.split{grid-template-columns:1.3fr 1fr;gap:20px;align-items:start;}
.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;}
.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--surf-r);background:var(--surface);}
table{width:100%;border-collapse:collapse;font-size:14px;min-width:520px;}
table.wide{min-width:820px;}       /* таблица с кнопками в строке */
td .sub{font-size:12.5px;margin-top:4px;}   /* вторая строка ячейки: адрес, ИНН, тариф */
a.tname{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);}   /* название центра → его кабинет */
a.tname:hover{color:var(--accent);border-bottom-color:var(--accent);}
/* новая редакция библиотеки: что меняется */
.upd-box{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid var(--line);border-radius:var(--surf-r);background:var(--warn-bg);}
.changes summary{cursor:pointer;color:var(--ink-2);font-size:13.5px;}
.changes .chg{margin-top:10px;font-size:13.5px;}
.changes ul{margin:6px 0 0 18px;padding:0;}
.changes li{margin:2px 0;}
th{text-align:left;font-family:var(--f-mono);font-weight:500;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding:11px 14px;border-bottom:1px solid var(--line);}
td{padding:8px 14px;border-bottom:1px solid var(--line-soft);vertical-align:middle;}
td .btn+.btn{margin-left:8px;}
tr:last-child td{border-bottom:none;}
tr.click{cursor:pointer;}
tr.click:hover td{background:var(--accent-bg);}
.muted{color:var(--ink-3);}
.empty{padding:34px;text-align:center;color:var(--ink-3);font-size:14px;}

/* ── конвейер стадий ── */
.stepper{display:flex;gap:0;margin:6px 0 20px;overflow-x:auto;}
.step{flex:1;min-width:110px;text-align:center;position:relative;padding:0 6px;}
.step::before{content:"";position:absolute;top:15px;left:-50%;width:100%;height:1.5px;background:var(--line);}
.step:first-child::before{display:none;}
.step .dot{position:relative;z-index:1;width:32px;height:32px;margin:0 auto;border-radius:50%;border:1.5px solid var(--line);background:var(--paper);display:grid;place-items:center;font-family:var(--f-mono);font-size:12px;color:var(--ink-3);}
.step.done .dot{border-color:var(--ok);color:var(--ok);background:var(--ok-bg);}
.step.cur .dot{border-color:var(--accent);color:var(--accent);background:var(--accent-bg);font-weight:600;}
.step .lb{font-family:var(--f-body);font-size:12px;letter-spacing:0;text-transform:none;margin-top:7px;color:var(--ink-2);}
.step.cur .lb{color:var(--ink);font-weight:600;}

/* ── документы по стадиям ── */
.docstage{margin-bottom:14px;}
.docstage h4{font-family:var(--f-body);font-weight:600;font-size:13.5px;color:var(--ink-2);margin:0 0 7px;}
/* minmax(0,…) — иначе длинное название в одну строку распирает колонку и всю страницу */
.docs{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;}
.docs > *{min-width:0;}
@media (min-width:900px){.docs{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;}}
/* строка документа: текст читается целиком, ничего не обрезается многоточием */
.docrow{display:flex;align-items:flex-start;gap:12px;padding:12px;border:1px solid var(--line-soft);border-radius:var(--ctl-r);background:var(--paper);font-size:13.5px;}
.docrow .t{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;line-height:1.35;}
.docrow .ttl{font-weight:600;overflow-wrap:anywhere;}
.docrow .who{color:var(--ink-2);font-size:12.5px;}
.docrow .what{color:var(--ink-3);font-size:12.5px;}
.acts.doc{grid-auto-flow:row;grid-template-columns:var(--btn-w-doc);gap:6px;margin-left:0;}

/* ── документы организации (пакет ЛНА) ── */
.lead{color:var(--ink-3);font-size:14.5px;max-width:70ch;margin:-6px 0 18px;}
.note{color:var(--ink-3);font-size:13px;margin-top:8px;}
.tier-count{font-family:var(--f-display);font-size:26px;}
.tier-count span{font-family:var(--f-body);font-size:14px;color:var(--ink-3);}
.seg.filter{max-width:520px;}
.seg.filter.wide{max-width:700px;}               /* пятый раздел «Обновлённые» (5V5-015) */
@media (max-width:640px){
  /* на телефоне разделы не сжимаются до переноса — лента прокручивается, как вкладки */
  .seg.filter{overflow-x:auto;scrollbar-width:none;}
  .seg.filter::-webkit-scrollbar{display:none;}
  .seg.filter button{flex:none;}
}
.card.upd{margin-bottom:18px;}

/* строка версии пакета — вместо таблицы в окне: на узком экране переносится,
   а не разъезжается кнопками поверх текста */
.vrow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--line-soft);border-radius:var(--ctl-r);background:var(--paper);}
.vrow .t{flex:1;min-width:200px;display:flex;flex-direction:column;gap:2px;line-height:1.35;}
.vrow .ttl{font-size:14px;}
.vrow .who{color:var(--ink-3);font-size:12.5px;}
.vrow .acts{flex:none;}

/* ── заполнение документа ── */
label.f.fill{gap:4px;}
label.f.fill .ctx{color:var(--ink-2);font-size:13px;line-height:1.4;}
.acts.undo{grid-auto-flow:column;margin:14px 0 0 auto;max-width:420px;}

/* ── сообщения центру ── */
.msgs{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;}
.msg{display:flex;align-items:center;gap:12px;padding:8px 10px 8px 12px;border:1px solid var(--line-soft);border-radius:var(--ctl-r);background:var(--surface);height:calc(var(--ctl-h) + 34px);}
.msg.new{border-color:var(--warn);background:var(--warn-bg);}
.msg .t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;line-height:1.3;}
.msg .ttl{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.msg .who{color:var(--ink-2);font-size:12.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.msg .side{display:flex;align-items:center;gap:10px;flex:none;font-size:12px;}

/* ── окно ── */
.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.4);display:grid;place-items:center;padding:20px;z-index:50;}
.modal{width:100%;max-width:560px;max-height:88vh;overflow:auto;background:var(--paper);border:1px solid var(--line);border-radius:var(--surf-r);padding:22px;}
/* окно просмотра документа — шире обычного */
.modal.wide{max-width:820px;}
.modal:has(.viewer){max-width:900px;}
.viewer{height:70vh;border:1px solid var(--line);border-radius:var(--ctl-r);overflow:hidden;background:var(--surface);}
.viewer iframe{width:100%;height:100%;border:none;display:block;}
.modal h3{font-size:20px;margin-bottom:16px;}
/* кнопки окна — всегда одной ширины, поровну на всю ширину окна */
.modal .actions{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:10px;margin-top:18px;}
.modal .actions .btn{width:100%;min-width:0;}     /* колонки поровну, а не по длине надписи */
.row{display:flex;flex-direction:column;gap:12px;}
/* пароль, придуманный системой: поле только для чтения — фон другой, чтобы не путать с полем ввода */
.pw-new{background:var(--surface);}

/* ── свой календарь (5V5-019): поле как поле, месяц как в ГОРОНО ── */
.dp{display:block;}
.dp-field{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:var(--ctl-h);padding:0 11px;border:1px solid var(--line);border-radius:var(--ctl-r);background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:var(--ctl-fs);text-align:left;cursor:pointer;}
.dp-field:hover{border-color:var(--accent);}
.dp-field:focus-visible{outline:2px solid var(--accent);outline-offset:1px;}
.dp-val{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dp-ph{color:var(--ink-3);opacity:.55;font-style:italic;}
.dp-ico{width:16px;height:16px;flex:none;color:var(--ink-3);}
.dp-pop{position:fixed;z-index:120;width:min(296px,calc(100vw - 16px));padding:10px;background:var(--paper);border:1px solid var(--line);border-radius:var(--surf-r);box-shadow:0 10px 30px rgba(0,0,0,.18);user-select:none;}
.dp-head{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:6px;margin-bottom:8px;}
.dp-nav,.dp-ttl,.dp-c{font-family:var(--f-body);color:var(--ink);background:none;border:1px solid transparent;border-radius:var(--ctl-r);cursor:pointer;}
.dp-nav{height:32px;font-size:20px;line-height:1;color:var(--accent);}
.dp-ttl{height:32px;font-size:14.5px;font-weight:600;text-align:center;}
span.dp-ttl{display:flex;align-items:center;justify-content:center;cursor:default;}
.dp-nav:hover,button.dp-ttl:hover,.dp-c:hover{background:var(--accent-bg);}
.dp-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;}
.dp-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;}
.dp-grid.four{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;}
.dp-dow{text-align:center;font-size:11.5px;color:var(--ink-3);padding:2px 0 4px;}
.dp-c{height:34px;font-size:14px;padding:0;}
.dp-grid.three .dp-c{height:40px;}
.dp-grid.four .dp-c{height:32px;}
.dp-c.now{border-color:var(--accent);}
.dp-c.sel{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600;}
.dp-foot{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;}
.dp-foot .btn{width:100%;}
@media (max-width:640px){ .dp-c{height:40px;} .dp-grid.three .dp-c{height:44px;} .dp-grid.four .dp-c{height:36px;} }

/* колокольчик сообщений: на компьютере — словом, на телефоне — значком (5V5-016) */
.ico-bell{display:none;width:17px;height:17px;flex:none;}
.bell-n:not(:empty)::before{content:'· ';}

/* факсимиле подписи и печати (5V5-023): две плитки, предпросмотр на «бумаге» */
.fax-host{margin-top:16px;}
.fax-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.fax-tile{display:grid;gap:8px;padding:12px;border:1px solid var(--line-soft);border-radius:var(--ctl-r);background:var(--surface);min-width:0;}
.fax-img{height:120px;border-radius:var(--ctl-r);display:grid;place-items:center;overflow:hidden;
  background-color:#FFFFFF;background-image:conic-gradient(#EEF0EC 25%,transparent 0 50%,#EEF0EC 0 75%,transparent 0);background-size:16px 16px;}
.fax-img img{max-height:104px;max-width:90%;object-fit:contain;}
.fax-empty{color:#808C94;font-size:13px;}
.acts.fax-acts{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row;margin-left:0;}
.fax-when{font-size:12px;color:var(--ink-3);min-height:1.2em;}

/* метка Телеграма сотрудника в пульте (5V5-016) — одной ширины в колонке */
.chip.tg{min-width:124px;justify-content:center;text-align:center;}

/* окно «Обновить изменившиеся» (5V5-015): список пересобираемых документов */
.u-list{max-height:34vh;overflow:auto;border:1px solid var(--line-soft);border-radius:var(--ctl-r);background:var(--surface);padding:8px 12px;margin-top:8px;font-size:14px;}
.u-list ul{margin:0;padding-left:18px;}
.u-list li{margin:2px 0;}
.u-list:empty{display:none;}

/* ── всплывающие сообщения ── */
#toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:100;display:flex;flex-direction:column;gap:8px;align-items:center;}
.toast{background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:var(--ctl-r);font-size:14px;box-shadow:0 6px 24px rgba(0,0,0,.25);max-width:90vw;}
.toast.bad{background:var(--bad);color:#fff;}
.toast.ok{background:var(--ok);color:#fff;}

.spin{display:inline-block;width:16px;height:16px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:sp .7s linear infinite;}
@keyframes sp{to{transform:rotate(360deg);}}
@media (prefers-reduced-motion:reduce){.spin{animation:none;}}

@media (max-width:860px){
  .grid2.split{grid-template-columns:1fr;}
}
@media (max-width:640px){
  .grid2,.grid3{grid-template-columns:1fr;}
  .fax-grid{grid-template-columns:minmax(0,1fr);}
  .page-head .btn{width:100%;min-width:0;}
  .page-head .sp{margin-left:0;width:100%;height:0;}
  .page-head .acts{width:100%;grid-auto-flow:row;}
  /* в шапке телефона — только знак площадки и кнопки: имени и пометки места нет */
  .top .who > span{display:none;}              /* только имя — не надписи внутри кнопок */
  .top .chip{display:none;}
  .top .who .btn{min-width:0;}
  /* три кнопки в шапке сотрудника: «Сообщения» — значком с числом */
  .bell-lbl{display:none;}
  .ico-bell{display:inline-block;}
  .bell-n:not(:empty)::before{content:'';}
  .tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;}
  .tabs::-webkit-scrollbar{display:none;}
  .tabs button{flex:none;}
  .modal{padding:18px;}
  .modal .actions{grid-auto-flow:row;}
  .pair{flex-wrap:wrap;}
  .pair input{max-width:none;}
}

/* изменения законодательства (5V5-008) */
.law-list{display:flex;flex-direction:column;gap:10px;margin:12px 0 26px;}
.law-row{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--surf-r);background:var(--surface);}
.law-name{color:var(--ink);font-weight:600;line-height:1.35;text-decoration:none;border-bottom:1px solid var(--line);align-self:flex-start;}
.law-name:hover{border-bottom-color:var(--accent);}
.law-why{font-size:13.5px;color:var(--ink-2);}
.law-why b{color:var(--ink);font-weight:600;}
/* «Сообщить клиентам» (5V5-021): метка «кому сообщено» и пара кнопок */
.law-tell{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:6px;}
.law-tell .acts{grid-auto-columns:minmax(0,190px);}
@media (max-width:640px){ .law-tell .acts{width:100%;margin-left:0;grid-auto-flow:row;grid-auto-columns:auto;} }
