*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--ink:#14243a;--muted:#627087;--line:#dbe3ec;--wash:#f3f6fa;--navy:#142e51;--cream:#fbfaf6;--danger:#b4423d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--wash);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #7fa9ef}.skip-link{z-index:99;color:var(--navy);background:#fff;border-radius:8px;padding:12px 16px;position:fixed;top:-60px;left:16px}.skip-link:focus{top:12px}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:72px;padding:0 clamp(18px,5vw,72px);display:flex}.brand{color:var(--navy);letter-spacing:-.03em;align-items:center;gap:10px;font-size:21px;font-weight:800;text-decoration:none;display:flex}.brand-mark{color:#fff;background:var(--navy);border-radius:10px;place-items:center;width:35px;height:35px;font-family:Georgia,serif;display:grid}.top-actions,.hero-actions{align-items:center;gap:10px;display:flex}.profile-button,.role-switch,.secondary,.danger{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:11px;padding:10px 14px}.profile-button{text-align:left;grid-template-rows:17px 15px;grid-template-columns:30px auto;padding:7px 12px;display:grid}.profile-button>span{color:#fff;background:#cf6b45;border-radius:50%;grid-row:1/3;place-items:center;width:30px;height:30px;font-size:10px;display:grid}.profile-button b{font-size:12px}.profile-button small{color:var(--muted);font-size:10px}.hero{justify-content:space-between;align-items:end;gap:24px;max-width:1700px;margin:auto;padding:42px clamp(18px,5vw,72px) 25px;display:flex}.eyebrow,.modal-kicker{color:#58718f;text-transform:uppercase;letter-spacing:.15em;margin:0 0 10px;font-size:11px;font-weight:800}h1{letter-spacing:-.04em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(35px,4vw,57px);line-height:1}.subtitle{color:var(--muted);margin:12px 0 0}.primary{color:#fff;background:var(--navy);border:0;border-radius:11px;padding:12px 17px;font-weight:700;box-shadow:0 7px 20px #142e5126}.primary:disabled{opacity:.5;cursor:not-allowed}.role-switch{font-size:13px}.notice{color:#496079;background:#eef5fb;border:1px solid #d7e1ec;border-radius:12px;margin:0 clamp(18px,5vw,72px) 16px;padding:13px 16px;font-size:13px}.notice strong{color:var(--navy)}.calendar-shell{border:1px solid var(--line);background:#fff;border-radius:20px;margin:0 clamp(18px,5vw,72px) 60px;overflow:hidden;box-shadow:0 14px 42px #2a446012}.calendar-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:70px;padding:13px 18px;display:flex}.month-nav{align-items:center;gap:12px;display:flex}.month-nav button{border:1px solid var(--line);width:38px;height:38px;color:var(--ink);background:#fff;border-radius:11px;padding:0;font-size:24px}.month-nav button:disabled{opacity:.35;cursor:not-allowed}.month-nav h2{text-align:center;min-width:210px;margin:0;font-family:Georgia,serif;font-size:23px}.month-nav h2 span{color:var(--muted);font:400 13px Arial,sans-serif}.filters{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.filters select{border:1px solid var(--line);min-width:220px;color:var(--ink);background:#fff;border-radius:10px;padding:9px 11px}.legend{border-bottom:1px solid var(--line);color:var(--muted);background:#fafbfd;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:18px;padding:10px 18px;font-size:11px;display:flex}.legend span{align-items:center;gap:6px;display:flex}.legend i{border-radius:50%;width:8px;height:8px}.legend em{color:#8a95a4;font-style:normal}.calendar-scroll{overflow-x:auto}.weekday-row,.month-grid{grid-template-columns:repeat(5,minmax(168px,1fr));min-width:840px;display:grid}.weekday-row{border-bottom:1px solid var(--line);background:#f8fafc}.weekday-row span{color:#68758a;letter-spacing:.1em;text-transform:uppercase;padding:9px 12px;font-size:10px;font-weight:800}.day-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;min-height:235px;position:relative;overflow:hidden}.day-card:nth-child(5n){border-right:0}.day-card.empty{background:repeating-linear-gradient(135deg,#fafbfd,#fafbfd 8px,#f6f8fa 8px 9px)}.day-head{z-index:3;width:100%;height:35px;color:var(--ink);text-align:left;background:#fff;border:0;border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:center;padding:0 10px;display:flex;position:relative}.day-head span{font-family:Georgia,serif;font-size:17px;font-weight:700}.day-head b{opacity:0;color:#56708d}.day-card:hover .day-head b,.day-head:focus-visible b{opacity:1}.hour-lines{pointer-events:none;grid-template-rows:repeat(11,18px);height:198px;display:grid;position:absolute;top:35px;left:0;right:0}.hour-lines span{color:#a0a9b5;border-bottom:1px dashed #e9edf2;padding:2px 0 0 3px;font-size:7px}.events{height:198px;position:absolute;top:35px;left:20px;right:3px}.event{text-align:left;z-index:2;border:0;border-left:3px solid;border-radius:4px;padding:3px;font-size:7px;line-height:1.2;position:absolute;overflow:hidden}.event b{font-size:8px;display:block}.event span{margin-top:2px;display:block;overflow:hidden}.calendar-foot{color:var(--muted);background:#fafbfd;justify-content:space-between;gap:20px;padding:12px 18px;font-size:11px;display:flex}.toast{z-index:70;color:#fff;background:#183c34;border-radius:11px;padding:13px 17px;font-size:13px;position:fixed;bottom:24px;right:24px;box-shadow:0 12px 30px #0003}.modal-backdrop{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#102139aa;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:20px;width:min(600px,100%);max-height:calc(100vh - 40px);padding:30px;position:relative;overflow:auto;box-shadow:0 24px 70px #06122155}.modal-close{color:#526075;background:#f2f4f7;border:0;border-radius:50%;width:34px;height:34px;font-size:24px;position:absolute;top:15px;right:18px}.modal h2{letter-spacing:-.02em;margin:0;font-family:Georgia,serif;font-size:30px}.modal-lead{color:var(--muted);margin:8px 0 22px;font-size:13px}.booking-form{grid-template-columns:1fr 1fr;gap:15px;display:grid}.booking-form label{color:#3f4d62;flex-direction:column;gap:6px;font-size:11px;font-weight:700;display:flex}.booking-form label span{color:#8792a2;font-weight:400}.booking-form input,.booking-form select,.booking-form textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #cfd8e4;border-radius:9px;padding:10px 11px;font-size:13px}.booking-form textarea{resize:vertical}.wide{grid-column:1/-1}.form-error{color:#a63d36;background:#fff0ee;border-radius:8px;grid-column:1/-1;margin:0;padding:10px 12px;font-size:12px}.modal-actions{justify-content:flex-end;gap:9px;margin-top:22px;display:flex}.booking-form .modal-actions{margin-top:4px}.secondary,.danger{padding:11px 15px;font-weight:700}.danger{color:var(--danger);border-color:#e6bbb8}.split{justify-content:space-between}.split>div{gap:8px;display:flex}.preview-card{border:1px solid var(--line);background:var(--cream);border-left:5px solid;border-radius:13px;margin-top:20px;padding:18px}.preview-lab{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:flex}.preview-lab i{border-radius:50%;width:9px;height:9px}.preview-lab span{margin-left:2px}.preview-card h3{margin:16px 0;font:700 23px Georgia,serif}.preview-card dl{grid-template-columns:1fr 1fr;gap:13px;margin:0;display:grid}.preview-card dl div:last-child:nth-child(odd){grid-column:1/-1}.preview-card dt,.detail-list span{color:#7c8795;text-transform:uppercase;letter-spacing:.1em;margin-bottom:3px;font-size:9px;font-weight:800}.preview-card dd{margin:0;font-size:12px}.detail-list{margin:22px 0}.detail-list p{border-bottom:1px solid #e7ebf0;flex-direction:column;gap:4px;margin:0;padding:12px 0;font-size:13px;display:flex}@keyframes pulse{50%{box-shadow:0 0 0 8px #d8736322}}.demo-link{color:#4c66a9;background:0 0;border:0;padding:8px 0;font-size:12px;text-decoration:underline}.field-with-mic{align-items:center;gap:6px;display:flex}.field-with-mic select,.field-with-mic input,.field-with-mic textarea{flex:1}.field-mic{color:#9e4438;background:#fff6f4;border:1px solid #e3b4ad;border-radius:9px;flex:none;width:34px;height:34px;padding:0;font-size:14px}.field-mic.active{animation:1.3s infinite pulse}@media (max-width:760px){.topbar{padding:0 16px}.profile-button b,.profile-button small{display:none}.profile-button{padding:6px;display:block}.profile-button>span{display:grid}.hero{flex-direction:column;align-items:flex-start;padding:30px 16px 20px}.hero-actions{flex-wrap:wrap;width:100%}.calendar-shell{border-radius:14px;margin:0 12px 40px}.calendar-toolbar{flex-direction:column;align-items:flex-start}.filters{width:100%}.filters select{flex:1;min-width:0}.legend{justify-content:flex-start}.legend em{display:none}.modal{padding:26px 20px}.booking-form{grid-template-columns:1fr}.booking-form label{grid-column:1}.preview-card dl{grid-template-columns:1fr}.calendar-foot{flex-direction:column;gap:5px}}@media (max-width:430px){.brand>span:last-child{display:none}.hero-actions button{flex:1}.modal-backdrop{padding:8px}.modal{border-radius:14px;max-height:calc(100vh - 16px)}.split{flex-direction:column;align-items:stretch}.split>div{grid-template-columns:1fr 1fr;display:grid}.danger{width:100%}}.event time{white-space:nowrap;margin-top:1px;font-size:7px;font-weight:700;display:block}.calendar-scroll{-webkit-overflow-scrolling:touch}.weekday-row,.month-grid{grid-template-columns:repeat(5,minmax(220px,1fr));min-width:1100px}.day-card{min-height:419px}.hour-lines{grid-template-rows:repeat(12,32px);height:384px}.hour-lines span{padding:4px 0 0 4px;font-size:8px}.events{height:384px;left:22px;right:4px}.event{flex-direction:column;padding:4px 6px;font-size:13px;line-height:1.15;display:flex;overflow:hidden}.event-head{-moz-column-gap:5px;flex:none;justify-content:space-between;align-items:baseline;column-gap:5px;display:flex!important}.event-head b{font-size:clamp(8px,calc(16px / var(--lanes,1)),14px);white-space:nowrap;text-overflow:ellipsis;line-height:18px;overflow:hidden}.event-head time{font-size:clamp(7px,calc(14px / var(--lanes,1)),13px);text-align:right;white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.event-title{text-align:center;white-space:nowrap;text-overflow:ellipsis;min-height:0;line-height:1.2;font-size:clamp(7px,calc(13px / var(--lanes,1)),13px);flex:0 auto;margin-top:2px;overflow:hidden}.event:after{content:"";z-index:0;pointer-events:none;background:repeating-linear-gradient(#0000 0 31px,#142e5138 31px 32px,#ffffff3d 32px 63px,#142e5138 63px 64px);position:absolute;inset:0;box-shadow:inset 0 -2px}.event-head,.event-owner,.event-note-flag,.event-title{z-index:1;position:relative}.event-owner{text-align:center;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;text-overflow:ellipsis;flex:none;font-weight:800;overflow:hidden;font-size:clamp(11px,calc(19px / var(--lanes,1)),15px)!important;margin-top:2px!important}.event-note-flag{text-align:center;color:#c0322b;text-transform:uppercase;letter-spacing:.03em;min-height:0;font-weight:800;font-size:clamp(9px,calc(14px / var(--lanes,1)),13px);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;overflow:hidden;margin-top:1px!important}.event-short .event-head b{font-size:clamp(7px,calc(12px / var(--lanes,1)),11px);line-height:14px}.event-short .event-head time{font-size:clamp(6px,calc(10px / var(--lanes,1)),9px)}.event-short .event-owner{font-size:clamp(9px,calc(14px / var(--lanes,1)),12px)!important}.event-short .event-note-flag{font-size:clamp(7px,calc(11px / var(--lanes,1)),10px)}.event-short .event-title{font-size:clamp(6px,calc(10px / var(--lanes,1)),9px)}.hero-actions{flex:none;justify-content:flex-end;gap:8px;max-width:310px}.hero-actions .primary,.hero-actions .role-switch{white-space:nowrap;padding-left:13px;padding-right:13px;font-size:13px}.calendar-toolbar{grid-template-columns:minmax(0,1fr) auto;display:grid}.filters{justify-content:flex-end;width:220px}.filters select{width:176px;min-width:0}.legend{justify-content:center}@media (max-width:760px){.hero-actions{justify-content:flex-start;max-width:none}.calendar-toolbar{display:flex}.filters{justify-content:flex-start;width:100%}.filters select{flex:1;width:auto;min-width:0}}.login-shell{place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{border:1px solid var(--line);background:#fff;border-radius:20px;width:min(420px,100%);padding:32px;box-shadow:0 14px 42px #2a446012}.login-card h1{margin:0;font-size:28px}.login-form{flex-direction:column;gap:14px;margin-top:20px;display:flex}.login-form label{color:#3f4d62;flex-direction:column;gap:6px;font-size:11px;font-weight:700;display:flex}.login-form input{color:var(--ink);background:#fff;border:1px solid #cfd8e4;border-radius:9px;padding:10px 11px;font-size:13px}.login-card .demo-link{margin-top:16px;display:inline-block}.error-banner{color:#a63d36;background:#fff0ee;border:1px solid #e6bbb8;border-radius:12px;margin:0 clamp(18px,5vw,72px) 16px;padding:13px 16px;font-size:13px}.form-success{color:#1c6b46;background:#e9f5ef;border-radius:9px;margin:0;padding:12px 14px;font-size:13px}.admin-account{align-items:center;gap:8px;display:flex}.admin-account .secondary{padding:9px 12px;font-size:12px}.password-field{display:flex;position:relative}.password-field input{padding-right:38px}.password-toggle{background:0 0;border:0;padding:4px 6px;font-size:15px;line-height:1;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.day-card.holiday{background:repeating-linear-gradient(135deg,#fff5f3,#fff5f3 8px,#fdece8 8px 9px)}.day-card.holiday .day-head{background:#fdece8;border-bottom-color:#f3d4cc}.holiday-label{text-transform:uppercase;letter-spacing:.02em;color:#b4423d;text-align:right;white-space:normal;max-width:60px;font-size:8px;font-weight:700;line-height:1.15}
