.property-editor-main,.stay-owner-tools { display:grid;gap:22px;min-width:0; }
.stay-form { display:grid;gap:16px;margin-top:20px; }
.stay-form label,.stay-inbox-filter label { display:grid;gap:8px;color:#243b5d;font-size:13px;font-weight:700;min-width:0; }
.stay-form input:not([type=checkbox]),.stay-form textarea,.stay-inbox-filter select { width:100%;min-width:0;min-height:44px;border:1px solid #d7e1ef;border-radius:9px;background:#fff;color:#152844;padding:10px 12px;font:inherit; }
.stay-form textarea { resize:vertical; }
.stay-form small { color:#8391a5;font-size:11px;font-weight:400;line-height:1.5; }
.stay-form .stay-check { display:flex;align-items:center;gap:10px; }
.stay-check input { width:17px;height:17px;accent-color:#1959f0; }
.stay-range-form { grid-template-columns:1fr 1fr; }
.stay-full { grid-column:1/-1; }
.stay-calendar-toolbar { display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 16px; }
.stay-calendar-toolbar strong { text-align:center;font-size:14px;text-transform:capitalize; }
.stay-calendar-toolbar .market-button { padding:6px 13px;min-height:36px; }
.stay-calendar-grid { display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px; }
.stay-weekday { font-size:11px;color:#7c8aa1;text-align:center;padding-bottom:10px; }
.stay-day { border:1px solid #e0e7f2;border-radius:8px;min-height:40px;background:#fff;color:#243b5d;font-size:13px;cursor:pointer; }
.stay-day:not(:disabled):hover { border-color:#1959f0;background:#edf3ff; }
.stay-day.today { border-color:#1959f0;font-weight:800; }
.stay-day.occupied { background:repeating-linear-gradient(135deg,#f2e6e8,#f2e6e8 4px,#fff2f3 4px,#fff2f3 8px);color:#965262; }
.stay-day:disabled { opacity:.55;cursor:default; }
.stay-day.in-range { background:#e8efff;border-color:#c8d8ff;color:#164ac6;border-radius:3px; }
.stay-day.range-start,.stay-day.range-end { background:#1959f0;border-color:#1959f0;color:#fff;font-weight:700; }
.stay-day.range-preview { background:#eef3ff;border-color:#a4bfff;color:#164ac6;border-style:dashed; }
.stay-day.range-start:hover,.stay-day.range-end:hover { background:#1246c4;color:#fff; }
.stay-day:focus-visible { outline:3px solid #8eb0ff;outline-offset:2px; }
.stay-calendar-selection { color:#164ac6;font-size:13px;font-weight:600;line-height:1.7;overflow-wrap:anywhere; }
.stay-calendar-selection:empty { display:none; }
.stay-calendar-legend { display:flex;gap:22px;font-size:12px;color:#64758d;margin:16px 0; }
.stay-message { padding:12px 14px;border-radius:10px;background:#eaf7f2;color:#18705b;font-size:13px;line-height:1.6;overflow-wrap:anywhere; }
.stay-message.error { background:#fff0f1;color:#a33049; }
.stay-block-row { display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 0;border-top:1px solid #e1e8f1; }
.stay-block-row strong { font-size:13px; }
.stay-block-row p { margin:6px 0 0;font-size:12px;color:#75839a;overflow-wrap:anywhere; }
.stay-block-row .market-button { flex-shrink:0;font-size:12px;padding:9px; }
.stay-public-contact,.stay-request-panel { border-top:1px solid #e1e8f1;margin-top:24px;padding-top:20px; }
.stay-public-contact h3,.stay-request-panel h3 { font-size:18px;letter-spacing:-.02em;margin:0 0 16px; }
.stay-public-contact .market-button { width:100%;margin-bottom:8px; }
.market-button.stay-whatsapp { background:#eaf7f2;color:#176e50;border-color:#cbe9dc; }
.stay-quote { padding:14px;background:#f2f6ff;border-radius:10px;font-size:13px; }
.stay-quote small { display:block;margin-top:8px; }
.stay-tabs { display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px; }
.stay-inbox-filter { display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.5fr) auto;gap:16px;align-items:end;margin-bottom:26px; }
.stay-booking-list { display:grid;gap:20px;margin-bottom:24px; }
.stay-booking-card { border:1px solid #e1e8f1;border-radius:17px;background:#fff;padding:26px; }
.stay-booking-heading { display:flex;align-items:start;justify-content:space-between;gap:16px; }
.stay-booking-heading h2 { margin:0;font-size:21px;overflow-wrap:anywhere; }
.stay-booking-heading .property-badge { flex-shrink:0; }
.stay-booking-dates { color:#64758d;font-size:14px;line-height:1.6; }
.stay-private-contact { border-top:1px solid #e1e8f1;padding-top:16px;margin-top:20px;font-size:14px; }
.stay-private-contact p { color:#64758d; }
.stay-booking-actions { display:flex;gap:10px;flex-wrap:wrap;margin-top:20px; }
.stay-recover { margin:10px 0; }
.stay-reservation-details { margin-top:22px;border-top:1px solid #e1e8f1; }
.stay-reservation-details summary { cursor:pointer;padding:20px 0 4px;color:#1959f0;font-weight:700;font-size:14px; }
.stay-reservation-body { padding-top:16px; }
.stay-reference { color:#75839a;font-size:12px; }
.stay-reservation-columns { display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:20px 0; }
.stay-reservation-body h3 { margin:0 0 16px;font-size:16px; }
.stay-reservation-body h4 { font-size:12px;margin:22px 0 8px;color:#64758d; }
.stay-reservation-body a { color:#1959f0; }
.stay-reservation-body p { overflow-wrap:anywhere; }
.stay-reservation-facts { display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0; }
.stay-reservation-facts dt { color:#64758d;font-size:12px;margin-bottom:7px; }
.stay-reservation-facts dd { margin:0;font-size:14px;font-weight:600; }
.stay-reservation-bill { border:1px solid #e1e8f1;background:#f7f9ff;border-radius:12px;padding:20px; }
.stay-reservation-bill > div { display:flex;justify-content:space-between;gap:16px;font-size:14px;flex-wrap:wrap; }
.stay-reservation-bill .stay-reservation-total { border-top:1px solid #d7e1ef;margin-top:18px;padding-top:18px;font-size:18px; }
.stay-reservation-bill .property-helper { margin-bottom:0; }
.property-detail-layout > aside > .market-button { margin-top:12px;width:100%; }
@media(max-width:600px){.stay-reservation-columns{grid-template-columns:1fr;gap:24px}.stay-reservation-bill{padding:16px}}
@media(max-width:760px){.stay-inbox-filter{grid-template-columns:1fr 1fr}.stay-inbox-filter .market-button{grid-column:1/-1}.stay-booking-card{padding:20px}.stay-request-panel .stay-form{grid-template-columns:1fr}.stay-calendar-grid{gap:4px}}
@media(max-width:480px){.stay-range-form,.stay-inbox-filter{grid-template-columns:1fr}.stay-booking-heading{flex-direction:column}.stay-block-row{align-items:start;flex-direction:column}.stay-day{min-height:36px}.stay-booking-actions .market-button{flex:1 1 auto}}
