/* Travel Tricks staff portal — responsive system */
.sidebar-close,.sidebar-backdrop{display:none}
.table-wrap,.line-items{max-width:100%;-webkit-overflow-scrolling:touch}
.content,.card,.module-list-card,.form-card,.record-main,.record-aside{min-width:0}

@media(max-width:1000px){
  .content{padding:26px 22px}
  .header-actions{gap:8px}
  .module-hero,.record-hero{min-width:0}
  .module-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:720px){
  html,body{max-width:100%;overflow-x:hidden}
  body.menu-open{overflow:hidden}
  .shell{width:100%;min-height:100svh}
  #sidebar{display:block;width:min(86vw,300px);max-width:300px;z-index:60;transform:translateX(-105%);box-shadow:22px 0 60px #06131870;transition:transform .3s ease}
  .menu-open #sidebar{transform:translateX(0)}
  .sidebar-backdrop{position:fixed;z-index:55;inset:0;width:100%;height:100%;border:0;background:#06171d99;backdrop-filter:blur(4px)}
  .menu-open .sidebar-backdrop{display:block}
  .sidebar-brand-dock{display:grid;grid-template-columns:minmax(0,1fr) 40px;align-items:center;gap:8px;padding:15px 14px 12px}
  .sidebar-brand-dock .brand{margin:0;height:74px}
  .sidebar-close{display:grid;width:40px;height:40px;place-items:center;border:1px solid #ffffff2c;border-radius:50%;background:#183640;color:#fff;font-size:24px;cursor:pointer}
  main{min-width:0;width:100%}
  header{height:64px;padding:0 12px;gap:9px}
  .mobile-menu{flex:0 0 42px;width:42px;height:42px;border-radius:10px;background:#f1f3f1;color:var(--ink)}
  .global-search{flex:1;width:auto;min-width:0;height:42px;padding:0 10px}
  .global-search input{min-width:0;width:100%;font-size:16px}
  .global-search input::placeholder{font-size:12px}
  .header-actions{flex:0 0 auto;gap:5px}
  .header-actions .top-whatsapp,.header-actions .icon-btn,.header-actions .user>div:not(.avatar),.header-actions form{display:none}
  .header-actions .avatar{width:36px;height:36px}
  .content{width:100%;padding:18px 12px 90px}
  .page-head{gap:14px;margin-bottom:18px}
  .page-head h1{font-size:26px;line-height:1.1}
  .head-actions,.form-actions,.approval-actions{width:100%;flex-wrap:wrap}
  .head-actions>a,.head-actions>button,.form-actions>a,.form-actions>button{flex:1 1 140px;min-height:44px}
  .hero-panel{align-items:flex-start;min-height:180px;padding:21px 18px}
  .hero-panel p{max-width:78%;font-size:12px}
  .score span{font-size:28px}
  .stat-grid,.grid-2,.detail-grid,.form-grid,.details,.itinerary-grid,.staff-grid,.quick-grid,.comm-grid{grid-template-columns:minmax(0,1fr)}
  .stat-grid{gap:10px}
  .card{padding:16px;border-radius:13px}
  .filters,.module-filters{align-items:stretch;flex-direction:column}
  .filters input,.filters select,.filters button,.module-filters input,.module-filters select,.module-filters button{width:100%;min-height:44px}
  .table-wrap{position:relative;overflow-x:auto;overscroll-behavior-inline:contain;border-radius:0 0 13px 13px}
  table{min-width:720px}
  th,td{white-space:nowrap}
  .module-table{min-width:820px}
  .module-hero{gap:14px;padding:18px}
  .module-symbol{width:50px;height:50px;border-radius:14px}
  .module-hero-copy{min-width:calc(100% - 65px)}
  .module-hero h1{font-size:24px}
  .module-hero .primary{width:100%;min-height:44px}
  .module-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .module-stats article{padding:14px}
  .status-ribbon,.workflow-track,.record-status-journey{overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
  .module-filters{padding:14px 14px 0}
  .search-field{width:100%;min-height:44px}
  .form-intro{gap:12px}
  .form-intro h1,.record-hero h1{font-size:25px}
  .form-grid label,.title-edit{min-width:0}
  input,select,textarea{max-width:100%;font-size:16px}
  .line-item-card{overflow:hidden}
  .line-items{overflow-x:auto}
  .line-items table{min-width:760px}
  .calculation-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .calculation-strip>div{min-width:0}
  .sticky-actions{bottom:8px}
  .record-hero{align-items:flex-start}
  .record-detail-grid{grid-template-columns:minmax(0,1fr)}
  .specific-details,.finance-summary{grid-template-columns:minmax(0,1fr)}
  .clock-card{padding:22px 18px}
  .clock-card form,.clock-card form button{width:100%}
  .staff-card{grid-template-columns:44px minmax(0,1fr)}
  .staff-card>.status,.staff-card>.approval-actions{grid-column:2}
  .message>div:last-child{max-width:88%;overflow-wrap:anywhere}
  .compose>div{grid-template-columns:1fr}
  .chat{left:8px;right:8px;bottom:70px;width:auto;height:min(68svh,520px)}
  .ai-fab{right:12px;bottom:12px}
  .approval-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .approval-card{grid-template-columns:44px minmax(0,1fr)}
  .approval-actions{grid-column:2}
}

@media(max-width:460px){
  .content{padding-inline:10px}
  .global-search span{display:none}
  .page-head h1{font-size:24px}
  .stat-grid,.module-stats,.approval-stats,.calculation-strip{grid-template-columns:minmax(0,1fr)}
  .hero-panel{min-height:200px}
  .hero-panel p{max-width:72%}
  .module-hero-copy{min-width:100%}
  .module-symbol{width:46px;height:46px}
  .form-card,.module-card{padding:14px}
  .section-title{align-items:flex-start}
  .record-hero .head-actions,.form-intro .head-actions{display:grid;grid-template-columns:1fr}
  .head-actions>a,.head-actions>button,.form-actions>a,.form-actions>button{width:100%}
  .day-content{padding:15px}
  .trip-banner{padding:28px 18px}
  .trip-banner h2{font-size:25px}
  .ranking>div{grid-template-columns:22px 70px minmax(0,1fr)}
  .ranking b{grid-column:3}
  .clock-card h2{font-size:23px}
  .approval-card{padding:14px}
}

@media(hover:none){
  .card:hover,.stat:hover,.trip-card:hover,.quick-grid a:hover,.nav-item:hover{transform:none}
}

@media(prefers-reduced-motion:reduce){
  #sidebar,.content>*,.chat{animation:none!important;transition:none!important}
}
