/* Каркас реального приложения поверх стилей макетов: макеты рисовали фиксированный экран,
   здесь — настоящая страница (шторки поверх окна, нижнее меню с отступами под «чёлку»). */
body{font-family:'Manrope',system-ui,sans-serif;color:var(--text)}
.app{min-height:100vh}
.side{position:sticky;top:0;height:100vh;overflow-y:auto;flex:0 0 236px}
.main{flex:1 1 560px}
.ov{position:fixed;z-index:50}
.drw{height:100vh;min-height:0;overflow-y:auto}
.toast[hidden]{display:none}
.toast{z-index:80}
[hidden]{display:none!important}
.btn:disabled,.mk:disabled{opacity:.5;cursor:not-allowed}
button:focus-visible,a:focus-visible,.inp:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
/* вход */
.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg)}
.login-card{width:min(420px,100%);background:#fff;border:1px solid var(--border);border-radius:20px;padding:28px;display:flex;flex-direction:column;gap:16px}
/* телефон */
.mob-root{position:fixed;inset:0;display:flex;flex-direction:column;background:var(--bg);font-size:14px;line-height:1.45}
.mob .top{padding-top:calc(12px + env(safe-area-inset-top,0px))}
.mob .tabbar{height:auto;min-height:72px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}
.mob .scr{-webkit-overflow-scrolling:touch}
.mob-ov{position:fixed;inset:0;background:rgba(10,20,15,.45);display:flex;flex-direction:column;justify-content:flex-end;z-index:60}
.mob-ov .sheet{padding-bottom:calc(22px + env(safe-area-inset-bottom,0px));max-height:90vh}
.mob .viewas{font-size:12.5px;padding:8px 12px}
@media (max-width:860px){.toast{left:14px;right:14px;bottom:calc(92px + env(safe-area-inset-bottom,0px));text-align:center}}
:root{--dark:#0F2419}

/* телефон: длинные переключатели листаются, а не обрезаются; цифры — по две в ряд */
.mob .seg{max-width:100%;overflow-x:auto;scrollbar-width:none}
.mob .seg::-webkit-scrollbar{display:none}
.mob .seg button{flex:1 0 auto;white-space:nowrap;padding:0 12px}
.mob .kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mob .kpis .kpi{padding:14px;min-width:0}

/* поиск клиента по имени */
.pick{position:relative}
.pick-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:60;background:#fff;border:1px solid #DDE3DC;border-radius:12px;box-shadow:0 10px 30px rgba(15,36,25,.14);padding:4px;max-height:300px;overflow:auto}
.pick-o{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;border:0;background:none;padding:9px 10px;border-radius:8px;cursor:pointer;font:inherit;color:#111814}
.pick-o:hover,.pick-o:focus{background:#EEF5F0}
.pick-o b{font-weight:600}
.pick-none{padding:10px}

/* переключатель языка RU | PL (кабинет клиента и вход) */
.lang-sw{display:inline-flex;flex:none}
.lang-sw button{min-height:30px;padding:0 10px;font-size:12.5px;letter-spacing:.02em}
.login-lang{display:flex;justify-content:flex-end;margin:-8px -8px -6px 0}
.side-lang{padding:8px 10px 2px}
.side-lang .lang-sw{display:flex;width:100%;background:#1F3A2C}
.side-lang .lang-sw button{flex:1 1 0;padding:0;color:#9FC0AD}
.side-lang .lang-sw button.on{background:#4CC98A;color:#0B1E14}
/* шторка «Меню» (админ, телефон): подпись сверху, переключатель на всю ширину */
.mob .sheet-lang{display:flex;flex-direction:column;gap:6px;margin-top:4px}
.mob .sheet-lang .lang-sw{display:flex;width:100%;overflow:visible}
.mob .sheet-lang .lang-sw button{flex:1 1 0;padding:0}
.mob .top .lang-sw{display:inline-flex;flex:none;background:#1F3A2C;border-radius:10px;padding:3px;overflow:visible}
.mob .top .lang-sw button{flex:none;min-height:32px;padding:0 10px;color:#9FC0AD;border-radius:8px}
.mob .top .lang-sw button.on{background:#4CC98A;color:#0B1E14;box-shadow:none}
.mob .pf-lang{display:inline-flex}
.mob .pf-lang button{flex:none;min-width:64px}
