/* ===== Responsif ===== */
@media (max-width:820px){
  .shell{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr}
  .side{position:sticky;top:0;z-index:20;height:auto;flex-direction:row;align-items:center;gap:.6rem;padding:var(--bar-py) var(--bar-px)}
  .side .who,.side .nav-list{display:none}
  .side .brand{margin:0;padding:.25rem .4rem;border-radius:10px;flex:none}
  .side .brand img{width:auto;height:var(--logo-h);max-width:none}
  .side .store-id{margin:0;flex:none}
  .side .store-logo{width:calc(var(--logo-h) + .5rem);height:calc(var(--logo-h) + .5rem);border-radius:10px}
  .side .nav-select{display:block;flex:1;min-width:0;height:calc(var(--logo-h) + .5rem);font-weight:700;padding:0 .6rem;background:#fff;color:var(--ink)}
  .side .out{display:none}   /* Install & Keluar pindah ke menu navigasi (pilihan di dropdown) */
  .main{padding:1rem;min-width:0} .pos{grid-template-columns:minmax(0,1fr)} .cart{position:static;order:-1}   /* HP: kotak Keranjang di atas kolom cari nama */
  .pos .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
  .units{grid-template-columns:minmax(0,1fr)}
  .head{align-items:flex-start}
  .head .acts .btn{padding:.5rem .8rem}
  /* kolom isian minimal 16px: kalau lebih kecil, iPhone otomatis memperbesar halaman saat kolom disentuh */
  input,select,textarea{font-size:16px}
  .row.prod{display:grid;grid-template-columns:56px minmax(0,1fr);gap:.4rem .7rem;align-items:start}
  .row.prod .prices{grid-column:1 / -1;text-align:left;display:flex;flex-wrap:wrap;gap:.1rem .9rem;align-items:baseline}
  .row.prod .prices .muted{font-size:.82rem}
  .row.prod .acts{grid-column:1 / -1}
  /* baris unit (Unit & Tarif): nama & harga di atas, tombol turun ke baris sendiri */
  .row.unit-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem .7rem;align-items:start}
  .row.unit-row .grow{overflow-wrap:anywhere}
  .row.unit-row .acts{grid-column:1 / -1}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))} .stats .card{padding:.8rem}
  .repfilter input{width:100%} .repfilter .field{flex:1 1 130px}
  .overlay{padding:.6rem}
  .sheet{max-height:92dvh}
}
@media print{.side,.cartbar,.btn{display:none!important}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
