.work-calendar {
    --wc-ink: #28332f;
    --wc-muted: #7a8580;
    --wc-line: #e9eeeb;
    --wc-accent: #26745e;
    --wc-soft: #f2f7f4;
    margin-bottom: 24px;
    background: #fff;
    border-bottom: 1px solid var(--wc-line);
    color: var(--wc-ink);
    letter-spacing: 0;
    font-size: 14px;
    -webkit-font-smoothing: antialiased;
}
.wc-heading, .wc-title, .wc-toolbar, .wc-monthbar, .wc-month-actions, .wc-agenda-heading,
.wc-task-top, .wc-dialog-header, .wc-dialog-footer { display: flex; align-items: center; }
.wc-heading { justify-content: space-between; gap: 16px; padding: 20px 24px; border-bottom: 1px solid var(--wc-line); flex-wrap: wrap; }
.wc-title { gap: 10px; min-width: 0; }
.wc-title > i { color: var(--wc-accent); font-size: 18px; }
.wc-heading h5, .wc-dialog-header h5 { margin: 0; font-size: 17px; font-weight: 600; line-height: 24px; }
.wc-month-total { border-left: 1px solid #dfe6e1; padding-left: 14px; margin-left: 4px; color: var(--wc-muted); font-size: 12px; }
.wc-toolbar { flex-shrink: 0; }
.work-calendar .btn { border-radius: 6px; font-size: 13px; line-height: 20px; font-weight: 500; box-shadow: none; }
.work-calendar .btn-primary { background: var(--wc-accent); border-color: var(--wc-accent); color: #fff; padding: 8px 16px; }
.work-calendar .btn-primary:hover { background: #1f604e; border-color: #1f604e; }
.work-calendar .btn-primary:disabled { background: #82a99b; border-color: #82a99b; }
.work-calendar .btn-light { background: transparent; border-color: transparent; color: #68756d; }
.work-calendar .btn-light:hover { background: #f0f4f1; color: var(--wc-ink); }
.work-calendar button:focus-visible, .work-calendar summary:focus-visible { outline: 2px solid var(--wc-accent); outline-offset: 3px; }
.wc-icon { width: 32px; height: 32px; padding: 0; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; }
.wc-error { margin: 16px 24px 0; }
.wc-layout { display: grid; grid-template-columns: minmax(290px, 338px) minmax(0, 1fr); }
.wc-calendar { padding: 22px 22px 18px; border-right: 1px solid var(--wc-line); min-width: 0; }
.wc-monthbar { justify-content: space-between; gap: 8px; margin-bottom: 20px; flex-wrap: wrap; }
.wc-month-picker { position: relative; display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 4px 0; min-width: 0; flex-shrink: 0; cursor: pointer; }
.wc-month-picker > span { font-size: 16px; font-weight: 600; white-space: nowrap; }
.wc-month-picker > i { font-size: 12px; color: var(--wc-muted); }
.wc-month-picker input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.wc-month-picker input::-webkit-calendar-picker-indicator { position: absolute; inset: 0; width: auto; height: auto; cursor: pointer; }
.wc-month-picker:focus-within { outline: 2px solid var(--wc-accent); outline-offset: 4px; border-radius: 2px; }
.wc-month-actions { gap: 2px; flex-shrink: 0; }
.wc-month-actions .wc-icon { width: 26px; height: 28px; font-size: 10px; }
.work-calendar .wc-today { color: #64736a; background: #f4f6f4; padding: 3px 9px; margin-left: 5px; border: 1px solid #e6ebe7; }
.work-calendar .wc-today:hover { background: #eaf0ec; }
.wc-week, .wc-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.wc-week { color: #7a857e; font-size: 11px; text-align: center; margin-bottom: 10px; line-height: 18px; }
.wc-week .is-weekend { color: #a1aaa4; }
.wc-day { display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 0; height: 52px; border: 0; border-radius: 6px; background: transparent; color: #414c45; padding: 0; gap: 3px; font-variant-numeric: tabular-nums; }
.wc-day:hover { background: #f4f7f5; }
.wc-day-date { position: relative; display: inline-flex; width: 27px; max-width: 100%; height: 27px; }
.wc-day-number { width: 100%; height: 27px; display: grid; place-items: center; border: 1px solid transparent; border-radius: 6px; font-size: 13px; line-height: 25px; }
.wc-day.is-today .wc-day-number { color: var(--wc-accent); font-weight: 600; border-color: #b5d0c3; }
.wc-day.is-outside { color: #c2c9c4; }
.wc-day.is-selected .wc-day-number { color: #fff; background: var(--wc-accent); border-color: var(--wc-accent); font-weight: 600; }
.wc-day-count { position: absolute; top: -6px; right: -6px; display: flex; align-items: center; justify-content: center; min-width: 18px; height: 18px; padding: 0 4px; border: 1px solid #fff; border-radius: 10px; background: #f04444; color: #fff; font-size: 10px; line-height: 16px; font-weight: 600; white-space: nowrap; pointer-events: none; }
.wc-agenda { padding: 20px 26px 24px; min-width: 0; }
.wc-agenda-toolbar { display: flex; justify-content: flex-end; min-height: 20px; margin-bottom: 18px; }
.wc-agenda-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.wc-agenda-group { min-width: 0; }
.wc-group-today { padding-right: 22px; border-right: 1px solid var(--wc-line); }
.wc-group-tomorrow { padding-left: 22px; }
.wc-group-selected { grid-column: 1 / -1; margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--wc-line); }
.wc-group-tasks { max-height: 340px; overflow-y: auto; padding-right: 3px; }
.wc-group-selected .wc-group-tasks { max-height: 260px; }
.wc-agenda-heading { align-items: flex-start; flex-direction: column; padding-bottom: 16px; border-bottom: 1px solid var(--wc-line); gap: 6px; }
.wc-agenda-date { display: flex; align-items: baseline; gap: 12px; }
.wc-agenda-date h6 { font-size: 15px; font-weight: 600; margin: 0; line-height: 24px; }
.is-active-date .wc-agenda-date h6 { color: var(--wc-accent); }
.wc-agenda-date > span { color: #919a94; font-size: 12px; white-space: nowrap; }
.wc-group-date { color: #9aa39d; font-size: 11px; line-height: 18px; }
.wc-agenda-group .wc-empty { min-height: 190px; gap: 12px; }
.wc-agenda-group .wc-empty > i { font-size: 25px; }
.wc-show-completed { display: inline-flex; align-items: center; gap: 6px; margin: 0; font-size: 12px; color: #7b867f; white-space: nowrap; cursor: pointer; }
.wc-show-completed input, .wc-member input { accent-color: var(--wc-accent); width: 14px; height: 14px; flex-shrink: 0; cursor: pointer; }
.wc-empty { min-height: 238px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 14px; padding: 24px 12px; text-align: center; color: #98a29b; font-size: 13px; }
.wc-empty > i { font-size: 30px; color: #c7d1ca; }
.wc-task { display: flex; gap: 12px; padding: 20px 0; border-bottom: 1px solid var(--wc-line); align-items: flex-start; min-width: 0; }
.wc-task:last-child { border-bottom: 0; }
.wc-task-time { width: 42px; min-width: 42px; font-size: 12px; color: #8b958e; line-height: 22px; font-variant-numeric: tabular-nums; }
.wc-check, .wc-readonly-mark { border: 0; background: transparent; color: #b0bcb3; padding: 1px 0; width: 18px; min-width: 18px; height: 22px; font-size: 17px; text-align: center; line-height: 20px; }
.wc-check:hover { color: var(--wc-accent); }
.wc-task.is-completed .wc-check { color: var(--wc-accent); }
.wc-task-main { flex: 1; min-width: 0; text-align: left; border: 0; padding: 0; background: transparent; color: inherit; }
.wc-task-main:hover strong { color: var(--wc-accent); }
.wc-task-top { justify-content: space-between; gap: 10px; align-items: flex-start; min-height: 22px; }
.wc-task-top strong { font-size: 14px; line-height: 22px; font-weight: 500; overflow-wrap: anywhere; }
.wc-task.is-completed .wc-task-top strong { color: #8c978f; }
.wc-task-info { display: flex; align-items: baseline; gap: 10px 18px; flex-wrap: wrap; margin-top: 8px; }
.wc-task-patient, .wc-task-meta { display: inline-flex; align-items: baseline; gap: 6px; color: #929c95; font-size: 12px; line-height: 18px; overflow-wrap: anywhere; min-width: 0; }
.wc-task-patient { color: #69786e; }
.wc-task-info i { color: #a1ada4; font-size: 10px; flex-shrink: 0; }
.wc-state { display: inline-block; font-size: 10px; line-height: 18px; padding: 1px 6px; border-radius: 4px; white-space: nowrap; flex-shrink: 0; }
.wc-state-0 { color: #9b7e34; background: #faf6e9; }
.wc-state-1 { color: #43886b; background: #eff6f1; }
.wc-state-2 { color: #8a928d; background: #f1f3f1; }
.wc-overlay { position: fixed; inset: 0; z-index: 1060; background: rgba(27, 35, 30, .34); display: flex; align-items: center; justify-content: center; padding: 24px; }
.wc-dialog { width: 560px; max-width: 100%; max-height: calc(100dvh - 48px); display: flex; flex-direction: column; background: #fff; border-radius: 8px; box-shadow: 0 16px 64px rgba(25, 41, 31, .18); }
.wc-dialog-header { padding: 20px 24px 16px; justify-content: space-between; border-bottom: 1px solid var(--wc-line); flex-shrink: 0; }
.wc-dialog-header .wc-icon { margin-right: -5px; }
.wc-dialog-body { overflow-y: auto; overscroll-behavior: contain; padding: 22px 24px; min-height: 0; }
.wc-dialog-footer { padding: 14px 24px; gap: 10px; justify-content: flex-end; border-top: 1px solid var(--wc-line); flex-shrink: 0; }
.wc-dialog-footer > .btn-light { padding: 8px 16px; }
.wc-dialog-footer > .wc-icon { padding: 0; }
.wc-form-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; }
.wc-schedule-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr) minmax(0, .9fr); gap: 16px; }
.wc-time-input { position: relative; }
.wc-time-input:has(.wc-time-clear) .form-control { padding-right: 32px; }
.wc-time-input .form-control::-webkit-calendar-picker-indicator { opacity: .5; cursor: pointer; }
.wc-time-clear { position: absolute; top: 4px; right: 4px; width: 28px; height: 32px; padding: 0; border: 0; background: #fff; color: #95a097; border-radius: 4px; font-size: 11px; }
.wc-time-clear:hover { color: var(--wc-accent); background: var(--wc-soft); }
.wc-dialog .form-group { margin-bottom: 20px; min-width: 0; }
.wc-dialog label { font-size: 12px; line-height: 18px; font-weight: 500; color: #67746b; margin-bottom: 8px; }
.wc-dialog .form-control { font-size: 14px; height: 40px; padding: 9px 12px; line-height: 20px; border: 1px solid #dfe6e1; border-radius: 6px; color: var(--wc-ink); background: #fff; box-shadow: none; }
.wc-dialog .form-control::placeholder { color: #a5aea8; font-size: 13px; }
.wc-dialog textarea.form-control { height: auto; min-height: 72px; resize: vertical; }
.wc-dialog .form-control:focus { border-color: #6ba58c; box-shadow: 0 0 0 3px rgba(38, 116, 94, .07); }
.wc-owner { display: flex; align-items: center; gap: 10px; height: 40px; }
.wc-owner > i { color: #7b9585; font-size: 14px; }
.wc-owner input { min-width: 0; width: 100%; border: 0; background: transparent; padding: 0; color: #495a4e; font-size: 14px; }
.wc-dialog .input-group > .form-control { border-radius: 6px; }
.wc-dialog .input-group-append { position: absolute; right: 4px; top: 4px; z-index: 4; margin: 0; }
.wc-dialog .input-group-append .btn { height: 32px; width: 32px; padding: 0; border: 0; background: #fff; color: #95a097; border-radius: 4px; }
.wc-dialog .input-group:has(.input-group-append) input { padding-right: 42px; }
.wc-customer-results { border: 1px solid #dfe6e1; border-radius: 6px; margin-top: 5px; max-height: 168px; overflow: auto; box-shadow: 0 4px 12px rgba(26, 45, 32, .04); }
.wc-customer-results button { display: flex; width: 100%; border: 0; border-bottom: 1px solid #f0f3f1; background: #fff; padding: 11px 12px; text-align: left; justify-content: space-between; gap: 12px; font-size: 13px; color: var(--wc-ink); }
.wc-customer-results button:last-child { border-bottom: 0; }
.wc-customer-results button:hover { background: var(--wc-soft); }
.wc-customer-results small { color: #94a098; white-space: nowrap; }
.wc-picker-note { color: var(--wc-muted); font-size: 12px; margin-top: 6px; }
.wc-selection-count { margin-left: 8px; color: #91a296; font-size: 11px; font-weight: normal; }
.wc-member-trigger { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; min-height: 40px; padding: 9px 12px; border: 1px solid #dfe6e1; border-radius: 6px; background: #fff; color: #a5aea8; font-size: 13px; line-height: 20px; text-align: left; }
.wc-member-trigger span { overflow-wrap: anywhere; }
.wc-member-trigger > i { flex-shrink: 0; color: #8f9d93; font-size: 12px; }
.wc-member-trigger.has-selection { color: #405b4a; background: #fbfdfb; }
.wc-member-trigger[aria-expanded="true"] { border-color: #6ba58c; }
.wc-member-picker { border: 1px solid #dfe6e1; border-radius: 6px; margin-top: 6px; overflow: hidden; }
.wc-member-search { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-bottom: 1px solid var(--wc-line); }
.wc-member-search > i { font-size: 12px; color: #9ca99f; }
.wc-member-search input { width: 100%; min-width: 0; border: 0; outline: none; font-size: 13px; color: var(--wc-ink); padding: 0; line-height: 22px; }
.wc-member-search input::placeholder { color: #a5aea8; }
.wc-member-search:focus-within { background: #f8fbf9; }
.wc-member-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: 180px; overflow-y: auto; padding: 5px; gap: 2px; }
.wc-dialog .wc-member { display: flex; align-items: center; gap: 10px; padding: 9px 10px; margin: 0; min-width: 0; cursor: pointer; border-radius: 4px; color: #435348; font-size: 13px; font-weight: 400; }
.wc-member:hover, .wc-member.is-checked { background: var(--wc-soft); }
.wc-member input { margin: 0; }
.wc-member > span { overflow-wrap: anywhere; min-width: 0; }
.wc-member small { display: block; color: #9ca79f; font-size: 10px; font-weight: normal; line-height: 16px; }
.wc-no-members { grid-column: 1 / -1; padding: 20px; text-align: center; font-size: 12px; color: #97a299; }
.wc-more { border-top: 1px solid var(--wc-line); padding-top: 15px; font-size: 13px; }
.wc-more summary { color: #89958d; cursor: pointer; font-size: 12px; }
.wc-more summary::marker { color: #aab4ad; font-size: 10px; }
.wc-detail-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 24px; }
.wc-detail-title h5 { font-size: 18px; font-weight: 500; line-height: 28px; overflow-wrap: anywhere; margin: 0; }
.wc-detail-title .wc-state { margin-top: 4px; }
.wc-detail dl { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 14px 20px; font-size: 13px; margin-bottom: 22px; line-height: 22px; }
.wc-detail dt { color: #96a197; font-weight: normal; }
.wc-detail dd { margin: 0; overflow-wrap: anywhere; color: #536458; }
.wc-detail-note { white-space: pre-wrap; font-size: 13px; color: #66796c; padding: 14px 0; border-top: 1px solid var(--wc-line); margin-bottom: 14px; overflow-wrap: anywhere; }
.wc-logs { list-style: none; padding: 4px 0 0; margin: 0; font-size: 12px; }
.wc-logs li { border-left: 1px solid #dce6df; padding: 0 0 18px 14px; }
.wc-logs li:last-child { padding-bottom: 0; }
.wc-logs strong { font-weight: 500; color: #637a69; }
.wc-logs time { display: block; color: #a0aaa2; margin-top: 4px; font-size: 11px; }
.wc-logs p { color: #8a988e; margin: 6px 0 0; overflow-wrap: anywhere; }
@media (max-width: 1050px) {
    .wc-layout { grid-template-columns: minmax(270px, 310px) minmax(0, 1fr); }
    .wc-calendar { padding: 20px 16px 16px; }
    .wc-agenda { padding: 22px 20px; }
    .wc-month-total { display: none; }
}
@media (max-width: 1180px) {
    .wc-agenda-groups { grid-template-columns: minmax(0, 1fr); }
    .wc-group-today { padding-right: 0; border-right: 0; }
    .wc-group-tomorrow { padding-left: 0; }
    .wc-agenda-group + .wc-agenda-group { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--wc-line); }
    .wc-agenda-group .wc-empty { min-height: 110px; }
    .wc-group-tasks { max-height: 260px; }
    .wc-agenda-heading { flex-direction: row; justify-content: space-between; align-items: baseline; flex-wrap: wrap; }
}
@media (max-width: 720px) {
    .wc-layout { grid-template-columns: minmax(0, 1fr); }
    .wc-heading { padding: 16px; gap: 10px; }
    .wc-heading h5 { font-size: 16px; }
    .work-calendar .wc-toolbar .btn-primary { padding: 6px 12px; white-space: nowrap; }
    .wc-calendar { border-right: 0; border-bottom: 1px solid var(--wc-line); padding: 20px 18px 14px; }
    .wc-monthbar { margin-bottom: 16px; }
    .wc-day { height: 51px; }
    .wc-agenda { padding: 18px; }
    .wc-agenda-heading { gap: 8px; padding-bottom: 16px; }
    .wc-agenda-date { gap: 8px; }
    .wc-agenda-date h6 { font-size: 14px; }
    .wc-show-completed { font-size: 11px; }
    .wc-task { gap: 8px; padding: 18px 0; }
    .wc-task-time { width: 35px; min-width: 35px; font-size: 11px; }
    .wc-task-info { gap: 6px 14px; }
    .wc-task-top strong { font-size: 13px; }
    .wc-empty { min-height: 160px; }
    .wc-overlay { padding: 12px; }
    .wc-dialog { max-height: calc(100dvh - 24px); }
    .wc-dialog-body { padding: 20px; }
    .wc-dialog-header { padding: 16px 20px; }
    .wc-dialog-footer { padding: 12px 20px; }
    .wc-form-row { gap: 16px; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); }
    .wc-schedule-row { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 12px 16px; }
    .wc-schedule-row .wc-person-field { grid-column: 1 / -1; display: flex; align-items: center; gap: 16px; margin-bottom: 0; }
    .wc-person-field > label { margin-bottom: 0; flex-shrink: 0; }
    .wc-person-field .wc-owner { flex: 1; min-width: 0; height: 28px; }
    .wc-dialog label { font-size: 12px; }
    .wc-dialog .form-control, .wc-owner input { font-size: 13px; }
    .wc-dialog .form-group { margin-bottom: 18px; }
    .wc-member-list { max-height: 160px; }
    .wc-dialog .wc-member { padding: 8px; gap: 8px; font-size: 12px; }
    .wc-detail-title h5 { font-size: 17px; }
}
@media (prefers-reduced-motion: reduce) {
    .work-calendar *, .work-calendar *::before, .work-calendar *::after { transition: none !important; }
}
