:root{--bg:#f6f0e8;--surface:#fffaf4;--surface-strong:#ffffff;--line:#ddccb7;--text:#271d14;--muted:#6a5647;--accent:#c96b3c;--accent-soft:#f2d3be;--accent-dark:#904620;--sidebar:#1f1711;--sidebar-text:#f3e9db;--hero-gradient:linear-gradient(135deg,#f7e6d6,#f1ede6 45%,#dbe5d4);--shadow:0 20px 60px rgba(39,29,20,0.12);--radius:24px;--radius-sm:16px;--font-sans:"Avenir Next","Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}input,select,textarea{width:100%;padding:.9rem 1rem;border:1px solid var(--line);border-radius:14px;background:#fff}textarea{min-height:120px;resize:vertical}label{display:flex;flex-direction:column;gap:.5rem;font-size:.95rem;color:var(--muted)}.ghost-button,.primary-button{border-radius:999px;padding:.85rem 1.2rem;border:1px solid transparent}.primary-button{background:var(--accent);color:white}.ghost-button{background:transparent;color:var(--text);border-color:var(--line)}.marketing-page{min-height:100vh;padding:2rem;background:var(--hero-gradient)}.marketing-card{max-width:1100px;margin:0 auto;padding:2rem;background:rgba(255,250,244,.82);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:32px;box-shadow:var(--shadow)}.marketing-copy,.marketing-nav,.marketing-stats{display:flex;gap:1rem}.marketing-nav{justify-content:space-between;align-items:center}.marketing-copy{margin-top:4rem;align-items:end;justify-content:space-between}.marketing-copy h1{max-width:620px;font-size:clamp(2.8rem,7vw,5.6rem);line-height:.95;margin:0}.marketing-copy p{max-width:360px;color:var(--muted);font-size:1.1rem}.marketing-stats{margin-top:3rem;flex-wrap:wrap}.marketing-stat{flex:1 1 220px;background:var(--surface);padding:1.3rem;border-radius:var(--radius-sm)}.auth-page{min-height:100vh;display:grid;place-items:center;padding:2rem;background:var(--hero-gradient)}.auth-card{width:min(440px,100%);padding:2rem;background:var(--surface-strong);border-radius:28px;box-shadow:var(--shadow)}.auth-hint,.empty-state p,.form-error,.form-success,.page-header p,.property-meta,.section-heading p{color:var(--muted)}.form-error{color:#a43d1e}.form-success{color:#1e6b37}.auth-card form,.editor-form,.stack{display:flex;flex-direction:column;gap:1rem}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{background:var(--sidebar);color:var(--sidebar-text);padding:1.5rem;display:flex;flex-direction:column;gap:2rem}.brand{font-size:1.3rem;font-weight:700}.sidebar-nav{display:flex;flex-direction:column;gap:.75rem}.sidebar-footer{margin-top:auto}.content{padding:2rem}.array-card-header,.page-header,.property-list-item,.property-toolbar,.stats-grid{display:flex;gap:1rem}.page-header,.property-list-item,.property-toolbar{justify-content:space-between;align-items:flex-start}.page-header{margin-bottom:2rem}.form-actions,.page-actions,.room-links{display:flex;gap:.75rem;flex-wrap:wrap}.stats-grid{flex-wrap:wrap;margin-bottom:1.5rem}.array-card,.editor-section,.empty-state,.info-card,.list-card,.nested-card,.property-list-item,.stat-card{background:var(--surface);border-radius:var(--radius);border:1px solid rgba(221,204,183,.8);box-shadow:0 10px 35px rgba(39,29,20,.06)}.array-card,.editor-section,.empty-state,.nested-card,.property-list-item,.stat-card{padding:1.4rem}.property-list{display:flex;flex-direction:column;gap:1rem}.property-list-item{align-items:center}.status-pill{display:inline-flex;padding:.35rem .7rem;border-radius:999px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.status-pill.draft{background:#efe0d2;color:var(--accent-dark)}.status-pill.published{background:#d5ead7;color:#1e6b37}.grid{display:grid;grid-gap:1rem;gap:1rem}.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.full-width{grid-column:1/-1}.nested-stack{padding-top:1rem}.form-actions{padding-bottom:3rem}.image-upload-actions,.image-upload-field{display:flex;flex-direction:column;gap:.75rem}.upload-control{width:-moz-fit-content;width:fit-content;cursor:pointer}.upload-control span{display:inline-flex;border-radius:999px;padding:.75rem 1rem;border:1px solid var(--line);background:var(--surface-strong);color:var(--text)}.upload-control input{display:none}.field-hint{margin:0;color:var(--muted);font-size:.9rem}.image-upload-preview{max-width:320px;border-radius:var(--radius-sm);overflow:hidden;border:1px solid rgba(221,204,183,.8)}.image-upload-preview img{display:block;width:100%;height:auto}.public-page{padding:2rem}.preview-banner{padding:1rem 1.2rem;border-radius:999px;background:#f7d9c5;color:#6f3a19;width:-moz-fit-content;width:fit-content;margin:0 auto 1.5rem}.hero{display:grid;grid-template-columns:1.1fr .9fr;grid-gap:2rem;gap:2rem;background:var(--hero-gradient);border-radius:36px;padding:2rem;overflow:hidden;box-shadow:var(--shadow)}.hero-copy h1{font-size:clamp(2.6rem,5vw,4.8rem);line-height:.95;margin:.4rem 0 1rem}.eyebrow{display:inline-block;margin-bottom:.5rem;color:var(--accent-dark);text-transform:uppercase;font-size:.78rem;letter-spacing:.14em;font-weight:700}.hero-address,.hero-description{color:var(--muted)}.hero-card{background:rgba(255,255,255,.72);padding:1.2rem;border-radius:var(--radius-sm);max-width:580px}.hero-media,.room-item-image{position:relative;min-height:320px;border-radius:28px;overflow:hidden;background:#eadfd1}.hero-placeholder{display:grid;place-items:center;height:100%;color:var(--muted)}.public-grid,.three-col-section,.two-col-section{display:grid;grid-gap:1.2rem;gap:1.2rem;margin-top:1.5rem}.public-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.info-card,.list-card{padding:1.4rem}.accent-card{background:#f3dfcf}.room-nav,.room-section{margin-top:1.8rem}.room-links a{padding:.75rem 1rem;background:var(--surface);border-radius:999px;border:1px solid var(--line)}.list-cards,.room-items{display:grid;grid-gap:1rem;gap:1rem}.room-item{display:grid;grid-template-columns:280px 1fr;grid-gap:1rem;gap:1rem;padding:1rem;background:var(--surface);border-radius:var(--radius)}.room-item-copy{align-self:center}.three-col-section{grid-template-columns:320px 1fr}.two-col-section{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-list{padding-left:1rem;margin:.5rem 0 0}@media (max-width:960px){.app-shell,.hero,.marketing-copy,.public-grid,.room-item,.three-col-section,.two-col-section{grid-template-columns:1fr;flex-direction:column}.app-shell{display:block}.sidebar{gap:1rem}.two-col{grid-template-columns:1fr}}