@charset "UTF-8";
:root{--bg:#f5f5ef;--paper:#fff;--ink:#213d36;--muted:#68776f;--line:#e2e7df;--green:#224c40;--lime:#e6edba;--red:#a33f32;--radius:18px;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:4px}button,input,select{font:inherit}button,a,input,select,summary{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #97b75e;outline-offset:4px}h1,h2,p{margin-top:0}h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(36px,4vw,54px);letter-spacing:-1.8px;line-height:1.12;margin-bottom:16px}h2{font-size:19px;font-weight:600;letter-spacing:-.4px;margin:0}small{font-size:12px}.small{font-size:12px}.muted,.optional{color:var(--muted)}.nowrap{white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100px;padding:12px;background:white;z-index:20}.skip-link:focus{top:10px}
.site-header{border-bottom:1px solid var(--line);background:#fafbf6}.header-inner{max-width:1260px;margin:auto;padding:23px 40px;display:flex;justify-content:space-between;gap:24px;align-items:center}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:650;letter-spacing:-1px;font-size:27px}.brand-mark{background:var(--green);color:var(--lime);font:30px Georgia,serif;border-radius:10px;width:37px;height:37px;display:grid;place-content:center;padding-bottom:5px}.brand-divider{height:22px;width:1px;background:#cfd8cc;margin:0 8px}.brand-caption{font-size:12px;letter-spacing:0;color:var(--muted);font-weight:400}.account-nav{display:flex;gap:20px;align-items:center;font-size:12px}.account-nav a,.text-button{color:#445b51;text-decoration:none}.account-nav a:hover,.text-button:hover{text-decoration:underline}.account-nav form{margin:0}.account-name{font-weight:600;text-align:right;padding-right:18px;border-right:1px solid var(--line)}.account-name small{display:block;color:var(--muted);font-weight:400;margin-top:4px}.text-button{border:0;background:none;padding:0;font-size:12px}.header-note{font-size:12px;color:var(--muted)}
.page-shell{max-width:1260px;margin:0 auto;padding:0 40px 20px;min-height:calc(100vh - 165px)}.page-intro{display:flex;justify-content:space-between;align-items:center;padding:48px 0 32px;gap:20px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.1px;color:#5b725f;margin-bottom:16px}.intro-copy{color:var(--muted);font-size:14px;line-height:1.65;margin-bottom:0}.today-label{text-align:right;min-width:170px}.today-label span{display:block;font-size:10px;letter-spacing:1.8px;color:var(--muted);margin-bottom:10px}.today-label strong{display:block;font-size:17px;font-weight:500}.today-label small{display:block;color:var(--muted);margin-top:5px}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:24px;box-shadow:0 3px 5px #294c3810}.booking-card,.today-card{padding:27px 30px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.heading-with-number{display:flex;gap:15px;align-items:center}.section-number{font-size:10px;letter-spacing:1px;border:1px solid #dfe5d9;color:#74816e;border-radius:50%;width:29px;height:29px;display:grid;place-content:center;flex-shrink:0}.section-subtitle{color:var(--muted);font-size:12px;margin:7px 0 0}.booking-form{margin-top:26px}.booking-fields{display:grid;grid-template-columns:1fr .8fr 1.15fr 1.45fr;gap:18px}.field label{display:block;font-size:12px;font-weight:600;margin-bottom:9px}.field input,.field select{width:100%;height:46px;border:1px solid #dce2d7;border-radius:8px;padding:0 12px;background:#fcfdf9;color:var(--ink);min-width:0}.field input:focus,.field select:focus{outline:2px solid #719267;outline-offset:1px}.field input::placeholder{color:#899187;font-size:13px}.field input[aria-invalid=true],.field select[aria-invalid=true]{border-color:var(--red)}.subject-field{grid-column:1/-1}.optional{font-weight:400;font-size:11px;margin-left:5px}.form-bottom{display:flex;gap:22px;align-items:center;justify-content:space-between;margin-top:20px}.form-hint{font-size:12px;color:var(--muted);margin:0;line-height:1.6}.invalid-hint{color:var(--red)}.button{display:inline-flex;gap:25px;justify-content:center;align-items:center;min-height:45px;padding:12px 22px;border-radius:8px;font-size:13px;font-weight:600;text-decoration:none;border:1px solid transparent;white-space:nowrap}.primary{background:var(--green);color:#fff}.primary:hover{background:#153c30}.secondary{background:#f2f4ed;border-color:#dce1d4}.danger{background:var(--red);color:#fff}.danger:hover{background:#852b20}.full-width{width:100%}
.status-badge{font-size:11px;display:flex;gap:7px;align-items:center;padding:8px 12px;background:#f0f5e9;color:#456132;border:1px solid #e4ecd8;border-radius:30px;white-space:nowrap}.status-dot{background:#608d43;width:6px;height:6px;border-radius:50%}.busy{color:#916231;background:#fbf1e5;border-color:#efdec7}.busy .status-dot{background:#ae7734}.closed{color:#647069;background:#f1f2ee}.closed .status-dot{background:#8c978d}.daily-summary{display:flex;align-items:center;gap:18px;margin:28px 0 20px;font-size:14px}.daily-summary strong{font-weight:600}.daily-summary strong span{font-size:12px;font-weight:400;color:var(--muted)}.summary-divider{width:1px;height:14px;background:var(--line)}.legend{display:flex;align-items:center;gap:7px;margin-left:auto;color:var(--muted);font-size:10px}.legend i{width:9px;height:9px;background:#c8d8bb;border-radius:2px;margin-left:8px}.legend .free{background:#f3f5ed;border:1px solid #e0e5d9}.timeline-scroll{overflow-x:auto;overflow-y:hidden;padding:6px 2px 4px}.timeline{min-width:920px;padding:0 20px}.time-labels{display:flex;justify-content:space-between;color:#758373;font-size:10px;margin:0 -16px 12px;font-variant-numeric:tabular-nums}.time-labels span{width:32px;text-align:center}.time-track{position:relative;display:grid;grid-template-columns:repeat(24,minmax(0,1fr));height:136px;background:repeating-linear-gradient(to right,#e2e8dc 0,#e2e8dc 1px,transparent 1px,transparent calc(100% / 24)),#f6f8f1;border:1px solid #e2e8dc;border-radius:10px}.time-block{grid-row:1;position:relative;margin:8px 2px;border:1px solid #bbceaa;border-radius:7px;background:#e1ead5;padding:13px 8px;color:#36513c;min-width:0;display:flex;flex-direction:column;gap:8px;cursor:default}.time-block>span,.time-block>strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.time-block>strong{font-size:12px}.time-block .block-time{font-size:9px;font-variant-numeric:tabular-nums}.tone-b{background:#ece6d7;border-color:#d8cdb6;color:#756343}.tone-c{background:#dce9e6;border-color:#bdd7d1;color:#3d6963}.tone-d{background:#e7e3ee;border-color:#d2c9de;color:#685878}.block-detail{display:none;position:absolute;inset:0 auto 0 0;width:260px;background:#fff;border:1px solid #b0c3a3;border-radius:7px;padding:10px;box-shadow:0 3px 12px #193b3022;z-index:4;font-size:11px;line-height:1.55;overflow:auto}.time-block:nth-last-child(1) .block-detail{left:auto;right:0}.time-block:hover .block-detail,.time-block:focus .block-detail{display:block}.timeline-empty{position:absolute;inset:0;display:grid;place-content:center;color:#7d8c72;font-size:12px;margin:0}.daily-details{margin:18px 0 0;color:var(--muted);font-size:12px}.daily-details summary{cursor:pointer;width:fit-content}.daily-details ul{padding-left:0;list-style:none;margin-bottom:0}.daily-details li{border-top:1px solid var(--line);padding:12px 0}.daily-details li span{display:block;margin-top:6px}
.week-heading{padding:26px 30px}.week-nav{display:flex;gap:4px;background:#f6f7f1;padding:4px;border:1px solid #e4e8df;border-radius:8px}.week-nav a{font-size:12px;display:grid;place-content:center;text-decoration:none;padding:7px 12px;border-radius:5px}.week-nav a:hover{background:#e4ecd9}.week-nav a[aria-current]{background:white;box-shadow:0 1px 3px #213d3615}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th{font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:#74806f;font-weight:500;background:#f9faf6;padding:14px 20px;border-block:1px solid var(--line)}td{padding:20px;border-bottom:1px solid #ecf0e7;line-height:1.5}td:first-child,th:first-child{padding-left:30px}td:last-child,th:last-child{padding-right:30px}td strong{font-weight:600}.table-secondary{display:block;color:#83907c;font-size:10px;margin-top:4px}.company-pill{display:inline-block;background:#eff3e8;color:#536447;padding:5px 9px;border-radius:5px;font-size:11px;white-space:nowrap}.subject-cell{max-width:220px;overflow-wrap:anywhere}.row-actions{display:flex;gap:12px;font-size:11px}.row-actions a{text-decoration:none}.row-actions a:hover{text-decoration:underline}.danger-link{color:#95675d}.table-footer{padding:17px 30px;color:var(--muted);font-size:11px;line-height:1.6}.empty-state{text-align:center;padding:32px!important;color:var(--muted)}.empty-state strong{display:block;font-weight:500;color:var(--ink);margin-top:10px}.empty-state p{margin:7px 0;font-size:12px}.empty-symbol{font-size:28px;color:#99ad86}.site-footer{max-width:1260px;margin:auto;padding:20px 40px 30px;display:flex;justify-content:space-between;color:#8a9583;font-size:10px}.message{background:#e9f1e1;border:1px solid #c9ddba;border-radius:10px;padding:15px 20px;font-size:13px;margin:24px 0 0}.form-errors,.errorlist{color:#913e2f;font-size:13px;line-height:1.6}.form-errors{background:#fcf0e9;padding:15px;border-radius:8px;border:1px solid #f0d4c5;margin-bottom:20px}.form-errors p{margin-bottom:0}.form-errors ul{padding-left:20px;margin-bottom:0}.compact-card{max-width:590px;margin:60px auto;padding:36px}.compact-card h1{font-size:36px;margin-top:22px}.compact-card p{line-height:1.6;color:var(--muted)}.compact-card .field{margin-bottom:22px}.help-text{font-size:12px;line-height:1.6;color:var(--muted)}.help-text ul{padding-left:20px}.back-link{display:inline-block;color:var(--muted);font-size:12px;text-decoration:none;margin-bottom:24px}.booking-recap{border:1px solid var(--line);padding:20px;border-radius:10px;background:#f9faf5;margin:24px 0}.booking-recap p{margin:12px 0}.booking-recap small{color:var(--muted)}.confirm-actions{display:flex;gap:12px;justify-content:space-between}
.login-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;max-width:1060px;margin:60px auto}.login-story h1{font-size:clamp(42px,4.2vw,58px);line-height:1.12}.login-story>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.8}.login-card{padding:38px;max-width:440px;margin:0}.login-card h2{font-family:Georgia,serif;font-size:29px;font-weight:400;margin:22px 0 12px}.login-card>.muted{font-size:13px;margin-bottom:30px}.login-card .field{margin-bottom:22px}.mini-mark{display:grid;place-content:center;background:#e9efcf;color:#47613e;width:44px;height:44px;border-radius:50%;font-size:23px}.login-help{font-size:11px;line-height:1.8;color:var(--muted);border-top:1px solid var(--line);padding-top:24px;margin:28px 0 0}.room-illustration{height:250px;position:relative;border:1px solid #dce4d3;background:#eaf0df;border-radius:140px 140px 12px 12px;margin-top:32px;overflow:hidden}.room-window{position:absolute;inset:20px 110px 75px;border:9px solid #f8faef;border-radius:120px 120px 0 0;background:linear-gradient(90deg,transparent 48%,#f8faef 48%,#f8faef 52%,transparent 52%),linear-gradient(transparent 65%,#f8faef 65%,#f8faef 70%,transparent 70%),#d2dfc3}.room-table{position:absolute;width:230px;height:95px;left:50%;top:115px;transform:translateX(-50%);border-radius:50%;background:#aa8760;border:6px solid #bb9871;z-index:2;box-shadow:0 12px 0 #8a714f}.chair{position:absolute;width:48px;height:42px;background:#3e5c4a;border-radius:17px;z-index:1}.c1{left:26%;top:92px}.c2{left:45%;top:88px}.c3{right:23%;top:99px}.c4{left:25%;top:183px;z-index:3}.c5{left:46%;top:190px;z-index:3}.c6{right:20%;top:180px;z-index:3}.plant{position:absolute;left:28px;bottom:30px;color:#587540;font-size:65px}.room-caption{position:absolute;right:17px;bottom:12px;color:#5c714c;font-size:8px;letter-spacing:2px}.story-bottom{display:flex;justify-content:space-between;font-size:10px;color:#718262;margin-top:18px}
@media(min-width:1400px){.timeline{min-width:100%}}
@media(max-width:1050px){.brand-caption,.brand-divider{display:none}.account-nav{gap:13px}.booking-fields{grid-template-columns:1fr 1fr}.subject-field{grid-column:1/-1}.login-layout{gap:35px}.login-card{padding:28px}.room-window{left:70px;right:70px}.week-heading{gap:15px}.row-actions{flex-direction:column;gap:5px}}
@media(max-width:700px){.header-inner{padding:18px 20px;flex-wrap:wrap;gap:18px}.brand{font-size:25px}.account-nav{width:100%;justify-content:flex-end;gap:17px}.account-name{margin-right:auto;text-align:left;border:0;padding:0}.account-nav a,.text-button{font-size:11px}.page-shell{padding:0 18px 12px}.page-intro{padding:30px 0 25px;align-items:flex-start}.page-intro h1{font-size:37px}.intro-copy{font-size:13px}.today-label{min-width:auto;margin-top:4px}.today-label strong{font-size:12px}.today-label small{font-size:11px}.today-label span{font-size:8px}.eyebrow{font-size:8px;letter-spacing:1.6px}.booking-card,.today-card{padding:22px 18px}.section-heading .small{display:none}.section-number{width:25px;height:25px;font-size:9px}.heading-with-number{gap:10px}h2{font-size:17px}.booking-fields{gap:17px 12px}.field label{font-size:11px}.field input,.field select{font-size:13px;padding:0 8px}.form-bottom{flex-direction:column;align-items:stretch;gap:15px}.form-hint{font-size:11px}.form-bottom .button{width:100%}.daily-summary{flex-wrap:wrap;gap:12px;margin:24px 0 14px}.legend{width:100%;margin-left:0}.legend i:first-child{margin-left:0}.status-badge{font-size:9px;padding:7px 8px}.section-subtitle{font-size:10px;line-height:1.5}.week-heading{padding:22px 18px;align-items:flex-start;flex-wrap:wrap}.week-nav{margin-left:35px}.week-nav a{padding:7px 12px}.table-footer{padding:15px 18px;font-size:10px}td:first-child,th:first-child{padding-left:18px}td{padding:15px;min-width:115px}td:last-child,th:last-child{padding-right:18px}.site-footer{padding:18px;gap:15px;font-size:9px}.compact-card{margin:32px auto;padding:24px}.compact-card h1{font-size:32px}.confirm-actions{flex-direction:column}.login-layout{display:flex;flex-direction:column;gap:25px;margin:30px auto}.login-story{width:100%}.login-story h1{font-size:41px}.room-illustration,.story-bottom{display:none}.login-card{width:100%;max-width:none;padding:28px}.login-card h2{font-size:27px}.header-note{font-size:10px}.login-story>p:not(.eyebrow){font-size:13px;margin-bottom:0}}
.table-scroll{position:relative}
@media(prefers-reduced-motion:no-preference){.button,a{transition:background-color .15s,color .15s}}
