:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#1b2430;--muted:#5c6758;--paper:#f4efe4;--card:#fffaf1;--line:#d8d0c0;--accent:#b25a2b;--accent-dark:#8c4120;--banner:#ece4c8;--shadow:0 12px 40px #1b243014;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Figtree,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(circle at top right, #b25a2b14, transparent 28rem), var(--paper);color:var(--ink)}a{color:inherit;text-decoration:none}h1,h2,strong{font-family:Fraunces,Georgia,serif;font-weight:560}.app-shell{grid-template-rows:auto 1fr auto;min-height:100vh;display:grid}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10;background:#f4efe4e0;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 6vw;display:flex;position:sticky;top:0}.brand{align-items:center;gap:.75rem;display:flex}.brand-mark{background:var(--ink);width:2.4rem;height:2.4rem;color:var(--paper);letter-spacing:.04em;place-items:center;font-family:Fraunces,Georgia,serif;font-size:.95rem;display:grid}.brand strong,.brand em{line-height:1.15;display:block}.brand em{color:var(--muted);font-family:Figtree,sans-serif;font-size:.86rem;font-style:normal}.nav{gap:.4rem;display:flex}.nav a{color:var(--muted);border-radius:999px;padding:.45rem .8rem}.nav a.active,.nav a:hover{background:var(--ink);color:var(--paper)}.main{width:100%;max-width:1200px;margin:0 auto;padding:2.4rem 6vw 4rem}.footer{color:var(--muted);border-top:1px solid var(--line);padding:1rem 6vw 1.5rem;font-size:.9rem}.page-intro{max-width:40rem;margin-bottom:1.6rem}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--accent-dark);margin:0 0 .4rem;font-size:.76rem}h1{margin:0 0 .6rem;font-size:clamp(2rem,4vw,3.1rem);line-height:1.1}.lede,.muted{color:var(--muted);line-height:1.55}.banner{background:var(--banner);border:1px solid #d9cc9c;margin:0 0 1.5rem;padding:.85rem 1rem}.resource-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.resource-card{background:var(--card);border:1px solid var(--line);min-height:11rem;box-shadow:var(--shadow);padding:1.3rem 1.2rem 1.1rem;display:block}.resource-card:hover{border-color:var(--accent)}.tag{letter-spacing:.06em;text-transform:uppercase;color:var(--accent-dark);margin-bottom:.7rem;font-size:.75rem;display:inline-block}.resource-card h2{margin:0 0 .4rem;font-size:1.55rem}.resource-card p{color:var(--muted);margin:0}.card-cta{color:var(--accent-dark);margin-top:1.2rem;font-weight:600;display:inline-block}.crumb{color:var(--muted);margin-bottom:1rem}.crumb a{text-underline-offset:3px;text-decoration:underline}.calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:.6rem;display:grid;overflow-x:auto}.calendar-day{background:var(--card);border:1px solid var(--line);min-width:7.2rem;padding:.75rem .55rem}.calendar-day h2{text-transform:capitalize;margin:0 0 .6rem;font-size:.92rem}.calendar-day ul{gap:.28rem;margin:0;padding:0;list-style:none;display:grid}.calendar-day button{border:1px solid var(--line);width:100%;color:var(--muted);font:inherit;background:#f7f1e6;padding:.35rem 0}.slot-free{color:var(--ink);cursor:pointer;background:#fff}.slot-free:hover:not(:disabled){border-color:var(--accent)}.slot-busy,.slot-past,.slot-blocked{opacity:.55}.personalia-fields{border:1px solid var(--line);background:var(--card);margin:0 0 1.4rem;padding:.85rem 1rem 1rem}.personalia-grid{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem;display:grid}.personalia-fields label,.resource-editor label,.access-form label{gap:.3rem;font-size:.9rem;display:grid}.personalia-fields input,.resource-editor input,.resource-editor select,.resource-editor textarea,.access-form input{font:inherit;border:1px solid var(--line);background:#fff;padding:.45rem .55rem}.access-code{letter-spacing:.12em;margin:.2rem 0 .6rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(1.6rem,3vw,2.2rem)}.access-form{max-width:22rem;margin-bottom:1.4rem}.weekday-row{flex-wrap:wrap;gap:.4rem;display:flex}.resource-editor{gap:.9rem;max-width:48rem;display:grid}.resource-editor h3{margin:.8rem 0 0}.stack-list{gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.stack-list li{background:var(--card);border:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));align-items:end;gap:.55rem;padding:.75rem;display:grid}.check-row{align-items:center;gap:.5rem;flex-direction:row!important;display:flex!important}a.primary-button{display:inline-block}.access-result{border:1px solid var(--line);margin:0 0 1.2rem;padding:1.1rem 1.2rem}.access-result h2{margin:.2rem 0 .4rem;font-size:clamp(1.8rem,4vw,2.6rem)}.access-result-ok{background:#d7ead7;border-color:#8fb48f}.access-result-wait{background:#ece4c8;border-color:#d9cc9c}.access-result-no{background:#ead7d7;border-color:#d4a8a8}.status-active{background:#d7ead7}.status-used{background:#ece4c8}.status-revoked{background:#ead7d7}.booking-controls{flex-wrap:wrap;align-items:end;gap:1.2rem;margin:0 0 1.4rem;display:flex}.booking-controls fieldset{border:1px solid var(--line);background:var(--card);padding:.7rem .9rem}.choice-row{flex-wrap:wrap;gap:.4rem;display:flex}.choice{border:1px solid var(--line);cursor:pointer;padding:.35rem .7rem}.choice.selected{border-color:var(--accent);background:#fff}.choice input{margin-right:.35rem}.layout-toggle{gap:0;display:flex}.layout-toggle button{font:inherit;border:1px solid var(--line);cursor:pointer;background:#fff;padding:.45rem .95rem}.layout-toggle button:first-child{border-radius:4px 0 0 4px}.layout-toggle button:last-child{border-radius:0 4px 4px 0;margin-left:-1px}.layout-toggle button.is-on{background:var(--ink);color:var(--paper);border-color:var(--ink);z-index:1;position:relative}.guest-field{gap:.3rem;font-size:.9rem;display:grid}.guest-field select{font:inherit;padding:.4rem .5rem}.price-box{margin:0;display:grid}.price-box strong{font-size:1.6rem}.hold-panel{background:var(--card);border:1px solid var(--accent);box-shadow:var(--shadow);margin:0 0 1.4rem;padding:1rem 1.1rem}.hold-panel h2{margin:0 0 .35rem}.hold-panel .primary-button,.hold-panel .pay-choice{margin-top:.9rem}.pay-choice{flex-direction:column;gap:.6rem;display:flex}.pay-choice .primary-button,.pay-choice .secondary-button{width:100%;margin-top:0}.table-wrap a{text-underline-offset:3px;text-decoration:underline}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);padding:.8rem 1rem}th{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.78rem}code{font-size:.88rem}.bo-nav{flex-wrap:wrap;align-items:center;gap:.4rem;margin:0 0 1.4rem;display:flex}.bo-nav a,.primary-button,.secondary-button,.text-button{font:inherit}.bo-nav a{color:var(--muted);border-radius:999px;padding:.4rem .8rem}.bo-nav a.active,.bo-nav a:hover{background:var(--ink);color:var(--paper)}.login-card,.detail-card{max-width:36rem}.login-form{gap:.85rem;margin-top:1rem;display:grid}.login-form label,.filter-row label{gap:.3rem;font-size:.9rem;display:grid}.login-form input,.login-form select,.filter-row select{font:inherit;border:1px solid var(--line);background:var(--card);padding:.45rem .55rem}.filter-row{flex-wrap:wrap;gap:1rem;margin:0 0 1rem;display:flex}.primary-button,.secondary-button{border:1px solid var(--ink);cursor:pointer;padding:.55rem 1rem}.primary-button{background:var(--ink);color:var(--paper)}.primary-button:disabled,.secondary-button:disabled{opacity:.45;cursor:not-allowed}.secondary-button{background:var(--card);color:var(--ink)}.text-button{color:var(--muted);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;text-decoration:underline}.status{padding:.1rem .5rem;font-size:.82rem;display:inline-block}.status-hold,.status-reserved{background:#ece4c8}.status-confirmed{background:#d7ead7}.status-cancelled,.status-expired{background:#ead7d7}.detail-list{gap:.7rem;margin:1rem 0;display:grid}.detail-list div{gap:.15rem;display:grid}.detail-list dt{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.8rem}.detail-list dd{margin:0}.action-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.plant-desire-list{gap:.45rem;margin:0 0 1.2rem;padding:0;list-style:none;display:grid}.plant-desire{border:1px solid var(--line);background:var(--card);grid-template-columns:1fr auto;gap:.2rem .8rem;padding:.7rem .85rem;display:grid}.plant-desire .muted{grid-column:1/-1}.plant-desire.on{background:#d7ead7;border-color:#8fb48f}.plant-desire.off{background:#f6f1e6}.stack-list li.module-card{grid-template-columns:1fr}.margin-panel{margin-top:.6rem}.margin-panel h4{margin:0 0 .35rem}.margin-panel label,.table-wrap td label{gap:.25rem;font-size:.85rem;display:grid}.table-wrap td input[type=number]{width:6.5rem}.ha-connection,.type-create{gap:.6rem;display:grid}.entity-picker{position:relative}.entity-picker-list{z-index:5;background:var(--card);border:1px solid var(--line);max-height:16rem;box-shadow:var(--shadow);margin:.15rem 0 0;padding:.2rem;list-style:none;position:absolute;left:0;right:0;overflow:auto}.entity-picker-list button{text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border:0;padding:.4rem .5rem;display:grid}.entity-picker-list button:hover,.entity-picker-list button.is-selected{background:#fff}.plant-action-list li{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr))}.next-free{margin:0 0 1rem}.scheduler{grid-template-columns:minmax(0,1fr) minmax(16rem,20rem);align-items:start;gap:1.25rem;display:grid}.scheduler.is-week{grid-template-columns:1fr}.scheduler-main{grid-template-columns:minmax(16rem,1.2fr) minmax(10rem,14rem);gap:1rem;display:grid}.scheduler-main.is-week{grid-template-columns:1fr}.week-overview{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);padding:1rem}.week-scroll{overflow-x:auto}.week-grid{border-collapse:collapse;width:100%;min-width:44rem;font-size:.78rem}.week-grid th,.week-grid td{border:1px solid var(--line);text-align:center;padding:0}.week-grid thead th{padding:.35rem .2rem;font-weight:600}.week-grid tbody th{text-align:left;white-space:nowrap;background:var(--card);z-index:1;width:6.5rem;padding:.25rem .45rem;position:sticky;left:0}.week-cell{width:100%;min-height:1.7rem;font:inherit;cursor:pointer;border:0;line-height:1.7rem;display:block}.week-cell.free{background:#cde9c8}.week-cell.busy{color:#8a2f3b;cursor:default;background:#f3c4cc;font-weight:700}.week-cell.blocked,.week-cell.past,.week-cell.closed{cursor:default;background:#e8e4dc}.week-cell.is-selected{outline:2px solid var(--ink);outline-offset:-2px;background:#6faf6a}.week-cell.is-preview{box-shadow:inset 0 0 0 2px var(--accent);background:#b7dfb2}.week-legend{color:var(--muted);flex-wrap:wrap;gap:.9rem;margin:.75rem 0 0;padding:0;font-size:.85rem;list-style:none;display:flex}.week-legend .week-cell{vertical-align:middle;cursor:default;width:1.1rem;min-height:1.1rem;margin-right:.35rem;line-height:1.1rem;display:inline-block}.month-cal,.time-list,.scheduler-summary{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);padding:1rem}.month-cal h2,.time-list h2,.scheduler-summary h2{margin:0;font-size:1.25rem}.month-cal-nav{justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.85rem;display:flex}.month-cal-nav h2{text-align:center;text-transform:capitalize;flex:1}.month-weekdays,.month-grid{grid-template-columns:repeat(7,1fr);gap:.3rem;display:grid}.month-weekdays{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;text-align:center;margin-bottom:.35rem;font-size:.75rem}.month-day{aspect-ratio:1;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px}.month-day:hover:not(:disabled){border-color:var(--accent)}.month-day.is-today{font-weight:700}.month-day.is-selected{background:var(--ink);color:var(--paper)}.month-day.is-outside,.month-day.is-disabled{color:#b3aa9a;cursor:default}.time-list ul{gap:.4rem;margin:.7rem 0 0;padding:0;list-style:none;display:grid}.time-chip{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;cursor:pointer;text-align:left;background:#fff;padding:.7rem .85rem}.time-chip:hover:not(:disabled){border-color:var(--accent)}.time-chip.is-selected{background:var(--ink);color:var(--paper);border-color:var(--ink)}.scheduler-summary{position:sticky;top:5.2rem}.scheduler.is-week .scheduler-summary{max-width:none;position:static}.scheduler-summary.is-split{grid-template-columns:minmax(14rem,.9fr) minmax(18rem,1.2fr);grid-template-areas:"facts personalia""action personalia";align-items:start;gap:1rem 1.5rem;display:grid}.scheduler-summary.is-split .summary-facts{grid-area:facts}.scheduler-summary.is-split .summary-personalia{grid-area:personalia}.scheduler-summary.is-split .summary-action{grid-area:action}.scheduler-summary.is-split .personalia-fields{height:100%;margin:0}.scheduler-summary .primary-button{width:100%;margin-top:.4rem}.scheduler-steps{color:var(--muted);gap:.8rem;font-size:.85rem;display:flex}.scheduler-steps .is-current{color:var(--ink);font-weight:600}.embed-body{background:var(--paper)}.embed-body .embed-page,.embed-page{max-width:72rem;margin:0 auto;padding:1rem 1.1rem 1.4rem}.embed-body .scheduler-summary{top:.8rem}@media (width<=800px){.topbar,.main,.footer{padding-left:1.1rem;padding-right:1.1rem}.calendar{grid-template-columns:repeat(7,8rem)}.scheduler,.scheduler-main{grid-template-columns:1fr}.scheduler-summary{position:static}.scheduler-summary.is-split{grid-template-columns:1fr;grid-template-areas:"facts""personalia""action"}}
