/* Layout repair for existing Valera screens. No authentication or booking changes. */
#app .workspace-main,#app .detail-panel,#app .owner-calendar-grid,#app .owner-calendar-card{min-width:0}
#app .page-head p,#app .owner-invitation-card h3,#app .owner-sent-offer,#app .owner-calendar-card h3,#app .booking-row{overflow-wrap:anywhere}
.valera-request-dialog .request-review,.valera-request-dialog .request-review>*{min-width:0;overflow-wrap:anywhere}
.valera-request-dialog .modal-actions .btn{white-space:normal;height:auto}
.admin-second-factor{font-size:14px;color:#526775}.admin-second-factor>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.admin-second-factor>summary::before{content:'▸';margin-right:7px}.admin-second-factor[open]>summary::before{content:'▾'}.admin-second-factor[open]>.field{margin:8px 0}
@media(max-width:1099px){
 #app .results-page .result-machine,#app .results-page .machine-body,#app .results-page .machine-price,#app .results-page .price-split{min-width:0;max-width:100%;box-sizing:border-box}
 #app .results-page .machine-price>.machine-actions{grid-area:actions;display:block;align-self:start;height:auto;min-height:0;width:100%;margin:12px 0 0}
 #app .results-page .machine-price>.machine-actions>.btn{display:flex;align-items:center;justify-content:center;width:100%;height:auto;min-height:48px;max-width:100%;padding:12px 16px;margin:0;white-space:normal;line-height:1.4;align-self:start;font-size:15px}
 #app .results-page .price-number{white-space:normal;overflow-wrap:anywhere}
 #app .results-page .machine-title-row,#app .results-page .machine-links{flex-wrap:wrap;gap:12px}
 #app .results-page .machine-title-row h2{min-width:0;overflow-wrap:anywhere}
 #app .results-page .machine-links button{min-height:44px;font-size:14px;line-height:1.35;white-space:normal;text-align:left}
 #app .results-page .results-map-panel{position:relative;top:auto;width:100%;min-width:0;max-width:100%;box-sizing:border-box}
 #app .results-page .results-toolbar{position:static;top:auto;height:auto;min-width:0;flex-wrap:wrap;gap:10px}
 #app .results-page .results-toolbar>*{min-width:0;max-width:100%;white-space:normal}
}
@media(max-width:700px){
 #app .results-page .result-machine{display:block}
 #app .results-page .result-machine>.machine-photo{grid-area:auto;height:200px;min-height:0;max-height:200px}
 #app .results-page .result-machine>.machine-body{grid-area:auto;padding:18px}
 #app .results-page .result-machine>.machine-price{grid-area:auto;display:flex;flex-direction:column;align-items:stretch;gap:10px;border-left:0;border-top:1px solid #dfe5e1;padding:18px}
 #app .results-page .result-machine .price-number{font-size:34px;line-height:1.2}
 #app .results-page .result-machine .price-split{width:100%}
 #app .results-page .price-split>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;font-size:14px;line-height:1.5}
 #app .results-page .result-machine h2{font-size:24px;line-height:1.2}
 #app .results-page .result-machine .machine-specs{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app .results-page .results-map-panel>.server-map{height:280px}
 #app .owner-calendar-heading{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:center}
 #app .owner-calendar-heading>strong{grid-column:1/-1;grid-row:1;text-align:center;overflow-wrap:anywhere}
 #app .owner-calendar-heading>button{grid-row:2;min-width:0;min-height:44px;padding:10px 6px;white-space:normal;font-size:14px}
 #app .owner-calendar-card{padding:12px;box-sizing:border-box}
 #app .owner-calendar-card h3{font-size:19px;line-height:1.35}
 #app .owner-calendar-card .availability-widget{width:100%;min-width:0}
 #app .availability-toolbar{min-width:0;flex-wrap:wrap;gap:8px}
 #app .availability-toolbar strong{min-width:0;overflow-wrap:anywhere}
 #app .owner-calendar-card .availability-grid,#app .owner-calendar-card .availability-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
 #app .owner-calendar-card .availability-day{min-width:0;min-height:42px;padding:5px 1px}
 #app .side-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:100%;min-width:0;gap:4px}
 #app .side-nav button{min-width:0;min-height:44px;font-size:14px;line-height:1.3;padding:10px 6px;white-space:normal;overflow-wrap:anywhere;justify-content:center;text-align:center}
 #app .owner-order-filters button{font-size:14px;min-height:44px}
 #app .owner-invitation-actions>.btn{min-height:48px;max-width:100%;height:auto;white-space:normal;line-height:1.4}
 #app .topnav a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;line-height:1.3}
 #app .topbar-actions{gap:8px;flex-wrap:wrap}
 #app .request-status-links{gap:10px}
 #app .request-status-links a,#app .request-status-links button{min-height:44px;line-height:1.4;overflow-wrap:anywhere}
 #app .request-status-card,.password-account-card{padding:18px}
 #app .request-status-card h2{font-size:24px;line-height:1.25}
 #app .request-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 #app .request-steps li{min-width:0;overflow-wrap:anywhere}
 #app .booking-row-v2 .booking-actions{display:flex;flex-wrap:wrap;gap:8px}
 #overlay-root .modal,#overlay-root .modal-grid,#overlay-root .modal .field{min-width:0;box-sizing:border-box}
 #overlay-root .modal{width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:18px;overflow-y:auto;overscroll-behavior:contain}
 #overlay-root .modal-grid{grid-template-columns:minmax(0,1fr)}
 #overlay-root .modal-actions{display:flex;flex-wrap:wrap;gap:10px}
 #overlay-root .modal-actions .btn{min-height:48px;max-width:100%;white-space:normal;height:auto}
 .valera-request-dialog{scroll-padding-block:20px}
 .valera-request-dialog .request-review{font-size:14px;line-height:1.5}
 .valera-request-dialog .request-review>div{display:grid;gap:6px}
}
@media(max-width:650px){
 body:has(main .machine-summary)>.site-header{padding:16px;gap:12px;align-items:stretch}
 body:has(main .machine-summary)>.site-header nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;width:100%;font-size:14px;line-height:1.35}
 body:has(main .machine-summary)>.site-header nav a{min-width:0;min-height:44px;display:flex;align-items:center;padding:7px 0;overflow-wrap:anywhere}
 .machine-hero,.machine-summary,.machine-details,.equipment-order{min-width:0}
 .machine-summary h1,.machine-summary p,.machine-summary .price,.catalog-card h2{overflow-wrap:anywhere}
 .machine-summary h1{font-size:30px;line-height:1.15;letter-spacing:-.7px}
 .equipment-order .order-grid{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}
 .equipment-order input,.equipment-order select,.equipment-order button{min-width:0;max-width:100%;box-sizing:border-box;font-size:16px}
 .equipment-order button{height:auto;min-height:44px;white-space:normal;line-height:1.4}
 .equipment-order .home-address{min-width:0}
 .equipment-order .home-address input{font-size:16px}
 .public-calendar{padding:12px;min-width:0}
 .public-calendar .month-heading{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:6px}
 .public-calendar .month-heading a{min-width:44px;min-height:44px;display:grid;place-items:center}
 .public-calendar .month-heading strong{min-width:0;text-align:center;overflow-wrap:anywhere;font-size:14px}
 .public-calendar .calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
 .public-calendar .calendar-day{min-width:0;min-height:64px;padding:6px 2px}
 .public-calendar .calendar-day small{font-size:9.5px;line-height:1.2;overflow-wrap:anywhere}
 .public-calendar .calendar-note{font-size:13px;line-height:1.5}
}
@media(max-width:380px){
 #app .results-page .result-machine .price-number{font-size:30px}
 #app .owner-orders-board{padding-inline:14px}
 #app .owner-invitation-card h3{font-size:18px}
 #app .owner-order-filters{gap:6px}
 #app .owner-order-filters button{padding:8px;font-size:13px}
 .valera-request-dialog{padding:18px}
 .valera-request-heading{gap:10px}
 .valera-request-heading h2{font-size:23px;letter-spacing:-.4px}
 .valera-request-dialog .request-review{padding:12px}
}

/* Narrow-screen editor uploads must shrink with the dialog, including native file controls. */
#overlay-root .attachment-picker,#overlay-root .attachment-picker>*{min-width:0;max-width:100%;box-sizing:border-box}
#overlay-root input[type="file"]{width:100%;min-width:0;max-width:100%;box-sizing:border-box;white-space:normal}
#overlay-root .attachment-picker label{min-width:0;max-width:100%;overflow-wrap:anywhere}
#ranking-root .rank-hero-copy{min-width:0}
@media(max-width:380px){#ranking-root .rank-hero h1{font-size:clamp(34px,11vw,42px);line-height:1.04;letter-spacing:-.045em;overflow-wrap:break-word}}

@media(max-width:380px){html,body{min-width:0}}

#overlay-root .modal{width:min(960px,calc(100% - 32px));max-width:calc(100% - 32px);box-sizing:border-box}
@media(max-width:700px){#overlay-root .modal{width:calc(100% - 16px);max-width:calc(100% - 16px)}}

@media(max-width:380px){.home-stacking-benefits .logic-layout,.home-stacking-benefits .logic-stack{grid-template-columns:minmax(0,1fr)}.home-stacking-benefits .logic-intro,.home-stacking-benefits .logic-card{min-width:0}.home-stacking-benefits h2,.home-stacking-benefits h3{overflow-wrap:break-word}#ranking-root h2{min-width:0;max-width:100%;overflow-wrap:break-word;font-size:30px;line-height:1.1}}

body:has(#overlay-root .modal-backdrop){overflow:hidden}
