@import "https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400;1,700&family=Inter:wght@300;400;500;600;700&display=swap";:root{--olive:#6b7a4a;--olive-dark:#4f5c32;--terracotta:#c26a4b;--terracotta-dark:#a8543a;--beige:#f3ecdd;--beige-dark:#e9dfc8;--dark-grey:#33312e;--brick-red:#6b7a4a;--brick-red-dark:#4f5c32;--off-white:#f3ecdd;--off-white-dark:#e9dfc8;--text-body:#4b4842;--text-muted:#8a8278;--text-heading:#2e2c29;--accent:#c26a4b;--border:#e2d7c2;--shadow:#33312e14;--font-serif:"Playfair Display", Georgia, "Times New Roman", serif;--font-sans:"Inter", system-ui, -apple-system, sans-serif;font-family:var(--font-sans);color:var(--text-body);background-color:var(--off-white);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.6}body{min-height:100vh;margin:0}#root{flex-direction:column;min-height:100vh;display:flex}:root{--olive:#6b7a4a;--olive-dark:#4f5c32;--terracotta:#c26a4b;--terracotta-dark:#a8543a;--beige:#f3ecdd;--beige-dark:#e9dfc8;--dark-grey:#33312e;--brick-red:#6b7a4a;--brick-red-dark:#4f5c32;--off-white:#f3ecdd;--off-white-dark:#e9dfc8;--text-body:#4b4842;--text-muted:#8a8278;--text-heading:#2e2c29;--accent:#c26a4b;--border:#e2d7c2;--shadow:#33312e14;--font-serif:"Playfair Display", Georgia, "Times New Roman", serif;--font-sans:"Inter", system-ui, -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--text-body);background-color:var(--off-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}.container{max-width:1200px;margin:0 auto;padding:0 24px}.navbar{z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);background:#f3ecddf2;transition:all .3s;position:fixed;top:0;left:0;right:0}.navbar .container{justify-content:space-between;align-items:center;padding-top:16px;padding-bottom:16px;display:flex}.logo{font-family:var(--font-serif);color:var(--brick-red);letter-spacing:-.02em;font-size:1.5rem;font-style:italic;font-weight:700;text-decoration:none}.nav-links{gap:32px;list-style:none;display:flex}.nav-links a{color:var(--text-body);letter-spacing:.02em;font-size:.9rem;font-weight:500;text-decoration:none;transition:color .3s;position:relative}.nav-links a:after{content:"";background:var(--brick-red);width:0;height:2px;transition:width .3s;position:absolute;bottom:-4px;left:0}.nav-links a:hover{color:var(--brick-red)}.nav-links a:hover:after{width:100%}.nav-cta{background:var(--brick-red);border-radius:4px;padding:10px 24px;transition:all .3s;color:var(--off-white)!important}.nav-cta:hover{background:var(--brick-red-dark);transform:translateY(-1px)}.nav-cta:after{display:none!important}.mobile-menu-btn{cursor:pointer;background:0 0;border:none;padding:8px;display:none}.mobile-menu-btn span{background:var(--text-heading);width:24px;height:2px;margin:5px 0;transition:all .3s;display:block}.hero{justify-content:center;align-items:center;min-height:100vh;padding-top:80px;display:flex;position:relative;overflow:hidden}.hero-bg{background:linear-gradient(135deg, var(--brick-red) 0%, var(--brick-red-dark) 100%);z-index:0;position:absolute;inset:0}.hero-bg:before{content:"";opacity:.5;background:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\"><rect fill=\"none\" stroke=\"rgba(249,246,240,0.03)\" stroke-width=\"0.5\" x=\"0\" y=\"0\" width=\"100\" height=\"100\"/></svg>") 0 0/30px 30px;position:absolute;inset:0}.hero-content{z-index:1;text-align:center;max-width:900px;padding:0 24px;position:relative}.hero-badge{color:var(--off-white);letter-spacing:.08em;text-transform:uppercase;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f3ecdd1a;border:1px solid #f3ecdd33;border-radius:50px;margin-bottom:32px;padding:8px 20px;font-size:.85rem;font-weight:500;display:inline-block}.hero-title{font-family:var(--font-serif);color:var(--off-white);letter-spacing:-.02em;margin-bottom:24px;font-size:clamp(3rem,8vw,6rem);font-style:italic;font-weight:400;line-height:1.1}.hero-subtitle{color:#f3ecddd9;max-width:600px;margin:0 auto 40px;font-size:1.15rem;font-weight:300;line-height:1.7}.hero-buttons{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.btn{cursor:pointer;letter-spacing:.02em;border:none;border-radius:4px;padding:14px 32px;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-block}.btn-primary{background:var(--off-white);color:var(--brick-red)}.btn-primary:hover{background:var(--terracotta);color:#fff;transform:translateY(-2px);box-shadow:0 10px 30px #33312e33}.btn-secondary{color:var(--off-white);background:0 0;border:2px solid #f3ecdd66}.btn-secondary:hover{border-color:var(--off-white);background:#f3ecdd1a;transform:translateY(-2px)}.section{padding:120px 0}.section-header{text-align:center;max-width:700px;margin:0 auto 64px}.section-label{color:var(--terracotta);letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px;font-size:.85rem;font-weight:600;display:inline-block}.section-title{font-family:var(--font-serif);color:var(--text-heading);margin-bottom:20px;font-size:clamp(2rem,5vw,3rem);font-style:italic;line-height:1.2}.section-desc{color:var(--text-muted);font-size:1.05rem;line-height:1.7}.about{background:var(--off-white)}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:64px;display:grid}.about-image{aspect-ratio:4/3;background:linear-gradient(135deg, var(--brick-red) 0%, var(--brick-red-dark) 100%);border-radius:8px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.about-image-placeholder{color:#f3ecdd99;font-family:var(--font-serif);font-size:1.5rem;font-style:italic}.about-image:before{content:"";background:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\"><rect fill=\"none\" stroke=\"rgba(249,246,240,0.05)\" stroke-width=\"0.5\" x=\"0\" y=\"0\" width=\"100\" height=\"100\"/></svg>") 0 0/20px 20px;position:absolute;inset:0}.about-content h3{font-family:var(--font-serif);color:var(--text-heading);margin-bottom:20px;font-size:2rem;font-style:italic;line-height:1.3}.about-content p{color:var(--text-muted);margin-bottom:16px;font-size:1.05rem;line-height:1.7}.about-features{grid-template-columns:1fr 1fr;gap:20px;margin-top:32px;display:grid}.about-feature{align-items:center;gap:12px;display:flex}.about-feature-icon{background:var(--brick-red);width:40px;height:40px;color:var(--off-white);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.2rem;display:flex}.about-feature-text{color:var(--text-heading);font-weight:500}.rooms{background:var(--off-white-dark)}.rooms-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:32px;display:grid}.room-card{background:var(--off-white);box-shadow:0 4px 20px var(--shadow);border-radius:8px;transition:transform .3s,box-shadow .3s;overflow:hidden}.room-card:hover{transform:translateY(-8px);box-shadow:0 12px 40px #33312e1f}.room-image{aspect-ratio:16/10;background:linear-gradient(135deg, var(--brick-red) 0%, var(--brick-red-dark) 100%);color:#f3ecdd99;font-family:var(--font-serif);justify-content:center;align-items:center;font-style:italic;display:flex;position:relative;overflow:hidden}.room-image:before{content:"";background:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\"><rect fill=\"none\" stroke=\"rgba(249,246,240,0.05)\" stroke-width=\"0.5\" x=\"0\" y=\"0\" width=\"100\" height=\"100\"/></svg>") 0 0/20px 20px;position:absolute;inset:0}.room-badge{background:var(--off-white);color:var(--brick-red);z-index:1;border-radius:4px;padding:6px 14px;font-size:.8rem;font-weight:600;position:absolute;top:16px;right:16px}.room-content{padding:28px}.room-type{color:var(--brick-red);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:.8rem;font-weight:600}.room-name{font-family:var(--font-serif);color:var(--text-heading);margin-bottom:12px;font-size:1.5rem;font-style:italic}.room-desc{color:var(--text-muted);margin-bottom:20px;font-size:.95rem;line-height:1.6}.room-meta{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding-top:20px;display:flex}.room-price{color:var(--terracotta);font-size:1.3rem;font-weight:700}.room-price span{color:var(--text-muted);font-size:.85rem;font-weight:400}.room-book{background:var(--brick-red);color:var(--off-white);cursor:pointer;border:none;border-radius:4px;padding:10px 20px;font-size:.9rem;font-weight:600;transition:all .3s}.room-book:hover{background:var(--brick-red-dark);transform:translateY(-1px)}.amenities{background:var(--off-white)}.amenities-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px;display:grid}.amenity-card{text-align:center;background:var(--off-white-dark);border-radius:8px;padding:40px 24px;transition:all .3s}.amenity-card:hover{box-shadow:0 8px 30px var(--shadow);transform:translateY(-4px)}.amenity-icon{background:var(--brick-red);width:64px;height:64px;color:var(--off-white);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 20px;font-size:1.8rem;display:flex}.amenity-name{color:var(--text-heading);margin-bottom:8px;font-size:1.05rem;font-weight:600}.amenity-desc{color:var(--text-muted);font-size:.9rem;line-height:1.5}.cta{background:linear-gradient(135deg, var(--brick-red) 0%, var(--brick-red-dark) 100%);color:var(--off-white);text-align:center;position:relative;overflow:hidden}.cta:before{content:"";background:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\"><rect fill=\"none\" stroke=\"rgba(249,246,240,0.03)\" stroke-width=\"0.5\" x=\"0\" y=\"0\" width=\"100\" height=\"100\"/></svg>") 0 0/30px 30px;position:absolute;inset:0}.cta-content{z-index:1;position:relative}.cta-title{font-family:var(--font-serif);margin-bottom:20px;font-size:clamp(2rem,5vw,3rem);font-style:italic}.cta-desc{color:#f3ecddd9;max-width:600px;margin:0 auto 32px;font-size:1.1rem;line-height:1.7}.cta .btn-primary{background:var(--off-white);color:var(--brick-red)}.cta .btn-secondary{color:var(--off-white);border-color:#f3ecdd66;margin-left:12px}.cta .btn-secondary:hover{border-color:var(--off-white);background:#f3ecdd1a}.footer{background:var(--text-heading);color:#f3ecddb3;padding:64px 0 32px}.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px;display:grid}.footer-brand .logo{font-family:var(--font-serif);color:var(--off-white);margin-bottom:16px;font-size:1.5rem;font-style:italic;display:inline-block}.footer-brand p{color:#f3ecdd99;font-size:.95rem;line-height:1.7}.footer h4{color:var(--off-white);letter-spacing:.02em;margin-bottom:20px;font-size:.95rem;font-weight:600}.footer ul{list-style:none}.footer ul li{margin-bottom:10px}.footer ul a{color:#f3ecdd99;font-size:.9rem;text-decoration:none;transition:color .3s}.footer ul a:hover{color:var(--off-white)}.footer-bottom{text-align:center;color:#f3ecdd80;border-top:1px solid #f3ecdd1a;padding-top:32px;font-size:.85rem}.admin-entry{color:#f3ecdd99;opacity:.7;margin-top:10px;font-size:.78rem;text-decoration:underline;display:inline-block}.admin-entry:hover{opacity:1;color:#fff}@media (width<=768px){.nav-links{display:none}.mobile-menu-btn{display:block}.about-grid{grid-template-columns:1fr;gap:40px}.about-features,.rooms-grid{grid-template-columns:1fr}.amenities-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr;gap:32px}.hero-buttons{flex-direction:column;align-items:center}.cta .btn-secondary{margin-top:12px;margin-left:0}.section{padding:80px 0}}@media (width<=480px){.amenities-grid,.footer-grid{grid-template-columns:1fr}.room-meta{flex-direction:column;align-items:flex-start;gap:16px}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;background:#2c242299;justify-content:center;align-items:center;padding:24px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal{background:var(--off-white);border-radius:12px;width:100%;max-width:520px;max-height:90vh;animation:.3s slideUp;position:relative;overflow-y:auto;box-shadow:0 25px 50px #00000040}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-size:2rem;line-height:1;transition:all .2s;display:flex;position:absolute;top:16px;right:20px}.modal-close:hover{background:var(--off-white-dark);color:var(--text-heading)}.modal-header{text-align:center;padding:40px 40px 0}.modal-title{font-family:var(--font-serif);color:var(--text-heading);margin-bottom:8px;font-size:2rem;font-style:italic}.modal-subtitle{color:var(--text-muted);font-size:.95rem}.booking-form{grid-template-columns:1fr 1fr;gap:20px;padding:32px 40px 40px;display:grid}.form-group{flex-direction:column;gap:8px;display:flex}.form-group.full-width{grid-column:1/-1}.form-label{color:var(--text-heading);letter-spacing:.02em;font-size:.85rem;font-weight:600}.form-input{border:2px solid var(--border);font-family:var(--font-sans);color:var(--text-heading);background:var(--off-white);border-radius:6px;outline:none;padding:12px 16px;font-size:.95rem;transition:all .2s}.form-input:focus{border-color:var(--brick-red);box-shadow:0 0 0 3px #33312e1a}.form-input::-webkit-calendar-picker-indicator{opacity:.6;cursor:pointer}.counter-control{border:2px solid var(--border);background:var(--off-white);border-radius:6px;align-items:center;gap:12px;padding:8px 12px;display:flex}.counter-btn{background:var(--off-white-dark);width:32px;height:32px;color:var(--brick-red);cursor:pointer;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.2rem;font-weight:600;transition:all .2s;display:flex}.counter-btn:hover{background:var(--brick-red);color:var(--off-white)}.counter-value{text-align:center;color:var(--text-heading);flex:1;font-size:1rem;font-weight:600}.btn-full{text-align:center;grid-column:1/-1;width:100%;padding:14px 24px;font-size:1rem}@media (width<=480px){.modal-header{padding:32px 24px 0}.booking-form{gap:16px;padding:24px 24px 32px}.modal-title{font-size:1.5rem}}.section.rooms-view{padding-top:100px}.rooms-view .view-actions{text-align:center;margin-top:48px}.room-card.clickable{cursor:pointer}.room-card.clickable:hover{transform:translateY(-8px);box-shadow:0 12px 40px #33312e1f}.section.room-detail-view{padding-top:100px}.room-detail-layout{grid-template-columns:2fr 1fr;align-items:start;gap:40px;display:grid}.back-btn{color:var(--brick-red);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:24px;padding:0;font-size:.95rem;font-weight:600;transition:opacity .2s;display:inline-flex}.back-btn:hover{opacity:.7}.room-detail-image{border-radius:8px;margin-bottom:32px;overflow:hidden}.room-image-large{aspect-ratio:16/9;background:linear-gradient(135deg, var(--brick-red) 0%, var(--brick-red-dark) 100%);color:#f3ecdd99;font-family:var(--font-serif);justify-content:center;align-items:center;font-size:1.5rem;font-style:italic;display:flex;position:relative;overflow:hidden}.room-image-large:before{content:"";background:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\"><rect fill=\"none\" stroke=\"rgba(249,246,240,0.05)\" stroke-width=\"0.5\" x=\"0\" y=\"0\" width=\"100\" height=\"100\"/></svg>") 0 0/20px 20px;position:absolute;inset:0}.room-detail-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.room-detail-header .room-type{margin-bottom:8px}.room-detail-header .room-name{margin-bottom:0;font-size:2rem}.room-detail-price{color:var(--brick-red);white-space:nowrap;font-size:1.5rem;font-weight:700}.room-detail-price span{color:var(--text-muted);font-size:.85rem;font-weight:400}.room-detail-desc{color:var(--text-muted);margin-bottom:32px;font-size:1.05rem;line-height:1.7}.room-detail-specs{background:var(--off-white-dark);border-radius:8px;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:40px;padding:24px;display:grid}.spec-item{flex-direction:column;gap:4px;display:flex}.spec-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:500}.spec-value{color:var(--text-heading);font-size:1rem;font-weight:600}.room-detail-facilities{margin-bottom:40px}.facilities-title{font-family:var(--font-serif);color:var(--text-heading);margin-bottom:20px;font-size:1.5rem;font-style:italic}.facilities-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.facility-item{background:var(--off-white-dark);color:var(--text-body);border-radius:6px;align-items:center;gap:10px;padding:10px 14px;font-size:.9rem;display:flex}.facility-check{color:var(--brick-red);font-size:1rem;font-weight:700}.booking-sidebar{position:sticky;top:100px}.booking-card{background:var(--off-white);box-shadow:0 4px 20px var(--shadow);border:1px solid var(--border);border-radius:12px;padding:32px}.booking-title{font-family:var(--font-serif);color:var(--text-heading);margin-bottom:24px;font-size:1.5rem;font-style:italic}.booking-form{flex-direction:column;gap:16px;display:flex}.booking-form .form-group{flex-direction:column;gap:6px;display:flex}.booking-form .form-label{color:var(--text-heading);letter-spacing:.02em;font-size:.85rem;font-weight:600}.booking-form .form-input{border:2px solid var(--border);font-family:var(--font-sans);color:var(--text-heading);background:var(--off-white);border-radius:6px;outline:none;padding:12px 16px;font-size:.95rem;transition:all .2s}.booking-form .form-input:focus{border-color:var(--brick-red);box-shadow:0 0 0 3px #33312e1a}.booking-form .form-textarea{resize:vertical;min-height:80px}.booking-summary{background:var(--off-white-dark);border-radius:8px;margin:8px 0;padding:16px}.summary-row{color:var(--text-muted);justify-content:space-between;align-items:center;padding:6px 0;font-size:.9rem;display:flex}.summary-row span:first-child{color:var(--text-muted)}.summary-row span:last-child{color:var(--text-heading);font-weight:500}.summary-total{border-top:1px solid var(--border);margin-top:8px;padding-top:12px;font-size:1.05rem}.summary-total span:first-child{color:var(--text-heading);font-weight:600}.summary-total span:last-child{color:var(--brick-red);font-size:1.1rem;font-weight:700}@media (width<=768px){.room-detail-layout{grid-template-columns:1fr;gap:32px}.room-detail-header{flex-direction:column;gap:12px}.room-detail-specs{grid-template-columns:1fr}.booking-sidebar{position:static}.room-detail-header .room-name{font-size:1.5rem}}@media (width<=480px){.facilities-grid{grid-template-columns:1fr}.booking-card{padding:24px}}.section.payment-view{padding-top:100px;padding-bottom:80px}.payment-card{background:var(--off-white);max-width:800px;box-shadow:0 4px 20px var(--shadow);border:1px solid var(--border);border-radius:12px;margin:0 auto;overflow:hidden}.payment-header{background:linear-gradient(135deg, var(--brick-red) 0%, var(--brick-red-dark) 100%);color:var(--off-white);text-align:center;padding:40px}.payment-title{font-family:var(--font-serif);margin-bottom:8px;font-size:2rem;font-style:italic}.payment-subtitle{color:#f3ecddd9;font-size:.95rem}.payment-body{grid-template-columns:1fr 1fr;gap:40px;padding:40px;display:grid}.qr-section{text-align:center}.qr-label{color:var(--text-heading);margin-bottom:20px;font-size:.95rem;font-weight:600}.qr-code{background:var(--off-white);border:2px solid var(--border);border-radius:8px;width:200px;height:200px;margin:0 auto 24px;position:relative;overflow:hidden}.qr-pattern{grid-template-rows:repeat(25,1fr);grid-template-columns:repeat(25,1fr);width:100%;height:100%;display:grid}.qr-row{display:contents}.qr-cell{width:100%;height:100%}.qr-cell.filled{background:var(--text-heading)}.qr-cell.empty{background:var(--off-white)}.qr-overlay{background:#f3ecdde6;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.qr-logo{font-family:var(--font-serif);color:var(--brick-red);background:var(--off-white);border:2px solid var(--brick-red);border-radius:4px;padding:8px 16px;font-size:.9rem;font-style:italic;font-weight:700}.payment-amount{margin-bottom:16px}.amount-label{color:var(--text-muted);margin-bottom:4px;font-size:.85rem;display:block}.amount-value{color:var(--brick-red);font-size:1.5rem;font-weight:700}.payment-note{color:var(--text-muted);font-size:.85rem;line-height:1.5}.payment-info{background:var(--off-white-dark);border-radius:8px;padding:24px}.info-title{font-family:var(--font-serif);color:var(--text-heading);margin-bottom:16px;font-size:1.2rem;font-style:italic}.info-row{border-bottom:1px solid var(--border);justify-content:space-between;padding:10px 0;font-size:.9rem;display:flex}.info-row span:first-child{color:var(--text-muted)}.info-row span:last-child{color:var(--text-heading);font-weight:500}.info-row:last-child{border-bottom:none}.payment-actions{border-top:1px solid var(--border);justify-content:space-between;gap:16px;padding:24px 40px;display:flex}@media (width<=768px){.payment-body{grid-template-columns:1fr;gap:32px}.payment-header{padding:32px 24px}.payment-body{padding:24px}.payment-actions{flex-direction:column-reverse;padding:20px 24px}.payment-actions .btn{text-align:center;width:100%}}.section.invoice-view{background:var(--off-white-dark);padding-top:100px;padding-bottom:80px}.invoice-card{background:var(--off-white);max-width:800px;box-shadow:0 4px 20px var(--shadow);border:1px solid var(--border);border-radius:12px;margin:0 auto;overflow:hidden}.invoice-header{background:linear-gradient(135deg, var(--brick-red) 0%, var(--brick-red-dark) 100%);color:var(--off-white);justify-content:space-between;align-items:flex-start;gap:20px;padding:40px;display:flex}.invoice-logo{font-family:var(--font-serif);margin-bottom:4px;font-size:1.8rem;font-style:italic}.invoice-tagline{color:#f3ecddcc;font-size:.9rem}.invoice-meta{text-align:right}.invoice-id{margin-bottom:4px;font-size:.9rem;font-weight:600}.invoice-date{color:#f3ecddcc;font-size:.85rem}.invoice-status-badge{color:#2e7d32;background:#e8f5e9;border-radius:50px;align-items:center;gap:8px;margin:24px 40px 0;padding:8px 16px;font-size:.85rem;font-weight:600;display:inline-flex}.status-indicator{background:#2e7d32;border-radius:50%;width:8px;height:8px;animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.invoice-body{padding:32px 40px}.invoice-section{margin-bottom:32px}.invoice-section:last-child{margin-bottom:0}.invoice-section-title{font-family:var(--font-serif);color:var(--text-heading);border-bottom:2px solid var(--brick-red);margin-bottom:16px;padding-bottom:8px;font-size:1.1rem;font-style:italic;display:inline-block}.invoice-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.invoice-field{flex-direction:column;gap:4px;display:flex}.field-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:500}.field-value{color:var(--text-heading);font-size:.95rem;font-weight:500}.invoice-table{border:1px solid var(--border);border-radius:8px;overflow:hidden}.table-header{background:var(--off-white-dark);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:12px;padding:12px 16px;font-size:.8rem;font-weight:600;display:grid}.table-row{border-top:1px solid var(--border);color:var(--text-body);grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:12px;padding:16px;font-size:.9rem;display:grid}.invoice-total-section{background:var(--off-white-dark);border-radius:8px;margin-top:24px;padding:20px}.invoice-total-row{color:var(--text-muted);justify-content:space-between;align-items:center;padding:8px 0;font-size:.95rem;display:flex}.invoice-total-row.final{border-top:2px solid var(--brick-red);margin-top:8px;padding-top:16px;font-size:1.1rem}.invoice-total-value{color:var(--brick-red);font-size:1.1rem;font-weight:700}.invoice-status-value{color:#2e7d32;font-size:1.1rem;font-weight:700}.invoice-footer{border-top:1px solid var(--border);text-align:center;padding:24px 40px}.invoice-footer-text{color:var(--text-muted);margin-bottom:20px;font-size:.9rem}.invoice-actions{justify-content:center;gap:16px;display:flex}@media (width<=768px){.invoice-header{text-align:center;flex-direction:column;padding:32px 24px}.invoice-meta{text-align:center}.invoice-status-badge{margin:20px 24px 0}.invoice-body{padding:24px}.table-header,.table-row{grid-template-columns:1fr;gap:4px}.table-header{display:none}.table-row{flex-direction:column;gap:8px;display:flex}.table-row span:last-child{text-align:left!important}.invoice-footer{padding:24px}.invoice-actions{flex-direction:column-reverse}.invoice-actions .btn{text-align:center;width:100%}}:root{--admin-primary:#6b7a4a;--admin-primary-dark:#4f5c32;--admin-primary-light:#eaf0e0;--admin-accent:#c26a4b;--admin-accent-dark:#a8543a;--admin-bg:#f3ecdd;--admin-surface:#fff;--admin-border:#e2d7c2;--admin-text:#4b4842;--admin-muted:#8a8278;--admin-success:#1f7a4d;--admin-danger:#c0392b;--admin-warning:#b8860b;--admin-radius:12px;--admin-shadow:0 2px 12px #33312e14}*{box-sizing:border-box}.admin-loading{text-align:center;color:var(--admin-muted);padding:40px}.admin-shell{background:var(--admin-bg);min-height:100vh;color:var(--admin-text);font-family:Inter,system-ui,sans-serif;display:flex}.admin-sidebar{background:var(--admin-primary);color:#fff;flex-direction:column;width:260px;height:100vh;padding:22px 16px;display:flex;position:sticky;top:0}.admin-brand{align-items:center;gap:12px;margin-bottom:28px;display:flex}.admin-brand-icon{font-size:2rem}.admin-brand-name{font-family:Playfair Display,serif;font-size:1.3rem;font-weight:700;line-height:1}.admin-brand-sub{opacity:.75;letter-spacing:.05em;text-transform:uppercase;font-size:.75rem}.admin-nav{flex-direction:column;flex:1;gap:4px;display:flex}.admin-nav-item{color:#ffffffd9;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:9px;align-items:center;gap:12px;padding:11px 14px;font-size:.95rem;transition:background .15s;display:flex}.admin-nav-item:hover{color:#fff;background:#ffffff1a}.admin-nav-item.active{color:var(--admin-primary);background:#fff;font-weight:600}.admin-nav-icon{font-size:1.1rem}.admin-back{color:#ffffffb3;margin-top:16px;padding:8px 14px;font-size:.85rem;text-decoration:none}.admin-back:hover{color:#fff}.admin-main{flex-direction:column;flex:1;min-width:0;display:flex}.admin-topbar{background:var(--admin-surface);border-bottom:1px solid var(--admin-border);z-index:5;justify-content:space-between;align-items:center;padding:16px 28px;display:flex;position:sticky;top:0}.admin-page-title{font-family:Playfair Display,serif;font-size:1.4rem;font-weight:700}.admin-user{align-items:center;gap:14px;display:flex}.admin-user-info{text-align:right}.admin-user-name{font-weight:600}.admin-user-role{color:var(--admin-muted);font-size:.78rem}.admin-logout{background:var(--admin-primary-light);color:var(--admin-primary);cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-weight:600}.admin-logout:hover{background:#e7d3d3}.admin-content{flex:1;padding:28px}.admin-btn{border:1px solid var(--admin-border);background:var(--admin-surface);color:var(--admin-text);cursor:pointer;border-radius:8px;padding:9px 16px;font-size:.9rem;font-weight:500;transition:all .15s}.admin-btn:hover{border-color:#cbb}.admin-btn.primary{background:var(--admin-primary);color:#fff;border-color:var(--admin-primary)}.admin-btn.primary:hover{background:var(--admin-primary-dark)}.admin-btn.success{background:var(--admin-success);color:#fff;border-color:var(--admin-success)}.admin-btn.danger{color:var(--admin-danger);background:#fff;border-color:#e6b3ad}.admin-btn.danger:hover{background:#fdecea}.admin-btn.small{padding:5px 10px;font-size:.8rem}.admin-btn.block{width:100%}.admin-btn:disabled{opacity:.6;cursor:not-allowed}.admin-input,.admin-filters select,.admin-filters input,.admin-form select,.admin-form input,.admin-form textarea{border:1px solid var(--admin-border);color:var(--admin-text);background:#fff;border-radius:8px;outline:none;padding:9px 12px;font-family:inherit;font-size:.9rem}.admin-input:focus{border-color:var(--admin-primary)}.admin-alert{border-radius:8px;margin-bottom:14px;padding:10px 14px;font-size:.9rem}.admin-alert.error{color:var(--admin-danger);background:#fdecea;border:1px solid #f3c2bc}.admin-alert.success{color:var(--admin-success);background:#e7f5ee;border:1px solid #b9e0cd}.admin-cards{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px;margin-bottom:24px;display:grid}.admin-card{background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:var(--admin-radius);box-shadow:var(--admin-shadow);padding:18px}.admin-card-icon{font-size:1.6rem}.admin-card-value{margin:6px 0;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700}.admin-card-label{color:var(--admin-muted);font-size:.82rem}.admin-panel{background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:var(--admin-radius);box-shadow:var(--admin-shadow);margin-bottom:22px;padding:20px;overflow-x:auto}.admin-panel h3{margin:0 0 16px;font-family:Playfair Display,serif}.admin-table{border-collapse:separate;border-spacing:0;width:100%;font-size:.88rem}.admin-table th{text-align:left;border-bottom:2px solid var(--admin-border);color:var(--admin-muted);white-space:nowrap;padding:10px 12px;font-weight:600}.admin-table td{border-bottom:1px solid var(--admin-border);vertical-align:middle;padding:10px 12px}.admin-table tr:hover td{background:#faf7f2}.admin-muted{color:var(--admin-muted);font-size:.9rem}.admin-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.admin-toolbar-left{flex-wrap:wrap;gap:10px;display:flex}.admin-actions{white-space:nowrap;flex-wrap:nowrap;gap:6px;display:flex}.admin-thumb{object-fit:cover;border-radius:6px;width:56px;height:42px}.admin-thumb.placeholder{background:var(--admin-primary-light);justify-content:center;align-items:center;font-size:1.4rem;display:flex}.admin-pagination{justify-content:center;align-items:center;gap:14px;padding-top:14px;display:flex}.admin-pagination button{border:1px solid var(--admin-border);cursor:pointer;background:#fff;border-radius:8px;padding:6px 14px}.admin-pagination button:disabled{opacity:.4;cursor:not-allowed}.badge{color:#555;background:#eee;border-radius:20px;padding:3px 10px;font-size:.78rem;font-weight:600;display:inline-block}.badge.pending{color:#8a6500;background:#fff4d6}.badge.paid{color:var(--admin-success);background:#e7f5ee}.badge.checked_in{color:#1c4f8a;background:#e3eefc}.badge.checked_out{color:#6a3aa0;background:#efe7f7}.badge.cancelled{color:var(--admin-danger);background:#fdecea}.badge.active{color:var(--admin-success);background:#e7f5ee}.badge.inactive{color:#777;background:#eee}.badge.owner{background:var(--admin-primary-light);color:var(--admin-primary)}.badge.admin{color:#1c4f8a;background:#e3eefc}.admin-login-wrap{background:linear-gradient(135deg,#6b7a4a 0%,#4f5c32 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;font-family:Inter,sans-serif;display:flex}.admin-login-card{text-align:center;background:#fff;border-radius:16px;width:360px;max-width:100%;padding:36px 32px;box-shadow:0 20px 50px #00000040}.admin-login-logo{font-size:3rem}.admin-login-card h1{color:var(--admin-primary);margin:6px 0 2px;font-family:Playfair Display,serif}.admin-login-sub{color:var(--admin-muted);margin-bottom:22px}.admin-login-card label{text-align:left;margin:12px 0 5px;font-size:.82rem;font-weight:600;display:block}.admin-login-card input{width:100%}.admin-login-back{color:var(--admin-muted);margin-top:16px;font-size:.85rem;text-decoration:none;display:block}.admin-form{flex-direction:column;gap:14px;display:flex}.admin-form label{margin-bottom:5px;font-size:.82rem;font-weight:600;display:block}.admin-form input,.admin-form textarea,.admin-form select{width:100%}.admin-form textarea{resize:vertical;min-height:80px}.admin-form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.admin-field-label{margin-bottom:8px;font-size:.82rem;font-weight:600;display:block}.admin-checkbox-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.admin-checkbox{cursor:pointer;align-items:center;gap:8px;font-size:.88rem;font-weight:400;display:flex}.admin-checkbox.inline{flex-direction:row;font-weight:400}.admin-modal-overlay{z-index:50;background:#28140f80;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.admin-modal{background:#fff;border-radius:14px;width:540px;max-width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 50px #0000004d}.admin-modal.wide{width:720px}.admin-modal-header{border-bottom:1px solid var(--admin-border);z-index:2;background:#fff;justify-content:space-between;align-items:center;padding:18px 22px;display:flex;position:sticky;top:0}.admin-modal-header h3{margin:0;font-family:Playfair Display,serif}.admin-modal-close{cursor:pointer;color:var(--admin-muted);background:0 0;border:none;font-size:1.6rem;line-height:1}.admin-form,.admin-modal .admin-form{padding:22px}.admin-modal-footer{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.admin-upload-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.admin-photo-body{padding:22px}.admin-photo-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;display:grid}.admin-photo-item{border:1px solid var(--admin-border);border-radius:10px;position:relative;overflow:hidden}.admin-photo-item.primary{border-color:var(--admin-primary)}.admin-photo-item img{object-fit:cover;width:100%;height:120px;display:block}.admin-photo-badge{background:var(--admin-primary);color:#fff;border-radius:10px;padding:2px 8px;font-size:.7rem;position:absolute;top:8px;left:8px}.admin-photo-caption{color:var(--admin-muted);padding:6px 8px;font-size:.8rem}.admin-photo-actions{gap:6px;padding:0 8px 8px;display:flex}.admin-filters{flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:18px;display:flex}.admin-filters label{color:var(--admin-muted);flex-direction:column;gap:5px;font-size:.78rem;font-weight:600;display:flex}.admin-chart{align-items:flex-end;gap:8px;height:280px;padding:28px 4px 0;display:flex;overflow-x:auto}.admin-chart-col{flex-direction:column;flex:1 0 22px;align-items:center;gap:6px;min-width:22px;height:100%;display:flex}.admin-chart-bar-wrap{background:#f3f0ea;border-radius:6px 6px 2px 2px;flex:1;width:100%;max-width:28px;position:relative}.admin-chart-bar{background:linear-gradient(180deg, var(--admin-accent), var(--admin-primary));border-radius:6px 6px 2px 2px;min-height:2px;position:absolute;bottom:0;left:0;right:0}.admin-chart-val{color:var(--admin-text);white-space:nowrap;margin-bottom:4px;font-size:.68rem;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.admin-chart-label{color:var(--admin-muted);font-size:.72rem}.admin-methods{flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;font-size:.88rem;display:flex}.admin-method-chip{background:var(--admin-primary-light);color:var(--admin-primary);border-radius:20px;padding:4px 12px;font-size:.82rem}.admin-detail-body{padding:22px}.admin-detail-grid{grid-template-columns:repeat(2,1fr);gap:14px 24px;display:grid}.admin-detail-label{color:var(--admin-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-size:.75rem;display:block}.admin-detail-notes{margin-top:16px}.admin-detail-payment{border-top:1px solid var(--admin-border);margin-top:20px;padding-top:16px}.admin-detail-payment h4{margin:0 0 12px}.admin-detail-actions{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.admin-content-field{margin-bottom:14px}.admin-content-field label{margin-bottom:5px;font-size:.82rem;font-weight:600;display:block}@media (width<=768px){.admin-sidebar{display:none}.admin-form-grid,.admin-checkbox-grid,.admin-detail-grid{grid-template-columns:1fr}}
