:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#172033;background:#f3f5fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0}.shell{width:min(1180px,calc(100% - 32px));margin:36px auto}.brand{color:#5b5bd6;font-weight:800;letter-spacing:.04em;text-transform:uppercase;font-size:.78rem}h1{font-size:clamp(2rem,5vw,3.4rem);margin:.3rem 0}h2{margin-top:0}.card{background:#fff;border:1px solid #e4e8f1;border-radius:18px;padding:20px;margin:20px 0;box-shadow:0 8px 28px #25304d0c}.narrow{max-width:430px}.controls,.toolbar,.inline,.nav,.view-tabs,.stats,.list-row,.weekdays,.calendar-legend{display:flex;gap:12px;align-items:center}.controls,.toolbar,.list-row{justify-content:space-between}.controls{flex-wrap:wrap}.calendar-grid,.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.calendar-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.day{background:#fff;border:1px solid #e4e8f1;border-radius:16px;padding:14px;min-height:180px}.day h3{text-transform:capitalize;margin-top:0}.slot{display:block;width:100%;margin:7px 0;background:#eeeefe;color:#4545aa;border:0;border-radius:9px;padding:9px;cursor:pointer}.slot:hover,.primary,.active{background:#5b5bd6!important;color:#fff!important}.empty{color:#9299a8;font-size:.9rem}button,input,select,textarea{font:inherit;border:1px solid #d8ddea;border-radius:9px;padding:10px}button{cursor:pointer;background:#fff}.primary{border:0}label{display:grid;gap:6px;margin:12px 0}dialog{border:0;border-radius:18px;padding:24px;width:min(480px,calc(100% - 30px));box-shadow:0 30px 100px #1118}dialog::backdrop{background:#12182a99}.close{float:right;border:0;font-size:1.5rem}.success,.error{padding:14px;border-radius:10px}.success{background:#e1f7e9;color:#176b38}.error{background:#fee5e5;color:#9c2929}.stats,.inline,.weekdays,.calendar-toolbar{flex-wrap:wrap}.stats div{background:#fff;padding:20px;border-radius:14px;min-width:150px}.stats strong{font-size:1.8rem;display:block}.list-row{border-top:1px solid #edf0f5;padding:12px 0;gap:20px}.inline input,.inline select{flex:1;min-width:170px}.weekdays{border:0;padding:0;margin:0}.weekdays label{display:flex;gap:3px;margin:0}.weekdays input{min-width:auto}.calendar-toolbar h2{margin-bottom:8px}.calendar-legend{justify-content:flex-end;color:#677085;font-size:.85rem;margin-bottom:12px}.calendar-legend span{display:flex;align-items:center;gap:5px}.calendar-legend i{width:10px;height:10px;border-radius:3px}.legend-appointment{background:#5b5bd6}.legend-block{background:#8a93a5}.admin-event{display:grid;gap:3px;padding:8px;margin:7px 0;border-radius:9px;font-size:.78rem;overflow-wrap:anywhere}.appointment-event{background:#eeeefe;border-left:4px solid #5b5bd6}.block-event{background:#edf0f4;border-left:4px solid #8a93a5}.admin-event span,.admin-event small{color:#596175}.admin-calendar-grid .day{min-width:0}@media(max-width:650px){.shell{margin:20px auto}.controls{align-items:stretch}.view-tabs,.nav{justify-content:center}.calendar-grid{grid-template-columns:1fr}.day{min-height:auto}.list-row{align-items:flex-start}.inline{display:grid}.calendar-toolbar{align-items:stretch}.calendar-toolbar>div{width:100%}}

/* Admin calendar workspace */
.admin-body{background:#f5f6f8}.admin-shell{width:min(1500px,calc(100% - 32px));margin:22px auto}.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.admin-header h1{font-size:1.65rem}.login-card{margin:60px auto}.muted{color:#727b8c}.remember{display:flex;grid-template-columns:auto 1fr;align-items:center}.remember input{width:auto}.admin-tabs{display:flex;border-bottom:1px solid #dce1e9;margin-bottom:16px}.admin-tab{border:0;border-radius:0;background:transparent;padding:13px 22px;border-bottom:3px solid transparent}.admin-tab.active{background:transparent!important;color:#4545aa!important;border-bottom-color:#5b5bd6;font-weight:700}.tab-panel[hidden]{display:none}.calendar-commandbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid #dfe3eb;border-radius:12px 12px 0 0;padding:12px}.compact-field{margin:0;min-width:190px}.add-event-button{height:42px}.calendar-navigation{display:flex;align-items:center;gap:7px;margin-left:auto}.calendar-navigation strong{min-width:190px;text-transform:capitalize}.calendar-legend{background:#fff;margin:0;padding:8px 14px;border-inline:1px solid #dfe3eb}.outlook-calendar{background:#fff;border:1px solid #dfe3eb;border-radius:0 0 12px 12px}.calendar-empty{padding:30px;color:#737c8e}.outlook-time-grid{display:grid;grid-template-columns:62px repeat(var(--calendar-days,7),minmax(135px,1fr));height:calc(100vh - 250px);min-height:500px;overflow:auto}.time-axis,.time-day{min-width:0}.time-axis{background:#fff;position:sticky;left:0;z-index:5;border-right:1px solid #dfe3eb}.time-corner,.time-day-header{height:52px;position:sticky;top:0;background:#fff;z-index:4;border-bottom:1px solid #dfe3eb}.time-label{height:64px;text-align:right;padding:0 8px;color:#747d8e;font-size:.72rem;transform:translateY(-7px)}.time-day{border-right:1px solid #e3e6ec}.time-day-header{display:flex;justify-content:center;align-items:center;gap:7px;text-transform:capitalize}.time-day-header strong{display:grid;place-items:center;width:28px;height:28px;border-radius:50%}.time-day.today .time-day-header strong{background:#5b5bd6;color:#fff}.time-day-body{height:1536px;position:relative}.time-slot{display:block;width:100%;height:64px;border:0;border-bottom:1px solid #e7e9ee;border-radius:0;background:transparent;padding:0}.time-slot:hover{background:#f1f3ff}.positioned-event{position:absolute;left:3px;right:3px;z-index:2;border-radius:4px;overflow:hidden;box-shadow:0 1px 3px #17203322}.outlook-event{height:100%;padding:4px 6px;display:grid;align-content:start;gap:2px;font-size:.72rem;text-align:left;overflow:hidden;pointer-events:auto}.outlook-event strong,.outlook-event span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.positioned-event.appointment-event,.outlook-event.appointment-event{background:#dddffc;color:#34348e;border-left:4px solid #5b5bd6}.positioned-event.block-event,.outlook-event.block-event{background:#e5e8ed;color:#505867;border-left:4px solid #7b8495}.outlook-month-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));overflow:auto}.month-weekday{padding:10px;text-align:center;font-size:.76rem;font-weight:700;color:#6e7788;border-bottom:1px solid #dfe3eb}.month-day{border:0;border-right:1px solid #e3e6ec;border-bottom:1px solid #e3e6ec;border-radius:0;background:#fff;min-height:125px;padding:7px;text-align:left;overflow:hidden}.month-day:hover{background:#f8f9ff}.month-day.outside-month{background:#f7f8fa;color:#a0a7b4}.month-number{display:grid;place-items:center;width:27px;height:27px;margin-left:auto}.month-day.today .month-number{background:#5b5bd6;color:#fff;border-radius:50%}.month-events{display:grid;gap:3px}.month-events .outlook-event{height:auto;border-radius:4px;padding:4px}.event-dialog{width:min(570px,calc(100% - 28px))}.event-dialog form>h2{margin-bottom:18px}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}

@media(max-width:760px){.admin-shell{width:min(100% - 16px,1500px);margin:10px auto}.calendar-commandbar{align-items:stretch}.calendar-commandbar>*{flex:1}.calendar-navigation{margin-left:0;min-width:100%}.calendar-navigation strong{min-width:0}.outlook-time-grid{grid-template-columns:54px repeat(var(--calendar-days,7),minmax(120px,1fr));height:65vh}.outlook-month-grid{grid-template-columns:repeat(7,minmax(105px,1fr))}.form-columns{grid-template-columns:1fr}}

/* Readable events and detail dialog */
.time-label{height:80px;font-size:.78rem}.time-day-body{height:1920px}.time-slot{height:80px}.positioned-event{right:auto;min-width:0;border-radius:5px;box-shadow:0 1px 4px #17203330}.outlook-event{padding:6px 8px;gap:3px;font-size:.82rem;line-height:1.25;cursor:default}.outlook-event:hover{filter:brightness(.97);box-shadow:inset 0 0 0 1px #fff8}.month-events .outlook-event{padding:5px 6px;font-size:.78rem}.details-dialog{width:min(620px,calc(100% - 28px))}.detail-type{display:inline-block;padding:5px 9px;border-radius:20px;font-size:.75rem;font-weight:700;margin-bottom:10px}.appointment-type{background:#e6e7ff;color:#4141a3}.block-type{background:#e8ebef;color:#555e6e}.event-detail-list{display:grid;grid-template-columns:110px 1fr;gap:10px 16px}.event-detail-list dt{font-weight:700;color:#6d7585}.event-detail-list dd{margin:0;overflow-wrap:anywhere}.danger-button{background:#fff1f1;color:#a42626;border-color:#f1caca}
.positioned-event .outlook-event{display:block;white-space:nowrap;text-overflow:ellipsis}.positioned-event .outlook-event strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.positioned-event .outlook-event span{display:none}
.outlook-month-grid{grid-template-columns:repeat(var(--calendar-days,7),minmax(120px,1fr))}
.management-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 0;border-top:1px solid #e8ebf0}.management-row:first-child{border-top:0}.management-row>div:first-child{display:grid;gap:4px}.management-row span{color:#6d7585;font-size:.86rem}.row-actions{display:flex;gap:8px;flex-wrap:wrap}.danger-button:disabled{opacity:.45;cursor:not-allowed}.users-list-card{min-width:0}.password-dialog{width:min(480px,calc(100% - 28px))}
@media(max-width:650px){.management-row{align-items:flex-start;flex-direction:column}.row-actions{width:100%}.row-actions button{flex:1}}

/* Compact desktop administration dashboard */
.management-top-grid{display:grid;grid-template-columns:minmax(300px,380px) minmax(480px,1fr);gap:16px;align-items:start;margin:18px 0}.management-top-grid>.card{margin:0}.schedule-form{display:grid;gap:12px}.schedule-form>label{margin:0}.schedule-hours{display:grid;grid-template-columns:1fr 1fr;gap:12px}.schedule-hours label{margin:0}.schedule-card .weekdays{background:#f7f8fb;border:1px solid #e5e8ef;border-radius:10px;padding:10px}.calendars-panel{margin-top:16px}.section-heading h2,.section-heading p{margin-bottom:4px}.calendar-management-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,290px));gap:12px;justify-content:start;margin-top:16px}.calendar-manage-tile{position:relative;display:grid;gap:13px;border:1px solid #e1e5ec;border-radius:12px;padding:15px;background:#fafbfc;overflow:hidden}.calendar-tile-color{position:absolute;inset:0 auto 0 0;width:5px}.calendar-tile-head{display:grid;gap:3px;padding-left:3px}.calendar-tile-head strong{font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-tile-head span{font-size:.82rem;color:#717a8a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-tile-metrics{display:flex;gap:14px;color:#687183;font-size:.78rem}.calendar-tile-metrics b{color:#222b3c}.calendar-tile-actions{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px}.calendar-tile-actions a{display:inline-flex;align-items:center;min-height:37px;padding:8px 10px;border:1px solid #d8ddea;border-radius:9px;color:#4545aa;text-decoration:none;background:#fff;grid-row:2}.calendar-tile-actions button{padding:8px 10px}.calendar-tile-actions .google-tile-button{grid-column:1/-1;grid-row:1;width:100%;border-color:#b8c9ee;background:#edf3ff;color:#174ea6}.calendar-tile-actions .google-tile-button:hover{background:#dfe9ff}.calendar-tile-actions .google-linked-button{border-color:#b8dfc5;background:#e7f4eb;color:#176b38}.calendar-tile-actions .google-linked-button:hover{background:#d8eddf}.calendar-tile-actions .danger-button{grid-row:2}
@media(max-width:850px){.management-top-grid{grid-template-columns:1fr}.calendar-management-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}}
@media(max-width:520px){.calendar-management-grid{grid-template-columns:1fr}.schedule-hours{grid-template-columns:1fr}}
.booking-success p{margin-top:0}.calendar-actions{display:flex;gap:10px;flex-wrap:wrap}.calendar-actions a{display:inline-flex;padding:10px 13px;border-radius:9px;background:#fff;color:#176b38;text-decoration:none;border:1px solid #a9dabb;font-weight:650}
.google-integration-card{max-width:900px}.integration-heading,.integration-heading>div{display:flex;align-items:center;justify-content:space-between;gap:14px}.integration-heading>div{justify-content:flex-start}.integration-heading h2,.integration-heading p{margin:0 0 4px}.integration-logo{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,#4285f4 0 25%,#34a853 25% 50%,#fbbc05 50% 75%,#ea4335 75%);color:#fff;font-size:1.4rem;font-weight:800}.integration-notice{padding:14px;background:#f6f7fa;border-radius:10px;color:#626b7b}.connected-status{display:flex;align-items:center;gap:10px}.connected-status span{background:#e2f6e9;color:#176b38;border-radius:20px;padding:5px 9px;font-size:.78rem;font-weight:700}.mapping-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.mapping-list{margin-top:20px}.mapping-row{display:grid;grid-template-columns:minmax(150px,1fr) auto minmax(150px,1fr);gap:12px;align-items:center;padding:11px 0;border-top:1px solid #e6e9ef}.mapping-row>span:last-child{color:#626b7b}@media(max-width:650px){.integration-heading{align-items:flex-start;flex-direction:column}.mapping-fields{grid-template-columns:1fr}.mapping-row{grid-template-columns:1fr auto 1fr}}
.google-integration-card .primary:disabled{background:#aeb4c0!important;color:#fff!important;cursor:not-allowed}
.google-integration-dialog{width:min(720px,calc(100% - 28px));padding:0;overflow:hidden}.google-integration-dialog>.close{position:absolute;right:12px;top:10px;z-index:2}.google-integration-dialog .google-integration-card{margin:0;padding:26px;border:0;border-radius:0;box-shadow:none}.google-integration-dialog .integration-heading{padding-right:34px}

/* Responsive admin navigation and a clearer, compact management workspace. */
.admin-body{overflow-x:hidden}.admin-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.admin-tab{min-width:0;padding-inline:10px;white-space:normal}.tab-panel{min-width:0}.management-intro{margin:8px 0 16px}.management-intro h2,.management-intro p{margin:0 0 5px}.management-top-grid{grid-template-columns:repeat(3,minmax(0,360px));justify-content:start;margin-top:0}.management-top-grid>.card{min-width:0;width:100%}.management-top-grid input,.management-top-grid select{min-width:0;width:100%}.schedule-card{order:2}.calendar-create-card{order:3}
@media(max-width:1100px){.management-top-grid{grid-template-columns:repeat(2,minmax(0,360px))}}
@media(max-width:760px){.admin-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;border:0}.admin-tab{border:1px solid #dfe3eb;border-radius:9px;padding:10px 6px}.admin-tab.active{border-color:#5b5bd6}.management-top-grid{grid-template-columns:minmax(0,1fr)}.management-top-grid>.card{max-width:none}.calendar-commandbar>*{min-width:0}.calendar-commandbar .compact-field{min-width:0}.calendar-hours-toggle{flex-basis:100%}}
.management-top-grid,.calendar-management-grid,.calendars-panel{min-width:0;max-width:100%}.admin-body button,.admin-body input,.admin-body select,.admin-body textarea{max-width:100%}

/* Outlook-like event moving and resizing */
.drag-help{margin-right:auto;color:#606a7c}.positioned-event{cursor:grab;touch-action:none;overflow:visible}.positioned-event:active{cursor:grabbing}.positioned-event>.outlook-event{border-radius:5px;overflow:hidden}.resize-handle{position:absolute;left:7px;right:7px;height:8px;z-index:4;cursor:ns-resize}.resize-handle::after{content:"";position:absolute;left:50%;top:3px;width:22px;height:2px;border-radius:2px;background:currentColor;opacity:0;transform:translateX(-50%)}.positioned-event:hover .resize-handle::after{opacity:.5}.resize-start{top:0}.resize-end{bottom:0}.calendar-drag-source{opacity:.3}.calendar-drag-ghost{position:fixed!important;z-index:10000!important;pointer-events:none;opacity:.9;box-shadow:0 10px 28px #17203355!important}.calendar-drag-ghost .resize-handle{display:none}.month-events [data-event-key]{cursor:grab;touch-action:none}.month-drag-ghost{position:fixed;z-index:10000;pointer-events:none;width:190px;height:auto!important;box-shadow:0 8px 22px #17203344}.month-day.drop-target{background:#e9ebff;box-shadow:inset 0 0 0 2px #5b5bd6}.interval-confirm-dialog{width:min(620px,calc(100% - 28px))}.interval-comparison{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin:20px 0}.interval-comparison>div:not(.interval-arrow){display:grid;gap:6px;padding:14px;border:1px solid #e1e5ec;border-radius:11px;background:#f8f9fb}.interval-comparison span{font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;color:#737c8e}.interval-arrow{font-size:1.4rem;color:#5b5bd6}.interval-note{font-size:.85rem}.primary:disabled{opacity:.55;cursor:wait}
@media(max-width:650px){.drag-help{width:100%;margin-bottom:3px}.interval-comparison{grid-template-columns:1fr}.interval-arrow{text-align:center;transform:rotate(90deg)}}

/* Per-user services */
.service-controls>label{min-width:220px}.service-slot{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:9px;text-align:left}.service-slot strong{font-size:1rem}.service-slot span{font-size:.78rem;opacity:.82;overflow:hidden;text-overflow:ellipsis}.services-layout{display:grid;grid-template-columns:minmax(300px,400px) minmax(480px,1fr);gap:16px;align-items:start}.services-layout>.card{margin:0}.services-management{display:grid;gap:0}.service-manage-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;border-top:1px solid #e5e8ef}.service-manage-row:first-child{border-top:0}.service-manage-row>div:first-child{display:grid;gap:4px}.service-manage-row span,.service-manage-row small{color:#6d7585}.service-manage-row small{max-width:650px}.service-editor-card textarea{min-height:80px}.services-list-card{min-width:0}
@media(max-width:850px){.services-layout{grid-template-columns:1fr}}@media(max-width:650px){.service-controls>label{width:100%;min-width:0}.service-manage-row{align-items:flex-start;flex-direction:column}.service-manage-row .row-actions{width:100%}}

/* Explicit overlap confirmation */
.overlap-warning-dialog{width:min(560px,calc(100% - 28px))}.warning-symbol{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#fff0d5;color:#9a5b00;font-size:1.5rem;font-weight:800;margin-bottom:12px}.requested-interval{display:grid;gap:5px;padding:13px 15px;margin:18px 0;border-radius:10px;background:#f7f8fb;border:1px solid #e1e5ec}.requested-interval span{font-size:.76rem;text-transform:uppercase;color:#737c8e}.warning-button{background:#b76500;color:#fff;border-color:#b76500}.warning-button:hover{background:#965300}.warning-button:disabled{opacity:.55;cursor:wait}

/* Working-hours inheritance and calendar shading */
.time-day-body{background:#eceef2}.working-hours{position:absolute;left:0;right:0;z-index:0;background:#fff;pointer-events:none;border-top:1px solid #dde1e8;border-bottom:1px solid #dde1e8}.time-slot{position:relative;z-index:1}.time-day.outside-working-day .time-day-header{background:#f0f1f4;color:#7b8391}.month-day.outside-working-day{background:#eceef2;color:#747d8d}.month-day.outside-working-day:hover{background:#e5e7ec}.month-day.outside-working-day .outlook-event{color:inherit}.schedule-hint{font-size:.84rem;margin:0}.inherited-schedule{opacity:.58}.schedule-card #scheduleFields{display:grid;gap:12px}.schedule-card #scheduleFields .schedule-hours label{margin:0}
.dialog-error{margin:12px 0 0}.positioned-event:focus-visible{outline:3px solid #7777df;outline-offset:2px}

/* Calendar click targets follow each calendar's slot cadence */
.time-slot{position:absolute;left:0;right:0;width:100%;z-index:1;border-bottom:1px solid #e6e8ed}.time-slot:not(.hour-slot){border-bottom-style:dashed;border-bottom-color:#eceef2}.time-slot.hour-slot{border-top:1px solid #dfe3e9}.time-slot:hover{background:#6969d612}

/* Editable calendar cards */
.calendar-tile-actions{display:flex;flex-wrap:wrap}.calendar-tile-actions .google-tile-button{order:1;flex:0 0 100%}.calendar-tile-actions [data-edit-calendar]{order:2;flex:1}.calendar-tile-actions a{order:3;grid-row:auto;flex:1}.calendar-tile-actions .danger-button{order:4;grid-row:auto}.calendar-edit-dialog textarea{min-height:76px}

/* Public landing page, visibility settings and appointment context menu */
.landing-page{--landing-accent:#5b5bd6;background:radial-gradient(circle at 15% 15%,color-mix(in srgb,var(--landing-accent) 16%,transparent),transparent 38%),#f4f5f8}.landing-shell{width:min(980px,calc(100% - 32px));margin:0 auto;padding:28px 0}.landing-hero{min-height:440px;margin-top:34px;padding:clamp(34px,7vw,76px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:#fff}.landing-organization{margin:0 0 12px;color:var(--landing-accent);font-weight:750;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.landing-hero h1{max-width:760px;margin:0;font-size:clamp(2.2rem,6vw,4.6rem);line-height:1.02}.landing-intro{max-width:650px;margin:24px 0 30px;color:#606878;font-size:clamp(1rem,2vw,1.25rem);line-height:1.65}.landing-cta{display:inline-flex;padding:14px 22px;border-radius:11px;background:var(--landing-accent);color:#fff;text-decoration:none;font-weight:750;box-shadow:0 10px 24px color-mix(in srgb,var(--landing-accent) 25%,transparent)}.landing-message{color:#a12d2d}.site-settings-card{margin-bottom:16px}.site-settings-form{display:grid;gap:12px}.site-settings-form textarea{min-height:92px}.checkbox-row{display:flex!important;align-items:center;gap:9px}.checkbox-row input{width:auto}.visibility-badge{width:max-content;padding:4px 8px;border-radius:999px;font-size:.72rem;font-weight:700}.visibility-badge.public{background:#e5f6eb;color:#176b38}.visibility-badge.internal{background:#eceef2;color:#555f70}.appointment-context-menu{position:fixed;z-index:20000;width:min(250px,calc(100vw - 24px));padding:7px;background:#fff;border:1px solid #dfe3ea;border-radius:10px;box-shadow:0 14px 38px #17203333}.appointment-context-menu[hidden]{display:none}.appointment-context-menu strong,.appointment-context-menu span{display:block;padding:8px 10px;color:#697284;font-size:.78rem}.appointment-context-menu button{display:block;width:100%;padding:10px;border:0;background:transparent;text-align:left;border-radius:7px}.appointment-context-menu button:hover{background:#ededff;color:#4141a8}

/* Extended landing-page editor */
.landing-image[hidden]{display:none}
.landing-page{background:radial-gradient(circle at 15% 15%,color-mix(in srgb,var(--landing-accent) 16%,transparent),transparent 38%),var(--landing-background,#f4f5f8)}.landing-hero{position:relative;overflow:hidden}.landing-copy{position:relative;z-index:2;min-width:0}.landing-content{max-width:680px;margin:-10px 0 28px;color:#4f5868;line-height:1.65}.landing-content:empty{display:none}.landing-content h2,.landing-content h3{margin:22px 0 8px}.landing-content p{margin:8px 0}.landing-content a{color:var(--landing-accent)}.landing-content blockquote{margin:14px 0;padding:8px 16px;border-left:4px solid var(--landing-accent);background:#f7f7fa}.landing-image{display:block;width:100%;height:100%;object-fit:cover;border-radius:14px}.landing-hero.image-right{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr);gap:36px;align-items:center}.landing-hero.image-top{display:flex;flex-direction:column;gap:28px}.landing-hero.image-top .landing-image{order:-1;max-height:360px}.landing-hero.image-background .landing-image{position:absolute;inset:0;border-radius:0;opacity:.24}.landing-hero.image-background::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 25%,#ffffffb8 70%,#ffffff55);z-index:1}.site-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}.site-editor-layout>.card{margin:0}.site-settings-card .html-editor{min-height:190px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.88rem}.site-settings-form small{display:block;margin-top:5px;color:#71798a;line-height:1.45}.site-image-card{display:grid;gap:12px}.site-image-card h2,.site-image-card p{margin:0}.site-image-preview{min-height:210px;display:grid;place-items:center;overflow:hidden;border:1px dashed #cdd2dc;border-radius:12px;background:#f6f7f9;color:#737c8e}.site-image-preview img{width:100%;height:240px;object-fit:cover}.file-button{display:block;padding:11px 14px;border-radius:9px;background:#5b5bd6;color:#fff;text-align:center;font-weight:700;cursor:pointer}.site-image-card .danger-button{width:100%}@media(max-width:850px){.site-editor-layout{grid-template-columns:1fr}.landing-hero.image-right{grid-template-columns:1fr}.landing-hero.image-right .landing-image{order:-1;max-height:320px}}@media(max-width:560px){.landing-hero{padding:30px 24px}.landing-hero.image-background::after{background:#ffffffc9}.landing-image{max-height:260px}}

/* Visual landing-page builder */
.site-save-button{width:max-content!important;align-self:start;padding:10px 18px!important}.image-placement-hint{margin:0;font-size:.82rem}
.site-block-builder{display:grid;gap:12px;padding:16px;border:1px solid #e0e4eb;border-radius:12px;background:#f8f9fb}.site-builder-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.site-builder-heading h3,.site-builder-heading p{margin:0 0 4px}.site-add-menu-wrap{position:relative}.site-add-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:20;width:190px;padding:6px;border:1px solid #dfe3ea;border-radius:10px;background:#fff;box-shadow:0 12px 28px #1720332b}.site-add-menu[hidden]{display:none}.site-add-menu button{display:block;width:100%;border:0;background:transparent;text-align:left}.site-add-menu button:hover{background:#ededff}.site-blocks{display:grid;gap:10px}.site-block-card{padding:13px;border:1px solid #dfe3ea;border-radius:10px;background:#fff}.site-block-card header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.site-block-card header>div{display:flex;gap:5px}.site-block-card header button{padding:5px 9px}.site-block-card label{margin:0}.site-block-card textarea{min-height:100px}.site-builder-empty{display:grid;gap:5px;padding:24px;text-align:center;border:1px dashed #cbd1dc;border-radius:10px;color:#727b8c}.site-editor-sidebar{display:grid;gap:16px;position:sticky;top:12px}.site-editor-sidebar>.card{margin:0}.site-live-preview-card{padding:16px}.preview-badge{padding:3px 7px;border-radius:999px;background:#e5f6eb;color:#176b38;font-size:.7rem;font-weight:750}.site-builder-preview{min-height:360px;padding:20px;border-radius:12px;box-shadow:inset 0 0 0 1px #0000000c;color:#313746;overflow:hidden}.site-builder-preview>small{display:block;margin-bottom:32px;color:var(--preview-accent);font-weight:750}.site-builder-preview>div>b{display:block;font-size:1.65rem;line-height:1.1}.site-builder-preview p{white-space:pre-wrap;font-size:.78rem;line-height:1.5}.site-builder-preview h3{margin:18px 0 5px;font-size:1rem}.site-builder-preview ul{padding-left:18px;font-size:.78rem}.mini-preview-cta,.mini-preview-button{display:inline-block;margin:10px 6px 0 0;padding:7px 10px;border-radius:7px;background:var(--preview-accent);color:#fff;font-size:.72rem;font-weight:700}.mini-preview-button{background:transparent;color:var(--preview-accent);border:1px solid var(--preview-accent)}.landing-text-block{white-space:pre-wrap}.landing-secondary-button{display:inline-flex;margin:8px 8px 0 0;padding:10px 14px;border:1px solid var(--landing-accent);border-radius:9px;text-decoration:none;font-weight:700}@media(max-width:850px){.site-editor-sidebar{position:static}.site-live-preview-card{order:2}}@media(max-width:600px){.site-builder-heading{flex-direction:column}.site-add-menu-wrap,.site-add-menu-wrap>button{width:100%}.site-add-menu{left:0;right:auto;width:100%}}

/* Free image placement in the landing builder */
.site-builder-preview{position:relative}.site-preview-copy{position:relative;z-index:2;pointer-events:none}.site-preview-image-wrap{position:absolute;z-index:1;transform:translate(-50%,-50%);touch-action:none;cursor:grab;border:1px solid transparent}.site-preview-image-wrap:hover,.site-preview-image-wrap.is-dragging,.site-preview-image-wrap.is-resizing{border-color:var(--preview-accent);box-shadow:0 0 0 2px #ffffffaa}.site-preview-image-wrap.is-dragging{cursor:grabbing}.site-preview-image-wrap img{display:block;width:100%;height:auto;max-height:320px;object-fit:contain;pointer-events:none}.site-preview-resize{position:absolute;right:-7px;bottom:-7px;width:15px;height:15px;border:2px solid #fff;border-radius:50%;background:var(--preview-accent);cursor:nwse-resize}.landing-hero.image-freeform{display:block}.landing-hero.image-freeform .landing-image{position:absolute;z-index:1;transform:translate(-50%,-50%);height:auto;max-height:92%;object-fit:contain;border-radius:14px}.landing-hero.image-freeform .landing-copy{max-width:70%}@media(max-width:650px){.landing-hero.image-freeform .landing-copy{max-width:100%}.landing-hero.image-freeform .landing-image{opacity:.32}}

/* WYSIWYG preview: the real public hero rendered at desktop size and zoomed down */
.site-editor-layout{grid-template-columns:minmax(0,1fr) minmax(400px,480px)}.site-builder-preview{min-height:0;padding:12px;overflow:hidden;border-radius:12px}.site-preview-canvas{width:980px;min-height:440px;margin:0!important;transform-origin:top left;box-shadow:0 8px 28px #25304d0c!important}.site-preview-canvas .landing-copy{pointer-events:none}.site-preview-canvas .site-preview-image-wrap img{max-height:405px}.site-preview-canvas .landing-cta{pointer-events:none}.site-preview-canvas .landing-content{margin-bottom:28px}@media(max-width:1100px){.site-editor-layout{grid-template-columns:1fr}.site-editor-sidebar{position:static}.site-builder-preview{max-width:600px}}

/* Responsive isolated preview */
.site-editor-layout{grid-template-columns:1fr}.site-editor-sidebar{position:static;display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:start}.site-live-preview-card{min-width:0}.site-preview-toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:14px 0}.site-preview-toolbar label{display:flex;align-items:center;gap:8px;margin:0}.site-preview-stage{position:relative;width:100%;min-height:260px;padding:12px;overflow:hidden;border:1px solid #dfe3ea;border-radius:12px;background:#dfe2e8}.site-preview-stage iframe{display:block;border:0;background:#fff;transform-origin:top left;box-shadow:0 8px 30px #1720332b}.site-image-preview img{height:auto;max-height:280px;object-fit:contain;background:repeating-conic-gradient(#f0f1f4 0 25%,#fff 0 50%) 50%/18px 18px}.preview-document{min-height:100vh}.preview-document .landing-shell{padding-block:28px}.responsive-preview-image{position:absolute;z-index:1;transform:translate(-50%,-50%);touch-action:none;cursor:grab;border:2px solid transparent}.responsive-preview-image[hidden]{display:none}.responsive-preview-image:hover,.responsive-preview-image.is-dragging,.responsive-preview-image.is-resizing{border-color:var(--landing-accent);box-shadow:0 0 0 3px #ffffffbb}.responsive-preview-image img{display:block;width:100%;height:auto;max-height:90vh;object-fit:contain;pointer-events:none}.responsive-preview-resize{position:absolute;right:-10px;bottom:-10px;width:20px;height:20px;border:3px solid #fff;border-radius:50%;background:var(--landing-accent);cursor:nwse-resize}.preview-document .landing-copy{pointer-events:none}@media(max-width:900px){.site-editor-sidebar{grid-template-columns:1fr}.site-image-card{max-width:none}}@media(max-width:650px){.site-preview-toolbar .view-tabs{width:100%;overflow:auto;justify-content:flex-start}.landing-hero.image-freeform .landing-image{opacity:1}}

/* Full responsive presentation area; all image geometry remains percentage-based */
.landing-shell{width:min(1440px,calc(100% - 48px));padding:24px 0}.landing-hero{min-height:clamp(620px,78vh,900px);margin-top:12px}.preview-document .landing-shell{width:min(1440px,calc(100% - 32px))}.preview-document .landing-hero{min-height:clamp(620px,78vh,900px)}@media(max-width:650px){.landing-shell{width:calc(100% - 20px);padding:10px 0}.landing-hero{min-height:max(680px,calc(100svh - 20px));margin-top:0}.responsive-preview-image img,.landing-hero.image-freeform .landing-image{max-height:none}}
.demo-banner{margin-bottom:16px;border-color:#c9b458;background:#fff9d8;color:#5e4b00}
