/* Рабочий вид «Лапки»: линии вместо теней, плотные таблицы и поля, один акцент. Цвет акцента меняется в --brand.
   Левое меню и нижнее меню телефона перенесены без правок: блок «Каркас: меню» и начало телефонного раздела. */
:root{
  --bg:#f5f6f8;--panel:#fff;--ink:#14181f;--ink2:#3c4654;--muted:#5f6b7a;--line:#e7e9ee;--line2:#f0f1f4;
  --fill:#eef0f4;--fill2:#e4e7ec;--hover:#f7f8fa;
  --brand:#1464dc;--brand2:#0f52b8;--brand-soft:#e8f0fe;--ring:rgba(20,100,220,.16);
  --accent:#c2410c;--accent-soft:#fff3ea;
  --warn:#8a5a00;--warn-soft:#fdf3d7;--ok:#127a4a;--ok-soft:#e4f6ec;--bad:#c02b24;--bad-soft:#fdecea;
  --radius:6px;--shadow:none;--pop:0 4px 16px rgba(16,24,40,.12);
  --bd:#dde1e7;--bd-in:#c9ced6;--bd-hov:#aab1bc;--bd2:#eceef2;--th:#f7f8fa;--rowh:#f3f5f8;--sel:#eef4fe;
  --r:4px;--r2:6px;--r3:8px;--h:32px;--h-sm:28px;
  --d-ok:#22a06b;--d-warn:#e2a300;--d-bad:#e5484d;--d-info:#1464dc;--d-0:#a3abb7;
  --dlg:0 16px 48px rgba(16,24,40,.22);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI Variable Text","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.47;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
.main,dialog,.login{font-size:13px;line-height:20px}
h1{font-size:20px;line-height:28px;margin:0;font-weight:600;letter-spacing:-.01em}
h2{font-size:14px;line-height:20px;margin:0 0 8px;font-weight:600}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
button,input,select,textarea{font:inherit;color:inherit}
.muted{color:var(--muted)}
.small{font-size:12px;line-height:16px}
.neg{color:var(--accent);font-weight:500}

/* Каркас: меню слева (без правок) */
.shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}
.side{background:var(--panel);border-right:1px solid var(--line);color:var(--ink2);padding:18px 12px 12px;display:flex;flex-direction:column;gap:1px;position:sticky;top:0;height:100vh;overflow:auto}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px;letter-spacing:-.015em;color:var(--ink);padding:0 8px 16px}
.logo svg{width:28px;height:28px;flex:none}
.nav{display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:10px;color:inherit;font-weight:500;transition:background .12s}
.nav svg,.more-list svg{width:19px;height:19px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.nav:hover{background:var(--hover);text-decoration:none}
.nav.on{background:var(--brand-soft);color:var(--brand);font-weight:600}
.side .sp{flex:1;min-height:12px}
.who{display:flex;gap:10px;font-size:13px;line-height:1.35;padding:12px 8px 4px;border-top:1px solid var(--line2);margin-top:8px}
.ava{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand);font-weight:650;font-size:14px}
.who-t{min-width:0}
.who b{display:block;font-weight:600;color:var(--ink);overflow-wrap:anywhere}
.who-t>span{color:var(--muted)}
.who-l{display:flex;gap:10px;margin-top:4px;font-size:12.5px;white-space:nowrap}
.who-l a{color:var(--muted);cursor:pointer}
.who-l a:hover{color:var(--ink)}
.main{padding:20px 24px 48px;min-width:0;width:100%;max-width:1320px;margin-inline:auto}

/* Верхняя строка: поиск и метка демо */
.hdr{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.gs{position:relative;flex:0 1 360px;margin:0;max-width:none}
.gs input{padding-left:32px;border-color:var(--bd-in);border-radius:var(--r);background:var(--panel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%235f6b7a' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='8' cy='8' r='5.500'/%3E%3Cpath d='m12.500 12.500 4 4'/%3E%3C/svg%3E") no-repeat 9px center/16px 16px}
.gs ul{position:absolute;z-index:20;left:0;right:0;top:100%;margin:4px 0 0;padding:4px;list-style:none;background:var(--panel);border:1px solid var(--bd);border-radius:var(--r2);box-shadow:var(--pop);max-height:60vh;overflow:auto}
.gs li{display:flex;align-items:center;border-radius:var(--r)}
.gs li.on,.gs li:hover{background:var(--rowh)}
.gs li.muted{padding:8px}
.gs-main{flex:1;min-width:0;padding:6px 8px;color:inherit;display:block}
.gs-main:hover{text-decoration:none}
.gs-main span:not(.tag){display:block;font-size:12px;line-height:16px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gs-call{flex:none;width:36px;height:36px;display:grid;place-items:center;color:var(--brand)}
.gs-call svg,.tab svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.demo{display:flex;align-items:center;gap:6px;margin-left:auto;font-size:12px;line-height:16px;color:var(--warn)}
.demo::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--d-warn)}

/* Шапка страницы и путь */
.crumb{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 4px;font-size:12px;line-height:16px;color:var(--muted)}
.crumb a{color:var(--muted)}
.crumb a:hover{color:var(--ink)}
.crumb i{font-style:normal;color:var(--d-0)}
.top{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:32px;margin-bottom:16px}
.top .grow{flex:1}
.top>.muted{font-size:13px}

/* Кнопки: главная, обычная, тихая */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--h);padding:0 12px;background:var(--panel);border:1px solid var(--bd-in);border-radius:var(--r);color:var(--ink);font-size:13px;line-height:1;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .1s,border-color .1s}
.btn:hover{background:var(--rowh);border-color:var(--bd-hov);text-decoration:none}
.btn:active{background:#e9ecf1}
.btn.pri{background:var(--brand);border-color:var(--brand);color:#fff}
.btn.pri:hover{background:var(--brand2);border-color:var(--brand2)}
.btn.dng{color:var(--bad)}
.btn.dng:hover{background:var(--bad-soft);border-color:#f0b8b3}
.btn.flat{background:none;border-color:transparent;color:var(--brand);padding:0 8px}
.btn.flat:hover{background:var(--sel)}
.btn.on{background:var(--sel);border-color:var(--brand);color:var(--brand)}
.btn.sm{height:var(--h-sm);padding:0 10px;font-size:12px}
.btn.ico{width:var(--h);padding:0;font-size:16px}
.btn.sm.ico{width:var(--h-sm)}
.btn:disabled{opacity:.5;cursor:default}
.btn:focus-visible,a:focus-visible,summary:focus-visible,.slot:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.seg{display:inline-flex;align-items:center}
.seg>*{border-radius:0;margin-left:-1px}
.seg>:first-child{border-radius:var(--r) 0 0 var(--r);margin-left:0}
.seg>:last-child{border-radius:0 var(--r) var(--r) 0}
.seg>input{width:150px;position:relative}
.seg>input:focus,.seg>.btn:hover{position:relative;z-index:1}

/* Поля: подпись над полем */
input,select,textarea{width:100%;height:var(--h);min-height:0;padding:0 10px;background-color:var(--panel);border:1px solid var(--bd-in);border-radius:var(--r);font-size:13px;transition:border-color .1s,box-shadow .1s}
select{appearance:none;-webkit-appearance:none;padding-right:28px;background:var(--panel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%235f6b7a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m1 1.500 5 5 5-5'/%3E%3C/svg%3E") no-repeat right 10px center}
input[type=search]{appearance:none;-webkit-appearance:none}
textarea{height:auto;min-height:72px;padding:6px 10px;line-height:20px;resize:vertical}
input:hover,select:hover,textarea:hover{border-color:var(--bd-hov)}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 2px var(--ring)}
input[readonly],textarea[readonly],select:disabled{background-color:var(--th);border-color:var(--bd)}
input[type=checkbox]{width:16px;height:16px;min-height:0;margin:0;padding:0;accent-color:var(--brand);flex:none}
div.f.fx{margin-bottom:12px}
div.f.fx>textarea{margin-top:4px}
.f-top{display:flex;align-items:baseline;gap:8px;font-size:12px;line-height:16px;font-weight:500;color:var(--ink2)}
.f-top>label{flex:1}
.lnk{border:0;background:none;padding:4px 0;font:inherit;font-size:13px;color:var(--brand);cursor:pointer;min-height:32px}
.lnk:hover{text-decoration:underline}
.dose-out{grid-column:1/-1;margin:4px 0 12px;padding:10px 12px;border-radius:var(--r);background:var(--sel);font-size:14px;line-height:20px}
label.f[hidden]{display:none}
label.f{display:block;margin-bottom:12px;font-size:12px;line-height:16px;font-weight:500;color:var(--ink2)}
label.f>input,label.f>select,label.f>textarea,label.f>.pick{margin-top:4px;font-weight:400;color:var(--ink)}
label.chk{display:flex;align-items:center;gap:8px;min-height:24px;margin-bottom:8px;font-size:13px;color:var(--ink)}
.req{color:var(--bad)}
.fieldrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:0 12px}
.pick{position:relative}
.pick ul{position:absolute;z-index:5;left:0;right:0;top:100%;margin:4px 0 0;padding:4px;list-style:none;background:var(--panel);border:1px solid var(--bd);border-radius:var(--r2);box-shadow:var(--pop);max-height:240px;overflow:auto}
.pick li{padding:6px 8px;border-radius:var(--r);cursor:pointer;font-size:13px;color:var(--ink)}
.pick li:hover{background:var(--rowh)}
.tbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.tbar input{flex:0 1 320px;min-width:200px}
td input{height:var(--h-sm);padding:0 8px}
#cf{max-width:480px}

/* Таблицы: серая шапка, только горизонтальные линии, числа вправо */
.tw{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:13px}
th{height:32px;padding:6px 12px;background:var(--th);border-bottom:1px solid var(--bd);font-size:12px;line-height:16px;font-weight:600;color:var(--muted);text-align:left;white-space:nowrap;vertical-align:middle}
th a.sort{color:inherit;text-decoration:none}
th a.sort:hover,th a.sort.on{color:var(--ink)}
.sortsel{display:none}
td{padding:8px 12px;line-height:20px;border-bottom:1px solid var(--bd2);vertical-align:middle}
th:first-child,td:first-child{padding-left:16px}
th:last-child,td:last-child{padding-right:16px}
tr:last-child td{border-bottom:0}
tr.link{cursor:pointer}
tr.link:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}
tr.link:hover td{background:var(--rowh)}
td.ttl{font-weight:600;color:var(--ink)}
tr.link:hover td.ttl{color:var(--brand)}
td .small,td.small{font-size:12px;line-height:16px}
tr.tot td{background:var(--th);border-top:1px solid var(--bd);font-weight:600}
tr.sub td{background:var(--th);color:var(--ink2)}
.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
table.small td{font-size:12px}
.pager{display:flex;align-items:center;justify-content:flex-end;gap:8px;font-size:12px;color:var(--muted)}
.empty{padding:16px 0;color:var(--muted);text-align:center;font-size:13px}

/* Панель: рамка 1px, заголовок с линией, таблица до краёв */
.card{background:var(--panel);border:1px solid var(--bd);border-radius:var(--r2);padding:12px 16px;box-shadow:none;margin-bottom:16px;min-width:0}
.card>h2{display:flex;align-items:center;gap:8px;margin:-12px -16px 12px;padding:10px 16px;border-bottom:1px solid var(--bd2);font-size:14px;line-height:20px}
.card>h2 .cnt,.card>h2 .muted{font-size:13px;font-weight:400;color:var(--muted)}
.card>h2 a{margin-left:auto;font-size:13px;font-weight:500}
.card>.tw{margin:0 -16px}
.card>h2+.tw,.card>.tbar+.tw,.card>.tw:first-child{margin-top:-12px}
.card>.tw:last-child{margin-bottom:-12px;border-radius:0 0 5px 5px}
.card>.tw:first-child{border-radius:5px 5px 0 0}
.card>.tw:only-child{border-radius:5px}
.card>.tbar{margin:-12px -16px 12px;padding:8px 16px;border-bottom:1px solid var(--bd2)}
.card>.pager{margin:0 -16px -12px;padding:8px 16px;border-top:1px solid var(--bd2)}
.card>p:last-child{margin-bottom:0}
.card.empty{padding:24px 16px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.grid3{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}
.alert{background:var(--bad-soft);color:#8f1f1a;border:1px solid #f3c4bf;border-left:3px solid var(--bad);border-radius:var(--r);padding:8px 12px;margin-bottom:16px;font-size:13px}
.shots{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;margin-bottom:8px}
.shots a{display:block;aspect-ratio:1;border-radius:var(--r);overflow:hidden;background:var(--th);border:1px solid var(--bd)}
.shots img{width:100%;height:100%;object-fit:cover;display:block}
.shot{position:relative}
.shot>a{display:block;aspect-ratio:1;border-radius:var(--r);overflow:hidden;background:var(--th);border:1px solid var(--bd)}
.shot-x{position:absolute;top:4px;right:4px;width:28px;height:28px;border-radius:50%;border:0;background:rgba(0,0,0,.55);color:#fff;font-size:18px;line-height:1;cursor:pointer}
.upl{cursor:pointer}
.shots .shot-file{display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px;font-weight:600;color:var(--ink2)}
/* Список свойств: подпись слева, значение справа, линия между строками */
.kv{display:grid;grid-template-columns:120px minmax(0,1fr);gap:0 12px;margin:0}
.kv dt,.kv dd{padding:6px 0;border-bottom:1px solid var(--bd2);line-height:20px}
.kv dt{font-size:12px;color:var(--muted)}
.kv dd{margin:0;font-size:13px;overflow-wrap:anywhere}
.kv dt:last-of-type,.kv dd:last-of-type{border-bottom:0}
.card>h2+.kv{margin-top:-6px}
.card>.kv:last-child{margin-bottom:-6px}

/* Статус: точка и текст. Флаг: плоская плашка для предупреждений */
.tag{display:inline-flex;align-items:center;gap:6px;padding:0;background:none;border-radius:0;font-size:12px;line-height:16px;font-weight:500;color:var(--ink2);white-space:nowrap;vertical-align:1px}
.tag::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--d-0);flex:none}
.tag.ok::before{background:var(--d-ok)}
.tag.info::before{background:var(--d-info)}
.tag.warn{color:var(--warn)}
.tag.warn::before{background:var(--d-warn)}
.tag.bad{color:var(--bad)}
.tag.bad::before{background:var(--d-bad)}
.flag{display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:var(--r);font-size:12px;font-weight:600;white-space:nowrap;background:var(--fill);color:var(--ink2)}
.flag.bad{background:var(--bad-soft);color:var(--bad);box-shadow:inset 0 0 0 1px #f3c4bf}
.flag.warn{background:var(--warn-soft);color:var(--warn);box-shadow:inset 0 0 0 1px #efd99a}

/* Вкладки: подчёркивание */
.tabs{display:flex;gap:0;margin:0 0 16px;padding:0;background:none;border-radius:0;box-shadow:inset 0 -1px 0 var(--bd);overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs a{flex:none;display:inline-flex;align-items:center;height:40px;padding:0 12px;border-bottom:2px solid transparent;color:var(--muted);font-size:13px;font-weight:500;white-space:nowrap}
.tabs a:hover{color:var(--ink);border-bottom-color:var(--bd-hov);text-decoration:none}
.tabs a.on{color:var(--ink);font-weight:600;border-bottom-color:var(--brand)}

/* Полоса показателей: одна панель, ячейки через линию */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0;margin-bottom:16px;background:var(--panel);border:1px solid var(--bd);border-radius:var(--r2);overflow:hidden}
.stat{display:block;padding:10px 16px 12px;margin:-1px 0 0 -1px;border-left:1px solid var(--bd2);border-top:1px solid var(--bd2);background:none;border-radius:0;box-shadow:none;color:inherit}
a.stat:hover{background:var(--rowh);text-decoration:none}
.stat small{display:block;font-size:12px;line-height:16px;color:var(--muted)}
.stat b{display:block;margin-top:4px;font-size:20px;line-height:24px;font-weight:600;letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--ink)}
.stat.warn b{color:var(--accent)}
.stat .small{margin-top:2px}
.bars{display:grid;gap:8px}
.bar{display:grid;grid-template-columns:minmax(90px,170px) minmax(0,1fr) 92px;gap:10px;align-items:center;font-size:13px}
.bar i{display:block;height:8px;background:var(--brand);border-radius:2px;min-width:3px}
.spark{display:flex;align-items:flex-end;gap:2px;height:96px}
.spark i{flex:1;background:var(--brand);border-radius:2px 2px 0 0;min-height:2px}

/* Приём: строка в панели, блок в колонке врача */
.card>.slots{margin:0 -16px}
.card>h2+.slots,.card>.slots:first-child{margin-top:-12px}
.card>.slots:last-child{margin-bottom:-12px}
.slot{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;align-items:center;gap:0 12px;padding:8px 16px;border-bottom:1px solid var(--bd2);background:var(--panel);cursor:pointer;transition:background .1s}
.slot:last-child{border-bottom:0}
.slot:hover{background:var(--rowh)}
.slot-t{align-self:start;font-weight:600;font-variant-numeric:tabular-nums}
.slot-m{min-width:0}
.slot-c,.slot-x{display:block;font-size:12px;line-height:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.slot-c{color:var(--ink2)}
.slot-x{color:var(--muted)}
.slot.waiting{box-shadow:inset 3px 0 0 var(--d-warn)}
.slot.in_progress{box-shadow:inset 3px 0 0 var(--d-info);background:var(--sel)}
.slot.done .slot-t,.slot.done b{color:var(--muted);font-weight:500}
.slot.no_show,.slot.cancelled{opacity:.55}
.day{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(200px,1fr);gap:0;overflow-x:auto;margin-bottom:16px;background:var(--panel);border:1px solid var(--bd);border-radius:var(--r2)}
.day>.card{margin:0;border:0;border-left:1px solid var(--bd2);border-radius:0;min-height:240px}
.day>.card:first-child{border-left:0}
.day>.card>h2{background:var(--th)}
.day .slots{display:grid;gap:6px;padding:8px}
.day .slot{grid-template-columns:40px minmax(0,1fr);gap:2px 8px;padding:6px 8px 6px 11px;border:0;border-radius:var(--r);background:#f4f5f7;box-shadow:inset 3px 0 0 var(--d-0)}
.day .slot:hover{background:#eceef2}
.day .slot .slot-s,.day .slot>.btn{grid-column:2;justify-self:start}
.day .slot>.btn{margin-top:4px}
.day .slot.waiting{background:#fff8e6;box-shadow:inset 3px 0 0 var(--d-warn)}
.day .slot.in_progress{background:var(--sel);box-shadow:inset 3px 0 0 var(--d-info)}
.day .slot.done{background:#f0f8f3;box-shadow:inset 3px 0 0 var(--d-ok)}

/* Сетка дня по часам: колонки кабинетов и врачей, записи блоками по времени */
.vseg{display:inline-flex;border:1px solid var(--bd);border-radius:var(--r);overflow:hidden;background:var(--panel)}
.vseg a{padding:0 12px;min-height:32px;display:flex;align-items:center;font-size:13px;color:var(--ink2);text-decoration:none}
.vseg a+a{border-left:1px solid var(--bd)}
.vseg a.on{background:var(--sel);color:var(--brand2);font-weight:600}
.tg-bar{display:flex;align-items:center;gap:12px;margin:-4px 0 8px}
.tg-bar .grow{flex:1}
.tg-ch.off{color:var(--muted);font-style:italic}
.tg-a.mid .tg-l3{display:none}
.tgrid.ed .tg-a.fixed{cursor:pointer}
.tg-a.flash{animation:tgflash 1.6s ease-out 2}
@keyframes tgflash{0%{outline:3px solid var(--brand);outline-offset:1px}100%{outline:3px solid transparent;outline-offset:6px}}
.tgrid{--ax:52px;overflow:auto;max-height:calc(100vh - 210px);background:var(--panel);border:1px solid var(--bd);border-radius:var(--r2);margin-bottom:12px;position:relative}
.tg-head,.tg-body{display:grid;grid-template-columns:var(--tpl);min-width:var(--minw)}
.tg-head{position:sticky;top:0;z-index:4;background:var(--th);border-bottom:1px solid var(--bd)}
.tg-corner{position:sticky;left:0;background:var(--th);z-index:5}
.tg-ch{padding:8px 10px;font-weight:600;font-size:13px;border-left:1px solid var(--bd2);display:flex;gap:6px;align-items:center;min-width:0}
.tg-ch span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tg-body{position:relative}
.tg-axis{position:sticky;left:0;z-index:3;background:var(--panel);border-right:1px solid var(--bd2)}
.tg-axis span{position:absolute;right:8px;transform:translateY(-50%);font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.tg-axis span:first-child{transform:none}
.tg-col{position:relative;border-left:1px solid var(--bd2)}
.tg-col>i{position:absolute;left:0;right:0;border-top:1px solid var(--bd2)}
.tg-col>i.half{border-top-style:dashed;border-top-color:#f1f2f5}
.tgrid.ed .tg-col{cursor:copy}
.tg-hover{position:absolute;left:3px;right:3px;height:24px;border-radius:6px;background:var(--sel);border:1px dashed var(--brand);color:var(--brand2);font-size:12px;font-weight:600;padding:3px 6px;pointer-events:none}
.tg-a{position:absolute;box-sizing:border-box;padding:3px 6px 3px 8px;border-radius:6px;background:#eef1f5;box-shadow:inset 3px 0 0 var(--d-0);font-size:12px;line-height:15px;overflow:hidden;cursor:pointer;z-index:1}
.tgrid.ed .tg-a{cursor:grab}
.tg-a:hover{z-index:2;box-shadow:inset 3px 0 0 var(--d-0),0 2px 8px rgba(20,24,31,.16)}
.tg-a:focus-visible{outline:2px solid var(--brand);outline-offset:1px}
.tg-a b{font-variant-numeric:tabular-nums}
.tg-l1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tg-l1 span,.tg-l3{color:var(--muted)}
.tg-l2,.tg-l3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tg-a.short{padding-top:2px}
.tg-a.short .tg-l2,.tg-a.short .tg-l3{display:none}
.tg-a.planned{background:#eaf1fd;box-shadow:inset 3px 0 0 var(--d-info)}
.tg-a.waiting{background:#fff4d6;box-shadow:inset 3px 0 0 var(--d-warn)}
.tg-a.in_progress{background:#dcebff;box-shadow:inset 3px 0 0 var(--brand2)}
.tg-a.done{background:#e6f5ec;box-shadow:inset 3px 0 0 var(--d-ok)}
.tg-a.done .tg-l1{color:var(--ink2)}
.tg-now{position:absolute;left:var(--ax);right:0;border-top:2px solid var(--d-bad);z-index:2;pointer-events:none}
.tg-now::before{content:"";position:absolute;left:-5px;top:-6px;width:10px;height:10px;border-radius:50%;background:var(--d-bad)}
.tg-src{opacity:.35}
.tg-ghost{position:fixed;z-index:1000;pointer-events:none;opacity:.95;box-shadow:inset 3px 0 0 var(--d-info),0 8px 24px rgba(20,24,31,.28)!important;transform:rotate(-1deg)}
.tg-ghost.copy{outline:2px dashed var(--d-ok)}
.tg-to{background:var(--ink);color:#fff;border-radius:4px;padding:1px 6px;margin:-1px 0 3px -2px;font-weight:600;display:inline-block}
body.dragging,body.dragging *{cursor:grabbing!important;user-select:none}
/* Неделя и месяц */
.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:16px}
.week .card{margin:0;min-height:200px}
.week .card.today h2{background:var(--sel)}
.wk-list{display:grid;gap:4px;padding:6px}
.wk-a{display:grid;grid-template-columns:auto 1fr;gap:0 6px;padding:4px 6px;border-radius:6px;background:#eaf1fd;font-size:12px;line-height:15px;cursor:pointer;box-shadow:inset 3px 0 0 var(--d-info)}
.wk-a span{grid-column:2;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wk-a.waiting{background:#fff4d6;box-shadow:inset 3px 0 0 var(--d-warn)}
.wk-a.in_progress{background:#dcebff}
.wk-a.done{background:#e6f5ec;box-shadow:inset 3px 0 0 var(--d-ok)}
.mgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--bd2);border-top:1px solid var(--bd2)}
.mh{background:var(--th);padding:6px 8px;font-size:12px;color:var(--muted);text-align:center}
.md{background:var(--panel);min-height:84px;padding:6px 8px;display:flex;flex-direction:column;gap:4px;text-decoration:none;color:var(--ink);position:relative}
.md:hover{background:var(--rowh)}
.md.out{color:var(--muted);background:#fafbfc}
.md.today .mdn{background:var(--brand);color:#fff;border-radius:50%;width:24px;height:24px;display:grid;place-items:center}
.mdn{font-weight:600;font-size:13px}
.mdc{font-size:12px;color:var(--ink2)}
.md i{position:absolute;left:8px;bottom:8px;height:4px;border-radius:2px;background:var(--brand);opacity:.6;max-width:calc(100% - 16px)}
@media (max-width:860px){
  .vseg{order:5;width:100%}.vseg a{flex:1;justify-content:center;min-height:40px}
  .week{grid-template-columns:1fr}.week .card{min-height:0}
  .md{min-height:58px;padding:4px}.mdc{font-size:12px;font-weight:600}.mdw{display:none}
}

/* Шапка записи (клиент, питомец, счёт) и раскладка «свойства | история» */
.rec{background:var(--panel);border:1px solid var(--bd);border-radius:var(--r2);padding:12px 16px 14px;margin-bottom:16px}
.rec-top{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:32px}
.rec-top .grow{flex:1}
.rec-acts{display:flex;flex-wrap:wrap;gap:8px}
.rec-sub{margin-top:2px;font-size:13px;color:var(--muted)}
.hl{display:flex;flex-wrap:wrap;gap:8px 32px;margin:12px 0 0;padding-top:12px;border-top:1px solid var(--bd2)}
.hl dt{font-size:12px;line-height:16px;color:var(--muted)}
.hl dd{margin:2px 0 0;font-size:13px;line-height:20px;font-weight:500;color:var(--ink);white-space:nowrap}
.hl dd.neg{color:var(--accent)}
.rec .alert{margin:12px 0 0}
.rec-grid{display:grid;grid-template-columns:340px minmax(0,1fr);gap:16px;align-items:start}

/* Карта приёма */
.pat{position:sticky;top:0;z-index:6;background:var(--panel);border:1px solid var(--bd);border-radius:var(--r2);padding:10px 16px;margin-bottom:12px;box-shadow:none}
.pat-name{font-size:16px;line-height:24px;font-weight:600;color:var(--ink)}
.pat-sub{font-size:13px;color:var(--muted)}
.pat>.small{margin-top:2px;color:var(--ink2)}
.pat-al{margin:10px -16px -10px;padding:6px 16px;background:var(--bad-soft);color:#8f1f1a;border-top:1px solid #f3c4bf;border-radius:0 0 5px 5px;font-size:13px}
.pat-warn{color:var(--accent);font-weight:600}
.pat-prev{background:var(--panel);border:1px solid var(--bd);border-radius:var(--r2);padding:0 16px;margin-bottom:12px;font-size:13px}
.pat-prev summary{padding:8px 0;line-height:20px;cursor:pointer}
.pat-prev[open] summary{border-bottom:1px solid var(--bd2)}
.pat-prev p{margin:8px 0}
#cardForm label.f{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:16px}
#cardForm .fieldrow label.f{font-size:12px;font-weight:500;color:var(--ink2);margin-bottom:12px}
#cardForm textarea{font-size:14px;line-height:21px;min-height:64px;padding:8px 10px}
.actbar{position:sticky;bottom:0;z-index:6;display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:var(--panel);padding:8px 16px;margin-top:4px;border:1px solid var(--bd);border-bottom:0;border-radius:var(--r2) var(--r2) 0 0;box-shadow:0 -4px 12px rgba(16,24,40,.06)}
.actbar .grow{flex:1}
.ss{font-size:12px;color:var(--muted)}
.ss[data-s=saved]{color:var(--ok)}
.ss[data-s=offline],.ss[data-s=error]{color:var(--bad);font-weight:600}

/* Окна: шапка, тело, серый подвал; больше 6 полей — две колонки */
dialog{border:1px solid var(--bd);border-radius:var(--r3);padding:0;width:min(480px,calc(100vw - 24px));box-shadow:var(--dlg);color:var(--ink)}
dialog.wide{width:min(640px,calc(100vw - 24px))}
dialog::backdrop{background:rgba(16,24,40,.32)}
.dlg{padding:16px 20px 0}
.dlg>h2{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:-16px -20px 16px;padding:14px 20px;border-bottom:1px solid var(--bd2);font-size:16px;line-height:24px;font-weight:600}
.dlg .acts{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin:16px -20px 0;padding:12px 20px;background:var(--th);border-top:1px solid var(--bd2);border-radius:0 0 7px 7px}
.dlg .err{margin:0 0 12px;padding:8px 12px;background:var(--bad-soft);border-radius:var(--r);color:var(--bad);font-size:13px}
.dlg.cols{display:grid;grid-template-columns:1fr 1fr;column-gap:12px}
.dlg.cols>*{grid-column:1/-1}
.dlg.cols>label.f:has(>input),.dlg.cols>label.f:has(>select){grid-column:auto}
.dlg.cols>label.f.span2{grid-column:1/-1}
fieldset.f.days{border:0;padding:0;margin:0 0 12px;display:flex;flex-wrap:wrap;gap:4px 14px}
fieldset.f.days legend{padding:0;margin-bottom:6px;font-size:13px;color:var(--ink2)}
fieldset.f.days .chk{margin:0;min-height:32px}
.csum{grid-column:1/-1;margin:-4px 0 12px;padding:8px 12px;border:1px solid var(--bd2);border-radius:var(--r);background:var(--th);font-size:13px;line-height:18px}
.csum div+div{margin-top:2px}
.csum b{font-weight:600}
.queue .slot-t{font-size:12px;color:var(--warn);font-weight:600;white-space:nowrap}
.colhide{display:block;margin:-8px 0 16px;font-size:13px}
/* Лист «Ещё» (без правок; размер текста прежний) */
.more-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-bottom:10px}
.more-list a{display:flex;align-items:center;gap:11px;min-height:48px;padding:6px 12px;border-radius:12px;color:var(--ink);font-weight:500}
.more-list a:hover{background:var(--hover);text-decoration:none}
.more-list a.on{background:var(--brand-soft);color:var(--brand)}
.more-list,.more-list a{font-size:15px;line-height:1.47}

/* Вход, всплывающее сообщение */
.login{min-height:100vh;display:grid;place-items:center;padding:16px;background:var(--bg)}
.login form{background:var(--panel);border:1px solid var(--bd);border-radius:var(--r3);padding:24px;width:min(360px,100%);box-shadow:0 1px 2px rgba(16,24,40,.04)}
.login .logo{padding:0 0 4px;font-size:20px}
.login .logo svg{width:32px;height:32px}
.login-sub{margin:0 0 16px;color:var(--muted);font-size:13px}
.login .btn{width:100%;height:36px;margin-top:4px}
#toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,6px);background:#1f2430;color:#fff;padding:8px 14px;border-radius:var(--r2);font-size:13px;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;z-index:50;max-width:90vw}
#toast.on{opacity:1;transform:translate(-50%,0)}
.tabbar{display:none}

/* Телефон */
@media (max-width:860px){
  .shell{display:block}
  .side{display:none}
  .tabbar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;left:0;right:0;bottom:0;z-index:30;background:rgba(255,255,255,.86);backdrop-filter:saturate(170%) blur(16px);-webkit-backdrop-filter:saturate(170%) blur(16px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
  .tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:54px;padding:4px 2px;color:var(--muted);font-size:11px;font-weight:500;background:none;border:0;cursor:pointer}
  .tab:hover{text-decoration:none}
  .tab.on{color:var(--brand);font-weight:600}
  .tab svg{width:24px;height:24px}
  .work .tabbar,.work .gs{display:none}
  .work .hdr:not(:has(.demo)){display:none}
  .main{padding:12px 16px calc(72px + env(safe-area-inset-bottom))}
  .work .main{padding-bottom:0}
  .main,dialog,.login{font-size:15px;line-height:22px}
  table{font-size:15px}
  .small,td .small,td.small{font-size:13px;line-height:18px}
  h1{font-size:20px}
  .card>h2{font-size:15px}
  .hdr{flex-wrap:wrap;gap:8px;margin-bottom:12px}
  .gs{flex:1 1 100%}
  .demo{margin:0}
  .btn,.btn.sm,.login .btn{height:44px;padding:0 14px;font-size:15px;border-radius:var(--r2)}
  .btn.ico,.btn.sm.ico{width:44px;padding:0}
  input,select,textarea,td input,.gs input{height:44px;font-size:16px;border-radius:var(--r2)}
  textarea{height:auto}
  #cardForm textarea{font-size:16px}
  input[type=checkbox]{width:22px;height:22px}
  label.f{font-size:13px}
  label.chk{min-height:44px;font-size:15px}
  .kv dt,.hl dt{font-size:13px}
  .kv dd,.hl dd{font-size:15px;line-height:22px}
  .tabs a{height:44px;padding:0 14px;font-size:15px}
  .pick li{padding:12px 9px;font-size:15px}
  .pager .btn{min-width:72px}
  .top{gap:8px;margin-bottom:12px}
  .seg{flex:1 1 auto}
  .seg>input{flex:1;width:auto;min-width:0}
  .tbar input{flex:1 1 100%;min-width:0}
  .card{margin:0 -16px 12px;border-radius:0;border-left:0;border-right:0}
  .card>.tw,.card>.tw:first-child,.card>.tw:last-child{border-radius:0}
  .rec{margin:0 -16px 12px;border-radius:0;border-width:0 0 1px;padding:12px 16px}
  .rec-top h1{flex:1 1 100%}
  .rec-top .grow{display:none}
  .rec-acts{flex:1 1 100%}
  .rec-acts .btn{flex:1 1 auto}
  .hl{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}
  .hl dd{white-space:normal;overflow-wrap:anywhere}
  .grid2,.grid3,.rec-grid{grid-template-columns:minmax(0,1fr);gap:0}
  /* Карточка клиента и питомца: сначала история (питомцы, приёмы, счета), контакты и сведения ниже — они уже есть в шапке */
  .rec-grid>div:last-child{order:-1}
  .kv{grid-template-columns:110px minmax(0,1fr)}
  .bar{grid-template-columns:90px minmax(0,1fr) 80px}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px}
  table.list,.list tbody{display:block}
  .list tr.hd{display:none}
  .sortsel{display:block;flex:1 1 100%}
  .list tr{display:flex;flex-wrap:wrap;gap:0 10px;align-items:baseline;padding:10px 16px;border-bottom:1px solid var(--bd2)}
  .list tr:last-child{border-bottom:0}
  .list tr.link:hover{background:var(--rowh)}
  .list td,.list tr.link:hover td{display:block;padding:0;border:0;text-align:left;white-space:normal;min-width:0;overflow-wrap:anywhere;background:none}
  .list td .btn{margin-top:4px}
  .list td[data-l]::before{content:attr(data-l) ": ";color:var(--muted);font-size:13px}
  .list td.ttl{font-weight:600;font-size:16px}
  .list td:empty{display:none}
  .slot{grid-template-columns:48px minmax(0,1fr) auto;padding:10px 16px}
  .slot-t{grid-row:1/span 2}
  .slot-m{grid-column:2;grid-row:1}
  .slot-s{grid-column:2;grid-row:2;margin-top:2px}
  .slot>.btn{grid-column:2/-1;grid-row:3;justify-self:start;margin-top:8px}
  .slot-c,.slot-x{font-size:13px;line-height:18px;white-space:normal}
  .pat{margin:0 -16px 12px;border-radius:0;border-width:0 0 1px}
  .pat-al{margin:10px -16px -10px;border-radius:0}
  .pat-prev{margin:0 -16px 12px;border-radius:0;border-width:0 0 1px}
  .hist-side{display:none}
  /* Окно на телефоне выезжает снизу: до кнопок достаёт большой палец */
  dialog{margin:auto 0 0;width:100%;max-width:100%;max-height:90vh;overflow:auto;border-width:1px 0 0;border-radius:12px 12px 0 0}
  .dlg{padding:16px 16px 0}
  .dlg>h2{margin:-16px -16px 16px;padding:14px 16px}
  .dlg.cols{display:block}
  .dlg .acts{position:sticky;bottom:0;margin:16px -16px 0;padding:8px 16px calc(8px + env(safe-area-inset-bottom));border-radius:0}
  .dlg .acts .btn{flex:1}
  .actbar{margin:0 -16px;padding:8px 16px calc(8px + env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:0;box-shadow:none}
  .actbar .ss{width:100%}
  .actbar .btn{flex:1}
  #toast{bottom:calc(76px + env(safe-area-inset-bottom))}
}
@media print{.side,.tabbar,.crumb,.actbar,.top .btn,.rec-acts,.no-print{display:none!important}html,body{background:#fff}.shell{display:block}.main{padding:0;max-width:none}.card,.rec{border:0;box-shadow:none}.pat{position:static}}

/* Стационар */
.stay>h2 a{color:inherit;text-decoration:none}
.stay.gone{opacity:.7}
.orders{display:grid;gap:10px;margin-bottom:12px}
.order{padding:8px 0;border-top:1px solid var(--bd2)}
.order:first-child{border-top:0;padding-top:0}
.order.off{opacity:.55}
.order-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin-bottom:6px}
.order-h .lnk{margin-left:auto}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{min-height:32px;padding:0 10px;border:1px solid var(--bd);border-radius:16px;background:var(--panel);font:inherit;font-size:13px;font-variant-numeric:tabular-nums;color:var(--ink2);cursor:pointer}
.chip span{color:var(--muted);font-size:12px}
.chip.done{background:var(--ok-soft);border-color:#b7e3c9;color:var(--ok)}
.chip.late{background:var(--bad-soft);border-color:#f2b8b4;color:var(--bad);font-weight:600}
.chip.soon{background:var(--warn-soft);border-color:#efd99a;color:var(--warn);font-weight:600}
.chip:disabled{cursor:default}
.acts-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
table.todo tr.late td:first-child{color:var(--bad);font-weight:600}
table.todo td{vertical-align:middle}
@media (max-width:860px){.chip{min-height:40px;padding:0 12px}}

/* Связь с владельцами */
.rem-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:10px 16px;border-bottom:1px solid var(--bd2)}
.rem-row:last-child{border-bottom:0}
.rem-main{flex:1 1 260px;min-width:0}
.rem-acts{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.cbtns{display:inline-flex;flex-wrap:wrap;gap:6px}
.btn.sm.on{background:var(--sel);border-color:var(--brand);color:var(--brand)}
.msg-acts{margin:-4px 0 12px}
@media (max-width:860px){.rem-acts{width:100%;display:grid;gap:6px}.rem-acts .cbtns{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.rem-acts .btn.sm{min-height:40px;padding:0 6px;justify-content:center;text-align:center}.rem-acts>.btn.sm{width:100%}}
#consentBox .upl{margin-left:10px;display:inline-block}
/* Зарплата: строка на сотрудника, сумма справа; на телефоне так же, без таблицы */
.mnav{display:flex;align-items:center;gap:8px}
.mnav b{min-width:120px;text-align:center;text-transform:capitalize}
.pay-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--bd)}
.pay-row:first-child{border-top:0}
.pay-row.link{cursor:pointer}
.pay-m{flex:1;min-width:0}
.pay-sum{font-size:17px;white-space:nowrap}
.warn-t{color:var(--warn,#a15c00)}
/* Приход по накладной: строки товаров */
.rd-lines{display:grid;gap:10px}
.rd-line{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr) minmax(0,1.2fr) minmax(0,1.5fr) 36px;gap:8px;align-items:end}
.rd-line .f{margin:0}
.rd-line .rd-x{height:40px;border:0;background:none;font-size:20px;color:var(--ink2);cursor:pointer}
.rd-sum{font-weight:600;margin-top:8px}
@media (max-width:700px){
  .rd-line{grid-template-columns:1fr 1fr 36px;padding-bottom:10px;border-bottom:1px solid var(--bd)}
  .rd-line .rd-item{grid-column:1/-1}
  .rd-line .rd-exp{grid-column:1/3}
}
.acts-l{display:flex;flex-wrap:wrap;gap:8px}
.hosp-line{display:flex;align-items:center;gap:10px;margin:0 0 16px;padding:12px 16px;border:1px solid var(--bd);border-radius:var(--r2);background:var(--panel);color:var(--ink);text-decoration:none;font-weight:600}
.hosp-line svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7}
.hosp-line span{flex:1;min-width:0}
.hosp-line.due{border-color:var(--warn);background:var(--warn-soft)}
.hosp-line b{color:var(--muted)}
@media (max-width:700px){
  .inv-lines tr.tot,.inv-lines tr.sub{justify-content:space-between}
  .inv-lines tr:not(.hd):not(.tot):not(.sub) td:last-child{margin-left:auto}
}
details.gone{border-top:1px solid var(--bd)}
details.gone>summary{padding:12px 16px;cursor:pointer;color:var(--muted);font-weight:600}
.roomF{width:auto;max-width:200px;min-height:36px}
.busy-line{margin:0 0 12px;padding:8px 12px;border-radius:10px;background:var(--fill)}
.tpl-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:4px 16px;margin-bottom:8px}
.tpl-row .f{flex:1 1 220px;margin:0}
.pick-new{color:var(--brand);font-weight:600}
/* Позиции счёта на телефоне: карточка — название, ниже поля с подписями, сумма и «×». */
@media (max-width:640px){
  #lines{overflow:visible;margin-left:0;margin-right:0;padding:0}
  .inv-edit,.inv-edit tbody{display:block}
  .inv-edit tr:first-child{display:none}
  .inv-edit tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:6px 8px;align-items:end;padding:10px 0;border-bottom:1px solid var(--line)}
  .inv-edit td{display:block;width:auto!important;padding:0;border:0}
  .inv-edit td.ln-n{grid-column:1/4;font-weight:600}
  .inv-edit td[data-l]::before{content:attr(data-l);display:block;font-size:12px;color:var(--muted);margin-bottom:2px}
  .inv-edit td input{width:100%;min-width:0}
  .inv-edit td.ln-s{grid-column:1/4;text-align:left;font-weight:600}
  .inv-edit tr td:last-child{grid-row:1;grid-column:4}
  .inv-edit tr.tot{display:flex;justify-content:space-between;border:0}
  .inv-edit tr.tot td:last-child{display:none}
}
.iou-dlg .acts{padding:12px 16px}
@media (min-width:861px){.iou-dlg{width:min(640px,calc(100vw - 24px))}}
.iou-dlg .iou{padding:16px}
.iou{font:16px/1.6 Georgia,serif;padding:8px 4px}
.iou h1{text-align:center;font-size:22px;margin:0 0 12px}
.iou-sign{margin-top:40px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}
@media print{body:has(.iou-dlg[open])>*:not(.iou-dlg){display:none!important}.iou-dlg[open]{position:static;border:0;box-shadow:none;max-width:none;width:auto;margin:0}.iou-dlg::backdrop{display:none}}
.qchips{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 8px}
.qchips .chip{min-height:36px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font:inherit;cursor:pointer}
.hint-peek{display:block;width:100%;min-height:36px;margin:-4px 0 10px;padding:6px 12px;border:1px solid var(--line);border-radius:10px;background:var(--brand-soft);color:var(--ink);font:inherit;font-size:14px;text-align:left;cursor:pointer}
@media (min-width:861px){.hint-peek{display:none!important}}
textarea.need,input.need{border-color:var(--bad)!important;box-shadow:0 0 0 3px var(--bad-soft)}
.hint-peek[hidden]{display:none}

/* «Сегодня»: кто в клинике — вкладки «Ожидают / На приёме / Приняты» */
.qtabs{display:flex;gap:0;border-bottom:1px solid var(--bd2);background:var(--th);border-radius:var(--r2) var(--r2) 0 0;overflow-x:auto}
.qtabs button{flex:none;border:0;background:none;padding:10px 14px;min-height:44px;font:inherit;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;display:flex;gap:6px;align-items:center}
.qtabs button.on{color:var(--ink);border-bottom-color:var(--brand)}
.qtabs button:hover{color:var(--ink)}

/* Установка приложения (PWA) и вырез экрана iPhone в альбомной ориентации */
body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
.nav.inst{margin-top:6px;color:var(--brand2)}
.nav.inst svg{stroke:var(--brand)}
.login .inst-l{display:block;margin-top:14px;text-align:center;font-size:13px}
.inst-steps{margin:0 0 4px;padding-left:20px;line-height:1.5}
.inst-steps li{margin:6px 0}
.offline{min-height:100vh;display:grid;place-items:center;text-align:center;padding:16px;color:var(--ink2)}
/* Стационар и ОРИТ в истории болезни питомца */
.stay-h{padding:12px 0;border-top:1px solid var(--bd);display:grid;gap:4px}
.stay-h:first-of-type{border-top:0;padding-top:0}
.stay-h details>summary{cursor:pointer;color:var(--brand);font-weight:600;font-size:14px;padding:4px 0}
