@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#244a48;--teal:#3b9f99;--deep:#24605d;--line:#e2e9e5;--muted:#71817e;--paper:#f7f9f5}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:14px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:background .15s;border:1px solid var(--line);background:white;border-radius:8px;color:var(--ink);padding:10px 12px}button:hover{background:#eef5ef}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #dfb643;outline-offset:3px}a{color:inherit;text-decoration:none}header{height:92px;background:var(--deep);color:white;display:flex;align-items:center;padding:0 max(5%,calc((100vw - 1340px)/2));gap:24px}.logo{width:145px;height:55px}.head-divider{height:29px;width:1px;background:#ffffff40}.portal-name{font-size:15px;letter-spacing:.2px}.backlink{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:12px;color:#e6efeb}.avatar{border:1px solid #ffffff60;border-radius:50%;width:35px;height:35px;display:grid;place-items:center;font-size:11px}main{max-width:1340px;margin:auto;padding:0 30px}.hero{display:flex;justify-content:space-between;padding:49px 8px 39px;position:relative;overflow:hidden}.eyebrow{font-size:10px;letter-spacing:2.1px;font-weight:700;display:flex;align-items:center;gap:8px}.eyebrow>span{width:7px;height:7px;background:var(--teal);border-radius:50%}h1{font-family:'Manrope',Arial,sans-serif;font-weight:500;font-size:44px;line-height:1.2;letter-spacing:-1.8px;margin:17px 0 16px}h1 span{color:var(--teal)}p{color:var(--muted);line-height:1.65;margin:8px 0}.hero p{font-size:14px}.hero-tags{display:flex;gap:23px;margin-top:24px;font-size:11px}.hero-tags span{display:flex;align-items:center;gap:7px}.hero-tags svg{color:var(--teal)}.hero-art{width:370px;height:240px;position:relative;margin:5px 60px 0 0}.sun{position:absolute;top:0;right:50px;background:#e6da69;border-radius:50%;height:87px;width:87px}.arch{position:absolute;border-radius:120px 120px 0 0}.a1{width:155px;height:185px;left:36px;top:22px;background:#c2dad2;transform:rotate(-9deg)}.a2{width:128px;height:142px;left:163px;top:58px;background:#e9b39d;transform:rotate(12deg)}.plant{position:absolute;left:100px;top:77px;color:var(--deep);transform:rotate(-20deg)}.little-note{position:absolute;bottom:0;right:4px;padding:18px 23px;background:#fffefa;box-shadow:0 10px 35px #244a4810;border:1px solid #e6e9df;transform:rotate(-4deg);display:flex;align-items:center;gap:16px;border-radius:9px;font-size:11px;line-height:1.9}.little-note b{font-weight:500;color:var(--muted)}.trial{display:flex;align-items:center;gap:10px;border:1px solid #e2e5cd;background:#f0f2e5;border-radius:9px;padding:13px 16px;font-size:11px;color:#64705a;margin-bottom:26px}.trial-pill{margin-left:auto;white-space:nowrap;font-size:10px;border:1px solid #d5dac2;border-radius:20px;padding:4px 9px}.workspace{background:white;border:1px solid var(--line);border-radius:14px;box-shadow:0 6px 20px #244a4803;overflow:hidden}.tabs{display:flex;align-items:center;border-bottom:1px solid var(--line);padding:0 26px;gap:29px}.tabs button{border:0;border-bottom:3px solid transparent;border-radius:0;height:64px;padding:0;background:transparent;color:var(--muted);font-size:12px}.tabs button.active{border-color:var(--teal);color:var(--deep);font-weight:700}.count{font-size:10px;background:#eff3ef;border-radius:12px;padding:2px 7px}.tz{margin-left:auto;color:var(--muted);font-size:10px;display:flex;gap:6px;align-items:center}.section-heading{display:flex;justify-content:space-between;align-items:center;padding:25px 26px 19px}h2{font-family:'Manrope',Arial,sans-serif;font-size:21px;font-weight:600;letter-spacing:-.6px;margin:0}.section-heading p{font-size:12px;margin:6px 0 0}.primary{background:var(--deep);color:white;border-color:var(--deep);font-size:12px;padding:12px 17px}.primary:hover{background:#347975}.toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;padding:0 26px 18px}.date-controls{display:flex;align-items:center;gap:6px}.date-controls>button{padding:7px}.date-controls h3{font-size:13px;font-weight:600;margin:0 9px}.date-controls .today{font-size:11px;padding:8px 12px}.filters{display:flex;gap:10px;align-items:center}input,select{border:1px solid var(--line);border-radius:7px;padding:10px;background:white;color:var(--ink);min-width:0}.filters input,.filters select{font-size:11px;height:35px;padding:7px}.segmented{display:flex;background:#f0f4ef;border-radius:7px;padding:3px}.segmented button{font-size:11px;padding:6px 13px;border:0;background:transparent}.segmented .selected{background:white;box-shadow:0 1px 4px #00000010}.legend{display:flex;align-items:center;gap:19px;padding:0 26px 17px;font-size:10px;color:var(--muted)}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:8px;height:8px;border-radius:3px;display:block}.available{background:#e5f2e8;border:1px solid #94b69f}.booked{background:#d9e1df}.yours{background:#73b7b0}.legend label{display:flex;align-items:center;gap:5px;margin-left:auto}.legend input{accent-color:var(--deep);margin:0}.calendar-scroll{overflow:auto}table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:850px}th,td{border-top:1px solid var(--line);border-right:1px solid var(--line)}th:last-child,td:last-child{border-right:0}.week-grid thead th{height:78px;background:#fafbf8;position:relative;font-weight:400}.week-grid thead th span{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px}.week-grid thead th b{display:inline-block;margin-top:5px;font-size:20px;font-weight:500}.week-grid thead .current-day{background:#ecf5ef}.week-grid thead small{font-size:8px;display:block;color:var(--deep)}.room-head{width:151px;font-size:9px;color:var(--muted);letter-spacing:1px}.week-grid tbody th{text-align:left;padding:17px;position:relative;width:151px}.week-grid tbody th b{display:block;font-size:12px;margin-top:8px}.week-grid tbody th small{display:block;font-size:9px;color:var(--muted);font-weight:400;margin-top:4px}.room-icon{display:inline-flex;align-items:center;justify-content:center;height:31px;width:31px;border-radius:9px;background:#d9eee6;color:#4c8876}.r2{background:#f6e4da;color:#b88062}.r3{background:#eceacb;color:#9b985b}.r4{background:#e7e3f0;color:#9185a7}.r5{background:#e0edf3;color:#6993a7}td{vertical-align:top;padding:8px}.cell{min-height:98px;display:flex;flex-direction:column;gap:6px}.slot{width:100%;font-size:10px;color:#60836f;background:#f0f7ef;border:1px dashed #c7d9c9;justify-content:flex-start;padding:10px 7px;min-height:33px}.past{background:#fafbf9}.past .slot{border-color:transparent;background:transparent;color:#9daba3}.booking{background:#e9eeed;color:#687b76;border-left:3px solid #acbeb8;padding:8px;border-radius:5px;font-size:10px;line-height:1.6}.booking b,.booking span{display:block;font-size:9px}.booking.mine{background:#def0eb;border-left-color:#429d92;color:#27776f}.calendar-footer{display:flex;gap:15px;justify-content:space-between;padding:16px 23px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.calendar-footer span{display:flex;align-items:center;gap:7px}.day-grid{min-width:650px}.day-grid th{font-size:11px;padding:14px;background:#fafbf8}.day-grid th:first-child{width:80px}.day-grid td{padding:3px}.day-grid .booking{min-height:34px}.bottom-notes{display:grid;grid-template-columns:1fr 1fr 1fr;gap:34px;padding:34px 9px}.bottom-notes>div{display:flex;align-items:flex-start;gap:12px}.mini-icon{background:#e5eee4;border-radius:10px;min-width:39px;height:39px;display:grid;place-items:center;color:#668c71}.mini-icon.coral{background:#f3e7df;color:#b4806b}.mini-icon.yellow{background:#eeecd5;color:#9f9c63}.bottom-notes h3{font-size:12px;font-weight:600;margin:2px 0 7px}.bottom-notes p{font-size:11px;max-width:270px;line-height:1.6;margin:0}.bottom-notes a{display:inline;color:var(--deep)}.bottom-notes svg{vertical-align:middle}footer{border-top:1px solid #e3e8de;padding:24px 4px 30px;display:flex;justify-content:space-between;color:var(--muted);font-size:10px}footer a{display:flex;gap:6px}.footer-dot{padding:0 7px}.my-bookings{padding:27px}.my-bookings>p{font-size:12px}.booking-row{display:flex;align-items:center;gap:17px;padding:22px 0;border-bottom:1px solid var(--line)}.booking-row p{margin:4px 0;font-size:12px}.booking-row small{color:var(--muted);font-size:11px}.booking-row>button{margin-left:auto;font-size:11px}.empty{text-align:center;padding:70px 20px;color:var(--muted)}.empty>svg{margin:auto}.empty h3{color:var(--ink)}.empty button{margin-top:12px}.overlay{position:fixed;inset:0;z-index:10;background:#173e3bb0;backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:24px;overflow:auto}.modal{background:#fffefa;width:510px;max-width:100%;max-height:95vh;overflow:auto;padding:30px;border-radius:18px;position:relative;box-shadow:0 25px 100px #153c3933}.modal .eyebrow{margin:6px 0 13px;color:var(--teal);font-size:9px}.modal h2{font-size:25px}.modal>p{font-size:12px;margin:11px 0 19px}.close{position:absolute;right:13px;top:13px;background:transparent;border:0;padding:5px}.close svg{width:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:600;margin-bottom:13px}.modal input,.modal select{width:100%;font-size:13px;font-weight:400}.existing{background:#eff5ee;border-radius:8px;padding:12px 14px;font-size:10px;margin:2px 0 17px}.existing p{margin:5px 0 0;font-size:11px}.summary{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid var(--line);font-size:11px}.fine{font-size:10px;line-height:1.65;margin:0 0 15px}.full{width:100%}.error{background:#fff0e8;color:#a24a35;border-radius:8px;padding:12px;font-size:12px;margin:8px 20px 13px}.modal .error{margin:8px 0 13px}.example{background:#faf3d7;color:#8e773a;padding:10px 26px;font-size:11px}.small{width:400px}.actions{display:flex;justify-content:flex-end;gap:9px;margin-top:25px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:90vw;width:520px;background:var(--deep);color:white;border-radius:12px;box-shadow:0 10px 40px #153c3930;padding:18px 20px;display:flex;align-items:center;gap:14px;font-size:12px;z-index:30;line-height:1.5}.toast>svg{flex-shrink:0}.toast button{background:transparent;border:0;color:white;padding:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:1500px){main{padding:0}.hero{padding-top:60px;padding-bottom:47px}}@media(max-width:850px){.hero-art{margin-right:0;transform:scale(.85);transform-origin:right center;width:280px}.hero h1{font-size:38px}.toolbar{gap:16px}.bottom-notes{gap:16px}.hero-tags{gap:13px}.trial-pill{display:none}.filters{flex-wrap:wrap}}@media(max-width:600px){header{height:76px;padding:0 20px;gap:14px}.logo{width:116px}.portal-name{font-size:12px}.backlink,.avatar{display:none}main{padding:0 14px}.hero{padding:32px 8px 25px}.hero h1{font-size:34px;letter-spacing:-1.5px}.hero p{font-size:12px}.hero-art{position:absolute;right:-87px;top:31px;opacity:.4;transform:scale(.55);transform-origin:right top;pointer-events:none}.hero>div:first-child{position:relative;z-index:1}.hero-tags{font-size:9px;gap:12px}.trial{font-size:10px;line-height:1.7;padding:11px;margin-bottom:18px}.trial>svg{flex-shrink:0}.tabs{padding:0 16px;gap:23px}.tabs button{height:55px;font-size:11px}.tz{display:none}.section-heading{padding:20px 15px;gap:10px}.section-heading h2{font-size:18px}.section-heading p{font-size:10px}.primary{font-size:11px;padding:11px 12px}.toolbar{padding:0 15px 15px}.date-controls{width:100%}.date-controls h3{font-size:12px;flex:1;margin:0 5px}.filters{gap:7px;width:100%}.filters input{width:125px}.filters select{flex:1}.segmented button{padding:6px 10px}.legend{padding:0 15px 14px;gap:13px;flex-wrap:wrap;font-size:9px}.legend label{width:100%;margin:0;margin-top:1px}.calendar-footer{padding:14px;line-height:1.6;font-size:9px}.calendar-footer>span:last-child{display:none}.bottom-notes{grid-template-columns:1fr;padding:25px 7px;gap:21px}.bottom-notes p{max-width:none}.bottom-notes h3{font-size:12px}footer{font-size:9px;gap:15px}.modal{padding:24px 20px;max-height:94vh}.modal h2{font-size:22px}.overlay{padding:12px}.booking-row{flex-wrap:wrap}.booking-row>button{margin-left:48px}.booking-row p{font-size:11px}.my-bookings{padding:20px}.toast{bottom:14px}.head-divider{height:24px}}

/* Half-day booking update */
.week-grid .room-head{width:162px}.week-grid tbody th{width:162px}.room-rate{display:block;margin-top:6px;color:#60836f;font-size:11px;font-weight:500;line-height:1.5}.week-grid tbody th small.room-rate{font-size:10px;color:#60836f;font-weight:500}.half-slot{display:flex;align-items:flex-start;flex-direction:column;gap:2px;padding:8px;font-size:10px}.half-slot small{font-size:9px;opacity:.8}.cell{gap:7px;min-height:104px}.session-field{grid-column:1/-1}.session-time{display:block;font-size:10px;font-weight:400;line-height:1.6;margin-top:6px}.day-grid th:first-child{width:145px}.day-grid td{vertical-align:middle;padding:12px}.day-grid tbody th{height:94px}.day-grid .booking{padding:12px}.summary b{white-space:nowrap;font-size:15px}
