:root{--navy: #1c2b3a;--pine: #6f84ed;--pine-dark: #5363b2;--sand: #f6f3ec;--ink: #1f2a24;--muted: #6b7a72;--border: #dde3dc;--warn: #b5502f;--danger: #a4342a;font-family:Avenir Next,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--sand)}.page{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:32px 16px 64px;background:url(/summer-bg.jpg) center 30% / cover no-repeat}.page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#f6f3ecf2,#f6f3ecd1,#f6f3ecad 60%,#f6f3ecd9);z-index:0}.page>*{position:relative;z-index:1}.site-footer{margin-top:32px;text-align:center}.site-footer a{color:var(--muted);font-size:.85rem;text-decoration:none}.site-footer a:hover{color:var(--navy);text-decoration:underline}.brand{text-align:center;margin-bottom:28px}.brand h1{font-size:1.35rem;letter-spacing:.02em;color:var(--navy);margin:0 0 4px}.brand p{color:var(--muted);margin:0;font-size:.95rem}.guest-guide-link{display:inline-block;margin-top:12px;padding:6px 16px;border:1px solid var(--border);border-radius:999px;color:var(--pine);font-size:.85rem;font-weight:600;text-decoration:none;background:#fff}.guest-guide-link:hover{background:var(--pine);color:#fff}.card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:28px;width:100%;max-width:440px;box-shadow:0 1px 3px #1c2b3a0f}.card h2{margin-top:0;font-size:1.15rem;color:var(--navy)}.field{margin-bottom:16px}.field label{display:block;font-size:.85rem;font-weight:600;color:var(--navy);margin-bottom:6px}.field input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:1rem}.field input:focus{outline:2px solid var(--pine);outline-offset:1px}button.primary{width:100%;padding:12px;background:var(--pine);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer}button.primary:hover{background:var(--pine-dark)}button.primary:disabled{background:#a9b8b0;cursor:not-allowed}button.link{background:none;border:none;color:var(--pine);cursor:pointer;font-size:.9rem;padding:0;text-decoration:underline}button.secondary{width:100%;padding:12px;background:#fff;color:var(--navy);border:1px solid var(--border);border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;margin-top:10px}.error-banner{background:#fbeae7;color:var(--danger);border:1px solid #f0c7c0;border-radius:8px;padding:10px 12px;font-size:.9rem;margin-bottom:16px}.status-banner{border-radius:10px;padding:16px;margin-bottom:16px;font-size:.95rem;line-height:1.4}.status-banner.ready{background:#e9f4ec;color:var(--pine-dark);border:1px solid #c9e3d1}.status-banner.wait{background:#fdf3e3;color:var(--warn);border:1px solid #f2ddb2}.status-banner.deny{background:#fbeae7;color:var(--danger);border:1px solid #f0c7c0}.stay-summary{background:var(--navy);color:#fff;border-radius:12px;padding:18px 20px;margin-bottom:20px;width:100%;max-width:440px}.stay-summary h3{margin:0 0 4px;font-size:1.05rem}.stay-summary p{margin:2px 0;font-size:.85rem;opacity:.85}.action-row{display:flex;gap:10px;margin-top:6px}.action-card{flex:1;padding:16px;border:1px solid var(--border);border-radius:10px;background:var(--sand);cursor:pointer;text-align:left;font:inherit}.action-card:hover{border-color:var(--pine)}.action-card strong{display:block;color:var(--navy);margin-bottom:4px}.action-card span{font-size:.82rem;color:var(--muted)}.back-link{align-self:flex-start;width:100%;max-width:440px;margin-bottom:8px}.fee-box{display:flex;justify-content:space-between;align-items:center;background:var(--sand);border-radius:8px;padding:12px 14px;margin-bottom:16px}.fee-box .amount{font-size:1.3rem;font-weight:700;color:var(--navy)}.spinner-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--warn);margin-right:6px;animation:pulse 1.2s infinite ease-in-out}@keyframes pulse{0%,to{opacity:.3}50%{opacity:1}}.muted-note{color:var(--muted);font-size:.82rem;margin-top:14px;line-height:1.4}.gap-hint{display:block;margin-top:6px;font-size:.78rem;line-height:1.35;font-weight:500}.gap-hint-low{color:var(--warn)}.gap-hint-possible{color:#96631f}.gap-hint-good{color:var(--pine)}.gap-hint-available{color:var(--pine-dark)}.owner-stay-result{border:1px solid var(--border);border-radius:10px;padding:16px;margin-top:18px}.owner-stay-result h3{margin:0 0 10px;font-size:1rem;color:var(--navy)}
