.today-page{background:var(--color-page-bg,#f9fafb);grid-template-rows:auto 1fr;height:100vh;display:grid;overflow:hidden}.today-loading{justify-content:center;align-items:center;height:100%;padding:80px 20px;display:flex}.today-empty-state{color:var(--color-gray-500);padding:40px;font-size:14px}.today-error{background:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-danger);z-index:30;border-radius:6px;padding:10px 14px;font-size:13px;position:fixed;bottom:16px;right:16px}.today-top-bar{border-bottom:1px solid var(--color-gray-200);background:#fff;justify-content:space-between;align-items:center;gap:24px;padding:12px 24px;display:flex}.today-date-nav{align-items:center;gap:12px;display:flex}.today-date-arrow{border:1px solid var(--color-gray-200);cursor:pointer;width:28px;height:28px;color:var(--color-slate,#3d5166);background:#fff;border-radius:4px;justify-content:center;align-items:center;display:flex}.today-date-arrow:hover{background:var(--color-gray-100)}.today-date-current{flex-direction:column;align-items:center;min-width:160px;display:flex}.today-date-title{color:var(--color-charcoal);letter-spacing:-.01em;font-size:17px;font-weight:600;line-height:1.2}.today-date-sub{color:var(--color-gray-500);font-size:12px;line-height:1.3}.today-top-center{flex:1;justify-content:center;align-items:center;gap:24px;display:flex}.today-summary-chip{flex-direction:column;align-items:center;gap:1px;display:flex}.today-summary-value{color:var(--color-charcoal);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:17px;font-weight:600;line-height:1.1}.today-summary-label{color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:600}.today-top-right{align-items:center;gap:10px;display:flex}.today-compliance-pill{cursor:pointer;background:var(--color-amber-lt,#fef3c7);border:1px solid;border-color:var(--color-amber,#b7791f);color:var(--color-amber,#b7791f);border-radius:20px;align-items:center;gap:8px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:600;display:flex}.today-compliance-pill:hover{filter:brightness(.96)}.today-compliance-pill.green{background:var(--color-green-lt,#d1fadf);border-color:var(--color-green,#2f7d51);color:var(--color-green,#2f7d51)}.today-compliance-pill.red{background:var(--color-red-lt,#fed7d7);border-color:var(--color-red,#9b2c2c);color:var(--color-red,#9b2c2c)}.today-compliance-dot{background:currentColor;border-radius:50%;width:8px;height:8px;display:inline-block}.today-split{height:100%;display:grid;overflow:hidden}.today-pane-top{flex-direction:column;gap:10px;min-height:0;padding:16px 24px;display:flex;overflow:auto}.today-pane-bottom{flex-direction:column;gap:10px;min-height:0;padding:0 24px 16px;display:flex;overflow:hidden}.today-pane-title-row{flex-shrink:0;align-items:baseline;gap:12px;padding:0 2px;display:flex}.today-pane-title{color:var(--color-charcoal);letter-spacing:-.005em;margin:0;font-size:15px;font-weight:600;line-height:1.3}.today-pane-subtitle{color:var(--color-gray-500);font-size:12px;line-height:1.3}.today-divider{background:var(--color-gray-200);cursor:row-resize;-webkit-user-select:none;user-select:none;touch-action:none;transition:background .15s;position:relative}.today-divider:hover{background:var(--color-teal)}.today-divider:focus-visible{background:var(--color-teal);outline:none}.today-divider-handle{pointer-events:none;align-items:center;gap:3px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.today-divider-handle span{background:var(--color-gray-500);border-radius:1px;width:20px;height:2px}.today-divider:hover .today-divider-handle span,.today-divider:focus-visible .today-divider-handle span{background:#fff}.today-calendar-card{border:1px solid var(--color-gray-200);background:#fff;border-radius:8px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.today-cal-grid{--hours:12;--name-col:180px;grid-template-columns:var(--name-col) repeat(var(--hours), 1fr);flex:1;align-content:start;min-width:900px;display:grid;position:relative}.today-cal-hour-head{border-bottom:1px solid var(--color-gray-200);background:var(--color-cream);grid-column:2/-1;grid-template-columns:repeat(12,1fr);display:grid}.today-cal-hour{color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.04em;border-left:1px solid var(--color-parchment,#e8e2d3);text-align:left;padding:8px 6px;font-size:11px;font-weight:600}.today-cal-hour:first-child{border-left:none}.today-cal-corner{background:var(--color-cream);border-bottom:1px solid var(--color-gray-200);border-right:1px solid var(--color-gray-200);color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.06em;align-items:center;padding:8px 14px;font-size:11px;font-weight:600;display:flex}.today-cal-staff-cell{border-right:1px solid var(--color-gray-200);border-bottom:1px solid var(--color-parchment,#e8e2d3);background:#fff;align-items:center;gap:10px;height:68px;padding:10px 14px;display:flex}.today-cal-staff-cell.away{opacity:.55}.today-cal-staff-avatar{background:var(--color-still-light);width:30px;height:30px;color:var(--color-teal);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.today-cal-staff-info{flex-direction:column;gap:1px;min-width:0;display:flex}.today-cal-staff-name{color:var(--color-charcoal);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;line-height:1.25;overflow:hidden}.today-cal-staff-shift{color:var(--color-gray-500);font-variant-numeric:tabular-nums;font-size:11px;line-height:1.2}.today-cal-staff-role{color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em;font-size:10px;line-height:1.2}.today-cal-row{border-bottom:1px solid var(--color-parchment,#e8e2d3);background-image:linear-gradient(to right, var(--color-parchment,#e8e2d3) 1px, transparent 1px);background-size:8.33333% 100%;grid-column:2/-1;height:68px;position:relative}.today-cal-row.away{background:repeating-linear-gradient(45deg, transparent, transparent 6px, #00000005 6px, #00000005 12px), linear-gradient(to right, var(--color-parchment,#e8e2d3) 1px, transparent 1px);background-size:100% 100%,8.33333% 100%}.today-cal-empty{color:var(--color-gray-500);text-align:center;grid-column:1/-1;padding:40px 24px;font-size:13px}.today-now-line{background:var(--color-red,#9b2c2c);z-index:5;pointer-events:none;width:2px;position:absolute;top:0;bottom:0}.today-now-line:before{content:"";background:var(--color-red,#9b2c2c);border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;left:-4px}.today-now-label{background:var(--color-red,#9b2c2c);color:#fff;white-space:nowrap;letter-spacing:.03em;border-radius:3px;padding:2px 6px;font-size:10px;font-weight:600;position:absolute;top:-26px;left:-18px}.today-shift-band{background:var(--color-teal-soft,#e6f0ee);border-left:3px solid var(--color-teal,#2a7d6f);z-index:0;pointer-events:none;border-radius:4px;position:absolute;top:6px;bottom:6px}.today-visit{cursor:pointer;z-index:1;border-left:3px solid;border-radius:5px;flex-direction:column;justify-content:center;gap:1px;padding:6px 8px;font-size:11px;line-height:1.25;transition:filter .1s,box-shadow .1s;display:flex;position:absolute;top:6px;bottom:6px;overflow:hidden}.today-visit:hover{filter:brightness(.97);box-shadow:0 2px 6px #00000014}.today-visit-code{letter-spacing:.03em;font-size:10px;font-weight:700}.today-visit-client{color:var(--color-charcoal);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.today-visit.psw{background:var(--color-svc-psw,#cfe8e3);border-left-color:var(--color-svc-psw-ink,#1d5a50)}.today-visit.psw .today-visit-code{color:var(--color-svc-psw-ink,#1d5a50)}.today-visit.clean{background:var(--color-svc-clean,#f5e4c3);border-left-color:var(--color-svc-clean-ink,#7a5a14)}.today-visit.clean .today-visit-code{color:var(--color-svc-clean-ink,#7a5a14)}.today-visit.maint{background:var(--color-svc-maint,#dce4d0);border-left-color:var(--color-svc-maint-ink,#3f5a22)}.today-visit.maint .today-visit-code{color:var(--color-svc-maint-ink,#3f5a22)}.today-visit.nursing{background:var(--color-svc-nursing,#d6e4f4);border-left-color:var(--color-svc-nursing-ink,#1f4b82)}.today-visit.nursing .today-visit-code{color:var(--color-svc-nursing-ink,#1f4b82)}.today-visit.allied{background:var(--color-svc-allied,#e4dcf3);border-left-color:var(--color-svc-allied-ink,#4a3b7b)}.today-visit.allied .today-visit-code{color:var(--color-svc-allied-ink,#4a3b7b)}.today-visit.trans{background:var(--color-svc-trans,#e8d8c6);border-left-color:var(--color-svc-trans-ink,#6b4318)}.today-visit.trans .today-visit-code{color:var(--color-svc-trans-ink,#6b4318)}.today-visit.companion{background:var(--color-svc-companion,#f4dce4);border-left-color:var(--color-svc-companion-ink,#7a2f4a)}.today-visit.companion .today-visit-code{color:var(--color-svc-companion-ink,#7a2f4a)}.today-visit.meal{background:var(--color-svc-meal,#f2e1d0);border-left-color:var(--color-svc-meal-ink,#7b4220)}.today-visit.meal .today-visit-code{color:var(--color-svc-meal-ink,#7b4220)}.today-visit.generic{background:var(--color-gray-100);border-left-color:var(--color-gray-500)}.today-visit.generic .today-visit-code{color:var(--color-gray-700)}.today-visit.completed{opacity:.65}.today-visit.in-progress{box-shadow:0 0 0 2px var(--color-teal) inset}.today-bot-panel{border:1px solid var(--color-gray-200);background:#fff;border-radius:8px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.today-tabs{border-bottom:1px solid var(--color-gray-200);background:var(--color-cream);flex-shrink:0;align-items:center;padding:0 6px;display:flex}.today-tab{color:var(--color-slate,#3d5166);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:500;display:flex}.today-tab:hover{color:var(--color-charcoal)}.today-tab.active{color:var(--color-navy);border-bottom-color:var(--color-teal);font-weight:600}.today-tab-count{background:var(--color-gray-200);color:var(--color-charcoal);text-align:center;border-radius:10px;min-width:20px;padding:1px 7px;font-size:11px;font-weight:600}.today-tab.active .today-tab-count{background:var(--color-teal);color:#fff}.today-tab-count.attention,.today-tab.active .today-tab-count.attention{background:var(--color-amber,#b7791f);color:#fff}.today-tab-content{flex:1;min-height:0;overflow:auto}.today-list-head{background:var(--color-cream);border-bottom:1px solid var(--color-gray-200);color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.08em;z-index:2;gap:16px;padding:10px 16px;font-size:10px;font-weight:600;display:grid;position:sticky;top:0}.today-list-head.unassigned{grid-template-columns:120px 1.4fr 1fr 1.2fr 180px}.today-list-head.pending{grid-template-columns:120px 1.4fr 1fr 100px 200px}.today-list-row{border-bottom:1px solid var(--color-parchment,#e8e2d3);cursor:pointer;align-items:center;gap:16px;padding:12px 16px;font-size:13px;transition:background .1s;display:grid}.today-list-row:hover{background:var(--color-cream)}.today-tab-content>:first-child.today-list-head.unassigned+.today-list-row,.today-tab-content>:first-child.today-list-head.unassigned~.today-list-row{grid-template-columns:120px 1.4fr 1fr 1.2fr 180px}.today-tab-content>:first-child.today-list-head.pending+.today-list-row,.today-tab-content>:first-child.today-list-head.pending~.today-list-row{grid-template-columns:120px 1.4fr 1fr 100px 200px}.today-list-when{flex-direction:column;gap:1px;display:flex}.today-list-day{color:var(--color-charcoal);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.today-list-time{color:var(--color-gray-500);font-variant-numeric:tabular-nums;font-size:12px}.today-list-client-name{color:var(--color-charcoal);font-size:13px;font-weight:500}.today-list-client-id{color:var(--color-gray-500);font-variant-numeric:tabular-nums;font-size:11px}.today-list-service-pill{letter-spacing:.02em;border-left:3px solid;border-radius:3px;align-items:center;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.today-list-service-pill.psw{background:var(--color-svc-psw,#cfe8e3);color:var(--color-svc-psw-ink,#1d5a50);border-left-color:var(--color-svc-psw-ink,#1d5a50)}.today-list-service-pill.clean{background:var(--color-svc-clean,#f5e4c3);color:var(--color-svc-clean-ink,#7a5a14);border-left-color:var(--color-svc-clean-ink,#7a5a14)}.today-list-service-pill.maint{background:var(--color-svc-maint,#dce4d0);color:var(--color-svc-maint-ink,#3f5a22);border-left-color:var(--color-svc-maint-ink,#3f5a22)}.today-list-service-pill.nursing{background:var(--color-svc-nursing,#d6e4f4);color:var(--color-svc-nursing-ink,#1f4b82);border-left-color:var(--color-svc-nursing-ink,#1f4b82)}.today-list-service-pill.allied{background:var(--color-svc-allied,#e4dcf3);color:var(--color-svc-allied-ink,#4a3b7b);border-left-color:var(--color-svc-allied-ink,#4a3b7b)}.today-list-service-pill.trans{background:var(--color-svc-trans,#e8d8c6);color:var(--color-svc-trans-ink,#6b4318);border-left-color:var(--color-svc-trans-ink,#6b4318)}.today-list-service-pill.companion{background:var(--color-svc-companion,#f4dce4);color:var(--color-svc-companion-ink,#7a2f4a);border-left-color:var(--color-svc-companion-ink,#7a2f4a)}.today-list-service-pill.meal{background:var(--color-svc-meal,#f2e1d0);color:var(--color-svc-meal-ink,#7b4220);border-left-color:var(--color-svc-meal-ink,#7b4220)}.today-list-service-pill.generic{background:var(--color-gray-100);color:var(--color-gray-700);border-left-color:var(--color-gray-500)}.today-list-location{color:var(--color-gray-500);font-size:12px}.today-list-price{color:var(--color-charcoal);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.today-list-actions{justify-content:flex-end;gap:6px;display:flex}.today-empty{text-align:center;color:var(--color-gray-500);padding:40px 20px;font-size:13px;font-style:italic}.today-btn{cursor:pointer;border:1px solid #0000;border-radius:4px;font-family:inherit;font-weight:500;line-height:1.4}.today-btn-primary{background:var(--color-teal);color:#fff;border-color:var(--color-teal)}.today-btn-primary:hover{background:#1d5a50;border-color:#1d5a50}.today-btn-outline{color:var(--color-charcoal);border-color:var(--color-gray-200);background:#fff}.today-btn-outline:hover{background:var(--color-gray-100)}.today-btn-sm{padding:5px 10px;font-size:12px}
