/* Brand adapter. All branded surfaces consume these central tokens. */
:root{
  --brand-primary:#118c8f;--brand-accent:#d2a24d;--brand-nav:#092632;
  --brand-background:#f3f7f6;--brand-surface:#fff;
  --brand-good:#217565;--brand-warn:#936421;--brand-risk:#a24c44;
  --brand-font:system-ui,sans-serif;--brand-radius-scale:1;--brand-spacing-scale:1;
}
body,html{background:var(--brand-background);font-family:var(--brand-font)}
.rail,.home-hero,.performance-hero{background:var(--brand-nav)}
.brand-mark{background:var(--brand-primary);color:white}
.brand-mark img{width:100%;height:100%;object-fit:contain;border-radius:inherit}
.rail nav button.active:before,.category-track span{background:var(--brand-accent)}
.primary,.quick-actions .primary{background:var(--brand-primary);border-color:var(--brand-primary)}
.primary:hover,.quick-actions .primary:hover{filter:brightness(.89);background:var(--brand-primary);border-color:var(--brand-primary)}
.text-button,.eyebrow,.mobile-tabs button.active{color:var(--brand-primary)}
.panel,.auth-card,.topbar,.daily-stats span,.setup-step{background:var(--brand-surface)}
.panel,.auth-card{border-radius:calc(16px * var(--brand-radius-scale));padding:calc(22px * var(--brand-spacing-scale))}
.status-dot,.notice{color:var(--brand-good)}
.pill.amber,.sheet-status{color:var(--brand-warn)}
.notice.error,.danger-link{color:var(--brand-risk)}
.portal-wrap{min-height:100vh;max-width:760px;margin:auto;padding:clamp(20px,6vw,55px) 18px}
.portal-head{display:flex;align-items:center;gap:12px;margin-bottom:30px}
.portal-head .brand-mark{width:45px;height:45px;flex:none}
.portal-head div{flex:1}.portal-head strong,.portal-head small{display:block}.portal-head small{color:#688084;margin-top:3px}
.portal-head button,.access-choice button{border:1px solid #cfddda;background:var(--brand-surface);border-radius:11px;padding:11px 14px}
.portal-intro{margin-bottom:22px}.portal-intro p{color:#60777c;line-height:1.55}
.access-group{margin:12px 0 24px}.access-group h2{margin:0 0 10px}
.access-row{display:flex;align-items:center;gap:14px;padding:15px;border:1px solid #dce6e5;border-radius:13px;background:var(--brand-surface);margin:8px 0}
.access-row strong,.access-row small{display:block}.access-row small{margin-top:4px;color:#667e82}
.access-choice{display:flex;flex-wrap:wrap;gap:9px;margin:15px 0}
.work-session{width:100%;text-align:left;color:inherit;cursor:pointer;font:inherit}.work-session>span:nth-child(2){flex:1}.work-session:hover{border-color:var(--brand-primary)}
.sheet-work{margin:24px 0;padding:16px;background:var(--brand-background);border-radius:calc(14px * var(--brand-radius-scale))}
.sheet-work h3{margin:0 0 12px}.assigned-person{padding:12px 0;border-top:1px solid #dce6e5}.assigned-person>div>strong{overflow-wrap:anywhere}
.work-task{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #dce6e5}.work-task span{min-width:0;overflow-wrap:anywhere}.work-task small{display:block;color:#667e82;margin-top:3px}.task-done{color:var(--brand-good)}
.work-task button,.task-form button{border:1px solid var(--brand-primary);border-radius:9px;color:var(--brand-primary);background:var(--brand-surface);padding:8px 12px;cursor:pointer;white-space:nowrap}
.task-form,#assignment-form{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin-top:12px}.task-form label,#assignment-form label{min-width:180px;flex:1}.task-form input,#assignment-form select{width:100%}
.care-selector{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px;margin:0 0 18px}.care-selector label{min-width:min(100%,280px)}.care-selector select{width:100%}
.care-identity .panel-heading{align-items:center}.care-identity .round-icon{width:48px;height:48px;font-size:1.3rem}.care-form{display:grid;gap:12px}.care-form textarea{width:100%;resize:vertical}.care-form .check-label{display:flex;align-items:center;gap:9px}.care-form .check-label input{width:auto}
.care-item{padding:12px 0;border-bottom:1px solid #dce6e5}.care-item p{margin:5px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.carer-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #dce6e5;padding:14px 0;margin-top:14px}.carer-row small{display:block;color:#667e82;margin-top:4px}.carer-row button{padding:9px 12px;border:1px solid var(--brand-risk);color:var(--brand-risk);background:var(--brand-surface);border-radius:9px;cursor:pointer}
.portal-horse{background:var(--brand-surface);border:1px solid #dce6e5;border-radius:calc(16px * var(--brand-radius-scale));margin:12px 0;overflow:hidden}.portal-horse .access-row{border:0;margin:0}.portal-details{padding:4px 18px 16px;border-top:1px solid #dce6e5}.portal-details h3{margin:14px 0 5px}.portal-details.emergency{background:#fff9ed}.portal-details a{color:var(--brand-primary)}
@media(max-width:720px){.mobile-tabs{grid-template-columns:repeat(var(--tab-count,5),1fr)}}
@media(max-width:720px){.portal-head button{min-height:44px}.portal-wrap{padding-bottom:60px}}
.portal-jump{display:flex;gap:8px;overflow-x:auto;margin:0 0 16px;padding:3px 0 10px}.portal-jump a{white-space:nowrap;padding:11px 15px;border:1px solid #dce6e5;border-radius:10px;background:var(--brand-surface);color:var(--brand-primary);font-size:.82rem;font-weight:700}
.portal-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}.portal-overview div{padding:16px;background:var(--brand-surface);border:1px solid #dce6e5;border-radius:12px}.portal-overview small,.portal-overview strong{display:block}.portal-overview small{font-size:.65rem;letter-spacing:.06em;color:#577078}.portal-overview strong{font-size:1.6rem;margin-top:5px}
.portal-summary,.portal-add{background:var(--brand-surface);border:1px solid #dce6e5;border-radius:15px;padding:18px;margin:14px 0}.portal-summary h2{font-family:Georgia,serif;font-size:1.2rem}.portal-add summary{cursor:pointer;font-weight:700}.portal-add form{margin-top:15px}
.portal-list-row{padding:13px 0;border-top:1px solid #dce6e5}.portal-list-row strong,.portal-list-row span,.portal-list-row small{display:block}.portal-list-row span,.portal-list-row small{color:#60777c;font-size:.8rem;margin-top:5px}.portal-list-row p{white-space:pre-wrap;line-height:1.5;font-size:.86rem;margin:8px 0}.portal-list-row .homework{background:var(--brand-background);padding:10px;border-radius:10px}
.journey-row{align-items:flex-start}.journey-row>div:nth-child(2){flex:1;min-width:0}.journey-row details{max-width:560px}.journey-row summary{cursor:pointer;color:var(--brand-primary);font-weight:700;font-size:.82rem;padding:9px 0}.journey-row .shared-journey{background:var(--brand-background);padding:12px;border-radius:10px;white-space:pre-wrap}.journey-row .shared-journey p{margin:4px 0}
.invite-row{border-top:1px solid #dce6e5;padding:12px 0;overflow-wrap:anywhere}.invite-row strong,.invite-row small{display:block}.invite-row small{color:#60777c;margin:4px 0}.invite-row a{color:var(--brand-primary)}.invite-row button{width:auto;min-height:42px;margin:5px 8px 0 0}
.horse-picker{display:flex;flex-wrap:wrap;gap:9px}.horse-picker button{border:1px solid #dce6e5;background:var(--brand-surface);border-radius:10px;padding:11px 15px;min-height:44px;color:var(--brand-primary);font-weight:700}.horse360-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:15px}.horse360-grid .panel{margin:0}
.sheet-action-row{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.sheet-action-row button{border:1px solid #dce6e5;border-radius:9px;background:var(--brand-surface);color:var(--brand-primary);padding:10px;min-height:44px}
.sheet-consent,.consent-request{border:1px solid #dce6e5;background:var(--brand-background);padding:15px;border-radius:12px;margin:14px 0}.sheet-consent p,.consent-request p{white-space:pre-wrap;line-height:1.55}.consent-request small{display:block;color:#60777c}.consent-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.consent-actions button{min-height:44px}
.attention-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.attention-grid button{text-align:left;border:1px solid #dce6e5;border-radius:11px;padding:13px;background:var(--brand-surface)}.attention-grid strong,.attention-grid span{display:block}.attention-grid strong{font-size:1.1rem}.attention-grid span{font-size:.72rem;color:#60777c;margin-top:5px}
@media(max-width:720px){.attention-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.horse360-grid{grid-template-columns:1fr}}
.product-prompt{background:var(--brand-background)}.product-action{display:inline-block;color:var(--brand-primary);padding:10px 13px;border:1px solid var(--brand-primary);border-radius:9px;font-weight:700;font-size:.83rem}.copy-url{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.copy-url a{overflow-wrap:anywhere;flex:1;min-width:200px}.portal-details button{min-height:42px}.reminder-row{display:flex;align-items:center;flex-wrap:wrap;gap:9px;border-top:1px solid #dce6e5;padding:12px 0}.reminder-row div{flex:1;min-width:150px}.reminder-row small{display:block;color:#60777c}.reminder-status{text-transform:uppercase;font-size:.65rem;padding:6px;border-radius:6px;background:#e3f1ea}.reminder-status.overdue{background:#ffe7df;color:var(--brand-risk)}.reminder-status.upcoming{background:#fff2dc;color:var(--brand-warn)}
.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.tool-grid form{border:1px solid #dce6e5;border-radius:12px;padding:16px}.tool-grid output{display:block;font-weight:700;color:var(--brand-primary)}.tool-grid small{color:#60777c;line-height:1.5}
.emergency-public{max-width:640px;margin:0 auto;padding:clamp(20px,5vw,52px) 18px;min-height:100vh}.emergency-public h1{font-family:Georgia,serif;font-size:clamp(2rem,7vw,3.4rem)}.emergency-public p{line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.emergency-public-card{background:var(--brand-surface);padding:20px;border:1px solid #dce6e5;border-radius:15px;margin:12px 0}.emergency-public-card a{color:var(--brand-primary);font-size:1.15rem;font-weight:700}.emergency-public footer{font-size:.76rem;color:#60777c;margin-top:32px}
@media(max-width:540px){.portal-overview{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-overview div{padding:9px}.portal-overview small{font-size:.54rem}.portal-overview strong{font-size:1.15rem}.tool-grid{grid-template-columns:1fr}.portal-summary,.portal-add{padding:14px}.portal-details{padding:13px}.reminder-row button{min-height:42px}}
/* The working-day cards and session completion form share the tenant palette. */
.my-day-list{display:grid;gap:12px}.my-day-card{border:1px solid #dce6e5;background:var(--brand-surface);border-radius:calc(13px * var(--brand-radius-scale));padding:15px;min-width:0}
.my-day-heading{display:flex;justify-content:space-between;gap:10px;align-items:center}.my-day-heading time{font-weight:800;font-size:1.1rem}.my-day-card>strong{display:block;font-size:1.15rem;margin-top:9px}.my-day-card p{margin:4px 0}.my-day-card small{display:block;line-height:1.5;color:#60777c;overflow-wrap:anywhere}
.session-state{border-radius:8px;padding:5px 9px;background:var(--brand-background);font-size:.75rem;font-weight:700}.session-state.in_progress{color:var(--brand-primary)}.session-state.cancelled,.session-state.no_show{color:var(--brand-risk)}.session-state.completed{color:var(--brand-good)}
.my-day-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.my-day-actions button,.sheet-session>button{min-height:44px;padding:10px 13px;border-radius:9px;border:1px solid var(--brand-primary);background:var(--brand-surface);color:var(--brand-primary);font-weight:650}.my-day-actions .primary,.sheet-session>.primary{background:var(--brand-primary);color:white}
.sheet-session{margin:20px 0;padding:16px;background:var(--brand-background);border-radius:calc(13px * var(--brand-radius-scale))}.sheet-session>button{margin:4px 6px 4px 0}.sheet-session details{margin:8px 0;padding:10px;background:var(--brand-surface);border-radius:9px}.sheet-session h3,.sheet-session h4{margin:0 0 12px}.sheet-session p{line-height:1.55;overflow-wrap:anywhere}.session-completion fieldset{border:1px solid #dce6e5;border-radius:10px;padding:12px;display:grid;gap:12px;min-width:0}.session-completion legend{font-weight:700}.session-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.session-completion label{min-width:0}.session-completion button[type=submit]{min-height:48px}
@media(max-width:540px){.my-day-actions button{flex:1;min-width:112px}.session-fields{grid-template-columns:1fr}.sheet-session{padding:12px}}
.care-task{border-top:1px solid #dce6e5;padding:12px 0}.care-task strong,.care-task small{display:block}.care-task small{color:#60777c;margin:4px 0}.care-task-complete{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.care-task-complete label{flex:1;min-width:160px}.care-task-complete input{width:100%}.care-task-complete button{min-height:44px}
.care-task-create{border-top:1px solid #dce6e5;margin-top:12px;padding-top:12px}.care-tasks details,.premium-product details{margin:12px 0;padding:10px;background:var(--brand-surface);border:1px solid #dce6e5;border-radius:10px}.premium-product details summary{cursor:pointer;font-weight:700}.planner-overview{display:grid;grid-template-columns:minmax(90px,1fr) 2fr;gap:8px;margin:10px 0 18px;padding:12px;border:1px solid #dce6e5;border-radius:11px}.planner-overview span{overflow-wrap:anywhere}.reminder-edit{width:100%}.reminder-edit form{margin-top:10px}.portal-jump{overflow-x:auto;scrollbar-width:thin;white-space:nowrap}
@media(max-width:540px){.care-task-complete{display:grid}.planner-overview{grid-template-columns:1fr}.planner-overview span{padding-bottom:8px;border-bottom:1px solid #dce6e5}}
.timeline-event{display:grid;grid-template-columns:minmax(90px,130px) 1fr;gap:3px 14px;padding:12px 0;border-top:1px solid #dce6e5}.timeline-event time{grid-row:span 3;color:#60777c;font-size:.78rem}.timeline-event small{color:#60777c}.timeline-event button{justify-self:start;min-height:40px}.client-change-form{margin-top:10px;padding:10px;background:var(--brand-background);border-radius:9px}.client-change-form select,.client-change-form input,.client-change-form textarea{width:100%}.client-change-form button,.review-change-form button{min-height:44px}.portal-list-row details summary{cursor:pointer;color:var(--brand-primary);padding:8px 0;font-weight:700}.sheet-session .portal-list-row{min-width:0}
@media(max-width:540px){.timeline-event{grid-template-columns:1fr}.timeline-event time{grid-row:auto}.client-change-form,.review-change-form{width:100%}.review-change-form .sheet-action-row button{flex:1}}
.gv-console .rail nav button{min-height:46px}.gv-console .topbar{min-height:68px}.gv-console .panel{margin-bottom:16px}
.platform-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:16px 0}.platform-grid>*{min-width:0;padding:16px;border-radius:var(--brand-radius,12px);background:var(--brand-surface);border:1px solid #dce6e5}.platform-grid .panel{margin:0}
.platform-metric small,.platform-metric strong{display:block}.platform-metric strong{font-size:1.8rem;margin-top:7px;color:var(--brand-primary)}.platform-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.platform-controls form{border:1px solid #dce6e5;border-radius:10px;padding:12px;min-width:0}.platform-controls button,.gv-console button{min-height:44px}.gv-console input,.gv-console select{max-width:100%}
.gv-support-banner{position:sticky;top:0;z-index:12;padding:12px 16px;background:var(--brand-risk);color:#fff;border-radius:9px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.gv-support-banner button{margin-left:auto;padding:9px 14px;border:1px solid white;border-radius:8px;background:#fff;color:var(--brand-risk);font-weight:700}
.gv-setup .panel-heading{align-items:center}.gv-checklist{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.gv-setup .pill{white-space:normal}.gv-service-rule{padding:14px;margin-top:14px;border-top:1px solid #dce6e5}.gv-service-rule strong{display:block}.gv-settings-form,.gv-brand-form{max-width:680px;margin-top:14px}.gv-settings-form button,.gv-brand-form button,.gv-service-rule button{min-height:44px}.content>.panel>details>summary{cursor:pointer;padding:12px 0;color:var(--brand-primary)}
.session-state.awaiting_payment{background:#fff1dc;color:var(--brand-warn)}.sheet-session #booking-exception{border:1px solid var(--brand-warn);border-radius:10px;padding:12px;margin:12px 0}
@media(max-width:720px){.gv-console .rail{position:static;width:auto;min-height:auto}.gv-console.layout{display:block}.gv-console .rail nav{display:flex;overflow-x:auto;gap:5px;padding:6px}.gv-console .rail-bottom{display:flex;flex-wrap:wrap;gap:6px}.gv-console .main{width:100%;min-width:0}.platform-controls{grid-template-columns:1fr}.gv-support-banner{top:0}.platform-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gv-console .content{padding:14px}}
@media(max-width:440px){.platform-grid{grid-template-columns:1fr}.gv-support-banner button{margin:6px 0 0;width:100%}}
.context-picker,.portal-context{display:grid;gap:6px;font-size:.66rem;font-weight:800;letter-spacing:.07em}
.context-picker{margin:18px 8px 12px;color:#d5d7ef}.context-picker select{width:100%;min-height:44px;padding:9px;background:#ffffff19;border:1px solid #ffffff55;border-radius:9px;color:white;letter-spacing:normal;font-size:.86rem}.context-picker option{color:#212642;background:white}
.portal-context{color:var(--brand-primary);min-width:140px}.portal-context select{min-height:44px;max-width:220px;border:1px solid #cfddda;border-radius:9px;background:var(--brand-surface);padding:7px;color:#26384a;letter-spacing:normal}
.context-card{max-width:540px}.context-list{display:grid;gap:10px;margin:24px 0}.context-list a{display:grid;gap:3px;padding:15px;border:1px solid var(--gv-line);border-radius:12px;background:var(--brand-surface);color:#212642;text-decoration:none}.context-list a:hover,.context-list a:focus-visible{border-color:var(--brand-primary);background:var(--brand-background)}.context-list small{color:var(--gv-muted)}
.context-link{display:inline-block;margin-top:18px;color:var(--brand-primary);font-weight:700}.gv-auth .auth-card{max-width:490px}
@media(max-width:720px){.portal-head{flex-wrap:wrap}.portal-context{order:3;width:100%}.portal-context select{max-width:none;width:100%}}

/* The professional workspace keeps a compact context switcher and scrollable navigation on phones. */
@media(max-width:720px){
  .layout:not(.gv-console) .rail{padding:8px 12px;gap:0}
  .layout:not(.gv-console) .rail .brand{display:none}
  .layout:not(.gv-console) .context-picker{margin:0 0 6px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-width:0}
  .layout:not(.gv-console) .context-picker select{min-width:0;min-height:42px;margin:0}
  .layout:not(.gv-console) .rail nav{margin:0;overflow-x:auto;white-space:nowrap}
  .layout:not(.gv-console) .topbar{height:auto;min-height:62px;padding:9px 12px;gap:8px}
  .layout:not(.gv-console) .topbar>div:nth-of-type(2){flex:1;min-width:0}
  .layout:not(.gv-console) .topbar strong{font-size:.8rem;line-height:1.2;max-height:2.4em;overflow:hidden;overflow-wrap:anywhere}
  .layout:not(.gv-console) .topbar small,.layout:not(.gv-console) .topbar-spacer,.layout:not(.gv-console) .topbar [data-owner-portal]{display:none}
  .layout:not(.gv-console) .topbar button{font-size:.7rem;padding:7px 5px;white-space:nowrap}
}
