.calendar-workspace,.cal-public{--cal-bg:#fff;--cal-surface:#fff;--cal-text:#171717;--cal-muted:#5d6169;--cal-line:#d8dbe1;--cal-input:#fff;--cal-accent:#a02130;--cal-focus:#9d2735;color:var(--cal-text);letter-spacing:0}
.portal-shell .calendar-workspace{--cal-bg:#101114;--cal-surface:#1d1f25;--cal-text:#f4f5f8;--cal-muted:#c4c9d5;--cal-line:#3b3e49;--cal-input:#14161b;--cal-accent:#ce4055;--cal-focus:#ff8393;min-width:0}
.portal-light .portal-shell .calendar-workspace{--cal-bg:#f6f6f6;--cal-surface:#fff;--cal-text:#171717;--cal-muted:#5d6169;--cal-line:#d8dbe1;--cal-input:#fff;--cal-accent:#a02130;--cal-focus:#9d2735}
.cal-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.cal-heading h1{font-size:30px}.calendar-workspace h2,.cal-public h2{font-size:22px;line-height:1.3;margin:0}.calendar-workspace h3{font-size:16px;margin:0 0 16px}.cal-subheading{margin:24px 0 16px}.cal-muted{color:var(--cal-muted);font-size:14px}.cal-tabs{display:flex;gap:24px;overflow:auto;border-bottom:1px solid var(--cal-line);margin:22px 0}.cal-tabs a{color:var(--cal-muted);text-decoration:none;white-space:nowrap;padding:10px 0 12px;font-size:14px;font-weight:700;border-bottom:3px solid transparent}.cal-tabs a[aria-current]{color:var(--cal-text);border-color:var(--cal-accent)}
.calendar-workspace input,.calendar-workspace textarea,.calendar-workspace select,.cal-public input,.cal-public textarea,.cal-public select{background:var(--cal-input);color:var(--cal-text);border:1px solid var(--cal-line);font:inherit;font-size:14px;padding:10px 12px;min-height:42px;border-radius:5px;max-width:100%;box-sizing:border-box;width:100%}.calendar-workspace label,.cal-public label{color:var(--cal-text);font-size:14px;display:grid;gap:7px;font-weight:600}.calendar-workspace input:focus-visible,.cal-public input:focus-visible,.calendar-workspace button:focus-visible,.cal-public button:focus-visible{outline:2px solid var(--cal-focus);outline-offset:2px}.calendar-workspace .cal-check,.cal-public .cal-check{display:flex;align-items:center;gap:8px}.cal-check input[type=checkbox]{width:18px;min-height:18px;height:18px;accent-color:var(--cal-accent);flex-shrink:0}
.cal-settings-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,1fr);gap:40px;margin:28px 0}.cal-settings-grid section{min-width:0}.cal-day{display:grid;grid-template-columns:minmax(115px,1fr) minmax(110px,145px) auto minmax(110px,145px);align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--cal-line)}.cal-options{border-top:1px solid var(--cal-line);padding-top:24px}.cal-options fieldset{border:0;padding:0;margin:0 0 24px}.cal-options legend{font-size:14px;margin-bottom:10px}.cal-inline{display:flex;gap:20px;flex-wrap:wrap}.cal-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.cal-options .cal-fields{max-width:900px}.cal-date-row{display:flex;gap:8px;margin-bottom:10px;max-width:290px}.cal-date-row button{min-width:42px;font-size:24px;padding:0}.cal-blocked{max-height:330px;overflow:auto}.calendar-workspace .button-secondary{background:var(--cal-surface);color:var(--cal-text);border-color:var(--cal-line)}.cal-event-form{display:grid;gap:20px;max-width:900px}.cal-table-wrap{overflow:auto;border:1px solid var(--cal-line);border-radius:6px}.cal-table{min-width:650px;width:100%;font-size:14px;border-collapse:collapse}.cal-table th,.cal-table td{padding:14px;border-bottom:1px solid var(--cal-line);vertical-align:top}.cal-table th{background:var(--cal-surface);color:var(--cal-muted)}.cal-table a{color:var(--cal-focus)}.cal-table details{margin-top:10px}.cal-table details form{display:grid;gap:12px}.cal-empty{padding:32px 0;color:var(--cal-muted)}.cal-connection{max-width:720px}.cal-connection-state{font-weight:bold}.cal-setup{margin-top:32px;border-top:1px solid var(--cal-line);padding-top:20px;font-size:14px}.cal-setup dd{margin:6px 0 20px;overflow-wrap:anywhere}.cal-setup dt{font-weight:bold}.cal-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.cal-surface{--fc-border-color:var(--cal-line);--fc-page-bg-color:var(--cal-bg);--fc-neutral-bg-color:var(--cal-surface);--fc-list-event-hover-bg-color:var(--cal-surface);--fc-today-bg-color:rgba(192,59,76,.09);--fc-button-bg-color:var(--cal-surface);--fc-button-text-color:var(--cal-text);--fc-button-border-color:var(--cal-line);--fc-button-hover-bg-color:var(--cal-accent);--fc-button-active-bg-color:var(--cal-accent);font-size:14px;min-height:420px}.cal-surface a{color:inherit;text-decoration:none}.cal-surface .fc-toolbar-title{font-size:21px}.cal-surface .fc-button{min-height:36px;font-size:13px;border-radius:4px}.cal-surface .fc-button-active{color:white}.cal-surface .fc-scrollgrid,.cal-surface table{min-width:0}.cal-surface td,.cal-surface th{padding:0;text-transform:none;background:transparent;color:inherit;border-color:var(--cal-line)}.cal-surface .fc-daygrid-event{white-space:normal;cursor:pointer}.cal-surface .fc-list-event{cursor:pointer}.cal-legend{display:flex;align-items:center;gap:8px;margin:14px 0;font-size:13px;flex-wrap:wrap}.cal-dot{display:inline-block;width:9px;height:9px;border-radius:50%}.cal-dot--website{background:#a02130}.cal-dot--outlook{background:#28786c;margin-left:10px}.cal-status{font-size:14px;color:var(--cal-muted);margin:10px 0;min-height:20px}
.cal-dialog{width:min(520px,calc(100% - 32px));padding:26px;border:1px solid #ccc;border-radius:8px;background:#fff;color:#171717;box-sizing:border-box;overflow-wrap:anywhere}.cal-dialog::backdrop{background:rgba(0,0,0,.55)}.cal-dialog form{display:flex;justify-content:flex-end}.cal-dialog form button{font-size:25px;min-width:40px;background:transparent;color:#333;border:0;cursor:pointer}.cal-dialog h2{font-size:24px;margin:8px 0}.cal-dialog [data-event-description]{white-space:pre-wrap}.cal-dialog [hidden]{display:none!important}.cal-public{max-width:1140px;margin:36px auto;padding:0 24px 40px;background:transparent}.cal-public .cal-heading{margin-bottom:24px}.cal-booking{max-width:720px}.cal-booking form{display:grid;gap:20px}.cal-booking .cal-choices{display:flex;flex-wrap:wrap;gap:10px}.cal-slot{position:relative}.cal-slot input{position:absolute;opacity:0;width:1px;height:1px}.cal-slot span{padding:10px 14px;border:1px solid var(--cal-line);border-radius:5px;min-width:100px;text-align:center;cursor:pointer;display:block}.cal-slot input:checked+span{background:var(--cal-accent);border-color:var(--cal-accent);color:white}.cal-slot input:focus-visible+span{outline:2px solid var(--cal-focus);outline-offset:2px}.cal-booking fieldset{border:0;padding:0;margin:0}.cal-booking legend{font-weight:700;margin-bottom:10px}.cal-booking button{cursor:pointer;border:0;background:#a02130;color:white;padding:12px 18px;border-radius:5px;font-size:15px;font-weight:700}.cal-booking button:disabled{opacity:.55;cursor:wait}.cal-booking .error{background:#fff0f0;color:#8a1f22;padding:14px;border-radius:5px}.cal-booking .notice{background:#edf7f1;color:#185847;padding:14px;border-radius:5px}.cal-honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.calendar-workspace input[type=time],.calendar-workspace input[type=date],.calendar-workspace input[type=datetime-local]{color-scheme:dark}.portal-light .calendar-workspace input{color-scheme:light}
.portal-shell:has(.calendar-workspace) .portal-sidebar{min-width:0}.cal-day label{min-width:0}
.cal-surface.fc .fc-button-primary:not(:disabled).fc-button-active,.cal-surface.fc .fc-button-primary:not(:disabled):hover{color:#fff}
.cal-tabs,.portal-shell:has(.calendar-workspace) .portal-menu{scrollbar-width:thin}.portal-shell:has(.calendar-workspace) .portal-menu a{flex:0 0 auto}
@media(max-width:900px){.portal-shell:has(.calendar-workspace){grid-template-columns:minmax(0,1fr)}}
@media(max-width:900px){.portal-shell:has(.calendar-workspace) .portal-sidebar{height:auto;gap:12px;padding:12px;position:static}.portal-shell:has(.calendar-workspace) .portal-menu{display:flex;overflow:auto;gap:6px}.portal-shell:has(.calendar-workspace) .portal-menu a{white-space:nowrap;padding:8px 12px;font-size:13px}.portal-shell:has(.calendar-workspace) .portal-user{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:0;padding-top:10px}.portal-shell:has(.calendar-workspace) .portal-user strong{font-size:15px}.portal-shell:has(.calendar-workspace) .portal-user a,.portal-shell:has(.calendar-workspace) .portal-theme-toggle{font-size:12px;min-height:36px}.portal-shell:has(.calendar-workspace) .portal-brand span{font-size:20px}.portal-shell:has(.calendar-workspace) .portal-brand img{width:36px}.portal-shell:has(.calendar-workspace) .portal-brand{padding-top:0}}
@media(max-width:1100px){.cal-settings-grid{grid-template-columns:1fr;gap:28px}}@media(max-width:650px){.portal-shell .calendar-workspace{padding:18px 14px}.cal-heading h1{font-size:26px}.cal-tabs{gap:18px}.cal-fields{grid-template-columns:1fr}.cal-day{grid-template-columns:100px minmax(0,1fr) auto minmax(0,1fr);gap:6px}.cal-day input[type=time]{padding:8px 3px;font-size:12px}.cal-day .cal-check{font-size:12px}.cal-surface .fc-toolbar{flex-wrap:wrap;gap:12px}.cal-surface .fc-toolbar-title{font-size:18px}.cal-public{padding:0 16px 30px;margin-top:24px}.cal-booking .cal-fields{grid-template-columns:1fr}.cal-table{min-width:580px}}
