:root{--cream:#f4f0e8;--paper:#fffdf8;--ink:#17352c;--muted:#66736d;--green:#174f3f;--green2:#2d6d59;--lime:#d9e85a;--yellow:#f6cf55;--orange:#ed9b56;--red:#c95c50;--line:#dfe2da;--shadow:0 16px 44px #17352c12}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:15px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--cream);color:var(--ink)}a{color:inherit}button,input,textarea{font:inherit}.site-header{height:82px;padding:0 max(22px,calc((100vw - 1220px)/2));display:flex;align-items:center;justify-content:space-between;background:rgba(244,240,232,.94);backdrop-filter:blur(14px);position:sticky;top:0;z-index:20;border-bottom:1px solid #17352c12}.site-logo{text-decoration:none;display:flex;align-items:baseline;gap:8px}.site-logo span{font-weight:950;letter-spacing:-.03em;font-size:24px}.site-logo small{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.site-header nav{display:flex;align-items:center;gap:24px}.site-header nav a{text-decoration:none;font-weight:750;font-size:14px}.nav-logout{background:var(--ink);color:white!important;padding:10px 15px;border-radius:999px}.home-hero{max-width:1220px;margin:34px auto 0;padding:0 22px;display:grid;grid-template-columns:1.15fr .85fr;min-height:610px}.hero-photo{background-size:cover;background-position:center}.hero-photo-main{border-radius:34px 0 0 34px;background-image:linear-gradient(0deg,#17352c22,#17352c05),url('.//images/main_photo.jpg')}.hero-copy{border-radius:0 34px 34px 0;background:var(--green);color:white;padding:76px 60px;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:11px;font-weight:900;letter-spacing:.16em;color:var(--green2)}.hero-copy .eyebrow{color:var(--lime)}h1{font-size:clamp(44px,6vw,76px);line-height:.98;letter-spacing:-.055em;margin:.25em 0}h2{font-size:clamp(28px,3.7vw,48px);line-height:1.05;letter-spacing:-.04em;margin:.2em 0 .55em}.hero-copy p{font-size:18px;line-height:1.65;color:#eaf3ef;max-width:520px}.cta{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;width:max-content;min-width:190px;margin-top:18px;padding:14px 18px;background:var(--lime);color:var(--ink);text-decoration:none;border-radius:999px;font-weight:850}.cta span{font-size:22px}.photo-strip{max-width:1220px;margin:22px auto 0;padding:0 22px;display:grid;grid-template-columns:1fr .72fr 1fr;gap:22px}.photo-card,.info-tile{min-height:270px;border-radius:28px;overflow:hidden}.photo-card{background-size:cover;background-position:center;position:relative;display:flex;align-items:flex-end;padding:22px}.photo-card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent,#17352c99)}.photo-card span{position:relative;z-index:1;color:white;font-weight:800}.photo-interior{background-image:url('./images/next_photo.jpg')}.photo-nature{background-image:url('./images/interior_photo.jpg')}.info-tile{background:var(--yellow);padding:30px;display:flex;flex-direction:column;justify-content:space-between}.info-tile strong{font-size:28px;line-height:1.06;letter-spacing:-.035em}.info-tile p{margin:0;color:#465047}.booking-section{max-width:1220px;margin:90px auto 0;padding:0 22px}.section-intro{max-width:770px;margin-bottom:28px}.section-intro p,.docs-section p{color:var(--muted);font-size:16px}.layout{display:grid;grid-template-columns:1.08fr .92fr;gap:22px}.card{background:var(--paper);border:1px solid #17352c12;border-radius:28px;padding:28px;box-shadow:var(--shadow)}label{display:grid;gap:7px;font-weight:700;margin-bottom:14px}label small{font-weight:500;color:var(--muted)}input,textarea{width:100%;border:1px solid #ccd3cc;background:white;border-radius:12px;padding:12px 13px;color:inherit;outline:none}input:focus,textarea:focus{border-color:var(--green2);box-shadow:0 0 0 3px #2d6d5918}button{border:0;border-radius:12px;padding:13px 17px;background:var(--green);color:#fff;font-weight:800;cursor:pointer}button:hover{filter:brightness(.97)}.calendar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.calendar-head h2{text-transform:capitalize;margin:0;font-size:28px}.icon{width:44px;height:44px;padding:0;background:#edf0e8;color:var(--ink);border-radius:999px}.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.weekdays span{text-align:center;color:var(--muted);font-size:12px;font-weight:800;padding:7px}.day{aspect-ratio:1;border-radius:12px;background:#f3f5ef;color:var(--ink);padding:0;position:relative;border:1px solid transparent}.day:hover:not(:disabled){border-color:var(--green)}.day.season-day{background:#fff0b7}.day.pending-day{background:#f3c79e;color:#6f3c20}.day.occupied{background:#e5aaa4;color:#733a35;text-decoration:line-through}.day.past{opacity:.35}.day.blank{background:transparent}.day.selected{background:var(--green)!important;color:white!important}.day.range{box-shadow:inset 0 0 0 2px var(--green)}.legend{display:flex;gap:13px;flex-wrap:wrap;color:var(--muted);font-size:12px;margin-top:18px}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:12px;height:12px;border-radius:4px;border:1px solid var(--line);background:#f3f5ef}.legend .pending{background:#f3c79e}.legend .busy{background:#e5aaa4}.legend .season{background:#fff0b7}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.price-box{padding:17px;margin:5px 0 20px;background:#e5efd7;border-radius:15px;display:grid;grid-template-columns:1fr auto;align-items:center}.price-box span{font-weight:750}.price-box strong{font-size:23px}.price-box small{grid-column:2}.price-box.bad{background:#f5deda;color:#81372f}.form-card>h2{font-size:32px}.form-card button{width:100%;background:var(--lime);color:var(--ink)}.check{grid-template-columns:auto 1fr;align-items:flex-start;font-weight:550;color:var(--muted)}.check input{width:auto;margin-top:4px}.alert{max-width:1220px;margin:0 auto 20px;padding:14px 17px;border-radius:13px}.alert.ok{background:#dceadf;color:#29573b}.alert.error{background:#f2d9d6;color:#8a352f}.docs-section{max-width:1220px;margin:90px auto;padding:0 22px 100px;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.doc-grid{display:grid;gap:14px}.doc-card{display:flex;align-items:center;gap:17px;background:var(--paper);padding:18px;border-radius:20px;border:1px solid #17352c12;text-decoration:none;box-shadow:var(--shadow)}.doc-card:hover{transform:translateY(-2px)}.doc-icon{width:58px;height:58px;border-radius:16px;background:var(--yellow);display:grid;place-items:center;font-weight:900;font-size:12px}.doc-card div{display:grid;flex:1}.doc-card strong{font-size:18px}.doc-card small{color:var(--muted)}.doc-card b{font-size:24px}footer{background:var(--green);color:white;padding:38px max(22px,calc((100vw - 1176px)/2));display:flex;justify-content:space-between;align-items:center}footer div{display:grid}footer span{color:#c8d9d3;font-size:12px}footer a{color:var(--lime)}.centered{min-height:100vh;display:grid;place-items:center;padding:20px}.auth-page{background:linear-gradient(135deg,#f4f0e8 0 55%,#d9e85a 55%)}.auth{max-width:460px;width:100%;text-align:center}.auth h1{font-size:48px}.auth form{text-align:left}.auth button{width:100%;background:var(--lime);color:var(--ink)}.brand{width:74px;height:74px;border-radius:22px;background:var(--green);color:white;display:grid;place-items:center;margin:auto;font-size:13px;font-weight:900;letter-spacing:.14em}.muted-link{display:inline-block;margin-top:17px;color:var(--muted);font-size:13px}.wrap{max-width:1220px;margin:auto;padding:44px 22px 80px}.admin-body{background:#ecefe9}.admin-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.admin-heading h1{font-size:64px;margin:0}.pending-counter{background:var(--orange);border-radius:22px;padding:14px 18px;display:flex;align-items:center;gap:10px}.pending-counter strong{font-size:34px;line-height:1}.pending-counter span{font-size:12px;line-height:1.2;font-weight:800}.admin-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:20px;margin-bottom:20px}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.table-card{margin-bottom:20px}.section-title{display:flex;justify-content:space-between;align-items:end}.section-title h2{margin:3px 0 0;font-size:34px}.table-scroll{overflow:auto;margin:0 -28px -28px}table{border-collapse:collapse;width:100%;min-width:1120px}th,td{text-align:left;padding:13px 14px;border-top:1px solid var(--line);vertical-align:top}th{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}td small{display:block;color:var(--muted);margin-top:3px}.pending-row{background:#fff7ec}.pill{display:inline-block;padding:5px 9px;border-radius:99px;font-size:11px;font-weight:900}.pill.pending-pill{background:#f3c79e;color:#6f3c20}.pill.approved{background:#dceadf;color:#29573b}.pill.rejected{background:#ececec;color:#666}.pill.blocked{background:#ddd5ca;color:#684c37}.row-actions{display:flex;gap:6px;flex-wrap:wrap}.small{padding:7px 9px;font-size:12px}.approve{background:var(--green)}.reject{background:#d48b4f}.danger{background:#a53e36}.empty{text-align:center;color:var(--muted);padding:28px}.password-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.password-form label{margin:0}.password-form button{height:46px}h3{font-size:13px;margin:22px 0 9px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}@media(max-width:900px){.home-hero{grid-template-columns:1fr;min-height:auto}.hero-photo-main{height:420px;border-radius:30px 30px 0 0}.hero-copy{border-radius:0 0 30px 30px;padding:52px 34px}.photo-strip{grid-template-columns:1fr 1fr}.photo-strip .photo-nature{display:none}.layout,.admin-grid,.docs-section{grid-template-columns:1fr}.docs-section{gap:28px}.site-header nav a:not(.nav-logout){display:none}.price-grid{grid-template-columns:1fr}.password-form{grid-template-columns:1fr}.admin-heading h1{font-size:50px}}@media(max-width:560px){.site-header{height:70px;padding:0 14px}.home-hero,.photo-strip,.booking-section,.docs-section{padding-left:14px;padding-right:14px}.home-hero{margin-top:14px}.hero-photo-main{height:320px}.hero-copy{padding:38px 24px}.hero-copy h1{font-size:46px}.photo-strip{grid-template-columns:1fr}.photo-card,.info-tile{min-height:220px}.photo-strip .photo-interior{display:none}.card{padding:18px;border-radius:20px}.grid2{grid-template-columns:1fr}.weekdays,.calendar{gap:4px}.price-box{grid-template-columns:1fr}.price-box small{grid-column:1}.price-box strong{margin-top:4px}.admin-heading{align-items:flex-start}.pending-counter{padding:10px}.admin-heading h1{font-size:42px}.table-scroll{margin-left:-18px;margin-right:-18px;margin-bottom:-18px}}
