:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#30243f;background:#f7f5fb;font-synthesis:none;--purple:#642bc1;--line:#e8e2ef;--muted:#8c7d9d;--row:40px;--rail:64px}*{box-sizing:border-box}body{margin:0;font-size:14px}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b797ec;outline-offset:2px}button,a{transition:background .15s,color .15s}a{color:var(--purple);text-decoration:none}h1,h2,h3,p{margin:0}p{line-height:1.6}.icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}.brand{display:flex;align-items:center;gap:10px;color:#4b2581;font-weight:700;letter-spacing:-.4px;font-size:18px}.brand-mark{background:var(--purple);color:#fff;border-radius:10px;display:grid;place-items:center;width:35px;height:35px;font-size:12px;letter-spacing:-.8px;font-weight:800}.brand-slash{font-size:21px;color:#d6c9e5;font-weight:400;margin:0 8px}.brand-subtitle{color:#8a769b;font-size:13px;letter-spacing:0;font-weight:400}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;gap:18px;border-bottom:1px solid var(--line);background:#fff}.top-actions{display:flex;align-items:center;gap:9px}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:9px 14px;border:1px solid transparent;border-radius:8px;font-size:12px;font-weight:550;line-height:1.4;white-space:nowrap}.button.primary{background:var(--purple);color:#fff}html:not(.motion-intro-active) .button.primary:hover{background:#5120a4}.button.secondary{background:#fff;border-color:#dfd5eb;color:#6b5085}html:not(.motion-intro-active) .button.secondary:hover{background:#f8f4fd}.button.ghost{background:transparent;color:#7b6490}html:not(.motion-intro-active) .button.ghost:hover{background:#f2ecfa}.button.danger{color:#ae4866;background:#fff2f5;border-color:#f1d3dd}.button.wide{width:100%}.button .icon{width:16px;height:16px}.icon-button{border:0;background:transparent;display:grid;place-items:center;width:33px;height:33px;border-radius:7px;color:#8b739e}html:not(.motion-intro-active) .icon-button:hover{background:#f0e8fa;color:var(--purple)}.page{max-width:1700px;margin:auto;padding:24px 34px 32px}.demo-note{font-size:11px;color:#9a83af;text-align:right;margin-bottom:15px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.week-controls{display:flex;align-items:center;gap:14px}.week-controls h1{font-size:20px;letter-spacing:-.55px;font-weight:600}.week-arrows{display:flex;gap:2px;align-items:center}.week-arrows button{width:29px;height:32px}.toolbar-info{display:flex;gap:17px;align-items:center;font-size:11px;color:#9482a3}.legend{display:flex;align-items:center;gap:6px;font-size:10px;color:#9a8aa7;white-space:nowrap}.legend-dot{width:8px;height:8px;border-radius:3px;background:#d9c3f1}.legend-dot.blocked{background:#ddd9e3}.legend-dot.booked{background:#6833b8}.timezone{font-size:10px;color:#9b89aa;max-width:250px;display:flex;align-items:center;gap:5px}.timezone select{border:0;background:transparent;color:#826998;font:inherit;max-width:195px;cursor:pointer}.timezone .icon{width:13px;height:13px}.calendar-surface{border:1px solid #e4dceb;border-radius:13px;overflow:hidden;background:#fff;box-shadow:0 3px 14px #38126803}.calendar-week{display:grid;grid-template-columns:var(--rail) repeat(7,minmax(0,1fr));width:100%}.time-rail{border-right:1px solid var(--line)}.time-corner{height:69px;border-bottom:1px solid var(--line);display:grid;place-items:center;color:#b2a1c0;font-size:9px}.time-label{height:var(--row);font-size:10px;color:#a694b5;padding-top:7px;text-align:center}.time-label.half{color:transparent}.day-column{min-width:0;border-right:1px solid var(--line)}.day-column:last-child{border-right:0}.day-header{height:69px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:9px;color:#9885a7;background:#fff}.day-header span{font-size:10px;letter-spacing:.3px}.day-header strong{font-weight:550;font-size:19px;color:#6f577e;width:31px;height:31px;display:grid;place-items:center}.day-header.today strong{background:var(--purple);color:white;border-radius:50%}.calendar-cell{position:relative;display:block;border:0;border-bottom:1px solid #f0eaf5;border-radius:0;background:#fff;width:100%;height:var(--row);padding:6px 9px;text-align:left;font-size:10px;color:#a190b0;overflow:hidden}.calendar-cell:focus-visible{outline-offset:-3px;z-index:2}.calendar-cell.half{border-bottom-color:#e9e1f0}.calendar-cell.available{background:#eee5fb;color:#956bc2;border-bottom-color:#e4d6f2;box-shadow:inset 1px 0 #c5a3ee}html:not(.motion-intro-active) .calendar-cell.available:hover{background:#deccf6;box-shadow:inset 1px 0 #9865d2}.cell-label{color:#9267bd;font-size:10px}.cell-time{font-size:9px;color:#a183be;float:right}.calendar-cell.unavailable{background:#f6f4f8;color:#b5aaba}html:not(.motion-intro-active) .calendar-cell.unavailable:hover{background:#ece7f2}.calendar-cell.blocked{background:#eae6ee;color:#87788f;border-bottom-color:#e2dce8;box-shadow:inset 1px 0 #baadc7}html:not(.motion-intro-active) .calendar-cell.blocked:hover{background:#dfd7e8}.calendar-cell.booked{background:#7440bc;color:#fff;border-bottom-color:#7440bc;box-shadow:inset 1px 0 #4d2586}html:not(.motion-intro-active) .calendar-cell.booked:hover{background:#6633ad}.cell-title{display:block;font-size:10px;font-weight:550;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cell-subtitle{display:block;font-size:9px;opacity:.65;margin-top:3px}.calendar-cell.continued .cell-title,.calendar-cell.continued .cell-subtitle{visibility:hidden}.calendar-cell.guest-unavailable{cursor:default;background:#faf9fc;color:transparent}.calendar-footer{display:flex;justify-content:space-between;gap:15px;margin-top:13px;font-size:10px;color:#a894b7;line-height:1.6}.calendar-footer .icon{width:12px;height:12px;vertical-align:-2px;margin-right:3px}.day-tabs{display:none}.guest-toolbar-title{font-size:18px;font-weight:600;letter-spacing:-.4px}.guest-subtitle{font-size:11px;color:#9b86aa;margin-top:6px}.guest-title-row{margin-bottom:24px}.notice{border:1px solid #e4d8f1;background:#f2ebfc;border-radius:9px;padding:11px 14px;font-size:11px;color:#87639f;line-height:1.7;margin-bottom:16px}.error{border:1px solid #efcedb;background:#fff3f7;border-radius:8px;color:#9b4965;padding:11px 13px;font-size:11px;line-height:1.6;margin:16px 0}.error:empty{display:none}.muted{color:var(--muted)}.small{font-size:11px}.badge{display:inline-flex;align-items:center;border-radius:5px;padding:4px 7px;font-size:9px;font-weight:550;background:#efe7fb;color:#8055a9;white-space:nowrap}.badge.active,.badge.confirmed{background:#eaf4ee;color:#4e8667}.badge.expired,.badge.revoked{background:#f1edf4;color:#a393ae}.badge.pending,.badge.needs_attention{background:#fff1da;color:#ac7e3c}.modal{border:1px solid #ded1ef;border-radius:16px;padding:0;background:#fff;color:#39294d;width:calc(100% - 34px);max-width:470px;max-height:calc(100dvh - 50px);box-shadow:0 24px 100px #29113c35;overflow:auto}.modal.wide{max-width:750px}.modal::backdrop{background:#24103454;backdrop-filter:blur(2px)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:23px 25px 19px;border-bottom:1px solid #f0e8f5;gap:12px}.modal-header h2{font-size:17px;letter-spacing:-.4px;font-weight:600}.modal-header p{font-size:11px;color:#a18baf;margin-top:6px}.modal-body{padding:22px 25px 25px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field label,.field-label{font-size:11px;font-weight:550;color:#786085}.field input,.field select{width:100%;border:1px solid #dfd3e9;background:#fff;border-radius:7px;color:#614870;padding:9px 10px;font-size:12px;min-height:37px;min-width:0}.field input::placeholder{color:#b5a5c1}.field input:focus,.field select:focus{border-color:#a783d8;outline:2px solid #f0e6fc;outline-offset:0}.field+.field,.form-row+.field,.field+.form-row,.form-row+.form-row{margin-top:15px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field-hint{font-size:10px;color:#aa94b6;line-height:1.6}.form-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:21px;margin-top:21px;border-top:1px solid #f0e8f5}.form-actions .button:first-child:not(:last-child){margin-right:auto}.advanced{margin-top:20px;color:#9475a8;font-size:11px}.advanced summary{cursor:pointer;font-size:11px;color:#9372a9}.advanced-body{margin-top:15px}.weekdays{display:flex;gap:7px;margin-top:9px}.weekday{flex:1;position:relative}.weekday input{position:absolute;opacity:0;inset:0;margin:0;width:100%;height:100%;cursor:pointer}.weekday span{display:grid;place-items:center;height:33px;border:1px solid #e4d9ed;color:#b39ac0;border-radius:6px;font-size:10px}.weekday input:checked+span{background:#f0e7fb;border-color:#d9c3ef;color:#7e4dab}.weekday input:focus-visible+span{outline:3px solid #b798e2;outline-offset:2px}.check-row{display:flex;align-items:center;gap:8px;font-size:11px;color:#8d739e;margin:14px 0}.check-row input{accent-color:var(--purple)}.generated-note{font-size:12px;color:#92769f;line-height:1.7;margin-bottom:15px}.copy-row{display:flex;gap:8px}.copy-row input{min-width:0;width:100%;font-size:11px;padding:10px;border-radius:7px;border:1px solid #decdec;color:#81509e;background:#faf6ff}.link-item{padding:18px 0;border-bottom:1px solid #eee6f4}.link-item:first-child{padding-top:0}.link-item:last-child{border:0;padding-bottom:0}.link-item-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.link-item h3{font-size:13px;font-weight:550}.link-metadata{display:flex;flex-wrap:wrap;gap:6px 13px;font-size:10px;color:#a18aaf;margin-top:10px}.link-metadata strong{color:#7f5e96;font-weight:550}.link-metadata-detail{font-size:10px;color:#b29ac0;margin-top:7px;line-height:1.6}.list-empty{font-size:12px;line-height:1.8;color:#a18aad;padding:14px 0}.provider-tabs{display:flex;gap:8px;margin:20px 0 16px}.provider-tabs button{flex:1;border:1px solid #e2d5ee;background:#fff;color:#9d81b0;border-radius:7px;padding:9px 5px;font-size:10px}.provider-tabs button.active{background:#f1e8fc;color:#7547a5;border-color:#d7bceb;font-weight:550}.consent-copy{color:#a08aad;font-size:10px;line-height:1.7;margin:12px 0}.manual-steps{padding-left:17px;color:#9a80aa;font-size:11px;line-height:1.8;margin:13px 0 17px}.manual-steps li{padding-left:3px;margin:7px 0}.manual-steps .button{margin-top:6px}.booking-time-summary{border:1px solid #e8ddf2;background:#faf6ff;padding:13px 15px;border-radius:8px;margin-bottom:19px;color:#80569c;font-size:12px;line-height:1.7}.booking-time-summary small{font-size:10px;color:#aa91ba;display:block}.detail-row{display:flex;align-items:flex-start;gap:10px;margin:15px 0;font-size:12px;color:#8c6fa0;line-height:1.7}.detail-row .icon{width:16px;height:16px;margin-top:2px;color:#a086b3}.details-page{max-width:520px;margin:65px auto 30px;background:#fff;border:1px solid #e5d9ee;border-radius:14px;padding:31px}.details-page h1{font-size:24px;letter-spacing:-.5px;margin:17px 0 23px;font-weight:550}.details-page .notice{font-size:10px;line-height:1.8;margin:22px 0 0}.details-page .button{margin-top:19px}.details-page .detail-row{margin:19px 0}.login-shell,.loading-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:25px;gap:18px;color:#a389b4;font-size:12px}.login-card{background:white;border:1px solid #e7dced;border-radius:15px;padding:29px;width:100%;max-width:375px}.login-card .brand{margin-bottom:29px}.login-card h1{font-size:22px;letter-spacing:-.5px;color:#5c3977;font-weight:550;margin-bottom:8px}.login-card>p{font-size:11px;color:#a88db9;margin-bottom:25px}.login-card .button{margin-top:20px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);border-radius:9px;background:#3c2552;color:white;max-width:90vw;padding:12px 19px;font-size:12px;line-height:1.6;z-index:10000;box-shadow:0 10px 35px #250e3c25}.date-picker{border:1px solid #e1d6ec;background:white;border-radius:7px;padding:7px 9px;color:#9071a5;font-size:11px;max-width:135px}.no-availability{font-size:11px;color:#a28ab2;margin-bottom:15px;line-height:1.7}.blocked-detail-title{font-size:15px;margin:13px 0 19px;font-weight:550}.dialog-description{font-size:11px;line-height:1.7;color:#a18aad;margin:0 0 18px}.scope-note{margin-top:19px;font-size:10px;line-height:1.7;color:#b29bc1}.timezone-note{font-size:10px;color:#b196bf;margin-top:14px}[hidden]{display:none!important}
@media(min-width:1500px){.page{padding-left:55px;padding-right:55px}.topbar{padding-left:55px;padding-right:55px}:root{--row:44px}}
@media(max-width:1100px){.page{padding:22px}.topbar{padding:0 22px}.toolbar-info{gap:10px}.legend{font-size:9px}.week-controls{gap:9px}.week-controls h1{font-size:18px}.calendar-cell{padding:6px 7px}.cell-label{font-size:9px!important}.cell-time{display:none}.calendar-toolbar .date-picker{display:none}}
@media(max-width:850px){.brand-subtitle,.brand-slash{display:none}.top-actions{gap:6px}.toolbar-info>.legend{display:none}.topbar{padding:0 18px}.page{padding:20px 18px}.week-controls h1{font-size:16px}.week-controls{gap:6px}.calendar-cell{padding:6px}.cell-title{font-size:9px}.calendar-toolbar{gap:8px}.timezone{font-size:9px}.timezone select{max-width:155px}.button{padding:8px 11px;font-size:11px}.calendar-footer{font-size:9px}}
@media(max-width:700px){:root{--rail:55px;--row:42px}.topbar{height:65px;padding:0 16px}.brand{font-size:16px;gap:8px}.brand-mark{width:31px;height:31px;font-size:11px;border-radius:9px}.top-actions .button>span{display:none}.top-actions .button{width:34px;min-height:33px;padding:8px}.top-actions .button.primary{width:auto;padding:8px 12px}.top-actions .button.primary>span{display:inline;font-size:10px}.top-actions .button .icon{width:15px;height:15px}.top-actions{gap:5px}.page{padding:18px 15px 25px}.demo-note{font-size:9px;margin-bottom:17px}.calendar-toolbar{margin-bottom:14px;align-items:flex-start}.week-controls{gap:4px;flex-wrap:wrap;max-width:70%}.week-controls h1{font-size:15px;flex-basis:100%;order:-1;margin-bottom:11px}.week-controls>.button{font-size:10px;padding:6px 10px;min-height:29px}.week-arrows button{height:29px}.toolbar-info{margin-top:2px}.timezone select{max-width:140px;font-size:9px}.timezone{gap:3px}.day-tabs{display:flex;gap:6px;margin:0 0 13px}.day-tab{flex:1;min-width:0;border:1px solid #e8deef;background:white;border-radius:8px;display:flex;align-items:center;flex-direction:column;gap:6px;padding:9px 4px;color:#a78eb8;font-size:9px}.day-tab strong{font-size:14px;font-weight:500}.day-tab.selected{background:var(--purple);border-color:var(--purple);color:white}.calendar-week{grid-template-columns:var(--rail) minmax(0,1fr)}.day-column:not(.selected){display:none}.day-header{height:48px;gap:7px}.time-corner{height:48px}.day-header strong{font-size:15px;width:26px;height:26px}.day-header span{font-size:10px}.calendar-cell{padding:8px 13px}.calendar-cell.available .cell-time{display:block;font-size:10px}.calendar-cell.available .cell-label{font-size:10px!important}.cell-title{font-size:11px}.cell-subtitle{font-size:10px}.calendar-footer{flex-direction:column;gap:7px;font-size:9px}.guest-title-row{margin-bottom:19px}.guest-toolbar-title{font-size:17px}.guest-subtitle{font-size:10px}.details-page{margin:30px auto;padding:25px}.modal-header{padding:20px 21px 17px}.modal-body{padding:20px 21px 22px}.guest .topbar .top-actions{font-size:10px}.link-metadata{line-height:1.7;gap:4px 11px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Stronger day boundaries, with distinct hour and half-hour rules. */
:root{--grid-edge:#9f89b5;--grid-hour:#b7a4c9;--grid-half:#d1c3df}
.calendar-surface{border-color:var(--grid-edge)}
.time-rail,.day-column{border-right-color:#c7bad3}
.day-header,.time-corner{border-bottom-color:var(--grid-edge)}
.calendar-cell{border-bottom-color:var(--grid-half)}
.calendar-cell.half{border-bottom-color:var(--grid-hour)}
.time-label{border-bottom:1px solid var(--grid-half)}
.time-label.half{border-bottom-color:var(--grid-hour)}
.calendar-cell.available{border-bottom-color:#cbb0e3;box-shadow:none}
.calendar-cell.available.half{border-bottom-color:#b28bcf}
.calendar-cell.blocked{border-bottom-color:#c9bdd3;box-shadow:inset 1px 0 #9581a8}
.calendar-cell.blocked.half{border-bottom-color:#ac99bd}
.calendar-cell.booked{border-bottom-color:#7440bc}

/* Cells lift above the grid without changing the calendar's layout. */
.calendar-cell{transform-origin:center;transition:transform 180ms cubic-bezier(.2,.8,.3,1),box-shadow 180ms ease,background 180ms ease,padding 180ms ease;--cell-accent:#9875b5}
.calendar-cell.available{--cell-accent:#9763ce}
.calendar-cell.blocked{--cell-accent:#9581a8}
.calendar-cell.booked{--cell-accent:#4d2586}
.cell-label,.cell-time,.cell-title,.cell-subtitle{transition:font-size 180ms ease,color 180ms ease;line-height:1.15}
.cell-label{display:inline-block}
button.calendar-cell:focus-visible{z-index:5;transform:scale(1.055);padding:4px 7px;box-shadow:0 5px 16px #37136b2b,inset 1px 0 var(--cell-accent)}
button.calendar-cell:focus-visible .cell-label{font-size:12px!important}
button.calendar-cell:focus-visible .cell-title{font-size:12px}
button.calendar-cell:focus-visible .cell-time,button.calendar-cell:focus-visible .cell-subtitle{font-size:10.5px}
.sound-toggle{border:1px solid #c7b4d8;color:#775196;background:#fff;flex:none}
.sound-toggle[aria-pressed="true"]{color:#642bc1;background:#f0e6fc;border-color:#af8ccd}
@media(hover:hover){html:not(.motion-intro-active) button.calendar-cell:hover{z-index:5;transform:scale(1.055);padding:4px 7px;box-shadow:0 5px 16px #37136b2b,inset 1px 0 var(--cell-accent)}html:not(.motion-intro-active) button.calendar-cell:hover .cell-label{font-size:12px!important}html:not(.motion-intro-active) button.calendar-cell:hover .cell-title{font-size:12px}html:not(.motion-intro-active) button.calendar-cell:hover .cell-time,html:not(.motion-intro-active) button.calendar-cell:hover .cell-subtitle{font-size:10.5px}html:not(.motion-intro-active) button.calendar-cell.continued:hover .cell-title,html:not(.motion-intro-active) button.calendar-cell.continued:hover .cell-subtitle{visibility:visible}
}
@media(prefers-reduced-motion:reduce){html:not(.motion-intro-active) button.calendar-cell:hover,button.calendar-cell:focus-visible{transform:none}}

/* Keep unavailable hours and protected preparation visible in the calendar. */
.calendar-cell.off-hours{background:repeating-linear-gradient(135deg,#ede9f1 0,#ede9f1 7px,#e5dfea 7px,#e5dfea 8px);color:#74627f;--cell-accent:#9784a4}html:not(.motion-intro-active) .calendar-cell.off-hours:hover{background:#e1d8e9}
.calendar-cell.off-hours .cell-subtitle{opacity:.85}
.calendar-cell.preparation{background:#e4d7f6;color:#704299;box-shadow:inset 1px 0 #9560c7;border-bottom-color:#b597d0;--cell-accent:#9560c7}html:not(.motion-intro-active) .calendar-cell.preparation:hover{background:#d8c3ef}
.calendar-cell.preparation.allowance{background:#f0e8f8;color:#9273a6;box-shadow:inset 1px 0 #c1a8d8}
.legend-dot.preparation{background:#c5a5e4;border:1px solid #9469bc}
.hours-hint{font-size:10px;color:#80668e;margin:8px 0 16px}
.padding-settings{border-top:1px solid #d9cbe5;margin-top:21px;padding-top:19px}
.padding-settings h3{font-size:12px;font-weight:600;color:#593b75}
.prep-option{display:flex;align-items:flex-start;gap:10px;margin:13px 0 17px;padding:13px;border:1px solid #bba2d3;border-radius:9px;background:#f5effd;cursor:pointer}
.prep-option input{width:16px;height:16px;flex:none;accent-color:var(--purple);margin:1px 0 0}
.prep-option strong{display:block;color:#59337e;font-size:12px;font-weight:600}
.prep-option small{display:block;color:#856395;font-size:10px;line-height:1.6;margin-top:4px}
.padding-summary{font-size:11px;color:#6b438f;margin:14px 0 7px;font-weight:550}
.padding-settings .field-hint{color:#8c729b}
.calendar-row{height:var(--row)}
.calendar-cell.partial{padding:2px 6px;display:flex;align-items:center;justify-content:space-between;gap:3px}
.calendar-cell.partial .cell-subtitle{display:none}
.calendar-cell.partial .cell-title,.calendar-cell.partial .cell-label{font-size:9px}
.calendar-cell.mini{padding:0}
.calendar-cell.mini>*{visibility:hidden}
.calendar-cell.off-hours.continued .cell-title,.calendar-cell.off-hours.continued .cell-subtitle{visibility:hidden}
.calendar-cell.available{background:#f7f1ff}html:not(.motion-intro-active) .calendar-cell.available:hover{background:#e7d7fb}
.calendar-cell.available .cell-time{opacity:0;transition:opacity 150ms ease,font-size 180ms ease}html:not(.motion-intro-active) .calendar-cell.available:hover .cell-time,.calendar-cell.available:focus-visible .cell-time{opacity:1}
.time-label.half{color:#a08cae;font-size:9px}
.booking-instruction{margin:0 0 21px;font-size:clamp(18px,2vw,24px);font-weight:600;line-height:1.4;letter-spacing:-.4px;color:#4b247a}
.time-label.major-time,.calendar-row.major-time{position:relative}
.time-label.major-time::before,.calendar-row.major-time::before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;height:2px;background:#b29ac7;z-index:6;pointer-events:none}
.time-label.major-time{color:#6e4c8d;font-weight:600}
.booking-prompt{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:21px}
.booking-prompt .booking-instruction{margin:0;min-width:0}
.guest-duration-control{display:flex;align-items:center;gap:10px;flex:none}
.guest-duration-control label{font-size:11px;color:#77558e;white-space:nowrap}
.guest-duration-control select{font:inherit;font-size:12px;color:#5c3480;background:#fff;border:1px solid #bba2d3;border-radius:8px;min-height:37px;padding:8px 11px}
.calendar-cell.closed-date{cursor:default;color:#8b7b95}
@media(max-width:700px){.booking-prompt{align-items:flex-start;flex-direction:column;gap:13px}.guest-duration-control{width:100%}.guest-duration-control select{flex:1}}
@media(max-width:1100px){.calendar-toolbar{flex-wrap:wrap}.toolbar-info{margin-left:auto}}
@media(max-width:700px){.calendar-toolbar{flex-wrap:nowrap}.toolbar-info{margin-left:0}.prep-option strong{font-size:11px}}

/* Private dashboard, customer timezone controls and request review. */
.eyebrow,.login-eyebrow{color:#86679f;font-size:10px;letter-spacing:1.1px;text-transform:uppercase;font-weight:600}
.login-eyebrow{display:flex;align-items:center;gap:7px;margin-bottom:13px;letter-spacing:.8px}.login-eyebrow .icon{width:13px;height:13px}
.login-card .field-hint{margin-top:10px}.login-card .button+.button{margin-top:10px}.login-card .login-status{margin:16px 0 0}.spam-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);pointer-events:none}
.action-dot{width:7px;height:7px;background:#b077de;border-radius:50%;display:inline-block}
.dashboard-page{max-width:1260px;padding-top:34px}.dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}
.dashboard-heading h1{font-size:29px;letter-spacing:-.8px;color:#4b247a;margin:8px 0}.dashboard-heading p{font-size:12px;color:#8a739b}
.dashboard-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:27px}.dashboard-stats article{background:#fff;border:1px solid #dfd2ea;border-radius:13px;padding:20px 21px;display:flex;flex-direction:column;gap:9px}.dashboard-stats article>span{font-size:11px;color:#8b729f}.dashboard-stats strong{font-size:32px;color:#5a2992;font-weight:600;line-height:1.1}.dashboard-stats small{font-size:10px;color:#a08bad}.dashboard-stats .needs-review{background:#f1e8fc;border-color:#c9a7e6}
.dashboard-section{background:#fff;border:1px solid #dfd2ea;border-radius:14px;margin:22px 0;padding:25px}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:20px}.section-heading h2{font-size:17px;font-weight:600;color:#553078;letter-spacing:-.25px}.section-heading p{font-size:11px;color:#957ba7;margin-top:6px;max-width:680px}.dashboard-empty{border:1px dashed #e0d2ec;border-radius:9px;background:#fcfaff;padding:23px 19px;font-size:12px;color:#9a80ac;line-height:1.7}
.request-card{display:flex;justify-content:space-between;align-items:flex-start;gap:22px;border:1px solid #e6deed;border-radius:10px;padding:18px;margin-top:13px;background:#fdfcfe}.request-card.request-pending{background:#faf5ff;border-color:#d6bce9}.request-card h3{font-size:13px;font-weight:600;color:#653d81;margin:9px 0 5px}.request-card p{font-size:11px;color:#89669c;margin-top:5px}.request-card small{display:block;font-size:10px;color:#a28aaf;margin-top:8px}.request-card .request-reason{white-space:pre-wrap;color:#725086;background:#f2ebf8;border-radius:6px;padding:10px;margin:11px 0;overflow-wrap:anywhere}
.card-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:7px;flex:none;max-width:370px}.history-controls{display:grid;grid-template-columns:minmax(160px,1fr) 175px;gap:13px;margin-bottom:18px}.history-controls .field+.field{margin:0}.history-card{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 0;border-top:1px solid #eee6f4}.history-card:first-child{border-top:0}.history-main{flex:1;min-width:0}.history-main h3{font-size:13px;color:#63417d;font-weight:600}.history-main>.small{margin-top:6px}.history-card .card-actions{max-width:300px}.legacy-link-note{font-size:10px;color:#aa94b7;max-width:150px;line-height:1.5}.link-metadata-detail{overflow-wrap:anywhere}.booking-history-item{width:100%;display:flex;align-items:center;gap:20px;background:transparent;border:0;border-top:1px solid #eee6f4;padding:16px 0;text-align:left;color:#836498;font-size:11px}.booking-history-item:first-child{border-top:0}.booking-history-item>span:first-child{flex:1}.booking-history-item strong{font-size:12px;font-weight:550;color:#64447d}.booking-history-item small{display:block;color:#a18aad;margin-top:5px;font-size:10px}.booking-history-item .icon{width:14px;height:14px;color:#ae96bb}
.delivery-stats{display:flex;flex-wrap:wrap;gap:11px 22px;margin:0 0 13px;color:#9476a6;font-size:11px}.delivery-stats strong{color:#673a89}.delivery-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 0;border-top:1px solid #eee6f4;font-size:11px;color:#8a6a9c}.delivery-row strong{font-weight:500}.delivery-row small{display:block;font-size:10px;color:#a88eb6;margin-top:5px}.booking-notifications{margin-top:20px}.booking-notifications h3{font-size:12px;color:#694581;font-weight:600;margin-bottom:7px}.booking-notifications .small{font-size:10px;line-height:1.7}
.preview-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 18px;background:#eee2fb;border:1px solid #c7a4e5;border-radius:10px;margin-bottom:22px;color:#623489}.preview-banner strong{display:block;font-size:12px;font-weight:600}.preview-banner span{display:block;font-size:10px;line-height:1.7;margin-top:4px;color:#8a60a5}.preview-banner .button{flex:none}
.preview-disabled{opacity:.5;cursor:default;pointer-events:none}
.timezone-panel{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 19px;margin-bottom:22px;background:#fff;border:1px solid #d7c5e8;border-radius:11px}.timezone-panel-heading{display:flex;gap:10px;align-items:flex-start;min-width:0}.timezone-panel-heading>.icon{margin-top:2px;stroke:#8e65b0;width:17px;height:17px}.timezone-panel-heading strong{display:block;font-size:12px;font-weight:600;color:#643780;line-height:1.6}.timezone-panel-heading span{display:block;font-size:10px;color:#a184b1;line-height:1.7;margin-top:3px}.timezone-controls{display:flex;align-items:center;gap:20px}.timezone-switch{display:flex;align-items:center;gap:9px;cursor:pointer;font-size:11px;color:#7e578f;white-space:nowrap;position:relative;min-height:30px}.timezone-switch input{position:absolute;width:1px;height:1px;opacity:0}.switch-track{display:block;width:38px;height:22px;border-radius:15px;background:#ded4e7;border:1px solid #c5b3d3;transition:background .24s ease,border-color .24s ease;flex:none;padding:3px;box-shadow:inset 0 1px 3px #42215d0a}.switch-track>span{display:block;width:14px;height:14px;border-radius:50%;background:white;box-shadow:0 1px 3px #38204426;transform:translateX(0);transition:transform .28s cubic-bezier(.2,1.5,.4,1)}.timezone-switch input:checked+.switch-track{background:#7737bd;border-color:#7737bd}.timezone-switch input:checked+.switch-track>span{transform:translateX(15px)}.timezone-switch input:focus-visible+.switch-track{outline:3px solid #ba98e7;outline-offset:3px}.timezone-select-field{min-width:180px;max-width:245px;gap:4px}.timezone-select-field label{font-size:9px;color:#a68ab5}.timezone-select-field select{padding:7px 9px;min-height:33px;font-size:11px}.timezone-select-field .field-hint{font-size:9px;max-width:245px}.timezone-select-field select:disabled{opacity:.55;cursor:default;background:#f8f4fb}
.details-page .timezone-panel{display:block;padding:14px;margin:0 0 20px;background:#fcf9ff}.details-page .timezone-controls{margin-top:12px;gap:12px;align-items:flex-start;flex-direction:column}.details-page .timezone-select-field{width:100%;max-width:none}.details-page .timezone-panel-heading strong{font-size:11px}.details-page .timezone-panel-heading span{font-size:9px}.details-page .timezone-select-field select{max-width:100%}.details-page .timezone-select-field .field-hint{max-width:none}.details-main .details-page{margin-top:30px}.host-time-note{font-size:10px;color:#9e80ae;margin-top:-5px;margin-bottom:20px;line-height:1.7}.booking-request-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.details-page .booking-request-actions .button{margin-top:0;font-size:10px}.details-page .notification-note{margin-top:20px}.notice-settings{margin-top:20px!important}.field textarea{width:100%;font:inherit;font-size:12px;color:#614870;border:1px solid #dfd3e9;border-radius:7px;padding:10px;line-height:1.7;resize:vertical}
@media(max-width:1050px){.timezone-panel{align-items:flex-start;flex-direction:column;gap:14px}.timezone-controls{justify-content:space-between;width:100%}.timezone-select-field{flex:1;max-width:340px}.history-card{flex-direction:column}.history-card .card-actions{max-width:none;justify-content:flex-start}.request-card .card-actions{max-width:160px}.dashboard-heading h1{font-size:25px}}
@media(max-width:700px){.dashboard-page{padding-top:24px}.dashboard-heading{align-items:flex-start;flex-direction:column}.dashboard-heading h1{font-size:24px}.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dashboard-stats article{padding:15px;gap:7px}.dashboard-stats strong{font-size:27px}.dashboard-stats article>span{font-size:10px}.dashboard-stats small{font-size:9px}.dashboard-section{padding:18px 16px}.request-card{flex-direction:column;padding:14px;gap:14px}.request-card .card-actions{max-width:none;justify-content:flex-start}.history-controls{grid-template-columns:1fr 120px;gap:10px}.history-controls input{font-size:11px}.booking-history-item{gap:9px}.booking-history-item>span:nth-child(2){text-align:right;max-width:130px;line-height:1.6}.preview-banner{padding:13px;gap:10px;align-items:flex-start;flex-direction:column}.timezone-panel{padding:14px}.timezone-controls{align-items:flex-start;flex-direction:column;gap:12px}.timezone-select-field{max-width:none;width:100%}.timezone-panel-heading strong{font-size:11px}.timezone-panel-heading span{font-size:9px}.timezone-controls .field-hint{max-width:none}.top-actions .button{position:relative}.action-dot{position:absolute;right:3px;top:3px}.section-heading{gap:10px}.card-actions .button{font-size:10px}.details-page{padding:23px 20px}.booking-request-actions{flex-direction:column}.booking-request-actions .button{width:100%}}

/* Reviewable admin drag selection; static unavailable cells never act as buttons. */
.calendar-cell:not(button){cursor:default}
.calendar-cell.available[data-range-start]{cursor:crosshair}
html.calendar-drag-armed .calendar-week{user-select:none;-webkit-user-select:none}
html.calendar-drag-armed .calendar-cell{transform:none!important;transition:none!important}
html.calendar-drag-armed .calendar-cell :is(.cell-title,.cell-label){font-size:10px!important}
html.calendar-drag-armed .calendar-cell :is(.cell-time,.cell-subtitle){font-size:9px!important}
html.calendar-drag-active .calendar-cell.drag-selected{background:#dbc4f5!important;box-shadow:inset 0 0 0 1px #8958bc!important;outline:0;z-index:4}
html.calendar-drag-active .calendar-cell.drag-invalid{background:#f6dce5!important;box-shadow:inset 0 0 0 1px #ba6a87!important;outline:0;z-index:4}
.calendar-drag-hint{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);max-width:calc(100vw - 30px);padding:12px 18px;border:1px solid #baa0d5;background:#fff;color:#583b76;box-shadow:0 8px 30px #28113722;border-radius:10px;font-size:12px;line-height:1.6;z-index:10001;pointer-events:none;text-align:center}
.calendar-drag-hint.invalid{border-color:#c9859e;background:#fff2f6;color:#96465f}
.drag-range-summary{list-style:none;margin:0 0 20px;padding:0;border:1px solid #d8c7e8;border-radius:8px;background:#faf6ff;max-height:220px;overflow:auto}
.drag-range-summary li{display:flex;justify-content:space-between;gap:16px;padding:10px 13px;border-top:1px solid #e4d8ed;color:#79578e;font-size:12px;line-height:1.6}
.drag-range-summary li:first-child{border-top:0}.drag-range-summary strong{font-weight:550}

/* Invite coordination and readable meeting links. */
.booking-invite-option{display:flex;align-items:flex-start;gap:10px;margin:16px 0;padding:13px 14px;border:1px solid #d5c0e8;border-radius:8px;background:#f7f1fd;color:#603482;cursor:pointer;line-height:1.65;font-size:12px}
.booking-invite-option input{flex:none;width:15px;height:15px;margin:2px 0 0;accent-color:var(--purple)}
.booking-invite-option strong{font-weight:700}
.same-day-option{align-items:flex-start;gap:9px;margin:18px 0 0}
.same-day-option input{flex:none;margin-top:3px;accent-color:var(--purple)}
.same-day-option span{display:block;line-height:1.6}
.same-day-option strong{display:block;font-size:11px;font-weight:600}
.same-day-option small{display:block;margin-top:4px;font-size:10px;color:var(--muted);font-weight:400}
.meeting-link-details{margin-top:18px;min-width:0}
.meeting-link-details .field-label{display:block;margin-bottom:7px}
.plain-teams-link{display:block;font-size:11px;line-height:1.7;text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere;word-break:break-word;color:var(--purple)}
.field .meeting-link-text{font-size:11px;line-height:1.65;min-height:76px;background:#faf7fd;resize:vertical;overflow-wrap:anywhere;word-break:break-all;user-select:text}
.email-invite-note strong{font-weight:650}
.booking-detail-actions{flex-wrap:wrap}
.delete-meeting-warning{border-color:#dfb6c5;background:#fff2f6;color:#8b3f5b}
.delete-meeting-warning+ .scope-note strong{font-weight:650}
.badge.deleted{background:#f1edf4;color:#a393ae}
.history-controls{grid-template-columns:minmax(160px,1fr) 180px 175px}
.link-kind{display:inline-block;margin-top:7px;font-size:10px;font-weight:600;color:#806792}
.overview-period{margin-top:9px;font-size:11px;color:#806792;line-height:1.7}
.overview-period small{display:block;font-size:10px;color:var(--muted)}
.history-pagination{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:18px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}
.overview-share-note{margin-top:20px;margin-bottom:0}.overview-share-note p{margin-top:5px}
.overview-generated-summary{margin-top:18px;margin-bottom:0}
.overview-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:9px 0 21px}
.overview-heading h1{font-size:25px;letter-spacing:-.5px;margin:7px 0 6px;font-weight:600}
.overview-heading p{font-size:12px;color:var(--muted)}
.overview-badge{font-size:10px;padding:7px 10px}
.overview-scope{display:flex;flex-wrap:wrap;gap:9px 25px;margin-bottom:23px}
.overview-scope strong{width:100%;font-size:12px}.overview-scope>span{display:flex;gap:6px;align-items:center;font-size:11px}
.overview-scope .icon{height:14px;width:14px}.overview-scope p{width:100%;font-size:10px}
.overview-week-title{font-size:15px;font-weight:550;letter-spacing:-.2px}
.overview-page .calendar-cell{cursor:default}.overview-page .calendar-cell.booked .cell-title{font-weight:600}
.overview-days-1{grid-template-columns:var(--rail) minmax(0,1fr)}
.overview-days-2{grid-template-columns:var(--rail) repeat(2,minmax(0,1fr))}
.overview-days-3{grid-template-columns:var(--rail) repeat(3,minmax(0,1fr))}
.overview-days-4{grid-template-columns:var(--rail) repeat(4,minmax(0,1fr))}
.overview-days-5{grid-template-columns:var(--rail) repeat(5,minmax(0,1fr))}
.overview-days-6{grid-template-columns:var(--rail) repeat(6,minmax(0,1fr))}
@media(max-width:700px){.history-controls{grid-template-columns:1fr 1fr}.history-controls>.field:first-child{grid-column:1/-1}.overview-heading{align-items:flex-start}.overview-heading h1{font-size:22px}.overview-heading>.badge{display:none}.overview-scope{gap:8px}.overview-week-title{font-size:13px;line-height:1.5}.overview-page .week-controls{flex-wrap:nowrap;max-width:none}.overview-page .calendar-toolbar{flex-wrap:wrap;gap:12px}.overview-page .toolbar-info{display:flex;gap:14px}.overview-page .toolbar-info>.legend{display:flex}.overview-page .calendar-week{grid-template-columns:var(--rail) minmax(0,1fr)}.overview-page .calendar-footer{line-height:1.7}}
