:root{--color-bg: #F9F7F5;--color-surface: #FFFFFF;--color-border: #E5E1DC;--color-text: #1C1917;--color-text-muted: #6B7280;--color-accent: #2563EB;--color-accent-bg: #EFF6FF;--color-accent-text: #1D4ED8;--color-success: #16A34A;--color-success-bg: #DCFCE7;--color-error: #DC2626;--color-error-bg: #FEF2F2;--color-warning: #D97706;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .07), 0 2px 4px -2px rgb(0 0 0 / .05);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .07), 0 4px 6px -4px rgb(0 0 0 / .05)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:var(--text-base);line-height:1.6;color:var(--color-text);background:var(--color-bg)}h1,h2,h3,h4{margin:0;font-weight:600;line-height:1.25}p{margin:0}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}img{max-width:100%}.button-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);padding:var(--space-3) var(--space-5);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background .15s;text-decoration:none}.button-primary:hover{background:var(--color-accent-text);text-decoration:none}.button-primary:disabled{opacity:.5;cursor:not-allowed}.back-button{background:none;border:none;color:var(--color-text-muted);font-size:var(--text-sm);padding:var(--space-2) 0;cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-2)}.back-button:hover{color:var(--color-text)}.copy-link-button{background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:600;color:var(--color-accent);cursor:pointer;transition:background .15s}.copy-link-button:hover{background:var(--color-accent-bg)}.error-message{color:var(--color-error);font-size:var(--text-sm);padding:var(--space-3) var(--space-4);background:var(--color-error-bg);border-radius:var(--radius-md);border:1px solid #fca5a5}.toast{padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;margin-bottom:var(--space-4)}.toast--success{background:var(--color-success-bg);color:var(--color-success)}.toast--error{background:var(--color-error-bg);color:var(--color-error)}.guest-portal-wrapper{min-height:100vh;background:var(--portal-page-bg, var(--color-bg));padding-top:48px}.guest-hero-wrap{max-width:1088px;margin:0 auto;padding:var(--space-4) var(--space-4) 0}.guest-hero{position:relative;width:100%;height:280px;border-radius:var(--radius-xl);overflow:hidden}@media (min-width: 640px){.guest-hero{height:360px}}@media (min-width: 1024px){.guest-hero{height:420px}}.guest-hero-img{width:100%;height:100%;object-fit:cover;display:block}.guest-hero--gradient{width:100%;height:100%;background:linear-gradient(135deg,#ede9e4,#d6cfc6)}.guest-hero-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.68) 0%,rgba(0,0,0,.18) 55%,transparent 100%)}.guest-hero-content{position:absolute;bottom:0;left:0;right:0;z-index:1;padding:var(--space-6)}.guest-hero-welcome{font-size:var(--text-sm);font-weight:500;color:#fffc;margin:0;letter-spacing:.04em;text-transform:uppercase}.guest-hero-name{font-size:var(--text-3xl);font-weight:700;color:#fff;margin:var(--space-1) 0 var(--space-2);line-height:1.1}@media (min-width: 640px){.guest-hero-name{font-size:2.5rem}}.guest-hero-meta{font-size:var(--text-sm);color:#ffffffbf;margin:0}.guest-hero-badge{position:absolute;top:var(--space-4);right:var(--space-4);z-index:1;padding:5px 14px;border-radius:999px;font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.guest-hero-badge--confirmed{background:#16a34ad9;color:#fff}.guest-hero-badge--active{background:#2563ebd9;color:#fff}.guest-hero-badge--done{background:#6b7280bf;color:#fff}.guest-hero-badge--cancelled{background:#dc2626d9;color:#fff}.guest-hero-badge--neutral{background:#00000080;color:#fff}.guest-portal{max-width:680px;margin:0 auto;padding:var(--space-6) var(--space-4) var(--space-12)}.guest-portal-loading,.guest-portal-error-page{max-width:680px;margin:0 auto;padding:var(--space-12) var(--space-4);min-height:60vh;display:flex;align-items:flex-start}.guest-nav-logo{max-height:28px;max-width:120px;object-fit:contain;display:block;flex-shrink:0;margin-right:var(--space-3)}.guest-host-avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;display:block;flex-shrink:0}.guest-nav{position:fixed;top:0;left:0;right:0;z-index:200;background:var(--portal-nav-bg, rgba(255, 255, 255, .88));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);box-shadow:0 1px 12px #00000012;display:flex;align-items:center;overflow-x:auto;scrollbar-width:none;padding:0 var(--space-4);height:48px}.guest-nav::-webkit-scrollbar{display:none}.guest-nav-tab{display:inline-flex;align-items:center;padding:0 var(--space-4);height:100%;font-size:var(--text-sm);font-weight:500;color:var(--portal-header-text, var(--color-text-muted));text-decoration:none;white-space:nowrap;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;flex-shrink:0}.guest-nav-tab:hover{color:var(--color-text);text-decoration:none}.guest-error-card{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--space-8);text-align:center;width:100%}.guest-error-card h1{font-size:var(--text-xl);margin-bottom:var(--space-4);color:var(--color-text)}.guest-error-card p{color:var(--color-text-muted);font-size:var(--text-base)}.guest-section{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--space-6);margin-bottom:var(--space-4);scroll-margin-top:52px}.guest-section-heading{font-size:var(--text-lg);font-weight:700;color:var(--color-text);margin:0 0 var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.guest-pin-label{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin:0 0 var(--space-3)}.guest-pin-display{display:flex;align-items:center;gap:var(--space-4);background:var(--color-accent-bg);border:1px solid #BFDBFE;border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-6)}.guest-pin-number{font-size:var(--text-3xl);font-weight:700;letter-spacing:.2em;color:var(--color-accent-text);font-variant-numeric:tabular-nums;flex:1}.guest-pin-copy{background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:600;cursor:pointer;white-space:nowrap;min-height:44px;min-width:80px;transition:background .15s}.guest-pin-copy:hover{background:var(--color-accent-text)}.guest-pin-copy--copied,.guest-pin-copy--copied:hover{background:var(--color-success)}.guest-pin-unavailable{font-size:var(--text-sm);color:var(--color-text-muted);font-style:italic;margin:0 0 var(--space-6)}.guest-dates{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.guest-date-block{display:flex;flex-direction:column;gap:var(--space-1)}.guest-date-label{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.guest-date-value{font-size:var(--text-sm);color:var(--color-text);font-weight:500}.guest-info-block{margin-bottom:var(--space-5)}.guest-info-block:last-child{margin-bottom:0}.guest-info-block h3{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin:0 0 var(--space-3)}.guest-wifi-network{font-size:var(--text-base);font-weight:500;color:var(--color-text);margin:0 0 var(--space-2)}.guest-wifi-password{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.guest-wifi-password-field{display:flex;align-items:center;gap:var(--space-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);flex:1;min-height:44px}.guest-wifi-password-text{font-size:var(--text-base);color:var(--color-text);letter-spacing:.1em;flex:1;font-family:monospace}.guest-wifi-toggle{background:none;border:none;color:var(--color-accent);font-size:var(--text-sm);font-weight:600;cursor:pointer;padding:0;white-space:nowrap;min-height:44px;min-width:44px}.guest-contact-name{font-size:var(--text-base);font-weight:500;color:var(--color-text);margin:0 0 var(--space-1)}.guest-contact-link{display:block;font-size:var(--text-sm);color:var(--color-accent);margin-bottom:var(--space-1)}.guest-category-tabs{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-5)}.guest-category-tab{background:none;border:1px solid var(--color-border);border-radius:var(--radius-2xl);padding:var(--space-1) var(--space-4);font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted);cursor:pointer;transition:all .15s;min-height:36px}.guest-category-tab:hover{border-color:var(--color-accent);color:var(--color-accent)}.guest-category-tab--active{background:var(--color-accent-bg);border-color:var(--color-accent);color:var(--color-accent-text)}.guest-recommendations-list{display:flex;flex-direction:column;gap:var(--space-3)}.guest-recommendation-row{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4)}.guest-rec-name{display:block;font-size:var(--text-base);font-weight:500;color:var(--color-text);margin-bottom:var(--space-1)}.guest-rec-link{color:var(--color-accent);text-decoration:none}.guest-rec-link:hover{text-decoration:underline}.guest-host-note{background:var(--color-surface-alt, var(--color-surface));border-radius:var(--radius-xl);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.guest-host-identity{display:flex;align-items:center;gap:var(--space-3)}.guest-host-identity-text{display:flex;flex-direction:column;gap:2px}.guest-host-identity-name{font-weight:600;font-size:var(--text-base);color:var(--color-text);line-height:1.2}.guest-host-identity-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.guest-host-quote{margin:0;padding-left:var(--space-4);border-left:3px solid var(--color-border)}.guest-host-quote-text{white-space:pre-wrap;color:var(--color-text);line-height:1.65;font-style:italic;margin:0;font-size:var(--text-base)}.guest-host-contact-wrap{display:flex;flex-direction:column;gap:var(--space-3)}.guest-host-message-btn{align-self:flex-end;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);padding:var(--space-2) var(--space-5);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background .15s}.guest-host-message-btn:hover{background:var(--color-accent-text)}.guest-host-note-contact{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-accent-bg);border-radius:var(--radius-md)}.guest-host-contact-link{color:var(--color-accent-text);text-decoration:none;font-size:var(--text-sm);font-weight:500}.guest-host-contact-link:hover{text-decoration:underline}.guest-house-notes-expand{border-top:1px solid var(--color-border);padding-top:var(--space-3)}.guest-house-notes-toggle{display:flex;align-items:center;gap:var(--space-2);background:none;border:none;padding:0;cursor:pointer;font-size:var(--text-sm);font-weight:600;color:var(--color-accent);width:100%;text-align:left}.guest-house-notes-toggle:hover{color:var(--color-accent-text)}.guest-house-notes-chevron{transition:transform .2s ease;flex-shrink:0;color:currentColor}.guest-house-notes-chevron--open{transform:rotate(180deg)}.guest-weather{background:var(--color-surface-alt, var(--color-surface));border-radius:var(--radius-card, var(--radius-lg));padding:var(--space-5)}.guest-weather-header{display:flex;align-items:center;justify-content:space-between}.guest-weather-unit-toggle{background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);font-size:var(--text-xs);cursor:pointer;color:var(--color-text-muted);line-height:1}.guest-weather-unit-toggle:hover{border-color:var(--color-accent);color:var(--color-accent)}.guest-weather-days{display:flex;gap:var(--space-3);overflow-x:auto;padding-bottom:var(--space-2);margin-top:var(--space-3)}.guest-weather-day{flex:0 0 auto;min-width:96px;background:var(--color-surface);border-radius:var(--radius-card, var(--radius-lg));padding:var(--space-3);text-align:center;border:1px solid var(--color-border)}.guest-weather-day-date{font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);margin-bottom:var(--space-1)}.guest-weather-day-condition{font-size:.8rem;color:var(--color-text);margin-bottom:var(--space-2);line-height:1.3}.guest-weather-day-temps{font-size:var(--text-sm);font-weight:600;color:var(--color-text)}.guest-weather-day-precip{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-1)}.guest-house-notes-list{list-style:none;margin:var(--space-3) 0 0;padding:0;display:flex;flex-direction:column}.guest-house-notes-item{padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);color:var(--color-text);font-size:var(--text-sm);line-height:1.5}.guest-house-notes-item:last-child{border-bottom:none}.guest-rec-desc{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.guest-addons-list{display:flex;flex-direction:column;gap:var(--space-4)}.guest-addon-row{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--color-border)}.guest-addon-row:last-child{border-bottom:none;padding-bottom:0}.guest-addon-info{flex:1}.guest-addon-name{display:block;font-size:var(--text-base);font-weight:500;color:var(--color-text);margin-bottom:var(--space-1)}.guest-addon-desc{display:block;font-size:var(--text-sm);color:var(--color-text-muted)}.guest-addon-action{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2)}.guest-addon-price{font-size:var(--text-lg);font-weight:700;color:var(--color-text)}.guest-pay-button{font-size:var(--text-sm);padding:var(--space-2) var(--space-4)}.guest-section-intro{font-size:var(--text-sm);color:var(--color-text-muted);margin:calc(-1 * var(--space-3)) 0 var(--space-5)}.feedback-form{display:flex;flex-direction:column;gap:var(--space-5)}.feedback-star-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.feedback-category-label{font-size:var(--text-sm);font-weight:500;color:var(--color-text);flex:1}.feedback-stars{display:flex;gap:var(--space-1)}.feedback-star-btn{background:none;border:none;font-size:var(--text-xl);cursor:pointer;color:var(--color-text-muted);min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:color .1s,background .1s}.feedback-star-btn:hover{background:var(--color-accent-bg)}.feedback-star-btn.filled{color:#f59e0b}.feedback-stars-display{font-size:var(--text-lg);letter-spacing:.05em;color:#f59e0b}.feedback-recommend-row{display:flex;flex-direction:column;gap:var(--space-3)}.feedback-recommend-buttons{display:flex;gap:var(--space-3)}.feedback-recommend-btn{flex:1;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:500;cursor:pointer;min-height:52px;transition:all .15s;color:var(--color-text-muted)}.feedback-recommend-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.feedback-recommend-btn.selected{background:var(--color-accent-bg);border-color:var(--color-accent);color:var(--color-accent-text);font-weight:600}.feedback-comment-row{display:flex;flex-direction:column;gap:var(--space-2)}.feedback-comment-textarea{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-family:inherit;font-size:var(--text-base);color:var(--color-text);resize:vertical;min-height:100px;background:var(--color-surface);transition:border-color .15s}.feedback-comment-textarea:focus{outline:none;border-color:var(--color-accent)}.feedback-char-count{font-size:var(--text-xs);color:var(--color-text-muted);text-align:right}.feedback-submit-btn{width:100%;padding:var(--space-4);font-size:var(--text-base)}.feedback-error{background:var(--color-error-bg);color:var(--color-error);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);margin:0}.feedback-submitted-note{font-size:var(--text-sm);color:var(--color-success);font-weight:500;margin:calc(-1 * var(--space-3)) 0 var(--space-5)}.feedback-display{display:flex;flex-direction:column;gap:var(--space-4)}.feedback-recommend-display{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.feedback-recommend-badge{font-size:var(--text-sm);font-weight:600;padding:var(--space-1) var(--space-3);border-radius:var(--radius-2xl)}.feedback-recommend-badge.positive{background:var(--color-success-bg);color:var(--color-success)}.feedback-recommend-badge.negative{background:var(--color-error-bg);color:var(--color-error)}.feedback-comment-display{display:flex;flex-direction:column;gap:var(--space-2)}.feedback-comment-text{margin:0;padding:var(--space-3) var(--space-4);border-left:3px solid var(--color-border);color:var(--color-text);font-size:var(--text-sm);font-style:italic}.app-header{height:60px;background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-6);position:fixed;top:0;left:0;right:0;z-index:100}.app-header-identity{display:flex;align-items:center;gap:var(--space-3)}.app-header-logo{max-height:28px;max-width:120px;object-fit:contain;display:block;flex-shrink:0}.app-header-title{font-size:var(--text-lg);font-weight:700;color:var(--color-text);margin:0}.app-header-nav{display:flex;align-items:center;gap:var(--space-4)}.app-nav-link{font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted);text-decoration:none;transition:color .15s}.app-nav-link:hover{color:var(--color-text);text-decoration:none}.disconnect-button{background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted);cursor:pointer;transition:all .15s;min-height:36px}.disconnect-button:hover{border-color:var(--color-error);color:var(--color-error)}.disconnect-button:disabled{opacity:.5;cursor:not-allowed}.manager-page{max-width:1200px;margin:0 auto;padding:var(--space-8) var(--space-6);min-height:100vh;background:var(--color-bg)}.page-title{font-size:var(--text-2xl);font-weight:700;color:var(--color-text);margin:0 0 var(--space-6)}.dashboard-page{max-width:1200px;margin:0 auto;padding:calc(60px + var(--space-8)) var(--space-6) var(--space-8);background:var(--color-bg);min-height:100vh}.stat-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-4);margin-bottom:var(--space-8)}.stat-card{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-2)}.stat-value{font-size:var(--text-3xl);font-weight:700;color:var(--color-text);line-height:1}.stat-label{font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted)}.dashboard-panels{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}@media (max-width: 768px){.dashboard-panels{grid-template-columns:1fr}}.dashboard-section{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--space-6)}.dashboard-section h2{font-size:var(--text-lg);font-weight:700;color:var(--color-text);margin:0 0 var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.section-error{color:var(--color-error);font-size:var(--text-sm)}.section-empty{color:var(--color-text-muted);font-size:var(--text-sm);font-style:italic}.reservation-list{list-style:none;margin:0;padding:0}.reservation-item{border-bottom:1px solid var(--color-border)}.reservation-item:last-child{border-bottom:none}.reservation-item-link{display:block;padding:var(--space-3) 0;text-decoration:none;color:inherit;transition:background .1s}.reservation-item-link:hover{text-decoration:none}.reservation-guest{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1)}.reservation-guest strong{font-size:var(--text-sm);font-weight:600;color:var(--color-text)}.today-badge{font-size:var(--text-xs);font-weight:600;background:var(--color-accent-bg);color:var(--color-accent-text);border-radius:var(--radius-2xl);padding:0 var(--space-2)}.reservation-listing{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-1)}.reservation-dates{font-size:var(--text-xs);color:var(--color-text-muted)}.reservation-status{font-size:var(--text-xs);color:var(--color-text-muted);font-style:italic}.reservation-today .reservation-guest strong{color:var(--color-accent)}.listings-summary-list{list-style:none;margin:0;padding:0}.listings-summary-item{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.listings-summary-item:last-child{border-bottom:none}.listing-name{font-size:var(--text-sm);font-weight:500;color:var(--color-text)}.listing-location{font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap}.view-all-link{display:block;text-align:right;font-size:var(--text-sm);color:var(--color-accent);margin-top:var(--space-4);text-decoration:none;font-weight:500}.view-all-link:hover{text-decoration:underline}.listings-page{max-width:1200px;margin:0 auto;padding:calc(60px + var(--space-8)) var(--space-6) var(--space-8);background:var(--color-bg);min-height:100vh}.listings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-6)}.listing-card{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;text-decoration:none;color:inherit;transition:box-shadow .15s,transform .15s;cursor:pointer}.listing-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.listing-card-image{width:100%;aspect-ratio:16 / 9;object-fit:cover;display:block}.listing-card h2{font-size:var(--text-base);font-weight:600;color:var(--color-text);margin:var(--space-4) var(--space-4) var(--space-1)}.listing-address{font-size:var(--text-sm);color:var(--color-text-muted);margin:0 var(--space-4) var(--space-4);display:block}.listing-status{display:inline-block;margin:0 var(--space-4) var(--space-4);font-size:var(--text-xs);font-weight:600;padding:var(--space-1) var(--space-3);border-radius:var(--radius-2xl)}.listing-status--active{background:var(--color-success-bg);color:var(--color-success)}.listing-status--inactive{background:var(--color-bg);color:var(--color-text-muted);border:1px solid var(--color-border)}.listings-empty{font-size:var(--text-base);color:var(--color-text-muted);padding:var(--space-12) 0;text-align:center}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin-top:var(--space-8)}.pagination button{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--color-text);cursor:pointer;min-height:36px}.pagination button:disabled{opacity:.4;cursor:not-allowed}.pagination span{font-size:var(--text-sm);color:var(--color-text-muted)}.reservation-detail-page{max-width:780px;margin:0 auto;padding:var(--space-8) var(--space-6);background:var(--color-bg);min-height:100vh}.reservation-detail-page>h1{font-size:var(--text-2xl);font-weight:700;color:var(--color-text);margin:var(--space-4) 0 var(--space-2)}.reservation-status-badge{display:inline-block;font-size:var(--text-xs);font-weight:600;text-transform:capitalize;padding:var(--space-1) var(--space-3);border-radius:var(--radius-2xl);background:var(--color-accent-bg);color:var(--color-accent-text);margin-bottom:var(--space-6)}.reservation-section{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--space-6);margin-bottom:var(--space-4)}.reservation-section h2{font-size:var(--text-lg);font-weight:700;color:var(--color-text);margin:0 0 var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.detail-list{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2) var(--space-6);font-size:var(--text-sm)}.detail-list dt{color:var(--color-text-muted);font-weight:500;white-space:nowrap}.detail-list dd{color:var(--color-text);margin:0}.settings-page{max-width:780px;margin:0 auto;padding:var(--space-8) var(--space-6);background:var(--color-bg);min-height:100vh}.settings-header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6)}.settings-header h1{font-size:var(--text-2xl);font-weight:700;color:var(--color-text)}.setting-note{font-size:var(--text-sm);color:var(--color-text-muted);margin:0 0 var(--space-4)}
