/* USMS responsive layer — safe mobile/tablet overrides.
   No business logic is changed here. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{max-width:100%;}
img,svg,video,canvas{max-width:100%;}
.tbl-wrap,.price-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
button,a,input,select,textarea{touch-action:manipulation;}

/* Public site */
.site-lang{
  min-height:38px;border:1px solid var(--line,#DCE3EA);border-radius:9px;background:#fff;
  color:var(--text,#12212F);padding:7px 9px;font:600 13px/1 'Inter',sans-serif;cursor:pointer;
}
@media (max-width:900px){
  .wrap{padding-left:18px!important;padding-right:18px!important;}
}
@media (max-width:680px){
  .top .wrap{height:auto!important;min-height:60px;padding-top:8px!important;padding-bottom:8px!important;gap:8px!important;}
  .top-btns{gap:6px!important;}
  .site-lang{font-size:16px;min-height:40px;max-width:82px;padding:6px 7px;}
  .burger{width:42px!important;height:42px!important;flex:0 0 42px;}
  .top-btns .btn.p{min-height:42px;padding:9px 12px;font-size:13px;}
  .nav.open{top:60px!important;padding:14px 18px!important;box-shadow:0 14px 26px rgba(18,33,47,.10);}
  .nav.open a{padding:7px 2px;font-size:15px;}
  .hero .wrap{padding-top:36px!important;padding-bottom:40px!important;}
  .hero p.lead{font-size:15.5px!important;}
  .hero-btns{display:grid!important;grid-template-columns:1fr;}
  .hero-btns .btn{width:100%;min-height:46px;}
  .phone{width:100%;max-width:420px!important;margin:0 auto!important;}
  section{padding:44px 0!important;}
  .sec-head{margin-bottom:24px!important;}
  .cards,.steps{grid-template-columns:1fr!important;}
  .card,.step{padding:18px!important;}
  .price-wrap{border-radius:12px!important;}
  table.price{min-width:520px;}
  table.price th,table.price td{padding:12px 14px!important;}
  pre{font-size:11.5px!important;padding:16px!important;}
  details{padding:14px 15px!important;}
  summary{font-size:14.5px!important;}
  .cta{border-radius:14px!important;padding:28px 18px!important;}
  .copy{flex-direction:column;align-items:flex-start;}
}
@media (max-width:420px){
  .wrap{padding-left:14px!important;padding-right:14px!important;}
  .brand img.logo-site{height:28px!important;max-width:122px;object-fit:contain;}
  .top-btns .btn.p{padding:9px 10px;font-size:12.5px;}
  h1{font-size:27px!important;}
  h2{font-size:23px!important;}
  .hero-note{font-size:12px!important;}
}

/* Authentication / registration pages */
@media (max-width:860px){
  body{min-height:100svh!important;height:auto!important;overflow-x:hidden;}
  .hero,.side{width:100%;}
  .side{padding-left:max(18px,env(safe-area-inset-left))!important;padding-right:max(18px,env(safe-area-inset-right))!important;}
  .side-top{gap:10px;flex-wrap:wrap;}
  .lang{margin-left:auto;}
  .form-wrap{max-width:680px!important;width:100%!important;margin-left:auto!important;margin-right:auto!important;}
  input,select,textarea{font-size:16px!important;}
  .inp input{min-height:46px;}
  .eye{min-height:40px;padding-left:10px;padding-right:10px;}
}
@media (max-width:520px){
  .hero{padding:16px!important;}
  .hero-inner{width:100%;gap:12px!important;}
  .logo-plate{width:68px!important;height:68px!important;border-radius:16px!important;}
  .logo-plate img{width:52px!important;height:52px!important;}
  .wordmark{font-size:26px!important;letter-spacing:1px!important;}
  .wordmark-img{max-width:190px!important;margin-top:8px!important;}
  .taglines .tx{font-size:10.5px!important;line-height:1.25;}
  .taglines .tx.main{font-size:11.5px!important;}
  .rule{margin:7px 0!important;}
  .side{padding-top:14px!important;padding-bottom:max(22px,env(safe-area-inset-bottom))!important;}
  .side-top{align-items:center;}
  .lang{display:grid!important;grid-template-columns:repeat(4,1fr);width:100%;order:2;}
  .lang button{min-height:40px!important;padding:6px 7px!important;}
  .form-wrap{padding-top:12px!important;}
  .form-wrap h1{font-size:24px!important;}
  .row{gap:10px;flex-wrap:wrap;}
  .remember{min-height:36px;align-items:center;}
  .btn{min-height:46px;}
  .grid{grid-template-columns:1fr!important;}
}

/* Client cabinet */
@media (max-width:760px){
  body{overflow-x:hidden;}
  .mtop{padding-top:max(8px,env(safe-area-inset-top))!important;padding-left:max(10px,env(safe-area-inset-left))!important;padding-right:max(10px,env(safe-area-inset-right))!important;}
  .mbrand{font-size:15px!important;}
  .mlang{max-width:96px;}
  .main,.main.left-off,.main.right-off,.main.left-off.right-off{padding:8px!important;gap:8px!important;}
  .col{min-width:0;width:100%;}
  .card{min-width:0;}
  .tabs{top:54px!important;padding-left:4px;padding-right:4px;}
  .tab{min-height:46px;display:flex;align-items:center;}
  .price3,.price-grid,.pay-grid,.an-wrap,.tk-split{grid-template-columns:1fr!important;}
  .tk-side{width:100%;}
  .tk-main{min-width:0;}
  .tk-thread-h,.tk-reply{flex-wrap:wrap;}
  .tk-msg{max-width:92%!important;overflow-wrap:anywhere;}
  .tk-reply textarea{width:100%;flex-basis:100%;font-size:16px!important;}
  .emoji-pop{grid-template-columns:repeat(6,1fr)!important;max-width:calc(100vw - 32px);}
  .news-modal{padding:16px 10px!important;align-items:center!important;}
  .nm-card{max-height:calc(100svh - 32px);overflow:auto;}
  .form-row,.add-row{gap:8px;}
  .send-btns{gap:8px;}
  .send-btns .btn{min-width:0;white-space:normal;}
  .kpi,.an-big{gap:6px!important;}
  .box-label,.tbl-head,.extra-head{gap:8px;}
  .tbl-head{flex-wrap:wrap;}
  .tbl-head>*{min-width:0;}
  table.t{font-size:12px;}
}
@media (max-width:420px){
  .mbrand{max-width:120px;}
  .mlang{max-width:82px;padding-left:5px!important;padding-right:5px!important;}
  .m-icon{width:36px!important;height:36px!important;}
  .tab{padding:11px 10px!important;font-size:12px!important;}
  .send-btns{flex-direction:column!important;}
  .send-btns .btn{width:100%;}
  .tk-msg{max-width:96%!important;}
}

/* Admin panel: responsive only, remains Russian. */
@media (max-width:760px){
  .app{display:block!important;min-height:100svh;}
  .app.nav-off .nav,.nav{position:sticky!important;top:0!important;height:auto!important;width:100%!important;max-width:none!important;flex:0 0 auto!important;z-index:70!important;}
  .nav-brand{display:flex!important;justify-content:flex-start!important;padding:8px 10px!important;}
  .nav-brand .brand-txt,.app.nav-off .nav-brand .brand-txt{display:flex!important;}
  .nav-list{display:flex!important;flex-direction:row!important;overflow-x:auto!important;overflow-y:hidden!important;gap:4px!important;padding:6px 8px 8px!important;-webkit-overflow-scrolling:touch;}
  .nav-list::-webkit-scrollbar{display:none;}
  .nav-item,.app.nav-off .nav-item{flex:0 0 auto!important;width:auto!important;min-height:42px!important;justify-content:flex-start!important;padding:9px 11px!important;white-space:nowrap;}
  .nav-item .lbl,.app.nav-off .nav-item .lbl{display:inline!important;}
  .nav-item .cnt,.app.nav-off .nav-item .cnt{position:static!important;margin-left:5px!important;padding:1px 5px!important;}
  .nav-foot{display:none!important;}
  .main-col{width:100%!important;}
  .top{position:relative!important;top:auto!important;padding:8px 10px!important;gap:8px!important;flex-wrap:wrap;}
  .gsearch{order:3;flex-basis:100%!important;max-width:none!important;}
  .gsearch input,input,select,textarea{font-size:16px!important;min-height:42px;}
  .me{margin-left:auto;}
  .me .n{display:none;}
  .tabs{position:sticky!important;top:0!important;z-index:50!important;padding-left:4px!important;}
  .tab{min-height:44px!important;padding:10px 11px!important;}
  main{padding:8px!important;}
  .kpis{grid-template-columns:1fr 1fr!important;}
  .cols.c2,.cols.c21,.tk-wrap,.arpu-wrap{grid-template-columns:1fr!important;}
  .filters{display:flex!important;flex-wrap:wrap!important;gap:7px!important;}
  .filters>*{flex:1 1 150px!important;min-width:0!important;}
  .tw,.tbl-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch;}
  .tw table{min-width:720px!important;}
  .modal,.modal-wrap{padding:0!important;}
  .modal-card{max-width:none!important;width:100%!important;min-height:100svh!important;border-radius:0!important;}
}
@media (max-width:430px){
  .kpis{grid-template-columns:1fr!important;}
  .nav-brand .brand-txt i{display:none;}
  .top{align-items:center;}
  .tab{font-size:12px!important;}
}

@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;}
}

/* =========================================================
   USMS MOBILE V2 — true phone layout (2026-09-04)
   Desktop styles remain untouched above 820px.
   ========================================================= */
:root{--mobile-top:60px;--mobile-bottom:66px;}

@media (max-width:820px){
  html,body{width:100%;max-width:100%;overflow-x:hidden;}
  body{padding-bottom:env(safe-area-inset-bottom);}

  /* CLIENT: app is a one-column mobile workspace */
  body:has(#main) .app{width:100%;min-width:0;}
  #main.main,#main.main.left-off,#main.main.right-off,#main.main.left-off.right-off{
    display:block!important;width:100%!important;max-width:100%!important;padding:10px 10px calc(var(--mobile-bottom) + 14px)!important;
  }
  #centerCol{width:100%;min-width:0;}

  .mtop{
    min-height:var(--mobile-top);height:auto;display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;
    gap:6px;padding:8px max(10px,env(safe-area-inset-right)) 8px max(10px,env(safe-area-inset-left))!important;
    position:sticky!important;top:0!important;z-index:120!important;background:#102019!important;
    box-shadow:0 8px 24px rgba(16,32,25,.18);
  }
  .mbrand{grid-column:1/3;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .mlang{grid-column:3;width:76px!important;max-width:76px!important;min-height:40px!important;border-radius:10px!important;}
  .mtop .m-icon{display:inline-flex!important;width:40px!important;height:40px!important;min-width:40px!important;padding:0!important;border-radius:10px!important;}
  .mtop .ticket{grid-column:4;}
  .mtop .profile{grid-column:5;}

  /* Desktop side columns become real slide-in mobile drawers. */
  #leftCol,#rightCol{
    display:flex!important;position:fixed!important;z-index:150!important;top:0!important;bottom:0!important;
    width:min(92vw,390px)!important;max-width:390px!important;height:100dvh!important;overflow-y:auto!important;
    background:#f5f8f6!important;padding:calc(12px + env(safe-area-inset-top)) 10px calc(18px + env(safe-area-inset-bottom))!important;
    box-shadow:0 0 42px rgba(16,32,25,.24)!important;transition:transform .22s ease!important;
    overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  }
  #leftCol{left:0!important;right:auto!important;transform:translateX(-105%);}
  #rightCol{right:0!important;left:auto!important;transform:translateX(105%);}
  body.mobile-open-left #leftCol{transform:translateX(0);}
  body.mobile-open-right #rightCol{transform:translateX(0);}
  body.mobile-open-left,body.mobile-open-right{overflow:hidden!important;}
  #leftCol .col-head,#rightCol .col-head{display:none!important;}
  #rightCol .lang-row{display:flex!important;position:relative!important;flex-wrap:wrap;gap:8px;margin:44px 0 0!important;}
  #leftCol>.card:first-of-type{margin-top:44px;}
  .mobile-drawer-close{
    position:absolute;top:max(10px,env(safe-area-inset-top));right:10px;z-index:2;
    width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:#fff;
    display:grid;place-items:center;font-size:22px;line-height:1;color:var(--ink);cursor:pointer;
  }
  .mobile-backdrop{
    position:fixed;inset:0;z-index:140;background:rgba(8,20,14,.46);backdrop-filter:blur(2px);
  }
  .mobile-backdrop[hidden]{display:none!important;}

  /* Client section tabs: touch-friendly scroll, never squeeze labels. */
  #centerCol>.tabs{
    position:sticky!important;top:var(--mobile-top)!important;z-index:80!important;
    display:flex!important;width:calc(100% + 20px)!important;margin-left:-10px!important;
    padding:7px 10px!important;gap:7px!important;border-radius:0!important;overflow-x:auto!important;
    background:#102019!important;scrollbar-width:none;scroll-snap-type:x proximity;
    box-shadow:0 5px 16px rgba(16,32,25,.08)!important;
  }
  #centerCol>.tabs::-webkit-scrollbar{display:none;}
  #centerCol>.tabs .tab{
    flex:0 0 auto!important;min-height:40px!important;padding:9px 13px!important;border-radius:9px 9px 0 0!important;
    font-size:12px!important;white-space:nowrap!important;scroll-snap-align:start;
  }

  .pane{width:100%!important;min-width:0!important;min-height:0!important;border-radius:0 0 14px 14px!important;overflow:visible!important;}
  .pane[hidden]{display:none!important;}
  .pane-head,.sec-h{padding-left:14px!important;padding-right:14px!important;}
  .form-row{display:grid!important;grid-template-columns:1fr!important;padding:12px 14px 0!important;gap:10px!important;}
  .form-row>.field,.form-row>.btn,.form-row>.stats-filter-actions{width:100%!important;max-width:none!important;flex-basis:auto!important;}
  .field[style]{flex:auto!important;max-width:none!important;}
  .stats-filter-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin:0!important;}
  input,select,textarea{max-width:100%!important;font-size:16px!important;}
  textarea{resize:vertical!important;}
  .btn,.subtab,.chip,.rb{min-height:44px!important;}
  .btn{white-space:normal!important;line-height:1.25!important;}

  .card,.add-box,.ticket,.an-chart,.an-side,.p3,.pay-card,.tk-side,.tk-main,.cc-operator-health{
    border-radius:12px!important;max-width:100%!important;min-width:0!important;
  }
  .price3,.price-grid,.pay-grid,.an-wrap,.tk-split,.two-box,.add-split,.bk-split,.cc-overview{
    display:grid!important;grid-template-columns:1fr!important;gap:10px!important;
  }
  .an-big,.kpi,.stats,.cc-health-grid{grid-template-columns:1fr!important;}
  .cc-pulse{padding:16px!important;gap:14px!important;}
  .cc-pulse-metrics{display:grid!important;grid-template-columns:1fr 1fr;width:100%!important;gap:8px!important;}
  .cc-pulse-metrics>div{min-width:0!important;}

  /* Secondary navigation becomes 2-column touch grid; 1 column on narrow phones. */
  #contactsSub,#tplSub,#sendSub,#reportSub{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;padding:8px!important;
  }
  #contactsSub .subtab,#tplSub .subtab,#sendSub .subtab,#reportSub .subtab{
    min-width:0!important;width:100%!important;white-space:normal!important;line-height:1.2!important;
  }

  /* Dynamic tables are converted to mobile cards by mobile-ui.js. */
  .tbl-wrap{margin-left:10px!important;margin-right:10px!important;border:0!important;box-shadow:none!important;overflow:visible!important;background:transparent!important;}
  table.mobile-card-table{display:block!important;width:100%!important;min-width:0!important;border:0!important;background:transparent!important;}
  table.mobile-card-table thead{display:none!important;}
  table.mobile-card-table tbody,table.mobile-card-table tfoot{display:block!important;width:100%!important;}
  table.mobile-card-table tbody tr{
    display:block!important;width:100%!important;margin:0 0 10px!important;padding:7px 12px!important;
    border:1px solid var(--line)!important;border-radius:12px!important;background:#fff!important;box-shadow:0 3px 14px rgba(16,32,25,.04)!important;
  }
  table.mobile-card-table tbody td{
    display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:14px!important;
    width:100%!important;min-width:0!important;padding:9px 0!important;border:0!important;border-bottom:1px solid var(--line-soft,#edf1f5)!important;
    text-align:right!important;white-space:normal!important;overflow-wrap:anywhere!important;
  }
  table.mobile-card-table tbody td:last-child{border-bottom:0!important;}
  table.mobile-card-table tbody td::before{
    content:attr(data-mobile-label);flex:0 0 42%;max-width:42%;text-align:left!important;color:var(--dim)!important;
    font:600 10px/1.35 'Inter',sans-serif;text-transform:none;letter-spacing:0;
  }
  table.mobile-card-table tbody td[colspan]::before{display:none!important;}
  table.mobile-card-table tbody td[colspan]{display:block!important;text-align:left!important;}
  table.mobile-card-table .acts{display:flex!important;flex-wrap:wrap!important;justify-content:flex-end!important;gap:6px!important;}
  table.mobile-card-table .rb{margin:0!important;}
  table.mobile-card-table tfoot tr{display:block!important;margin:0 0 10px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:#f7faf8;}
  table.mobile-card-table tfoot td{display:flex!important;justify-content:space-between!important;padding:7px 0!important;}

  /* Keep compact calculator and operator health tables as normal full-width tables. */
  .p3t,.an-tbl table,#priceTable{width:100%!important;min-width:0!important;table-layout:auto!important;}
  .p3t th,.p3t td,.an-tbl th,.an-tbl td{font-size:11px!important;padding:9px 6px!important;}

  .tk-list{max-height:250px!important;}
  .tk-hello,.tk-form{padding:18px 14px!important;}
  .tk-thread-h,.tk-msgs,.tk-reply{padding-left:12px!important;padding-right:12px!important;}
  .tk-msg{max-width:94%!important;}
  .tk-reply{display:grid!important;grid-template-columns:1fr!important;}
  .tk-reply-main{width:100%!important;}

  .news-modal,.msg-modal{padding:0!important;align-items:stretch!important;}
  .nm-card,.msg-modal>div{width:100%!important;max-width:none!important;max-height:100dvh!important;min-height:100dvh!important;border-radius:0!important;overflow:auto!important;}

  /* Fixed bottom navigation for the most common client actions. */
  .mobile-bottom-nav{
    display:grid!important;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:125;
    min-height:var(--mobile-bottom);padding:6px max(6px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));
    border-top:1px solid #dce5e0;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);box-shadow:0 -8px 24px rgba(16,32,25,.08);
  }
  .mobile-bottom-nav button{
    border:0;background:transparent;color:#68776f;min-width:0;min-height:50px;border-radius:10px;padding:5px 2px;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font:600 9.5px/1.1 'Inter',sans-serif;cursor:pointer;
  }
  .mobile-bottom-nav button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
  .mobile-bottom-nav button.on{color:#0c8a4b;background:#edf8f1;}
  .footer{padding-bottom:calc(var(--mobile-bottom) + 12px)!important;}
}

@media (max-width:480px){
  :root{--mobile-top:58px;--mobile-bottom:64px;}
  .mtop{grid-template-columns:minmax(80px,1fr) 70px 38px 38px!important;}
  .mbrand{grid-column:1!important;font-size:14px!important;}
  .mlang{grid-column:2!important;width:70px!important;max-width:70px!important;}
  .mtop .ticket{grid-column:3!important;}
  .mtop .profile{grid-column:4!important;}
  #contactsSub,#tplSub,#sendSub,#reportSub{grid-template-columns:1fr!important;}
  .stats-filter-actions{grid-template-columns:1fr!important;}
  .cc-pulse-metrics{grid-template-columns:1fr!important;}
  table.mobile-card-table tbody td{display:grid!important;grid-template-columns:minmax(100px,40%) minmax(0,1fr)!important;gap:10px!important;}
  table.mobile-card-table tbody td::before{max-width:none!important;}
}

/* Auth pages: on phones prioritize the task, not the decorative desktop hero. */
@media (max-width:600px){
  body:has(.side) .hero{min-height:auto!important;padding:12px 16px!important;justify-content:flex-start!important;}
  body:has(.side) .hero-inner{display:flex!important;gap:10px!important;align-items:center!important;}
  body:has(.side) .hero .logo-plate{width:54px!important;height:54px!important;border-radius:13px!important;margin:0!important;}
  body:has(.side) .hero .logo-plate img{width:42px!important;height:42px!important;}
  body:has(.side) .hero .wordmark,body:has(.side) .hero .wordmark-img{font-size:23px!important;max-width:150px!important;margin:0!important;}
  body:has(.side) .hero .rule,body:has(.side) .hero .taglines,body:has(.side) .hero .hero-foot{display:none!important;}
  body:has(.side) .side{padding:14px 14px calc(20px + env(safe-area-inset-bottom))!important;min-height:calc(100dvh - 78px)!important;}
  body:has(.side) .side-top{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;align-items:center!important;}
  body:has(.side) .lang{width:100%!important;display:grid!important;grid-template-columns:repeat(4,1fr)!important;}
  body:has(.side) .lang button{min-height:40px!important;padding:7px 5px!important;font-size:11px!important;}
  body:has(.side) .form-wrap{padding:14px 0 0!important;width:100%!important;max-width:none!important;}
  body:has(.side) .form-wrap h1,body:has(.side) h1{font-size:22px!important;}
  body:has(.side) .grid{grid-template-columns:1fr!important;gap:10px!important;}
  body:has(.side) .seg{display:grid!important;grid-template-columns:1fr 1fr!important;}
  body:has(.side) .btns{display:grid!important;grid-template-columns:1fr!important;}
}

/* Public site: remove desktop pressure and make all actions truly full width. */
@media (max-width:600px){
  .top .wrap{display:grid!important;grid-template-columns:minmax(90px,1fr) auto!important;align-items:center!important;}
  .brand{min-width:0!important;}
  .top-btns{grid-column:1/-1!important;display:grid!important;grid-template-columns:1fr auto!important;width:100%!important;}
  .top-btns .btn.p{width:100%!important;}
  .nav.open{position:fixed!important;left:0!important;right:0!important;top:108px!important;max-height:calc(100dvh - 108px)!important;overflow:auto!important;}
  .hero .wrap{display:block!important;}
  .hero h1{max-width:none!important;}
  .hero-btns{display:grid!important;grid-template-columns:1fr!important;}
  .hero-btns>*{width:100%!important;}
  .phone{margin-top:24px!important;}
  .cards,.steps{grid-template-columns:1fr!important;}
  .price-wrap{margin-left:-4px!important;margin-right:-4px!important;overflow-x:auto!important;}
  .cta .btn{width:100%!important;}
}

/* Admin: keep Russian, but give phone users a usable single-column workspace. */
@media (max-width:600px){
  body:has(.main-col) .top{position:sticky!important;top:0!important;z-index:90!important;background:#fff!important;}
  body:has(.main-col) .nav{position:relative!important;top:auto!important;}
  body:has(.main-col) .nav-list{scroll-snap-type:x proximity!important;}
  body:has(.main-col) .nav-item{scroll-snap-align:start!important;}
  body:has(.main-col) main{padding:8px!important;}
  body:has(.main-col) .card,body:has(.main-col) .panel{border-radius:11px!important;}
  body:has(.main-col) .filters>*{flex:1 1 100%!important;}
  body:has(.main-col) .kpis{grid-template-columns:1fr!important;}
  body:has(.main-col) .modal-card{min-height:100dvh!important;}
}
@media (max-width:820px){
  .mtop{grid-template-columns:auto minmax(0,1fr) 76px 40px 40px 40px!important;}
  .mbrand{grid-column:1/3!important;}
  .mlang{grid-column:3!important;}
  .mobile-wallet{grid-column:4!important;}
  .mtop .ticket{grid-column:5!important;}
  .mtop .profile{grid-column:6!important;}
  .mobile-wallet svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
}
@media (max-width:480px){
  .mtop{grid-template-columns:minmax(70px,1fr) 66px 36px 36px 36px!important;}
  .mbrand{grid-column:1!important;}
  .mlang{grid-column:2!important;width:66px!important;max-width:66px!important;}
  .mobile-wallet{grid-column:3!important;}
  .mtop .ticket{grid-column:4!important;}
  .mtop .profile{grid-column:5!important;}
  .mtop .m-icon{width:36px!important;height:36px!important;min-width:36px!important;}
}

/* Mobile V3: primary cabinet tabs become a burger dropdown. */
.mobile-tabs-bar{display:none;}
@media (max-width:820px){
  .mobile-tabs-bar{
    display:block!important;
    position:sticky;
    top:var(--mobile-top,62px);
    z-index:82;
    padding:8px 10px;
    background:rgba(247,250,248,.97);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line,#dfe7e2);
  }
  .mobile-tabs-toggle{
    width:100%;min-height:46px;border:1px solid var(--line,#dfe7e2);border-radius:12px;background:#fff;color:var(--ink,#17221c);
    display:grid;grid-template-columns:24px minmax(0,1fr) 20px;align-items:center;gap:10px;padding:9px 12px;
    text-align:left;font:700 13px/1.25 'Inter',sans-serif;box-shadow:0 4px 14px rgba(16,32,25,.05);cursor:pointer;
  }
  .mobile-tabs-toggle:focus-visible{outline:2px solid var(--teal,#0c8a4b);outline-offset:2px;}
  .mobile-tabs-burger,.mobile-tabs-chevron{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
  .mobile-tabs-current{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .mobile-tabs-chevron{transition:transform .18s ease;}
  .mobile-tabs-toggle[aria-expanded="true"] .mobile-tabs-chevron{transform:rotate(180deg);}

  #centerCol>.tabs{
    display:none!important;
    position:sticky!important;
    top:calc(var(--mobile-top,62px) + 63px)!important;
    z-index:81!important;
    width:auto!important;
    max-height:calc(100dvh - var(--mobile-top,62px) - var(--mobile-bottom,68px) - 72px);
    margin:0 10px 8px!important;
    padding:7px!important;
    grid-template-columns:1fr!important;
    gap:3px!important;
    overflow:auto!important;
    border:1px solid var(--line,#dfe7e2)!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:0 14px 34px rgba(16,32,25,.16)!important;
  }
  #centerCol>.tabs.mobile-tabs-open{display:grid!important;}
  #centerCol>.tabs .tab{
    width:100%!important;min-height:44px!important;margin:0!important;padding:10px 12px!important;border:0!important;border-radius:9px!important;
    display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;text-align:left!important;white-space:normal!important;
    background:transparent!important;color:var(--ink,#17221c)!important;
  }
  #centerCol>.tabs .tab.active{background:#edf8f1!important;color:#087841!important;box-shadow:none!important;}
  #centerCol>.tabs .tab-dot{margin-left:auto!important;}
}

/* Mobile V4: no top burger. Navigation lives entirely in the bottom bar. */
@media (max-width:820px){
  .mobile-tabs-bar{display:none!important;}
  #centerCol>.tabs{display:none!important;}

  .mobile-bottom-nav{
    overflow:visible!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    min-height:74px!important;
    padding-top:7px!important;
  }
  .mobile-bottom-nav button{
    position:relative!important;
    min-height:58px!important;
    padding:5px 1px 4px!important;
    gap:4px!important;
    font-size:9px!important;
    line-height:1.08!important;
    border-radius:11px!important;
  }
  .mobile-bottom-nav button>svg{width:21px!important;height:21px!important;}
  .mobile-bottom-nav button.on{color:#087fd8!important;background:#eef7ff!important;}

  .mobile-bottom-nav .mobile-send-primary{
    color:#1376d7!important;
    background:transparent!important;
    padding-top:0!important;
  }
  .mobile-bottom-nav .mobile-send-primary.on{background:transparent!important;color:#087fd8!important;}
  .mobile-send-circle{
    width:50px;height:50px;margin-top:-25px;margin-bottom:0;border-radius:50%;display:grid;place-items:center;
    background:linear-gradient(145deg,#1598ff,#086cdf);color:#fff;border:4px solid #fff;
    box-shadow:0 8px 20px rgba(0,114,220,.28);
  }
  .mobile-send-circle svg{width:25px!important;height:25px!important;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
  .mobile-bottom-nav .mobile-send-primary>span:last-child{font-weight:700;color:#42535f;}

  body.mobile-more-open{overflow:hidden!important;}
  .mobile-more-backdrop{
    position:fixed;inset:0;z-index:136;background:rgba(14,24,32,.46);opacity:0;transition:opacity .18s ease;
  }
  .mobile-more-backdrop.is-open{opacity:1;}
  .mobile-more-sheet{
    position:fixed;left:0;right:0;bottom:0;z-index:137;max-height:min(72dvh,560px);overflow:auto;
    padding:8px 14px calc(var(--mobile-bottom,74px) + env(safe-area-inset-bottom) + 10px);
    border-radius:24px 24px 0 0;background:#fff;box-shadow:0 -18px 50px rgba(11,28,39,.22);
    transform:translateY(105%);transition:transform .2s ease;
  }
  .mobile-more-sheet.is-open{transform:translateY(0);}
  .mobile-more-handle{width:38px;height:4px;border-radius:999px;background:#cbd4db;margin:0 auto 9px;}
  .mobile-more-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 3px 9px;border-bottom:1px solid #e6ecef;}
  .mobile-more-head strong{font:800 17px/1.2 'Inter',sans-serif;color:#162434;}
  .mobile-more-close{width:38px;height:38px;border:0;border-radius:50%;background:#f3f6f8;color:#425260;font-size:28px;line-height:1;cursor:pointer;}
  .mobile-more-list{display:grid;gap:0;padding:5px 0;}
  .mobile-more-list button{
    width:100%;min-height:58px;border:0;border-bottom:1px solid #e9eef1;background:#fff;color:#152333;
    display:grid;grid-template-columns:28px minmax(0,1fr) 18px;align-items:center;gap:12px;padding:10px 7px;text-align:left;cursor:pointer;
    font:700 14px/1.25 'Inter',sans-serif;
  }
  .mobile-more-list button:last-child{border-bottom:0;}
  .mobile-more-list button svg{width:24px;height:24px;fill:none;stroke:#223241;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
  .mobile-more-list button b{font-size:25px;font-weight:400;color:#71808b;text-align:right;}

  /* Leave enough breathing room above the raised send button. */
  #centerCol{padding-bottom:12px!important;}
  .footer{padding-bottom:calc(86px + env(safe-area-inset-bottom))!important;}
}

@media (max-width:390px){
  .mobile-bottom-nav button{font-size:8.4px!important;}
  .mobile-send-circle{width:46px;height:46px;margin-top:-22px;}
}
