.listing-appointments{padding:20px;margin:22px 0;border:1px solid #c4dfd7;border-radius:18px;background:linear-gradient(125deg,#f0fbf6,#f5f3fc);color:#1c2338}
.appointment-heading,.search-alternatives-heading{display:flex;gap:12px;align-items:center}.appointment-heading h3{margin:0;font-size:17px}.appointment-heading p{margin:6px 0 0;font-size:13px;line-height:1.5;color:#596778}.appointment-icon{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;background:#c6efdf;border-radius:13px;font-size:25px}.appointment-primary{background:linear-gradient(115deg,#bff2de,#d4c9f0);color:#17243a;border:1px solid #a9cfca;font-weight:750;box-shadow:0 4px 12px #1d3c3710}.appointment-primary:hover{background:linear-gradient(115deg,#acebd2,#c8b9ed)}.listing-appointments>.button{margin-top:15px;width:100%;white-space:normal}.listing-appointments>small{display:block;margin-top:10px;color:#637075;font-size:12px}
.appointment-dialog{box-sizing:border-box;width:min(680px,calc(100vw - 32px));max-width:none;max-height:90dvh;overflow:auto;padding:34px;border:1px solid #d8e5e3;border-radius:22px;color:#1c2338;background:#fff}.appointment-dialog::backdrop{background:#10172685;backdrop-filter:blur(5px)}.appointment-dialog h2{font-size:26px;line-height:1.2;margin:12px 32px 10px 0}.appointment-dialog>p{font-size:14px;line-height:1.6}.appointment-dialog .modal-close{position:absolute;right:12px;top:12px}.appointment-kicker{font-size:10px;letter-spacing:1.7px;text-transform:uppercase;color:#3c7067;font-weight:750}.appointment-dialog form{display:grid;gap:16px}.appointment-dialog .form-field{display:grid;gap:7px;font-size:13px;font-weight:600;min-width:0}.appointment-dialog input:not([type=checkbox]):not([type=radio]),.appointment-dialog textarea,.appointment-dialog select,.appointment-own-settings select{box-sizing:border-box;min-width:0;width:100%;padding:12px;border:1px solid #d5dce5;border-radius:11px;background:#fbfcfe;color:#1c2338;font:inherit;resize:vertical}.appointment-dialog input:focus-visible,.appointment-dialog textarea:focus-visible,.appointment-dialog select:focus-visible{outline:2px solid #5e9b8b;outline-offset:2px}.appointment-zone,.appointment-note,.appointment-dialog>small{font-size:12px!important;line-height:1.65;color:#66747b}.appointment-slot-grid{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:9px;max-height:300px;overflow:auto}.appointment-slot-grid legend{padding:0 0 12px;font-size:13px;font-weight:700}.appointment-slot{position:relative;display:flex;align-items:center;gap:8px;min-width:0;padding:12px;border:1px solid #dbe2eb;border-radius:12px;background:#f9fbfd;cursor:pointer;font-size:12px;font-weight:600;line-height:1.5}.appointment-slot:has(input:checked){border-color:#65a794;background:#e6f7ef;box-shadow:0 0 0 1px #65a794}.appointment-slot input{accent-color:#397e6c}.appointment-location{padding:14px;background:#f2f7f5;border-radius:12px;font-size:13px;overflow-wrap:anywhere}.appointment-location p{margin:6px 0;white-space:pre-wrap}.appointment-status{min-height:1.5em;margin:0;color:#9d3345;font-size:13px;line-height:1.5}.appointment-add{display:grid;grid-template-columns:1fr 115px;gap:10px;align-items:end}.appointment-add>button{grid-column:1/-1;justify-self:start}.appointment-edit-slot{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:11px 13px;margin:5px 0;border:1px solid #dce4e8;border-radius:11px;font-size:12px}.appointment-edit-slot button{border:0;background:#f1f4f8;min-width:32px;min-height:32px;border-radius:8px;font-size:20px}.appointment-dashboard{border-top:1px solid #dde5eb;padding:24px 0;margin:20px 0}.appointment-dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.appointment-dashboard h3{margin:5px 0 16px;display:flex;align-items:center;gap:10px;font-size:22px}.appointment-count{display:inline-grid;place-items:center;min-width:25px;min-height:25px;padding:2px 5px;background:#cef1e3;border-radius:8px;font-size:13px}.appointment-own-settings{padding:16px;background:#f0f8f5;border:1px solid #d7e9e3;border-radius:14px;display:grid;grid-template-columns:1fr auto;gap:10px;margin:14px 0}.appointment-own-settings label{grid-column:1/-1;font-size:13px;font-weight:650}.appointment-records{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.appointment-record{padding:18px;border:1px solid #dce5ea;border-radius:16px;background:#fff;min-width:0;overflow-wrap:anywhere}.appointment-record>div:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.appointment-record h4{font-size:15px;line-height:1.4;margin:14px 0 8px}.appointment-record>strong{font-size:13px}.appointment-record p{font-size:12px;margin:7px 0;white-space:pre-wrap}.appointment-record small{font-size:11px;color:#697580}.appointment-badge{display:inline-block;padding:6px 9px;border-radius:8px;background:#edf0f5;color:#54616a;font-size:11px;font-weight:700}.appointment-badge.is-pending{background:#fff3d9;color:#806014}.appointment-badge.is-confirmed{background:#dcf5e8;color:#28694e}.appointment-badge.is-cancelled,.appointment-badge.is-expired{background:#f6e9eb;color:#8c4954}.appointment-record-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.appointment-record-actions .button{min-height:38px;padding:8px 12px;font-size:11px}.appointment-dashboard>small{font-size:12px;color:#62717c}.appointment-success{text-align:center;padding:24px 0}.appointment-success>span:first-child{display:grid;place-items:center;margin:auto;width:60px;height:60px;background:#d8f4e6;color:#2d7760;border-radius:50%;font-size:30px}.appointment-success h2{margin:18px 0}.appointment-success p{line-height:1.7;font-size:14px}.search-alternatives{box-sizing:border-box;width:min(760px,100%);text-align:left;margin:24px auto 0;padding:22px;background:linear-gradient(125deg,#f0faf5,#f6f3fc);border:1px solid #cbded8;border-radius:18px}.search-alternatives[hidden]{display:none}.search-alternatives-heading strong{font-size:14px}.search-alternatives-heading p{font-size:13px!important;margin:5px 0!important;line-height:1.6}.search-alternative-options{display:grid;gap:9px;margin:18px 0}.search-alternative-options>button{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:15px;background:#fff;border:1px solid #dae3e7;border-radius:12px;color:#1c2338;font:600 13px/1.5 var(--body,sans-serif);text-align:left;cursor:pointer}.search-alternative-options>button:hover{border-color:#74b5a4;background:#f8fffb}.search-alternative-options strong{flex:0 0 auto;color:#2d6b5c}.search-alternative-options strong span{font-weight:400}.search-alternative-note{font-size:11px!important;color:#6b777f;line-height:1.7}.search-alternatives>.button{margin-top:10px;font-size:12px;white-space:normal}.search-alternatives button:focus-visible,.appointment-dialog button:focus-visible,.appointment-record-actions button:focus-visible{outline:2px solid #397e6c;outline-offset:3px}
@media(max-width:640px){.appointment-dialog{width:calc(100vw - 20px);max-height:92dvh;padding:25px 18px;border-radius:18px;margin:auto}.appointment-dialog h2{font-size:23px}.appointment-dialog input:not([type=checkbox]):not([type=radio]),.appointment-dialog textarea,.appointment-dialog select{font-size:16px}.appointment-slot-grid{grid-template-columns:1fr;max-height:260px}.appointment-records{grid-template-columns:1fr}.appointment-own-settings{grid-template-columns:1fr}.appointment-own-settings>.button{width:100%}.appointment-add{grid-template-columns:minmax(0,1fr) 112px}.appointment-add .button{width:100%}.listing-appointments{padding:16px}.appointment-heading{align-items:flex-start}.appointment-heading h3{font-size:15px}.search-alternatives{padding:16px}.search-alternative-options>button{flex-direction:column;align-items:flex-start;gap:5px}.search-alternatives-heading{align-items:flex-start}.appointment-record-actions .button{min-height:42px}.appointment-dialog{scrollbar-width:none}.appointment-dialog::-webkit-scrollbar{display:none}}
.appointment-alert-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:7px 10px;border:1px solid #b5dcd2;border-radius:12px;background:linear-gradient(115deg,#e0f8ee,#ede8fa);color:#203849;font:650 12px/1.2 var(--body,sans-serif);cursor:pointer;flex-shrink:0}.appointment-alert-toggle svg,.appointment-incoming-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.appointment-alert-count{display:grid;place-items:center;min-width:22px;height:22px;padding:0 5px;box-sizing:border-box;border-radius:8px;background:#203849;color:#fff;font-size:11px;font-weight:750}.appointment-alert-toggle:hover{border-color:#75b8a5;background:#d9f5e9}.appointment-alert-toggle:focus-visible,.appointment-incoming-notice button:focus-visible{outline:2px solid #397e6c;outline-offset:3px}.appointment-alert-toggle[hidden],.appointment-incoming-notice[hidden]{display:none}.appointment-incoming-notice{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:17px;padding:20px;margin:0 0 25px;border:1px solid #b7dcd0;border-radius:18px;background:linear-gradient(115deg,#e9faf2,#f1edf9);box-shadow:0 6px 18px #21443808;color:#1c2338}.appointment-incoming-icon{position:relative;display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#cef0e1;color:#2e6d5c}.appointment-incoming-icon svg{width:27px;height:27px}.appointment-incoming-icon b{position:absolute;right:-4px;top:-5px;display:grid;place-items:center;min-width:23px;height:23px;padding:0 5px;box-sizing:border-box;border:2px solid #edf9f4;border-radius:50%;background:#203849;color:#fff;font-size:11px}.appointment-incoming-copy{min-width:0}.appointment-incoming-copy .appointment-kicker{font-size:9px;letter-spacing:1.1px}.appointment-incoming-copy h3{margin:5px 0 7px;font-size:18px;line-height:1.35;font-weight:750}.appointment-incoming-copy p{margin:0 0 5px;font-size:12px;line-height:1.5;overflow-wrap:anywhere;color:#4c5b68}.appointment-incoming-copy small{display:block;font-size:11px;line-height:1.5;color:#596e73}.appointment-incoming-notice>.button{min-height:43px;padding:11px 15px;font-size:12px;white-space:nowrap}
@media(max-width:1000px){.appointment-alert-label{display:none}}
@media(max-width:640px){.appointment-alert-toggle{gap:5px;min-height:36px;padding:6px 7px}.appointment-incoming-notice{grid-template-columns:42px minmax(0,1fr);align-items:start;gap:13px;padding:17px 15px;border-radius:16px;margin-bottom:22px}.appointment-incoming-icon{width:42px;height:42px;border-radius:13px}.appointment-incoming-icon svg{width:23px;height:23px}.appointment-incoming-copy h3{font-size:16px}.appointment-incoming-notice>.button{grid-column:1/-1;width:100%;min-height:44px}.appointment-incoming-copy .appointment-kicker{font-size:8px;letter-spacing:.8px}}
@media(prefers-reduced-motion:reduce){.appointment-primary,.search-alternative-options>button{transition:none!important;transform:none!important}}

/* Explicit alternatives with real listing previews. */
.search-alternative-card{min-width:0;border:1px solid #cfdfda;border-radius:14px;background:#fff;overflow:hidden}
.search-alternative-card>button{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:15px;border:0;background:#f7fbf9;color:#1c2338;font:650 13px/1.5 var(--body,sans-serif);text-align:left;cursor:pointer}
.search-alternative-card>button>span{min-width:0}.search-alternative-card>button small{display:block;margin-bottom:4px;color:#55736e;font-size:9px;letter-spacing:.07em}.search-alternative-card>button strong{flex:0 0 auto;color:#2d6b5c}.search-alternative-card>button strong span{font-weight:450}
.search-alternative-card>button:hover{background:#eaf7f0}.search-alternative-previews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}
.search-alternative-previews>button{display:flex;align-items:center;gap:10px;min-width:0;padding:8px;border:1px solid #e0e7eb;border-radius:10px;background:white;color:#1c2338;font:inherit;text-align:left;cursor:pointer}.search-alternative-previews>button:hover{border-color:#88b6a8}.search-alternative-previews img{width:58px;height:48px;object-fit:cover;border-radius:7px;flex-shrink:0}.search-alternative-previews>button>span:nth-last-child(2){min-width:0;flex:1}.search-alternative-previews b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:11px;line-height:1.45;overflow-wrap:anywhere}.search-alternative-previews small{display:block;margin-top:5px;font-size:10px;color:#66747b}
.appointment-timezone{display:block;margin-top:5px}.appointment-meeting-place{padding:10px 12px;margin:12px 0;background:#f3f8f6;border-radius:10px}.appointment-meeting-place p{font-weight:600}.appointment-cancel{background:transparent;border:1px solid #e4d4d8;color:#854756;box-shadow:none}.appointment-cancel:hover{background:#fcf1f2}
.appointment-outcome{margin-top:16px;padding:14px;border:1px solid #bcdbd0;border-radius:12px;background:linear-gradient(120deg,#edf9f3,#f5f1fa)}.appointment-outcome>strong{display:block;font-size:13px;line-height:1.5}.appointment-outcome>div{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.appointment-outcome button{border:1px solid #cadbd5;border-radius:9px;min-height:38px;padding:8px 10px;font:650 11px/1.4 var(--body,sans-serif);background:#fff;color:#283e48;cursor:pointer}.appointment-outcome button[aria-pressed=true]{background:#d6f1e4;border-color:#71ab95}.appointment-outcome small{display:block;line-height:1.6}.appointment-outcome button:focus-visible,.search-alternative-card button:focus-visible{outline:2px solid #397e6c;outline-offset:2px}
@media(max-width:640px){.search-alternative-card>button{align-items:flex-start;flex-direction:column;gap:6px;padding:13px}.search-alternative-previews{grid-template-columns:1fr}.appointment-record-actions{gap:8px}.appointment-record-actions>.button{flex:1 1 140px;white-space:normal;text-align:center}.appointment-outcome button{flex:1 1 100px;min-height:44px}}

/* The private appointment plan stays inside SEVO, using Latvia civil dates. */
.appointment-calendar{margin:16px 0;border:1px solid #d5e4df;border-radius:16px;padding:16px;background:linear-gradient(125deg,#f4fbf8,#f8f7fc);color:#1c2338}
.appointment-calendar-intro{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}.appointment-calendar-intro>div:first-child{min-width:0}.appointment-calendar-intro h4{margin:0;font-size:15px;line-height:1.4}.appointment-calendar-intro p{margin:5px 0 0;font-size:11px;line-height:1.55;color:#64767b}
.appointment-calendar-roles{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:4px;border:1px solid #dce6e2;border-radius:10px;background:#fff}.appointment-calendar-roles button{border:0;border-radius:7px;padding:8px 9px;min-height:34px;background:transparent;color:#52666e;font:650 11px/1.3 var(--body,sans-serif);cursor:pointer;white-space:nowrap}.appointment-calendar-roles button[aria-pressed=true]{background:#def4e9;color:#214d43}
.appointment-calendar-layout{display:grid;grid-template-columns:minmax(248px,300px) minmax(0,1fr);gap:16px;align-items:start}.appointment-calendar-month{padding:12px;border:1px solid #dce5e5;border-radius:13px;background:#fff;min-width:0}.appointment-calendar-nav{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;gap:5px;align-items:center;margin-bottom:8px}.appointment-calendar-nav h5{margin:0;text-align:center;font-size:14px;font-weight:750;line-height:1.5;text-transform:capitalize}.appointment-calendar-nav button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #e0e7e8;border-radius:9px;background:#f7faf9;font:25px/1 var(--body,sans-serif);color:#34574f;cursor:pointer}
.appointment-calendar-weekdays,.appointment-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.appointment-calendar-weekdays{margin-bottom:5px}.appointment-calendar-weekdays span{text-align:center;padding:5px 0;font-size:10px;color:#738084;overflow:hidden}.appointment-calendar-day{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:36px;aspect-ratio:1;padding:4px 0 8px;border:1px solid transparent;border-radius:9px;background:transparent;color:#263946;font:650 12px/1.1 var(--body,sans-serif);cursor:pointer}.appointment-calendar-day:hover{background:#eef7f2;border-color:#c5e2d7}.appointment-calendar-day.is-outside{color:#98a4a9;background:#fafcfc}.appointment-calendar-day.is-today{border-color:#a6c9bf}.appointment-calendar-day[aria-pressed=true]{background:linear-gradient(125deg,#d2f4e4,#e4dcf4);border-color:#82b2a4;color:#183d34;box-shadow:0 1px 3px #2144380c}.appointment-calendar-day small{position:absolute;top:2px;right:3px;font-size:8px;font-weight:600;color:#55756a}.appointment-calendar-markers{display:flex;justify-content:center;gap:3px;position:absolute;bottom:4px;left:0;right:0;min-height:4px}.appointment-calendar-markers i,.appointment-calendar-legend i{display:block;width:4px;height:4px;border-radius:50%;background:#9aa7af}.appointment-calendar-markers .is-pending,.appointment-calendar-legend .is-pending{background:#b68a24}.appointment-calendar-markers .is-confirmed,.appointment-calendar-legend .is-confirmed{background:#3e9075}.appointment-calendar-legend{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid #edf0f0;padding-top:10px;margin-top:9px}.appointment-calendar-legend span{display:flex;align-items:center;gap:4px;font-size:9px;line-height:1.5;color:#6a767b}.appointment-calendar-legend i{flex:0 0 5px;width:5px;height:5px}.appointment-calendar-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px}.appointment-calendar-footer>span{font-size:10px;color:#738085}.appointment-calendar-footer button,.appointment-agenda-heading button{padding:7px 9px;min-height:32px;border:1px solid #cfdfda;border-radius:8px;background:#fff;color:#345e53;font:650 10px/1.4 var(--body,sans-serif);cursor:pointer}
.appointment-calendar-agenda{min-width:0}.appointment-agenda-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:34px;margin:0 0 10px}.appointment-agenda-heading h5{margin:0;font-size:13px;line-height:1.5;text-transform:capitalize;min-width:0}.appointment-agenda-heading button{flex:0 0 auto}.appointment-calendar .appointment-records{grid-template-columns:1fr;gap:10px;margin:0}.appointment-calendar .appointment-record{padding:14px;border-radius:12px}.appointment-calendar .appointment-record h4{font-size:14px;margin:10px 0 7px}.appointment-calendar .appointment-meeting-place{margin:10px 0}.appointment-calendar .appointment-record-actions{margin-top:12px}.appointment-calendar-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:235px;box-sizing:border-box;padding:22px;border:1px dashed #cdded7;border-radius:12px;text-align:center;color:#61766f;background:#ffffffa6}.appointment-calendar-empty>span{display:grid;place-items:center;width:40px;height:40px;margin-bottom:10px;border-radius:12px;background:#e6f3ec;color:#4d7d6d;font-size:24px}.appointment-calendar-empty strong{font-size:13px;line-height:1.5;color:#354d45}.appointment-calendar-empty p{font-size:12px;line-height:1.65;margin:7px 0 0;max-width:28ch}.appointment-calendar button:focus-visible{outline:2px solid #397e6c;outline-offset:2px}
.appointment-calendar-markers .is-cancelled,.appointment-calendar-legend .is-cancelled{background:#af6375}
.appointment-calendar-nav h5,.appointment-agenda-heading h5{text-transform:none}
.appointment-contact-fields{min-width:0;margin:0;padding:14px;border:1px solid #d6e5df;border-radius:13px;background:linear-gradient(120deg,#f4fbf7,#f8f5fc);display:grid;gap:10px}.appointment-contact-fields legend{padding:0 6px;font-size:12px;font-weight:750;color:#355e53}.appointment-contact-help{margin:0;font-size:11px;line-height:1.6;color:#63747a}.appointment-dialog .appointment-contact-consent{display:flex;align-items:flex-start;gap:9px;margin:0;font-size:12px;line-height:1.6;font-weight:550}.appointment-contact-consent input{flex:0 0 auto;width:17px;height:17px;margin:2px 0 0;accent-color:#397e6c}.appointment-contact-form-actions{display:flex;flex-wrap:wrap;gap:9px}.appointment-contact-form-actions .button{min-height:42px;border-radius:10px;flex:1 1 140px}.appointment-record-actions .appointment-contact-link{flex:1 1 125px;gap:9px;border-radius:10px;min-height:42px;text-align:left;white-space:normal}.appointment-contact-link svg{width:19px;height:19px;flex:0 0 19px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.appointment-contact-link>span{min-width:0;line-height:1.35}.appointment-record .appointment-contact-link small{display:block;margin-top:3px;font-size:10px;font-weight:500;color:#46685e}.appointment-whatsapp{border:1px solid #c3ded2;background:linear-gradient(115deg,#e1f7ec,#eee8f8);color:#234e40;box-shadow:0 3px 10px #21443808}.appointment-whatsapp:hover{border-color:#88b8a3;background:linear-gradient(115deg,#d3f1e2,#e5ddf5)}.appointment-record-actions .appointment-edit-contact{border-radius:10px;color:#46655b}.appointment-record p.appointment-contact-unavailable{color:#677a74;line-height:1.6;font-size:11px}.appointment-record-actions a:focus-visible{outline:2px solid #397e6c;outline-offset:3px}
@media(max-width:640px){.appointment-contact-fields{padding:12px;gap:9px}.appointment-dialog .appointment-contact-consent{min-height:42px;align-items:center}.appointment-contact-consent input{margin-top:0}.appointment-contact-form-actions{gap:8px}.appointment-contact-form-actions .button{min-height:42px}.appointment-calendar .appointment-record-actions>.appointment-contact-link{flex-basis:125px}.appointment-record-actions .appointment-edit-contact{min-height:42px}}
@media(max-width:850px){.appointment-calendar-layout{grid-template-columns:1fr}.appointment-calendar-month{width:min(100%,380px);box-sizing:border-box;justify-self:center}.appointment-calendar-intro{align-items:flex-start;flex-direction:column;gap:10px}.appointment-calendar-roles{width:100%;box-sizing:border-box}.appointment-calendar-roles button{flex:1}.appointment-calendar-day{min-height:38px;aspect-ratio:auto}.appointment-calendar-empty{min-height:155px}}
@media(max-width:640px){.appointment-calendar{padding:12px;border-radius:14px;margin:12px 0}.appointment-calendar-intro{margin-bottom:12px}.appointment-calendar-intro h4{font-size:14px}.appointment-calendar-intro p{font-size:10px}.appointment-calendar-roles{padding:3px;gap:2px}.appointment-calendar-roles button{font-size:10px;padding:8px 6px;min-height:38px}.appointment-calendar-layout{gap:14px}.appointment-calendar-month{padding:10px;max-width:100%}.appointment-calendar-nav button{width:36px;height:36px}.appointment-calendar-nav{grid-template-columns:36px minmax(0,1fr) 36px}.appointment-calendar-nav h5{font-size:13px}.appointment-calendar-day{min-height:38px;font-size:12px}.appointment-calendar-legend{gap:7px}.appointment-calendar-legend span{font-size:8px}.appointment-agenda-heading{align-items:flex-start;gap:7px}.appointment-agenda-heading h5{font-size:12px}.appointment-agenda-heading button{font-size:9px;padding:7px;min-height:36px}.appointment-calendar .appointment-record{padding:12px}.appointment-calendar .appointment-record-actions>.button{min-height:42px;flex-basis:130px}.appointment-calendar-footer button{min-height:36px}.appointment-calendar-day small{font-size:7px;right:2px}.appointment-calendar-markers{gap:2px}}

/* The account calendar starts folded; the native summary stays available on every screen. */
#appointment-dashboard{margin:12px 0;padding:0;border:0}
#appointment-dashboard[hidden]{display:none}
.appointment-dashboard-disclosure{min-width:0;border:1px solid #d5e3de;border-radius:12px;background:linear-gradient(120deg,#f8fcfa,#faf8fd)}
.appointment-dashboard-disclosure>.appointment-dashboard-heading{box-sizing:border-box;min-height:64px;padding:10px 14px;list-style:none;cursor:pointer}
.appointment-dashboard-disclosure>.appointment-dashboard-heading::-webkit-details-marker{display:none}
.appointment-dashboard-disclosure>.appointment-dashboard-heading>div{min-width:0}
.appointment-dashboard-disclosure>.appointment-dashboard-heading .appointment-kicker{font-size:9px;letter-spacing:1.2px}
.appointment-dashboard-disclosure>.appointment-dashboard-heading h3{margin:2px 0 0;font-size:15px;line-height:1.4;gap:8px;flex-wrap:wrap}
.appointment-dashboard-disclosure .appointment-count{min-width:20px;min-height:20px;padding:1px 5px;font-size:10px;border-radius:7px}
.appointment-disclosure-toggle{box-sizing:border-box;display:flex;align-items:center;justify-content:center;flex-shrink:0;min-height:44px;padding:8px 11px;border:1px solid #cbded5;border-radius:9px;color:#315d51;background:#f3f9f6;font:650 12px/1.4 var(--body,sans-serif);text-align:center}
.appointment-collapse-label,.appointment-dashboard-disclosure[open] .appointment-expand-label{display:none}
.appointment-dashboard-disclosure[open] .appointment-collapse-label{display:inline}
.appointment-dashboard-disclosure>.appointment-dashboard-heading:hover .appointment-disclosure-toggle{border-color:#a4c9bb;background:#eaf5ef}
.appointment-dashboard-disclosure>.appointment-dashboard-heading:focus-visible{outline:2px solid #397e6c;outline-offset:3px;border-radius:12px}
.appointment-dashboard-content{min-width:0;margin:0 14px;padding:12px 0 14px;border-top:1px solid #dce7e2}
.appointment-calendar-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;min-width:0}
.appointment-calendar-toolbar>.appointment-calendar-roles{width:auto;flex:0 1 auto}
.appointment-calendar-toolbar>.appointment-calendar-refresh{display:flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;min-height:44px;padding:9px 11px;border-radius:10px;font-size:11px;line-height:1.3}
.appointment-calendar-refresh svg{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.appointment-dashboard-content>small{display:block;font-size:11px;line-height:1.6;color:#62717c}
@media(max-width:850px){.appointment-calendar-toolbar{width:100%;justify-content:flex-start}.appointment-calendar-toolbar>.appointment-calendar-roles{flex:1 1 180px}}
@media(max-width:640px){
 #appointment-dashboard{margin:10px 0}
 .appointment-dashboard-disclosure>.appointment-dashboard-heading{gap:8px;padding:10px 12px}
 .appointment-dashboard-disclosure>.appointment-dashboard-heading h3{font-size:14px}
 .appointment-dashboard-content{margin:0 12px;padding:10px 0 12px}
 .appointment-disclosure-toggle{padding:8px 10px}
 .appointment-calendar-toolbar{gap:6px}
 .appointment-calendar-toolbar>.appointment-calendar-refresh{box-sizing:border-box;width:44px;min-height:46px;padding:8px}
 .appointment-calendar-refresh .appointment-refresh-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
}
@media(forced-colors:active){.appointment-dashboard-disclosure,.appointment-dashboard-content{border-color:CanvasText}.appointment-disclosure-toggle{border-color:ButtonText;background:ButtonFace;color:ButtonText}}
