/* easycrm 0.9.0: бэк-офис на телефоне. Нижняя панель вкладок, таблицы карточками, окна снизу во всю ширину. */
.tabbar,.side-backdrop{display:none}
.stock-alert{display:inline-flex;align-items:center;gap:8px;margin:0 0 12px;padding:10px 14px;border-radius:12px;background:#4a2332;color:var(--r);font-weight:700}
.stock-reset{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.stock-reset>div:first-child{flex:1;min-width:240px}.stock-reset-actions{display:flex;gap:10px;align-items:center}.stock-reset-actions select{min-width:170px;width:auto}.stock-reset-actions .btn{white-space:nowrap}
.neg{color:var(--r);font-weight:700}
@media(max-width:760px){
 html{-webkit-text-size-adjust:100%}
 body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
 .top{height:56px;padding:0 12px;padding-top:env(safe-area-inset-top);box-sizing:content-box}
 .shell{margin-top:calc(56px + env(safe-area-inset-top))}
 .studio-logo-frame{width:36px;height:36px;border-radius:11px}.studio-logo-frame .studio-logo{width:70px;height:70px;left:-17px;top:-11px}
 .brand>span:not(.studio-logo-frame){display:none}
 .main{padding:14px 14px 24px}
 .mobilemenu{display:none!important}
 .head{display:block;margin-bottom:12px}.head h1{font-size:24px;line-height:1.2}.head #subtitle{font-size:13px}
 .tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.tools .search{flex:1 1 100%;min-height:44px;font-size:16px}.tools .btn{min-height:44px}
 input,select,textarea{font-size:16px!important}
 .btn,.iconbtn{min-height:42px}
 /* Боковое меню выезжает поверх с затемнением */
 .side{position:fixed!important;z-index:60;top:0!important;bottom:0;left:0!important;width:min(86vw,320px)!important;height:100dvh!important;transform:translateX(-105%);transition:transform .25s ease;padding-top:calc(16px + env(safe-area-inset-top));padding-bottom:calc(90px + env(safe-area-inset-bottom));overflow-y:auto;box-shadow:20px 0 60px #0008}
 .side.open{transform:none}
 .side-backdrop{display:block;position:fixed;inset:0;z-index:55;background:#0009;opacity:0;pointer-events:none;transition:opacity .25s}
 .side.open~.side-backdrop,body.menu-open .side-backdrop{opacity:1;pointer-events:auto}
 .side .nav{min-height:48px;font-size:16px}
 /* Нижняя панель */
 .tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;z-index:70;left:0;right:0;bottom:0;padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--c) 92%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--b)}
 .tabbar button{display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:0;color:var(--m);font:600 11px/1.1 inherit;padding:6px 2px;border-radius:12px;min-height:52px}
 .tabbar button svg{width:24px;height:24px}
 .tabbar button.active{color:var(--p);background:var(--l)}
 /* Таблицы превращаются в карточки */
 .tablewrap{overflow:visible!important;border:0!important;background:none!important;padding:0!important}
 .card .tablewrap{margin:0 -4px}
 table.m-cards,table.m-cards tbody{display:block;width:100%}
 table.m-cards thead{display:none}
 table.m-cards tr{display:block;background:var(--c);border:1px solid var(--b);border-radius:14px;padding:10px 12px;margin:0 0 10px}
 table.m-cards tr.low{background:#342638}
 table.m-cards td{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 0!important;border:0!important;text-align:right;min-height:30px;font-size:15px;overflow-wrap:anywhere}
 table.m-cards td::before{content:attr(data-label);color:var(--m);font-size:13px;text-align:left;flex-shrink:0;max-width:45%}
 table.m-cards td[data-label=""]::before{display:none}
 table.m-cards td:first-child{font-size:16px;font-weight:700;justify-content:flex-start;text-align:left}
 table.m-cards td:first-child::before{display:none}
 table.m-cards tr:has(>td[colspan]){text-align:center}table.m-cards td[colspan]{display:block!important;text-align:center!important;color:var(--m);font-weight:400!important;font-size:14px!important;white-space:normal}table.m-cards td[colspan]::before{display:none}
 table.m-cards tr{position:relative}
 table.m-cards td:first-child:has(>[data-record-check]){position:absolute;top:10px;right:12px;min-height:0;padding:0!important}
 table.m-cards tr:has(>td:first-child>[data-record-check])>td:nth-child(2){font-size:16px;font-weight:700;justify-content:flex-start;text-align:left;padding-right:34px!important}
 table.m-cards tr:has(>td:first-child>[data-record-check])>td:nth-child(2)::before{display:none}
 table.m-cards td:has(>[data-record-check]){justify-content:flex-start}
 table.m-cards td .btn{min-height:38px}
 /* Окна выезжают снизу */
 .modalbg{align-items:flex-end!important;padding:0!important}
 .modal{width:100%!important;max-width:100%!important;max-height:92dvh!important;border-radius:22px 22px 0 0!important;padding:18px 16px calc(20px + env(safe-area-inset-bottom))!important;animation:sheetUp .28s ease}
 @keyframes sheetUp{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
 .modalhead{position:sticky;top:-18px;z-index:2;background:var(--c);padding-top:4px}
 .formgrid{grid-template-columns:1fr!important}.formgrid>*{grid-column:1/-1!important}
 .form-actions,.inventory-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}.form-actions .btn,.inventory-actions .btn{width:100%}
 .receipt-line{grid-template-columns:1fr 1fr!important}.receipt-line label:first-child{grid-column:1/-1}
 .kpis,.grid,.cards3{grid-template-columns:1fr 1fr!important;gap:10px}
 .toast{left:12px!important;right:12px!important;bottom:calc(84px + env(safe-area-inset-bottom))!important;width:auto!important}
 .stock-reset{display:block}.stock-reset-actions{margin-top:12px}.stock-reset-actions>*{flex:1}
 .confirm-box{width:calc(100vw - 32px)!important}
 .studio-signin{padding:16px}
}
@media(max-width:380px){.kpis,.grid,.cards3{grid-template-columns:1fr!important}}
/* 0.9.0b: карточки блюд и модификаторов, окна, пустые состояния */
.m-list{display:none}
@media(max-width:760px){
 .dish-group .tablewrap{display:none!important}
 .dish-group{border:0!important;background:none!important;padding:0!important;margin:0 0 14px!important}
 .dish-group>summary{display:flex;align-items:center;gap:10px;padding:8px 2px 10px;font-weight:700;font-size:17px;list-style:none;cursor:pointer}
 .dish-group>summary::-webkit-details-marker{display:none}
 .dish-group>summary small{margin-left:auto;font-size:12px;font-weight:700;color:var(--p);background:var(--l);padding:3px 10px;border-radius:99px}
 .m-list{display:grid;gap:10px}
 .m-card{display:flex;gap:12px;align-items:flex-start;width:100%;text-align:left;background:var(--c);border:1px solid var(--b);border-radius:18px;padding:12px;color:var(--t);font:inherit;cursor:pointer;animation:boUp .35s var(--ease,ease) both;transition:transform .18s,border-color .2s}
 .m-card:active{transform:scale(.98)}
 .m-card.off{opacity:.62}
 .m-thumb{width:64px;height:64px;border-radius:16px;overflow:hidden;flex-shrink:0;display:grid;place-items:center;background:var(--l)}
 .m-thumb img{width:100%;height:100%;object-fit:cover}.m-thumb .group-art{width:64px;height:64px;border-radius:16px}.m-thumb .group-art svg{width:32px;height:32px}
 .m-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
 .m-title{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.m-title b{font-size:16px;line-height:1.25;overflow-wrap:anywhere}
 .pill{font-style:normal;font-size:11px;font-weight:700;white-space:nowrap;padding:4px 9px;border-radius:99px;background:var(--b);color:var(--m)}.pill.on{background:color-mix(in srgb,var(--g) 18%,transparent);color:var(--g)}
 .m-chips{display:flex;flex-wrap:wrap;gap:6px}.m-chips i{font-style:normal;font-size:13px;font-weight:600;padding:5px 9px;border-radius:10px;background:var(--l);color:var(--t);display:inline-flex;gap:6px;align-items:baseline}.m-chips i small{color:var(--p);font-weight:700}
 .m-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:12px;color:var(--m)}
 .m-progress{flex-basis:100%;height:5px;border-radius:5px;background:var(--b);overflow:hidden}.m-progress i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,var(--p),#c4a6ff)}
 .group-toolbar,.group-style-tools{padding:10px!important;gap:8px!important}
 .group-style-tools{display:flex;flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin:0 -14px;padding:4px 14px!important}.group-style-tools::-webkit-scrollbar{display:none}.group-style-tools>*{flex-shrink:0}
 /* пустые состояния без двойной рамки */
 table.m-cards tr:has(>td[colspan]){border:0!important;background:none!important;padding:18px 8px!important;box-shadow:none!important}
 .card.empty,.empty{text-align:center;color:var(--m)}
 /* окна: шапка с крестиком всегда видна, вкладки под ней, нижняя панель прячется */
 body:has(#modal .modalbg) .tabbar,body:has(#supplierModal .modalbg) .tabbar,body:has(.confirm-layer) .tabbar{display:none}
 .modalbg{z-index:80!important}.confirm-layer{z-index:90!important}
 .modal{padding:0 16px calc(24px + env(safe-area-inset-bottom))!important;overscroll-behavior:contain;max-height:94dvh!important}
 .modal .modalhead{position:sticky!important;top:0!important;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 -16px 8px!important;padding:16px 16px 12px!important;background:var(--c)!important;border-bottom:1px solid var(--b);border-radius:22px 22px 0 0}
 .modal .modalhead::before{content:"";position:absolute;top:6px;left:50%;width:40px;height:5px;margin-left:-20px;border-radius:5px;background:var(--b)}
 .modal .modalhead h2{font-size:20px;margin:6px 0 0;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .modal .modalhead .iconbtn,.modal .modalhead [data-close],.modal .modalhead [data-style-close]{width:38px;height:38px;min-height:38px;border-radius:50%;display:grid;place-items:center;font-size:22px;line-height:1;background:var(--l);color:var(--p);border:0;flex-shrink:0;margin-top:6px}
 .studio-editor-tabs{position:sticky!important;top:62px!important;z-index:5;flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;margin:0 -16px 14px!important;padding:8px 16px 10px!important;background:var(--c)!important;box-shadow:0 8px 12px -10px #0003}
 .studio-editor-tabs::-webkit-scrollbar{display:none}
 .studio-editor-tabs>*{flex-shrink:0;min-height:40px;border-radius:99px!important;padding:0 16px}
 .matrix-layout{gap:12px!important}.matrix-branches{max-height:none!important}
 .matrix-line{grid-template-columns:minmax(0,1fr) 84px 38px!important;gap:8px!important}
 .photo-picker{gap:10px}
 .modal label{font-size:13px}
 .modal .btn.primary.submit,.modal button.submit{position:sticky;bottom:calc(-24px - env(safe-area-inset-bottom));margin-top:16px;width:100%;min-height:50px;z-index:4}
}
.matrix-editor{background:color-mix(in srgb,var(--l) 45%,transparent)!important}
@media(max-width:760px){
 .size-row{display:grid!important;grid-template-columns:1fr 1fr 40px;gap:10px;align-items:end;max-width:none;margin-bottom:12px;padding:10px;border:1px solid var(--b);border-radius:14px;background:var(--bg)}
 .size-row label{margin:0}.size-row .iconbtn{width:40px;height:44px;border-radius:12px;background:color-mix(in srgb,var(--r) 12%,transparent);color:var(--r);font-size:20px;margin:0}
 [data-size-add]{width:100%;margin:4px 0 14px}
 .axes-settings{display:grid!important;grid-template-columns:1fr 1fr;gap:10px;align-items:end;padding:12px;border:1px solid var(--b);border-radius:14px}
 .axes-settings label.check{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 12px;border-radius:12px;background:var(--bg);margin:0;font-size:15px}
 .axes-settings label.check input{width:20px;height:20px;min-height:20px;accent-color:var(--p)}
 .axes-settings>label:not(.check){grid-column:2;margin:0}
 .modal label.check,.modal .check{font-size:15px}
 .modal input[type=checkbox]{width:22px;height:22px;min-height:22px;accent-color:var(--p)}
 .modal .studio-section>h3,.modal h3{font-size:17px;margin:6px 0 12px}
 .matrix-branches{border-radius:14px!important}.matrix-branches button{min-height:44px;text-align:left}
 .copy-recipe{display:grid!important;grid-template-columns:1fr auto;gap:8px}
}
@media(max-width:760px){table.m-cards td .btn,table.m-cards td .iconbtn{min-width:44px;min-height:40px;font-size:15px}table.m-cards td:last-child{justify-content:flex-end;gap:8px}}
/* 0.11: клавиатура и мелкий текст на сенсорных экранах */
@media (pointer:coarse){input,select,textarea{font-size:16px!important}.hint,td small,.badge,th,.cardhead p,.head p,.side-note{font-size:13px!important}label{font-size:14px}}
html.kb-open .tabbar,html.field-focus .tabbar{display:none!important}
html.kb-open .modalbg{top:var(--vvtop,0px)!important;height:var(--vvh,100dvh)!important;bottom:auto!important}
html.kb-open .modal{max-height:calc(var(--vvh,100dvh) - 16px)!important}
html.kb-open .toast{bottom:calc(var(--kb,0px) + 12px)!important}
@media(max-width:760px){html.kb-open .modalbg{align-items:flex-end!important}html.kb-open .modal{max-height:calc(var(--vvh,100dvh) - 8px)!important;padding-bottom:16px!important}}
