:root{--ink:#163b38;--soft:#4e6966;--cream:#f5f1e8;--paper:#fffdf8;--accent:#f16445;--accent-dark:#d94c31;--mint:#cde8dc;--line:#d9ddd7;--shadow:0 18px 50px rgba(22,59,56,.09);--radius:20px}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--cream);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.5}a{color:inherit}.site-header{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px max(24px,calc((100vw - 1180px)/2));background:var(--paper);border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:11px;font-weight:800;text-decoration:none}.brand-mark{display:grid;place-items:center;width:38px;height:38px;color:#fff;background:var(--ink);border-radius:11px 11px 11px 2px}nav{display:flex;gap:26px}nav a{font-weight:650;text-decoration:none}nav a:hover{color:var(--accent)}.page-shell{max-width:1180px;min-height:calc(100vh - 148px);margin:0 auto;padding:52px 24px 72px}footer{min-height:72px;display:flex;align-items:center;justify-content:center;color:var(--soft);border-top:1px solid var(--line)}h1,h2,h3{margin:0;line-height:1.06;letter-spacing:-.035em}h1{font-size:clamp(2.5rem,6vw,5.6rem)}h2{font-size:clamp(2rem,4vw,3.4rem)}h3{font-size:1.75rem}p{color:var(--soft)}.eyebrow{display:block;margin-bottom:12px;color:var(--accent);font-size:.76rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase}.hero{position:relative;overflow:hidden;display:grid;grid-template-columns:1.65fr .7fr;align-items:center;min-height:410px;padding:clamp(34px,7vw,76px);color:#fff;background:var(--ink);border-radius:32px;box-shadow:var(--shadow)}.hero:after{content:"";position:absolute;right:-110px;bottom:-220px;width:430px;height:430px;border:80px solid rgba(205,232,220,.12);border-radius:50%}.hero p{max-width:620px;margin:24px 0 0;color:#dce9e6;font-size:1.15rem}.hero-decoration{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:190px;height:190px;justify-self:end;color:var(--ink);background:var(--mint);border-radius:50%;transform:rotate(5deg)}.hero-decoration span{font-size:4.2rem;font-weight:900;line-height:.9}.hero-decoration small{max-width:100px;margin-top:10px;font-weight:750;text-align:center}.section-heading,.page-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin:70px 0 28px}.section-heading>p{max-width:410px;margin:0}.page-heading{align-items:center;margin-top:8px}.page-heading h1,.form-intro h1{font-size:clamp(2.4rem,5vw,4.5rem)}.back-link{display:block;width:max-content;margin-bottom:32px;color:var(--soft);font-weight:700;text-decoration:none}.room-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.room-card{padding:30px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 30px rgba(22,59,56,.04)}.room-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:42px}.room-number{color:#9aaba8;font-weight:850;letter-spacing:.12em}.status{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;font-size:.76rem;font-weight:800;border-radius:99px}.status:before{content:"";width:7px;height:7px;border-radius:50%}.status-free{color:#166753;background:#dff4e9}.status-free:before{background:#2ba77c}.status-busy{color:#a73b27;background:#fce3dc}.status-busy:before{background:var(--accent)}.room-meta{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.room-meta span{padding:7px 10px;color:var(--soft);background:#eff2ed;border-radius:8px;font-size:.8rem;font-weight:700}.card-actions{display:flex;gap:10px}.button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;padding:11px 19px;color:#fff;background:var(--accent);border:1px solid var(--accent);border-radius:11px;font:inherit;font-weight:800;text-decoration:none;cursor:pointer;transition:.15s}.button:hover{background:var(--accent-dark);transform:translateY(-1px)}.button-secondary{color:var(--ink);background:transparent;border-color:#a9b6b3}.button-secondary:hover{background:#edf1ed}.messages{display:grid;gap:8px;margin-bottom:24px}.message{padding:14px 17px;border-radius:10px;font-weight:700}.message-success{color:#125c49;background:#d9f1e6}.message-error{color:#983820;background:#fde3dc}.calendar-panel,.table-panel{overflow:hidden;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;padding:22px 26px;border-bottom:1px solid var(--line)}.calendar-toolbar h2{font-size:1.6rem}.icon-button{display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--line);border-radius:10px;text-decoration:none}.calendar-scroll,.table-scroll{overflow-x:auto}.calendar-table{width:100%;min-width:860px;border-collapse:collapse;table-layout:fixed}.calendar-table th{height:44px;color:var(--soft);font-size:.72rem;letter-spacing:.09em;text-transform:uppercase}.calendar-day{height:132px;padding:9px;vertical-align:top;border-top:1px solid var(--line);border-right:1px solid var(--line)}.calendar-day.outside{background:#f5f5f1;opacity:.55}.day-number{display:grid;width:27px;height:27px;place-items:center;margin:0 0 7px auto;font-size:.82rem;font-weight:800;text-decoration:none;border-radius:50%}.today .day-number{color:#fff;background:var(--accent)}.day-bookings{display:grid;gap:5px}.booking-chip{overflow:hidden;padding:5px 7px;color:#155e50;background:var(--mint);border-left:3px solid #3b9d83;border-radius:5px;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.booking-chip.whole-room{color:#983820;background:#fde0d8;border-color:var(--accent)}.booking-chip strong,.booking-chip span{display:block;overflow:hidden;text-overflow:ellipsis}.legend{display:flex;gap:22px;padding:16px 25px;color:var(--soft);font-size:.8rem}.legend span{display:flex;align-items:center;gap:7px}.legend i{width:12px;height:12px;background:var(--mint);border-radius:3px}.legend .legend-room{background:#fde0d8}.form-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(38px,8vw,100px);align-items:start}.form-intro{position:sticky;top:32px;padding-top:8px}.info-box{margin-top:34px;padding:19px;background:var(--mint);border-radius:12px;font-size:.9rem}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:clamp(24px,5vw,42px);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.field{display:flex;min-width:0;flex-direction:column;gap:7px}.field-full{grid-column:1/-1}label{font-size:.83rem;font-weight:800}label small{color:var(--soft);font-weight:500}input,select,textarea{width:100%;min-height:48px;padding:11px 13px;color:var(--ink);background:#fff;border:1px solid #bac5c2;border-radius:9px;font:inherit}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:#24715f;outline:3px solid rgba(36,113,95,.14)}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.filter-bar{display:flex;align-items:end;gap:15px;margin:0 0 22px;padding:20px;background:var(--paper);border:1px solid var(--line);border-radius:14px}.filter-bar .field{min-width:210px}.text-link{color:var(--accent-dark);font-weight:700;text-decoration:underline;text-underline-offset:3px}.filter-bar .text-link{margin:0 5px 13px}.booking-table{width:100%;min-width:980px;border-collapse:collapse}.booking-table th,.booking-table td{padding:17px 19px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.booking-table th{color:var(--soft);background:#f3f4ef;font-size:.73rem;letter-spacing:.08em;text-transform:uppercase}.muted{color:var(--soft);font-size:.84rem}.row-actions{display:flex;justify-content:end;gap:7px}.small-button{display:inline-flex;padding:7px 10px;color:var(--ink);background:#fff;border:1px solid #aebbb8;border-radius:7px;font:inherit;font-size:.78rem;font-weight:750;text-decoration:none;cursor:pointer}.small-button.danger{color:#a33a24;border-color:#e3afa3}.empty-state{padding:55px!important;color:var(--soft);text-align:center!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(max-width:800px){.hero{grid-template-columns:1fr;min-height:390px}.hero-decoration{display:none}.room-grid,.form-layout{grid-template-columns:1fr}.form-intro{position:static}.section-heading,.page-heading{align-items:start;flex-direction:column}.filter-bar{align-items:stretch;flex-direction:column}.filter-bar .field{min-width:0}}@media(max-width:540px){.site-header{align-items:flex-start;flex-direction:column}.page-shell{padding:32px 15px 56px}.hero{padding:34px 25px;border-radius:22px}.card-actions,.form-actions{align-items:stretch;flex-direction:column}.booking-form{grid-template-columns:1fr}.field{grid-column:1/-1}}
