/* Only standalone host wiring; appointment appearance comes from ERP source assets. */
#workspace.calendar-shell{display:flex;flex-direction:column;gap:0;min-height:0}.shell{max-width:none;padding:0 26px}.shell>header{height:56px}.scope-note{display:none}.calendar-topbar{margin-bottom:14px}.calendar-top-search{width:auto;max-width:none}.calendar-top-search input{box-sizing:border-box}.calendar-filter-title strong{font-weight:600}.calendar-check input{width:13px;height:13px;min-height:0;accent-color:#c66b2b}.calendar-check .calendar-dot{flex-shrink:0}.calendar-create-actions{display:flex;gap:10px;align-items:center}.calendar-toolbar{flex-shrink:0;border-radius:14px 14px 0 0;margin:0}.calendar-toolbar .calendar-title-group h2{margin:0}.calendar-actions button[aria-pressed=true]{background:#007aff;color:#fff;border-color:#007aff}.calendar-layout{display:flex;flex-direction:column;gap:0}.calendar-main{border-radius:0 0 14px 14px;border-top:0;overflow:hidden}.calendar-month-grid>.calendar-cell{min-height:150px}.calendar-cell .calendar-date-mark{width:auto;display:flex;flex-direction:row;gap:4px;padding:0}.calendar-cell .calendar-date-mark strong{min-width:22px;width:22px;height:22px;display:grid;place-items:center;font-size:11px}.calendar-cell .calendar-add{display:grid;place-items:center;width:18px;height:18px;min-height:18px;padding:0;border:0}.calendar-cell .calendar-date-mark>.today-label{font-size:10px;line-height:16px;padding:0 4px}.calendar-cell .calendar-event{display:block;width:100%;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-height:25px}.calendar-week-row{grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-week-row>span{padding:8px;color:#667085;font-size:11px;text-align:left;font-weight:400}#updated{display:none}.mobile-agenda-panel{display:none}#mobile-menu,#mobile-new{display:none}#calendar-settings{padding:20px}#calendar-settings .calendar-check input{min-height:0}.shell>#login{display:none}
@media(max-width:720px){
 body:has(.calendar-shell){overflow:hidden}.shell{height:100dvh;display:flex;flex-direction:column;padding:0 10px}.shell>header{flex:0 0 48px;height:48px}.shell>main{display:flex;flex-direction:column;flex:1;min-height:0;padding:0;overflow:hidden}#workspace.calendar-shell{flex:1;min-height:0;overflow:hidden;gap:0}.calendar-shell>.calendar-topbar{display:none}.calendar-shell.mobile-tools-open>.calendar-topbar{display:grid;max-height:38dvh;overflow:auto;flex-shrink:0;grid-template-columns:1fr}.calendar-shell .calendar-toolbar{display:flex;flex:0 0 48px;padding:4px 0;margin:0;min-height:48px;border:0;background:#f5f7fa;order:0}.calendar-toolbar .calendar-title-group{display:grid;grid-template-columns:24px auto 24px minmax(0,1fr) 32px 32px;width:100%;gap:4px}.calendar-toolbar .calendar-title-group h2{font-size:17px;min-width:0;text-align:left}.calendar-toolbar .btn{min-height:30px;box-shadow:none}.calendar-toolbar #today{justify-self:end;background:transparent;border:0}.calendar-toolbar #mobile-menu,.calendar-toolbar #mobile-new{display:block;background:transparent;border:0;color:#243b57;font-size:21px;padding:0}.calendar-toolbar .calendar-actions{display:none}.calendar-layout{flex:1;min-height:0;overflow:hidden;gap:14px}.calendar-layout .calendar-main{flex:0 0 auto;overflow:hidden;border:1px solid #e1e9f5;border-radius:14px;background:#fff}.calendar-week-row{height:25px;min-height:0}.calendar-week-row>span{padding:4px 0;font-size:11px;text-align:center}.calendar-month-grid{grid-auto-rows:clamp(29px,5.5dvh,46px)}.calendar-month-grid>.calendar-cell{min-height:0;height:100%;padding:0;border:0;background:transparent;box-shadow:none}.calendar-cell .calendar-cell-head{height:100%;margin:0;display:flex;align-items:center;justify-content:center}.calendar-cell .calendar-date-mark{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;box-sizing:border-box;width:32px;height:32px;min-height:32px;max-height:32px;margin:0;border-radius:50%;padding:0;gap:0;color:#435975;font-size:16px}.calendar-cell .calendar-date-mark strong{font-size:16px;width:auto;min-width:0;height:auto;line-height:20px;background:transparent!important;color:inherit!important}.calendar-cell.selected-cell .calendar-date-mark{background:#087fff;color:white}.calendar-cell .calendar-date-mark>.today-label{display:none}.calendar-cell .calendar-date-mark>.count{position:absolute;bottom:1px;left:14px;width:4px;height:4px;min-width:0;padding:0;border-radius:50%;font-size:0;background:#8ba3c2;color:transparent}.calendar-cell.selected-cell .calendar-date-mark>.count{background:#fff}.calendar-cell.outside{background:#f8f9fb}.calendar-cell.outside .calendar-date-mark{color:#a5adba}.calendar-cell .calendar-add,.calendar-cell .calendar-event,.calendar-cell .calendar-more{display:none}.calendar-layout .mobile-agenda-panel{display:flex;flex-direction:column;flex:1;min-height:0;overflow:auto;margin:0;background:#fff;border:0;border-radius:0;padding:14px}.mobile-agenda-panel .mobile-agenda-head{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:12px 8px;background:#f5f7fa;border-top:1px solid #e6eaf1;border-bottom:1px solid #e6eaf1;margin:0 0 12px}.mobile-agenda-head h2{font-size:16px;color:#294467}.mobile-agenda-head button{min-height:36px;font-size:11px;padding:8px 10px}.mobile-agenda-list{display:grid;grid-template-columns:1fr;gap:10px}.mobile-agenda-panel .eyebrow{display:none}.mobile-agenda-list .agenda-add{display:block;margin:8px 10px;min-height:70px}.calendar-filter-body{display:none}.is-open .calendar-filter-body{display:block}#filter-toggle{display:flex}.calendar-filter-actions button{min-height:26px}.calendar-topbar .create-actions{display:none}.shell>footer{display:none}#message{flex-shrink:0;margin:4px 0}.view-appointments #login{overflow:auto;min-height:0}#year-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
#workspace.calendar-shell{align-items:stretch}#workspace>.calendar-topbar,#workspace>.calendar-toolbar,#workspace>.calendar-layout{width:100%;max-width:none}#workspace .calendar-main{padding:0;box-shadow:0 6px 20px #192a4606}#workspace>.calendar-topbar{grid-template-columns:220px minmax(0,1fr) auto}.calendar-actions .btn{border-radius:8px}.calendar-toolbar .calendar-title-group h2{font-size:18px}.calendar-topbar .calendar-filter-actions .btn{border-radius:5px;padding:4px 6px;min-height:26px;font-size:10px}.calendar-toolbar .btn{box-shadow:none}.calendar-toolbar .calendar-title-group #today{border-radius:7px}.calendar-week-row{border-bottom:0}.calendar-main .calendar-month-grid{border:0}.calendar-main .calendar-week-row{border:0}.calendar-main .calendar-cell{border-top:0;border-right:1px solid #e8edf5;border-bottom:1px solid #e8edf5;box-shadow:none}.calendar-main .calendar-cell.selected-cell{box-shadow:inset 0 0 0 1px #80adff}.calendar-main .calendar-cell-head{margin:0 0 5px}.calendar-main .calendar-cell:last-child{border-right:0}.calendar-topbar .calendar-create-button{border-radius:10px}.calendar-topbar #refresh{border-radius:10px}
@media(max-width:1100px) and (min-width:721px){#workspace>.calendar-topbar{grid-template-columns:220px minmax(0,1fr) auto}#workspace .calendar-top-filters{grid-column:auto;grid-row:auto}.calendar-filter-chips{gap:3px 8px}}
@media(max-width:720px){#workspace>.calendar-topbar{grid-template-columns:1fr}.calendar-main .calendar-cell{border:0!important;box-shadow:none!important}.calendar-main .calendar-cell-head{margin:0;height:100%}.calendar-toolbar .calendar-title-group h2{font-size:17px}.calendar-topbar .calendar-top-filters{grid-column:auto;grid-row:auto}#workspace>.calendar-toolbar{padding:4px 0}.calendar-main .calendar-week-row{border-bottom:1px solid #edf1f6}}
@media(max-width:720px){#workspace .calendar-layout>.calendar-main{order:0}#workspace .calendar-layout>.mobile-agenda-panel{order:1;flex:1;min-height:0}#workspace .calendar-layout{justify-content:flex-start}#workspace .calendar-main{margin:0}#workspace .calendar-toolbar{order:0}#workspace .calendar-layout{order:1}}
#calendar-settings.cm-panel{width:440px;max-width:calc(100vw - 32px);max-height:85dvh;border-radius:16px;padding:20px}#calendar-settings .calendar-filter-title{display:flex;justify-content:space-between;margin:18px 0 12px}#calendar-settings .calendar-filter-chips{display:flex;gap:10px;flex-wrap:wrap}#calendar-settings .calendar-check{padding:8px;border:1px solid #e8eef6;border-radius:8px}#calendar-settings .cm-done{width:100%;margin-top:12px}
#workspace .calendar-main{margin:0}#workspace>.calendar-toolbar{border-radius:14px 14px 0 0!important;border-bottom:0}.calendar-main .calendar-cell:nth-child(7n){border-right:0}
@media(max-width:720px){#workspace>.calendar-toolbar{border-radius:0!important}#workspace .calendar-main{margin:0}}
/* Original ERP controls and appointment details, inside a native accessible dialog. */
#editor .custom-select{width:100%;min-width:0}#editor .custom-select-button{margin-top:6px;min-height:40px;width:100%}#editor .custom-select-button span{margin:0}#editor .duration-control .custom-select-button{margin-top:0}#editor .date-picker-popover button,#editor .custom-select-popover button{font:inherit}.date-picker-popover,.custom-select-popover{z-index:1800}#editor .appointment-start-control{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:8px}#editor .duration-control{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:8px;align-items:center}#editor .duration-control input{margin-top:0}#editor .appointment-identity{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#eaf3ff;border:1px solid #dbe8f9;border-radius:12px;padding:14px;margin:14px 0}#editor .detail-item{display:flex;flex-direction:column;gap:6px}#editor .detail-item span{font-size:12px;color:#8091a7}#editor .detail-item strong{font-size:16px;color:#1c416e}#editor.is-detail{position:fixed;inset:12px 12px 12px auto;margin:0;width:560px;max-width:calc(100vw - 24px);height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);border-radius:18px;padding:20px;overflow-y:auto;background:#f5f8fc}#editor.is-detail .dialog-header{background:#fff;position:sticky;top:-20px;z-index:2;margin:-20px -20px 0;padding:16px 18px}#editor.is-detail .dialog-actions{position:sticky;bottom:-20px;z-index:2;background:#fff;margin:14px -20px -20px;padding:12px 14px;flex-wrap:wrap}#editor.is-detail .dialog-actions #save{min-height:42px}#editor.is-detail #editor-title{font-size:18px;color:#183c67}#editor.is-detail #appointment-form>label,#editor.is-detail .pair{background:#fff;border-radius:8px}#editor.is-detail .pair{padding:0 10px}#editor.is-detail #appointment-form>label{padding:10px;margin:10px 0}#editor.is-detail .appointment-start-control{grid-template-columns:minmax(0,1fr) 90px}#editor.is-detail .appointment-modal-actions .btn{min-width:0}#editor.is-detail .dialog-actions #copy-appointment{margin-left:auto}.has-appointment-detail{padding-right:370px!important}
@media(min-width:1600px){#editor.is-detail{top:130px;bottom:26px;right:26px;width:350px;height:calc(100dvh - 156px);max-height:calc(100dvh - 156px);box-shadow:0 6px 20px #192a460f}#editor.is-detail .pair{grid-template-columns:1fr}#editor.is-detail .dialog-actions{display:grid;grid-template-columns:1fr 1fr}#editor.is-detail #save{grid-column:1/-1}}
@media(max-width:720px){#editor.is-detail{inset:12px;margin:auto;width:100%;max-width:520px;height:calc(100dvh - 24px);padding:18px}#editor.is-detail .dialog-header{top:-18px;margin:-18px -18px 0}#editor.is-detail .dialog-actions{bottom:-18px;margin:14px -18px -18px;display:grid;grid-template-columns:1fr 1fr}#editor.is-detail .dialog-actions #save{grid-column:1/-1;order:5}#editor.is-detail .dialog-actions #copy-appointment{margin:0}#editor .appointment-start-control{grid-template-columns:minmax(0,1fr) 86px}#editor .duration-control{grid-template-columns:minmax(0,1fr) 66px}.has-appointment-detail{padding-right:0!important}#editor .custom-select-button{font-size:14px}#editor .date-picker-popover button{min-height:32px}#editor.is-detail .pair:has(.appointment-start-field){grid-template-columns:1fr}#editor .custom-select-popover{max-width:calc(100vw - 24px)}}
#editor.is-detail #appointment-form label{margin:8px 0}#editor.is-detail .pair{gap:10px}#editor.is-detail .dialog-header #close{font-size:12px;min-height:32px;padding:6px 10px}#editor.is-detail .dialog-header{margin-bottom:14px}#editor.is-detail .duration-control{grid-template-columns:minmax(0,1fr) 70px}
@media(max-width:720px){#editor.is-detail{width:calc(100vw - 24px);max-width:520px;left:12px;right:12px;margin:0 auto}#editor .appointment-start-control input{min-width:0}.custom-select-popover,.date-picker-popover{max-width:calc(100vw - 24px)}}
/* Creation always uses the viewport's modal top layer, including sidebar-to-create transitions. */
dialog#editor:not([open]),dialog#calendar-settings:not([open]){display:none!important}
dialog#editor[open]:not(.is-detail){position:fixed;inset:0;margin:auto;width:min(620px,calc(100vw - 40px));height:fit-content;max-height:calc(100dvh - 40px);overflow:auto;z-index:2000}
dialog#editor::backdrop,dialog#calendar-settings::backdrop{background:rgba(22,34,51,.38);backdrop-filter:blur(3px)}
body:has(#editor:modal),body:has(#calendar-settings:modal){overflow:hidden}
@media(max-width:720px){dialog#editor[open]:not(.is-detail){width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}}
.appointment-search-results{border:1px solid #dfe7f2;border-radius:10px;background:#fff;max-height:210px;overflow:auto;padding:5px;margin:6px 0}.appointment-search-result{display:block;width:100%;border:0;background:#fff;text-align:left;padding:10px 12px;border-radius:6px;font-size:13px;min-height:40px}.appointment-search-result:hover,.appointment-search-result:focus{background:#eef5ff;color:#245684}#client-selected{padding:12px 14px;background:#f4f8ff;border:1px solid #dfe9f8;border-radius:10px;font-size:13px;margin:8px 0}#client-results .muted{padding:8px}

.erp-embedded .shell{padding:0!important;max-width:none}.erp-embedded .shell>header,.erp-embedded .shell>footer,.erp-embedded #login{display:none!important}.erp-embedded main{padding:0}.erp-embedded #message{padding:0 12px}.erp-embedded #workspace>.calendar-topbar{margin-top:0}@media(max-width:720px){.erp-embedded .shell{height:100dvh}.erp-embedded .shell>main{height:100dvh}.erp-embedded .calendar-toolbar{flex-basis:48px}}

html.erp-overlay,html.erp-overlay body.erp-embedded{background:transparent!important}html.erp-overlay .erp-embedded #workspace{position:absolute;left:var(--embed-left);top:var(--embed-top);width:var(--embed-width);height:var(--embed-height);overflow:hidden}html.erp-overlay .erp-embedded #message{display:none}
