:root{
  /* v153: тёплый бежевый фон страницы — отделяет от белых карточек */
  --bg:#f4f1ea; --side:#fff; --surf:#fff; --soft:#f5f5f4;
  --line:#e9e8e6; --line2:#dcdbd8;
  --tx:#1f1f1d; --tx2:#6b6a66; --tx3:#9a9994;
  --acc:#4f46e5; --accT:#fff; --accS:#eef0fd;
  --ok:#0f9d6e; --okS:#e6f6f0;
  --warn:#c2700a; --warnS:#fbeedb;
  --dng:#dc2647; --dngS:#fbe6ea;
  --rad:13px; --rad2:9px;
}
html[data-theme="dark"]{
  --bg:#16161a; --side:#1e1e24; --surf:#1e1e24; --soft:#26262e;
  --line:#2e2e38; --line2:#3a3a46;
  --tx:#f1f1f3; --tx2:#a8a8b3; --tx3:#76767f;
  --acc:#7d76e8; --accT:#16161a; --accS:#2a2940;
  --ok:#34d399; --okS:#1c3a30;
  --warn:#fbbf24; --warnS:#3a3018;
  --dng:#f87171; --dngS:#3d2326;
}
html,body{transition:background-color .2s}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{height:100%}
body{font-family:-apple-system,'Segoe UI',Roboto,sans-serif;background:var(--bg);color:var(--tx);font-size:15px;-webkit-text-size-adjust:100%}
input,select,textarea,button{font-family:inherit;font-size:15px}

/* ===== АДАПТИВНОСТЬ: защита от горизонтального скролла ===== */
html,body{max-width:100%;overflow-x:hidden}
/* контент всегда прокручивается вертикально, ничего не обрезается */
main,.content{overflow-x:hidden}
.content{min-width:0}
/* картинки и медиа не вылезают за экран */
img,video,canvas{max-width:100%;height:auto}
/* длинные слова/номера переносятся, не ломают вёрстку */
.card,.item,.prod,.cart-panel,.pg-hd,.int-card{overflow-wrap:break-word;
  word-break:break-word}

.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.login-box{width:100%;max-width:330px}
.brand{text-align:center;margin-bottom:18px}
.brand .logo{width:50px;height:50px;border-radius:13px;background:var(--acc);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:24px;font-weight:800;margin-bottom:8px}
.brand h1{font-size:18px;font-weight:800}
.brand p{font-size:11px;color:var(--tx3);text-transform:uppercase;letter-spacing:1.5px;margin-top:2px}

.card{background:var(--surf);border:1px solid var(--line);border-radius:var(--rad2);padding:15px 16px;margin-bottom:12px}
.card h2{font-size:15px;font-weight:800;margin-bottom:3px}
.card h3{font-size:13px;font-weight:800;margin-bottom:9px}
.card .sub{font-size:12px;color:var(--tx3);margin-bottom:13px}
.field{margin-bottom:11px}
.alias-row{display:flex;gap:6px;margin-bottom:6px;align-items:center}
.alias-row .alias-name{flex:0 0 35%;min-width:120px}
.alias-row .alias-syns{flex:1}
.alias-row .alias-del{flex:0 0 auto;padding:6px 10px}
.field label{display:block;font-size:10px;color:var(--tx3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px}
.input{width:100%;height:44px;padding:0 13px;background:var(--bg);border:1px solid var(--line2);border-radius:9px;color:var(--tx)}
textarea.input{height:auto;padding:11px 13px;resize:vertical;min-height:64px}
.input:focus{outline:2px solid var(--acc);outline-offset:-1px}
.row{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.btn{height:44px;padding:0 17px;border-radius:9px;border:1px solid var(--line2);background:var(--surf);color:var(--tx);font-weight:700;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:transform .05s}
.btn:active{transform:scale(.98)}
.btn:disabled{opacity:.4;cursor:not-allowed}
.btn.acc{background:var(--acc);color:#fff;border-color:var(--acc)}
.btn.ok{background:var(--ok);color:#fff;border-color:var(--ok)}
.btn.dng{background:var(--surf);color:var(--dng);border-color:var(--dng)}
.btn.block{width:100%}
.btn.sm{height:34px;padding:0 11px;font-size:12px}
.err{color:var(--dng);font-size:13px;margin:6px 0}
.hint{font-size:12px;color:var(--tx2);margin-top:3px}

.pill{display:inline-block;font-size:10px;font-weight:800;padding:4px 9px;border-radius:6px;text-transform:uppercase;letter-spacing:.4px}
.pill.amber{background:var(--warnS);color:var(--warn)}
.pill.info{background:var(--accS);color:var(--acc)}
.pill.ok{background:var(--okS);color:var(--ok)}
.pill.danger{background:var(--dngS);color:var(--dng)}
.pill.gray{background:var(--soft);color:var(--tx2)}

.item{border:1px solid var(--line);border-radius:9px;padding:12px;margin-bottom:8px;background:var(--surf)}
.item-top{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.item-top b{font-size:14px}
.meta{font-size:12px;color:var(--tx3);margin-top:4px}
.empty{text-align:center;color:var(--tx3);font-size:13px;padding:20px 0}
.code{font-family:'SF Mono',Menlo,monospace;font-size:18px;font-weight:800;letter-spacing:2px;color:var(--acc)}

.cat-tabs{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}
.cat-tab{flex:1;min-width:90px;padding:9px 8px;border-radius:9px;border:1px solid var(--line2);background:var(--surf);color:var(--tx2);font-size:12px;font-weight:700;cursor:pointer;text-align:center}
.cat-tab.on{background:var(--accS);color:var(--acc);border-color:var(--acc)}

.prod{border:1px solid var(--line);border-radius:9px;padding:12px;margin-bottom:8px;background:var(--surf);cursor:pointer}
.prod:hover{border-color:var(--acc)}
.prod.in{border-color:var(--acc);background:var(--accS)}
.prod-n{font-size:14px;font-weight:700}
.prod-p{font-size:15px;font-weight:800;color:var(--acc);margin-top:3px}
.prod-m{font-size:11px;color:var(--tx3);margin-top:3px}

.cart{background:var(--accS);border:1px solid #d6daf8;border-radius:9px;padding:12px;margin-top:11px}
.cart-title{font-size:12px;font-weight:800;color:var(--acc);margin-bottom:9px}
.cart-line{padding:8px 0;border-bottom:1px solid #d6daf8}
.cart-line:last-of-type{border:none}
.cart-line .cl-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.cart-line .cl-name{font-size:13px;font-weight:600}
.cart-total{display:flex;justify-content:space-between;font-weight:800;color:var(--acc);font-size:15px;padding-top:10px;border-top:1px solid #d6daf8;margin-top:4px}

.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin-bottom:13px}
.stat{background:var(--soft);border-radius:9px;padding:12px}
.stat .l{font-size:11px;color:var(--tx3);text-transform:uppercase;letter-spacing:.5px}
.stat .v{font-size:21px;font-weight:800;margin-top:3px}
.stat .v.acc{color:var(--acc)} .stat .v.ok{color:var(--ok)} .stat .v.warn{color:var(--warn)}
.stat .v.money{font-size:15px}

.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tile{border-radius:9px;padding:15px;cursor:pointer;border:1px solid var(--line);background:var(--surf)}
.tile.p1{background:var(--accS);border-color:#d6daf8}
.tile.p2{background:var(--okS);border-color:#bfe6d6}
.tile.big{grid-column:1/-1;background:var(--warnS);border-color:#f0d9b0;display:flex;align-items:center;justify-content:space-between}
.tile-ic{width:36px;height:36px;border-radius:9px;background:var(--surf);display:flex;align-items:center;justify-content:center;font-size:19px;margin-bottom:9px}
.tile-n{font-size:15px;font-weight:800}
.tile-d{font-size:11px;color:var(--tx2);margin-top:2px}
.hi{font-size:24px;font-weight:800;line-height:1.2;margin-bottom:3px}
.hs{font-size:13px;color:var(--tx2);margin-bottom:15px}

.log-line{font-size:12px;color:var(--tx2);border-left:2px solid var(--line2);padding-left:10px;margin-bottom:7px}

.app{display:flex;min-height:100vh}
.topbar{display:flex;align-items:center;gap:10px;background:var(--side);border-bottom:1px solid var(--line);padding:10px 14px;position:sticky;top:0;z-index:30}
.topbar .burger{display:none;width:38px;height:38px;border:1px solid var(--line2);border-radius:9px;background:var(--surf);font-size:19px;align-items:center;justify-content:center}
.topbar .tt{font-weight:800;font-size:15px}
.sidebar{width:230px;flex-shrink:0;background:var(--side);border-right:1px solid var(--line);padding:16px 12px;display:flex;flex-direction:column}
.side-brand{display:flex;align-items:center;gap:9px;padding:0 6px 14px;border-bottom:1px solid var(--line);margin-bottom:10px}
.side-logo{width:32px;height:32px;border-radius:9px;background:var(--acc);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px}
.side-brand .bn{font-size:14px;font-weight:800}
.side-brand .bs{font-size:9px;color:var(--tx3);letter-spacing:1px}
.menu{display:flex;flex-direction:column;gap:4px}
.menu-item{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:9px;cursor:pointer;color:var(--tx2);font-size:14px}
.menu-item .ic{font-size:18px;width:22px;text-align:center}
.menu-item:hover{background:var(--soft)}
.menu-item.active{background:var(--accS);color:var(--acc);font-weight:700}
.menu-item.logout{margin-top:auto;color:var(--dng)}
.side-user{display:flex;align-items:center;gap:9px;padding:12px 6px 0;border-top:1px solid var(--line);margin-top:8px}
.avatar{width:34px;height:34px;border-radius:50%;background:var(--accS);color:var(--acc);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px}
.side-user .un{font-size:13px;font-weight:700}
.side-user .ur{font-size:11px;color:var(--tx3)}
.content{flex:1;padding:22px;max-width:860px;width:100%;margin:0 auto}
.page-title{font-size:20px;font-weight:800;margin-bottom:14px}
.overlay{display:none;position:fixed;inset:0;background:rgba(20,20,18,.4);z-index:20}

/* Большие экраны — контент не растягивается на всю ширину */
@media(min-width:1400px){
  .content{max-width:1000px;padding:28px}
}

/* Планшеты и узкие ноутбуки */
@media(max-width:1024px) and (min-width:761px){
  .sidebar{width:200px;padding:14px 9px}
  .menu-item{font-size:13px;padding:10px 10px}
  .content{padding:18px}
}

/* Смартфоны */
@media(max-width:760px){
  .topbar .burger{display:flex}
  .app{flex-direction:column}
  .sidebar{position:fixed;top:0;left:0;bottom:0;width:255px;z-index:25;
    transform:translateX(-100%);transition:transform .22s;overflow-y:auto}
  .sidebar.open{transform:translateX(0)}
  .overlay.show{display:block}
  .content{padding:13px;max-width:100%}
  .page-title{display:none}
  .tiles{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr}
  .grid2{grid-template-columns:1fr}
  .row{flex-wrap:wrap}
  .card{padding:14px}
  .hi{font-size:20px}
  .modal-win{max-width:100%;border-radius:13px 13px 0 0}
}

/* Очень маленькие экраны */
@media(max-width:380px){
  .stats{grid-template-columns:1fr}
  .content{padding:10px}
  .card{padding:12px}
  .btn{font-size:13px}
}

.login-wrap{position:relative;overflow:hidden}
.login-aurora{position:absolute;inset:0;z-index:0;background:
  radial-gradient(540px 380px at 18% 12%, rgba(79,70,229,.16), transparent 60%),
  radial-gradient(520px 420px at 86% 88%, rgba(15,157,110,.13), transparent 62%),
  radial-gradient(420px 320px at 88% 8%, rgba(194,112,10,.10), transparent 60%);
  pointer-events:none}
.login-box{position:relative;z-index:1;width:100%;max-width:360px}
.brand .logo{box-shadow:0 8px 24px rgba(79,70,229,.32);position:relative}
.brand .logo::after{content:'';position:absolute;inset:-3px;border-radius:16px;
  border:1.5px solid rgba(79,70,229,.25)}
.brand h1{letter-spacing:.5px}
.login-card{box-shadow:0 14px 40px rgba(20,20,18,.10);border-radius:14px;padding:20px}
.login-welcome{font-size:16px;font-weight:800;margin-bottom:14px;text-align:center}
.input-ico{position:relative}
.input-ico .ii{position:absolute;left:13px;top:50%;transform:translateY(-50%);
  font-size:15px;opacity:.5;pointer-events:none}
.input-ico .input{padding-left:38px}
.input-ico .ii-eye{position:absolute;right:13px;top:50%;transform:translateY(-50%);
  font-size:16px;opacity:.5;cursor:pointer;user-select:none}
.input-ico .ii-eye:hover{opacity:.85}
.btn-login{height:48px;font-size:14px;box-shadow:0 8px 20px rgba(79,70,229,.28);margin-top:4px}
.btn-login:hover{filter:brightness(1.05)}
.demo-box{margin-top:14px;background:var(--surf);border:1px solid var(--line);
  border-radius:12px;padding:14px 16px}
.demo-title{font-size:11px;color:var(--tx3);text-transform:uppercase;
  letter-spacing:.5px;margin-bottom:10px;text-align:center}
.demo-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.demo-chip{background:var(--accS);color:var(--acc);font-size:12px;font-weight:700;
  padding:8px 10px;border-radius:8px;text-align:center;cursor:pointer;
  border:1px solid transparent}
.demo-chip:hover{border-color:var(--acc)}
.demo-chip:active{transform:scale(.97)}
.login-foot{text-align:center;font-size:11px;color:var(--tx3);margin-top:16px}

.theme-switch{display:flex;gap:3px;background:var(--soft);border-radius:9px;padding:3px;
  margin-top:8px}
.theme-switch button{flex:1;height:32px;border:none;background:transparent;
  border-radius:7px;cursor:pointer;font-size:11px;font-weight:700;color:var(--tx2);
  display:flex;align-items:center;justify-content:center;gap:4px;font-family:inherit}
.theme-switch button.on{background:var(--surf);color:var(--acc);
  box-shadow:0 1px 3px rgba(0,0,0,.12)}
.side-theme{padding:10px 6px 0;border-top:1px solid var(--line);margin-top:8px}
.side-theme-label{font-size:10px;color:var(--tx3);text-transform:uppercase;
  letter-spacing:.5px;margin-bottom:2px;padding-left:4px}

.staff-card{border:1px solid var(--line);border-radius:9px;padding:12px;margin-bottom:8px;
  background:var(--surf);cursor:pointer}
.staff-card:hover{border-color:var(--acc)}
.staff-row{display:flex;align-items:center;gap:11px}
.staff-ava{width:38px;height:38px;border-radius:50%;background:var(--accS);color:var(--acc);
  display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;
  flex-shrink:0}
.staff-name{font-size:14px;font-weight:700}
.staff-role{font-size:12px;color:var(--tx3);margin-top:1px}
.detail-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;
  border-bottom:1px solid var(--line);font-size:13px}
.detail-row .dl{color:var(--tx3)}
.detail-row .dv{font-weight:600;text-align:right}
.pass-box{background:var(--okS);border:1px solid var(--ok);border-radius:9px;
  padding:14px;margin:10px 0;text-align:center}
.pass-code{font-family:'SF Mono',Menlo,monospace;font-size:22px;font-weight:800;
  color:var(--ok);letter-spacing:2px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.modal-bg{position:fixed;inset:0;background:rgba(10,10,12,.55);z-index:60;
  display:flex;align-items:center;justify-content:center;padding:18px}
.modal-win{background:var(--surf);border:1px solid var(--line);border-radius:13px;
  padding:20px;width:100%;max-width:440px;max-height:90vh;overflow-y:auto}
@media(max-width:760px){.ti-ex button{min-width:100%}}

/* Трейд-ин — кнопки-примеры и плашка расчёта */
.ti-ex{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}
.ti-ex button{flex:1;min-width:120px;padding:9px;border-radius:8px;
  border:1px solid var(--line2);background:var(--surf);font-size:11px;
  cursor:pointer;font-family:inherit;color:var(--tx2);font-weight:600}
.ti-ex button:hover{border-color:var(--acc);color:var(--acc)}
.ti-calc{border-radius:10px;padding:15px;margin-bottom:12px;border:1.5px solid}
.ti-calc.client{background:var(--accS);border-color:var(--acc)}
.ti-calc.shop{background:var(--warnS);border-color:var(--warn)}
.ti-calc.zero{background:var(--soft);border-color:var(--line2)}
.ti-calc-row{display:flex;justify-content:space-between;font-size:12.5px;
  padding:4px 0;color:var(--tx2)}
.ti-calc-line{border-top:1px solid rgba(128,128,128,.3);margin:8px 0}
.ti-calc-main{display:flex;justify-content:space-between;align-items:center}
.ti-calc-label{font-size:13px;font-weight:800}
.ti-calc-sum{font-size:22px;font-weight:800}
.ti-calc.client .ti-calc-sum,.ti-calc.client .ti-calc-label{color:var(--acc)}
.ti-calc.shop .ti-calc-sum,.ti-calc.shop .ti-calc-label{color:var(--warn)}
.ti-calc.zero .ti-calc-sum,.ti-calc.zero .ti-calc-label{color:var(--tx2)}
.ti-calc-hint{font-size:11px;margin-top:7px;color:var(--tx2);opacity:.9}

/* Колокольчик уведомлений */
.bell-btn{margin-left:auto;background:transparent;border:none;font-size:20px;
  cursor:pointer;position:relative;padding:4px 6px;line-height:1}
.buf-order-btn{margin-left:auto;background:transparent;border:none;font-size:20px;
  cursor:pointer;padding:4px 6px;line-height:1;transition:transform .1s}
.buf-order-btn:active{transform:scale(.9)}
.buf-order-btn + *{margin-left:0}
.buf-order-btn ~ .bell-btn{margin-left:0}
.bell-badge{position:absolute;top:-2px;right:-2px;background:var(--dng);color:#fff;
  font-size:9px;font-weight:800;min-width:16px;height:16px;border-radius:8px;
  display:flex;align-items:center;justify-content:center;padding:0 3px}
.notif-item{display:flex;gap:10px;padding:11px 10px;border-radius:9px;
  border-bottom:1px solid var(--line)}
.notif-item.unread{background:var(--accS)}
.notif-ic{font-size:17px;flex-shrink:0}
.notif-text{font-size:13px;font-weight:600;line-height:1.4}
.notif-time{font-size:10px;color:var(--tx3);margin-top:3px}

/* Отчёт кассы */
.cr-op{display:flex;align-items:center;gap:11px;padding:10px 6px;cursor:pointer}
.cr-ic{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;
  justify-content:center;font-size:15px;flex-shrink:0;font-weight:800}
.cr-ic.in{background:var(--okS);color:var(--ok)}
.cr-ic.out{background:var(--dngS);color:var(--dng)}
.cr-op-main{flex:1;min-width:0}
.cr-op-t{font-size:12.5px;font-weight:700}
.cr-op-m{font-size:10.5px;color:var(--tx3);margin-top:2px}
.cr-op-sum{font-size:13px;font-weight:800;white-space:nowrap}
.cr-op-sum.in{color:var(--ok)}
.cr-op-sum.out{color:var(--dng)}
.cr-chev{font-size:10px;color:var(--tx3);transition:transform .15s}
.cr-exp{border-bottom:1px solid var(--line)}
.cr-exp:last-child{border-bottom:none}
.cr-exp.open .cr-chev{transform:rotate(90deg)}
.cr-exp-body{display:none;padding:2px 10px 11px 51px;font-size:11px;color:var(--tx2)}
.cr-exp.open .cr-exp-body{display:block}
.cr-exp-row{display:flex;justify-content:space-between;gap:10px;padding:3px 0}

/* Вкладки ремонта */
.rep-tabs{display:flex;gap:5px;margin-bottom:13px;background:var(--soft);
  border-radius:9px;padding:4px}
.rep-tab{flex:1;min-width:0;border:none;background:transparent;border-radius:7px;
  font-size:11px;font-weight:700;color:var(--tx2);cursor:pointer;font-family:inherit;
  padding:7px 4px;display:flex;flex-direction:column;align-items:center;gap:1px}
.rep-tab.on{background:var(--surf);color:var(--acc);box-shadow:0 1px 4px rgba(0,0,0,.1)}
.rep-tab .cnt{font-size:15px;font-weight:800}
.lnk-x{background:none;border:none;color:var(--dng);cursor:pointer;font-size:12px;
  font-weight:800;padding:0 4px}
@media(max-width:760px){
  .rep-tab{font-size:10px}
  .rep-tab .cnt{font-size:13px}
}

/* Галочка-чекбокс (закупка) */
.pur-chk{display:flex;align-items:center;gap:11px;padding:12px;background:var(--accS);
  border-radius:9px;margin-bottom:12px;cursor:pointer}
.pur-box{width:22px;height:22px;border-radius:6px;border:2px solid var(--acc);
  flex-shrink:0;display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:14px;font-weight:800}
.pur-box.on{background:var(--acc)}

/* Раскладка продажи: товары слева, корзина справа */
.sale-layout{display:flex;gap:14px;align-items:flex-start}
.sale-left{flex:1;min-width:0}
.sale-right{width:300px;flex-shrink:0}
.cart-panel{background:var(--surf);border:1px solid var(--line2);border-radius:11px;
  overflow:hidden}
.cart-panel-head{background:var(--acc);color:#fff;padding:12px 14px;font-size:14px;
  font-weight:800}
.cart-tabs{display:flex;gap:3px;padding:7px 7px 0;background:var(--soft);flex-wrap:wrap}
.cart-tab{padding:7px 11px;border-radius:7px 7px 0 0;font-size:10.5px;font-weight:700;
  background:var(--line);color:var(--tx2);cursor:pointer;border:none;font-family:inherit}
.cart-tab.on{background:var(--surf);color:var(--acc)}
.cart-tab-add{padding:7px 10px;border-radius:7px;font-size:10.5px;font-weight:800;
  background:var(--accS);color:var(--acc);cursor:pointer;border:none;
  font-family:inherit;margin-bottom:1px}
.cart-panel-body{padding:13px}
.cart-clname{height:34px;font-size:12px;margin-bottom:10px}
.cart-item{border:1px solid var(--line);border-radius:8px;padding:9px;margin-bottom:8px}
.ci-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.ci-name{font-size:12px;font-weight:700}
.ci-sub{font-size:9.5px;color:var(--tx3);margin-top:2px}
.ci-x{background:none;border:none;color:var(--dng);cursor:pointer;font-weight:800;
  font-size:13px;padding:0 3px}
.cart-total{display:flex;justify-content:space-between;font-size:14px;font-weight:800;
  padding:10px 0 4px;border-top:1px solid var(--line);margin-top:6px}
.cart-empty{font-size:11px;color:var(--tx3);text-align:center;padding:24px 8px}
.prod.locked{opacity:.55;background:var(--soft);cursor:not-allowed}
/* планшет (761–1000): две колонки, корзина поуже */
@media(min-width:761px) and (max-width:1000px){
  .sale-right{width:270px}
  .sale-layout{gap:11px}
}
/* узкие экраны (телефон, планшет в портрете ≤760): одна колонка */
@media(max-width:760px){
  .sale-layout{
    flex-direction:column;
    /* align-items:stretch чтобы sticky работало корректно */
    align-items:stretch;
  }
  .sale-right{
    width:100%;
    /* v131: корзина наверху и прилипает при скролле */
    order:-1;
    position:sticky;
    top:0;
    /* v131 FIX: z-index 10 — НИЖЕ меню (25) и оверлея (20) */
    z-index:10;
    margin-bottom:8px;
    /* отступ снизу чтобы было видно где корзина заканчивается */
    background:var(--bg);
    padding-bottom:4px;
    /* тень снизу когда прокручиваем */
    box-shadow:0 4px 12px -8px rgba(0,0,0,0.15);
  }
  .cart-panel{
    position:static;
    /* компактный вид на мобильном */
    max-height:50vh;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  .cart-panel-head{
    /* sticky внутри корзины — заголовок остаётся видим при скролле списка товаров */
    position:sticky;
    top:0;
    z-index:2;
  }
  .cart-tabs{
    position:sticky;
    top:36px; /* высота cart-panel-head */
    z-index:2;
    background:var(--surf);
  }
  /* v131 FIX: при открытом меню — корзина скрывается чтобы не мешать */
  body.menu-open .sale-right{
    z-index:1;
    visibility:hidden;
  }
}

/* Таблица прихода аксессуаров */
.acc-ihead{display:flex;justify-content:space-between;gap:8px;font-size:9px;
  color:var(--tx3);text-transform:uppercase;padding:4px 2px;font-weight:700}
.acc-irow{margin-bottom:7px}
.acc-irow>.input{margin-bottom:5px}
.acc-irow-nums{display:flex;gap:5px;align-items:center}
.acc-irow-nums>.input{flex:1;min-width:0;height:36px}
.acc-irow-nums>span{font-size:9px;text-align:center;flex:1}

/* Переключатель островков (панель магазина) */
.isl-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:4px}
.isl-chip{padding:8px 14px;border-radius:9px;font-size:12px;font-weight:700;
  background:var(--soft);color:var(--tx2);border:1.5px solid var(--line2);
  cursor:pointer;font-family:inherit}
.isl-chip.on{background:var(--accS);color:var(--acc);border-color:var(--acc)}

/* ============ LIQUID GLASS — ЭКРАН ВХОДА ============ */
.lg-scene{
  position:fixed;inset:0;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  transition:background 1.2s ease;
  /* по умолчанию (до загрузки) — нейтральный тёмный */
  background:linear-gradient(160deg,#0a1733 0%,#142850 38%,#1a3a6b 70%,#0e2244 100%);
}
/* НОЧНОЙ фон — глубокий тёмно-синий */
.lg-scene.lg-night{
  background:linear-gradient(160deg,#070f24 0%,#0f1f3f 38%,#16294d 70%,#0a1530 100%);
}
/* ДНЕВНОЙ фон — светлое голубое небо */
.lg-scene.lg-day{
  background:linear-gradient(160deg,#5b9fe0 0%,#7db8e8 36%,#a9d2f0 68%,#cfe6f7 100%);
}
/* днём текст на стекле тёмный для читаемости */
.lg-scene.lg-day .glass{
  color:#16294d;
  background:linear-gradient(135deg,rgba(255,255,255,.55),rgba(255,255,255,.32));
  border-color:rgba(255,255,255,.6);
  box-shadow:0 8px 32px rgba(40,80,140,.22),
    inset 0 1px 1px rgba(255,255,255,.7);
}
.lg-scene.lg-day .lg-input{color:#16294d}
.lg-scene.lg-day .lg-input::placeholder{color:rgba(22,41,77,.5)}
.lg-scene.lg-day .lg-field{
  background:rgba(255,255,255,.45);
  border-color:rgba(255,255,255,.6);
}
.lg-scene.lg-day .lg-err{color:#c2284a}
/* плавающие цветные пятна — живой фон */
.lg-orb{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;
  pointer-events:none}
.lg-orb1{width:440px;height:440px;background:#3b6ff5;top:-120px;left:-90px;
  animation:lgFloat1 18s ease-in-out infinite}
.lg-orb2{width:380px;height:380px;background:#7d4ff5;bottom:-110px;right:-70px;
  animation:lgFloat2 22s ease-in-out infinite}
.lg-orb3{width:300px;height:300px;background:#2bb5c8;top:40%;right:20%;
  animation:lgFloat3 26s ease-in-out infinite}
@keyframes lgFloat1{
  0%,100%{transform:translate(0,0) scale(1)}
  50%{transform:translate(60px,80px) scale(1.15)}}
@keyframes lgFloat2{
  0%,100%{transform:translate(0,0) scale(1)}
  50%{transform:translate(-70px,-50px) scale(1.2)}}
@keyframes lgFloat3{
  0%,100%{transform:translate(0,0) scale(1)}
  50%{transform:translate(-40px,60px) scale(.85)}}
/* тонкая зернистость поверх */
.lg-grain{position:absolute;inset:0;pointer-events:none;opacity:.04;
  background-image:radial-gradient(#fff 0.5px,transparent 0.5px);
  background-size:4px 4px}

.lg-content{
  position:relative;z-index:2;width:100%;max-width:420px;
  padding:24px 18px;display:flex;flex-direction:column;gap:13px;
  max-height:100vh;overflow-y:auto;
}
.lg-content::-webkit-scrollbar{width:0}
/* блоки не сжимаются — при раскрытии раздвигают, а не налезают */
.lg-content>.glass{flex:0 0 auto}

/* СТЕКЛЯННЫЙ блок — основа Liquid Glass */
.glass{
  background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.06));
  backdrop-filter:blur(22px) saturate(160%);
  -webkit-backdrop-filter:blur(22px) saturate(160%);
  border:1px solid rgba(255,255,255,.22);
  border-radius:22px;
  box-shadow:0 8px 32px rgba(0,0,0,.28),
    inset 0 1px 1px rgba(255,255,255,.35),
    inset 0 -8px 22px rgba(255,255,255,.04);
  color:#fff;
}

/* ЧАСЫ */
.lg-clock-panel{padding:18px 22px;text-align:center;position:relative}
.lg-clock{font-size:54px;font-weight:800;letter-spacing:2px;line-height:1;
  display:inline-block;
  text-shadow:0 2px 16px rgba(0,0,0,.4)}
.lg-clock-sec{display:inline-block;font-size:18px;font-weight:700;
  vertical-align:top;margin-top:6px;margin-left:4px;opacity:.7}
.lg-date{font-size:13px;opacity:.8;margin-top:6px;font-weight:500}

/* ПОГОДА */
.lg-weather{padding:0;overflow:hidden}
.lg-weather-load{padding:16px;font-size:12px;opacity:.7;text-align:center}
.lg-weather-head{padding:15px 18px;display:flex;align-items:center;
  justify-content:space-between;cursor:pointer;user-select:none}
.lg-weather-now{display:flex;align-items:center;gap:13px}
.lg-weather-ic{font-size:38px;line-height:1}
.lg-weather-temp{font-size:30px;font-weight:800;line-height:1}
.lg-weather-desc{font-size:11.5px;opacity:.8;margin-top:3px}
.lg-weather-arrow{font-size:13px;opacity:.7;transition:transform .35s ease}
.lg-weather-arrow.up{transform:rotate(180deg)}
/* раскрытие прогноза — анимация как в смартфонах */
.lg-weather-days{
  max-height:0;opacity:0;overflow:hidden;
  transition:max-height .45s cubic-bezier(.4,0,.2,1),opacity .35s ease,
    padding .45s ease;
  padding:0 18px;
}
.lg-weather-days.open{max-height:600px;opacity:1;padding:0 18px 14px}
.lg-wday{display:flex;align-items:center;justify-content:space-between;
  padding:9px 0;border-top:1px solid rgba(255,255,255,.12);
  animation:lgFadeIn .4s ease both}
.lg-weather-days.open .lg-wday:nth-child(1){animation-delay:.03s}
.lg-weather-days.open .lg-wday:nth-child(2){animation-delay:.07s}
.lg-weather-days.open .lg-wday:nth-child(3){animation-delay:.11s}
.lg-weather-days.open .lg-wday:nth-child(4){animation-delay:.15s}
.lg-weather-days.open .lg-wday:nth-child(5){animation-delay:.19s}
.lg-weather-days.open .lg-wday:nth-child(6){animation-delay:.23s}
@keyframes lgFadeIn{from{opacity:0;transform:translateY(-6px)}
  to{opacity:1;transform:translateY(0)}}
.lg-wday-n{font-size:12.5px;font-weight:600;width:64px}
.lg-wday-ic{font-size:20px}
.lg-wday-t{font-size:12.5px;font-weight:600;width:90px;text-align:right}

/* НАМАЗ */
.lg-prayer{padding:0;overflow:hidden}
.lg-pr-head-row{padding:14px 16px;display:flex;align-items:center;
  justify-content:space-between;cursor:pointer;user-select:none}
.lg-pr-now{display:flex;align-items:center;gap:11px}
.lg-pr-now-ic{font-size:26px;line-height:1}
.lg-pr-now-label{font-size:10.5px;opacity:.72}
.lg-pr-now-val{font-size:16px;font-weight:800;margin-top:2px}
.lg-pr-arrow{font-size:12px;opacity:.7;transition:transform .35s ease}
.lg-pr-arrow.up{transform:rotate(180deg)}
/* раскрытие расписания — анимация как у погоды */
.lg-pr-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:4px 8px;
  max-height:0;opacity:0;overflow:hidden;padding:0 16px;
  transition:max-height .45s cubic-bezier(.4,0,.2,1),opacity .35s ease,
    padding .45s ease;
}
.lg-pr-grid.open{max-height:400px;opacity:1;padding:0 16px 14px}
.lg-pr-item{display:flex;align-items:center;justify-content:space-between;
  gap:6px;padding:7px 9px;border-radius:9px;
  background:rgba(255,255,255,.07);
  animation:lgFadeIn .4s ease both}
.lg-pr-grid.open .lg-pr-item:nth-child(1){animation-delay:.03s}
.lg-pr-grid.open .lg-pr-item:nth-child(2){animation-delay:.07s}
.lg-pr-grid.open .lg-pr-item:nth-child(3){animation-delay:.11s}
.lg-pr-grid.open .lg-pr-item:nth-child(4){animation-delay:.15s}
.lg-pr-grid.open .lg-pr-item:nth-child(5){animation-delay:.19s}
.lg-pr-grid.open .lg-pr-item:nth-child(6){animation-delay:.23s}
.lg-pr-item.next{background:rgba(255,255,255,.2);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.25)}
.lg-pr-name{font-size:11.5px;font-weight:600;opacity:.85}
.lg-pr-item.next .lg-pr-name{font-weight:800;opacity:1}
.lg-pr-time{font-size:12.5px;font-weight:700;letter-spacing:.3px}
.lg-scene.lg-day .lg-pr-item{background:rgba(22,41,77,.07)}
.lg-scene.lg-day .lg-pr-item.next{background:rgba(22,41,77,.14)}

/* КАРТОЧКА ВХОДА */
.lg-card{padding:22px 20px}
.lg-brand{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.lg-logo{width:46px;height:46px;border-radius:13px;
  background:linear-gradient(135deg,#5b8def,#7d4ff5);
  display:flex;align-items:center;justify-content:center;
  font-size:24px;font-weight:800;color:#fff;
  box-shadow:0 4px 14px rgba(91,141,239,.5),
    inset 0 1px 1px rgba(255,255,255,.4)}
.lg-brand-name{font-size:17px;font-weight:800}
.lg-brand-sub{font-size:11px;opacity:.72;margin-top:1px}
.lg-welcome{font-size:13px;font-weight:600;opacity:.85;margin-bottom:14px}

.lg-field{
  display:flex;align-items:center;gap:9px;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.2);
  border-radius:13px;padding:0 13px;margin-bottom:10px;
  transition:border-color .2s,background .2s;
}
.lg-field:focus-within{
  border-color:rgba(123,159,255,.7);
  background:rgba(255,255,255,.16);
}
.lg-ico{font-size:15px;opacity:.7}
.lg-input{
  flex:1;background:transparent;border:none;outline:none;
  height:48px;font-size:14px;color:#fff;font-family:inherit;
}
.lg-input::placeholder{color:rgba(255,255,255,.5)}
.lg-eye{font-size:15px;opacity:.6;cursor:pointer;padding:4px}
.lg-eye:hover{opacity:1}

.lg-err{color:#ff9aa8;font-size:12px;min-height:16px;margin-bottom:4px;
  font-weight:500}

.lg-btn{
  width:100%;height:50px;border:none;border-radius:14px;
  background:linear-gradient(135deg,#5b8def,#7d4ff5);
  color:#fff;font-size:15px;font-weight:700;cursor:pointer;
  font-family:inherit;
  box-shadow:0 6px 20px rgba(91,141,239,.45),
    inset 0 1px 1px rgba(255,255,255,.35);
  transition:transform .12s ease,box-shadow .2s ease;
}
.lg-btn:hover{box-shadow:0 8px 26px rgba(91,141,239,.6),
  inset 0 1px 1px rgba(255,255,255,.4)}
.lg-btn:active{transform:scale(.98)}

.lg-foot{font-size:11px;opacity:.62;text-align:center;margin-top:13px}

/* ===== АДАПТАЦИЯ ПОД УСТРОЙСТВА ===== */
/* большие экраны — компактнее, карточка не растягивается */
@media(min-width:1100px){
  .lg-content{max-width:430px}
  .lg-clock{font-size:60px}
}
/* планшеты */
@media(min-width:761px) and (max-width:1099px){
  .lg-content{max-width:440px}
}
/* смартфоны */
@media(max-width:760px){
  .lg-content{max-width:100%;padding:16px 14px;gap:11px}
  .lg-clock{font-size:46px}
  .lg-clock-panel{padding:15px 18px}
  .lg-weather-ic{font-size:32px}
  .lg-weather-temp{font-size:26px}
  .lg-card{padding:19px 17px}
  .lg-orb{filter:blur(55px)}
}
/* очень узкие экраны */
@media(max-width:380px){
  .lg-clock{font-size:40px}
  .lg-logo{width:42px;height:42px;font-size:21px}
  .lg-brand-name{font-size:15px}
  .lg-input{height:46px}
  .lg-btn{height:48px}
}
/* низкие экраны (телефон горизонтально) — всё прокручивается */
@media(max-height:640px){
  .lg-content{justify-content:flex-start;padding-top:14px}
  .lg-clock{font-size:38px}
}

/* днём плавающие пятна мягче и светлее */
.lg-scene.lg-day .lg-orb{opacity:.32;filter:blur(85px)}
.lg-scene.lg-day .lg-orb1{background:#fff}
.lg-scene.lg-day .lg-orb2{background:#bcdcff}
.lg-scene.lg-day .lg-orb3{background:#ffe9b0}
.lg-scene.lg-day .lg-grain{opacity:.02}
.lg-scene.lg-day .lg-foot{opacity:.55}
.lg-scene.lg-day .lg-clock-sec{opacity:.55}

/* Галочка бонусного аксессуара в корзине */
.cart-bonus{display:flex;align-items:center;gap:8px;margin-top:9px;
  padding:9px 11px;border-radius:9px;background:var(--accS);cursor:pointer;
  font-size:12px;font-weight:600;color:var(--acc)}
.cart-bonus input{width:16px;height:16px;cursor:pointer;accent-color:var(--acc)}

/* POS-меню буфета */
.buf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));
  gap:9px;margin-top:6px}
.buf-tile{position:relative;background:var(--soft);border:1.5px solid var(--line2);
  border-radius:12px;padding:12px 9px;cursor:pointer;text-align:center;
  transition:transform .1s,border-color .15s}
.buf-tile:active{transform:scale(.96)}
.buf-tile.on{border-color:var(--acc);border-width:2px;background:var(--accS)}
.buf-tile-name{font-size:12px;font-weight:700;color:var(--tx);line-height:1.3;
  min-height:32px;display:flex;align-items:center;justify-content:center}
.buf-tile-price{font-size:13px;font-weight:800;color:var(--ok);margin-top:3px}
.buf-tile-stock{font-size:9px;color:var(--tx3);margin-top:2px}
.buf-tile-badge{position:absolute;top:-7px;right:-7px;width:23px;height:23px;
  background:var(--acc);color:#fff;border-radius:50%;font-size:12px;font-weight:800;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 6px rgba(0,0,0,.25)}
.buf-cart-line{display:flex;align-items:center;gap:8px;padding:8px 0;
  border-bottom:1px solid var(--line)}
.buf-cl-name{flex:1;font-size:12.5px;font-weight:600}
.buf-cl-ctl{display:flex;align-items:center;gap:7px}
.buf-qbtn{width:26px;height:26px;border-radius:7px;border:1px solid var(--line2);
  background:var(--surf);font-size:15px;font-weight:800;cursor:pointer;
  color:var(--acc);font-family:inherit;line-height:1}
.buf-qn{font-size:13px;font-weight:800;min-width:18px;text-align:center}
.buf-cl-sum{font-size:12.5px;font-weight:700;width:88px;text-align:right}

/* POS-меню буфета — КРУПНЫЕ ПЛИТКИ (2 в ряд) */
.bufx-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}
.bufx-tile{position:relative;background:var(--surf);border-radius:18px;
  padding:18px 12px;text-align:center;cursor:pointer;
  box-shadow:0 3px 10px rgba(40,60,90,.08);
  border:2px solid transparent;transition:transform .1s,border-color .15s}
.bufx-tile:active{transform:scale(.96)}
.bufx-tile.on{border-color:var(--acc);background:var(--accS)}
.bufx-em{font-size:44px;line-height:1}
.bufx-name{font-size:13px;font-weight:700;color:var(--tx);margin-top:8px;
  line-height:1.3;min-height:34px;display:flex;align-items:center;
  justify-content:center}
.bufx-price{font-size:14px;font-weight:800;color:var(--ok);margin-top:3px}
.bufx-stock{font-size:9px;color:var(--tx3);margin-top:2px}
.bufx-badge{position:absolute;top:8px;right:8px;width:26px;height:26px;
  background:var(--acc);color:#fff;border-radius:50%;font-size:13px;font-weight:800;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 6px rgba(0,0,0,.25)}
.bufx-cart h3{margin-bottom:4px}
@media(min-width:760px){
  .bufx-grid{grid-template-columns:repeat(3,1fr)}
}
@media(min-width:1100px){
  .bufx-grid{grid-template-columns:repeat(4,1fr)}
}

/* Кнопка «Буфет» */
.buf-btn{background:var(--accS);color:var(--acc);border:none;border-radius:9px;
  padding:7px 12px;font-size:12px;font-weight:700;cursor:pointer;
  font-family:inherit;white-space:nowrap}
.buf-btn:active{transform:scale(.96)}
.cart-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.topbar .buf-btn{margin-left:auto;margin-right:6px}

/* Окно выбора типа угощения */
.treat-opts{display:flex;flex-direction:column;gap:8px;margin:12px 0}
.treat-opt{display:flex;align-items:center;gap:12px;text-align:left;
  background:var(--soft);border:1.5px solid var(--line2);border-radius:13px;
  padding:13px;cursor:pointer;font-family:inherit;width:100%}
.treat-opt:active{transform:scale(.98)}
.treat-opt:hover{border-color:var(--acc)}
.treat-opt-ic{font-size:28px;flex-shrink:0}
.treat-opt-t{font-size:13.5px;font-weight:700;color:var(--tx)}
.treat-opt-d{font-size:11px;color:var(--tx3);margin-top:2px}

/* ОТЧЁТЫ — вкладки, периоды, строки */
.rep-chips{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 4px}
.rep-chip{padding:7px 13px;border-radius:18px;font-size:11.5px;font-weight:700;
  cursor:pointer;border:1.5px solid var(--line2);background:var(--surf);
  color:var(--tx2);font-family:inherit}
.rep-chip.on{background:var(--acc);color:#fff;border-color:var(--acc)}
.rep-custom{display:flex;align-items:center;gap:6px;margin:8px 0 2px;flex-wrap:wrap}
.rep-custom .input{height:36px;width:auto;flex:1;min-width:120px}
.rep-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.rep-tab{padding:8px 12px;border-radius:9px;font-size:11.5px;font-weight:700;
  cursor:pointer;border:1.5px solid var(--line2);background:var(--surf);
  color:var(--tx2);font-family:inherit}
.rep-tab.on{background:var(--accS);color:var(--acc);border-color:var(--acc);
  border-width:2px}
.rep-row{display:flex;justify-content:space-between;align-items:center;
  padding:11px 0;border-bottom:1px solid var(--line)}
.rep-row:last-child{border-bottom:none}
.rep-rl{font-size:13px;font-weight:600;color:var(--tx)}
.rep-rd{font-size:10px;color:var(--tx3);margin-top:1px}
.rep-rv{font-size:14px;font-weight:800;white-space:nowrap}
.rep-big{border-radius:12px;padding:17px;text-align:center;margin-bottom:11px}
.rep-big.profit{background:linear-gradient(135deg,#0f9d6e,#0c7d58)}
.rep-big.loss{background:linear-gradient(135deg,#d8443c,#b5352e)}
.rep-big-l{font-size:11.5px;color:rgba(255,255,255,.85);font-weight:700;
  letter-spacing:.5px}
.rep-big-v{font-size:30px;font-weight:800;color:#fff;margin-top:3px}
.rep-big-s{font-size:11px;color:rgba(255,255,255,.8);margin-top:3px}

/* ПРОФИЛЬ БУФЕТА — вкладки */
.bft-wrap{display:flex;flex-direction:column;gap:12px}
.bft-tabs{display:flex;gap:4px;background:var(--soft);padding:4px;
  border-radius:11px;position:sticky;top:0;z-index:5}
.bft-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;
  padding:9px 4px;border-radius:8px;border:none;background:transparent;
  cursor:pointer;font-family:inherit;font-size:11px;font-weight:700;
  color:var(--tx2)}
.bft-tab.on{background:var(--surf);color:var(--tx);
  box-shadow:0 1px 4px rgba(0,0,0,.1)}
.bft-ic{font-size:17px}
.bft-cat-h{font-size:11px;font-weight:800;color:var(--tx3);
  text-transform:uppercase;letter-spacing:.5px;margin:10px 0 4px}
.bft-cat-h:first-child{margin-top:0}

/* Планшет — вкладки крупнее, контент шире */
@media(min-width:760px){
  .bft-tab{flex-direction:row;gap:7px;font-size:13px;padding:11px}
  .bft-ic{font-size:18px}
}
/* ПК — вкладки сбоку не делаем, но контент в комфортной ширине */
@media(min-width:1100px){
  .bft-wrap{max-width:920px;margin:0 auto}
  .bft-tabs{max-width:560px}
}

/* СКЛАД БУФЕТА — под-вкладки, рецепты */
.bft-sub{display:flex;gap:6px;margin-top:10px}
.bft-subt{flex:1;padding:8px;border-radius:8px;border:1.5px solid var(--line2);
  background:var(--surf);color:var(--tx2);font-size:11.5px;font-weight:700;
  cursor:pointer;font-family:inherit}
.bft-subt.on{background:var(--accS);color:var(--acc);border-color:var(--acc)}
.buf-recipe{font-size:11px;color:var(--tx3);margin-top:5px;line-height:1.5;
  background:var(--soft);border-radius:7px;padding:6px 8px}
.buf-recline{display:flex;align-items:center;gap:6px;margin-bottom:5px}
.buf-lowwarn{background:var(--warnS,#fdf0d8);border:1px solid #f0d090;
  border-radius:9px;padding:9px 12px;font-size:11.5px;color:#9a6112;
  font-weight:600;margin-bottom:10px;line-height:1.5}

/* Продажа — позиция нет в наличии */
.bufx-tile.bufx-out{opacity:.5}
.bufx-out-l{font-size:9px;color:var(--dng);font-weight:700;margin-top:2px}

/* Адаптив продажи: корзина сбоку на планшете/ПК */
.bufx-sale-wrap{display:block}
.bufx-sale-cart{margin-top:0}
@media(min-width:760px){
  .bufx-sale-wrap{display:flex;gap:13px;align-items:flex-start}
  .bufx-sale-main{flex:1;min-width:0}
  .bufx-sale-cart{width:270px;flex-shrink:0;position:sticky;top:64px}
  .bufx-sale-cart .card{margin-bottom:0}
}
/* POS: крупные кнопки оплаты под сенсор */
.bufx-pay-row{display:flex;gap:6px}
.bufx-pay{flex:1;padding:12px 4px;border-radius:10px;border:2px solid var(--line2);
  background:var(--surf);font-size:12.5px;font-weight:700;cursor:pointer;
  color:var(--tx);font-family:inherit;transition:all .12s}
.bufx-pay:active{transform:scale(.95)}
.bufx-pay.on{border-color:var(--ok);background:var(--okS,#e7f6ec);color:var(--ok)}
.bufx-paybtn{height:54px !important;font-size:16px !important;font-weight:800 !important}

/* Значок-счётчик на вкладке отчёта */
.rep-tab-dot{display:inline-flex;align-items:center;justify-content:center;
  min-width:17px;height:17px;background:var(--dng);color:#fff;border-radius:9px;
  font-size:10px;font-weight:800;padding:0 4px;margin-left:3px}

/* ====== СВОРАЧИВАЕМЫЙ САЙДБАР БУФЕТА ====== */
.sidebar.fancy-side{transition:width .32s cubic-bezier(.4,0,.2,1)}
@media(min-width:861px){
  .sidebar.fancy-side.collapsed{width:64px;min-width:64px;padding-left:8px;
    padding-right:8px}
  .sidebar.fancy-side.collapsed .side-brand-tx,
  .sidebar.fancy-side.collapsed .menu-lbl,
  .sidebar.fancy-side.collapsed .sb-divider-label,
  .sidebar.fancy-side.collapsed .side-theme,
  .sidebar.fancy-side.collapsed .side-user-tx,
  .sidebar.fancy-side.collapsed .bw-full{display:none}
  .sidebar.fancy-side.collapsed .menu-item{justify-content:center;padding:10px 0}
  .sidebar.fancy-side.collapsed .side-brand{justify-content:center}
  .sidebar.fancy-side.collapsed .side-user{justify-content:center}
}
.side-brand{position:relative}
/* === РАЗДЕЛИТЕЛИ ГРУПП В МЕНЮ === */
.sb-divider-label{font-size:10px;color:var(--tx3);text-transform:uppercase;
  letter-spacing:0.05em;padding:14px 12px 4px;font-weight:600}
.sb-divider-line{margin:8px 8px;border-top:0.5px solid var(--bd);height:0}
/* tooltip в свёрнутом режиме */
.menu-tt{display:none;position:absolute;left:100%;margin-left:10px;
  background:var(--bg);border:0.5px solid var(--bd);padding:5px 9px;
  border-radius:6px;font-size:12px;white-space:nowrap;color:var(--tx2);
  pointer-events:none;z-index:1000;box-shadow:0 2px 8px rgba(0,0,0,0.08)}
.menu-item.collapsed{position:relative}
.menu-item.collapsed:hover .menu-tt{display:block}
.side-toggle{position:absolute;right:0;top:50%;transform:translateY(-50%);
  width:24px;height:24px;border:none;border-radius:7px;background:var(--soft);
  color:var(--tx2);font-size:14px;cursor:pointer;display:flex;
  align-items:center;justify-content:center;
  transition:transform .32s cubic-bezier(.4,0,.2,1)}
.sidebar.fancy-side.collapsed .side-toggle{transform:translateY(-50%) rotate(180deg);
  position:static;margin:0 auto}

/* виджеты сайдбара */
.buf-widgets{display:flex;flex-direction:column;gap:7px;margin:10px 0;
  padding:0 2px}
.bw{border-radius:10px;overflow:hidden}
.sidebar.fancy-side:not(.collapsed) .bw{padding:10px}
.sidebar.fancy-side.collapsed .bw{padding:9px 0;text-align:center}
.bw-mini{display:none;flex-direction:column;align-items:center;gap:1px}
.sidebar.fancy-side.collapsed .bw-mini{display:flex}
.sidebar.fancy-side.collapsed .bw-full{display:none}
.bw-e{font-size:15px}
.bw-num{font-size:9.5px;font-weight:800}
.bw-rev{background:linear-gradient(135deg,#0f9d6e,#0c7d58);color:#fff}
.bw-rev .bw-l{font-size:8px;opacity:.85;font-weight:700;letter-spacing:.3px}
.bw-rev .bw-v{font-size:16px;font-weight:800;margin-top:1px}
.bw-rev .bw-d{font-size:8px;opacity:.85;margin-top:1px}
.bw-rev .bw-num{color:#fff}
.bw-ord{background:var(--accS,#eef0fd)}
.bw-ord-row{display:flex;align-items:center;gap:8px}
.bw-big{font-size:19px;font-weight:800;color:var(--acc)}
.bw-ord-tx{font-size:8.5px;color:var(--acc);font-weight:700;line-height:1.3}
.bw-ord .bw-num{color:var(--acc)}
.bw-low{background:#fdf0d8;border:1px solid #f0d090}
.bw-low-h{font-size:8px;font-weight:800;color:#9a6112;margin-bottom:5px;
  letter-spacing:.3px}
.bw-low-r{display:flex;justify-content:space-between;font-size:9.5px;
  color:#9a6112;padding:2px 0}
.bw-low-r b{color:#c0392b}
.bw-low-ok{font-size:9px;color:#0c7d58;font-weight:600}
.bw-low .bw-num{color:#c0392b}

/* ====== ШАПКА БУФЕТА ====== */
.buf-topbar{background:linear-gradient(120deg,#5b4ef5,#7d5ef5);
  padding:12px 16px;color:#fff}
.buf-tb-row{display:flex;align-items:center;gap:11px}
.buf-burger{background:rgba(255,255,255,.18);color:#fff;border:none}
.buf-greet{flex:1;min-width:0}
.buf-hi{font-size:14px;font-weight:800;white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis}
.buf-date{font-size:9.5px;opacity:.85;margin-top:1px}
.buf-tb-right{display:flex;align-items:center;gap:10px}
.buf-clock{text-align:right}
.buf-tm{font-size:15px;font-weight:800;line-height:1}
.buf-wx{font-size:8.5px;opacity:.85;margin-top:2px;white-space:nowrap}
.buf-bell{width:34px;height:34px;border-radius:9px;border:none;
  background:rgba(255,255,255,.18);color:#fff;font-size:14px;cursor:pointer;
  position:relative;flex-shrink:0}
.buf-search-wrap{margin-top:10px;background:rgba(255,255,255,.2);
  border-radius:9px;display:flex;align-items:center;gap:8px;padding:0 12px}
.buf-search-ic{font-size:13px;opacity:.8}
.buf-search{flex:1;background:transparent;border:none;outline:none;
  padding:10px 0;font-size:12px;color:#fff;font-family:inherit}
.buf-search::placeholder{color:rgba(255,255,255,.7)}
.buf-burger{display:none}
@media(max-width:860px){
  .buf-burger{display:flex}
}

/* ЦВЕТНЫЕ ПЛИТКИ ПРОДАЖИ БУФЕТА */
.bufx-tile.bufx-color{border:none;color:#fff;
  box-shadow:0 3px 10px rgba(0,0,0,.13)}
.bufx-tile.bufx-color .bufx-name{color:#fff}
.bufx-tile.bufx-color .bufx-price{color:#fff;opacity:.95}
.bufx-tile.bufx-color.on{outline:3px solid rgba(255,255,255,.6);
  outline-offset:-3px}
.bufx-tile.bufx-color .bufx-badge{background:rgba(255,255,255,.95);
  color:#1f1f1d}
.bufx-tile.bufx-color.bufx-out{box-shadow:none}
.bufx-tile.bufx-color .bufx-out-l{color:#fff;background:rgba(0,0,0,.25);
  border-radius:5px;padding:1px 0;font-size:9px;margin-top:2px}

/* Поля входа — убираем белый фон при автозаполнении браузером */
input.lg-input:-webkit-autofill,
input.lg-input:-webkit-autofill:hover,
input.lg-input:-webkit-autofill:focus,
input.lg-input:-webkit-autofill:active{
  -webkit-text-fill-color:#fff !important;
  -webkit-box-shadow:0 0 0 100px #2a3b6e inset !important;
  box-shadow:0 0 0 100px #2a3b6e inset !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  transition:background-color 99999s ease-in-out 0s !important;
  caret-color:#fff;
  border-radius:11px;
}
.lg-scene.lg-day input.lg-input:-webkit-autofill,
.lg-scene.lg-day input.lg-input:-webkit-autofill:hover,
.lg-scene.lg-day input.lg-input:-webkit-autofill:focus,
.lg-scene.lg-day input.lg-input:-webkit-autofill:active{
  -webkit-text-fill-color:#16294d !important;
  -webkit-box-shadow:0 0 0 100px #dde6f5 inset !important;
  box-shadow:0 0 0 100px #dde6f5 inset !important;
  caret-color:#16294d;
}

/* ====== СВЁРНУТЫЙ САЙДБАР БУФЕТА — чистый вид, фокус на ПК ====== */
@media(min-width:861px){
  .sidebar.fancy-side{display:flex;flex-direction:column;padding:16px 14px;
    background:var(--surf)}
  .sidebar.fancy-side:not(.collapsed){width:236px}
  .sidebar.fancy-side.collapsed{width:76px;min-width:76px;padding:16px 0}

  /* --- ЛОГОТИП --- */
  .sidebar.fancy-side.collapsed .side-brand{flex-direction:column;gap:10px;
    padding:0 0 13px;margin-bottom:12px;border-bottom:1px solid var(--line)}
  .sidebar.fancy-side.collapsed .side-logo{margin:0 auto}
  .sidebar.fancy-side.collapsed .side-toggle{position:static;transform:none;
    margin:0 auto;width:30px;height:24px}
  .sidebar.fancy-side.collapsed .side-toggle:hover{transform:none}

  /* --- ПУНКТЫ МЕНЮ — ровные квадраты по центру --- */
  .sidebar.fancy-side.collapsed .menu{gap:6px;align-items:center}
  .sidebar.fancy-side.collapsed .menu-item{width:46px;height:46px;margin:0;
    border-radius:13px;padding:0;justify-content:center;
    transition:background .15s}
  .sidebar.fancy-side.collapsed .menu-item .ic{font-size:20px}
  .sidebar.fancy-side.collapsed .menu-item.active{background:var(--accS)}
  .sidebar.fancy-side.collapsed .menu-item:hover{background:var(--soft)}

  /* --- ВИДЖЕТЫ свёрнутые — аккуратные карточки с подписью --- */
  .sidebar.fancy-side.collapsed .buf-widgets{gap:8px;margin:14px 0;
    align-items:center}
  .sidebar.fancy-side.collapsed .bw{width:52px;height:52px;border-radius:14px;
    display:flex;align-items:center;justify-content:center;padding:0}
  .sidebar.fancy-side.collapsed .bw-mini{gap:1px}
  .sidebar.fancy-side.collapsed .bw-e{font-size:17px;line-height:1}
  .sidebar.fancy-side.collapsed .bw-num{font-size:9.5px;font-weight:800;
    line-height:1}

  /* --- АВАТАР внизу --- */
  .sidebar.fancy-side.collapsed .side-user{margin-top:auto;padding-top:12px;
    border-top:1px solid var(--line);justify-content:center}
  .sidebar.fancy-side.collapsed .avatar{margin:0}

  /* --- РАЗВЁРНУТЫЙ — причёсанный --- */
  .sidebar.fancy-side:not(.collapsed) .buf-widgets{margin:14px 2px}
  .sidebar.fancy-side:not(.collapsed) .bw{box-shadow:0 2px 8px rgba(0,0,0,.06)}
  .sidebar.fancy-side:not(.collapsed) .side-toggle{position:absolute;right:0;
    top:50%;transform:translateY(-50%)}
}
.side-toggle{box-shadow:0 1px 3px rgba(0,0,0,.1);transition:background .15s}
.side-toggle:hover{background:var(--acc);color:#fff}
/* убираем пустой провал — меню не растягивается */
.sidebar.fancy-side .menu{flex:0 0 auto}
.sidebar.fancy-side .buf-widgets{flex:0 0 auto}

/* ====== ШАПКА ПРОДАВЦА — рейтинг ====== */
.sel-topbar{background:linear-gradient(120deg,#e0772b,#d9591f);color:#fff;
  padding:13px 16px;display:flex;align-items:center;gap:12px}
.sel-burger{background:rgba(255,255,255,.18);color:#fff;border:none;display:none}
@media(max-width:860px){.sel-burger{display:flex}}
.sel-tb-tx{flex:1;min-width:0}
.sel-tb-t{font-size:13.5px;font-weight:800;white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis}
.sel-tb-s{font-size:9px;opacity:.85;margin-top:1px}
.sel-rank{display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.18);
  border-radius:11px;padding:7px 13px;flex-shrink:0}
.sel-rank-pos{font-size:21px;font-weight:800;line-height:1}
.sel-rank-tx{font-size:8.5px;opacity:.9;line-height:1.3}
.sel-bell{width:34px;height:34px;border-radius:9px;border:none;flex-shrink:0;
  background:rgba(255,255,255,.18);color:#fff;font-size:14px;cursor:pointer;
  position:relative}

/* ====== ДАШБОРД ПРОДАВЦА ====== */
.sh-wrap{max-width:880px}
.sh-hi{font-size:17px;font-weight:800;color:var(--tx)}
.sh-sub{font-size:11px;color:var(--tx3);margin:2px 0 14px}
.sh-cards{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-bottom:13px}
.sh-c{border-radius:15px;padding:16px;color:#fff}
.sh-c-green{background:linear-gradient(135deg,#0f9d6e,#0c7d58)}
.sh-c-blue{background:linear-gradient(135deg,#4f8ff5,#6d5ef5)}
.sh-c-l{font-size:9.5px;opacity:.85;font-weight:700;letter-spacing:.3px}
.sh-c-v{font-size:25px;font-weight:800;margin-top:4px}
.sh-c-d{font-size:9.5px;opacity:.85;margin-top:2px}
.sh-act{background:var(--soft);border-radius:15px;padding:14px}
.sh-act-h{font-size:12px;font-weight:800;color:var(--tx);margin-bottom:10px}
.sh-act-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.sh-ab{background:var(--surf);border:1px solid var(--line);border-radius:12px;
  padding:14px 6px;text-align:center;font-size:10px;font-weight:700;
  color:var(--tx2);cursor:pointer;transition:transform .12s,border-color .12s}
.sh-ab:hover{border-color:var(--acc);transform:translateY(-2px)}
.sh-ab-e{font-size:23px;display:block;margin-bottom:3px}
/* планшет и ПК — действия 6 в ряд, карточки шире */
@media(min-width:760px){
  .sh-act-grid{grid-template-columns:repeat(6,1fr)}
}

/* ====== ШАПКА КАССИРА — касса дня ====== */
.cash-topbar{background:#1f1f1d;color:#fff;padding:13px 16px;
  display:flex;align-items:center;gap:12px}
.cash-burger{background:rgba(255,255,255,.15);color:#fff;border:none;display:none}
@media(max-width:860px){.cash-burger{display:flex}}
.cash-tb-tx{flex:1;min-width:0}
.cash-tb-t{font-size:13.5px;font-weight:800;white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis}
.cash-tb-s{font-size:9px;opacity:.6;margin-top:1px}
.cash-day{text-align:right;flex-shrink:0}
.cash-day-l{font-size:8px;opacity:.55;font-weight:700;letter-spacing:.6px}
.cash-day-v{font-size:20px;font-weight:800;color:#3dd6c4;margin-top:1px;
  white-space:nowrap}
.cash-bell{width:34px;height:34px;border-radius:9px;border:none;flex-shrink:0;
  background:rgba(255,255,255,.15);color:#fff;font-size:14px;cursor:pointer;
  position:relative}

/* ====== ГЛАВНЫЙ ЭКРАН КАССИРА — поиск | история | чеки | очередь ====== */
.cc-wrap{display:block}
.cc-queue-col,.cc-hist-col,.cc-search-col,.cc-checks-col{margin-bottom:13px}
@media(min-width:900px){
  .cc-wrap{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}
  .cc-search-col{flex:1 1 240px;min-width:230px;margin-bottom:0;order:1}
  .cc-hist-col{flex:1 1 220px;min-width:210px;margin-bottom:0;order:2}
  .cc-checks-col{flex:1 1 200px;min-width:190px;margin-bottom:0;order:3}
  .cc-queue-col{flex:1 1 240px;min-width:230px;margin-bottom:0;order:4}
}
/* калькулятор-колонка переносится вниз при нехватке места, не ломая раскладку */
@media(min-width:1001px){
  .calc-col{flex:0 0 230px}
}
.cc-codecard{text-align:center;padding:22px 16px}
.cc-lbl{font-size:11px;font-weight:800;color:var(--tx3);letter-spacing:.8px}
.cc-cells{display:flex;justify-content:center;gap:9px;margin:15px 0}
.cc-cell{width:42px;height:54px;border-radius:12px;background:var(--soft);
  border:2px solid var(--line2);display:flex;align-items:center;
  justify-content:center;font-size:24px;font-weight:800;color:var(--tx);
  font-family:monospace;transition:border-color .15s,background .15s}
.cc-cell.fill{border-color:var(--ok);background:var(--okS,#e3f5ee)}
.cc-cell.active{border-color:var(--acc)}
.cc-keys{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;
  max-width:320px;margin:0 auto}
.cc-key{height:56px;border:1px solid var(--line);border-radius:13px;
  background:var(--surf);font-size:21px;font-weight:800;color:var(--tx);
  cursor:pointer;font-family:inherit;transition:background .12s,transform .08s}
.cc-key:hover{background:var(--soft)}
.cc-key:active{transform:scale(.95)}
.cc-key-del{background:#fdeceb;color:#c0392b;border-color:#f3c8c4}
.cc-key-ok{background:linear-gradient(135deg,#0f9d6e,#0c7d58);color:#fff;
  border:none;font-size:24px}
.cc-hint{font-size:10.5px;color:var(--tx3);margin-top:13px}

/* очередь сбоку */
.cc-q-item{display:flex;align-items:center;gap:9px;padding:11px;
  border-radius:11px;background:var(--soft);margin-bottom:7px;cursor:pointer;
  border-left:3px solid var(--ok);transition:transform .1s}
.cc-q-item:hover{transform:translateX(2px)}
.cc-q-tx{flex:1;min-width:0}
.cc-q-t{font-size:12px;font-weight:800;color:var(--tx)}
.cc-q-d{font-size:9.5px;color:var(--tx3);margin-top:1px}
.cc-q-code{font-family:monospace;font-size:13px;font-weight:800;
  color:var(--acc);background:var(--accS);border-radius:6px;padding:3px 8px}

/* окно сверки кода */
.cc-verify{max-width:340px;text-align:center}
.cc-v-top{font-size:15px;font-weight:800;color:var(--ok)}
.cc-v-lbl{font-size:11px;color:var(--tx3);margin-top:4px}
.cc-v-code{font-family:monospace;font-size:42px;font-weight:800;
  letter-spacing:4px;color:var(--tx);margin:14px 0;padding:16px;
  background:var(--soft);border-radius:14px;border:2px dashed var(--acc)}
.cc-v-info{font-size:12px;color:var(--tx2);line-height:1.6}
.cc-v-info b{font-size:17px;color:var(--ok)}
.cc-v-warn{font-size:10.5px;color:#9a6112;background:#fdf0d8;
  border-radius:9px;padding:9px 11px;margin-top:11px;line-height:1.5}

/* ============ ЭКРАН ВХОДА — две панели, адаптив, темы ============ */
.lg2{display:flex;min-height:100vh;position:relative;overflow:hidden;
  background:linear-gradient(135deg,#c2bce0,#cabce2 55%,#d2c4e0)}
/* переключатель темы — правый верхний угол */
.lg2-theme{position:absolute;top:16px;right:16px;z-index:20;
  width:42px;height:42px;border-radius:12px;border:none;cursor:pointer;
  background:rgba(255,255,255,.4);color:#3a3550;font-size:18px;
  display:flex;align-items:center;justify-content:center;
  backdrop-filter:blur(6px);transition:transform .15s,background .15s}
.lg2-theme:hover{transform:scale(1.08)}

/* ЛЕВАЯ ЧАСТЬ — форма (на едином фоне, без своего фона) */
.lg2-left{width:42%;min-width:340px;background:transparent;position:relative;
  display:flex;align-items:center;justify-content:center;padding:30px;
  z-index:2}
.lg2-deco{position:absolute;border-radius:50%;
  background:rgba(255,255,255,.22);pointer-events:none;z-index:1}
.lg2-d1{width:300px;height:300px;top:-110px;left:-90px}
.lg2-d2{width:230px;height:230px;bottom:-90px;right:8%}
.lg2-d3{width:150px;height:150px;top:14%;right:30%;
  background:rgba(255,255,255,.13)}
.lg2-d4{width:120px;height:120px;bottom:18%;left:36%;
  background:rgba(255,255,255,.1)}
.lg2-card{background:#fff;border-radius:20px;padding:32px 28px;width:100%;
  max-width:340px;position:relative;z-index:2;
  box-shadow:0 20px 60px rgba(0,0,0,.3)}
.lg2-logo{width:54px;height:54px;border-radius:15px;margin:0 auto 12px;
  background:linear-gradient(135deg,#4f46e5,#7d5ef5);color:#fff;font-weight:800;
  display:flex;align-items:center;justify-content:center;font-size:25px}
/* v119: оригинальный логотип Makon Mobile в PNG */
.lg2-logo-img{
  display:block;
  margin:0 auto 18px;
  max-width:260px;
  width:100%;
  height:auto;
  -webkit-user-drag:none;
  user-select:none;
}
.lg2-brand{font-size:19px;font-weight:800;text-align:center;color:#1f1f1d}
.lg2-sub{font-size:10px;text-align:center;color:#9a9994;margin:2px 0 22px}
.lg2-welcome{font-size:13px;font-weight:800;color:#1f1f1d;margin-bottom:12px}
.lg2-field{display:flex;align-items:center;gap:9px;background:#f4f4f3;
  border:1.5px solid #e5e5e3;border-radius:12px;padding:0 13px;margin-bottom:10px;
  transition:border-color .15s}
.lg2-field:focus-within{border-color:#4f46e5}
.lg2-ico{font-size:14px;opacity:.55}
.lg2-input{flex:1;background:transparent;border:none;outline:none;
  padding:13px 0;font-size:13px;color:#1f1f1d;font-family:inherit}
.lg2-eye{font-size:14px;opacity:.5;cursor:pointer}
.lg2-err{font-size:11px;color:#c0392b;min-height:15px;margin:2px 0}
.lg2-btn{width:100%;height:46px;border:none;border-radius:12px;cursor:pointer;
  background:linear-gradient(135deg,#4f46e5,#7d5ef5);color:#fff;
  font-size:14px;font-weight:800;font-family:inherit;transition:transform .12s}
.lg2-btn:hover{transform:translateY(-1px)}
.lg2-foot{font-size:9.5px;color:#9a9994;text-align:center;margin-top:13px}
/* поля логина при автозаполнении */
.lg2-input:-webkit-autofill,.lg2-input:-webkit-autofill:hover,
.lg2-input:-webkit-autofill:focus{
  -webkit-text-fill-color:#1f1f1d !important;
  -webkit-box-shadow:0 0 0 100px #f4f4f3 inset !important;
  transition:background-color 99999s ease 0s !important}

/* ПРАВАЯ ЧАСТЬ — инфопанель */
.lg2-right{flex:1;background:transparent;
  display:flex;align-items:center;justify-content:center;padding:30px}
.lg2-info{width:100%;max-width:330px;color:#3a3550;display:flex;
  flex-direction:column}
.lg2-strip{display:flex;gap:9px;margin-bottom:26px}
.lg2-chip{flex:1;background:rgba(255,255,255,.5);border-radius:12px;
  padding:10px 12px;display:flex;align-items:center;gap:9px;min-width:0}
.lg2-chip-e{font-size:19px;flex-shrink:0}
.lg2-chip-l{font-size:7.5px;opacity:.55;font-weight:700;letter-spacing:.4px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lg2-chip-v{font-size:12px;font-weight:800;margin-top:1px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lg2-clockwrap{text-align:center;margin-bottom:24px}
.lg2-clock{font-size:64px;font-weight:800;line-height:1;letter-spacing:1px}
.lg2-date{font-size:12px;opacity:.6;margin-top:4px}
.lg2-quote{background:rgba(255,255,255,.5);border-radius:15px;padding:18px 17px;
  position:relative}
.lg2-quote-m{font-size:46px;opacity:.3;line-height:.4;font-family:Georgia,serif;
  height:22px}
.lg2-quote-t{font-size:13.5px;font-weight:600;font-style:italic;line-height:1.55}
.lg2-quote-a{font-size:10.5px;opacity:.6;font-weight:700;margin-top:9px}

/* --- ТЁМНАЯ ТЕМА для экрана входа --- */
[data-theme="dark"] .lg2{
  background:linear-gradient(135deg,#272540,#2c2846 55%,#2e2a44)}
[data-theme="dark"] .lg2-theme{background:rgba(255,255,255,.12);color:#fff}
[data-theme="dark"] .lg2-deco{background:rgba(255,255,255,.05)}
[data-theme="dark"] .lg2-card{background:rgba(26,31,46,.94);
  box-shadow:0 20px 60px rgba(0,0,0,.5)}
[data-theme="dark"] .lg2-brand,[data-theme="dark"] .lg2-welcome{color:#e8e8ee}
[data-theme="dark"] .lg2-sub{color:#6b7186}
[data-theme="dark"] .lg2-field{background:#15171f;border-color:#2a3346}
[data-theme="dark"] .lg2-input{color:#e8e8ee}
[data-theme="dark"] .lg2-input:-webkit-autofill{
  -webkit-text-fill-color:#e8e8ee !important;
  -webkit-box-shadow:0 0 0 100px #15171f inset !important}
[data-theme="dark"] .lg2-foot{color:#6b7186}
[data-theme="dark"] .lg2-info{color:#dcdce4}
[data-theme="dark"] .lg2-chip{background:rgba(255,255,255,.08)}
[data-theme="dark"] .lg2-quote{background:rgba(255,255,255,.07)}

/* --- АДАПТИВ — планшет --- */
@media(max-width:900px){
  .lg2-left{width:48%;min-width:0;padding:22px}
  .lg2-right{padding:22px}
  .lg2-clock{font-size:52px}
  .lg2-card{padding:26px 22px}
}
/* --- АДАПТИВ — телефон: панели одна над другой --- */
@media(max-width:640px){
  .lg2{flex-direction:column}
  .lg2-left{width:100%;min-width:0;order:2;padding:24px 18px 34px}
  .lg2-right{width:100%;order:1;padding:54px 18px 24px;min-height:auto}
  .lg2-d1{width:190px;height:190px;top:-80px;left:-70px}
  .lg2-d2{width:150px;height:150px;bottom:-70px;right:-30px}
  .lg2-d3{width:90px;height:90px;top:8%;right:8%}
  .lg2-d4{display:none}
  .lg2-clock{font-size:46px}
  .lg2-clockwrap{margin-bottom:18px}
  .lg2-strip{margin-bottom:18px}
  .lg2-info{max-width:360px}
  .lg2-card{max-width:360px}
  .lg2-theme{top:12px;right:12px;width:38px;height:38px;font-size:16px}
}

/* ====== УСЛУГИ СЕРВИСА ====== */
.srv-item{display:flex;align-items:center;gap:9px;padding:11px 13px;
  border-radius:11px;background:var(--soft);margin-bottom:7px;
  border-left:3px solid var(--ok)}
.srv-item.srv-paid{border-left-color:#bdbdb8;opacity:.7}
.srv-tx{flex:1;min-width:0}
.srv-n{font-size:12px;font-weight:800;color:var(--tx)}
.srv-d{font-size:9.5px;color:var(--tx3);margin-top:1px}
.srv-badge{font-family:monospace;font-size:12px;font-weight:800;
  color:var(--acc);background:var(--accS);border-radius:6px;padding:3px 8px;
  flex-shrink:0}
.srv-badge.ok{color:#fff;background:var(--ok);font-family:inherit}
.srv-label{font-size:10px;font-weight:700;color:var(--tx3);
  margin:11px 0 5px;letter-spacing:.3px}
.srv-chips{display:flex;flex-wrap:wrap;gap:6px}
.srv-chip{border:1.5px solid var(--line2);border-radius:17px;padding:7px 12px;
  font-size:10.5px;font-weight:700;color:var(--tx2);cursor:pointer;
  background:var(--surf);transition:background .12s,border-color .12s}
.srv-chip:hover{border-color:var(--ok)}
.srv-chip.on{background:var(--okS,#e3f5ee);border-color:var(--ok);color:var(--ok)}
.srv-chip-add{border-style:dashed;border-color:var(--acc);color:var(--acc)}

/* ====== БЛОК ЗАПЧАСТЕЙ В ФОРМЕ РЕМОНТА ====== */
.rf-sec{margin-top:6px;padding:12px;background:var(--soft);border-radius:11px;
  border:1px solid var(--line)}
.rf-sec-h{font-size:11.5px;font-weight:800;color:var(--tx)}
/* v149: метка «необязательное поле» */
.rf-opt{
  display:inline-block;
  font-size:9.5px;
  font-weight:600;
  padding:1px 7px;
  border-radius:8px;
  background:#DBEAFE;
  color:#1E40AF;
  margin-left:6px;
  text-transform:none;
  letter-spacing:0;
  vertical-align:middle;
}
[data-theme="dark"] .rf-opt{ background:#1E3A8A; color:#BFDBFE; }
/* v149: пометка «не указано» в карточке ремонта */
.rep-missing{
  color:#92400E;
  font-weight:600;
  background:#FEF3C7;
  padding:1px 6px;
  border-radius:4px;
  font-size:11px;
}
[data-theme="dark"] .rep-missing{ background:#3A2807; color:#FAC775; }
/* v149: легкая подсветка карточек ремонта где не всё заполнено */
.item.rep-need-fill{
  position:relative;
}
.item.rep-need-fill::before{
  content:'';
  position:absolute;
  left:0;top:0;bottom:0;
  width:3px;
  background:#F59E0B;
  border-radius:3px 0 0 3px;
}

/* v152: метка «обязательное поле» */
.rf-req{
  display:inline-block;
  font-size:9.5px;
  font-weight:600;
  padding:1px 7px;
  border-radius:8px;
  background:#FEE2E2;
  color:#991B1B;
  margin-left:6px;
  text-transform:none;
  letter-spacing:0;
  vertical-align:middle;
}
[data-theme="dark"] .rf-req{ background:#7F1D1D; color:#FCA5A5; }

/* v152: контейнер фото-загрузки в форме ремонта */
.rf-photo-box{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:10px;
  background:#F0F9FF;
  border:2px dashed #93C5FD;
  border-radius:8px;
  min-height:90px;
  align-items:center;
}
[data-theme="dark"] .rf-photo-box{
  background:#0F172A;
  border-color:#1E40AF;
}
.rf-photo-thumb{
  position:relative;
  width:72px;
  height:72px;
  border-radius:6px;
  overflow:hidden;
  background:#E5E7EB;
}
.rf-photo-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.rf-photo-x{
  position:absolute;
  top:2px;
  right:2px;
  width:20px;
  height:20px;
  border-radius:50%;
  background:rgba(0,0,0,0.6);
  color:#fff;
  border:0;
  cursor:pointer;
  font-size:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  line-height:1;
}
.rf-photo-add{
  min-width:72px;
  height:72px;
  border-radius:6px;
  background:#3B82F6;
  color:#fff;
  border:0;
  font-size:11px;
  font-weight:600;
  cursor:pointer;
  padding:4px 10px;
}
.rf-photo-add:hover{ background:#2563EB; }
.rf-sec-s{font-size:9px;color:var(--tx3);margin:2px 0 9px}
.rf-part{display:flex;gap:6px;margin-bottom:6px;align-items:center}
.rf-part .pn{flex:1.7;min-height:32px;border:1.5px solid var(--line2);
  border-radius:7px;padding:5px 8px;font-size:9.5px;color:var(--tx);
  display:flex;align-items:center;gap:4px;background:var(--surf);flex-wrap:wrap}
.rf-part .pp{flex:1;height:32px;border:1.5px solid var(--line2);
  border-radius:7px;padding:0 8px;font-size:10px;color:var(--tx);
  display:flex;align-items:center;background:var(--surf);font-weight:700}
.rf-part .px{width:28px;height:32px;border:none;border-radius:7px;
  background:#fdeceb;color:#c0392b;font-size:13px;font-weight:800;
  cursor:pointer;flex-shrink:0}
.rf-part-src{font-size:7.5px;font-weight:700;border-radius:4px;padding:1px 5px}
.rf-src-stock{background:#e3f5ee;color:#0f9d6e}
.rf-src-hand{background:#fdf0d8;color:#9a6112}
.rf-add{width:100%;height:33px;border:1.5px dashed var(--acc);border-radius:8px;
  background:var(--accS);color:var(--acc);font-size:10.5px;font-weight:700;
  cursor:pointer;margin-top:3px}
.rf-calc{margin-top:13px;background:var(--accS);border-radius:11px;padding:13px;
  border:1px solid var(--line)}
.rf-cr{display:flex;justify-content:space-between;font-size:11px;
  padding:4px 0;color:var(--tx2)}
.rf-cr b{font-weight:800;color:var(--tx)}
.rf-div{height:1px;background:var(--line2);margin:6px 0}
.rf-total{display:flex;justify-content:space-between;align-items:center}
.rf-total .l{font-size:12px;font-weight:800;color:var(--tx)}
.rf-total .v{font-size:20px;font-weight:800;color:var(--ok)}
.rf-warn{font-size:9.5px;color:#c0392b;background:#fdeceb;border-radius:8px;
  padding:8px 10px;margin-top:8px;line-height:1.5;font-weight:600}
.rf-btns{display:flex;gap:8px}
.rf-drop{margin-top:6px;border:1.5px solid var(--line2);border-radius:9px;
  overflow:hidden}
.rf-drop-i{padding:9px 11px;font-size:10px;border-bottom:1px solid var(--line);
  display:flex;justify-content:space-between;cursor:pointer;color:var(--tx)}
.rf-drop-i:last-child{border-bottom:none}
.rf-drop-i:hover{background:var(--soft)}
.rf-drop-i.hand{background:var(--accS);color:var(--acc);font-weight:700}
.rf-drop-i .q{color:var(--tx3);font-size:9px}

/* ====== ЗАКЛЮЧЕНИЕ СЕРВИСА (среднее состояние) ====== */
.dl-srv-note{background:#fdf3e0;border:1px solid #f0d9a8;border-radius:9px;
  padding:9px 11px;margin-top:8px}
.dl-srv-h{font-size:11px;font-weight:800;color:#9a6112}
.dl-srv-t{font-size:10.5px;color:#6b5a30;margin-top:3px;line-height:1.5}
[data-theme="dark"] .dl-srv-note{background:#3a2f18;border-color:#5a4a28}
[data-theme="dark"] .dl-srv-h{color:#e0b870}
[data-theme="dark"] .dl-srv-t{color:#c9b890}

/* ====== СПИСОК УСТРОЙСТВ В ПЕРЕМЕЩЕНИИ ====== */
.tr-list-h{font-size:11px;font-weight:800;color:var(--tx2);margin:11px 0 7px}
.tr-list{display:flex;flex-direction:column;gap:6px}
.tr-pick{display:flex;align-items:center;gap:9px;padding:9px 11px;
  background:var(--soft);border-radius:9px;border-left:3px solid var(--acc)}
.tr-pick-tx{flex:1;min-width:0}
.tr-pick-n{font-size:11px;font-weight:700;color:var(--tx)}
.tr-pick-s{font-size:9px;color:var(--tx3);margin-top:1px}

/* ====== СКЛАД — компактный вид + поиск ====== */
.wh-stats{display:flex;gap:7px;margin:11px 0}
.wh-st{flex:1;background:var(--soft);border-radius:9px;padding:8px 9px;
  text-align:center}
.wh-st .l{font-size:7.5px;color:var(--tx3);font-weight:700;letter-spacing:.3px}
.wh-st .v{font-size:15px;font-weight:800;color:var(--tx);margin-top:1px}
.wh-st .v.acc{color:var(--acc)}
.wh-st .v.ok{color:var(--ok)}
.wh-st .v.am{color:var(--warn)}
.wh-search{display:flex;align-items:center;gap:8px;background:var(--soft);
  border:1.5px solid var(--line2);border-radius:10px;padding:0 12px}
.wh-search-ic{font-size:13px;color:var(--tx3)}
.wh-search-in{flex:1;border:none;background:transparent;height:40px;
  font-size:12px;color:var(--tx);outline:none}
.wh-list{display:flex;flex-direction:column;gap:6px}
.wh-row{display:flex;align-items:center;gap:9px;background:var(--soft);
  border-radius:9px;padding:9px 11px;border-left:3px solid var(--ok)}
.wh-row.am{border-left-color:var(--warn)}
.wh-row.dn{border-left-color:#c0392b}
.wh-row-info{flex:1;min-width:0}
.wh-row-n{font-size:11.5px;font-weight:700;color:var(--tx)}
.wh-row-s{font-size:9px;color:var(--tx3);margin-top:1px}
.wh-stepper{display:flex;align-items:center;background:var(--surf);
  border:1px solid var(--line2);border-radius:8px;overflow:hidden;flex-shrink:0}
.wh-stepper button{width:28px;height:30px;border:none;background:transparent;
  color:var(--acc);font-size:16px;font-weight:800;cursor:pointer}
.wh-stepper button:active{background:var(--accS)}
.wh-qn{min-width:30px;text-align:center;font-size:13px;font-weight:800;
  color:var(--tx)}
.wh-row-acts{display:flex;gap:4px;flex-shrink:0}
.wh-ic{width:30px;height:30px;border:none;border-radius:7px;cursor:pointer;
  background:var(--surf);font-size:13px;display:flex;align-items:center;
  justify-content:center}
.wh-ic.dng{background:#fdeceb;color:#c0392b}
[data-theme="dark"] .wh-ic.dng{background:#3a1c1a}

/* ====== КАССА — живой результат поиска кода ====== */
.cc-result{margin-top:12px}
.cc-res-load{text-align:center;font-size:12px;color:var(--tx3);padding:14px}
.cc-res-no{background:#fdeceb;border:1px solid #f0c8c4;border-radius:10px;
  padding:14px;text-align:center;font-size:13px;font-weight:700;color:#c0392b}
.cc-res-no span{font-size:11px;font-weight:400;color:#9a6b66}
[data-theme="dark"] .cc-res-no{background:#3a1c1a;border-color:#5a2a26}
.cc-res-head{font-size:13px;font-weight:800;color:var(--ok);
  text-align:center;margin-bottom:9px}
.cc-res-card{background:var(--soft);border-radius:10px;padding:11px 13px;
  margin-bottom:10px}
.cc-res-row{display:flex;justify-content:space-between;font-size:11px;
  padding:3px 0;color:var(--tx2)}
.cc-res-row b{color:var(--tx);font-weight:700}
.cc-res-sum{display:flex;justify-content:space-between;align-items:center;
  padding-top:8px;margin-top:4px;border-top:1px solid var(--line2)}
.cc-res-sum span{font-size:11px;font-weight:800;color:var(--tx2)}
.cc-res-sum b{font-size:18px;font-weight:800;color:var(--ok)}

/* ====== КАССА — поле поиска кода ====== */
.cc-searchbox{display:flex;align-items:center;gap:8px;background:var(--soft);
  border:1.5px solid var(--line2);border-radius:11px;padding:0 8px 0 13px;
  margin:6px 0 4px;flex-wrap:wrap}
.cc-search-ic{font-size:15px;color:var(--tx3);flex-shrink:0}
.cc-search-in{flex:1 1 80px;min-width:0;border:none;background:transparent;height:52px;
  font-size:20px;font-weight:700;color:var(--tx);outline:none;
  letter-spacing:2px}
.cc-search-btn{border:none;border-radius:8px;background:var(--ok);color:#fff;
  font-size:13px;font-weight:800;padding:0 18px;height:40px;cursor:pointer;
  white-space:nowrap;flex-shrink:0;min-width:74px}

/* ====== ОКНО ПОДТВЕРЖДЕНИЯ ПАРОЛЕМ ====== */
.cpw-err{font-size:11px;color:#c0392b;font-weight:600;min-height:16px;
  margin:2px 0 8px}

/* ====== КНОПКА ВЫХОДА рядом с колокольчиком ====== */
.topbar-actions{display:flex;align-items:center;gap:14px;margin-left:auto}
.logout-btn{
  width:40px;height:40px;border:none;border-radius:11px;
  background:#FCEBEB;color:#A32D2D;cursor:pointer;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  margin-left:14px;transition:background .15s, transform .1s;
  padding:0;
}
.logout-btn:hover{background:#F7C1C1}
.logout-btn:active{background:#F09595;transform:scale(0.96)}
.logout-btn svg{display:block}
[data-theme="dark"] .logout-btn{background:#501313;color:#F7C1C1}
[data-theme="dark"] .logout-btn:hover{background:#791F1F}
/* отступ кнопки выхода от колокольчика во всех topbar */
.sel-bell+.logout-btn,.cash-bell+.logout-btn,.buf-bell+.logout-btn{
  margin-left:14px}

/* ====== КАССА — список найденных по части кода ====== */
.cc-res-head2{font-size:11px;font-weight:700;color:var(--tx2);
  margin-bottom:8px}
.cc-found-item{display:flex;align-items:center;gap:9px;padding:11px 12px;
  background:var(--soft);border-radius:9px;margin-bottom:6px;cursor:pointer;
  border-left:3px solid var(--acc);transition:background .12s}
.cc-found-item:hover{background:var(--accS)}
.cc-fi-tx{flex:1;min-width:0}
.cc-fi-t{font-size:11.5px;font-weight:700;color:var(--tx)}
.cc-fi-d{font-size:9.5px;color:var(--tx3);margin-top:1px}
.cc-fi-code{font-size:13px;font-weight:800;color:var(--acc);
  background:var(--surf);border-radius:6px;padding:4px 8px;letter-spacing:1px}
.cc-hl{background:var(--ok);color:#fff;border-radius:3px;padding:0 2px}

/* ====== ГЛАВНАЯ ПРОДАВЦА — вариант 2 ====== */
.sh2-wrap{max-width:560px;margin:0 auto}
.sh2-hi{font-size:21px;font-weight:800;color:var(--tx)}
.sh2-sub{font-size:12px;color:var(--tx3);margin:2px 0 16px}
.sh2-stats{display:flex;gap:9px;margin-bottom:18px}
.sh2-st{flex:1;background:var(--surf);border:1px solid var(--line);
  border-radius:12px;padding:14px 10px;text-align:center}
.sh2-st-v{font-size:20px;font-weight:800;color:var(--acc)}
.sh2-st-l{font-size:9px;color:var(--tx3);font-weight:600;margin-top:3px}
.sh2-act-h{font-size:13px;font-weight:800;color:var(--tx);margin-bottom:9px}
.sh2-acts{display:flex;flex-direction:column;gap:14px}
.sh2-act{display:flex;align-items:center;gap:12px;background:var(--surf);
  border:1px solid var(--line);border-radius:12px;padding:13px 14px;
  cursor:pointer;transition:background .12s,border-color .12s}
.sh2-act:hover{background:var(--soft);border-color:var(--acc)}
.sh2-act-e{font-size:22px;flex-shrink:0}
.sh2-act-tx{flex:1;min-width:0}
.sh2-act-n{font-size:13px;font-weight:700;color:var(--tx)}
.sh2-act-d{font-size:10px;color:var(--tx3);margin-top:1px}
.sh2-act-ar{font-size:18px;color:var(--tx3);font-weight:700}

/* ====== ВЫКУП/ОБМЕН — карточки выбора (вариант 2) ====== */
.bo-choose{display:flex;gap:9px;margin-bottom:15px}
.bo-card{flex:1;border-radius:13px;padding:15px 13px;cursor:pointer;
  border:2px solid var(--line);background:var(--surf);transition:all .15s}
.bo-card-e{font-size:26px}
.bo-card-n{font-size:14px;font-weight:800;color:var(--tx);margin-top:6px}
.bo-card-d{font-size:9.5px;color:var(--tx3);margin-top:3px;line-height:1.4}
.bo-card.bo-tradein.on{border-color:#3b6ff5;
  background:linear-gradient(135deg,#3b6ff5,#5b8af7);color:#fff}
.bo-card.bo-buyout.on{border-color:#0f9d6e;
  background:linear-gradient(135deg,#0f9d6e,#0c7d58);color:#fff}
.bo-card.on .bo-card-n,.bo-card.on .bo-card-d{color:#fff}

/* ====== КАССА — ДОБАВИТЬ ТОВАР: вкладки, поиск, подтверждение ====== */
.ap-tabs{display:flex;gap:6px;margin-bottom:11px}
.ap-tab{flex:1;border:1.5px solid var(--line2);border-radius:10px;
  padding:11px 6px;background:var(--surf);color:var(--tx3);font-size:11px;
  font-weight:700;cursor:pointer}
.ap-tab.on{border-color:var(--acc);border-width:2px;background:var(--accS);
  color:var(--acc)}
.ap-search{display:flex;align-items:center;gap:8px;background:var(--soft);
  border:1.5px solid var(--line2);border-radius:10px;padding:0 12px;
  margin:4px 0 10px}
.ap-search-ic{font-size:13px;color:var(--tx3)}
.ap-search-in{flex:1;border:none;background:transparent;height:40px;
  font-size:12px;color:var(--tx);outline:none}
.ap-wh-h{font-size:11px;font-weight:700;color:var(--tx3);margin-bottom:8px}
/* окно подтверждения прихода */
.pv-box{background:var(--soft);border-radius:10px;padding:11px 13px;
  margin:6px 0 12px}
.pv-row{display:flex;justify-content:space-between;font-size:11px;
  padding:4px 0;color:var(--tx2)}
.pv-row b{color:var(--tx);font-weight:700}
.pv-row+.pv-row{border-top:1px solid var(--line2)}

/* ====== ДОБАВИТЬ ТОВАР — шапка с кнопкой в углу ====== */
.ap-head{display:flex;align-items:center;justify-content:space-between;
  gap:10px;margin-bottom:4px}
.ap-head h2{font-size:16px;font-weight:800}

/* ====== РЕМОНТ — быстрые шаблоны диагностики ====== */
.rf-tpl{background:var(--accS);border-radius:10px;padding:11px 12px;
  margin-bottom:12px}
.rf-tpl-h{font-size:11px;font-weight:700;color:var(--acc);margin-bottom:8px}
.rf-tpl-grid{display:flex;gap:6px;flex-wrap:wrap}
.rf-tpl-b{border:1px solid var(--line2);background:var(--surf);
  border-radius:8px;padding:7px 10px;font-size:11px;font-weight:600;
  color:var(--tx);cursor:pointer;transition:background .12s}
.rf-tpl-b:hover{background:var(--soft);border-color:var(--acc)}
.rf-tpl-b:active{background:var(--accS)}

/* ====== ГЛАВНАЯ СЕРВИСА — счётчик заявок ====== */
.sh-badge{font-size:10px;font-weight:800;background:#fde8c8;color:#92400e;
  border-radius:10px;padding:3px 10px;white-space:nowrap}

/* ====== УСЛУГИ — типы, кто платит, расчёт ====== */
.srv-types{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:6px}
.srv-ty{
  border:1px solid var(--line2);border-radius:12px;padding:14px 8px;
  text-align:center;cursor:pointer;
  transition:transform .12s, border-color .15s, box-shadow .15s;
  background:var(--surf);position:relative;overflow:hidden;
}
.srv-ty:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(0,0,0,0.06)}
.srv-ty.on{border:2px solid var(--acc);background:var(--accS);padding:13px 7px}
.srv-ty.on::before{
  content:'\2713';position:absolute;top:4px;right:6px;
  font-size:10px;font-weight:700;color:var(--acc);
}
.srv-ty-e{
  font-size:26px;line-height:1;margin-bottom:6px;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,0.06));
}
.srv-ty-n{
  font-size:11px;font-weight:600;color:var(--tx);
  margin-top:4px;line-height:1.3;
}
.srv-ty-add{
  border-style:dashed;color:var(--acc);
  background:transparent;
}
.srv-ty-add .srv-ty-e{color:var(--acc);opacity:0.7}

/* v136: цветовые подсказки по типу услуги (фон плитки) */
.srv-ty[data-color="blue"]{background:#E6F1FB;border-color:#B5D4F4}
.srv-ty[data-color="blue"]:hover{border-color:#378ADD}
.srv-ty[data-color="blue"] .srv-ty-n{color:#0C447C}
.srv-ty[data-color="gray"]{background:#F1EFE8;border-color:#D3D1C7}
.srv-ty[data-color="gray"]:hover{border-color:#888780}
.srv-ty[data-color="gray"] .srv-ty-n{color:#444441}
.srv-ty[data-color="amber"]{background:#FAEEDA;border-color:#FAC775}
.srv-ty[data-color="amber"]:hover{border-color:#EF9F27}
.srv-ty[data-color="amber"] .srv-ty-n{color:#633806}
.srv-ty[data-color="teal"]{background:#E1F5EE;border-color:#9FE1CB}
.srv-ty[data-color="teal"]:hover{border-color:#1D9E75}
.srv-ty[data-color="teal"] .srv-ty-n{color:#085041}
.srv-ty[data-color="pink"]{background:#FBEAF0;border-color:#F4C0D1}
.srv-ty[data-color="pink"]:hover{border-color:#D4537E}
.srv-ty[data-color="pink"] .srv-ty-n{color:#72243E}
.srv-ty[data-color="purple"]{background:#EEEDFE;border-color:#CECBF6}
.srv-ty[data-color="purple"]:hover{border-color:#7F77DD}
.srv-ty[data-color="purple"] .srv-ty-n{color:#3C3489}
.srv-ty[data-color="green"]{background:#EAF3DE;border-color:#C0DD97}
.srv-ty[data-color="green"]:hover{border-color:#639922}
.srv-ty[data-color="green"] .srv-ty-n{color:#27500A}
.srv-ty[data-color="coral"]{background:#FAECE7;border-color:#F5C4B3}
.srv-ty[data-color="coral"]:hover{border-color:#D85A30}
.srv-ty[data-color="coral"] .srv-ty-n{color:#712B13}

/* dark mode */
[data-theme="dark"] .srv-ty[data-color="blue"]{background:#0C447C;border-color:#185FA5}
[data-theme="dark"] .srv-ty[data-color="blue"] .srv-ty-n{color:#B5D4F4}
[data-theme="dark"] .srv-ty[data-color="gray"]{background:#2C2C2A;border-color:#444441}
[data-theme="dark"] .srv-ty[data-color="gray"] .srv-ty-n{color:#D3D1C7}
[data-theme="dark"] .srv-ty[data-color="amber"]{background:#412402;border-color:#633806}
[data-theme="dark"] .srv-ty[data-color="amber"] .srv-ty-n{color:#FAC775}
[data-theme="dark"] .srv-ty[data-color="teal"]{background:#04342C;border-color:#085041}
[data-theme="dark"] .srv-ty[data-color="teal"] .srv-ty-n{color:#9FE1CB}
[data-theme="dark"] .srv-ty[data-color="pink"]{background:#4B1528;border-color:#72243E}
[data-theme="dark"] .srv-ty[data-color="pink"] .srv-ty-n{color:#F4C0D1}
[data-theme="dark"] .srv-ty[data-color="purple"]{background:#26215C;border-color:#3C3489}
[data-theme="dark"] .srv-ty[data-color="purple"] .srv-ty-n{color:#CECBF6}
[data-theme="dark"] .srv-ty[data-color="green"]{background:#173404;border-color:#27500A}
[data-theme="dark"] .srv-ty[data-color="green"] .srv-ty-n{color:#C0DD97}
[data-theme="dark"] .srv-ty[data-color="coral"]{background:#4A1B0C;border-color:#712B13}
[data-theme="dark"] .srv-ty[data-color="coral"] .srv-ty-n{color:#F5C4B3}
.srv-who{display:flex;gap:7px}
.srv-wb{flex:1;text-align:center;border:1px solid var(--line2);
  border-radius:8px;padding:9px 4px;cursor:pointer;font-size:11px;
  font-weight:700;color:var(--tx3)}
.srv-wb.on{border:2px solid var(--acc);background:var(--accS);color:var(--acc)}
.srv-calc{background:var(--soft);border-radius:9px;padding:10px 12px;
  margin-top:10px}
.srv-cr{display:flex;justify-content:space-between;font-size:11px;
  padding:3px 0;color:var(--tx2)}
.srv-cr b{color:var(--tx);font-weight:700}
.srv-cr.tot{border-top:1px solid var(--line2);margin-top:3px;padding-top:7px;
  font-size:12px}
.srv-cr.tot b{color:var(--ok-tx,#0f9d6e)}

/* ====== ПРОФИЛЬ СЕРВИСА — фирменное оформление ====== */
/* SVG-иконки в меню сервиса выравниваем */
.srv-side .menu-item .ic{display:flex;align-items:center;
  justify-content:center;width:22px;height:22px}
.srv-side .menu-item .ic svg{display:block}
/* зелёно-бирюзовый акцент только в сайдбаре сервиса */
.srv-side .menu-item.active{background:#e1f5ee;color:#0f6e56}
.srv-side .menu-item.active .ic{color:#0f9d6e}
.srv-side .menu-item:hover{background:#f0faf6}
.srv-side .side-logo{background:#0f9d6e}
.srv-side .menu-item .ic{color:#7c8a86}
/* зелёная иконка-чип у заголовка раздела сервиса */
.srv-head{display:flex;align-items:center;gap:10px;margin-bottom:3px}
.srv-head-ic{width:34px;height:34px;border-radius:9px;background:#e1f5ee;
  color:#0f9d6e;display:flex;align-items:center;justify-content:center;
  flex-shrink:0}
.srv-head-ic svg{display:block}
.srv-head h2{margin:0;font-size:17px;font-weight:800}

/* ====== БУФЕТ — заказы и долги ====== */
.bord-row{display:flex;align-items:center;gap:11px;padding:11px 13px;
  background:var(--surf);border:1px solid var(--line);border-radius:11px;
  margin-bottom:8px}
.bord-row.done{opacity:.62}
.bord-tx{flex:1;min-width:0}
.bord-n{font-size:12.5px;font-weight:700;color:var(--tx)}
.bord-d{font-size:10.5px;color:var(--tx3);margin-top:2px}
.bord-note{font-size:10px;color:var(--tx3);margin-top:3px;font-style:italic}
.bord-tag{font-size:9.5px;font-weight:600;color:var(--acc)}
.bord-right{text-align:right;flex-shrink:0}
.bord-sum{font-size:13px;font-weight:800;color:var(--tx)}
.bord-pay{font-size:9px;font-weight:600;color:var(--tx3);margin-top:1px}
.bord-pay.debt{color:#c0392b}
.bord-acts{display:flex;flex-direction:column;gap:5px;flex-shrink:0}
.bord-ok{background:#0f9d6e;color:#fff;border:none;border-radius:7px;
  padding:7px 11px;font-size:10.5px;font-weight:700;cursor:pointer;
  white-space:nowrap}
.bord-no{background:var(--soft);color:#c0392b;border:1px solid var(--line2);
  border-radius:7px;padding:6px 9px;font-size:11px;font-weight:700;
  cursor:pointer}
.bord-total{font-size:12px;color:var(--tx2);margin-bottom:10px}
.bord-total b{font-size:15px;color:#c0392b}
/* меню заказа для сотрудников */
.bord-menu{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.bord-mi{border:1px solid var(--line2);border-radius:9px;padding:9px 3px;
  text-align:center;cursor:pointer}
.bord-mi:hover{border-color:var(--acc)}
.bord-mi-e{font-size:18px}
.bord-mi-n{font-size:9px;font-weight:600;color:var(--tx2);margin-top:3px}
.bord-mi-p{font-size:8.5px;color:var(--tx3);margin-top:1px}
.bord-ci{display:flex;align-items:center;gap:9px;padding:8px 10px;
  background:var(--soft);border-radius:8px;margin-bottom:6px}
.bord-ci-e{font-size:15px}
.bord-ci-tx{flex:1;min-width:0}
.bord-ci-n{font-size:11px;font-weight:700;color:var(--tx)}
.bord-ci-p{font-size:9px;color:var(--tx3)}

/* ====== ПРОФИЛЬ ДИРЕКТОРА ====== */
/* фирменный тёмно-синий сайдбар с золотым акцентом */
.dir-side{background:#1a2b3c}
.dir-side .side-brand .bn,.dir-side .side-brand .bs{color:#cdd9e4}
.dir-side .side-logo{background:#c9a23a;color:#1a2b3c}
.dir-side .menu-item .menu-lbl{color:#cdd9e4}
.dir-side .menu-item .ic{display:flex;align-items:center;
  justify-content:center;width:22px;height:22px;color:#8fa3b8}
.dir-side .menu-item .ic svg{display:block}
.dir-side .menu-item:hover{background:rgba(255,255,255,.06)}
.dir-side .menu-item.active{background:#c9a23a}
.dir-side .menu-item.active .menu-lbl{color:#1a2b3c;font-weight:700}
.dir-side .menu-item.active .ic{color:#1a2b3c}
.dir-side .side-toggle{color:#8fa3b8}
.dir-side .side-theme-label{color:#8fa3b8}
.dir-side .side-foot,.dir-side .side-user{color:#cdd9e4}

/* шапка раздела директора */
.dir-head{margin-bottom:13px}
.dir-head h2{font-size:18px;font-weight:800;margin:0}
/* KPI-карточки */
.dir-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;
  margin-bottom:11px}
.dir-kpi{background:var(--surf);border:1px solid var(--line);
  border-radius:12px;padding:13px}
.dir-kpi-l{font-size:9px;font-weight:700;color:var(--tx3);
  text-transform:uppercase;letter-spacing:.03em}
.dir-kpi-v{font-size:19px;font-weight:800;margin-top:5px;color:var(--tx)}
.dir-kpi-v.g{color:#0f9d6e}
.dir-kpi-v.r{color:#c0392b}
.dir-kpi-d{font-size:9px;color:var(--tx3);margin-top:2px}
/* строки финансов */
.dir-fin{display:flex;justify-content:space-between;font-size:12px;
  padding:7px 0;color:var(--tx2);border-bottom:1px solid var(--line)}
.dir-fin:last-child{border-bottom:none}
.dir-fin b{color:var(--tx);font-weight:700}
.dir-fin.tot{border-top:2px solid var(--line2);border-bottom:none;
  margin-top:3px;padding-top:9px;font-size:13px}
.dir-fin.tot b{color:#0f9d6e}
/* сигналы */
.dir-sig{display:flex;align-items:center;gap:9px;padding:9px 11px;
  border-radius:9px;margin-bottom:6px;font-size:11.5px;font-weight:600}
.dir-sig.danger{background:#fdeaea;color:#c0392b}
.dir-sig.warning{background:#fdf4e3;color:#9a6a16}
.dir-sig-d{width:8px;height:8px;border-radius:50%;background:currentColor;
  flex-shrink:0}
/* сравнение периодов */
.dir-cmp{display:flex;align-items:center;gap:14px}
.dir-cmp-l{font-size:9px;color:var(--tx3);font-weight:600;
  text-transform:uppercase}
.dir-cmp-v{font-size:15px;font-weight:800;color:var(--tx);margin-top:3px}
.dir-cmp-arr{font-size:18px;color:var(--tx3)}
.dir-cmp-diff{margin-left:auto;font-size:16px;font-weight:800;
  padding:5px 11px;border-radius:9px}
.dir-cmp-diff.g{background:#e3f6ef;color:#0f9d6e}
.dir-cmp-diff.r{background:#fdeaea;color:#c0392b}
/* вкладки персонала */
.dir-tabs{display:flex;gap:7px;margin-bottom:11px}
.dir-tab{flex:1;border:1px solid var(--line2);border-radius:9px;
  padding:9px 6px;background:var(--surf);font-size:11.5px;font-weight:700;
  color:var(--tx3);cursor:pointer}
.dir-tab.on{border:2px solid #1a2b3c;background:#eef2f6;color:#1a2b3c}
/* строки персонала */
.dir-staff-row{display:flex;align-items:center;gap:10px;padding:9px 0;
  border-bottom:1px solid var(--line)}
.dir-staff-row:last-child{border-bottom:none}
.dir-staff-tx{flex:1;min-width:0}
.dir-staff-n{font-size:12px;font-weight:700;color:var(--tx)}
.dir-staff-d{font-size:9.5px;color:var(--tx3);margin-top:1px}
.dir-staff-v{font-size:12px;font-weight:800;color:#0f9d6e}
/* рейтинги */
.dir-rank-row{display:flex;align-items:center;gap:10px;padding:9px 0;
  border-bottom:1px solid var(--line)}
.dir-rank-row:last-child{border-bottom:none}
.dir-rank-n{width:22px;height:22px;border-radius:50%;background:#eef2f6;
  color:#1a2b3c;font-size:10px;font-weight:800;display:flex;
  align-items:center;justify-content:center;flex-shrink:0}
.dir-rank-tx{flex:1;min-width:0}
.dir-rank-name{font-size:11.5px;font-weight:700;color:var(--tx)}
.dir-rank-v{font-size:11.5px;font-weight:800;color:#0f9d6e;flex-shrink:0}
.dir-bar{height:7px;border-radius:4px;background:var(--soft);
  margin-top:5px;overflow:hidden}
.dir-bar-f{height:100%;background:#c9a23a;border-radius:4px}
.dir-bar-f.g{background:#0f9d6e}
.dir-bar-f.w{background:#c9a23a}
.dir-bar-f.r{background:#c0392b}
/* отчёты */
.dir-rep-row{display:flex;align-items:center;gap:11px;padding:11px;
  border:1px solid var(--line);border-radius:10px;margin-bottom:7px;
  cursor:pointer}
.dir-rep-row:hover{border-color:#1a2b3c}
.dir-rep-e{font-size:18px}
.dir-rep-tx{flex:1;min-width:0}
.dir-rep-n{font-size:12px;font-weight:700;color:var(--tx)}
.dir-rep-d{font-size:9.5px;color:var(--tx3);margin-top:1px}
.dir-rep-ar{font-size:16px;color:var(--tx3)}
/* цели */
.dir-goal{background:var(--surf);border:1px solid var(--line);
  border-radius:11px;padding:12px;margin-bottom:8px}
.dir-goal-top{display:flex;justify-content:space-between;align-items:center}
.dir-goal-n{font-size:12.5px;font-weight:700;color:var(--tx)}
.dir-goal-x{background:none;border:none;color:var(--tx3);font-size:14px;
  cursor:pointer}
.dir-goal-nums{font-size:11px;color:var(--tx2);margin:6px 0 4px}
.dir-goal-pct{font-size:10px;font-weight:700;margin-top:5px}
.dir-goal-pct.g{color:#0f9d6e}
.dir-goal-pct.w{color:#9a6a16}
.dir-goal-pct.r{color:#c0392b}

/* ====== ИСЛАМСКИЙ РЕЖИМ ====== */
/* переключатель в сайдбаре */
.islamic-toggle{display:flex;align-items:center;gap:8px;margin-top:9px;
  padding:8px 9px;background:var(--soft);border-radius:9px;cursor:pointer}
.islamic-tg-ic{font-size:14px}
.islamic-tg-tx{flex:1;font-size:10.5px;font-weight:600;color:var(--tx2)}
.islamic-tg-sw{width:34px;height:19px;border-radius:11px;
  background:var(--line2);position:relative;flex-shrink:0;
  transition:background .15s}
.islamic-tg-sw::after{content:"";position:absolute;width:14px;height:14px;
  border-radius:50%;background:#fff;top:2.5px;left:2.5px;
  transition:left .15s;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.islamic-tg-sw.on{background:#0f9d6e}
.islamic-tg-sw.on::after{left:17.5px}
/* плашка намаза */
.isl-panel{margin-bottom:13px}
.isl-prayer{background:linear-gradient(135deg,#0f6e56,#0f9d6e);
  border-radius:14px;padding:15px 17px;color:#fff;margin-bottom:8px;
  box-shadow:0 4px 12px rgba(15,110,86,0.18)}
.isl-prayer-top{display:flex;justify-content:space-between;
  align-items:center}
.isl-prayer-l{font-size:9px;opacity:.85;font-weight:600;
  text-transform:uppercase;letter-spacing:.04em}
.isl-prayer-name{font-size:18px;font-weight:800;margin-top:2px}
.isl-prayer-time{font-size:25px;font-weight:800;font-variant-numeric:tabular-nums}
.isl-prayer-row{display:flex;gap:5px;margin-top:12px}
.isl-pcell{flex:1;text-align:center;background:rgba(255,255,255,.13);
  border-radius:8px;padding:7px 2px;transition:background .15s}
.isl-pcell.on{background:rgba(255,255,255,.3);box-shadow:0 0 0 2px rgba(255,255,255,0.25)}
.isl-pcell-n{font-size:8px;opacity:.85;font-weight:600;text-transform:uppercase;letter-spacing:0.5px}
.isl-pcell-t{font-size:11px;font-weight:700;margin-top:3px;font-variant-numeric:tabular-nums}
/* v146: изречение дня (хадис) — красивая карточка */
.isl-saying{background:linear-gradient(135deg,#FFFBEB,#FEF3C7);
  border:1px solid #FBBF24;border-radius:10px;padding:12px 16px 12px 18px;
  font-size:13px;color:#78350F;font-style:italic;margin-bottom:8px;
  line-height:1.55;position:relative}
.isl-saying::before{content:'"';position:absolute;left:6px;top:2px;
  font-size:28px;font-weight:700;color:#D97706;opacity:0.4;line-height:1}
/* дата хиджры */
.isl-hijri{background:var(--surf);border:1px solid var(--line);
  border-radius:10px;padding:10px 14px;font-size:12px;color:var(--tx2);
  font-weight:600;display:flex;align-items:center;gap:8px}
/* dark mode */
[data-theme="dark"] .isl-saying{
  background:linear-gradient(135deg,#3a2807,#412402);
  border-color:#854F0B;color:#FAC775}
[data-theme="dark"] .isl-saying::before{color:#F59E0B;opacity:0.5}

/* ====== ЖУРНАЛ ПРИЁМОК ====== */
.int-search{display:flex;gap:7px;margin-top:10px}
.int-search .input{flex:1}
.int-total{font-size:11.5px;color:var(--tx2);margin-bottom:10px}
.int-total b{color:var(--tx);font-size:14px}
.int-row{display:flex;align-items:flex-start;gap:10px;padding:11px 13px;
  background:var(--surf);border:1px solid var(--line);border-radius:11px;
  margin-bottom:7px}
.int-tx{flex:1;min-width:0}
.int-dev{font-size:12.5px;font-weight:700;color:var(--tx)}
.int-ids{font-size:10.5px;color:var(--tx2);margin-top:3px}
.int-ids b{color:var(--tx);font-weight:700}
.int-meta{font-size:9.5px;color:var(--tx3);margin-top:3px}
.int-meta b{color:var(--tx2)}
.int-del{background:var(--soft);border:1px solid var(--line2);
  color:#c0392b;border-radius:7px;width:28px;height:28px;font-size:13px;
  cursor:pointer;flex-shrink:0}
.int-sum-row{display:flex;align-items:center;gap:10px;padding:8px 0;
  border-bottom:1px solid var(--line)}
.int-sum-row:last-child{border-bottom:none}
.int-sum-tx{flex:1;min-width:0}
.int-sum-n{font-size:11.5px;font-weight:700;color:var(--tx)}
.int-sum-d{font-size:9.5px;color:var(--tx3);margin-top:1px}
.int-sum-v{font-size:13px;font-weight:800;color:#c0392b}
.int-sum-row.tot{border-top:2px solid var(--line2);margin-top:3px;
  padding-top:9px}
.int-sum-row.tot .int-sum-v{color:#0f9d6e;font-size:15px}

/* ====== ЖУРНАЛ ПРИЁМОК — обновлённый вид ====== */
.int-hd-row{display:flex;justify-content:space-between;align-items:flex-start}
.int-live{display:flex;align-items:center;gap:6px;font-size:10px;
  font-weight:700;color:#0f9d6e;background:#e3f6ef;border-radius:20px;
  padding:4px 10px;flex-shrink:0}
.int-live-dot{width:7px;height:7px;border-radius:50%;background:#0f9d6e;
  animation:intpulse 1.6s infinite}
@keyframes intpulse{0%,100%{opacity:1}50%{opacity:.3}}
.int-tabs{display:flex;gap:6px;margin-bottom:11px}
.int-tab{flex:1;border:1px solid var(--line2);border-radius:9px;
  padding:9px 5px;background:var(--surf);font-size:11px;font-weight:700;
  color:var(--tx3);cursor:pointer}
.int-tab.on{border:2px solid var(--acc);background:var(--soft);
  color:var(--acc)}
.int-acts{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}
.int-acts .btn{flex:1;min-width:120px}
/* карточка приёмки */
.int-card{background:var(--surf);border:1px solid var(--line);
  border-radius:12px;padding:12px 14px;margin-bottom:8px;
  overflow:hidden}
.int-card-top{display:flex;justify-content:space-between;
  align-items:flex-start;gap:8px}
.int-dev{font-size:13px;font-weight:800;color:var(--tx);
  flex:1;min-width:0}
.int-badge{font-size:8.5px;font-weight:700;border-radius:20px;
  padding:3px 9px;flex:0 0 auto;white-space:nowrap;
  align-self:flex-start}
.int-badge.iapp{background:#e3f6ef;color:#0f9d6e}
.int-badge.irej{background:#fdeaea;color:#c0392b}
.int-badge.ideal{background:var(--okS);color:var(--ok)}
.int-badge.ijour{background:var(--soft);color:var(--tx2)}
.int-dealstats{display:flex;gap:12px;margin-top:6px;flex-wrap:wrap}
.int-dealstats span{font-size:11px;font-weight:700;padding:2px 0}
.int-dealstats .ds-ok{color:var(--ok)}
.int-dealstats .ds-jr{color:var(--tx2)}
.int-ids{display:flex;gap:14px;flex-wrap:wrap;margin-top:7px}
.int-id{font-size:10.5px;color:var(--tx2)}
.int-id b{color:var(--tx);font-weight:700;letter-spacing:.02em}
.int-foot{display:flex;align-items:center;gap:10px;margin-top:8px;
  padding-top:8px;border-top:1px solid var(--line);flex-wrap:wrap}
.int-who{font-size:10.5px;color:var(--tx2);flex:1;min-width:120px}
.int-who b{color:var(--tx)}
.int-noname{color:#c0392b;font-weight:700;cursor:pointer;
  text-decoration:underline}
.int-when{font-size:9px;color:var(--tx3)}
.int-x{background:var(--soft);border:1px solid var(--line2);
  color:#c0392b;border-radius:6px;width:24px;height:24px;font-size:11px;
  cursor:pointer;flex-shrink:0}
.int-raw{font-size:9.5px;color:var(--acc);cursor:pointer;margin-top:7px;
  font-weight:600}
.int-rawtext{font-size:10.5px;color:var(--tx2);background:var(--soft);
  border-radius:8px;padding:9px 11px;margin-top:6px;white-space:pre-wrap;
  line-height:1.5}
.int-sum-n.warn{color:#c0392b}

/* ====== ЖУРНАЛ ПРИЁМОК — вкладки одобрено/не одобрено ====== */
.int-tabs2{display:flex;gap:8px;margin-bottom:12px}
.int-tab2{flex:1;border:1px solid var(--line2);
  border-radius:12px;padding:13px 10px;background:var(--surf);
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  gap:8px}
.int-tab2-ic{font-size:15px;font-weight:800}
.int-tab2-tx{font-size:13px;font-weight:700}
.int-tab2-cnt{font-size:11px;font-weight:800;border-radius:20px;
  padding:1px 9px;min-width:24px;text-align:center}
.int-tab2.off .int-tab2-tx,.int-tab2.off .int-tab2-ic{color:var(--tx3)}
.int-tab2.on-app{border:2px solid #0f9d6e;background:#e3f6ef}
.int-tab2.on-app .int-tab2-tx,.int-tab2.on-app .int-tab2-ic{color:#0f6e56}
.int-tab2.on-rej{border:2px solid #c0392b;background:#fdeaea}
.int-tab2.on-rej .int-tab2-tx,.int-tab2.on-rej .int-tab2-ic{color:#a32d2d}
.int-tab2-cnt.capp{background:#e3f6ef;color:#0f6e56}
.int-tab2-cnt.crej{background:#fdeaea;color:#a32d2d}
.int-tab2.on-app .int-tab2-cnt.capp{background:#0f9d6e;color:#fff}
.int-tab2.on-rej .int-tab2-cnt.crej{background:#c0392b;color:#fff}

/* ====== ЕДИНЫЙ СТИЛЬ РАЗДЕЛОВ СЕРВИСА (Этап Б) ====== */
/* шапка раздела */
.pg-hd{display:flex;align-items:center;gap:11px;padding:13px 15px;
  background:var(--surf);border:1px solid var(--line);
  border-radius:12px;margin-bottom:10px}
.pg-hd-ic{width:40px;height:40px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;font-size:19px;
  background:var(--soft);flex-shrink:0}
.pg-hd-tx{flex:1;min-width:0}
.pg-hd-t{font-size:15px;font-weight:800;color:var(--tx);line-height:1.2}
.pg-hd-s{font-size:10.5px;color:var(--tx2);margin-top:2px}
.pg-hd-ac{display:flex;gap:7px;flex-shrink:0}
/* KPI-ряд */
.pg-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;
  margin-bottom:10px}
.pg-kpis.k3{grid-template-columns:repeat(3,1fr)}
.pg-kpi{background:var(--surf);border:1px solid var(--line);
  border-radius:10px;padding:11px 12px;text-align:center}
.pg-kpi-l{font-size:9px;font-weight:700;text-transform:uppercase;
  letter-spacing:.04em;color:var(--tx3)}
.pg-kpi-v{font-size:19px;font-weight:800;margin-top:3px;color:var(--tx)}
.pg-kpi-v.b{color:var(--acc)}
.pg-kpi-v.g{color:#0f9d6e}
.pg-kpi-v.w{color:#c0392b}
.pg-kpi-v.o{color:#d68910}
/* единый стиль вкладок-сегментов */
.pg-segs{display:flex;gap:6px;margin-bottom:10px}
.pg-seg{flex:1;border:1px solid var(--line2);border-radius:9px;
  padding:9px 6px;font-size:11px;font-weight:700;color:var(--tx3);
  background:var(--surf);cursor:pointer;text-align:center;
  transition:all .15s}
.pg-seg.on{border:2px solid var(--acc);background:var(--soft);
  color:var(--acc)}
/* подсказка на пустом экране */
.pg-empty-pretty{text-align:center;padding:38px 14px}
.pg-empty-pretty .pe-ic{font-size:32px;opacity:.5;margin-bottom:7px}
.pg-empty-pretty .pe-h{font-size:13px;font-weight:700;color:var(--tx2);
  margin-bottom:4px}
.pg-empty-pretty .pe-d{font-size:11px;color:var(--tx3);line-height:1.6;
  max-width:380px;margin:0 auto}

/* счётчик на сегментной кнопке (этап В) */
.pg-seg{display:flex;align-items:center;justify-content:center;gap:7px}
.pg-seg-cnt{font-size:10px;background:var(--soft);color:var(--tx2);
  border-radius:20px;padding:1px 8px;font-weight:700}
.pg-seg.on .pg-seg-cnt{background:var(--acc);color:#fff}

/* ====== БЕЙДЖИ НА ИКОНКАХ МЕНЮ (продавец) ====== */
.menu-item{position:relative}
.menu-badge{position:absolute;background:#e24b4a;color:#fff;
  font-size:9.5px;font-weight:700;border-radius:20px;padding:1px 6px;
  min-width:17px;text-align:center;line-height:1.4;
  box-shadow:0 0 0 2px var(--surf)}
.menu-badge.amber{background:#d68910}
.menu-badge.warning{background:#d68910}
.menu-badge.danger{background:#e24b4a}
.menu-badge.info{background:#378add}
.menu-badge.red{background:#e24b4a}
/* в развёрнутом меню — справа */
.menu-item .menu-badge{top:50%;right:9px;transform:translateY(-50%)}
/* в свёрнутом меню — в углу иконки */
.lg2 .menu-item .menu-badge,
.app.compact .menu-item .menu-badge,
.menu-item.collapsed .menu-badge{top:2px;right:2px;transform:none}

/* бейдж в шапке раздела (перемещение) */
.hd-badge{display:inline-block;background:#d68910;color:#fff;
  font-size:11px;font-weight:700;border-radius:8px;padding:6px 11px;
  white-space:nowrap}

/* ====== ПОИСК ТОВАРА В ПРОДАЖЕ + ЗНАЧОК НОВОЕ (Этап В продавца) ====== */
.sale-search{display:flex;align-items:center;gap:9px;background:var(--surf);
  border:1px solid var(--line2);border-radius:10px;padding:10px 13px;
  margin-bottom:11px}
.sale-search-ic{font-size:14px;opacity:.55}
.sale-search-in{flex:1;border:none;background:transparent;outline:none;
  font-size:13px;color:var(--tx);font-family:inherit}
.sale-search-x{border:none;background:var(--soft);color:var(--tx2);
  width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:12px;
  flex-shrink:0}
.prod-new{display:inline-block;font-size:8.5px;font-weight:700;
  background:#0f9d6e;color:#fff;border-radius:20px;padding:2px 8px;
  vertical-align:1px}

/* ====== ОКНО БУФЕТА: кнопка → меню → шаги ====== */
.buf-win{margin-top:12px}
.buf-win-btn{display:flex;align-items:center;gap:10px;width:100%;
  padding:13px 16px;background:#0f9d6e;color:#fff;border:none;
  border-radius:12px;cursor:pointer;font-size:14px;font-weight:700;
  font-family:inherit;box-shadow:0 2px 8px rgba(15,157,110,.3);
  transition:filter .15s}
.buf-win-btn:hover{filter:brightness(1.05)}
.buf-win-btn.open{border-radius:12px 12px 0 0}
.buf-win-btn-ic{font-size:19px}
.buf-win-btn-tx{flex:1;text-align:left}
.buf-win-btn-ar{font-size:13px;transition:transform .2s}
.buf-win-panel{border:1px solid var(--line2);border-top:none;
  border-radius:0 0 12px 12px;background:var(--surf);overflow:hidden}
.buf-win-load{text-align:center;padding:22px 12px;color:var(--tx3);
  font-size:11.5px}
.buf-win-menu{max-height:240px;overflow-y:auto;padding:10px 12px;
  -webkit-overflow-scrolling:touch}
.buf-win-item{display:flex;align-items:center;gap:11px;padding:9px 11px;
  background:var(--soft);border:1px solid var(--line);border-radius:10px;
  margin-bottom:7px}
.buf-win-item.on{border-color:#0f9d6e}
.buf-win-item:last-child{margin-bottom:0}
.buf-win-em{font-size:19px;flex-shrink:0}
/* v161: фото блюда в меню — заменяет эмодзи */
.buf-win-photo{
  width:48px;
  height:48px;
  display:inline-block;
  border:0.5px solid var(--bd);
}
@media(max-width:680px){
  .buf-win-photo{width:42px;height:42px}
}
.buf-win-itx{flex:1;min-width:0}
.buf-win-in{font-size:12px;font-weight:600;color:var(--tx)}
.buf-win-ip{font-size:10.5px;color:var(--tx2);margin-top:1px}
.buf-win-add{width:30px;height:30px;border-radius:8px;border:none;
  background:#0f9d6e;color:#fff;font-size:18px;font-weight:700;
  cursor:pointer;flex-shrink:0;line-height:1}
.buf-win-qty{display:flex;align-items:center;gap:9px;flex-shrink:0}
.buf-win-q{width:28px;height:28px;border-radius:7px;border:none;
  background:var(--acc);color:#fff;font-size:16px;font-weight:700;
  cursor:pointer;line-height:1}
.buf-win-qn{font-size:13px;font-weight:700;color:var(--tx);min-width:18px;
  text-align:center}
.buf-win-foot{display:flex;align-items:center;justify-content:space-between;
  gap:10px;padding:11px 14px;border-top:1px solid var(--line);
  background:var(--soft)}
.buf-win-sum{font-size:12px;font-weight:700;color:var(--tx)}
/* шаги выбора */
.buf-win-step{padding:14px 15px}
.buf-win-back{font-size:11px;color:var(--acc);background:none;border:none;
  cursor:pointer;padding:0;margin-bottom:11px;font-family:inherit}
.buf-win-step-h{font-size:13.5px;font-weight:800;color:var(--tx);
  margin-bottom:3px}
.buf-win-step-s{font-size:11px;color:var(--tx2);margin-bottom:13px}
.buf-win-opt{display:flex;align-items:center;gap:12px;width:100%;
  padding:13px;background:var(--soft);border:1px solid var(--line);
  border-radius:11px;cursor:pointer;margin-bottom:9px;text-align:left;
  font-family:inherit}
.buf-win-opt:hover{border-color:var(--acc)}
.buf-win-opt-ic{font-size:23px;flex-shrink:0}
.buf-win-opt-t{font-size:12.5px;font-weight:700;color:var(--tx)}
.buf-win-opt-d{font-size:10.5px;color:var(--tx2);margin-top:1px}
.buf-win-done{text-align:center;padding:26px 16px}
.buf-win-done-ic{font-size:36px;margin-bottom:8px}
.buf-win-done-t{font-size:14px;font-weight:800;color:var(--tx);
  margin-bottom:4px}
.buf-win-done-d{font-size:11.5px;color:var(--tx2);line-height:1.5}

/* ====== БЛОК «ТРЕБУЕТ ВНИМАНИЯ» (управляющий) ====== */
.att-box{display:flex;flex-direction:column}
.att-row{display:flex;align-items:center;gap:11px;padding:10px 0;
  border-bottom:0.5px solid var(--line);cursor:pointer}
.att-row:last-child{border-bottom:none}
.att-row:hover{opacity:.85}
.att-ic{width:32px;height:32px;border-radius:9px;display:flex;
  align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.att-ic.r{background:var(--dngS)}
.att-ic.a{background:var(--warnS)}
.att-ic.b{background:var(--accS)}
.att-tx{flex:1;min-width:0}
.att-n{font-size:12.5px;font-weight:700;color:var(--tx)}
.att-d{font-size:10.5px;color:var(--tx2);margin-top:1px}
.att-cnt{font-size:16px;font-weight:800;color:var(--tx);flex-shrink:0}
.att-ok{font-size:12.5px;color:var(--ok);font-weight:600;text-align:center;
  padding:14px}
/* бейдж остатка на складе */
.stock-badge{font-size:9px;font-weight:700;padding:3px 9px;border-radius:7px;
  color:#fff}
.stock-badge.ok{background:#0f9d6e}
.stock-badge.low{background:#d68910}
.stock-badge.out{background:#dc2647}

/* ====== МАССОВАЯ ВЫДАЧА / ВОЗВРАТ / ИСТОРИЯ (управляющий) ====== */
.dist-list{display:flex;flex-direction:column;gap:7px;margin-top:6px}
.dist-item{display:flex;align-items:center;gap:11px;padding:10px 12px;
  background:var(--soft);border:1px solid var(--line);border-radius:10px}
.dist-chk{width:22px;height:22px;border-radius:6px;border:2px solid var(--acc);
  flex-shrink:0;cursor:pointer;display:flex;align-items:center;
  justify-content:center;font-size:13px;color:transparent;font-weight:800}
.dist-chk.on{background:var(--acc);color:#fff}
.dist-chk.on::after{content:'✓'}
.dist-tx{flex:1;min-width:0}
.dist-n{font-size:12px;font-weight:600;color:var(--tx)}
.dist-d{font-size:10px;color:var(--tx2);margin-top:1px}
.dist-q{width:64px;padding:7px;border-radius:7px;border:1px solid var(--line2);
  background:var(--surf);font-size:12px;text-align:center;color:var(--tx);
  flex-shrink:0}
.hist-row{display:flex;gap:10px;padding:9px 0;
  border-bottom:0.5px solid var(--line);font-size:11.5px}
.hist-row:last-child{border-bottom:none}
.hist-t{color:var(--tx3);font-size:9.5px;white-space:nowrap;flex-shrink:0}
.hist-x{flex:1;color:var(--tx2)}

/* ====== СОСТАВ ОСТРОВКА (ответственный + помощники) ====== */
.isf-emp{background:var(--soft);border:1px solid var(--line);
  border-radius:11px;padding:12px;margin-bottom:8px}
.isf-emp.resp{border-color:var(--ok);border-width:1.5px}
.isf-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.isf-av{width:34px;height:34px;border-radius:50%;background:var(--accS);
  color:var(--acc);display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:700;flex-shrink:0}
.isf-av.r{background:var(--okS);color:var(--ok)}
.isf-tx{flex:1;min-width:0}
.isf-n{font-size:13px;font-weight:600;color:var(--tx)}
.isf-r{font-size:10.5px;color:var(--tx2)}
.isf-tag{font-size:9px;font-weight:700;padding:3px 9px;border-radius:7px}
.isf-tag.resp{background:var(--ok);color:#fff}
.isf-tag.help{background:var(--line);color:var(--tx2)}
.isf-tag.off{background:var(--warnS);color:var(--warn)}
.isf-acts{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.isf-add{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.isf-add select{flex:1;min-width:160px}

/* ====== ОТЧЁТ ПРИЁМОК ЗА РАБОЧИЙ ДЕНЬ ====== */
.int-rep-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;
  margin:10px 0}
.int-rep-kpi{background:var(--soft);border-radius:10px;padding:11px;
  text-align:center}
.int-rep-l{font-size:10px;color:var(--tx2);text-transform:uppercase;
  font-weight:600}
.int-rep-v{font-size:21px;font-weight:800;color:var(--tx);margin-top:3px}
.int-rep-v.acc{color:var(--acc)}
.int-rep-v.ok{color:var(--ok)}

/* ====== УЛУЧШЕНИЯ ЖУРНАЛА ПРИЁМОК ====== */
.int-filters{margin-top:10px;display:flex;flex-direction:column;gap:7px}
.int-flt-row{display:flex;gap:6px;flex-wrap:wrap}
.int-flt{font-size:11px;padding:6px 11px;border-radius:8px;cursor:pointer;
  background:var(--soft);border:1px solid var(--line);color:var(--tx2)}
.int-flt.on{background:var(--accS);color:var(--acc);border-color:var(--acc)}
.int-date{font-size:11px;padding:5px 9px;border-radius:8px;cursor:pointer;
  background:var(--soft);border:1px solid var(--line);color:var(--tx);
  font-family:inherit;margin-left:2px}
.int-badge.idup{background:var(--warnS);color:var(--warn)}
.int-card.dup{border-color:var(--warn)}
.int-stat-row{margin-bottom:8px}
.int-stat-top{display:flex;justify-content:space-between;font-size:11.5px;
  color:var(--tx);margin-bottom:3px}
.int-stat-bar{height:8px;border-radius:5px;background:var(--soft);
  overflow:hidden}
.int-stat-fill{height:100%;background:var(--acc);border-radius:5px}
.int-auto-row{display:flex;align-items:center;justify-content:space-between;
  gap:12px}
.int-auto-t{font-size:13px;font-weight:700;color:var(--tx)}
.int-auto-d{font-size:10.5px;color:var(--tx2);margin-top:2px}
.int-auto-tg{font-size:11.5px;font-weight:600;padding:7px 14px;
  border-radius:9px;border:none;cursor:pointer;background:var(--line);
  color:var(--tx2);flex-shrink:0}
.int-auto-tg.on{background:var(--ok);color:#fff}

/* ====== КАРТОЧКА ПРОДАВЦА В ЖУРНАЛЕ ПРИЁМОК ====== */
.scd-prof{display:flex;align-items:center;gap:11px;margin-bottom:12px}
.scd-av{width:42px;height:42px;border-radius:50%;background:var(--accS);
  color:var(--acc);display:flex;align-items:center;justify-content:center;
  font-size:14px;font-weight:700;flex-shrink:0}
.scd-name{font-size:15px;font-weight:700;color:var(--tx)}
.scd-meta{font-size:11px;color:var(--tx2);margin-top:1px}
.scd-list-h{font-size:11px;color:var(--tx2);font-weight:600;margin:10px 0 6px}
.scd-dev{display:flex;justify-content:space-between;align-items:center;
  padding:9px 0;border-bottom:0.5px solid var(--line)}
.scd-dev:last-child{border-bottom:none}
.scd-dev-tx{flex:1;min-width:0}
.scd-dev-n{font-size:12.5px;font-weight:600;color:var(--tx)}
.scd-dev-m{font-size:10px;color:var(--tx2);margin-top:1px}
.scd-dev-t{font-size:10.5px;color:var(--tx3);white-space:nowrap;flex-shrink:0}

/* ====== АДАПТИВНЫЙ МАКЕТ ЖУРНАЛА ПРИЁМОК ====== */
/* Компьютер (от 1001px): две колонки, отчёт справа закреплён */
.int-layout{display:block}
@media(min-width:1001px){
  .int-layout{display:grid;grid-template-columns:1.5fr 1fr;
    gap:16px;align-items:start}
  .int-right{position:sticky;top:16px}
}
/* Планшет (701–1000px): одна колонка, отчёт сверху закреплён */
@media(min-width:701px) and (max-width:1000px){
  .int-layout{display:flex;flex-direction:column}
  .int-right{order:-1;position:sticky;top:8px;z-index:5;
    background:var(--bg);padding-bottom:6px}
}
/* Телефон (до 700px): одна колонка, отчёт сверху сворачиваемый */
@media(max-width:700px){
  .int-layout{display:flex;flex-direction:column}
  .int-right{order:-1}
}

/* ====== СВОРАЧИВАЕМЫЙ ОТЧЁТ (телефон) ====== */
.int-rep-toggle{display:flex;align-items:center;gap:8px}
.int-rep-mini{display:none;font-size:11px;font-weight:700;color:var(--acc);
  margin-left:auto;background:var(--accS);padding:2px 9px;border-radius:7px}
.int-rep-arrow{display:none;font-size:12px;color:var(--tx2);transition:transform .2s}
.int-rep-body{display:block}
/* на телефоне отчёт можно свернуть */
@media(max-width:700px){
  .int-rep-toggle{cursor:pointer}
  .int-rep-mini{display:inline-block}
  .int-rep-arrow{display:inline-block}
  .int-rep-card.collapsed .int-rep-body{display:none}
  .int-rep-card.collapsed .int-rep-arrow{transform:rotate(-90deg)}
}

/* ====== ПОМЕТКА «УДАЛЕНО В ГРУППЕ» ====== */
.int-badge.imiss{background:var(--dngS);color:var(--dng)}
.int-card.miss{border-color:var(--dng);border-style:dashed}
.int-miss-acts{display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  margin-top:9px;padding-top:9px;border-top:0.5px solid var(--line)}
.int-miss-q{font-size:11px;color:var(--dng);flex:1;min-width:140px}

/* ====== УМНЫЕ ДУБЛИКАТЫ: ошибка vs повторный приём ====== */
.int-badge.irepeat{background:var(--warnS);color:var(--warn)}
.int-card.repeat{border-left:3px solid var(--warn)}
.int-dupinfo{font-size:10.5px;margin-top:6px;padding:6px 9px;border-radius:7px;
  line-height:1.5}
.int-dupinfo.err{background:var(--dngS);color:var(--dng)}
.int-dupinfo.rep{background:var(--warnS);color:var(--warn)}

/* ============ МОБИЛЬНЫЙ РЕЖИМ (v68) ============ */
@media (max-width:768px){
  /* На мобильных — крупные кнопки касания (минимум 44×44) */
  .btn{min-height:38px;padding:8px 12px;font-size:13px}
  .btn.sm{min-height:34px;padding:7px 10px;font-size:12px}

  /* Поля ввода — крупнее */
  .input,select.input{font-size:14px;padding:10px 12px;min-height:40px}

  /* Сайдбар всегда оверлей на мобильных, скрываем кнопку «свернуть» */
  .sidebar.fancy-side .side-toggle{display:none}

  /* Канбан сервиса — вертикально на мобильных */
  .svc-kanban{grid-template-columns:1fr !important;gap:12px}

  /* Список аксессуаров — таблицы не скролят горизонтально */
  .item{padding:11px 12px}
  .item-top b{font-size:13px}

  /* Карточки и сайдбар на главной */
  .sh2-stats{grid-template-columns:1fr !important;gap:6px}
  .sh2-st{padding:10px 12px}

  /* KPI блоки буфета на мобильных в один столбец */
  .pg-kpis{grid-template-columns:1fr 1fr !important}

  /* Меню в сайдбаре — крупнее для тапа */
  .menu-item{min-height:42px;font-size:14px}

  /* Кнопки в формах закрытия смены — на всю ширину */
  .pg-hd-t{font-size:16px}

  /* Уменьшаем горизонтальные паддинги контента */
  .pageBody, .app-content{padding-left:12px;padding-right:12px}

  /* h2 и h3 на мобильных уменьшаем */
  h2{font-size:18px}
  h3{font-size:15px}

  /* Tabs - переносы вместо горизонтального скролла */
  .rep-chips{flex-wrap:wrap;gap:6px}
  .rep-chip{min-height:36px}
}

/* Совсем узкие экраны (320-360px) */
@media (max-width:380px){
  .pg-kpis{grid-template-columns:1fr !important}
  .btn{font-size:12px;padding:7px 9px}
}

/* ===== ДАШБОРД ДИРЕКТОРА v2 (v74) ===== */
.dir2-hero{
  background:linear-gradient(135deg,#0F6E56 0%,#085041 100%);
  color:#fff;padding:22px 24px;border-radius:14px;margin-bottom:12px;
  box-shadow:0 1px 3px rgba(15,110,86,0.15);
}
.dir2-hero-greet{font-size:13px;opacity:0.85;font-weight:500}
.dir2-hero-num{font-size:32px;font-weight:700;margin-top:6px;letter-spacing:-0.5px;line-height:1.1}
.dir2-hero-sub{font-size:12px;opacity:0.92;margin-top:6px}
.dir2-trend{font-weight:600;display:inline-block;padding:1px 6px;border-radius:4px;background:rgba(255,255,255,0.18)}
.dir2-trend.g{background:rgba(157,224,179,0.3);color:#d3fae3}
.dir2-trend.r{background:rgba(248,150,150,0.3);color:#fed7d7}

.dir2-ai{
  background:#1a1d2e;color:#fff;border-radius:14px;margin-bottom:12px;
  overflow:hidden;border:1px solid #2a2d40;
}
.dir2-ai-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid #2a2d40}
.dir2-ai-avatar{
  width:34px;height:34px;border-radius:50%;
  background:linear-gradient(135deg,#534AB7,#185FA5);
  display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0
}
.dir2-ai-name{font-weight:600;font-size:13px}
.dir2-ai-status{font-size:11px;color:#5DCAA5;margin-top:2px}
.dir2-ai-toggle{
  background:#2a2d40;color:#fff;border:1px solid #444;
  padding:6px 12px;border-radius:6px;font-size:11px;cursor:pointer;
}
.dir2-ai-toggle:hover{background:#34374a}
.dir2-ai-body{padding:14px 16px}
.dir2-ai-suggest{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.dir2-chip{
  background:#2a2d40;border:1px solid #444;color:#ccc;
  padding:5px 10px;border-radius:14px;font-size:11px;cursor:pointer;
}
.dir2-chip:hover{background:#34374a;color:#fff}
.dir2-ai-input{display:flex;gap:6px;margin-top:10px}
.dir2-ai-input input{
  flex:1;background:#0f1220;border:1px solid #444;color:#fff;
  padding:9px 12px;border-radius:8px;font-size:12px;
}
.dir2-ai-input input:focus{outline:none;border-color:#534AB7}
.dir2-ai-input button{
  background:#534AB7;color:#fff;border:none;
  padding:9px 14px;border-radius:8px;font-size:14px;cursor:pointer;font-weight:600;
}
.dir2-ai-input button:hover{background:#3C3489}

.dir2-ai-cta{
  background:#F1EFE8;border:1px dashed var(--bd);
  border-radius:10px;padding:14px 16px;margin-bottom:12px;
}

.dir2-card{
  background:#fff;border:0.5px solid var(--bd);
  border-radius:12px;padding:14px 16px;margin-bottom:10px;
}
.dir2-card-label{
  font-size:10px;color:var(--mut);font-weight:600;
  letter-spacing:0.5px;text-transform:uppercase;margin-bottom:10px
}
.dir2-no-goal{background:#F9F8F2;border-style:dashed}

.dir2-goal-row{display:flex;justify-content:space-between;align-items:baseline}
.dir2-goal-nums{font-size:22px;font-weight:600;color:#185FA5;letter-spacing:-0.3px}
.dir2-goal-bar{
  height:8px;border-radius:4px;margin-top:8px;overflow:hidden;
  background:#E6F1FB;
}
.dir2-goal-fill{height:100%;transition:width 0.4s}

.dir2-action{
  display:flex;align-items:flex-start;gap:10px;
  padding:10px 0;border-top:0.5px solid var(--bd);
}
.dir2-action:first-of-type{border-top:none;padding-top:0}
.dir2-action-ic{
  width:30px;height:30px;border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  font-size:14px;font-weight:700;flex-shrink:0;
}
.dir2-action-tx{flex:1;font-size:12.5px;line-height:1.5}
.dir2-action-dismiss{
  background:none;border:none;color:var(--mut);
  cursor:pointer;font-size:12px;padding:0 4px;line-height:1;
}
.dir2-action-dismiss:hover{color:#A32D2D}

.dir2-kpis{
  display:grid;grid-template-columns:repeat(4,1fr);gap:8px;
  margin-bottom:10px;
}
.dir2-tile{
  background:var(--bg);padding:11px 12px;border-radius:10px;text-align:center;
}
.dir2-tile-l{
  font-size:9px;color:var(--mut);font-weight:600;
  letter-spacing:0.4px;text-transform:uppercase;
}
.dir2-tile-v{font-size:17px;font-weight:600;margin-top:3px}

@media(max-width:600px){
  .dir2-hero-num{font-size:26px}
  .dir2-kpis{grid-template-columns:repeat(2,1fr)}
  .dir2-ai-suggest{flex-direction:column}
  .dir2-chip{width:100%;text-align:left}
}

/* ===== ПЕЧАТЬ ЧЕКОВ (v76) ===== */
.print-receipt{
  font-family:'Courier New',monospace;
  font-size:11px;
  line-height:1.4;
  color:#000;
  background:#fff;
  width:100%;
  max-width:280px;
  margin:0 auto;
  padding:10px;
}
.print-receipt h1{
  font-size:14px;font-weight:700;text-align:center;
  margin:0 0 4px;letter-spacing:0.5px;
}
.print-receipt .pr-sub{text-align:center;font-size:10px;margin-bottom:8px}
.print-receipt .pr-hr{border-top:1px dashed #000;margin:6px 0}
.print-receipt .pr-row{display:flex;justify-content:space-between;margin:2px 0}
.print-receipt .pr-tot{font-size:13px;font-weight:700;border-top:1px solid #000;padding-top:4px;margin-top:6px}
.print-receipt .pr-foot{text-align:center;font-size:10px;margin-top:10px;color:#444}
.print-receipt .pr-code{font-family:'Courier New',monospace;font-size:18px;text-align:center;letter-spacing:3px;padding:6px;border:1px dashed #000;margin:6px 0}

/* экранная превью-обёртка */
.print-preview{
  background:#fffce8;padding:14px;border-radius:4px;
  box-shadow:0 0 0 0.5px var(--bd);
  max-width:300px;margin:0 auto;
}

/* стили только для печати — скрывает всё кроме чека */
@media print{
  body * { visibility:hidden; }
  #printArea, #printArea * { visibility:visible; }
  #printArea {
    position:absolute;left:0;top:0;width:100%;
  }
  .print-receipt{
    max-width:none;padding:0;margin:0;
    width:58mm;
  }
  /* 80мм режим (через класс на body) */
  body.print-80 .print-receipt{width:80mm}
  /* убираем рамки браузера */
  @page { margin:3mm; }
}

/* ========================================================== */
/* v84 — МОДАЛЬНЫЕ ДИАЛОГИ (исправлено: были без стилей!)     */
/* ========================================================== */
.dlg-bg{
  position:fixed;
  top:0;left:0;right:0;bottom:0;
  background:rgba(15,20,30,0.55);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  overflow-y:auto;
  animation:dlgFadeIn 0.18s ease-out;
}
@keyframes dlgFadeIn{from{opacity:0}to{opacity:1}}

.dlg{
  background:var(--bg,#fff);
  border-radius:14px;
  padding:20px 22px;
  width:100%;
  max-width:440px;
  max-height:calc(100vh - 32px);
  overflow-y:auto;
  box-shadow:0 20px 60px rgba(0,0,0,0.25), 0 0 0 0.5px rgba(0,0,0,0.08);
  animation:dlgSlideUp 0.22s ease-out;
  position:relative;
}
@keyframes dlgSlideUp{
  from{transform:translateY(20px);opacity:0}
  to{transform:translateY(0);opacity:1}
}

.dlg h3{
  margin:0 0 4px;
  font-size:17px;
  font-weight:600;
  color:var(--tx,#1a1a1a);
}
.dlg .sub{
  font-size:12px;
  color:var(--mut,#666);
  margin-bottom:14px;
  line-height:1.5;
}
.dlg .field{margin-bottom:11px}
.dlg .field label{
  display:block;
  font-size:11px;
  color:var(--mut,#666);
  margin-bottom:4px;
  font-weight:500;
}

/* Мобильная версия — диалог почти на весь экран */
@media(max-width:760px){
  .dlg-bg{
    padding:8px;
    align-items:flex-end; /* снизу вверх — удобнее палец */
  }
  .dlg{
    max-width:100%;
    max-height:calc(100vh - 16px);
    padding:18px 18px 22px;
    border-radius:18px 18px 8px 8px;
    animation:dlgSlideUpMob 0.25s ease-out;
  }
  @keyframes dlgSlideUpMob{
    from{transform:translateY(100%);opacity:0.7}
    to{transform:translateY(0);opacity:1}
  }
  .dlg h3{font-size:16px}
  .dlg .input,.dlg .btn{font-size:14px;padding:11px 13px}
}

/* Очень узкие (старые) телефоны */
@media(max-width:380px){
  .dlg{padding:14px 14px 18px;border-radius:14px 14px 6px 6px}
  .dlg h3{font-size:15px}
}

/* Скроллбар внутри диалога */
.dlg::-webkit-scrollbar{width:6px}
.dlg::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.15);border-radius:3px}

/* Кнопка закрытия — крестик в углу (опционально) */
.dlg-close{
  position:absolute;
  top:10px;right:10px;
  width:28px;height:28px;
  border:none;background:rgba(0,0,0,0.06);
  border-radius:50%;
  font-size:16px;cursor:pointer;
  color:var(--mut,#666);
  display:flex;align-items:center;justify-content:center;
  line-height:1;
}
.dlg-close:hover{background:rgba(0,0,0,0.12)}

/* Когда диалог открыт — блокируем скролл body */
body.dlg-open{overflow:hidden}

/* ========================================================== */
/* v84 — УЛУЧШЕНИЯ МОБИЛЬНОЙ АДАПТАЦИИ                        */
/* ========================================================== */

/* Все таблицы — горизонтальная прокрутка на мобильном */
@media(max-width:760px){
  table{font-size:12px}
  .card{overflow-x:auto;-webkit-overflow-scrolling:touch}
  /* Если внутри таблица — даём ей место для прокрутки */
  .card>table{min-width:max-content}
}

/* Кнопки в строке — заворачиваются на мобильном вместо обрезки */
@media(max-width:760px){
  .row,.btn-row{flex-wrap:wrap;gap:6px}
  .btn{min-height:38px}
  .btn.sm{min-height:32px;font-size:12px;padding:6px 10px}
}

/* Поля ввода — не меньше 16px шрифта (iOS не зумит) */
@media(max-width:760px){
  .input,input[type="text"],input[type="number"],input[type="password"],
  input[type="email"],input[type="tel"],input[type="date"],
  textarea,select{
    font-size:16px !important;
  }
}

/* Контент карточек на мобильном — без горизонтального скролла */
@media(max-width:760px){
  .empty{padding:24px 12px;font-size:13px}
  h2{font-size:18px;margin:0 0 8px}
  h3{font-size:15px}
  .sub{font-size:11px;line-height:1.5}
}

/* Кнопка действия которая выходит за края — переводим в полную ширину */
@media(max-width:760px){
  .btn.block-mob{display:block;width:100%}
  /* Display:flex с переносом — кнопки сохраняют размер */
  .flex-mob-col{flex-direction:column;align-items:stretch}
}

/* Login форма — на мобильном без декоративных blob элементов */
@media(max-width:760px){
  .lg2-deco{display:none}
  .lg2-card{padding:24px 20px;margin:auto}
  .lg2-brand{font-size:20px}
  .lg2-sub{font-size:13px}
  .lg2{padding:0;align-items:center;justify-content:center}
  .lg2-left{padding:16px;width:100%}
}

/* Для очень узких — текст в карточках уменьшаем */
@media(max-width:380px){
  .card{padding:11px;border-radius:10px}
  h2{font-size:16px}
  h3{font-size:14px}
  .btn{font-size:13px;padding:9px 12px;min-height:36px}
}

/* Топбар — на мобильном правый край не съезжает */
@media(max-width:760px){
  .topbar{padding:10px 12px;gap:8px}
  .topbar .right{flex-wrap:nowrap;overflow:visible}
  .logout-btn{width:38px;height:38px;flex-shrink:0;margin-left:8px}
  .logout-btn svg{width:18px;height:18px}
}

/* Sticky-кнопки (типа "Сохранить") не закрывают контент мобильной клавиатурой */
@media(max-width:760px){
  .dlg{padding-bottom:env(safe-area-inset-bottom, 18px)}
}

/* Безопасные отступы для iPhone с челкой */
@supports(padding:max(0px)){
  .topbar{
    padding-left:max(12px, env(safe-area-inset-left));
    padding-right:max(12px, env(safe-area-inset-right));
  }
  body{
    padding-bottom:env(safe-area-inset-bottom);
  }
}

/* Карточки с большой статистикой — на узких экранах в одну колонку */
@media(max-width:480px){
  .stats-grid,.stat-grid{grid-template-columns:1fr !important}
}

/* Inline-кнопки в строках истории — wrap */
@media(max-width:760px){
  [class*="actions"]{display:flex;flex-wrap:wrap;gap:6px}
}

/* ========================================================== */
/* v85 — FIX мобильной адаптации (после скриншотов)           */
/* Главная проблема: текст переносился ПО БУКВАМ из-за того   */
/* что flex-блокам не хватало места и они сжимались до 0       */
/* ========================================================== */

/* === FIX 1: Заголовки "Ремонт и услуги" не разрываются по буквам === */
@media(max-width:760px){
  .pg-hd{
    flex-wrap:wrap; /* перенос на новую строку если не помещается */
    gap:10px 12px;
  }
  .pg-hd-tx{
    flex:1 1 100%; /* занимает всю ширину */
    min-width:0;
    word-break:normal !important;
    overflow-wrap:break-word;
    hyphens:none;
  }
  .pg-hd-t{
    font-size:15px;
    line-height:1.25;
    word-break:keep-all; /* НЕ разрывать слова */
    overflow-wrap:break-word;
  }
  .pg-hd-ac{
    flex:1 1 100%; /* кнопки на новую строку */
    flex-wrap:wrap;
    justify-content:stretch;
  }
  .pg-hd-ac .btn{flex:1 1 auto; min-width:0}
  .pg-hd-ic{flex-shrink:0}
}

/* === FIX 2: Кнопка Excel в журнале приёмок не вертикально === */
@media(max-width:760px){
  .int-hd{padding:14px}
  .int-hd-row{flex-wrap:wrap; gap:10px}
  .int-hd-row > div:first-child{flex:1 1 100%}
  .int-hd-row > div:last-child{flex:1 1 100%; justify-content:flex-start !important}
  .int-hd-row .btn{
    min-width:auto; /* НЕ навязывать ширину */
    white-space:nowrap; /* текст в одну строку */
    padding:8px 12px;
  }
  .int-hd-row #intExport{flex:0 1 auto}
  .int-live{font-size:11px; padding:4px 8px; white-space:nowrap}
}

/* === FIX 3: Карточки статистики не обрезаются === */
@media(max-width:760px){
  /* Если есть горизонтальный скролл — даём скроллить и не обрезать */
  .stats,.stat-grid,.stat-row{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory;
    padding-bottom:4px;
    margin:0 -4px;
    padding-left:4px;
    padding-right:4px;
  }
  .stats > *,.stat-grid > *,.stat-row > *{
    scroll-snap-align:start;
    flex-shrink:0;
    min-width:90px;
  }
  /* Если grid — переводим в одну колонку или 2 */
  .stats{display:grid; grid-template-columns:repeat(2,1fr); overflow:visible}
}

/* === FIX 4: Тайлы (квадратные кнопки внизу) === */
@media(max-width:760px){
  .tiles{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
    gap:10px;
  }
  .tile{
    min-height:90px;
    padding:14px 12px;
    word-break:keep-all;
    overflow-wrap:break-word;
  }
  .tile > * {min-width:0}
  .tile-tx,.tile-name{font-size:13px; word-break:normal}
}

/* === FIX 5: Карточки с иконкой + текстом + статусом === */
/* (типа "Журнал приёмок (TG)  0 за сегодня")              */
@media(max-width:760px){
  /* Универсальное правило: flex-блок должен переносить слова целиком */
  .card *[style*="display:flex"]{
    min-width:0;
  }
  /* Любой блок с flex:1 — обязательно min-width:0 для корректного break-word */
  .card *[style*="flex:1"]{
    min-width:0;
  }
}

/* === FIX 6: Кнопки заголовка с длинным текстом === */
@media(max-width:760px){
  .btn{
    word-break:keep-all;
    overflow-wrap:break-word;
    white-space:normal;
    line-height:1.3;
  }
  /* Кнопки в строке-flex одной высоты */
  .row > .btn{min-width:0}
}

/* === FIX 7: Топбар с иконками не съезжает === */
@media(max-width:760px){
  .topbar{
    flex-wrap:nowrap;
    overflow:hidden;
  }
  .topbar .pg-title,.topbar h1,.topbar > div:not(.right){
    flex:1;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .topbar .right{
    flex-shrink:0;
    display:flex;
    gap:6px;
  }
  .logout-btn{
    width:36px !important;
    height:36px !important;
    flex-shrink:0 !important;
    padding:0 !important;
  }
}

/* === FIX 8: Hero-карточка директора (Ассаламу алейкум...) === */
@media(max-width:760px){
  .dir2-hero{
    padding:14px 16px;
  }
  .dir2-hero > div{min-width:0}
  /* Если внутри hero есть кнопка справа — она должна на новую строку */
  .dir2-hero[style*="display:flex"]{flex-wrap:wrap; gap:12px}
}

/* === FIX 9: Текст НЕ разрывается посреди слова === */
/* Глобальное правило для всех элементов на мобильном */
@media(max-width:760px){
  body,div,h1,h2,h3,h4,p,span,button,a,label{
    word-break:normal;
    overflow-wrap:break-word;
    -webkit-hyphens:none;
    hyphens:none;
  }
  /* Исключение: длинные URL и email — могут разрываться */
  code,pre,.url,.email{
    word-break:break-all;
    overflow-wrap:anywhere;
  }
}

/* === FIX 10: Iframe приёмок и таблицы === */
@media(max-width:760px){
  table{font-size:11px}
  table th,table td{padding:6px 4px; word-break:keep-all}
}

/* ========================================================== */
/* v85 — ПЕРЕОПРЕДЕЛЕНИЕ inline-стилей сервис-дашборда         */
/* (inline grid-template-columns надо побеждать !important)    */
/* ========================================================== */

@media(max-width:760px){
  /* KPI карточки сервис-центра — было 4 колонки, делаем 2x2 */
  /* (исключаем канбан который имеет margin-bottom:12px И содержит DUO_ICON) */
  .content [style*="grid-template-columns:repeat(4,1fr)"]{
    grid-template-columns:repeat(2,1fr) !important;
    overflow:visible;
  }
  /* Нижние кнопки 3 колонки — в одну на мобильном */
  .content [style*="grid-template-columns:1fr 1fr 1fr"]{
    grid-template-columns:1fr !important;
  }
  /* Карточки внутри KPI/тайлов — текст не разрывается */
  .content [style*="background:#e6f1fb"][style*="border-radius:8px"],
  .content [style*="background:#e1f5ee"][style*="border-radius:8px"],
  .content [style*="background:#faece7"][style*="border-radius:8px"],
  .content [style*="background:#faeeda"][style*="border-radius:8px"]{
    padding:10px 12px !important;
    min-width:0;
  }
  /* Заголовки приветствия — на мобильном перенос блоков */
  .content [style*="justify-content:space-between"][style*="background:var(--bg)"]{
    flex-wrap:wrap !important;
    gap:10px !important;
  }
  .content [style*="justify-content:space-between"][style*="background:var(--bg)"] > div:first-child{
    flex:1 1 100%;
    min-width:0;
  }
  .content [style*="justify-content:space-between"][style*="background:var(--bg)"] > button{
    flex:1 1 100%;
    justify-content:center !important;
  }
  /* Заголовки внутри KPI карточек — переносы по словам */
  .content [style*="font-size:10px"][style*="color:#185fa5"],
  .content [style*="font-size:10px"][style*="color:#0f6e56"],
  .content [style*="font-size:10px"][style*="color:#993c1d"]{
    font-size:9px !important;
    line-height:1.2;
    word-break:keep-all !important;
    overflow-wrap:break-word !important;
  }
  /* Большие цифры в KPI — уменьшаем */
  .content [style*="font-size:22px"][style*="font-weight:700"]{
    font-size:18px !important;
  }
  /* Текст "Журнал приёмок (TG)" — не разрывается */
  .content [style*="font-size:13px"][style*="font-weight:500"]{
    word-break:normal !important;
    overflow-wrap:break-word;
    line-height:1.3;
  }
}

/* Очень узкие — KPI карточки в одну колонку */
@media(max-width:380px){
  .content [style*="grid-template-columns:repeat(4,1fr)"]:not([style*="margin-bottom:12px"]){
    grid-template-columns:1fr !important;
  }
}

/* === Универсальное: ВСЕ flex-блоки с inline-стилем display:flex
       автоматически получают flex-wrap на мобильном если содержат текст === */
@media(max-width:760px){
  /* Защита от вертикального разрыва текста по буквам */
  [style*="display:flex"] > div,
  [style*="display:flex"] > span{
    min-width:0;
  }
}

/* ============================================================ */
/* v153 — КОМПАКТНАЯ ГЛАВНАЯ СЕРВИСА (адаптивно ПК/планшет/моб.) */
/* ============================================================ */

/* Header — приветствие + кнопки в одну строку */
.srv-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  background:var(--surf);
  padding:11px 14px;
  border-radius:10px;
  margin-bottom:10px;
  border:0.5px solid var(--line);
  flex-wrap:wrap;
  gap:8px;
}
.srv-header-l{ min-width:0; flex:1 }
.srv-header-r{ display:flex; gap:6px; flex-wrap:wrap }
.srv-greet{
  font-size:16px;
  font-weight:500;
  color:var(--tx);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.srv-date{
  font-size:11px;
  color:var(--tx2);
  margin-top:1px;
}

/* KPI — 4 карточки в одну строку (на мобилке 2x2) */
.srv-kpi{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  margin-bottom:10px;
}
.srv-kpi-c{
  padding:9px 11px;
  border-radius:8px;
  min-height:50px;
}
.srv-kpi-l{
  font-size:9.5px;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:0.5px;
  margin-bottom:2px;
}
.srv-kpi-n{
  font-size:21px;
  font-weight:500;
  font-variant-numeric:tabular-nums;
  line-height:1.1;
}
.srv-kpi-work{ background:#e6f1fb }
.srv-kpi-work .srv-kpi-l,.srv-kpi-work .srv-kpi-n{ color:#185fa5 }
.srv-kpi-ready{ background:#e1f5ee }
.srv-kpi-ready .srv-kpi-l,.srv-kpi-ready .srv-kpi-n{ color:#0f6e56 }
.srv-kpi-verdict{ background:#faece7 }
.srv-kpi-verdict .srv-kpi-l,.srv-kpi-verdict .srv-kpi-n{ color:#993c1d }
.srv-kpi-money{ background:#e1f5ee }
.srv-kpi-money .srv-kpi-l,.srv-kpi-money .srv-kpi-n{ color:#0f6e56 }

/* Dark mode для KPI карточек */
[data-theme="dark"] .srv-kpi-work{ background:#0c2841 }
[data-theme="dark"] .srv-kpi-work .srv-kpi-l,
[data-theme="dark"] .srv-kpi-work .srv-kpi-n{ color:#85b7eb }
[data-theme="dark"] .srv-kpi-ready{ background:#0b3024 }
[data-theme="dark"] .srv-kpi-ready .srv-kpi-l,
[data-theme="dark"] .srv-kpi-ready .srv-kpi-n{ color:#5dcaa5 }
[data-theme="dark"] .srv-kpi-verdict{ background:#3e1f10 }
[data-theme="dark"] .srv-kpi-verdict .srv-kpi-l,
[data-theme="dark"] .srv-kpi-verdict .srv-kpi-n{ color:#f0997b }
[data-theme="dark"] .srv-kpi-money{ background:#0b3024 }
[data-theme="dark"] .srv-kpi-money .srv-kpi-l,
[data-theme="dark"] .srv-kpi-money .srv-kpi-n{ color:#5dcaa5 }

/* v153: двухколонная обёртка — основной контент слева, намаз справа.
   На широких экранах (>=1100px) намаз уходит в правую боковую колонку,
   на узких — спрятан (намаз вставляется наверх как раньше). */
.srv-page{
  display:block;
}
.srv-aside{
  display:none;  /* спрятан по умолчанию (на узких) */
}

/* v153.1: кнопка буфета в шапке — компактнее остальных, зелёный акцент */
.srv-buf-btn{
  background:#E1F5EE !important;
  color:#0F6E56 !important;
  border-color:#5DCAA5 !important;
}
.srv-buf-btn:hover{ background:#9FE1CB !important }
[data-theme="dark"] .srv-buf-btn{
  background:#0F4D3A !important;
  color:#9FE1CB !important;
  border-color:#0F6E56 !important;
}

@media(min-width:1100px){
  .srv-page{
    display:grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap:14px;
    align-items:start;
  }
  .srv-main{ min-width:0 }  /* чтоб grid не растягивал */
  .srv-aside{
    display:block;
    position:sticky;
    top:14px;
  }
  .srv-aside .isl-panel{ margin-bottom:0 }
  .srv-aside .isl-prayer{ padding:14px 16px !important }
  .srv-aside .isl-prayer-name{ font-size:17px !important }
  .srv-aside .isl-prayer-time{ font-size:24px !important }
  .srv-aside .isl-pcell{ padding:7px 5px !important }
}

/* Канбан — 4 колонки на ПК, скролл на маленьких экранах */
.srv-kanban-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  margin-bottom:10px;
}
.srv-kanban{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  min-width:100%;
}

/* Нижние тайлы — 3 в одну строку */
.srv-bottom-tiles{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:8px;
}
.srv-tile{
  display:flex !important;
  align-items:center !important;
  gap:10px;
  padding:11px 13px !important;
  text-align:left !important;
  background:var(--surf);
  border:0.5px solid var(--line) !important;
  border-radius:8px;
}
.srv-tile-t{ flex:1; min-width:0 }
.srv-tile-h{
  font-size:13px;
  font-weight:500;
  color:var(--tx);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.srv-tile-s{
  font-size:10px;
  color:var(--tx2);
  margin-top:1px;
}

/* === АДАПТИВНОСТЬ === */
/* Планшет (768-1023): 2 колонки KPI и нижних тайлов */
@media(max-width:1023px){
  .srv-kpi{ grid-template-columns:repeat(2,1fr) }
  .srv-kpi-n{ font-size:19px }
}
/* Смартфон (до 760) */
@media(max-width:760px){
  .srv-header{ padding:10px 12px }
  .srv-greet{ font-size:14px }
  .srv-date{ font-size:10px }
  .srv-header-r{ width:100%; justify-content:stretch }
  .srv-header-r .btn{ flex:1; justify-content:center; padding:8px 10px !important; font-size:12px !important }
  .srv-kpi-c{ padding:8px 10px; min-height:44px }
  .srv-kpi-l{ font-size:9px }
  .srv-kpi-n{ font-size:17px }
  .srv-kanban{
    grid-template-columns:repeat(4,minmax(140px,1fr));
    /* На мобильном — горизонтальный скролл */
  }
  .srv-bottom-tiles{ grid-template-columns:1fr }
  .srv-tile{ padding:9px 11px !important }
  .srv-tile-h{ font-size:12px }
  .srv-tile-s{ font-size:9.5px }
}

/* === Компактный исламский панель === */
/* На мобильном — высоту намаз-блока уменьшаем */
@media(max-width:760px){
  .isl-prayer-name{ font-size:15px !important }
  .isl-prayer-time{ font-size:20px !important }
  .isl-prayer{ padding:11px 13px !important }
  .isl-pcell{ padding:7px 6px !important }
  .isl-pcell-t{ font-size:11px !important }
  .isl-pcell-n{ font-size:8.5px !important }
  .isl-saying,.isl-hijri{ font-size:11px !important; padding:7px 11px !important }
}

/* ========================================================== */
/* v87 — Sticky корзина продавца аксессуаров                  */
/* На ПК: 2 колонки (товары + корзина справа)                 */
/* На планшете/мобиле: корзина сверху колонкой               */
/* ========================================================== */

.acc-layout{
  display:grid;
  grid-template-columns:1fr 360px;
  gap:14px;
  align-items:start;
}

.acc-main{
  min-width:0; /* критично — иначе содержимое не сжимается */
}

.acc-cart-side{
  position:sticky;
  top:14px; /* отступ от верха при скролле */
  max-height:calc(100vh - 28px);
  overflow-y:auto;
}

/* Корзина внутри aside — без верхнего отступа */
.acc-cart-side .cart-panel{
  margin-top:0;
}

/* Пустая корзина — мягкое оформление */
.cart-empty .cart-panel-body{
  background:rgba(0,0,0,0.02);
}
.cart-empty .cart-panel-head{
  opacity:0.7;
}

/* Планшеты (между 760 и 1100) — корзина уже */
@media(max-width:1100px) and (min-width:761px){
  .acc-layout{
    grid-template-columns:1fr 300px;
  }
}

/* Мобильные — одна колонка, корзина СВЕРХУ */
@media(max-width:760px){
  .acc-layout{
    display:flex;
    flex-direction:column;
    gap:10px;
  }
  /* Меняем порядок — корзина первая */
  .acc-cart-side{
    order:1;
    position:relative; /* не sticky на мобильном — занимала бы слишком много */
    top:auto;
    max-height:none;
    overflow:visible;
  }
  .acc-main{
    order:2;
  }
  /* Если корзина пустая на мобильном — скрыть совсем */
  .acc-cart-side .cart-empty{
    display:none;
  }
}

/* === FAB — плавающая кнопка корзины на мобильном === */
.acc-fab{
  display:none; /* На ПК не показываем — корзина и так видна */
}

@media(max-width:760px){
  .acc-fab{
    display:flex;
    position:fixed;
    bottom:max(20px, env(safe-area-inset-bottom, 20px));
    right:20px;
    width:60px;
    height:60px;
    border-radius:50%;
    background:var(--acc,#5b5fef);
    color:#fff;
    border:none;
    font-size:24px;
    cursor:pointer;
    box-shadow:0 6px 20px rgba(91,95,239,0.45);
    z-index:50;
    align-items:center;
    justify-content:center;
    transition:transform 0.18s;
  }
  .acc-fab:active{transform:scale(0.92)}
  .acc-fab-badge{
    position:absolute;
    top:-4px;
    right:-4px;
    background:#e24b4a;
    color:#fff;
    font-size:11px;
    font-weight:700;
    min-width:22px;
    height:22px;
    border-radius:11px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 6px;
    border:2px solid var(--bg,#fff);
  }
}

/* Очень узкие — корзина внутри ещё компактнее */
@media(max-width:380px){
  .acc-cart-side .cart-panel-body{
    padding:10px;
  }
  .acc-fab{
    width:54px;
    height:54px;
    font-size:22px;
    bottom:16px;
    right:16px;
  }
}

/* Анимация появления корзины */
.acc-cart-side .cart-panel{
  animation:cartFadeIn 0.2s ease-out;
}
@keyframes cartFadeIn{
  from{opacity:0;transform:translateY(-4px)}
  to{opacity:1;transform:translateY(0)}
}

/* Тонкий скроллбар внутри sticky корзины */
.acc-cart-side::-webkit-scrollbar{width:6px}
.acc-cart-side::-webkit-scrollbar-track{background:transparent}
.acc-cart-side::-webkit-scrollbar-thumb{
  background:rgba(0,0,0,0.15);
  border-radius:3px;
}
.acc-cart-side::-webkit-scrollbar-thumb:hover{
  background:rgba(0,0,0,0.25);
}

/* ========================================================== */
/* v88 — Вкладки клиентов продавца аксессуаров                */
/* ========================================================== */

.acc-tabs{
  display:flex;
  gap:6px;
  margin-bottom:12px;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  padding-bottom:4px;
  /* Тонкий скроллбар */
  scrollbar-width:thin;
}
.acc-tabs::-webkit-scrollbar{height:4px}
.acc-tabs::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.2);border-radius:2px}

.acc-tab{
  flex-shrink:0; /* не сжимаются */
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 14px;
  border-radius:9px;
  background:var(--surf,#fff);
  border:1px solid var(--line2,#e0e0e0);
  font-size:13px;
  font-weight:500;
  color:var(--tx2,#555);
  cursor:pointer;
  transition:all 0.15s;
  white-space:nowrap;
}
.acc-tab:hover{
  background:var(--soft,#f0f0f0);
  border-color:var(--acc,#5b5fef);
  color:var(--acc,#5b5fef);
}
.acc-tab.on{
  background:var(--acc,#5b5fef);
  color:#fff;
  border-color:var(--acc,#5b5fef);
}
.acc-tab.parent{
  background:#fff8e1;
  border-color:#ff9800;
  color:#854f0b;
}
.acc-tab.parent.on{
  background:#ff9800;
  color:#fff;
  border-color:#ff9800;
}
.acc-tab-cnt{
  background:rgba(0,0,0,0.12);
  color:inherit;
  padding:0 6px;
  border-radius:9px;
  font-size:10px;
  font-weight:700;
  min-width:18px;
  text-align:center;
}
.acc-tab.on .acc-tab-cnt{
  background:rgba(255,255,255,0.3);
}
.acc-tab-new{
  background:transparent;
  border:1px dashed var(--mut,#999);
  color:var(--mut,#999);
}
.acc-tab-new:hover{
  border-color:var(--acc,#5b5fef);
  color:var(--acc,#5b5fef);
  background:rgba(91,95,239,0.05);
}

@media(max-width:760px){
  .acc-tabs{
    margin-bottom:8px;
  }
  .acc-tab{
    padding:7px 11px;
    font-size:12px;
  }
}

/* v102: Логотип "by IHA" внизу справа
   v158: переместил влево, новый дизайн — карточка-капсула с инициалом и версией */
.iha-footer{
  position:fixed;
  bottom:10px;
  left:14px;
  z-index:50;
  cursor:pointer;
  user-select:none;
  display:inline-flex;
  align-items:center;
  gap:10px;
  background:var(--surf);
  border:0.5px solid var(--bd);
  border-radius:99px;
  padding:7px 10px 7px 7px;
  font-family:inherit;
  transition:transform 0.15s,border-color 0.15s,box-shadow 0.15s;
  opacity:0.9;
}
.iha-footer:hover{
  opacity:1;
  border-color:#0F6E56;
  transform:translateY(-1px);
}
.iha-footer-logo{
  width:32px;
  height:32px;
  background:#0F6E56;
  color:#fff;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  font-weight:500;
  letter-spacing:0.5px;
  flex-shrink:0;
}
.iha-footer-text{
  display:flex;
  flex-direction:column;
  line-height:1.1;
}
.iha-footer-prefix{
  font-size:9px;
  color:#9CA3AF;
  text-transform:uppercase;
  letter-spacing:0.5px;
  margin-bottom:2px;
}
.iha-footer-name{
  font-size:13px;
  color:#0F6E56;
  font-weight:500;
  letter-spacing:0.2px;
}
.iha-footer-ver{
  background:#E1F5EE;
  color:#0F6E56;
  font-size:9px;
  font-weight:500;
  padding:2px 7px;
  border-radius:99px;
  letter-spacing:0.3px;
  flex-shrink:0;
}
[data-theme="dark"] .iha-footer{
  background:var(--surf);
  border-color:var(--bd);
}
[data-theme="dark"] .iha-footer-name,
[data-theme="dark"] .iha-footer-ver{
  color:#5DCAA5;
}
[data-theme="dark"] .iha-footer-ver{
  background:#0F4D3A;
}
[data-theme="dark"] .iha-footer-logo{
  background:#0F6E56;
}
/* На узких экранах — компактный режим (только логотип) */
@media(max-width:680px){
  .iha-footer{
    padding:6px;
  }
  .iha-footer-text,
  .iha-footer-ver{
    display:none;
  }
}

/* v118: Настройки — главный экран с плитками + детальный экран с табами */

/* Главный экран */
.settings-home {
  max-width: 920px;
  margin: 0 auto;
}
.settings-head {
  margin-bottom: 22px;
}
.settings-head h2 {
  font-size: 22px;
  font-weight: 500;
  margin: 0 0 4px;
}
.settings-head .sub {
  font-size: 13px;
  color: var(--mut, #6f6f6f);
}
.settings-grp {
  margin-bottom: 22px;
}
.settings-grp-h {
  font-size: 11px;
  color: var(--mut, #6f6f6f);
  text-transform: uppercase;
  letter-spacing: 0.6px;
  font-weight: 500;
  padding: 0 4px 8px;
}
.settings-tiles {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 10px;
}
.settings-tile {
  background: var(--card, #fff);
  border: 0.5px solid var(--bd, rgba(0,0,0,0.1));
  border-radius: 10px;
  padding: 14px;
  display: flex;
  gap: 12px;
  align-items: center;
  cursor: pointer;
  transition: border-color 0.15s, transform 0.05s, background 0.15s;
}
.settings-tile:hover {
  border-color: rgba(0,0,0,0.2);
  background: rgba(0,0,0,0.015);
}
.settings-tile:active {
  transform: scale(0.99);
}
.settings-tile-ic {
  width: 40px;
  height: 40px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  flex-shrink: 0;
}
.settings-tile-info {
  flex: 1;
  min-width: 0;
}
.settings-tile-t {
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.settings-tile-d {
  font-size: 11px;
  color: var(--mut, #6f6f6f);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.settings-tile-arr {
  font-size: 22px;
  color: var(--mut, #ccc);
  font-weight: 300;
  margin-right: 2px;
  flex-shrink: 0;
}

/* Детальный экран — хлебные крошки + пилюли табов + контент */
.settings-detail {
  max-width: 1100px;
  margin: 0 auto;
}
.settings-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  font-size: 12px;
}
.settings-back {
  background: transparent;
  border: none;
  color: var(--mut, #555);
  font-size: 13px;
  cursor: pointer;
  padding: 4px 6px;
  border-radius: 5px;
}
.settings-back:hover {
  background: rgba(0,0,0,0.05);
  color: var(--text, #111);
}
.settings-bar-sep {
  color: var(--mut, #aaa);
}
.settings-bar-grp {
  color: var(--mut, #6f6f6f);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-size: 11px;
  font-weight: 500;
}
.settings-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 16px;
}
.settings-pill {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 7px 12px;
  border-radius: 999px;
  font-size: 13px;
  cursor: pointer;
  background: var(--soft, #f3f3f3);
  color: var(--text, #111);
  border: 0.5px solid transparent;
  transition: all 0.12s;
  user-select: none;
}
.settings-pill:hover {
  background: rgba(0,0,0,0.06);
}
.settings-pill.on {
  background: var(--pill-bg, var(--card));
  color: var(--pill-fg, var(--text));
  border-color: var(--pill-fg, transparent);
  font-weight: 500;
}
.settings-detail-content > .card:first-child {
  margin-top: 0;
}

/* Мобилка */
@media (max-width: 720px) {
  .settings-tiles {
    grid-template-columns: 1fr;
  }
  .settings-pills {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 4px;
  }
  .settings-pill {
    flex-shrink: 0;
  }
}

/* v121: Опасная зона — красные акценты */
.danger-card {
  background: linear-gradient(180deg, #FEF2F2 0%, #FCE7E7 100%) !important;
  border: 0.5px solid rgba(239, 68, 68, 0.3) !important;
}
.btn.danger-btn,
button.danger-btn {
  background: linear-gradient(180deg, #DC2626 0%, #B91C1C 100%) !important;
  color: #fff !important;
  border: 0.5px solid rgba(255,255,255,0.2) !important;
  box-shadow: 0 1px 0 rgba(255,255,255,0.2) inset, 0 4px 12px -2px rgba(220, 38, 38, 0.4);
  font-weight: 600;
}
.btn.danger-btn:hover,
button.danger-btn:hover {
  background: linear-gradient(180deg, #E13434 0%, #C92525 100%) !important;
}
/* Пункт меню "Опасная зона" — красный текст */
.menu-item.menu-danger,
.fancy-grp-danger-zone .fancy-item {
  color: #DC2626;
}

/* v122: Директорские компоненты */
.dir-stat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}
.dir-stat {
  background: #F9FAFB;
  padding: 12px 14px;
  border-radius: 8px;
  border: 0.5px solid rgba(0,0,0,0.05);
}
.dir-stat-l {
  font-size: 10px;
  color: #6B7280;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  margin-bottom: 4px;
  font-weight: 600;
}
.dir-stat-v {
  font-size: 20px;
  font-weight: 700;
  color: #111827;
  line-height: 1.1;
  word-wrap: break-word;
}
.dir-stat-d {
  font-size: 10px;
  color: #6B7280;
  margin-top: 3px;
}

.dir-problem {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  background: #FEF3C7;
  border: 0.5px solid #F59E0B;
  border-radius: 8px;
  font-size: 13px;
  color: #92400E;
  margin-bottom: 6px;
}
.dir-problem:last-child { margin-bottom: 0; }
.dir-problem[data-act] { cursor: pointer; }
.dir-problem[data-act]:hover { background: #FDE68A; }

.dir-quick {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  background: #fff;
  border: 0.5px solid rgba(0,0,0,0.1);
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.15s;
}
.dir-quick:hover {
  background: #F9FAFB;
  border-color: rgba(0,0,0,0.2);
}
.dir-quick-i { font-size: 22px; flex-shrink: 0; }
.dir-quick-t { font-size: 13px; font-weight: 600; color: #111827; }
.dir-quick-d { font-size: 11px; color: #6B7280; margin-top: 2px; }

.dir-bars { display: flex; flex-direction: column; gap: 4px; max-height: 600px; overflow-y: auto; }
.dir-bar-row {
  display: grid;
  grid-template-columns: 50px 1fr 110px 60px;
  gap: 8px;
  align-items: center;
  font-size: 12px;
  padding: 4px 0;
}
.dir-bar-d { color: var(--mut); font-variant-numeric: tabular-nums; }
.dir-bar-track {
  background: #E5E7EB;
  height: 18px;
  border-radius: 4px;
  overflow: hidden;
}
.dir-bar-fill {
  background: linear-gradient(180deg, #6366F1 0%, #4F46E5 100%);
  height: 100%;
  border-radius: 4px;
  transition: width 0.3s;
}
.dir-bar-v { text-align: right; font-weight: 600; font-variant-numeric: tabular-nums; }
.dir-bar-c { text-align: right; color: var(--mut); font-size: 11px; }

.dir-kpi-bar {
  background: #E5E7EB;
  height: 24px;
  border-radius: 12px;
  overflow: hidden;
}
.dir-kpi-fill {
  height: 100%;
  border-radius: 12px;
  transition: width 0.5s ease;
  box-shadow: 0 1px 0 rgba(255,255,255,0.3) inset;
}

.dir-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.dir-table th {
  text-align: left;
  font-size: 10px;
  color: #6B7280;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-weight: 600;
  padding: 8px;
  border-bottom: 0.5px solid rgba(0,0,0,0.1);
  background: #F9FAFB;
}
.dir-table td {
  padding: 9px 8px;
  border-bottom: 0.5px solid rgba(0,0,0,0.06);
}
.dir-table tbody tr:hover { background: #F9FAFB; }

.dir-shop-row {
  background: #F9FAFB;
  padding: 12px 14px;
  border-radius: 10px;
  margin-bottom: 8px;
}
.dir-shop-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.dir-shop-bar {
  background: #E5E7EB;
  height: 8px;
  border-radius: 4px;
  overflow: hidden;
}
.dir-shop-fill {
  background: linear-gradient(90deg, #10B981 0%, #059669 100%);
  height: 100%;
  border-radius: 4px;
}

.dir-cat-row {
  display: grid;
  grid-template-columns: 1fr 200px 120px;
  gap: 10px;
  align-items: center;
  padding: 6px 0;
  font-size: 12px;
}
.dir-cat-bar {
  background: #E5E7EB;
  height: 10px;
  border-radius: 4px;
  overflow: hidden;
}
.dir-cat-fill {
  background: #DC2626;
  height: 100%;
}
.dir-cat-v {
  text-align: right;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

/* v123: Запросы услуг сервиса */
.srv-req-card {
  background: #F9FAFB;
  border: 0.5px solid rgba(0,0,0,0.08);
  border-radius: 10px;
  padding: 12px 14px;
  margin-bottom: 10px;
}
.srv-req-card.srv-req-new {
  background: #FEF3C7;
  border-color: #F59E0B;
}
.srv-req-card.srv-req-in-work {
  background: #DBEAFE;
  border-color: #3B82F6;
}
.srv-req-card.srv-req-done {
  background: #DEF7EC;
  border-color: #10B981;
}
.srv-req-card.srv-req-rejected {
  background: #FEE2E2;
  border-color: #EF4444;
  opacity: 0.85;
}
.srv-req-h {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 6px;
}
.srv-req-t {
  font-size: 14px;
  font-weight: 600;
  color: #111827;
}
.srv-req-d {
  font-size: 11px;
  color: #6B7280;
  margin-top: 2px;
}
.srv-detail {
  font-size: 12px;
  color: #4B5563;
  margin: 4px 0;
  line-height: 1.5;
}

.srv-tag {
  display: inline-block;
  font-size: 10px;
  padding: 2px 8px;
  border-radius: 999px;
  font-weight: 600;
  flex-shrink: 0;
}
.srv-tag-new { background: #F59E0B; color: #fff; }
.srv-tag-work { background: #3B82F6; color: #fff; }
.srv-tag-done { background: #10B981; color: #fff; }
.srv-tag-rej { background: #EF4444; color: #fff; }

/* Выбор услуги в диалоге */
.svc-pick-list { display: flex; flex-direction: column; gap: 4px; }
.svc-pick {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 0.5px solid #E5E7EB;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.12s;
}
.svc-pick:hover { background: #F9FAFB; }
.svc-pick input[type="radio"] { display: none; }
.svc-pick input[type="radio"]:checked ~ .svc-pick-r {
  border-color: #6366F1;
}
.svc-pick input[type="radio"]:checked ~ .svc-pick-r::after {
  content: '';
  position: absolute;
  inset: 3px;
  background: #6366F1;
  border-radius: 50%;
}
.svc-pick:has(input:checked) {
  background: #EEF2FF;
  border-color: #6366F1;
}
.svc-pick-r {
  width: 16px; height: 16px;
  border-radius: 50%;
  border: 1.5px solid #D1D5DB;
  flex-shrink: 0;
  position: relative;
}
.svc-pick-n { flex: 1; font-size: 13px; color: #111827; }
.svc-pick-p { font-weight: 600; font-size: 13px; color: #111827; }

/* Бейдж success (зелёный) — для меню продавца */
.badge.badge-success,
.fancy-item .fancy-badge.badge-success {
  background: #10B981;
  color: #fff;
}

/* v125: услуги «за счёт продавца» в корзине */
.cart-srv-box {
  background: #FCE7F3;
  border: 0.5px dashed #DB2777;
  border-radius: 8px;
  padding: 8px 10px;
  margin: 8px 0;
  font-size: 11px;
}
.cart-srv-h {
  font-size: 10px;
  font-weight: 600;
  color: #831843;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 4px;
}
.cart-srv-row {
  display: grid;
  grid-template-columns: 1fr auto 20px;
  gap: 6px;
  align-items: center;
  padding: 4px 0;
  border-top: 0.5px solid rgba(219, 39, 119, 0.2);
}
.cart-srv-row:first-of-type { border-top: none; }
.cart-srv-l { font-size: 11px; color: #831843; line-height: 1.3; }
.cart-srv-c { font-size: 10px; color: #9D174D; margin-top: 1px; }
.cart-srv-p { font-weight: 600; color: #DC2626; font-size: 11px; white-space: nowrap; }
.cart-srv-x {
  width: 20px; height: 20px;
  border: none;
  background: rgba(219, 39, 119, 0.1);
  color: #831843;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
  padding: 0;
}
.cart-srv-x:hover { background: rgba(219, 39, 119, 0.25); }
.cart-srv-tot {
  margin-top: 6px;
  padding-top: 6px;
  border-top: 0.5px solid rgba(219, 39, 119, 0.3);
  font-size: 11px;
  color: #831843;
  text-align: right;
}
.cart-srv-tot b { color: #DC2626; font-size: 12px; }

/* Кнопка добавления услуги */
.cart-add-srv {
  background: #FEF3C7 !important;
  color: #92400E !important;
  border: 0.5px solid #F59E0B !important;
  font-size: 11px !important;
  padding: 5px 10px !important;
}
.cart-add-srv:hover {
  background: #FDE68A !important;
}

/* v126: аксессуары за счёт продавца в корзине — оранжевый */
.cart-acc-box {
  background: #FFF7ED;
  border: 0.5px dashed #F59E0B;
  border-radius: 8px;
  padding: 8px 10px;
  margin: 8px 0;
  font-size: 11px;
}
.cart-acc-h {
  font-size: 10px;
  font-weight: 600;
  color: #92400E;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 4px;
}
.cart-acc-row {
  display: grid;
  grid-template-columns: 1fr auto 20px;
  gap: 6px;
  align-items: center;
  padding: 4px 0;
  border-top: 0.5px solid rgba(245,158,11,0.2);
}
.cart-acc-row:first-of-type { border-top: none; }
.cart-acc-l { font-size: 11px; color: #92400E; line-height: 1.3; }
.cart-acc-p { font-weight: 600; color: #DC2626; font-size: 11px; white-space: nowrap; }
.cart-acc-x {
  width: 20px; height: 20px;
  border: none;
  background: rgba(245,158,11,0.15);
  color: #92400E;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
  padding: 0;
}
.cart-acc-x:hover { background: rgba(245,158,11,0.3); }
.cart-acc-tot {
  margin-top: 6px;
  padding-top: 6px;
  border-top: 0.5px solid rgba(245,158,11,0.3);
  font-size: 11px;
  color: #92400E;
  text-align: right;
}
.cart-acc-tot b { color: #DC2626; font-size: 12px; }
.cart-acc-cat {
  display: block;
  font-size: 10px;
  color: #6B7280;
  margin-top: 1px;
  font-weight: 400;
}

/* Кнопка добавления аксессуара */
.cart-add-acc {
  background: #FEF3C7 !important;
  color: #92400E !important;
  border: 0.5px solid #F59E0B !important;
  font-size: 11px !important;
  padding: 5px 10px !important;
  width: 100%;
}
.cart-add-acc:hover {
  background: #FDE68A !important;
}

/* v133: подсказки про минимальную/рекомендованную цену в корзине */
.ci-prices {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  margin-top: 4px;
}
.ci-price-tag {
  font-size: 9px;
  padding: 2px 6px;
  border-radius: 4px;
  font-weight: 600;
  white-space: nowrap;
}
.ci-price-tag.reco {
  background: #DBEAFE;
  color: #1E40AF;
}
.ci-price-tag.min {
  background: #FEE2E2;
  color: #991B1B;
}

/* v134: баннер заявок от продавцов на главной сервиса */
.srv-req-banner {
  display: flex;
  align-items: center;
  gap: 12px;
  background: linear-gradient(135deg, #EC4899 0%, #DB2777 100%);
  color: #fff;
  padding: 14px 18px;
  border-radius: 10px;
  margin-bottom: 12px;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(219, 39, 119, 0.25);
  transition: transform 0.1s;
}
.srv-req-banner:hover { transform: translateY(-1px); }
.srv-req-banner-ic {
  font-size: 24px;
  width: 40px;
  height: 40px;
  background: rgba(255,255,255,0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* v134: радио-кнопки для выбора кто платит */
.rad-pick {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  cursor: pointer;
  font-size: 12px;
  flex: 1;
  transition: all 0.15s;
}
.rad-pick input { margin: 0; }
.rad-pick.on {
  border-color: #6366F1;
  background: #EEF2FF;
  color: #4338CA;
}

/* v134: галочки «что обещали клиенту» в корзине продажи */
.cart-flags {
  background: #FFFBEB;
  border: 0.5px solid #F59E0B;
  border-radius: 10px;
  padding: 10px 12px;
  margin: 10px 0;
}
.cart-flag-h {
  font-size: 10px;
  font-weight: 700;
  color: #92400E;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 6px;
}
.cart-flag {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #1F2937;
  padding: 6px 0;
  cursor: pointer;
  user-select: none;
}
.cart-flag input[type="checkbox"] {
  width: 18px;
  height: 18px;
  cursor: pointer;
  accent-color: #F59E0B;
}
.cart-flag-hint {
  font-size: 10px;
  color: #6B7280;
  padding-left: 26px;
  margin-top: -2px;
  margin-bottom: 4px;
  line-height: 1.4;
}

/* v135: кликабельные уведомления */
.notif-item.clickable {
  cursor: pointer;
  transition: background 0.15s, transform 0.1s;
}
.notif-item.clickable:hover {
  background: rgba(99, 102, 241, 0.06);
}
.notif-item.clickable:active {
  transform: scale(0.99);
}
.notif-item.clickable.unread:hover {
  background: rgba(99, 102, 241, 0.1);
}
.notif-arrow {
  color: #4F46E5;
  font-weight: 600;
}
[data-theme="dark"] .notif-arrow {
  color: #818CF8;
}

/* v139: иконка-предупреждение «привяжи Telegram» в topbar */
.tg-warn-btn {
  width: 40px; height: 40px;
  background: #FEF3C7;
  border: 1.5px solid #F59E0B;
  border-radius: 11px;
  font-size: 18px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 6px;
  position: relative;
  flex-shrink: 0;
  transition: transform 0.1s, background 0.15s;
  animation: tgPulse 2s ease-in-out infinite;
}
.tg-warn-btn:hover { background: #FDE68A; }
.tg-warn-btn:active { transform: scale(0.96); }
.tg-warn-dot {
  position: absolute;
  top: -3px; right: -3px;
  background: #DC2626;
  color: white;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  font-size: 11px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--bg);
  animation: none;
}
@keyframes tgPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(245, 158, 11, 0); }
  50% { box-shadow: 0 0 0 6px rgba(245, 158, 11, 0.18); }
}
[data-theme="dark"] .tg-warn-btn {
  background: #412402;
  border-color: #BA7517;
  color: #FAC775;
}
[data-theme="dark"] .tg-warn-btn:hover {
  background: #633806;
}
@media (max-width: 760px) {
  .tg-warn-btn { width: 38px; height: 38px; font-size: 16px; }
}

/* v139: статус Telegram-привязки в списке сотрудников */
.tg-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 8px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  margin-right: 8px;
  cursor: help;
  white-space: nowrap;
}
.tg-status.linked {
  background: #DEF7EC;
  color: #065F46;
}
.tg-status.nolink {
  background: #FEE2E2;
  color: #991B1B;
}
[data-theme="dark"] .tg-status.linked { background: #04342C; color: #9FE1CB; }
[data-theme="dark"] .tg-status.nolink { background: #501313; color: #F09595; }

/* ===== v170: Swipe для мобильных карточек приёмок ===== */
.int-card { position: relative; overflow: hidden; transition: background 0.15s }
.int-card:hover { background: var(--soft) }
.int-swipe-actions { position: absolute; top: 0; bottom: 0; display: flex; align-items: stretch; pointer-events: none; opacity: 0 }
.int-swipe-left { right: 0; background: linear-gradient(90deg, transparent, #3C3489 30%); width: 90px }
.int-swipe-right { left: 0; background: linear-gradient(90deg, #F59E0B 70%, transparent); width: 90px }

/* Mobile: показывать swipe-actions */
@media (max-width: 740px) {
  .int-card { cursor: pointer; user-select: none; -webkit-user-select: none }
  .int-card [data-intake-content] { transition: transform 0.2s; background: var(--surf) }
  .int-card:active { background: var(--soft) }
}

/* ============================================================
   v173: НОВЫЙ ДИЗАЙН ГЛАВНОЙ (вариант 3) — единый стиль ролей
   Цветные плитки + крупные кнопки + карточки-списки.
   Работает в светлой и тёмной теме через переменные.
   ============================================================ */
.nh-wrap{max-width:1100px;margin:0 auto}
.nh-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.nh-greet{font-size:20px;font-weight:600;color:var(--tx)}
.nh-date{font-size:12.5px;color:var(--tx2);margin-top:2px}

/* большие кнопки действий */
.nh-actions{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-bottom:14px}
.nh-btn{border:none;border-radius:14px;padding:15px;font-size:15px;font-weight:500;
  display:flex;align-items:center;gap:10px;cursor:pointer;transition:transform .12s,filter .12s}
.nh-btn:active{transform:scale(.98)}
.nh-btn .ti{font-size:21px}
.nh-btn-primary{background:var(--acc);color:#fff}
.nh-btn-primary:hover{filter:brightness(1.06)}
.nh-btn-ghost{background:var(--surf);color:var(--acc);border:1px solid var(--line2)}
.nh-btn-ghost:hover{background:var(--soft)}

/* цветные плитки-цифры */
.nh-tiles{display:grid;gap:11px;margin-bottom:14px}
.nh-tile{border-radius:14px;padding:14px;cursor:pointer;transition:transform .12s,filter .12s;color:#fff;border:none;text-align:left}
.nh-tile:active{transform:scale(.98)}
.nh-tile:hover{filter:brightness(1.05)}
.nh-tile .ti{font-size:19px;opacity:.95}
.nh-tile-n{font-size:27px;font-weight:600;margin-top:6px;line-height:1.05}
.nh-tile-n.sm{font-size:21px}
.nh-tile-l{font-size:11.5px;opacity:.9;margin-top:1px}
.nh-tile.t-purple{background:#7F77DD}
.nh-tile.t-teal{background:#1D9E75}
.nh-tile.t-coral{background:#D85A30}
.nh-tile.t-amber{background:#BA7517}
.nh-tile.t-blue{background:#378ADD}
html[data-theme="dark"] .nh-tile.t-purple{background:#2b2950;color:#CECBF6}
html[data-theme="dark"] .nh-tile.t-teal{background:#123d31;color:#9FE1CB}
html[data-theme="dark"] .nh-tile.t-coral{background:#3a2018;color:#F5C4B3}
html[data-theme="dark"] .nh-tile.t-amber{background:#3a2e12;color:#FAC775}
html[data-theme="dark"] .nh-tile.t-blue{background:#0C3052;color:#B5D4F4}
html[data-theme="dark"] .nh-tile .nh-tile-l{opacity:.75}

/* карточка-список */
.nh-card{background:var(--surf);border-radius:14px;padding:16px;border:0.5px solid var(--line);margin-bottom:12px}
.nh-card-h{font-size:14px;font-weight:600;color:var(--tx);margin-bottom:12px;display:flex;align-items:center;justify-content:space-between}
.nh-row{display:flex;align-items:center;gap:11px;border-radius:11px;padding:10px 12px;margin-bottom:8px}
.nh-row:last-child{margin-bottom:0}
.nh-row .ti{font-size:19px}
.nh-row-tx{flex:1;min-width:0}
.nh-row-t{color:var(--tx);font-size:13px}
.nh-row-s{color:var(--tx2);font-size:11px;margin-top:1px}
.nh-row-badge{font-size:11px;padding:3px 10px;border-radius:7px;color:#fff;white-space:nowrap}
/* мягкие фоны строк по статусу (light) */
.nh-row.r-amber{background:var(--warnS)} .nh-row.r-amber .ti{color:var(--warn)}
.nh-row.r-teal{background:var(--okS)} .nh-row.r-teal .ti{color:var(--ok)}
.nh-row.r-purple{background:var(--accS)} .nh-row.r-purple .ti{color:var(--acc)}
.nh-row.r-blue{background:#e6f1fb} .nh-row.r-blue .ti{color:#185fa5}
.nh-row.r-coral{background:#faece7} .nh-row.r-coral .ti{color:#993c1d}
html[data-theme="dark"] .nh-row.r-blue{background:#0C3052} html[data-theme="dark"] .nh-row.r-blue .ti{color:#85B7EB}
html[data-theme="dark"] .nh-row.r-coral{background:#3a2018} html[data-theme="dark"] .nh-row.r-coral .ti{color:#F0997B}
.nh-badge-amber{background:#EF9F27} .nh-badge-teal{background:#1D9E75}
.nh-badge-purple{background:#7F77DD} .nh-badge-blue{background:#378ADD}
.nh-badge-coral{background:#D85A30}
.nh-empty{text-align:center;color:var(--tx3);font-size:12px;padding:18px 8px}

@media(max-width:760px){
  .nh-actions{grid-template-columns:1fr}
}

/* ============================================================
   v174: РЕМОНТЫ — доска на ПК + список с чипсами на телефоне
   ============================================================ */
/* чипсы-фильтры (видны на телефоне) */
.rp-chips{display:none;gap:7px;flex-wrap:wrap;margin-bottom:13px}
.rp-chip{background:var(--surf);border:1px solid var(--line2);border-radius:20px;
  padding:6px 14px;font-size:12.5px;cursor:pointer;color:var(--tx2)}
.rp-chip.on{background:var(--tx);color:var(--surf);border-color:var(--tx)}

/* доска (видна на ПК) */
.rp-board{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.rp-col-h{display:flex;align-items:center;justify-content:space-between;
  border-radius:9px;padding:7px 11px;margin-bottom:8px;font-size:12.5px;font-weight:500}
.rp-col-h .cnt{border-radius:9px;padding:1px 8px;font-size:11px;color:#fff}
.rp-col-h.c-new{background:#e6f1fb;color:#185fa5}
.rp-col-h.c-work{background:#faeeda;color:#854f0b}
.rp-col-h.c-ready{background:#e1f5ee;color:#0f6e56}
.rp-col-h.c-issued{background:#f1efe8;color:#5f5e5a}
.rp-col-h.c-new .cnt{background:#185fa5} .rp-col-h.c-work .cnt{background:#BA7517}
.rp-col-h.c-ready .cnt{background:#1D9E75} .rp-col-h.c-issued .cnt{background:#888780}
html[data-theme="dark"] .rp-col-h.c-new{background:#0C3052;color:#85B7EB}
html[data-theme="dark"] .rp-col-h.c-work{background:#3a2e12;color:#FAC775}
html[data-theme="dark"] .rp-col-h.c-ready{background:#123d31;color:#5DCAA5}
html[data-theme="dark"] .rp-col-h.c-issued{background:#26262e;color:#B4B2A9}

/* мини-карточка в доске/списке */
.rp-mini{background:var(--surf);border:0.5px solid var(--line);border-radius:9px;
  padding:9px 11px;margin-bottom:6px;cursor:pointer;font-size:12px;transition:filter .12s}
.rp-mini:hover{filter:brightness(.97)}
.rp-mini.issued{opacity:.65}
.rp-mini-t{font-weight:500;color:var(--tx)}
.rp-mini-s{color:var(--tx2);font-size:10.5px;margin-top:1px}
.rp-mini-due{font-size:10px;margin-top:2px}
.rp-mini-due.over{color:#a32d2d;font-weight:600}
.rp-mini-due.soon{color:#854f0b}
.rp-col-empty{text-align:center;color:var(--tx3);font-size:11px;padding:16px 6px;opacity:.6}

/* раскрытая полная карточка под мини */
.rp-expanded{margin:-2px 0 8px;border:1px solid var(--acc);border-radius:9px;padding:2px}

@media(max-width:820px){
  .rp-board{display:none}
  .rp-chips{display:flex}
  .rp-list .rp-mini{margin-bottom:7px}
}
@media(min-width:821px){
  .rp-list-only{display:none}
}

/* v175: выбор иконки категории */
.ci-pick{aspect-ratio:1;border-radius:9px;background:var(--bg);border:2px solid transparent;
  display:flex;align-items:center;justify-content:center;cursor:pointer;transition:filter .12s}
.ci-pick:hover{filter:brightness(.95)}
.ci-pick .ti{font-size:19px;color:var(--tx2)}
.ci-pick.on{background:var(--accS);border-color:var(--acc)}
.ci-pick.on .ti{color:var(--acc)}

/* ============================================================
   v178: ШИРОКАЯ ГЛАВНАЯ — вариант 3, ровная сетка
   ============================================================ */
.nh-wide{width:100%;max-width:1280px;margin:0 auto}
/* шапка: приветствие слева, кнопки справа — одна ровная линия */
.nh-w-head{display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:14px;margin-bottom:16px}
.nh-w-actions{display:flex;gap:10px}
.nh-w-btn{border:none;border-radius:12px;padding:13px 22px;font-size:14px;font-weight:500;
  display:flex;align-items:center;gap:9px;cursor:pointer;transition:transform .12s,filter .12s}
.nh-w-btn:active{transform:scale(.98)}
.nh-w-btn .ti{font-size:20px}
.nh-w-btn-primary{background:var(--acc);color:#fff}
.nh-w-btn-primary:hover{filter:brightness(1.06)}
.nh-w-btn-ghost{background:var(--surf);color:var(--acc);border:1px solid var(--line2)}
.nh-w-btn-ghost:hover{background:var(--soft)}

/* крупные плитки статусов — 4 в ровную линию, иконка слева */
.nh-w-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}
.nh-w-stat{border-radius:14px;padding:20px;color:#fff;display:flex;align-items:center;gap:14px;
  border:none;cursor:pointer;text-align:left;transition:transform .12s,filter .12s}
.nh-w-stat:active{transform:scale(.98)} .nh-w-stat:hover{filter:brightness(1.05)}
.nh-w-stat .ti{font-size:30px;opacity:.9;flex-shrink:0}
.nh-w-stat-n{font-size:30px;font-weight:600;line-height:1}
.nh-w-stat-n.sm{font-size:22px}
.nh-w-stat-l{font-size:12px;opacity:.9;margin-top:2px}
.nh-w-stat.s-purple{background:#7F77DD} .nh-w-stat.s-teal{background:#1D9E75}
.nh-w-stat.s-coral{background:#D85A30} .nh-w-stat.s-amber{background:#BA7517}
.nh-w-stat.s-blue{background:#378ADD}
html[data-theme="dark"] .nh-w-stat.s-purple{background:#2b2950;color:#CECBF6}
html[data-theme="dark"] .nh-w-stat.s-teal{background:#123d31;color:#9FE1CB}
html[data-theme="dark"] .nh-w-stat.s-coral{background:#3a2018;color:#F5C4B3}
html[data-theme="dark"] .nh-w-stat.s-amber{background:#3a2e12;color:#FAC775}
html[data-theme="dark"] .nh-w-stat.s-blue{background:#0C3052;color:#B5D4F4}

/* нижний ряд: список ремонтов (2/3) + намаз/инфо (1/3) — ровные колонки */
.nh-w-row{display:grid;grid-template-columns:2fr 1fr;gap:14px;margin-bottom:14px}
.nh-w-card{background:var(--surf);border-radius:14px;padding:16px;border:0.5px solid var(--line)}
.nh-w-card-h{font-size:14px;font-weight:500;color:var(--tx);margin-bottom:12px}
.nh-w-empty{text-align:center;color:var(--tx3);font-size:12px;padding:30px}
.nh-w-rowi{display:flex;align-items:center;gap:11px;border-radius:11px;padding:11px 13px;margin-bottom:8px}
.nh-w-rowi:last-child{margin-bottom:0}
.nh-w-rowi .ti{font-size:19px}
.nh-w-rowi-t{flex:1;min-width:0}
.nh-w-rowi-t b{font-weight:500;font-size:13px;color:var(--tx)}
.nh-w-rowi-t span{display:block;font-size:11px;color:var(--tx2);margin-top:1px}
.nh-w-badge{font-size:11px;padding:3px 10px;border-radius:7px;color:#fff;white-space:nowrap}

/* нижний ряд плиток-ссылок — ровные 3 колонки */
.nh-w-links{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}

@media(max-width:900px){
  .nh-w-stats{grid-template-columns:1fr 1fr}
  .nh-w-row{grid-template-columns:1fr}
  .nh-w-links{grid-template-columns:1fr}
  .nh-w-head{flex-direction:column;align-items:stretch}
  .nh-w-actions{width:100%} .nh-w-btn{flex:1;justify-content:center}
}

/* v178: namaz/инфо-колонка в широкой главной */
.nh-w-aside{display:flex;flex-direction:column;gap:10px;min-width:0}
.nh-w-aside .isl-panel{margin:0}
.nh-w-aside:empty{display:none}

/* v178: если namaz-колонка пуста (исламский режим выкл) — список на всю ширину */
.nh-w-row:has(.nh-w-aside:empty){grid-template-columns:1fr}

/* v197: новый кассовый стол */
.cc-hero{background:var(--card,#fff);border:1px solid var(--line,#e5e7eb);
  border-radius:16px;padding:20px 22px;margin-bottom:14px;
  border-left:4px solid #0f6e56}
.cc-hero-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.cc-hero-lbl{font-size:12px;color:var(--mut,#8a8780);letter-spacing:.04em}
.cc-hero-sum{font-size:32px;font-weight:800;color:var(--tx,#1a1a1a);line-height:1.05;letter-spacing:-.5px}
.cc-hero-sum span{font-size:15px;font-weight:500;color:var(--mut,#8a8780)}
.cc-hero-status{font-size:13px;margin-top:5px;font-weight:600}
.cc-hero-status.on{color:#0f6e56}
.cc-hero-status.off{color:#854f0b}
.cc-hero-ops{background:var(--bg,#f4f1ea);border-radius:12px;padding:9px 15px;text-align:center;min-width:74px}
.cc-hero-ops-n{font-size:22px;font-weight:800;color:var(--tx,#1a1a1a)}
.cc-hero-ops-l{font-size:11px;color:var(--mut,#8a8780)}
.cc-hero-btns{display:flex;gap:8px;margin-top:15px;flex-wrap:wrap}
.cc-hero-btns button{flex:1;min-width:90px;padding:11px;border-radius:10px;font-size:13px;font-weight:600;
  border:1px solid var(--line2,#d1d5db);background:var(--card,#fff);color:var(--tx,#1a1a1a);cursor:pointer}
.cc-hero-btns button.close{border-color:#0f6e56;color:#0f6e56;background:#e1f5ee}
.cc-hero-btns button.open{background:#0f6e56;color:#fff;border-color:#0f6e56}
.cc-bal{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.cc-bal-c{background:var(--card,#fff);border:1px solid var(--line,#e5e7eb);border-radius:12px;padding:13px 15px}
.cc-bal-l{font-size:12px;color:var(--mut,#8a8780)}
.cc-bal-v{font-size:19px;font-weight:800;margin-top:2px}

/* v203: сворачивающиеся группы в сайдбаре */
.sb-group-head{display:flex;align-items:center;justify-content:space-between;
  padding:9px 14px;margin-top:4px;cursor:pointer;border-radius:8px;
  font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  color:var(--mut,#8a8780);user-select:none;transition:background .15s}
.sb-group-head:hover{background:var(--bg,#f4f1ea)}
.sb-group-head.open{color:var(--tx,#1a1a1a)}
.sb-group-arrow{font-size:10px;opacity:.6}
.menu-item.in-group{padding-left:26px;font-size:13px}
.menu-item.in-group .ic{opacity:.85}

/* v210: калькулятор кассира — адаптивный (колонка/шторка/фуллскрин) */
/* v310: калькулятор убран с экрана кассира (кнопка «Сдача» заменила его) */
.calc-col{display:none!important}
.calc-fab{display:none!important}
.calc-sheet-bg{display:none!important}

/* v211: свёрнутый калькулятор — узкая полоска */
.calc-col.collapsed{width:46px;padding:8px;display:flex;align-items:flex-start;justify-content:center}
.calc-expand-btn{width:30px;height:60px;border:1px solid var(--line2,#d1d5db);
  background:#e1f5ee;color:#0f6e56;border-radius:9px;font-size:18px;cursor:pointer}

/* v212: кнопки карточки ремонта — ровная адаптивная сетка */
.rc-acts{margin-top:9px;display:grid;grid-template-columns:1fr 1fr;gap:6px}
.rc-acts .btn{width:100%;margin:0;white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis;justify-content:center}
.rc-acts .btn.ok,.rc-acts .btn[data-ract="issue"],.rc-acts .btn[data-ract="ready"],
.rc-acts .btn[data-ract="take"]{grid-column:1 / -1}
@media(max-width:520px){ .rc-acts{grid-template-columns:1fr} }

/* v217: канбан «Единые входящие» */
.kb-wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.kb-col{background:var(--soft);border-radius:10px;padding:9px;min-height:120px}
.kb-col-h{font-size:12px;font-weight:700;margin-bottom:8px;display:flex;
  align-items:center;justify-content:space-between}
.kb-col-n{font-size:11px;color:var(--mut);font-weight:500}
.kb-card{background:var(--card);border:1px solid var(--line);border-radius:8px;
  padding:9px;margin-bottom:7px;cursor:grab}
.kb-card:active{cursor:grabbing}
.kb-card.drag{opacity:.4}
.kb-col.over{outline:2px dashed var(--acc);outline-offset:-2px}
.kb-card-h{font-size:12px;font-weight:600}
.kb-card-t{font-size:11px;color:var(--tx2);margin-top:3px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.kb-tag{font-size:9px;padding:1px 6px;border-radius:5px;margin-top:6px;display:inline-block}
.kb-tag.dm{background:#e6f1fb;color:#185fa5}
.kb-tag.cm{background:#faeeda;color:#854f0b}
@media(max-width:820px){ .kb-wrap{grid-template-columns:1fr 1fr} }
@media(max-width:520px){ .kb-wrap{grid-template-columns:1fr} }

/* v218: живая карта обращений (граф как Obsidian) */
.smap-wrap{position:relative;background:var(--card);border:1px solid var(--line);
  border-radius:14px;overflow:hidden}
.smap-canvas{display:block;width:100%;touch-action:none;cursor:grab}
.smap-canvas:active{cursor:grabbing}
.smap-legend{position:absolute;top:12px;left:12px;display:flex;gap:12px;
  background:var(--soft);border-radius:10px;padding:8px 12px;font-size:11px;font-weight:600;flex-wrap:wrap}
.smap-legend span{display:flex;align-items:center;gap:5px}
.smap-dot{width:9px;height:9px;border-radius:50%;display:inline-block}
.smap-hint{position:absolute;bottom:10px;right:12px;font-size:10px;color:var(--mut);
  background:var(--soft);border-radius:8px;padding:4px 9px}


/* v224: выбор платформы на экране входа */
.lg2-platforms{display:flex;gap:8px;margin:14px 0 4px}
.lg2-plat{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;padding:12px 8px;border:1.5px solid var(--line);border-radius:12px;background:var(--card);cursor:pointer;transition:all .15s;color:var(--mut)}
.lg2-plat:hover{border-color:var(--accent)}
.lg2-plat.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--text)}
.lg2-plat-ic{font-size:22px;line-height:1}
.lg2-plat-tx{font-size:12px;font-weight:600}

/* v232: карточка прихода аксессуаров (карточка + лента) */
.acc-card-grid{display:grid;grid-template-columns:1fr 130px;gap:14px;}
.acc-card-fields{display:grid;gap:11px;align-content:start;}
.acc-card-row2{display:flex;gap:9px;}
.acc-card-nums{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;}
@media(max-width:600px){
  .acc-card-grid{grid-template-columns:1fr;}
  .acc-card-photo{order:-1;}
  .acc-card-nums{grid-template-columns:repeat(2,1fr);}
}

/* v234: вкладки магазинов в распределении */
.dist-storetab{white-space:nowrap;border:1px solid var(--line);border-radius:10px;padding:9px 15px;font-size:13px;cursor:pointer;background:var(--card);color:var(--mut);font-family:inherit;flex-shrink:0;}
.dist-storetab.on{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600;}
.dist-irow:hover{background:var(--bg);}

/* ===== v240: НОВАЯ ГЛАВНАЯ ПРОДАВЦА (тема-зависимая) ===== */
.shc-wrap{max-width:920px;margin:0 auto;padding:4px}
/* шапка-приветствие */
.shc-head{background:linear-gradient(135deg,var(--acc),#6366f1);border-radius:18px;padding:20px 22px;color:#fff;display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;box-shadow:0 4px 14px rgba(79,70,229,0.25)}
.shc-head-isl{font-size:12px;opacity:.85}
.shc-head-greet{font-size:23px;font-weight:800;margin-top:3px;line-height:1.15}
.shc-head-shift{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,0.18);border-radius:11px;padding:7px 12px;font-size:12px;font-weight:600;margin-top:12px}
.shc-dot{width:8px;height:8px;border-radius:50%;background:#4ade80;display:inline-block;box-shadow:0 0 0 3px rgba(74,222,128,0.25)}
.shc-head-av{width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,0.22);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;flex-shrink:0}
/* баннеры-подсказки */
.shc-alert{background:var(--warnS);border-left:4px solid var(--warn);border-radius:0 12px 12px 0;padding:13px 16px;display:flex;align-items:center;gap:12px;margin-bottom:14px;cursor:pointer}
.shc-alert-dng{background:var(--dngS);border-left-color:var(--dng)}
.shc-alert-ic{width:34px;height:34px;border-radius:50%;background:var(--warn);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}
.shc-alert-tx{flex:1}
.shc-alert-t{font-size:14px;font-weight:700;color:var(--tx)}
.shc-alert-d{font-size:12px;color:var(--tx2);margin-top:2px}
.shc-alert-ar{color:var(--tx2);font-size:18px}
/* грид */
.shc-grid{display:grid;grid-template-columns:1fr;gap:14px}
.shc-left{display:flex;flex-direction:column;gap:13px}
/* большая кнопка продать */
.shc-sell{width:100%;background:linear-gradient(135deg,#16a34a,#15803d);color:#fff;border:none;border-radius:18px;padding:24px;font-size:21px;font-weight:800;cursor:pointer;box-shadow:0 6px 16px rgba(22,163,74,0.3);transition:transform .12s,box-shadow .12s}
.shc-sell:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(22,163,74,0.38)}
.shc-sell:active{transform:translateY(0)}
/* подсказка-перемещения */
.shc-hint{display:flex;align-items:center;gap:11px;background:var(--surf);border:1px solid var(--line);border-radius:14px;padding:14px 16px;cursor:pointer;transition:border-color .15s}
.shc-hint:hover{border-color:var(--acc)}
.shc-hint-e{font-size:22px}
.shc-hint-tx{flex:1;font-size:14px;color:var(--tx);font-weight:600}
.shc-hint-b{background:var(--dng);color:#fff;font-size:11px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700}
/* плитки */
.shc-tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.shc-tile{position:relative;background:var(--surf);border:1px solid var(--line);border-radius:16px;padding:20px 10px;text-align:center;cursor:pointer;transition:transform .12s,border-color .15s,box-shadow .15s}
.shc-tile:hover{transform:translateY(-2px);border-color:var(--acc);box-shadow:0 6px 16px rgba(0,0,0,0.08)}
.shc-tile-e{font-size:29px;line-height:1}
.shc-tile-n{font-size:13px;font-weight:600;margin-top:8px;color:var(--tx)}
.shc-tile-b{position:absolute;top:9px;right:13px;background:var(--dng);color:#fff;font-size:10px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-weight:700}
/* ПК: две колонки (большая продать слева, плитки справа) */
@media(min-width:760px){
  .shc-grid{grid-template-columns:1.4fr 1fr;align-items:start}
  .shc-sell{padding:40px 24px;font-size:24px}
  .shc-tiles{grid-template-columns:1fr 1fr}
  .shc-tile{padding:26px 12px}
}

/* ===== v241: ДАШБОРД КЛАДОВЩИКА (командный центр, тема-зависимый) ===== */
.whd-wrap{max-width:640px;margin:0 auto;padding:4px}
.whd-head{background:linear-gradient(135deg,#0f766e,#0d9488);border-radius:16px;padding:18px 20px;color:#fff;display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;box-shadow:0 4px 14px rgba(13,148,136,0.25)}
.whd-head-sub{font-size:12px;opacity:.85}
.whd-head-greet{font-size:21px;font-weight:800;margin-top:2px}
.whd-head-av{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,0.2);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;flex-shrink:0}
.whd-card{background:var(--surf);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:14px}
.whd-card-h{padding:11px 15px;border-bottom:1px solid var(--line);font-size:13px;font-weight:700;color:var(--tx)}
.whd-att-row{display:flex;align-items:center;gap:12px;padding:12px 15px;cursor:pointer;border-bottom:1px solid var(--line)}
.whd-att-row:last-child{border-bottom:none}
.whd-att-b{color:#fff;font-size:11px;padding:2px 9px;border-radius:8px;font-weight:700}
.whd-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.whd-act{border:none;border-radius:16px;padding:20px;font-size:15px;font-weight:700;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;transition:transform .12s}
.whd-act:hover{transform:translateY(-2px)}
.whd-act-main{background:linear-gradient(135deg,#0d9488,#0f766e);color:#fff;box-shadow:0 5px 14px rgba(13,148,136,0.3)}
.whd-act-sec{background:var(--surf);border:1px solid var(--line);color:var(--tx)}
.whd-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.whd-stat{background:var(--surf);border:1px solid var(--line);border-radius:12px;padding:14px 8px;text-align:center;cursor:pointer;transition:border-color .15s}
.whd-stat:hover{border-color:#0d9488}
.whd-stat-n{font-size:23px;font-weight:800;color:var(--tx)}
.whd-stat-l{font-size:11px;color:var(--tx2);margin-top:2px}
.whd-link{display:flex;align-items:center;gap:13px;padding:15px 16px;border-bottom:1px solid var(--line);cursor:pointer;font-size:14px;color:var(--tx);transition:background .12s}
.whd-link:hover{background:var(--bg)}
@media(min-width:760px){
  .whd-wrap{max-width:720px}
}

/* ===== v241: приёмки из группы — инфо-список ===== */
.feed-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:12px}
.feed-stat{background:var(--surf);border:1px solid var(--line);border-radius:12px;padding:13px 8px;text-align:center}
.feed-stat-n{font-size:22px;font-weight:800;color:var(--tx)}
.feed-stat-l{font-size:11px;color:var(--tx2);margin-top:2px}
.feed-card{background:var(--surf);border:1px solid var(--line);border-radius:13px;padding:13px 15px;margin-bottom:9px}
.feed-meta{display:flex;gap:18px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line);flex-wrap:wrap}
.feed-meta-l{font-size:10px;color:var(--tx3);text-transform:uppercase;letter-spacing:.03em}
.feed-meta-v{font-size:12px;font-weight:600;color:var(--tx);margin-top:1px}

/* ===== v249: окошко «Успей продать» (горящие б/у) на главной продавца ===== */
.shc-used{background:var(--surf);border:2px solid var(--warn);border-radius:14px;overflow:hidden;margin-bottom:13px}
.shc-used-h{background:var(--warnS);padding:9px 14px;font-size:13px;font-weight:800;color:var(--warn);display:flex;align-items:center;gap:8px}
.shc-used-b{margin-left:auto;background:var(--warn);color:#fff;font-size:11px;font-weight:700;padding:1px 9px;border-radius:9px}
.shc-used-row{display:flex;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid var(--line);cursor:pointer;transition:background .12s}
.shc-used-row:last-child{border-bottom:none}
.shc-used-row:hover{background:var(--warnS)}
.shc-used-ic{width:30px;height:30px;border-radius:7px;background:var(--warnS);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.shc-used-tx{flex:1;min-width:0}
.shc-used-n{font-size:13px;font-weight:600;color:var(--tx)}
.shc-used-d{font-size:10px;color:var(--warn);margin-top:1px}
.shc-used-cart{font-size:17px;flex-shrink:0}
/* планшет/ПК: горящие по 2 в ряд внутри окошка */
@media(min-width:760px){
  .shc-used-row{display:inline-flex;width:calc(50% - 1px);box-sizing:border-box;vertical-align:top}
}
