.cal-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:32px;border-radius:22px;background:linear-gradient(125deg,var(--nav),var(--accent));color:white;border:1px solid var(--gold)}.cal-hero h2{font-size:28px;font-weight:700;margin:8px 0}.cal-hero p{opacity:.85}.cal-hero .sl-eyebrow{color:#e5cd9e}.cal-toolbar{margin-bottom:24px;gap:16px;flex-wrap:wrap}.cal-grid-wrap{overflow:auto}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(100px,1fr));min-width:700px;border:1px solid var(--line);border-radius:14px;overflow:hidden}.cal-weekday{padding:12px;background:var(--accent-soft);text-align:center;font-weight:600}.cal-day{min-height:120px;padding:7px;border-top:1px solid var(--line);border-right:1px solid var(--line);background:var(--surface)}.cal-day.outside{background:var(--canvas);color:#687a7b}.cal-day.today .cal-date{background:var(--accent);color:white}.cal-day.selected{box-shadow:inset 0 0 0 2px var(--gold)}.cal-date{display:block;border-radius:50%;width:32px;height:32px;font-weight:600;margin-bottom:5px}.cal-event{display:block;text-align:left;width:100%;font-size:12px;padding:5px 7px;margin:3px 0;border-radius:5px;background:var(--accent-soft);color:var(--ink);border-left:3px solid var(--accent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-event.cancelled{opacity:.65;text-decoration:line-through;border-color:#a45555}.cal-event.completed{border-color:var(--gold);background:#f4f0e8}.cal-more{font-size:12px;color:var(--accent);padding:4px}.cal-filters{display:grid;grid-template-columns:2fr 1.5fr 1fr 1fr 1fr;gap:12px;margin:20px 0}.cal-table td{min-width:115px;max-width:300px;overflow-wrap:anywhere}.cal-status{display:inline-block;border-radius:20px;padding:4px 10px;font-size:12px;background:var(--accent-soft);color:var(--accent)}.cal-status.cancelled{background:#fcecec;color:#984646}.cal-status.completed{background:#eee;color:#555}.cal-alerts{position:fixed;right:24px;bottom:24px;z-index:70;width:390px;max-width:calc(100vw - 32px);max-height:70vh;overflow:auto;padding:20px;background:var(--surface);color:var(--ink);border:1px solid var(--gold);border-top:4px solid var(--accent);border-radius:18px;box-shadow:0 20px 70px #102d3240}.cal-alert-item{display:block;width:100%;text-align:left;padding:12px 0;border-bottom:1px solid var(--line);line-height:1.7}.cal-alerts>.sl-row:last-child{margin-top:14px}#appointmentForm fieldset{min-width:0}#appointmentForm fieldset>.sl-label{margin-top:18px}#appointmentDashboard{border-left:4px solid var(--gold)}@media(max-width:1000px){.cal-filters{grid-template-columns:1fr 1fr}.cal-filters>.sl-label:first-child{grid-column:1/-1}}@media(max-width:600px){.cal-hero{padding:24px;align-items:flex-start;flex-direction:column}.cal-hero h2{font-size:23px}.cal-filters{grid-template-columns:1fr}.cal-alerts{right:16px;bottom:16px}.cal-toolbar>.sl-row{flex-wrap:wrap}}@media print{.cal-alerts{display:none!important}}
#workspaceView.calendar-view{grid-template-columns:minmax(0,1fr)}.calendar-view>.sl-card,.cal-hero{min-width:0}.cal-hero .sl-button.primary{background:#e4c58d;color:#183b3a;border-color:#e4c58d}.cal-grid-wrap{max-width:100%}.cal-toolbar h2{white-space:normal}

.cal-table td:last-child .sl-button{margin:3px;white-space:nowrap}.cal-delete{color:#b42336!important}.cal-document-details{display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px 18px}.cal-document-details dt{color:var(--muted,#64748b)}.cal-document-details dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}#appointmentDocumentDetails{width:min(680px,92vw);max-height:85vh;overflow:auto;border:1px solid #dce5e2;border-radius:18px;padding:16px}#appointmentDocumentDetails::backdrop{background:#102b3566}

.cal-thai-date{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.cal-thai-date select{width:auto;min-width:0;flex:1 1 70px}.cal-thai-date select[data-date-part=month]{flex-basis:125px}.cal-thai-date select[data-date-part=year]{flex-basis:110px}.cal-thai-date select[data-date-part=hour],.cal-thai-date select[data-date-part=minute]{flex:0 1 80px}
