/* MCO Service panel responsive layer — loaded last on purpose. */
html,body{max-width:100%;overflow-x:hidden}
.dealer-welcome-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.dealer-welcome-actions .btn{margin:0;min-height:46px}
.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

/* Dealer navigation follows the same adaptive shell as the management panel. */
.dealer-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh;background:#f4f7fb}
.dealer-sidebar{position:sticky;top:0;height:100vh;min-width:0;padding:22px;background:var(--navy-black);color:#fff;overflow:hidden}
.dealer-sidebar .brand{margin-bottom:22px;color:#fff}
.dealer-sidebar .brand img{width:50px;height:50px;object-fit:contain}
.dealer-sidebar .brand small{color:#91a5c1}
.dealer-tabs{display:grid;gap:5px;margin:0;max-height:calc(100vh - 190px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.dealer-tabs button{width:100%;min-height:46px;border:0;border-radius:11px;padding:10px 12px;background:transparent;color:#c6d3e4;text-align:right;font:700 14px/1.5 Yekan,Tahoma,sans-serif;display:flex;align-items:center;gap:10px;transition:background-color .18s ease,color .18s ease}
.dealer-tabs button:hover,.dealer-tabs button:focus-visible{background:rgba(255,255,255,.09);color:#fff;outline:none}
.dealer-tabs button.active{background:var(--yellow);color:var(--navy-dark)}
.dealer-tabs button svg{display:block;width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dealer-sidebar .side-foot{position:absolute;right:22px;left:22px;bottom:20px}
.dealer-sidebar .side-foot small{display:block;line-height:1.7}
.dealer-main-shell{min-width:0;display:flex;min-height:100vh;flex-direction:column}
.dealer-header{position:sticky;top:0;z-index:700;background:rgba(244,247,251,.94);border-bottom:1px solid rgba(215,223,234,.8);backdrop-filter:blur(14px)}
.dealer-header .header-row{min-height:84px;padding:14px 28px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.dealer-page-heading h1{margin:0;color:var(--navy-dark);font-size:24px;line-height:1.35}
.dealer-page-heading p{margin:3px 0 0;color:var(--muted);font-size:14px}
.dealer-header-actions{display:flex;align-items:center;gap:8px}
.dealer-commerce{flex:1;min-width:0}
.dealer-bottom-nav{display:none}

@media(max-width:900px){
  :root{--mobile-nav-space:calc(92px + env(safe-area-inset-bottom,0px))}
  body{min-width:0}
  button,a,input,select,textarea{touch-action:manipulation}
  input,select,textarea{font-size:16px!important}
  .btn{min-height:44px}
  .container{width:100%!important;max-width:100%!important;padding-inline:12px!important}
  .panel,.dealer-welcome,.commerce-kpis article,.catalog-card,.order-card,.invoice-card{max-width:100%;min-width:0}

  /* Dealer: the desktop sidebar becomes the same five-destination bottom bar as admin. */
  #dealerApp{min-height:100dvh}
  .dealer-shell{display:block!important;min-width:0!important}
  .dealer-sidebar{display:none!important}
  .dealer-main-shell{display:flex!important;width:100%!important;min-width:0!important}
  .dealer-header{position:sticky!important;top:0!important;z-index:700!important;background:rgba(255,255,255,.97)!important;box-shadow:0 4px 18px rgba(7,27,63,.08)!important;backdrop-filter:blur(14px)}
  .dealer-header .header-row{min-height:64px!important;display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:7px!important;padding:8px 12px!important}
  .dealer-page-heading{min-width:0!important;flex:1 1 auto!important}
  .dealer-page-heading h1{font-size:19px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .dealer-page-heading p{display:none!important}
  .dealer-header-actions{display:flex!important;gap:6px!important;flex:0 0 auto!important}
  .dealer-header .notification-trigger,.dealer-header #dealerLogout{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;flex:0 0 44px!important;padding:0!important;display:grid!important;place-items:center!important}
  .dealer-header #dealerLogout{font-size:0!important}
  .dealer-header #dealerLogout:before{content:"خروج";font-size:12px;font-weight:800}
  .dealer-site-link{display:none!important}
  .dealer-commerce{min-height:calc(100dvh - 64px)!important;padding:14px 0 var(--mobile-nav-space)!important}
  .panel-credit{padding-bottom:var(--mobile-nav-space)!important}
  .dealer-view{min-width:0!important}
  .dealer-welcome{display:grid!important;grid-template-columns:1fr!important;gap:17px!important;padding:20px 17px!important;border-radius:20px!important}
  .dealer-welcome h1{font-size:clamp(23px,6vw,30px)!important;line-height:1.45!important}
  .dealer-welcome p{font-size:14px!important;line-height:1.8!important}
  .dealer-welcome-actions{width:100%!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .dealer-welcome-actions .btn{width:100%!important;min-width:0!important;padding-inline:10px!important;white-space:normal!important}
  .commerce-kpis{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .commerce-kpis article{padding:14px!important}
  .commerce-kpis b{font-size:18px!important}
  .commerce-grid,.shop-layout,.price-list-options{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
  .commerce-head{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;align-items:start!important}
  .commerce-head>*{min-width:0!important;max-width:100%!important}
  .catalog-filter-bar,.product-filter-form,.dealer-invoice-filters{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;padding:10px!important}
  .catalog-filter-bar .catalog-search,.product-filter-form .product-search-wrap{grid-column:1/-1!important}
  .catalog-filter-bar .btn,.filter-reset,.invoice-filter-reset{width:100%!important}
  .catalog-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .catalog-card{overflow:hidden!important}
  .catalog-card img{aspect-ratio:1!important;width:100%!important;height:auto!important;object-fit:contain!important}
  .catalog-body{padding:11px!important}
  .catalog-body h3{font-size:14px!important;line-height:1.65!important}
  .price-pair{display:grid!important;grid-template-columns:1fr!important;gap:5px!important}
  .cart-panel{position:static!important;top:auto!important;width:100%!important;max-height:none!important}
  .cart-line{grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important}
  .cart-line>*{min-width:0!important}
  .cart-line .qty-control,.cart-line .icon-trash{justify-self:end!important}
  .order-list,.invoice-list{min-width:0!important}
  .order-card,.invoice-card{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;padding:14px!important}
  .order-card>*:not(.status),.invoice-card>*:not(.status){grid-column:1/-1!important}
  .order-card>.status,.invoice-card>.status{grid-column:2!important}
  .invoice-card-actions,.receipt-upload{width:100%!important;max-width:100%!important}
  .dealer-invoice-filters .invoice-filter-reset{grid-column:1/-1!important}
  .commerce-dialog{width:calc(100vw - 16px)!important;max-width:none!important;max-height:calc(100dvh - 16px)!important;margin:auto!important;border-radius:20px!important}
  .commerce-dialog .dialog-shell{max-height:calc(100dvh - 16px)!important;padding:16px!important}
  .detail-items>div{gap:12px!important;align-items:flex-start!important}
  .notification-dialog{z-index:1500!important}
  .toast{z-index:2000!important;right:12px!important;left:12px!important;bottom:var(--mobile-nav-space)!important;width:auto!important;max-width:none!important}

  /* Admin: dashboard content remains full-width; primary navigation is bottom-fixed. */
  .app-shell{display:block!important;min-width:0!important}
  .sidebar{display:none!important}
  .admin-main{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:12px 12px var(--mobile-nav-space)!important}
  .admin-top{position:sticky!important;top:0!important;z-index:650!important;min-width:0!important;margin:-12px -12px 13px!important;padding:10px 12px!important;background:rgba(255,255,255,.97)!important;box-shadow:0 5px 18px rgba(7,27,63,.08)!important;backdrop-filter:blur(14px)!important}
  .admin-top>div{min-width:0!important}
  .admin-top h1{font-size:19px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .admin-actions{gap:6px!important;flex:0 0 auto!important}
  .admin-actions .btn{min-width:44px!important;min-height:44px!important;padding:8px 10px!important}
  .admin-bottom-nav{position:fixed!important;right:8px!important;left:8px!important;bottom:calc(8px + env(safe-area-inset-bottom,0px))!important;z-index:1200!important;width:auto!important;min-height:72px!important;margin:0!important;padding:6px!important;display:flex!important;align-items:stretch!important;gap:3px!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:20px!important;background:rgba(6,31,70,.97)!important;box-shadow:0 15px 42px rgba(3,20,46,.38)!important;backdrop-filter:blur(18px)!important}
  .admin-bottom-nav.hidden{display:none!important}
  .admin-bottom-nav button{flex:1 1 0!important;min-width:0!important;min-height:60px!important;margin:0!important;padding:7px 2px 5px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;border:0!important;border-radius:14px!important;background:transparent!important;color:#cbd7e8!important;font:700 10.5px Yekan,Tahoma,sans-serif!important;white-space:nowrap!important}
  .admin-bottom-nav button svg{width:22px!important;height:22px!important;flex:0 0 22px!important}
  .admin-bottom-nav button.active{background:linear-gradient(145deg,#ffd42a,#f2b800)!important;color:#071b3f!important}
  .admin-section,.admin-section>.panel{min-width:0!important;max-width:100%!important}
  .management-grid,.dashboard-grid,.notification-settings-grid,.bank-account-list,.pricing-kpis,.pricing-layout{grid-template-columns:1fr!important}
  .admin-order-row,.admin-invoice-row{grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important}
  .admin-order-row>*:not(.status),.admin-invoice-row>*:not(.status){grid-column:1/-1!important}
  .admin-order-row>.status,.admin-invoice-row>.status{grid-column:2!important}
  .invoice-filter-form,.pricing-filter-form{grid-template-columns:1fr!important;padding:10px!important}
  .invoice-filter-form>*,.pricing-filter-form>*{grid-column:auto!important;min-width:0!important;max-width:100%!important}
  .panel-head{align-items:flex-start!important;gap:10px!important;flex-wrap:wrap!important}
  .panel-actions{width:100%!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .panel-actions .btn{width:100%!important;min-width:0!important}
  .manual-invoice-row{grid-template-columns:1fr!important}
  .manual-invoice-row>*{grid-column:auto!important;min-width:0!important}
  .manual-invoice-row .icon-trash{justify-self:end!important}
  .receipt-review-dialog{z-index:1450!important}
}

@media(max-width:520px){
  .dealer-welcome-actions,.catalog-filter-bar,.product-filter-form,.dealer-invoice-filters,.panel-actions{grid-template-columns:1fr!important}
  .catalog-filter-bar>*,.product-filter-form>*,.dealer-invoice-filters>*{grid-column:auto!important}
  .admin-top p{display:none!important}
  .admin-actions .btn{font-size:12px!important}
  .notification-dialog{width:100%!important;height:min(82dvh,700px)!important;margin:auto 0 0!important;border-radius:24px 24px 0 0!important}
}

@media(max-width:370px){
  .catalog-grid,.commerce-kpis{grid-template-columns:1fr!important}
  .admin-bottom-nav{right:4px!important;left:4px!important}
  .admin-bottom-nav button{font-size:9.5px!important}
}

@media(min-width:901px){
  .dealer-welcome-actions{gap:12px}
  /* One scroll region keeps every admin destination and the credit in reach. */
  #adminApp{grid-template-columns:260px minmax(0,1fr)}
  #adminApp>.sidebar{position:fixed;inset:0 0 auto auto;width:260px;height:100vh;height:100dvh;min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#8097b7 var(--navy-black);padding:22px 16px;background:var(--navy-black);scroll-padding-block:16px}
  #adminApp>.admin-main{grid-column:2}
  #adminApp .sidebar .brand{margin-bottom:24px}
  #adminApp .sidebar .brand div,#adminApp .sidebar .brand small,#adminApp .side-nav span{display:block}
  #adminApp .side-nav{gap:6px;min-width:0}
  #adminApp .side-nav [data-view]{justify-content:flex-start;text-align:right;min-height:46px;white-space:normal;overflow-wrap:anywhere}
  #adminApp .side-nav [data-view] span{min-width:0}
  #adminApp .side-foot{display:block;position:static;inset:auto;margin:24px 0 0;padding:16px 4px 4px;border-top:1px solid rgba(255,255,255,.16);color:#b9c8dc;font-size:14px;line-height:1.9;overflow-wrap:anywhere}
  #adminApp .side-foot small{font-size:13px;line-height:1.9}
  #adminApp .side-foot a{color:var(--yellow)}
  #adminApp .sidebar a:focus-visible,#adminApp .side-nav button:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}
  #adminApp .sidebar::-webkit-scrollbar{width:8px}
  #adminApp .sidebar::-webkit-scrollbar-track{background:var(--navy-black)}
  #adminApp .sidebar::-webkit-scrollbar-thumb{background:#8097b7;border:2px solid var(--navy-black);border-radius:999px}
  #adminApp .sidebar::-webkit-scrollbar-thumb:hover{background:#b9c8dc}
}

@media(prefers-reduced-motion:reduce){
  .admin-bottom-nav{backdrop-filter:none!important}
}
