/* Mobile companion layout inspired by the reference: compact top bar, stacked cards, bottom navigation. */
@media (max-width: 640px){
  html,body{min-width:0;overflow-x:hidden}
  .app-shell{display:block;padding:0;min-height:100vh}
  .sidebar{display:none!important}
  .workspace{height:auto;min-height:100vh;width:100%}
  .topbar{height:62px;padding:10px 16px;gap:8px;position:sticky;top:0;z-index:20;background:rgba(233,232,226,.96);backdrop-filter:blur(14px)}
  .topbar .property-btn{order:1;flex:1;min-width:0;max-width:none;height:38px;padding:0 12px;background:var(--surface)}
  .topbar .property-btn strong{font-size:11px;display:block;overflow:hidden;text-overflow:ellipsis}
  .topbar .search-trigger{order:2;width:38px;height:38px;min-width:38px;padding:0;justify-content:center}
  .topbar .search-trigger span:nth-child(2){display:none}
  .topbar .icon-btn{width:38px;height:38px;display:flex!important;flex:none}
  .topbar .icon-btn[data-action=help],.topbar .icon-btn[data-action=theme]{display:none!important}
  .main{padding:16px 14px 92px;overflow:visible}
  .page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:14px}
  .title h1{font-size:24px;line-height:1.05;letter-spacing:-.8px}
  .title p{font-size:11px;line-height:1.4;margin-top:6px}
  .page-header .actions{margin-top:0;flex:none}.page-header .actions .btn{font-size:0;width:38px;padding:0}.page-header .actions .btn:after{content:'+';font-size:20px;line-height:1}
  /* Keep one unambiguous primary action in compact headers. */
  .page-header .actions .btn:first-child:nth-last-child(2){display:none}
  .overview-kpis,.room-kpis,.payment-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}
  .overview-kpi,.room-kpis>div,.payment-kpis>div{min-height:78px;padding:12px;border-radius:17px}
  .overview-kpi label,.room-kpis span,.payment-kpis span{font-size:12px;line-height:1.25;white-space:normal}
  .overview-kpi strong,.room-kpis strong,.payment-kpis strong{font-size:25px;margin-top:8px}
  .overview-kpi small,.room-kpis small,.payment-kpis small{display:block;font-size:12px;margin-top:4px}
  .overview-kpi:last-child{grid-column:auto;display:block;min-height:78px}.overview-kpi:last-child strong{margin-top:8px}
  .panel{border-radius:20px;margin-bottom:10px}.panel-head{padding:14px 14px 10px}.panel-head h2{font-size:14px}.panel-body{padding:12px 14px}
  .overview-middle,.overview-bottom,.payment-layout,.report-top,.report-bottom{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}
  .performance{display:flex;min-height:156px;padding:15px 16px}.performance strong{font-size:40px}.performance svg{display:block;height:44px;margin-top:auto}.performance-footer{display:flex}
  .readiness-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:0 8px 8px}.readiness-cell{padding:9px 5px;border-radius:13px}.readiness-cell label{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.readiness-cell strong{font-size:20px}.readiness-bars{height:34px;margin:6px 0}
  .overview-agenda .panel-head{padding:14px}.agenda-layout{display:flex;flex-direction:column;padding:0 12px 12px;gap:8px}.mini-calendar{padding:9px 10px}.calendar-day{height:30px}.agenda-scroll{max-height:230px}.agenda-booking{padding:11px 0;gap:8px}.agenda-name strong{font-size:12px}.agenda-stay{min-width:84px;font-size:12px}
  .operational-list{padding:0 14px 10px}.operation-row{padding:11px 0}.operation-time{width:35px;font-size:11px}.operation-copy strong{font-size:12px}.operation-copy small{font-size:12px}.review-box{margin:0 6px 6px;padding:10px}.attention-stack{padding:6px;border-radius:20px}.attention-tile{padding:12px}
  .mobile-nav{position:fixed;z-index:50;left:10px;right:10px;bottom:10px;height:56px;display:flex;align-items:center;justify-content:space-between;gap:3px;padding:5px 6px;background:rgba(255,255,252,.97);border-radius:19px;box-shadow:0 8px 28px #1c1d1922;border:1px solid #ecece6}
  .mobile-nav button{flex:1;height:44px;border:0;background:transparent;color:#444740;border-radius:15px;font:inherit;font-size:12px;line-height:16px;white-space:nowrap}.mobile-nav .mobile-icon{display:block;font-size:18px;line-height:25px}.mobile-nav .mobile-label{display:none}.mobile-nav button.active .mobile-label{display:block}.mobile-nav button.active .mobile-icon{line-height:15px;font-size:14px}.mobile-nav button.active{background:#1c1d19;color:#fff;padding:0 11px;flex:1.25}.mobile-nav button.mobile-more{background:#1c1d19;color:#fff;border-radius:18px;flex:1.2}.mobile-nav button.mobile-more .mobile-label{display:block}.mobile-nav button.mobile-more .mobile-icon{display:inline;font-size:13px;margin-right:4px;line-height:16px}
  .room-toolbar{overflow-x:auto;display:flex;flex-wrap:nowrap;gap:4px;padding:7px}.room-search{min-width:170px;order:-1}.room-table,.payment-table{min-width:680px}.room-panel,.payment-layout .panel{overflow:hidden}.report-tabs{width:100%;overflow-x:auto;margin-bottom:10px}.report-tab{padding:8px 12px}.report-performance{min-height:190px}.report-performance strong{font-size:48px}.funnel-row{grid-template-columns:70px minmax(60px,1fr) 42px;padding:6px 0}.funnel-list{padding-left:14px;padding-right:14px}.report-foot-metrics{grid-template-columns:repeat(3,1fr);padding:9px 14px;font-size:12px}.report-foot-metrics b{font-size:11px}.report-metrics{grid-template-columns:repeat(2,1fr)}.source-row{grid-template-columns:90px 30px minmax(60px,1fr);padding:8px 14px}
  .balance-total{font-size:36px}.drawer{width:100%;max-width:none}.modal{width:calc(100% - 24px);max-height:88vh}
}

/* Mobile shell refinements: sidebar-weight icons, non-sticky header, wider rhythm. */
@media (max-width:640px){
  .topbar{position:relative!important;background:transparent!important;backdrop-filter:none!important}
  .mobile-nav{gap:8px!important;padding:6px 8px!important}
  .mobile-nav .mobile-icon svg{width:20px;height:20px;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
  .mobile-nav button.active .mobile-icon svg{width:17px;height:17px}
  .mobile-nav button.mobile-more .mobile-icon svg{width:15px;height:15px}
  .mobile-nav .mobile-icon svg{fill:none!important;stroke:currentColor!important}
}
@media (max-width:380px){.main{padding-left:10px;padding-right:10px}.topbar{padding-left:10px;padding-right:10px}.overview-kpi strong,.room-kpis strong,.payment-kpis strong{font-size:22px}.readiness-cell label{font-size:12px}.mobile-nav{left:8px;right:8px}.mobile-nav button{font-size:12px}}
