/* Admin-only navigation controls. The public booking flow keeps its own layout. */
.admin-page{overflow-x:hidden}
.sidebar-brand-row{display:flex;align-items:center;gap:6px;margin:3px 0 34px}
.sidebar-brand-row .brand{min-width:0;flex:1;gap:6px}
.sidebar-brand-row .brand-word{padding-left:8px;letter-spacing:1.4px}
.sidebar-close{width:28px;height:28px;flex-shrink:0;padding:4px;color:#89937c}
.sidebar-close .icon{width:17px;height:17px}
.sidebar-toggle{width:36px;height:36px;flex-shrink:0;border:1px solid #e4e7db;border-radius:7px;background:#fff;color:#64735a}
.sidebar-toggle:hover,.sidebar-close:hover{background:#efeee6;color:#40493d}
.workspace-header .workspace-heading{display:flex;align-items:center;gap:16px;min-width:0}
.workspace-heading>span{white-space:nowrap}
.sidebar-backdrop{position:fixed;inset:0;z-index:100;border:0;border-radius:0;background:#26382e66;cursor:pointer}

/* Wide screens keep a useful icon rail instead of making navigation disappear. */
@media(min-width:841px){
  .dashboard{transition:grid-template-columns .18s ease}
  .dashboard.sidebar-collapsed{grid-template-columns:72px minmax(0,1fr)}
  .dashboard.sidebar-collapsed .sidebar{padding:24px 10px 0;align-items:stretch}
  .dashboard.sidebar-collapsed .sidebar-brand-row{justify-content:center;margin:3px 0 30px}
  .dashboard.sidebar-collapsed .sidebar-brand-row .brand{flex:0;justify-content:center}
  .dashboard.sidebar-collapsed .sidebar-brand-row .brand-word,
  .dashboard.sidebar-collapsed .sidebar-label,
  .dashboard.sidebar-collapsed .nav-item-label,
  .dashboard.sidebar-collapsed .user-box>div{display:none}
  .dashboard.sidebar-collapsed .sidebar .nav-item{position:relative;justify-content:center;gap:0;padding:13px 0}
  .dashboard.sidebar-collapsed .sidebar .nav-item .icon{width:18px;height:18px}
  .dashboard.sidebar-collapsed .sidebar .nav-count{position:absolute;top:4px;right:4px;min-width:16px;padding:2px 4px;text-align:center;font-size:8px}
  .dashboard.sidebar-collapsed .sidebar-bottom>a{margin-bottom:14px}
  .dashboard.sidebar-collapsed .sidebar .user-box{justify-content:center;flex-wrap:wrap;gap:7px;padding:17px 0}
  .dashboard.sidebar-collapsed .sidebar .user-box>.icon-button{margin-left:0}
  .dashboard.sidebar-collapsed .sidebar [data-sidebar-label]::after{content:attr(data-sidebar-label);position:absolute;z-index:120;left:calc(100% + 14px);top:50%;transform:translate(-4px,-50%);padding:7px 9px;border-radius:5px;background:#334438;color:#fff;font-size:11px;font-weight:550;white-space:nowrap;box-shadow:0 5px 18px #26382e26;opacity:0;pointer-events:none;transition:opacity .12s ease,transform .12s ease}
  .dashboard.sidebar-collapsed .sidebar [data-sidebar-label]:hover::after,
  .dashboard.sidebar-collapsed .sidebar [data-sidebar-label]:focus-visible::after{opacity:1;transform:translate(0,-50%)}
  .sidebar-close{display:none}
}

@media(max-width:960px) and (min-width:841px){
  .sidebar-brand-row{gap:4px}
  .sidebar-brand-row .brand-mark{font-size:26px}
  .sidebar-brand-row .brand-mark>span{font-size:21px}
  .sidebar-brand-row .brand-word{font-size:7px;letter-spacing:1px;padding-left:5px}
  .sidebar-brand-row .brand-word small{font-size:4px;letter-spacing:.6px}
}

/* Tablets and phones use the same deliberate drawer, rather than a squeezed rail. */
@media(max-width:840px){
  .dashboard{display:block}
  .dashboard .sidebar{position:fixed;inset:0 auto 0 0;width:min(320px,calc(100vw - 44px));height:100vh;height:100dvh;z-index:110;display:flex;flex-direction:column;overflow-y:auto;padding:calc(20px + env(safe-area-inset-top)) 18px env(safe-area-inset-bottom);border-right:1px solid var(--line);border-bottom:0;box-shadow:16px 0 60px #26382e22;animation:sidebar-enter .16s ease-out}
  .sidebar-brand-row{margin:0 0 30px;gap:12px}
  .sidebar-brand-row .brand-mark{font-size:35px}
  .sidebar-brand-row .brand-mark>span{font-size:28px}
  .sidebar-brand-row .brand-word{font-size:10px;letter-spacing:1.4px}
  .sidebar-brand-row .brand-word small{font-size:6px}
  .sidebar-close{width:44px;height:44px}
  .sidebar-close .icon{width:21px;height:21px}
  .sidebar-label{display:block;font-size:10px;margin:0 10px 16px}
  .sidebar-nav{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}
  .sidebar .nav-item{justify-content:flex-start;white-space:normal;padding:15px 12px;gap:12px;font-size:14px;min-height:48px}
  .sidebar .nav-item .icon{width:19px;height:19px}
  .sidebar .nav-count{margin-left:auto;font-size:11px}
  .sidebar-bottom{display:block;margin-top:auto}
  .sidebar .user-box{padding:18px 0;gap:10px}
  .sidebar .user-box strong{font-size:12px}
  .sidebar .user-box small{font-size:10px}
  .sidebar .user-box>.icon-button{width:44px;height:44px}
  .sidebar-modal-open{overflow:hidden}
  .workspace-header{height:64px;padding:0 20px;gap:10px}
  .workspace-header .workspace-heading{gap:10px;font-size:10px}
  .workspace-heading>span{white-space:normal;line-height:1.6}
  .workspace-header .date-pill{display:none}
  .sidebar-toggle{width:44px;height:44px}
  .workspace-header .workspace-status{flex-shrink:0;font-size:8px}
  .view-content{padding:26px 20px 34px}
  .page-heading{margin-bottom:23px;align-items:flex-start}
  .page-heading h1{font-size:29px}
  .page-heading p{font-size:11px;line-height:1.7}
  .metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:24px}
  .metric{padding:16px;min-height:118px}
  .metric>span:first-child{font-size:9px}
  .metric strong{font-size:30px;margin:15px 0 12px}
  .metric.accent strong{font-size:27px}
  .metric-icon{right:15px;top:14px;width:23px;height:23px}
  .metric small{font-size:8px}
  .panel-top{padding:12px;min-height:0}
  .status-tabs{gap:12px;overflow-x:auto;width:100%;min-height:31px;scrollbar-width:none}
  .status-tabs::-webkit-scrollbar{display:none}
  .status-tab{font-size:9px}
  .status-tab.active:after{bottom:0}
  .panel-actions{margin-left:auto}
  .table-toolbar{padding:12px;display:block}
  .search-field{max-width:100%;margin-bottom:12px}
  .toolbar-filters{flex-wrap:wrap;gap:8px}
  .toolbar-filters>select{font-size:10px}
  .detail-toggle{margin-left:auto}
  .table-bottom{padding:12px}
  .table-bottom>span{font-size:8px}
  .workspace-note{font-size:9px;line-height:1.8;align-items:flex-start}
  .references-grid{gap:15px}
  .surface{padding:20px}
  .settings-save{align-items:flex-start;flex-direction:column;gap:14px}
  .order-dialog{width:calc(100% - 20px);max-height:94vh}
  .dialog-heading{padding:19px}
  .order-dialog form{padding:10px 18px 0}
  .order-dialog .form-grid{gap:0 10px}
  .order-dialog .field-label{font-size:9px}
  .order-dialog .field input,.order-dialog .field select,.order-dialog .field textarea{font-size:11px;padding:10px 8px}
  .dialog-footer{gap:9px}
  .dialog-footer .muted{font-size:8px}
  .dialog-footer .button{font-size:10px;padding:10px 13px}
  .order-history{padding:0 18px 25px}
  .toast{bottom:18px;right:18px;left:18px;max-width:none;font-size:11px}
  .bulk-bar{padding:12px;gap:9px;flex-wrap:wrap}
}

@media(max-width:540px){
  .workspace-header{padding:0 14px}
  .workspace-status #sync-status{display:none}
  .workspace-status .live-dot{margin-right:0}
  .view-content{padding:22px 14px 30px}
  .page-heading{flex-direction:column;gap:8px}
  .page-heading p{max-width:none;margin-bottom:0}
  .page-heading>.button{align-self:flex-start;margin-top:0}
  .admin-page .form-grid{grid-template-columns:1fr}
  .toolbar-filters .filter-date{flex:1}
  .toolbar-filters .filter-date input{width:100%}
  .detail-toggle{width:100%;margin-left:0}
  .table-bottom>span:last-child{display:none}
  .dialog-footer{align-items:stretch;flex-direction:column}
  .dialog-footer .button{width:100%}
}

@keyframes sidebar-enter{from{opacity:.6;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.dashboard{transition:none}.dashboard .sidebar{animation:none}}
