/* Shared Senior Care 360 identity. Source: client-supplied original logo.
   Blue: primary actions and headings. Green: care and success. Purple: family,
   vendor and demo accents. Status alerts retain semantic warning/error colors. */
:root{--blue:#005b8f;--cyan:#00a8c6;--purple:#922b8d;--green:#27832e;--ink:#193b50;--muted:#5d7080;--pale:#f3f8fb;--mint:#eaf4e5;--cream:#f6f9fc;--line:#d8e3eb;--brand-blue-soft:#e8f2f9;--brand-purple-soft:#f3e9f4;--brand-green-soft:#eaf4e5}
body{background:var(--cream);color:var(--ink)}
h1,h2{color:var(--blue)}h3{color:var(--ink)}
header,.app-header{background:#fefefe;border-bottom-color:var(--line)}
.brand{display:flex;align-items:center;flex-shrink:0;line-height:1;text-decoration:none;color:var(--blue)}
.brand img{display:block;width:320px;height:114px;max-width:100%;object-fit:cover;object-position:center;border-radius:0}
.nav{min-height:128px}.app-header{height:128px}.app-header .brand img{width:295px;height:106px}
.footer-brand{width:280px}.footer-brand img{width:280px;height:100px}
.top{height:5px;background:linear-gradient(90deg,var(--blue) 0 45%,var(--green) 45% 75%,var(--purple) 75% 100%)}
.btn{background:var(--blue);border-color:var(--blue);color:#fafdff;box-shadow:0 4px 12px #005b8f12}.btn:hover{background:#064875;border-color:#064875}
.btn.outline{background:transparent;color:var(--blue);border-color:#acc4d6;box-shadow:none}.btn.outline:hover{background:var(--brand-blue-soft);border-color:var(--blue)}
.btn.danger{background:#a3443b;border-color:#a3443b;color:#fff8f7}
.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--blue)}
.text-link,.card .link,.switch{color:var(--blue)}.quiet{color:var(--blue)}.danger-text{color:#a3443b}
.eyebrow{color:var(--green)}.hero{background:var(--pale)}.hero p{color:var(--muted)}.subnote{color:var(--muted)!important}
.mint{background:var(--brand-green-soft)}.card{background:#fcfdff;border-color:#cddfcb}.card p,.heading-row p,.steps p,.page-intro p{color:var(--muted)}
.card:hover{box-shadow:0 12px 24px #005b8f0d}.icon,.step-no{color:var(--green)}.step-no{background:var(--mint)}
.cta{background:var(--blue);color:#f4faff}.cta h2{color:#f4faff}.cta p{color:#dceef9}.cta .btn{background:#f6faff;border-color:#f6faff;color:var(--blue)}
.cta .btn:hover{background:#e3f1fa}.panel,.stat,.provider-card,.demo-person{background:#fcfdff;border-color:var(--line)}
.page-intro{background:var(--pale)}.panel h2,.provider-heading h2{color:var(--blue)}
footer{background:#eef4f8;border-top-color:var(--line)}.copyright{border-top-color:#d4e1eb;color:var(--muted)}
.app-shell>aside{background:#fcfdff;border-color:var(--line);min-height:calc(100vh - 170px)}
.account{border-color:var(--line)}nav a{color:#486174}nav a span{color:#60879d}nav a:hover{background:var(--brand-blue-soft)}
nav a.active,nav a[aria-current=page]{background:var(--mint);color:#23662c}nav a.active span{color:var(--green)}
header nav a.btn,header nav a.btn[aria-current=page]{color:#fafdff;background:var(--blue)}header nav a.btn:hover{background:#064875}
.demo-banner{background:var(--brand-purple-soft);color:#70316f;border-top-color:var(--purple)}
.welcome-card{background:var(--brand-blue-soft);border-color:#c9deed}.welcome-card p{color:#4f7087}.welcome-art{color:#6aabc5}.welcome-card .eyebrow{color:var(--green)}
.avatar,.initial{background:var(--brand-blue-soft);color:var(--blue)}.count{background:var(--purple)}
.stat strong{color:var(--blue)}.stat span,.muted,.subtle,small{color:var(--muted)}
.alert{background:var(--brand-purple-soft);border-color:#e3cce4;border-left-color:var(--purple);color:#70316f}.alert.success,.notice{background:var(--mint);color:#286333;border-color:#cde0c6;border-left-color:var(--green)}
.alert.error,.notice.error{background:#fbeee9;color:#954735;border-color:#e3c4b6;border-left-color:#b5654e}
.attention{background:#f2ecf6;border-color:#ddcde6}.attention h2{color:#71377b}
input:not([type=checkbox]),select,textarea{background:#fefeff;color:var(--ink);border-color:#b5cbdc}input[readonly]{background:#edf3f8;color:var(--muted)}input[type=checkbox]{accent-color:var(--green)}
.price-item.total{color:var(--blue)}th{background:#edf3f8;color:var(--muted)}td{border-color:var(--line)}
.chip{background:#fcfdff;border-color:var(--line)}.chip.selected,.chip:hover{background:var(--mint);border-color:#b2d1a9;color:#286333}
.tag{background:#edf3f8;color:#4b6b80}.tag.booked{background:var(--brand-blue-soft);color:var(--blue)}.tag.completed,.tag.approved,.tag.succeeded,.tag.paid{background:var(--mint);color:#286333}
.tag.pending,.tag.payment_pending,.tag.in_progress{background:#f5ead5;color:#836122}.tag.failed,.tag.disputed,.tag.blocked,.tag.refunded,.tag.cancelled,.tag.reversed{background:#f5e3df;color:#954735}
.availability-list span{background:var(--mint);color:#286333}blockquote{background:#f1f6fa;border-left-color:#91bad3}
.empty{background:#edf4f9;color:var(--muted)}.notification.unread{border-left-color:var(--purple)}
.day-label{background:#edf3f8}.day.outside{background:#f4f7fa;color:#92a3af}.day.today{background:var(--brand-blue-soft);box-shadow:inset 0 0 0 2px #84b4d1}
.calendar-event{background:var(--mint);border-left-color:var(--green);color:#265c30}.calendar-event.vendor{background:var(--brand-purple-soft);border-left-color:var(--purple);color:#70316f}
.app-footer{color:var(--muted);border-color:var(--line)}.app-footer span{color:#708697}
@media(max-width:900px){.nav{padding-top:8px;padding-bottom:16px;gap:5px}.brand img{width:290px;height:104px}}
@media(max-width:760px){.app-header{height:auto;min-height:100px;padding-top:5px;padding-bottom:12px}.app-header .brand img{width:250px;height:90px}.app-shell>aside{min-height:0}.header-actions{gap:14px}}
@media(max-width:600px){.nav{min-height:0}.brand img{width:265px;height:95px}.footer-brand img{width:265px;height:95px}.app-header .brand img{width:235px;height:84px}.app-header .header-actions{width:100%;justify-content:flex-end;margin-top:-5px}.hero h1{color:var(--blue)}}
/* Demo identity and role selection: visible on every demo page, including mobile. */
.signed-in-profile{display:flex;flex-direction:column;padding:9px 14px;border:1px solid #c6ddeb;background:var(--brand-blue-soft);border-radius:10px;text-decoration:none;line-height:1.45;color:var(--ink)}
.signed-in-profile span{font-size:11px;font-weight:400}.signed-in-profile span strong{color:var(--blue);font-weight:700}.signed-in-profile b{font-size:13px}
.demo-role-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:17px 38px;border-bottom:1px solid #c9ddeb;background:#edf5fa}
.role-status{display:flex;align-items:center;gap:11px;min-width:220px}.role-status small{font-size:9px;letter-spacing:.13em;color:#4e7289;font-weight:700}.role-status strong{display:block;font-size:16px;line-height:1.5;color:var(--blue)}.role-status strong span{color:var(--ink);font-size:13px;font-weight:500}
.role-status-dot{width:10px;height:10px;background:var(--green);border-radius:50%;box-shadow:0 0 0 4px #dcecd6;flex-shrink:0}
.role-switch-controls{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.role-switch-label{font-size:12px;color:var(--muted);margin-right:4px;font-weight:600}.role-switch-form{margin:0}
.role-switch-button{display:flex;align-items:center;gap:8px;min-height:40px;padding:8px 13px;border:1px solid #b8cddb;border-radius:9px;background:#fcfdff;color:var(--blue);font-size:13px;font-weight:700;cursor:pointer}
.role-switch-button:hover{border-color:var(--blue);background:#e2eff7}.role-switch-button.selected{background:var(--blue);border-color:var(--blue);color:#f8fcff}.role-current{font-size:9px;font-weight:500;border:1px solid #ffffff66;border-radius:12px;padding:1px 6px}.role-switch-button:disabled{opacity:.4;cursor:not-allowed}.role-signout{margin:0}.role-signout .quiet{font-size:12px;white-space:nowrap}.sidebar-role-help{font-size:11px;color:var(--muted);padding:20px 12px 0;border-top:1px solid var(--line);margin-top:25px}
.role-picker-intro{max-width:850px;margin-bottom:26px}.role-picker-intro p{color:var(--muted);font-size:15px}.role-picker-intro strong{color:var(--blue)}.current-role-notice{background:var(--mint);border:1px solid #cde0c6;border-radius:9px;padding:13px 16px;font-size:13px!important}
.demo-role-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-bottom:28px}.demo-role-card{display:flex;flex-direction:column;padding:22px 19px;margin:0}.demo-role-card h2{font-size:25px;margin:12px 0 14px}.role-person-name{font-size:13px;color:var(--ink)}.demo-role-card p{font-size:12px;color:var(--muted);line-height:1.7;margin:12px 0 22px;flex:1}.demo-role-card .btn{font-size:12px;padding:10px 8px;white-space:normal}.current-role-card{border:2px solid var(--blue);background:var(--brand-blue-soft)}.role-card-current{font-size:10px;font-weight:600;color:var(--blue);text-align:center;margin-top:12px}.other-demo-accounts{margin-top:25px}.other-person-form{display:flex;gap:15px;align-items:end;flex-wrap:wrap;max-width:650px}.other-person-form label{flex:1;min-width:220px}.signup-panel{max-width:620px;margin:auto}
@media(max-width:1250px){.demo-role-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.demo-role-bar{gap:13px;padding:15px 25px}.role-switch-controls{gap:6px}.role-switch-button{padding:8px 10px}}
@media(max-width:760px){.demo-role-bar{padding:14px 18px;gap:12px}.role-status{width:100%;min-width:0}.role-status strong{font-size:17px}.role-status strong span{font-size:13px}.role-switch-controls{flex:1;gap:6px}.role-switch-label{width:100%;font-size:11px}.role-switch-button{min-height:42px;padding:8px 11px;font-size:12px}.role-current{display:none}.demo-role-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.demo-role-card{padding:20px 17px}.demo-role-card h2{font-size:23px}.demo-role-card:last-child{grid-column:1/-1}.signed-in-profile{padding:7px 10px}.signed-in-profile b{font-size:12px}.sidebar-role-help{display:none}.role-signout{align-self:end}.app-header .header-actions{align-items:center}}
@media(max-width:400px){.demo-role-cards{grid-template-columns:1fr}.demo-role-card:last-child{grid-column:auto}.role-switch-button{padding:8px 9px}.role-status strong span{display:block}}
/* Clickable booking calendar and real-time appointment slots. */
.booking-picker-panel>h2{font-size:28px}.booking-picker-panel>.muted{font-size:14px}.booking-step-label{display:flex;gap:11px;align-items:center;margin-top:12px}.booking-step-label>span{display:grid;place-items:center;background:var(--mint);border-radius:50%;height:27px;width:27px;color:var(--green);font-size:12px;font-weight:700}.booking-step-label h3{margin:0;font-size:18px}
.booking-calendar{border:1px solid var(--line);border-radius:14px;padding:18px;background:#fcfdff}.booking-month-nav{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:19px}.booking-month-nav h3{margin:0;font-size:20px;color:var(--blue)}.month-arrow{height:38px;width:38px;border-radius:10px;background:var(--brand-blue-soft);border:1px solid #c1d7e7;color:var(--blue);font-weight:700}.month-arrow:hover{background:#d8ebf6}.month-arrow:disabled{opacity:.3;cursor:not-allowed}
.booking-weekdays,.booking-day-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.booking-weekdays span{text-align:center;font-size:11px;color:var(--muted);padding-bottom:10px}.booking-day-button{position:relative;min-width:0;aspect-ratio:1.12;min-height:39px;border:1px solid transparent;background:#f1f6fa;color:var(--blue);border-radius:10px;font-weight:700;font-size:15px;padding:5px 0 12px}.booking-day-button.has-availability:after{content:'';height:4px;width:4px;background:var(--green);border-radius:50%;position:absolute;left:calc(50% - 2px);bottom:7px}.booking-day-button:hover:not(:disabled){background:#e1eef8;border-color:#95bad4}.booking-day-button[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:#fafdff}.booking-day-button[aria-pressed=true]:after{background:#fafdff}.booking-day-button:disabled{color:#b1bec7;background:transparent;cursor:not-allowed;font-weight:400}.booking-day-button.is-today{box-shadow:inset 0 0 0 1px #92b8ce}.booking-calendar-key{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:10px;color:var(--green);margin:18px 0 0}.available-dot{height:5px;width:5px;background:var(--green);border-radius:50%}.key-muted{color:var(--muted);margin-left:auto}.booking-live-status{font-size:12px;color:var(--muted)}.booking-live-status:empty{display:none}.booking-time-heading>strong{font-size:14px;color:var(--ink)}.booking-time-heading>small{margin-top:5px}.booking-slot-section h4{margin:3px 0 10px;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.booking-slot-section+.booking-slot-section{margin-top:20px}.booking-time-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.booking-time-button{padding:11px 5px;border:1px solid #b6cfdf;border-radius:9px;background:#fcfdff;color:var(--blue);font-size:12px;font-weight:700;min-height:44px}.booking-time-button:hover{background:var(--brand-blue-soft)}.booking-time-button[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:#fafdff;box-shadow:0 0 0 2px #c0dbe9}.booking-selection-recap{padding:15px 18px;background:var(--mint);border:1px solid #cde0c6;border-radius:10px;color:#286333;font-size:13px;font-weight:600}.booking-no-slots{font-size:13px;color:var(--muted);background:#f1f6fa;border-radius:10px;padding:16px}.booking-demo-payment{font-size:12px}.booking-demo-payment summary{font-size:12px;color:var(--muted);font-weight:500}.booking-demo-payment label{margin-top:15px}.booking-summary-service{padding-bottom:22px;border-bottom:1px solid var(--line)}.booking-summary-service strong,.booking-summary-service span{display:block}.booking-summary-service strong{font-size:19px;color:var(--blue)}.booking-summary-service span{font-size:14px;margin:7px 0}.booking-summary-when{background:var(--brand-blue-soft);padding:18px;border-radius:10px;margin:20px 0}.booking-summary-when>strong,.booking-summary-when>span{display:block}.booking-summary-when strong{font-size:16px;color:var(--blue);margin:7px 0}.booking-summary-when span{font-size:13px}.booking-interactive .booking-summary{position:sticky;top:20px;order:0}.booking-slot-groups{min-height:40px}.booking-interactive [hidden]{display:none!important}
@media(max-width:1150px){.booking-interactive .booking-summary{position:static;order:0}.booking-time-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:600px){.booking-calendar{padding:13px}.booking-day-grid,.booking-weekdays{gap:3px}.booking-day-button{font-size:14px;min-height:37px}.booking-time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-month-nav h3{font-size:19px}.key-muted{margin-left:0;width:100%}.booking-picker-panel>h2{font-size:25px}}
/* Provider weekly templates, date exceptions, split shifts and visit gaps. */
.schedule-toolbar{display:flex;align-items:center;justify-content:space-between;gap:25px}.schedule-toolbar h2{margin:9px 0}.schedule-toolbar p{margin:0;font-size:13px}.schedule-provider{display:flex;align-items:end;gap:12px}.schedule-provider select{min-width:210px}.schedule-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr);gap:24px}.schedule-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.schedule-date{display:flex;flex-direction:column;align-items:center;text-decoration:none;border:1px solid var(--line);border-radius:10px;padding:10px 4px;min-height:91px;background:var(--mint);color:#286333}.schedule-date strong{font-size:16px}.schedule-date span{font-size:9px;font-weight:600;margin-top:7px;white-space:nowrap}.schedule-date small{font-size:8px;color:#54835a;margin-top:4px}.schedule-date.off{background:#f2f5f8;color:#91a1ad}.schedule-date.selected{background:var(--blue);border-color:var(--blue);color:#fafdff;box-shadow:0 0 0 2px #a8ccdf}.schedule-date.selected small{color:#e8f2f9}.schedule-date:hover{border-color:var(--blue)}.schedule-layout .booking-month-nav h2{margin:0;font-size:23px}.schedule-layout .month-arrow{display:grid;place-items:center;text-decoration:none}.weekly-pattern{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;overflow:auto}.weekly-pattern-day{min-width:55px;text-decoration:none;border:1px solid var(--line);border-radius:9px;padding:10px 5px;text-align:center;color:var(--ink);background:#f9fcff}.weekly-pattern-day>strong{font-size:12px}.weekly-pattern-day.selected{border-color:var(--blue);background:var(--brand-blue-soft)}.weekly-window{display:block;border-radius:6px;background:var(--mint);color:#286333;font-size:10px;margin-top:10px;padding:7px 3px}.weekly-break{font-size:8px;margin-top:8px;color:#8b6c2b}.weekly-off{display:block;margin-top:15px;font-size:10px;color:var(--muted)}.schedule-windows{margin:20px 0}.schedule-window{display:flex;gap:15px;justify-content:space-between;align-items:center;background:var(--mint);border:1px solid #d0e2c9;border-radius:9px;padding:13px 15px}.schedule-window strong{font-size:15px;color:#286333}.schedule-window small{margin-top:5px;font-size:11px}.schedule-gap{padding:12px 15px;color:#8b6c2b;font-size:12px;text-align:center;background:#f7f1e4;border-radius:7px;margin:7px 0}.schedule-gap-example{font-size:12px;background:var(--brand-blue-soft);padding:14px 17px;border-radius:9px;margin-top:20px;color:#406a85}
/* Shared appointment conversations and prominent worker time tracking. */
.tracking-hub{background:#eaf4e5;border-color:#c7ddb8}.tracking-hub h2{margin-top:8px}.tracking-hub>.muted{font-size:13px}.tracking-visit{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-top:1px solid #cfe0c3}.tracking-visit strong{font-size:14px}.tracking-visit small{margin-top:6px}.live-visit-timer{display:block;width:max-content;max-width:100%;background:#d4e9ca;color:#23652e;font-size:13px;font-variant-numeric:tabular-nums;font-weight:700;padding:8px 12px;border-radius:8px;margin-top:12px}.appointment-chat{margin-top:24px}.appointment-chat .section-title h2{margin-top:9px}.chat-message-list{max-height:420px;overflow-y:auto;padding:18px;background:#f0f5f9;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;gap:15px}.chat-message{max-width:85%;border:1px solid #d7e3eb;border-radius:12px 12px 12px 3px;background:#fcfdff;padding:13px 16px;align-self:start;min-width:180px}.chat-message.mine{align-self:end;background:#e1eef7;border-color:#bad5e6;border-radius:12px 12px 3px 12px}.chat-message>div{display:flex;gap:15px;justify-content:space-between;flex-wrap:wrap}.chat-message strong{font-size:12px;color:var(--blue)}.chat-message span{font-size:10px;color:var(--muted)}.chat-message p{font-size:14px;margin:9px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.chat-empty{font-size:14px;color:var(--muted);text-align:center;margin:15px 0}.chat-compose{margin-top:20px}.chat-compose .section-title{margin:13px 0 0}.chat-compose small{font-size:11px}.appointment-chat:target,#visit-tools:target{scroll-margin-top:20px;box-shadow:0 0 0 3px #bdd8e9}
@media(max-width:1150px){.schedule-layout{grid-template-columns:1fr}.schedule-toolbar{align-items:start;flex-wrap:wrap}}@media(max-width:600px){.schedule-date{min-height:74px;padding:8px 2px}.schedule-date span{font-size:8px}.schedule-date small{font-size:7px}.schedule-month-grid{gap:4px}.schedule-provider{flex-wrap:wrap;width:100%}.schedule-provider label{width:100%}.weekly-pattern{gap:4px}.tracking-visit{align-items:start;flex-direction:column;gap:14px}.chat-message{max-width:95%}.chat-compose .section-title{align-items:start}.chat-compose .btn{width:100%}.chat-message-list{padding:12px}}
.conversation-row{display:flex;justify-content:space-between;gap:25px;padding:22px 0;border-top:1px solid var(--line);text-decoration:none}.conversation-row strong{font-size:15px;color:var(--blue)}.conversation-row small{margin-top:8px}.conversation-row p{font-size:13px;color:var(--muted);margin:12px 0 0;overflow-wrap:anywhere}.conversation-row>span{flex-shrink:0;align-self:center;font-size:12px;color:var(--blue);font-weight:700}.conversation-row:hover{background:var(--brand-blue-soft)}@media(max-width:600px){.conversation-row{display:block}.conversation-row>span{display:block;margin-top:15px}}
.submission-card{padding:20px 0;border-top:1px solid var(--line)}.submission-card summary{display:flex;gap:12px;align-items:center;flex-wrap:wrap;line-height:1.6}.answers-list{font-size:14px}.answers-list dt{font-weight:700;color:var(--blue);margin-top:15px;text-transform:capitalize}.answers-list dd{margin:7px 0;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.document-card{padding:20px 0;border-top:1px solid var(--line)}.document-card>strong{display:block;font-size:15px;color:var(--blue)}.document-card>small{margin-top:8px}.document-card p{margin:12px 0}.email-preview{background:#f0f5fa;border:1px solid var(--line);padding:22px;border-radius:12px;line-height:1.8;font-size:14px;margin:20px 0;white-space:pre-wrap}.stat .text-link{display:block;margin-top:16px;line-height:1.6}.booking-demo-payment summary{font-size:12px}.booking-interactive .alert{margin-bottom:0}.answers-list textarea{min-height:90px}
