/*
  Stable desktop layout for the director cabinet.
  Small laptop screens get the same cabinet size with horizontal scroll instead
  of a compressed mobile/tablet layout.
*/
:root{--taxichi-sidebar-width:250px;--taxichi-content-max:1680px}
html{width:100%;min-width:0;overflow-x:hidden;background:#f4f5f6;font-size:16px}
body{width:100%;min-width:0;overflow-x:hidden}
.app{width:100%;min-width:0}
aside{width:var(--taxichi-sidebar-width)!important;padding:25px 18px!important}
main{margin-left:var(--taxichi-sidebar-width)!important;width:calc(100% - var(--taxichi-sidebar-width))!important;max-width:var(--taxichi-content-max)!important;min-height:100vh;padding:35px clamp(22px,2.8vw,46px)!important}
.brand-copy,nav,.account span,.account b{display:grid!important}
nav{display:flex!important}
nav button,nav a{padding:13px!important;border-radius:7px!important;font-size:15px!important}
.brand{margin-bottom:35px!important}
.brand-copy b{font-size:20px!important}
header{align-items:center!important;flex-direction:row!important;gap:18px}
h1{font-size:31px!important}
.dispatcher-list{gap:9px;margin-top:22px}
.dispatcher-card{grid-template-columns:minmax(0,1fr) auto!important;padding:10px 14px!important;width:100%!important}
.dispatcher-main{grid-template-columns:minmax(210px,.85fr) minmax(460px,1.8fr) auto auto!important;align-items:center!important;gap:12px!important}
.access{grid-template-columns:repeat(3,minmax(148px,1fr))!important;min-width:650px!important;gap:8px!important}
.access div{min-height:64px!important}
.dispatcher-actions{justify-content:flex-end!important}
.dispatcher-actions button{flex:0 0 auto!important;white-space:nowrap}
.payment-admin-card{grid-template-columns:minmax(220px,1.2fr) minmax(220px,1fr) minmax(190px,.8fr) auto!important;gap:14px!important;padding:16px!important}
.director-card{grid-template-columns:minmax(0,1fr) auto auto!important}
.cabinet-head{align-items:center!important;flex-direction:row!important}
.analytics-filter{display:flex!important}
.analytics-grid{grid-template-columns:repeat(4,minmax(160px,1fr))!important}
.analytics-table{min-width:980px}
.admin-details-grid{grid-template-columns:repeat(3,minmax(180px,1fr))!important}
.form-grid{grid-template-columns:1fr 1fr!important}
.edit-actions{justify-content:flex-end!important}
.edit-actions button{flex:0 0 auto!important}
dialog{max-height:90vh;overflow:auto}

@media(max-width:1180px) and (min-width:761px){
  :root{--taxichi-sidebar-width:220px}
  aside{padding:20px 14px!important}
  main{padding:28px 22px!important}
  .dispatcher-card,.dispatcher-main{min-width:1050px!important}
  .dispatcher-list{overflow-x:auto!important;padding-bottom:8px!important}
}

@media(max-width:760px){
  html,body{min-width:0!important;width:auto!important;overflow-x:hidden!important}
  .app{display:block!important;min-width:0!important;width:100%!important}
  aside{position:sticky!important;top:0!important;z-index:20!important;width:100%!important;height:auto!important;inset:auto!important;padding:10px 12px!important;display:block!important}
  .brand{margin:0 0 10px!important;font-size:18px!important}
  .brand img{width:36px!important}
  .brand-copy{display:grid!important}
  .brand-copy b{font-size:18px!important}
  nav{display:flex!important;flex-direction:row!important;gap:8px!important;overflow-x:auto!important;padding-bottom:4px!important}
  nav [data-owner-page="cabinet"]{margin-top:0!important}
  nav button,nav a{width:auto!important;min-width:max-content!important;min-height:42px!important;flex:0 0 auto!important;padding:9px 12px!important;font-size:13px!important}
  .account{display:none!important}
  main{margin-left:0!important;width:100%!important;min-height:auto!important;padding:18px 12px 26px!important}
  header{align-items:stretch!important;flex-direction:column!important;gap:14px!important}
  h1{font-size:25px!important;line-height:1.1!important}
  #addDispatcher{width:100%!important;min-height:44px!important}
  .dispatcher-list{gap:10px!important;margin-top:16px!important}
  .dispatcher-card{grid-template-columns:1fr!important;padding:13px!important}
  .dispatcher-main{grid-template-columns:1fr!important;align-items:stretch!important;gap:10px!important}
  .access{grid-template-columns:1fr!important;min-width:0!important}
  .dispatcher-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;justify-content:stretch!important}
  .dispatcher-actions button{width:100%!important}
  .payment-admin-card,.director-card,.cabinet-head,.balance-driver-row{grid-template-columns:1fr!important;align-items:stretch!important}
  .cabinet-head{flex-direction:column!important}
  .analytics-filter{display:grid!important;grid-template-columns:1fr!important}
  .analytics-grid{grid-template-columns:1fr 1fr!important}
  .analytics-table{min-width:760px!important}
  .owner-analytics-panel,.owner-payments-panel,.owner-cabinet-panel{overflow-x:auto!important}
  .admin-details-grid,.form-grid{grid-template-columns:1fr!important}
  .edit-actions{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;justify-content:stretch!important}
  .edit-actions .action-spacer{display:none!important}
  .edit-actions button{width:100%!important}
  dialog,#ownerResetDialog,#adminDetailsDialog{width:calc(100vw - 18px)!important;max-width:none!important;max-height:calc(100dvh - 18px)!important;padding:18px!important;border-radius:14px!important}
  .owner-boot-loader{min-height:100dvh!important}
}
