:root{--font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;--bg: #f6f7f4;--surface: #ffffff;--surface-muted: #f1f4ef;--line: #d8ded5;--line-strong: #b8c4b3;--text: #1e2720;--muted: #61705d;--primary: #1c6b62;--primary-hover: #145149;--primary-soft: #e0f0ed;--accent: #345995;--warning: #9a6700;--warning-soft: #fff4d8;--danger: #b42318;--danger-soft: #fde7e5;--success: #287d3c;--success-soft: #e3f3e7;--shadow: 0 12px 28px rgba(30, 39, 32, .12);--radius: 8px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-family);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{border:0}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.68}.app-shell{width:min(760px,100%);margin:0 auto;padding:var(--space-4) var(--space-4) 112px}.app-header{display:grid;gap:var(--space-3);padding-bottom:var(--space-4);border-bottom:1px solid var(--line)}.eyebrow{margin:0 0 var(--space-1);color:var(--primary);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:24px;line-height:1.15}h2{margin-bottom:0;font-size:16px;line-height:1.2}h3{margin-bottom:var(--space-1);font-size:15px;line-height:1.25}.workflow{display:grid;gap:var(--space-4);margin-top:var(--space-4)}.panel,.results-section{padding:var(--space-4) 0;border-bottom:1px solid var(--line)}.section-heading{display:flex;gap:var(--space-3);align-items:flex-start;margin-bottom:var(--space-4)}.section-heading.compact{margin-bottom:var(--space-3)}.persistent-warning{margin:0;padding:12px;border-left:3px solid #946100;background:#fff5d8;color:#573b00;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.stay-form .section-heading{flex-wrap:wrap;align-items:center;justify-content:space-between}.stay-form .section-heading>div{flex:1 1 170px}.stay-form .section-heading>button{flex:0 0 auto}.section-heading svg{color:var(--primary);flex:0 0 auto;margin-top:2px}.section-heading p,.room-card-header p,.selected-stay-header p,.selection-drawer header p,.results-section .section-heading p{margin:var(--space-1) 0 0;color:var(--muted);font-size:12px}.status-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.status-item{display:flex;align-items:center;gap:var(--space-1);min-width:0;padding:7px 8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--muted)}.status-item.ready{background:var(--success-soft);color:var(--success);border-color:#b7dfc0}.status-item.warning{background:var(--warning-soft);color:var(--warning);border-color:#efd08e}.status-item.blocked{background:var(--danger-soft);color:var(--danger);border-color:#f2b7b2}.status-label,.status-value{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.status-label{font-weight:700}.status-value{margin-left:auto;font-size:12px}.segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.segmented-control button,.icon-text-button,.ghost-button,.primary-button,.selection-summary-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:38px;border-radius:var(--radius);cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.segmented-control button{border:1px solid var(--line);background:var(--surface);color:var(--text);padding:9px 10px;font-weight:600}.segmented-control button.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-hover)}.toggle-row{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);color:var(--text);font-weight:600}.toggle-row input{flex:0 0 16px;width:16px;height:16px;accent-color:var(--primary)}.field-group{display:grid;gap:6px;color:var(--text);font-weight:650}.field-group span{font-size:12px;color:var(--muted)}.field-group input,.field-group select,.field-group textarea{width:100%;min-width:0;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:10px 11px;outline:none}.field-group textarea{resize:vertical;min-height:76px}.field-group input:focus,.field-group select:focus,.field-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1c6b6224}.reply-options .field-group{margin-top:var(--space-3)}.form-grid{display:grid;gap:var(--space-3)}.dates-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.occupancy-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:var(--space-3)}.inline-error{margin:var(--space-3) 0 0;color:var(--danger);font-weight:650}.primary-button{width:100%;margin-top:var(--space-3);background:var(--primary);color:#fff;padding:10px 14px;font-weight:750}.primary-button:not(:disabled):hover{background:var(--primary-hover)}.ghost-button{border:1px solid var(--line);background:var(--surface);color:var(--text);padding:9px 12px;font-weight:700}.ghost-button:not(:disabled):hover{border-color:var(--primary);color:var(--primary-hover)}.empty-state{display:flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:84px;border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface-muted);color:var(--muted);padding:var(--space-4);text-align:center}.warning-state{background:var(--warning-soft);color:var(--warning);border-color:#efd08e}.room-list{display:grid;gap:var(--space-3)}.room-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:var(--space-4)}.room-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}.room-card-header strong{color:var(--primary-hover);white-space:nowrap}.room-description,.rate-description{margin:var(--space-3) 0;color:var(--muted);font-size:13px;white-space:pre-line;overflow-wrap:anywhere}.rate-description{grid-column:1 / -1;margin:0}.generation-feedback{border-left:3px solid var(--primary);padding:12px 16px;overflow-wrap:anywhere}.generation-feedback p{margin:0 0 8px}.generation-feedback-error{border-color:#a12c32;color:#8c2228}.generation-feedback button{margin-top:8px}.reply-feedback-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.reply-compatible{margin-top:8px}.reply-compatible p{margin-top:8px;color:var(--muted);font-size:12px}.reply-preview{width:min(760px,calc(100vw - 24px));height:min(820px,calc(100dvh - 24px));padding:0;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--text)}.reply-preview::backdrop{background:#1e272059}.reply-preview[open]{display:flex;flex-direction:column}.reply-preview header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}.reply-preview h2{margin:0}.reply-preview iframe{border:0;width:100%;flex:1;min-height:0;background:#fff}.reply-preview>p{padding:16px}.rate-list{display:grid;gap:var(--space-2)}.rate-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius);background:#fbfcfa}.rate-main{display:grid;gap:var(--space-1);min-width:0}.rate-main strong{overflow-wrap:anywhere}.rate-price{color:var(--primary-hover);font-weight:800;white-space:nowrap}.rate-actions{display:flex;align-items:center;gap:var(--space-2)}.rate-actions input{width:54px;border:1px solid var(--line-strong);border-radius:var(--radius);padding:8px}.icon-text-button{border:1px solid var(--primary);background:var(--surface);color:var(--primary-hover);padding:8px 10px;font-weight:750}.icon-text-button:hover{background:var(--primary-soft)}.status-pill{width:fit-content;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:750}.status-pill.available{background:var(--success-soft);color:var(--success)}.status-pill.request{background:var(--warning-soft);color:var(--warning)}.selection-bar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);align-items:center;padding:var(--space-3) max(var(--space-4),calc((100vw - 760px) / 2 + var(--space-4)));border-top:1px solid var(--line);background:#fffffff5;box-shadow:0 -8px 22px #1e272014;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.selection-summary-button{justify-content:flex-start;border:1px solid var(--line);background:var(--surface-muted);color:var(--text);padding:10px 12px;min-width:0}.selection-summary-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selection-summary-button strong{margin-left:auto;color:var(--primary-hover);white-space:nowrap}.selection-actions{display:flex;align-items:center;gap:var(--space-2)}.generate-button{width:auto;margin-top:0;white-space:nowrap}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;pointer-events:none;background:#1e272000;transition:background-color .18s ease}.drawer-backdrop.open{pointer-events:auto;background:#1e272047}.selection-drawer{position:absolute;top:0;right:0;width:min(420px,92vw);height:100%;transform:translate(100%);transition:transform .18s ease;background:var(--surface);box-shadow:var(--shadow);padding:var(--space-4);overflow:auto}.drawer-backdrop.open .selection-drawer{transform:translate(0)}.selection-drawer header,.selected-stay-header,.selected-room-header,.selected-rate{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.selection-drawer header{margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--line)}.drawer-content{display:grid;gap:var(--space-3)}.selected-stay{border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-3)}.selected-room{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--line)}.selected-rate{align-items:center;margin-top:var(--space-2);color:var(--muted)}.link-button{background:transparent;color:var(--primary-hover);cursor:pointer;font-weight:750;padding:2px 0}.danger{color:var(--danger)}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius);background:transparent;color:inherit;cursor:pointer}.icon-button:hover{background:var(--surface-muted)}.toast-stack{position:fixed;top:var(--space-4);right:var(--space-4);z-index:60;display:grid;gap:var(--space-2);width:min(320px,calc(100vw - 32px))}.toast{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);border:1px solid var(--line);border-left-width:4px;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:var(--space-3)}.toast-success{border-left-color:var(--success)}.toast-warning,.toast-info{border-left-color:var(--warning)}.toast-error{border-left-color:var(--danger)}.toast-close{flex:0 0 auto;width:24px;height:24px}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 640px){.app-shell{padding:var(--space-3) var(--space-3) 156px}h1{font-size:21px}.status-strip,.segmented-control,.dates-grid,.occupancy-grid,.rate-row,.selection-bar{grid-template-columns:1fr}.rate-row{align-items:stretch}.rate-actions,.selection-actions{width:100%}.rate-actions .icon-text-button,.selection-actions .ghost-button,.selection-actions .generate-button{flex:1}.selection-bar{padding:var(--space-3)}}.room-compatibility{margin:6px 0;display:grid;gap:3px;font-size:12px;line-height:1.4}.room-compatibility strong{display:flex;align-items:center;gap:5px;font-size:12px}.room-compatibility-compatible{color:#226653}.room-compatibility-risk{color:#9c481f}.room-compatibility-unknown{color:#6a6456}
