/* 115 Schiller · v0.9.41 · outstanding QA 017–029 ONLY.
   Scoped to mobile so desktop remains unchanged. No booking/backend modifications. */
/* Preserve the original three desktop finance columns; mobile is overridden below. */
@media (min-width:761px){.admin-body .sch-owner-finance-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){
 /* 017/021 — offer CTA must never overrun a listing card. */
 .sch-offer-listing,.sch-offer-listing-inner,.sch-offer-listing-inner>div{min-width:0;max-width:100%}
 .sch-offer-listing-inner{gap:18px;padding:clamp(20px,5vw,28px)}
 .sch-offer-listing-inner>a{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-width:0;max-width:100%;width:100%;min-height:46px;padding:13px 16px;text-align:center;line-height:1.45;white-space:normal;overflow-wrap:break-word}
 /* 018 / 019 — booking-to-editorial separation. Keep primary desktop grid unchanged. */
 .layout>.booking{margin-bottom:12px;padding-bottom:28px}
 .layout>.section:first-child{padding-top:14px}
 .entire-layout>.entire-reserve{margin-bottom:18px;padding-bottom:28px}
 .entire-layout>.entire-story{padding-top:12px}
 /* 020 / 021 — comfort module spacing: overline, icon and serif heading. */
 .comforts-strip,.comforts-strip-head{min-width:0}
 .comforts-strip .comfort-kicker,.comforts-strip .tiny{display:block;margin-bottom:17px;line-height:1.55}
 .comforts-strip-head{display:flex;align-items:flex-start;gap:13px;flex-wrap:nowrap}
 .comforts-strip-head>.comfort-icon,.comforts-strip-head>svg{width:24px!important;height:24px!important;min-width:24px!important;max-width:24px!important;flex:0 0 24px;margin-top:4px}
 .comforts-strip-head h2{min-width:0;overflow-wrap:normal;line-height:1.19;margin:0}
 .sch-property-care,.sch-offer-listing,.comforts-strip{margin-bottom:22px}
 /* 022 / 023 — flatten the legal page's nested padding without changing terms. */
 .legal-page.container{padding:32px 16px 48px!important;min-width:0}
 .legal-page article{min-width:0;max-width:100%;padding:22px 18px;border-radius:12px}
 .legal-page h1{font-size:clamp(36px,10vw,50px);line-height:1.08;margin:12px 0 25px}
 .legal-page article .notice{padding:18px 15px;max-width:100%;overflow-wrap:break-word}
 .legal-page article :is(h2,p){max-width:100%;overflow-wrap:break-word}
 .legal-page article p,.legal-page .pet-policy p{font-size:15px;line-height:1.75}
 .legal-page>section.container{padding:22px 0 0!important;margin:0}
 .legal-page .pet-policy{margin:0;padding:18px}
 /* 024 — real horizontally scrollable tab bar, separate from page's scroll. */
 .admin-layout{grid-template-columns:minmax(0,1fr);min-width:0}
 .sidebar{box-sizing:border-box;top:0;width:100%;max-width:100vw;padding:9px 13px 8px}
 .side-nav{display:flex;gap:7px;overflow-x:auto;overscroll-behavior-x:contain;touch-action:pan-x;padding:9px 2px 10px;scrollbar-width:thin;scrollbar-color:#c6dfca #1d4134;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
 .side-nav button{flex:0 0 auto;min-height:44px;padding:10px 14px;font-size:12px;line-height:1.2;white-space:nowrap;scroll-snap-align:start;outline-offset:-2px}
 .side-nav button.active{background:#e2c59c;color:#15382c;font-weight:800}
 .side-nav button:focus-visible{outline:3px solid #f2d6a9;outline-offset:1px}
 .admin-main,.admin-body,#admin-content,.panel,.panel-pad{min-width:0;max-width:100%}
 .admin-body{padding:24px 16px 60px}
 .admin-topbar{min-height:60px;gap:10px;flex-wrap:wrap;padding:10px 16px}
 .admin-topbar .pillrow{min-width:0}
 /* 025: compliance status, heading and explanation must each breathe. */
 .compliance-list{grid-template-columns:minmax(0,1fr);gap:13px}
 .compliance-item{min-width:0;padding:19px 17px}
 .compliance-item .chip{display:inline-flex;margin:0 0 14px;max-width:100%;white-space:normal;line-height:1.35}
 .compliance-item h3{margin:0 0 9px;line-height:1.25;overflow-wrap:break-word}
 .compliance-item p{font-size:13px;line-height:1.65;margin:0;overflow-wrap:break-word}
 /* 026: import / status cards + action area */
 .admin-body .entry{min-width:0;padding:16px}
 .admin-body .entry .mini{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}
 .admin-body .entry .mini>strong{flex:1 1 150px;min-width:0;overflow-wrap:anywhere}
 .admin-body .entry .mini .chip{flex:0 0 auto;max-width:100%}
 .admin-body .entry p{font-size:13px;line-height:1.55;overflow-wrap:anywhere}
 .admin-body .entry-actions{align-items:stretch;gap:9px}
 .admin-body .entry-actions .btn{min-height:44px;flex:1 1 120px;white-space:normal;max-width:100%;justify-content:center}
 .admin-body .copybox{min-width:0;flex-wrap:wrap}
 .admin-body .copybox input{flex:1 1 100%;min-width:0}
 /* 027: finance summary never adopts desktop 3 columns on phone. */
 .admin-body .stats,.admin-body .sch-owner-finance-stats{grid-template-columns:minmax(0,1fr)!important;gap:11px}
 .admin-body .stat-card{min-width:0;padding:18px;min-height:auto}
 .admin-body .stat-value{font-size:clamp(24px,7.8vw,33px);line-height:1.2;letter-spacing:-.035em;overflow-wrap:anywhere;word-break:normal;max-width:100%}
 .sch-owner-ledger .panel-top{flex-wrap:wrap;gap:12px}
 .sch-owner-ledger .panel-top .btn{min-height:44px}
 .sch-owner-ledger .table-wrap{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
 .sch-owner-ledger .grid-table{min-width:630px}
 .sch-ledger-help{font-size:12px;line-height:1.5;color:#4f695a;background:#f2f6ef;padding:10px 17px;margin:0}
 .sch-owner-ledger .table-wrap:focus-visible{outline:3px solid #b99559;outline-offset:-3px}
 /* 028: seven operational steps, genuine semantic list. */
 .sch-cleaner-flow{list-style:decimal;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin:16px 0 21px;padding:0 0 0 26px}
 .sch-cleaner-flow li{padding:8px 8px 9px 5px;border-bottom:1px solid #e4ece3;font-size:13px;line-height:1.5}
 /* 029: task status to its own row, checkbox independent and accessible */
 .task-row{display:grid;grid-template-columns:25px minmax(0,1fr);align-items:start;gap:9px 13px;padding:17px 15px;min-width:0}
 .task-row input[type=checkbox]{width:23px;height:23px;margin:0;grid-row:1 / span 2;flex-shrink:0;accent-color:#215943}
 .task-row .task-info{min-width:0;grid-column:2}
 .task-row .task-info strong{font-size:13px;line-height:1.5;overflow-wrap:anywhere}
 .task-row .task-info small{font-size:12px;line-height:1.5;overflow-wrap:anywhere;margin-top:5px}
 .task-row>.chip{grid-column:2;justify-self:start;max-width:100%;white-space:normal}
 .admin-body .panel-top{flex-wrap:wrap;gap:10px}
 .admin-body .panel-top .btn{min-height:44px}
}
@media(max-width:380px){
 .sch-offer-listing{padding-inline:16px}
 .sch-offer-listing-inner{padding:20px}
 .legal-page.container{padding-inline:14px!important}
 .legal-page article{padding:20px 15px}
 .admin-body{padding-inline:13px}
}
@media(prefers-reduced-motion:reduce){.side-nav{scroll-behavior:auto!important}}
