.sidebar{width:var(--sidebar-width);color:var(--color-ink);border-right:1px solid var(--color-border);background:#fafdfe;flex-direction:column;flex-shrink:0;min-height:100vh;padding:27px 16px 20px;display:flex}@media (width>=681px){.sidebar{height:100vh;position:fixed;inset:0 auto 0 0;overflow:hidden}}.sidebar__brand{align-items:center;gap:var(--space-2);margin-bottom:37px;padding:0 13px;display:flex}.sidebar__brand-logo{object-fit:cover;background:#fff;border-radius:12px;width:42px;height:42px}.sidebar__brand-name{font-weight:var(--fw-semibold);font-size:var(--fs-md);letter-spacing:-.01em}.sidebar__nav{gap:var(--space-1);flex-direction:column;display:flex}.sidebar__section-label{color:#99a9af;font-size:10px;font-weight:var(--fw-bold);letter-spacing:.12em;text-transform:uppercase;padding:0 13px 10px}.sidebar__link{border-radius:var(--radius-sm);color:var(--color-ink-soft);font-size:var(--fs-base);font-weight:var(--fw-medium);align-items:center;gap:13px;padding:12px 14px;text-decoration:none;transition:background .12s,color .12s;display:flex}.sidebar__link-icon{color:currentColor;text-align:center;width:19px;font-size:17px}.sidebar__link:hover{background:var(--color-primary-soft);color:var(--color-primary-dark)}.sidebar__link--active{background:var(--color-primary-soft);color:var(--color-primary)}.sidebar__logout{border-radius:var(--radius-sm);width:100%;color:var(--color-accent-dark);text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;padding:11px 10px}.sidebar__logout:hover{color:var(--color-accent-dark);background:var(--color-accent-soft)}.sidebar__bottom{border-top:1px solid var(--color-border);margin-top:auto;padding-top:16px}.sidebar__profile{align-items:center;gap:10px;padding:11px 10px 18px;display:flex}.sidebar__profile strong,.sidebar__profile small{display:block}.sidebar__profile strong{font-size:13px}.sidebar__profile small{color:var(--color-ink-faint);font-size:11px}.sidebar__avatar{color:#1c6654;width:38px;height:38px;font-weight:var(--fw-bold);background:#bfe8d9;border-radius:50%;flex:none;place-items:center;display:grid}.sidebar__language{color:var(--color-ink-soft);justify-content:space-between;align-items:center;padding:10px;font-size:12px;display:flex}.sidebar__toggle{background:var(--color-primary);border-radius:12px;width:38px;height:22px;padding:3px}.sidebar__toggle:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;margin-left:16px;display:block}.app-layout{min-height:100vh;display:flex}.app-layout__content{flex:1;min-width:0}@media (width>=681px){.app-layout{display:block}.app-layout__content{min-height:100vh;margin-left:var(--sidebar-width);overflow-y:auto}}.topbar{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:31px clamp(22px,4vw,58px) 20px;display:flex}.topbar__title{font-size:var(--fs-xl);font-weight:var(--fw-bold);letter-spacing:-.04em;color:var(--color-ink)}.topbar__subtitle{font-size:var(--fs-base);color:var(--color-ink-soft);margin-top:8px}.topbar__notifications{position:relative}.topbar__notification-button{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:38px;height:38px;color:var(--color-primary-dark);background:var(--color-surface);font-size:18px;position:relative}.topbar__notification-button:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}.topbar__notification-badge{border:2px solid var(--color-surface);border-radius:var(--radius-pill);min-width:15px;height:15px;color:var(--color-surface);background:var(--color-accent);font-size:9px;font-weight:var(--fw-bold);padding:0 4px;line-height:11px;position:absolute;top:5px;right:5px}.topbar__notification-panel{z-index:20;border:1px solid var(--color-border);background:var(--color-surface);width:330px;box-shadow:var(--shadow-popover);border-radius:8px;position:absolute;top:46px;right:0;overflow:hidden}.topbar__notification-heading{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.topbar__notification-heading strong{font-size:var(--fs-sm)}.topbar__notification-heading span{color:var(--color-primary);font-size:var(--fs-xs);font-weight:var(--fw-bold)}.topbar__notification-item{width:100%;color:var(--color-ink);background:var(--color-surface);text-align:left;border:0;grid-template-columns:8px 1fr auto;align-items:start;gap:10px;padding:14px 16px;display:grid}.topbar__notification-item:hover{background:var(--color-surface-sunken)}.topbar__notification-dot{background:var(--color-accent);border-radius:50%;width:7px;height:7px;margin-top:4px}.topbar__notification-item strong,.topbar__notification-item small{display:block}.topbar__notification-item strong{font-size:var(--fs-sm)}.topbar__notification-item small{color:var(--color-ink-soft);font-size:var(--fs-xs);margin-top:4px}.topbar__notification-arrow{color:var(--color-primary);font-size:20px;line-height:1}@media (width<=680px){.topbar__notification-panel{width:auto;position:fixed;top:76px;left:16px;right:16px}}.dashboard-page{background:var(--color-bg);min-height:100vh}.dashboard-page__content{padding:0 var(--space-6) var(--space-6)}.dashboard-page__toolbar{margin:var(--space-5) 0 var(--space-4);justify-content:flex-end;display:flex}.dashboard-page__filter-group{gap:var(--space-3);display:flex}.dashboard-page__filter-group label{gap:var(--space-2);color:var(--color-ink-soft);font-size:var(--fs-sm);flex-direction:column;display:flex}.dashboard-page__filter-group select{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);min-width:180px;padding:var(--space-2) var(--space-3);color:var(--color-ink)}.dashboard-page__metrics{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.dashboard-page__metric-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-card)}.dashboard-page__metric-card--primary{border-left:4px solid var(--color-primary)}.dashboard-page__metric-card--accent{border-left:4px solid var(--color-accent)}.dashboard-page__metric-card--neutral{border-left:4px solid var(--color-neutral)}.dashboard-page__metric-card--success{border-left:4px solid var(--color-success)}.dashboard-page__metric-label{font-size:var(--fs-sm);color:var(--color-ink-soft);margin-bottom:var(--space-2);display:block}.dashboard-page__metric-card strong{font-size:var(--fs-xl);margin-bottom:var(--space-1);display:block}.dashboard-page__metric-card small{color:var(--color-ink-faint)}.dashboard-page__grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dashboard-page__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-card)}.dashboard-page__panel--wide{grid-column:1/-1}.dashboard-page__panel-header{margin-bottom:var(--space-4)}.dashboard-page__panel-header h3{font-size:var(--fs-md)}.dashboard-page__availability-wrap{justify-content:space-between;align-items:center;gap:var(--space-5);display:flex}.dashboard-page__donut-chart{flex-shrink:0;width:180px;height:180px;position:relative}.dashboard-page__donut-chart svg{width:100%;height:100%}.dashboard-page__donut-label{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:absolute;inset:0}.dashboard-page__donut-label strong{font-size:1.7rem}.dashboard-page__donut-label span{color:var(--color-ink-soft);font-size:var(--fs-sm)}.dashboard-page__legend{gap:var(--space-3);flex-direction:column;flex:1;display:flex}.dashboard-page__legend-item{gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);grid-template-columns:12px 1fr auto;align-items:center;display:grid}.dashboard-page__legend-item:last-child{border-bottom:none}.dashboard-page__legend-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.dashboard-page__bar-list{gap:var(--space-3);flex-direction:column;display:flex}.dashboard-page__bar-row{gap:var(--space-2);flex-direction:column;display:flex}.dashboard-page__bar-labels{color:var(--color-ink-soft);font-size:var(--fs-sm);justify-content:space-between;display:flex}.dashboard-page__bar-track{background:var(--color-neutral-soft);border-radius:var(--radius-pill);width:100%;height:10px;overflow:hidden}.dashboard-page__bar-track span{border-radius:inherit;height:100%;display:block}.dashboard-page__ring-wrap{gap:var(--space-4);flex-wrap:wrap;justify-content:space-around;align-items:center;display:flex}.dashboard-page__ring-item{align-items:center;gap:var(--space-2);color:var(--color-ink-soft);flex-direction:column;display:flex}.dashboard-page__mini-donut{width:84px;height:84px;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--color-ink);border-radius:50%;place-items:center;display:grid}.dashboard-page__bed-table{gap:var(--space-2);flex-direction:column;display:flex}.dashboard-page__table-head,.dashboard-page__table-row{gap:var(--space-3);padding:var(--space-2) 0;grid-template-columns:1.6fr 1fr 1fr 1fr;display:grid}.dashboard-page__table-head{color:var(--color-ink-soft);font-size:var(--fs-sm);font-weight:var(--fw-semibold);border-bottom:1px solid var(--color-border)}.dashboard-page__table-row{color:var(--color-ink);font-size:var(--fs-sm);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.dashboard-page__trend-chart{gap:var(--space-3);min-height:200px;padding-top:var(--space-3);grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;display:grid}.dashboard-page__trend-day{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.dashboard-page__trend-bars{justify-content:center;align-items:flex-end;gap:var(--space-2);width:100%;height:160px;display:flex}.dashboard-page__trend-bar{border-radius:8px 8px 0 0;width:16px;display:block}.dashboard-page__trend-bar--patients{background:var(--color-primary)}.dashboard-page__trend-bar--appointments{background:var(--color-accent)}.dashboard-page__trend-day label{color:var(--color-ink-soft);font-size:var(--fs-sm)}.dashboard-page__pto-list{gap:var(--space-3);flex-direction:column;display:flex}.dashboard-page__pto-item{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-surface-sunken);border-radius:var(--radius-md);display:flex}.dashboard-page__pto-item strong,.dashboard-page__pto-item span,.dashboard-page__pto-item small{display:block}.dashboard-page__pto-item>div:first-child{flex:1}.dashboard-page__pto-item span{color:var(--color-ink-soft);font-size:var(--fs-sm)}.dashboard-page__pto-meta{align-items:flex-end;gap:var(--space-1);flex-direction:column;display:flex}.dashboard-page__pto-status{border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:var(--fw-semibold);padding:4px 8px;display:inline-flex}.dashboard-page__pto-status--approved{background:var(--color-success-soft);color:var(--color-success)}.dashboard-page__pto-status--pending{background:var(--color-warning-soft);color:var(--color-warning)}@media (width<=860px){.dashboard-page__metrics,.dashboard-page__grid{grid-template-columns:1fr}.dashboard-page__filter-group{flex-direction:column}.dashboard-page__availability-wrap{flex-direction:column;align-items:flex-start}.dashboard-page__table-head{display:none}.dashboard-page__table-row{grid-template-columns:1fr 1fr}}.modal-overlay{padding:var(--space-5);z-index:1000;background:#0f201d85;justify-content:center;align-items:center;animation:.16s modal-overlay-fade-in;display:flex;position:fixed;inset:0}@keyframes modal-overlay-fade-in{0%{opacity:0}to{opacity:1}}.modal-panel{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-popover);flex-direction:column;width:100%;max-height:88vh;animation:.18s cubic-bezier(.2,.8,.3,1) modal-panel-pop-in;display:flex}@keyframes modal-panel-pop-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-panel--sm{max-width:400px}.modal-panel--md{max-width:560px}.modal-panel--lg{max-width:720px}.modal-panel__header{padding:var(--space-5) var(--space-5) var(--space-4);border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.modal-panel__title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--color-ink)}.modal-panel__close{color:var(--color-ink-soft);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:0 0;border:none;font-size:1.5rem;line-height:1}.modal-panel__close:hover{background:var(--color-surface-sunken);color:var(--color-ink)}.modal-panel__body{padding:var(--space-5);overflow-y:auto}.appointments-page{background:var(--color-bg);min-height:100vh}.appointments-page__content{padding:0 var(--space-6) var(--space-6)}.appointments-page__toolbar{justify-content:space-between;align-items:center;gap:var(--space-4);margin:var(--space-5) 0 var(--space-4);display:flex}.appointments-page__view-toggle{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:var(--space-1);box-shadow:var(--shadow-card);display:inline-flex}.appointments-page__view-button{color:var(--color-ink-soft);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);font-weight:var(--fw-medium);background:0 0;border:0}.appointments-page__view-button--active{background:var(--color-primary-soft);color:var(--color-primary-dark)}.appointments-page__add-button,.appointments-page__primary-button,.appointments-page__ghost-button,.appointments-page__inline-add,.appointments-page__day-date-controls button{border-radius:var(--radius-sm);font-weight:var(--fw-semibold);border:none}.appointments-page__add-button,.appointments-page__primary-button{background:var(--color-primary);color:var(--color-surface);padding:var(--space-2) var(--space-4)}.appointments-page__ghost-button{background:var(--color-neutral-soft);color:var(--color-ink);padding:var(--space-2) var(--space-4)}.appointments-page__filters{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.appointments-page__filters input,.appointments-page__filters select,.appointments-page__modal-form input,.appointments-page__modal-form select,.appointments-page__modal-form textarea{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;min-height:40px;padding:var(--space-2) var(--space-3);color:var(--color-ink)}.appointments-page__checkbox{justify-content:center;align-items:center;gap:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:0 var(--space-3);font-size:var(--fs-sm);min-height:40px;display:inline-flex}.appointments-page__summary{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.appointments-page__stat{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-card)}.appointments-page__stat span{font-size:var(--fs-sm);color:var(--color-ink-soft);margin-bottom:var(--space-2);display:block}.appointments-page__stat strong{font-size:var(--fs-lg);color:var(--color-ink)}.appointments-page__stat--warning{border-color:#b8863a59}.appointments-page__calendar-grid{gap:var(--space-2);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.appointments-page__weekday-header{padding:var(--space-2) 0;text-align:center;color:var(--color-ink-soft);font-size:var(--fs-sm);font-weight:var(--fw-medium)}.appointments-page__day-cell,.appointments-page__week-day{border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-3);text-align:left;box-shadow:var(--shadow-card)}.appointments-page__day-cell{min-height:150px}.appointments-page__day-cell--muted{opacity:.45}.appointments-page__day-cell--selected,.appointments-page__week-day--selected{border-color:var(--color-primary);box-shadow:0 0 0 2px #2f6f6324}.appointments-page__day-topline{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);font-weight:var(--fw-semibold);display:flex}.appointments-page__day-badge{background:var(--color-primary-soft);color:var(--color-primary-dark);border-radius:var(--radius-pill);padding:2px 6px;font-size:10px;display:inline-flex}.appointments-page__day-stack,.appointments-page__task-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.appointments-page__mini-pill,.appointments-page__task-chip,.appointments-page__event-chip{border-radius:var(--radius-pill);background:var(--color-primary-soft);color:var(--color-primary-dark);align-items:center;padding:2px 8px;font-size:10px;line-height:1.5;display:inline-flex}.appointments-page__mini-pill--warning,.appointments-page__event-chip--warning,.appointments-page__visit-card--warning{border-color:#b8863a73}.appointments-page__mini-pill--warning,.appointments-page__event-chip--warning{background:var(--color-warning-soft);color:var(--color-warning)}.appointments-page__week-grid{gap:var(--space-2);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.appointments-page__week-day{min-height:200px}.appointments-page__week-day-header{margin-bottom:var(--space-2);color:var(--color-ink-soft);justify-content:space-between;align-items:center;display:flex}.appointments-page__week-day-body{gap:var(--space-2);flex-direction:column;display:flex}.appointments-page__empty-text,.appointments-page__empty-card{color:var(--color-ink-faint);font-size:var(--fs-sm)}.appointments-page__day-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-card)}.appointments-page__day-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.appointments-page__day-header h3{font-size:var(--fs-lg)}.appointments-page__day-date-controls{align-items:center;gap:var(--space-2);display:flex}.appointments-page__day-date-controls button{background:var(--color-neutral-soft);color:var(--color-ink);padding:var(--space-2) var(--space-3);cursor:pointer}.appointments-page__visit-list{gap:var(--space-3);display:grid}.appointments-page__visit-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-4)}.appointments-page__visit-card--warning{background:linear-gradient(#f6ecdab3,#fff)}.appointments-page__visit-card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.appointments-page__visit-card-header h4{font-size:var(--fs-md);margin-bottom:var(--space-1)}.appointments-page__visit-card-header p{color:var(--color-ink-faint);font-size:var(--fs-sm)}.appointments-page__status-pill{border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:var(--fw-semibold);padding:4px 8px;display:inline-flex}.appointments-page__status-pill--caregiver-assigned,.appointments-page__status-pill--scheduled{background:var(--color-primary-soft);color:var(--color-primary-dark)}.appointments-page__status-pill--in-progress,.appointments-page__status-pill--completed{background:var(--color-success-soft);color:var(--color-success)}.appointments-page__status-pill--cancelled,.appointments-page__status-pill--missed{background:var(--color-danger-soft);color:var(--color-danger)}.appointments-page__status-pill--no-caregiver-assigned{background:var(--color-warning-soft);color:var(--color-warning)}.appointments-page__visit-meta{gap:var(--space-3);color:var(--color-ink-soft);font-size:var(--fs-sm);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.appointments-page__conflict-banner{margin-top:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-warning-soft);color:var(--color-warning);font-size:var(--fs-sm);font-weight:var(--fw-medium)}.appointments-page__modal-form{gap:var(--space-4);flex-direction:column;display:flex}.appointments-page__modal-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-field--full{grid-column:1/-1}.appointments-page__autocomplete{gap:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2);margin-top:var(--space-2);flex-direction:column;display:flex}.appointments-page__suggestion-item{gap:var(--space-2);text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;padding:var(--space-2) var(--space-3);color:var(--color-ink);grid-template-columns:1.3fr auto auto;align-items:center;display:grid}.appointments-page__suggestion-item span{color:var(--color-ink-soft);font-size:var(--fs-xs)}.appointments-page__task-editor{gap:var(--space-2);flex-direction:column;display:flex}.appointments-page__task-row{gap:var(--space-2);display:flex}.appointments-page__task-row button{border-radius:var(--radius-sm);background:var(--color-danger-soft);width:38px;color:var(--color-danger);cursor:pointer;border:none;font-size:20px}.appointments-page__inline-add{background:var(--color-primary-soft);color:var(--color-primary-dark);padding:var(--space-2) var(--space-3);align-self:flex-start}.appointments-page__modal-actions{justify-content:flex-end;gap:var(--space-3);display:flex}@media (width<=980px){.appointments-page__filters,.appointments-page__modal-grid{grid-template-columns:1fr 1fr}}@media (width<=720px){.appointments-page__content{padding:0 var(--space-4) var(--space-4)}.appointments-page__toolbar,.appointments-page__day-header,.appointments-page__filters,.appointments-page__modal-grid,.appointments-page__summary{grid-template-columns:1fr;display:grid}.appointments-page__view-toggle{justify-content:space-between}.appointments-page__calendar-grid,.appointments-page__week-grid{grid-template-columns:1fr}}.new-caregiver-btn{background:var(--color-primary);color:#fff;border:1px solid var(--color-primary);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);font-size:var(--fs-sm);font-weight:var(--fw-semibold);transition:background .12s}.new-caregiver-btn:hover{background:var(--color-primary-dark)}.pto-request-btn{background:var(--color-surface);color:var(--color-ink);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);font-size:var(--fs-sm);font-weight:var(--fw-medium);transition:background .12s,border-color .12s}.pto-request-btn:hover{background:var(--color-surface-sunken);border-color:var(--color-ink-faint)}.availability-update-btn{background:var(--color-surface);color:var(--color-ink);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);font-size:var(--fs-sm);font-weight:var(--fw-medium);transition:background .12s,border-color .12s}.availability-update-btn:hover{background:var(--color-surface-sunken);border-color:var(--color-ink-faint)}.caregiver-action-bar{align-items:center;gap:var(--space-2);display:flex}.caregiver-filters{gap:var(--space-2);margin-bottom:var(--space-4);flex-direction:column;display:flex}.caregiver-filters__row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.caregiver-filters__search{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);min-width:200px;padding:var(--space-2) var(--space-3);font-size:var(--fs-sm);color:var(--color-ink);flex:240px}.caregiver-filters__search::placeholder{color:var(--color-ink-faint)}.caregiver-filters__select{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:var(--fs-sm);color:var(--color-ink)}.caregiver-filters__reset{color:var(--color-primary-dark);font-size:var(--fs-sm);font-weight:var(--fw-medium);padding:var(--space-2) var(--space-2);background:0 0;border:none;text-decoration:underline}.caregiver-filters__count{font-size:var(--fs-xs);color:var(--color-ink-soft)}.status-pill{padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:var(--fw-semibold);white-space:nowrap;align-items:center;display:inline-flex}.status-pill--available{background:var(--color-success-soft);color:var(--color-success)}.status-pill--on-duty{background:var(--color-primary-soft);color:var(--color-primary-dark)}.status-pill--off-duty{background:var(--color-neutral-soft);color:var(--color-neutral)}.status-pill--on-leave{background:var(--color-warning-soft);color:var(--color-warning)}.status-pill--neutral{background:var(--color-neutral-soft);color:var(--color-neutral)}.caregiver-table-wrap{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card);border-radius:8px;overflow:hidden}.caregiver-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.caregiver-table thead th{text-align:left;padding:var(--space-3) var(--space-4);color:var(--color-ink-soft);font-weight:var(--fw-semibold);font-size:var(--fs-xs);border-bottom:1px solid var(--color-border);background:#f8fbfa}.caregiver-table tbody td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);color:var(--color-ink)}.caregiver-table tbody tr:last-child td{border-bottom:none}.caregiver-table tbody tr:hover{background:#f4fbf8}.caregiver-table__id{color:var(--color-ink-soft)}.caregiver-table__actions{text-align:right}.caregiver-table__see-more{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-3);font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--color-primary-dark);background:0 0}.caregiver-table__see-more:hover{background:var(--color-primary-soft);border-color:var(--color-primary)}.caregiver-table__empty{background:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);padding:var(--space-7);text-align:center;color:var(--color-ink-soft);font-size:var(--fs-sm)}.wizard-progress{margin-bottom:var(--space-5);align-items:center;display:flex}.wizard-progress__item{flex:1;align-items:center;display:flex}.wizard-progress__item:last-child{flex:0}.wizard-progress__dot{width:26px;height:26px;font-size:var(--fs-xs);font-weight:var(--fw-semibold);background:var(--color-surface-sunken);color:var(--color-ink-faint);border:1px solid var(--color-border-strong);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,border-color .15s,color .15s;display:flex}.wizard-progress__dot--active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.wizard-progress__dot--complete{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary-dark)}.wizard-progress__label{margin-left:var(--space-2);font-size:var(--fs-xs);color:var(--color-ink-faint);white-space:nowrap}.wizard-progress__label--active{color:var(--color-ink);font-weight:var(--fw-semibold)}.wizard-progress__connector{background:var(--color-border-strong);height:1px;margin:0 var(--space-3);flex:1}.wizard-progress__connector--complete{background:var(--color-primary)}@media (width<=560px){.wizard-progress__label{display:none}}.language-tag-input{gap:var(--space-3);flex-direction:column;display:flex}.language-tag-input__chips{gap:var(--space-2);flex-wrap:wrap;min-height:32px;display:flex}.language-tag-input__placeholder{font-size:var(--fs-sm);color:var(--color-ink-faint);padding:var(--space-1) 0}.language-tag-input__chip{align-items:center;gap:var(--space-1);background:var(--color-primary-soft);color:var(--color-primary-dark);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-3);font-size:var(--fs-sm);font-weight:var(--fw-medium);display:inline-flex}.language-tag-input__chip-remove{color:var(--color-primary-dark);padding:var(--space-1);background:0 0;border:none;border-radius:50%;font-size:1rem;line-height:1;display:inline-flex}.language-tag-input__chip-remove:hover{background:#1f4e4529}.language-tag-input__controls{gap:var(--space-3);flex-wrap:wrap;display:flex}.language-tag-input__preset-select{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:var(--fs-sm);color:var(--color-ink);background:var(--color-surface)}.language-tag-input__custom{gap:var(--space-2);display:flex}.language-tag-input__custom input{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:var(--fs-sm);min-width:160px}.language-tag-input__custom button{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--color-ink)}.language-tag-input__custom button:hover:not(:disabled){background:var(--color-surface-sunken)}.language-tag-input__custom button:disabled{opacity:.5;cursor:not-allowed}.caregiver-details-step__radio-row,.assignment-reporting-step__radio-row{gap:var(--space-5);display:flex}.new-caregiver-modal__step-viewport{min-height:260px;position:relative;overflow:hidden}.new-caregiver-modal__step{animation-duration:.22s;animation-timing-function:cubic-bezier(.22,.8,.3,1);animation-fill-mode:both}.new-caregiver-modal__step--forward{animation-name:swoop-in-from-right}.new-caregiver-modal__step--back{animation-name:swoop-in-from-left}@keyframes swoop-in-from-right{0%{opacity:0;transform:translate(48px)}to{opacity:1;transform:translate(0)}}@keyframes swoop-in-from-left{0%{opacity:0;transform:translate(-48px)}to{opacity:1;transform:translate(0)}}.new-caregiver-modal__footer{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.new-caregiver-modal__btn{border-radius:var(--radius-sm);padding:var(--space-2) var(--space-5);font-size:var(--fs-sm);font-weight:var(--fw-semibold);border:1px solid #0000}.new-caregiver-modal__btn--ghost{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-ink)}.new-caregiver-modal__btn--ghost:hover{background:var(--color-surface-sunken)}.new-caregiver-modal__btn--primary{background:var(--color-primary);color:#fff}.new-caregiver-modal__btn--primary:hover:not(:disabled){background:var(--color-primary-dark)}.new-caregiver-modal__btn--primary:disabled{opacity:.5;cursor:not-allowed}@media (prefers-reduced-motion:reduce){.new-caregiver-modal__step{animation:none}}.caregiver-detail-modal__section{margin-bottom:var(--space-5)}.caregiver-detail-modal__section:last-child{margin-bottom:0}.caregiver-detail-modal__section h3{font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--color-ink-soft);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.caregiver-detail-modal__row{justify-content:space-between;gap:var(--space-4);padding:var(--space-2) 0;font-size:var(--fs-sm);display:flex}.caregiver-detail-modal__label{color:var(--color-ink-soft);flex-shrink:0}.caregiver-detail-modal__value{color:var(--color-ink);text-align:right;word-break:break-word}.caregivers-page__header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;display:flex}.caregivers-page__actions{padding-top:var(--space-6);padding-right:var(--space-6)}.caregivers-page__body{padding:0 var(--space-6) var(--space-6)}.caregivers-page__loading{color:var(--color-ink-soft);font-size:var(--fs-sm);padding:var(--space-5) 0}.placeholder-page__body{padding:0 var(--space-6) var(--space-6);color:var(--color-ink-soft);font-size:var(--fs-sm)}.patient-request-page{background:var(--color-bg);min-height:100vh}.patient-request-page__body{padding:0 clamp(22px,4vw,58px) 40px}.patient-request-page__back-row{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.patient-request-page__back,.patient-request-secondary{border:1px solid var(--color-border);color:var(--color-primary-dark);background:var(--color-surface);font-size:var(--fs-sm);font-weight:var(--fw-semibold);border-radius:7px;padding:9px 12px}.patient-request-page__back:hover,.patient-request-secondary:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}.patient-request-page__request-id{color:var(--color-ink-faint);font-size:var(--fs-xs)}.patient-request-page__grid{grid-template-columns:1.2fr .8fr;align-items:start;gap:18px;display:grid}.patient-request-card{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-card);border-radius:8px;padding:22px}.patient-request-card--wide{grid-row:span 2}.patient-request-card__heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.patient-request-card__heading h2{font-size:var(--fs-lg);letter-spacing:-.03em;margin-top:5px}.patient-request-card__eyebrow{color:var(--color-primary);font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.1em;text-transform:uppercase}.patient-request-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.patient-request-details div{border-bottom:1px solid var(--color-border);flex-direction:column;gap:5px;padding-bottom:12px;display:flex}.patient-request-details__full{grid-column:1/-1}.patient-request-details span,.patient-request-note>span,.patient-request-amount span{color:var(--color-ink-faint);font-size:var(--fs-xs)}.patient-request-details strong{font-size:var(--fs-sm)}.patient-request-note{background:var(--color-surface-sunken);border-radius:7px;margin-top:20px;padding:14px}.patient-request-note p{color:var(--color-ink-soft);font-size:var(--fs-sm);margin-top:7px;line-height:1.6}.patient-request-field{color:var(--color-ink-soft);font-size:var(--fs-sm);font-weight:var(--fw-semibold);flex-direction:column;gap:8px;display:flex}.patient-request-field select{border:1px solid var(--color-border-strong);min-height:42px;color:var(--color-ink);background:var(--color-surface);padding:8px 12px}.patient-request-primary{color:#fff;background:var(--color-primary);width:100%;font-weight:var(--fw-bold);border:0;border-radius:7px;margin-top:16px;padding:11px 14px}.patient-request-primary:hover{background:var(--color-primary-dark)}.patient-request-primary:disabled{cursor:not-allowed;opacity:.45}.patient-request-secondary{width:100%;margin-top:18px}.patient-request-helper{color:var(--color-ink-faint);font-size:var(--fs-xs);margin-top:12px;line-height:1.5}.patient-request-amount{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:end;padding-bottom:16px;display:flex}.patient-request-amount strong{color:var(--color-primary-dark);font-size:25px}.patient-request-payment-row{border-bottom:1px solid var(--color-border);color:var(--color-ink-soft);font-size:var(--fs-sm);justify-content:space-between;align-items:center;gap:12px;padding:13px 0;display:flex}.patient-request-payment-row strong{color:var(--color-ink)}@media (width<=800px){.patient-request-page__grid{grid-template-columns:1fr}.patient-request-card--wide{grid-row:auto}}@media (width<=520px){.patient-request-page__back-row{flex-direction:column;align-items:flex-start}.patient-request-details{grid-template-columns:1fr}.patient-request-details__full{grid-column:auto}}:root{--color-bg:#f4faf7;--color-surface:#fff;--color-surface-sunken:#eef8f4;--color-ink:#172a36;--color-ink-soft:#52666e;--color-ink-faint:#71818a;--color-border:#dce9e5;--color-border-strong:#cbdcd7;--color-primary:#128a69;--color-primary-dark:#123d61;--color-primary-soft:#dff3eb;--color-accent:#e98069;--color-accent-dark:#b66458;--color-accent-soft:#f8e3d8;--color-danger:#b5484b;--color-danger-soft:#f7e4e3;--color-success:#2f7a4f;--color-success-soft:#e4f1e8;--color-warning:#b8863a;--color-warning-soft:#f6ecda;--color-neutral:#64767a;--color-neutral-soft:#e9edee;--font-ui:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--fs-xs:.75rem;--fs-sm:.8125rem;--fs-base:.9375rem;--fs-md:1.0625rem;--fs-lg:1.375rem;--fs-xl:1.75rem;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-sm:6px;--radius-md:8px;--radius-lg:8px;--radius-pill:999px;--shadow-card:0 18px 50px #1e4b4417;--shadow-popover:0 18px 45px #123d611f;--sidebar-width:246px;--topbar-height:64px}.form-field{gap:var(--space-2);margin-bottom:var(--space-4);flex-direction:column;display:flex}.form-field label,.form-field__label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--color-ink)}.form-field input[type=text],.form-field input[type=number],.form-field select,.form-field textarea{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:var(--fs-sm);color:var(--color-ink);background:var(--color-surface);font-family:var(--font-ui)}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--color-primary);outline-offset:1px}.form-field input[readonly]{background:var(--color-surface-sunken);color:var(--color-ink-soft)}.form-field textarea{resize:vertical;min-height:88px}.form-field__hint{font-size:var(--fs-xs);color:var(--color-ink-faint)}.radio-option{align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--color-ink);font-weight:var(--fw-regular);cursor:pointer;display:inline-flex}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-ui);font-size:var(--fs-base);color:var(--color-ink);background:var(--color-bg);-webkit-font-smoothing:antialiased}button,input,select,textarea{border-radius:var(--radius-sm)}button{transition:background .16s,border-color .16s,color .16s,box-shadow .16s}#root{min-height:100vh}h1,h2,h3,h4,p{margin:0}button{cursor:pointer;font-family:inherit}input,select{font-family:inherit}a{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}
