@import url('/admin-modern.css');
/* Admin only: the public booking form and desktop layouts are unchanged. */
.mobile-floor-toolbar{display:none}
@media(max-width:760px){
  :is(.admin-page,.admin-mode){font-size:16px;zoom:1}
  :is(.admin-page,.admin-mode) *{box-sizing:border-box}
  .admin-page .page{width:calc(100% - 20px);margin:12px auto 28px}
  :is(.admin-page,.admin-mode) :is(.card,.panel,.title,.brand,.layout,.grid,.form,.form-grid,.detail-grid,.name,.product,.product>div,.task-title,.mini>span){min-width:0;overflow-wrap:anywhere}
  :is(.admin-page,.admin-mode) :is(h1,h2,h3){overflow-wrap:anywhere}
  .admin-page :is(.head,.top){display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}
  .admin-page :is(.head,.top)>div:first-child{width:100%;min-width:0}
  .admin-page :is(h1,.title h1,.brand h1,.top h1){font-size:1.65rem;line-height:1.15}
  :is(.admin-page,.admin-mode) :is(button,.btn,.go,.admin-home-link,.date-field){min-height:44px;white-space:normal;overflow-wrap:anywhere}
  .admin-page :is(.head,.top) :is(.btn,.admin-home-link){flex:1;text-align:center}
  :is(.admin-page,.admin-mode) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){max-width:100%;min-width:0;font-size:16px;min-height:44px}
  :is(.admin-page,.admin-mode) :is(input[type=checkbox],input[type=radio]){flex-shrink:0}
  :is(.admin-page,.admin-mode) :is(.modalbg,.modal-bg){padding:8px;align-items:center}
  :is(.admin-page,.admin-mode) :is(.modalbg>.modal,.modal-bg>.modal){width:100%;max-height:calc(100dvh - 16px);padding:16px;overflow:auto;overscroll-behavior:contain}
  :is(.admin-page,.admin-mode) :is(.modal-head,.modal-actions,.actions){gap:10px;flex-wrap:wrap}
  :is(.admin-page,.admin-mode) .modal-head h2{font-size:1.25rem;min-width:0}
  :is(.admin-page,.admin-mode) :is(.close,#closeModal){flex-shrink:0}
  :is(.admin-page,.admin-mode) :is(.form,.form-grid,.detail-grid){grid-template-columns:minmax(0,1fr)}
  :is(.admin-page,.admin-mode) :is(.modal-actions,.drawer-actions){display:grid;grid-template-columns:1fr}
  :is(.admin-page,.admin-mode) :is(.modal-actions,.drawer-actions)>button{width:100%}
  :is(.admin-page,.admin-mode) .date-picker{max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto}
  :is(.admin-page,.admin-mode) .date-picker-day{min-height:0}
  .admin-page .admin-home-link{width:100%}
  .admin-dashboard .summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-dashboard .stat{display:block;padding:13px 10px}
  .admin-dashboard .stat span{font-size:.86rem}
  .admin-dashboard .cards{grid-template-columns:1fr}
  .admin-dashboard .card{padding:16px}
  .admin-dashboard .logout{width:100%}
  .admin-login .login{width:calc(100% - 24px);padding:24px 18px}
  .admin-login{padding:12px 0;min-height:100dvh}
  .admin-orders .layout{grid-template-columns:minmax(0,1fr)}
  .admin-orders .catalog{padding:12px}
  .admin-orders .tools{display:grid;grid-template-columns:minmax(0,1fr);width:100%}
  .admin-orders .search{width:100%;min-width:0}
  .admin-orders .tabs{display:flex;flex-direction:row;flex-wrap:nowrap;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
  .admin-orders .tabs .tab{flex:0 0 auto;width:auto;white-space:nowrap;overflow-wrap:normal;word-break:normal;min-height:44px;padding:10px 14px}
  .admin-orders .table,.admin-orders .table tbody{display:block;width:100%}
  .admin-orders .table thead{display:none}
  .admin-orders .table tr{display:grid;grid-template-columns:36px minmax(0,1fr) 44px;gap:10px 6px;border:1px solid #decfbe;border-radius:10px;padding:12px 8px;margin-bottom:10px}
  .admin-orders .table td{display:block!important;padding:0;border:0;min-width:0}
  .admin-orders .table td:nth-child(1){grid-column:1;grid-row:1;align-self:center}
  .admin-orders .table td:nth-child(2){grid-column:2;grid-row:1}
  .admin-orders .table td:nth-child(3){grid-column:2;grid-row:2;font-size:.85rem;color:#756960}
  .admin-orders .table td:nth-child(4){grid-column:2 / 4;grid-row:3}
  .admin-orders .table td:nth-child(5){grid-column:3;grid-row:1}
  .admin-orders .table td[colspan]{grid-column:1 / -1}
  .admin-orders .product{align-items:flex-start;gap:7px}
  .admin-orders .icon{flex:0 0 26px;width:26px;height:34px}
  .admin-orders .pick{width:26px;height:26px}
  .admin-orders .qty button{width:44px;height:44px}
  .admin-orders .qty span{min-width:45px}
  .admin-orders [data-delete-product]{width:44px!important;height:44px!important}
  .admin-orders .side{position:static;padding:15px}
  .admin-orders .modal-card{max-height:calc(100dvh - 24px);overflow:auto;padding:16px}
  .admin-orders .modal .grid{grid-template-columns:minmax(0,1fr)}
  .admin-orders .drawer-card{padding:15px;max-height:100dvh}
  .admin-cart .summary{flex-wrap:wrap;align-items:center;font-size:.9rem}
  .admin-cart .row{grid-template-columns:30px minmax(0,1fr);gap:8px;padding:14px 2px}
  .admin-cart .amount{grid-column:2;white-space:normal}
  .admin-cart .actions{display:grid;grid-template-columns:1fr}
  .admin-stats .grid{grid-template-columns:minmax(0,1fr)}
  .admin-stats .panel{padding:14px}
  .admin-stats .row{grid-template-columns:minmax(0,1fr) auto;gap:8px}
  .admin-stats .numbers{white-space:normal}
  .admin-tasks .task{grid-template-columns:30px minmax(0,1fr) 44px;gap:8px;padding:14px 8px}
  .admin-tasks .task .check{grid-column:1;grid-row:1;width:24px;height:24px;margin:0;padding:0}
  .admin-tasks .task-title{grid-column:2;grid-row:1}
  .admin-tasks .task .menu{width:44px;height:44px}
  .admin-tasks .task .status{width:100%}
  .admin-tasks .filters{gap:6px;margin:18px 0 12px}
  .admin-tasks .filter{flex:1 1 40%;padding:10px 6px}
  .admin-tasks .shared-note{align-items:flex-start;padding:12px}
  .admin-floor .controls{display:grid;grid-template-columns:minmax(0,1fr);width:100%}
  .admin-floor .controls :is(input,select,.date-field){width:100%;min-width:0}
  .admin-floor .mobile-floor-toolbar{display:block;margin-bottom:16px}
  .mobile-floor-toolbar button{width:100%;border:1px solid #6b2430;border-radius:9px;padding:10px;background:#fffaf2;color:#6b2430;font:700 16px Arial,sans-serif}
  .mobile-floor-toolbar p{font-size:.88rem;margin:8px 0;color:#695e58}
  .admin-floor:not(.mobile-floor-map) .floor-wrap{padding:0;border:0;overflow:visible;background:none}
  .admin-floor:not(.mobile-floor-map) .floor-canvas{min-width:0;aspect-ratio:auto;border:0;background:none;display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
  .admin-floor:not(.mobile-floor-map) :is(.floor-bar,.floor-door,.floor-window,.floor-exit,.floor-beer,.floor-chair){display:none}
  .admin-floor:not(.mobile-floor-map) .floor-table{position:static!important;width:100%!important;height:auto!important;min-height:76px;padding:14px;justify-content:flex-start;text-align:left}
  .admin-floor:not(.mobile-floor-map) .floor-table-info{font-size:1rem;overflow-wrap:anywhere}
  .admin-floor:not(.mobile-floor-map) .floor-table-info small{font-size:.88rem;line-height:1.5}
  .admin-floor.mobile-floor-map .floor-wrap{max-width:100%;overflow:auto;overscroll-behavior-x:contain}
  .admin-floor .legend{font-size:.85rem;gap:8px}
  .admin-floor .form-grid :is(input,select,textarea,.date-field){width:100%;min-width:0}
  .admin-floor #bookSave{width:100%}
  .admin-mode main{width:100%;max-width:100%;padding:10px}
  .admin-mode .admin-actions{display:grid;grid-template-columns:minmax(0,1fr);width:100%}
  .admin-mode .admin-actions>*{width:100%;text-align:center}
  .admin-mode .admin-brand{font-size:1.5rem}
  .admin-mode .pending-row{grid-template-columns:minmax(0,1fr);gap:7px;overflow-wrap:anywhere}
  .admin-mode .pending-row .action{grid-column:1}
  .admin-mode .table-row{display:block;overflow-wrap:anywhere}
  .admin-mode .weekday-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-mode .weekday-row button{min-width:0}
  .admin-mode .summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;font-size:.8rem}
  .admin-mode .stat{min-width:0;padding:9px 4px;overflow-wrap:anywhere}
  .admin-mode .grid{grid-template-columns:minmax(0,1fr)}
  .admin-mode .choice{align-items:flex-start;overflow-wrap:anywhere}
}

/* 2026-10-08: compact mobile cart and website administration controls. */
@media (max-width:760px){
  .admin-cart .row{grid-template-columns:32px minmax(0,1fr) auto;gap:8px;padding:8px 0;min-height:48px}
  .admin-cart .row .name{min-width:0}
  .admin-cart .row .name b{font-size:.9rem;line-height:1.25;overflow-wrap:anywhere}
  .admin-cart .row .sub{display:none}
  .admin-cart .row .amount{grid-column:3;font-size:.85rem;white-space:nowrap}
  .admin-cart .row .check{width:24px;height:24px;margin:0;justify-self:center}
  .admin-cart .actions{display:flex;gap:8px;margin-top:12px}
  .admin-cart .actions .btn{width:auto;flex:1 1 140px;min-height:44px;padding:10px;font-size:.85rem}
  .admin-page .cart-page .cart-row{grid-template-columns:32px minmax(0,1fr) auto;gap:8px;padding:8px 0;min-height:48px}
  .admin-page .cart-page .cart-row>span{min-width:0}
  .admin-page .cart-page .cart-row strong{font-size:.9rem;line-height:1.25;overflow-wrap:anywhere}
  .admin-page .cart-page .cart-row small{display:none}
  .admin-page .cart-page .cart-row>b{grid-column:3;font-size:.85rem;white-space:nowrap}
  .admin-page .cart-page .check{width:24px;height:24px;margin:0;justify-self:center}
  .admin-page:has(#textForm) .tabs{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:visible;padding:8px 0;background:transparent}
  .admin-page:has(#textForm) .tabs .btn{width:100%;min-width:0;min-height:44px;padding:10px 8px;white-space:normal;overflow-wrap:normal;word-break:normal;font-size:.86rem;line-height:1.25;text-align:center}
  .admin-page:has(#textForm) .language-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .admin-page:has(#textForm) .language-tabs .btn{width:100%;min-width:0}
  .admin-page:has(#textForm) .save-row{display:flex;flex-wrap:wrap;gap:8px}
  .admin-page:has(#textForm) .save-row .btn{flex:1 1 140px;width:auto;min-width:0}
  .admin-page:has(#textForm) .booking-info-actions{display:flex;flex-wrap:wrap;gap:8px}
  .admin-page:has(#textForm) .booking-info-actions .btn{flex:1 1 100px;min-width:0;text-align:center}
  .admin-page:has(#textForm) .image-card{grid-template-columns:minmax(80px,110px) minmax(0,1fr)}
  .admin-page:has(#textForm) .choose{min-width:0;text-align:center;line-height:1.25}
  .admin-page:has(#textForm) .panel{scroll-margin-top:68px}
}
