@import "https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Manrope:wght@400;500;600;700;800&display=swap";:root{--color-background:#f7f7f7;--color-surface:#fff;--color-surface-soft:#f4f8f6;--color-muted:#edf5f1;--color-border:#d8e4dd;--color-border-strong:#bfd2c6;--color-accent:#019355;--color-accent-strong:#017a49;--color-text:#111827;--color-text-soft:#4b5563;--color-text-muted:#6b7280;--shadow-soft:0 14px 34px #01935514;--shadow-lift:0 24px 46px #017a4924;color:var(--color-text);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 10% 14%,#01935524 0%,#0000 30%),radial-gradient(circle at 90% 10%,#f1b5172b 0%,#0000 28%),linear-gradient(#f7fbf8 0%,#eff5f1 100%);font-family:Manrope,sans-serif}*{box-sizing:border-box}html,body,#app{min-height:100%}body{min-width:320px;min-height:100vh;color:var(--color-text);margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}.app-shell{width:min(1180px,100% - 32px);margin:0 auto;padding:0 0 56px}.app-shell-admin{width:min(1220px,100% - 32px)}.site-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;display:flex}.site-header-public,.site-header-admin{border-bottom:1px solid #bfd2c6f2}.brand-mark{letter-spacing:.01em;font-family:DM Serif Display,serif;font-size:1.65rem;line-height:1}.site-nav,.button-row,.meta-row,.room-card-footer,.hero-split{flex-wrap:wrap;align-items:center;display:flex}.site-nav,.button-row{gap:8px}.site-nav{white-space:nowrap;font-size:.92rem}.top-nav-link{color:var(--color-text);border-radius:999px;justify-content:center;align-items:center;padding:9px 14px;font-weight:700;line-height:1;transition:background-color .18s,color .18s;display:inline-flex}.top-nav-link:hover{background:#ffffff8a}.top-nav-link-active{background:var(--color-accent);color:#fff;box-shadow:0 14px 26px #01935533}.top-nav-link-active:hover{background:var(--color-accent);color:#fff}.nav-pill,.secondary-button,.ghost-button,.primary-button{border-radius:999px;justify-content:center;align-items:center;padding:11px 18px;font-weight:700;transition:transform .18s,background-color .18s,border-color .18s,color .18s,box-shadow .18s;display:inline-flex}.nav-pill,.secondary-button,.ghost-button{border:1px solid var(--color-border);background:#ffffffd9}.nav-pill:hover,.secondary-button:hover,.ghost-button:hover{background:#f3faf6;border-color:#01935559;transform:translateY(-1px)}.nav-pill-active,.primary-button{background:var(--color-accent);color:#fff;border:1px solid #0000;box-shadow:0 16px 30px #01935533}.nav-pill-active:hover{background:var(--color-accent);color:#fff;border-color:#0000;transform:translateY(-1px)}.primary-button:hover{background:var(--color-accent-strong);transform:translateY(-1px)}.small-button{padding:10px 14px;font-size:.92rem}.block-button{width:100%}.button-row-stretch{gap:12px;display:grid}.page-shell{padding:34px 0 0}.page-shell-home{padding-top:40px}.stack-xl,.stack-lg,.stack-md,.stack-sm,.form-stack,.metric-grid,.field-grid,.summary-inline-grid,.booking-card,.activity-row,.availability-row,.availability-grid,.card-grid,.room-admin-grid,.confirmation-grid,.auth-shell,.home-value-grid{display:grid}.stack-xl{gap:34px}.stack-lg{gap:24px}.stack-md,.form-stack,.availability-grid{gap:16px}.stack-sm{gap:12px}.eyebrow,.mini-label{letter-spacing:.16em;text-transform:uppercase;color:#11182785;font-size:.76rem;font-weight:800}.inverse,.mini-label.inverse{color:#ffffffbd}h1,h2,h3{color:var(--color-text);margin:0;font-family:DM Serif Display,serif;font-weight:400;line-height:1.06}h1{font-size:clamp(2.7rem,6vw,4.7rem)}h2{font-size:clamp(1.8rem,3vw,2.55rem)}h3{font-size:clamp(1.35rem,2vw,1.95rem)}p{color:var(--color-text-soft);margin:0;line-height:1.72}.hero-copy{max-width:42rem;margin-top:16px;font-size:1.02rem}.hero-copy.inverse{color:#ffffffd9}.card{box-shadow:var(--shadow-soft);background:#fffffff0;border:1px solid #d8e4ddf5;border-radius:1.6rem}.card-padding{padding:24px}.section-heading{gap:10px;display:grid}.section-heading.compact{gap:6px}.section-heading-centered{text-align:center;max-width:48rem;margin:0 auto}.text-link{color:var(--color-accent);font-weight:700}.home-hero{box-shadow:var(--shadow-soft);background:radial-gradient(circle at 14% 18%,#f1b51733 0%,#0000 30%),radial-gradient(circle at 88% 14%,#0193551f 0%,#0000 32%),linear-gradient(135deg,#f7fbf8 0%,#eef5f1 52%,#e7f2ec 100%);border:1px solid #d8e4ddf2;border-radius:2rem;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:28px;padding:38px;display:grid}.home-hero-copy{align-content:start;gap:14px;display:grid}.home-metric-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:8px;display:grid}.home-metric-pill{background:#ffffffdb;border:1px solid #d8e4dde0;border-radius:1.25rem;gap:6px;padding:16px 18px;display:grid}.home-metric-pill strong{color:var(--color-text);font-size:.98rem;line-height:1.5}.home-preview-card{background:#ffffffeb;border:1px solid #d8e4dde0;border-radius:1.6rem;align-content:start;gap:18px;padding:20px;display:grid;box-shadow:0 22px 40px #017a4924}.home-preview-frame{border-radius:1.3rem;min-height:340px;position:relative;overflow:hidden}.home-preview-frame img{object-fit:cover;width:100%;height:100%}.home-preview-frame:after{content:"";background:linear-gradient(#11242205,#1124223d);position:absolute;inset:0}.home-preview-copy{gap:10px;display:grid}.home-preview-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:8px;display:grid}.home-preview-meta strong{color:var(--color-text);margin-top:4px;font-size:1rem;line-height:1.4;display:block}.credential-block{gap:4px;display:grid}.credential-block strong,.credential-block span{color:var(--color-text)}.home-value-grid,.card-grid{gap:20px}.home-value-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-access-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.home-access-card{gap:12px;display:grid}.home-access-actions{justify-content:flex-start}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hotel-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.public-listing-card,.card-hotel,.card-listing{overflow:hidden}.public-listing-card img,.card-hotel img,.card-listing img{object-fit:cover;width:100%;height:224px}.card-body{gap:12px;padding:22px;display:grid}.listing-price-row{justify-content:space-between;align-items:end;gap:14px;padding-top:4px;display:flex}.listing-price{color:var(--color-text);font-size:1.6rem;line-height:1;display:block}.listing-rating{color:var(--color-text-muted);font-size:.92rem}.two-column{grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr);gap:24px;display:grid}.hotel-hero{box-shadow:var(--shadow-lift);background:radial-gradient(circle at 82% 16%,#f1b5173d 0%,#0000 30%),radial-gradient(circle at 12% 84%,#ffffff24 0%,#0000 34%),linear-gradient(135deg,#01673f 0%,#019355 48%,#0a6a4a 100%);border-radius:1.9rem;grid-template-columns:minmax(0,1.18fr) minmax(260px,.82fr);gap:28px;padding:26px;display:grid}.hotel-hero-main{align-content:start;gap:14px;padding:4px 2px;display:grid}.hotel-hero h1{color:#fff;font-size:clamp(3.2rem,6vw,5rem)}.hotel-location{letter-spacing:.18em;text-transform:uppercase;color:#ffffffad;font-size:.82rem;font-weight:800}.hotel-fact-card{color:#fff;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffff24;border:1px solid #ffffff1f;border-radius:1.4rem;align-content:start;gap:18px;padding:12px;display:grid}.hotel-fact-card img{object-fit:cover;border-radius:1rem;width:100%;height:154px}.fact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.fact-grid strong{margin-top:4px;font-size:.94rem;line-height:1.5;display:block}.bright-button{color:#0f5139;background:#fff}.bright-button:hover{background:#f1f6f3}.inverse-button{color:#fff;background:#ffffff0a;border-color:#ffffff38}.inverse-button:hover{background:#ffffff1f}.hotel-story-card{overflow:hidden}.hotel-story-image{object-fit:cover;width:100%;height:380px}.hotel-story-body{gap:18px;padding:26px;display:grid}.hotel-rating-row{color:var(--color-text-muted);flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.hotel-rating-row strong{color:var(--color-text);font-size:1.3rem}.popularity-panel{background:var(--color-surface-soft);border-radius:1.3rem;gap:10px;padding:20px;display:grid}.hotel-summary-card{gap:18px;display:grid;position:sticky;top:24px}.room-card{border:1px solid var(--color-border);background:#fffc;border-radius:1.5rem;grid-template-columns:220px minmax(0,1fr);gap:18px;padding:16px;display:grid}.room-card img,.room-admin-grid img{object-fit:cover;border-radius:1.2rem;width:100%;height:190px}.room-card-body{gap:16px;display:grid}.room-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.room-card-footer,.meta-row,.hero-split{justify-content:space-between;align-items:end;gap:14px}.status-pill,.amenity-pill{letter-spacing:.12em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;padding:9px 14px;font-size:.78rem;font-weight:800;display:inline-flex}.status-pill{color:var(--color-accent);background:#fff;border:1px solid #01935529}.amenity-list{flex-wrap:wrap;gap:12px;display:flex}.amenity-list-stacked{gap:12px;display:grid}.amenity-pill{border:1px solid var(--color-border);background:#fff}.amenity-pill-block{text-transform:none;letter-spacing:0;width:100%;color:var(--color-text);justify-content:flex-start;font-size:.92rem;font-weight:700}.price-label,.meta-copy{color:#111827a3;font-size:.92rem;display:block}.price{color:var(--color-text);margin-top:4px;font-size:2rem;line-height:1;display:block}.summary-panel,.confirmation-grid>div,.summary-value{border:1px solid var(--color-border);background:var(--color-surface-soft);border-radius:1.3rem;gap:8px;padding:18px;display:grid}.booking-form-card,.booking-summary-card{align-self:start}.confirmation-card{text-align:center;max-width:760px;margin:0 auto}.confirmation-grid{text-align:left;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:24px 0 28px}.confirmation-actions{justify-content:center}.form-stack label{gap:8px;display:grid}.form-stack label>span{color:var(--color-text);font-size:.92rem;font-weight:700}.form-stack input,.form-stack select,.form-stack textarea{border:1px solid var(--color-border);width:100%;color:var(--color-text);background:#fff;border-radius:1rem;outline:none;padding:14px 16px}.form-stack input:focus,.form-stack select:focus,.form-stack textarea:focus{border-color:#0193557a;box-shadow:0 0 0 4px #0193551f}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.auth-shell{grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:24px}.auth-card,.admin-hero{color:#fff;box-shadow:var(--shadow-lift);border-radius:1.8rem;padding:30px;position:relative;overflow:hidden}.auth-card{background:radial-gradient(circle at 20% 20%,#ffffff2e 0%,#0000 35%),linear-gradient(135deg,#18473f 0%,#1d6b61 50%,#0f3d38 100%)}.admin-hero{background:radial-gradient(circle at 14% 18%,#f1b51742 0%,#0000 34%),radial-gradient(circle at 88% 14%,#ffffff2e 0%,#0000 32%),linear-gradient(135deg,#016f42 0%,#019355 48%,#0b6f4c 100%)}.auth-card h1,.admin-hero h1{color:#fff}.admin-gradient{background:radial-gradient(circle at 12% 20%,#f1b51738 0%,#0000 30%),radial-gradient(circle at 85% 12%,#ffffff29 0%,#0000 30%),linear-gradient(135deg,#0a4f3a 0%,#017a49 52%,#0d6f50 100%)}.auth-hint,.hotel-chip{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(135deg,#f1b5173d 0%,#ffffff1f 70%),#ffffff0f;border:1px solid #fff3;border-radius:1.3rem;gap:8px;padding:18px;display:grid}.auth-hint p,.auth-hint strong,.hotel-chip strong,.hotel-chip span{color:#ffffffeb}.hotel-chip{color:#fff;min-width:240px}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.metric-card strong{color:var(--color-text);font-size:2.2rem;font-weight:800}.metric-card span,.summary-value span{color:var(--color-text-soft)}.card-grid-admin{grid-template-columns:repeat(3,minmax(0,1fr))}.action-card{border:1px solid var(--color-border);box-shadow:var(--shadow-soft);background:linear-gradient(#fffffff5,#edf5f1e0);border-radius:1.5rem;gap:12px;padding:22px;transition:transform .18s,box-shadow .18s;display:grid}.action-card:hover{box-shadow:var(--shadow-lift);transform:translateY(-3px)}.platform-form-card{padding:16px}.platform-form{gap:16px}.platform-owner-panel{background:#edf5f1;border-radius:1.2rem;gap:14px;padding:16px;display:grid}.platform-form-actions{justify-content:flex-end;gap:10px;display:flex}.table-wrap{width:100%;overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle;padding:12px 10px}.data-table th{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-soft);font-size:.82rem}.room-admin-grid{grid-template-columns:240px minmax(0,1fr);gap:20px}.availability-row{border:1px solid var(--color-border);background:var(--color-surface-soft);border-radius:1.2rem;grid-template-columns:minmax(140px,180px) minmax(0,1fr) auto;align-items:end;gap:18px;padding:18px 20px}.availability-date{align-self:center;gap:4px;display:grid}.availability-date strong{color:var(--color-text);font-size:1rem}.availability-fields{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:14px;display:grid}.availability-actions{justify-content:flex-end;align-items:end;display:flex}.booking-card{gap:18px}.activity-row{border-bottom:1px solid #d8e4ddd9;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:14px 0}.activity-row:last-child{border-bottom:none}.summary-inline-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.summary-value strong{font-size:1.12rem}.empty-card{text-align:center}.error-copy{color:#a12727;font-weight:700}.site-footer-note{color:#4b5563eb;padding:40px 0 0;font-size:.84rem}@media (width<=1100px){.hotel-grid,.card-grid-admin,.home-value-grid,.home-access-grid,.metric-grid,.summary-inline-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=980px){.home-hero,.two-column,.auth-shell,.card-grid,.card-grid-admin,.metric-grid,.room-admin-grid,.field-grid,.field-grid-three,.availability-row,.summary-inline-grid,.confirmation-grid,.home-value-grid,.home-access-grid,.home-metric-row,.home-preview-meta,.hotel-grid{grid-template-columns:1fr}.app-shell,.app-shell-admin{width:min(100% - 20px,100%)}.header-actions{justify-content:space-between;width:100%}.hotel-hero,.hotel-summary-card{position:static}.hotel-hero,.room-card,.availability-fields{grid-template-columns:1fr}h1{font-size:clamp(2.4rem,11vw,3.8rem)}}@media (width<=640px){.site-header{padding-bottom:16px}.header-actions{gap:12px}.button-row,.site-nav{width:100%}.button-row>*,.site-nav>*{flex:100%}.home-hero,.card-padding,.hotel-story-body,.auth-card,.admin-hero{padding:22px}.public-listing-card img,.hotel-story-image,.hotel-fact-card img{height:260px}}
