/* Product surfaces use the same Dawnby identity as the public website.
   Local workflow CSS owns layouts; this layer owns shared visual foundations. */
body[data-dawnby-surface="app"]{
  --ink:var(--dawnby-ink);--text:var(--dawnby-ink);--muted:var(--dawnby-muted);
  --brand:var(--dawnby-action);--brand-deep:var(--dawnby-ink);--brand-soft:var(--dawnby-action-tint);
  --primary:var(--dawnby-action);--blue:var(--dawnby-action);--sapphire:var(--dawnby-action);
  --sapphire-tint:var(--dawnby-action-tint);--paper:var(--dawnby-surface);--surface:var(--dawnby-white);
  --line:var(--dawnby-line);--green:var(--dawnby-success);--amber:var(--dawnby-warning);--red:var(--dawnby-danger);
  font-family:var(--dawnby-font);color:var(--dawnby-ink);background:var(--dawnby-surface);
  -webkit-font-smoothing:antialiased;
}
body[data-dawnby-surface="app"] :is(button,input,select,textarea){font-family:inherit}
body[data-dawnby-surface="app"] :is(button,a,input,select,textarea,summary):focus-visible{
  outline:3px solid var(--dawnby-action);outline-offset:3px;
}
body[data-dawnby-surface="app"] :is(.primary,.button.primary){background:var(--dawnby-action);border-color:var(--dawnby-action);color:var(--dawnby-white)}
body[data-dawnby-surface="app"] :is(.primary,.button.primary):hover:not(:disabled){background:var(--dawnby-action-hover);border-color:var(--dawnby-action-hover)}
body[data-dawnby-surface="app"] :is(button,.button,.tab,.workflow-tab,.nav-item){min-height:var(--dawnby-interaction-comfortable-touch-target)}
body[data-dawnby-surface="app"] :is(.icon-button,.account-button){width:var(--dawnby-interaction-comfortable-touch-target);height:var(--dawnby-interaction-comfortable-touch-target);min-width:var(--dawnby-interaction-comfortable-touch-target);flex-shrink:0}
/* Field boundaries apply across layouts, including the directory's plain labels.
   Native choice controls and disabled fields retain their own appearance. */
body[data-dawnby-surface="app"] :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([type=button]):not([type=submit]):not([type=reset]):not([type=image]):not([type=color]),select,textarea):not(:disabled){border-color:var(--dawnby-control-border)}
body[data-dawnby-surface="app"] :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([type=button]):not([type=submit]):not([type=reset]):not([type=image]):not([type=color]),select){min-height:var(--dawnby-interaction-comfortable-touch-target)}
body[data-dawnby-surface="app"] :is(.brand-image,.brand img,.product-brand img){width:36px;height:36px;flex-shrink:0;object-fit:contain}
body[data-dawnby-surface="app"] .product-brand{gap:12px}
body[data-dawnby-surface="app"] .brand-image{display:block;background:transparent;border-radius:0}
body[data-dawnby-surface="app"] :is(.badge.green,.pill.success){background:var(--dawnby-success-tint);color:var(--dawnby-success)}
body[data-dawnby-surface="app"] :is(.badge.amber,.pill.warning,.notice.warning){background:var(--dawnby-warning-tint);color:var(--dawnby-warning)}
body[data-dawnby-surface="app"] :is(.badge.red,.pill.danger,.notice.error){background:var(--dawnby-danger-tint);color:var(--dawnby-danger)}
body[data-dawnby-surface="app"] :is(.badge.blue,.pill.info){background:var(--dawnby-action-tint);color:var(--dawnby-action)}
body[data-dawnby-surface="app"] :is(h1,h2,h3){color:var(--dawnby-ink)}
body[data-dawnby-surface="app"] :is(input,select,textarea){accent-color:var(--dawnby-action)}
@media(max-width:640px){body[data-dawnby-surface="app"] :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:1rem}}
@media(prefers-reduced-motion:reduce){body[data-dawnby-surface="app"] *,body[data-dawnby-surface="app"] *::before,body[data-dawnby-surface="app"] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Shared field and profile hierarchy used by the connected role workspaces. */
body[data-dawnby-surface="app"] .field-optionality{font-weight:450;font-size:.75rem;color:var(--dawnby-muted);margin-left:6px}
body[data-dawnby-surface="app"] .form-section-intro{grid-column:1/-1;padding-block:16px 4px;border-top:1px solid var(--dawnby-line);margin-top:4px}
body[data-dawnby-surface="app"] .form-section-intro h3{margin:0;font-size:.9375rem;font-weight:650;letter-spacing:-.01em}
body[data-dawnby-surface="app"] .form-section-intro p{margin:6px 0 0;font-size:.8125rem;line-height:1.7;color:var(--dawnby-muted)}
body[data-dawnby-surface="app"] .profile-section{border-top:1px solid var(--dawnby-line);padding-top:20px;margin-top:22px}
body[data-dawnby-surface="app"] .profile-section:first-of-type{border-top:0;margin-top:0;padding-top:0}
body[data-dawnby-surface="app"] .profile-section h3{font-size:.9375rem;letter-spacing:-.015em;margin:0 0 14px}
body[data-dawnby-surface="app"] :is(.profile-contact,.profile-representative){padding:16px 18px;margin:10px 0;border:1px solid var(--dawnby-line);border-radius:var(--dawnby-radius-card);background:var(--dawnby-surface);overflow-wrap:anywhere}
body[data-dawnby-surface="app"] :is(.profile-contact,.profile-representative) h4{font-size:.875rem;margin:0 0 10px}
body[data-dawnby-surface="app"] :is(.profile-contact,.profile-representative) :is(p,small){font-size:.8125rem;line-height:1.7}
body[data-dawnby-surface="app"] .home-access-summary{font-size:.8125rem;color:var(--dawnby-muted);line-height:1.7;margin-top:12px;max-width:650px}
body[data-dawnby-surface="app"] :is(.check-label,.checkbox-field,.checkbox-field label,.selection-row){min-height:var(--dawnby-interaction-comfortable-touch-target)}
body[data-dawnby-surface="app"] :is(.profile-section,.form-section-intro){min-width:0}
@media(max-width:640px){body[data-dawnby-surface="app"] :is(.profile-contact,.profile-representative){padding:14px}body[data-dawnby-surface="app"] .form-section-intro{padding-top:18px}}

/* Master-review operator targets and file-evidence list semantics. */
.button.ghost{min-inline-size:48px}.timeline,.finance-file-history{list-style:none;padding-left:0;margin:0}

/* Header polish: compact phone enquiries link; Overview View label aligns to the row end. */
.enquiry-link-count{display:none}
.home-row-end .button.ghost{justify-content:flex-end}
@media(max-width:640px){.enquiry-link-detail{display:none}.enquiry-link-count{display:inline-flex;align-items:center;justify-content:center;min-inline-size:20px;block-size:20px;margin-inline-start:6px;padding:0 6px;border-radius:10px;background:var(--brand,#176b5b);color:#fff;font-size:.75rem;line-height:1}#workspace-enquiries-link{padding-inline:6px}.topbar-right{gap:6px}.sample-data-label{white-space:normal;max-inline-size:96px;line-height:1.25;padding:4px 6px}}

/* dawnby-brand-r3-final (outputs/design/logo-r3/final/README-final.md): app surfaces */
/* Minimum sizes: master mark 28px (above 24px use the master), small cut 16px (24px and below).
   Outlined lockup: wordmark cap height >= 20px, so the image is never under 29px tall; clear space around it = half the cap height (0.36x image height).
   Mark clear space: at least the sun radius (10/48 of the box) from the drawing edge. The master drawing sits 6.6/48 inside its box and the
   small cut 4.5/48, so the gap from a mark to text or an edge must be at least 0.075x (master) / 0.125x (small cut) of the box, i.e. 3px
   for marks up to 40px / 24px. Current brand rows use gaps of 6-12px; keep any new gap at or above 3px. */
img[src$="brand-assets/dawnby-mark.svg"],img[src$="brand-assets/dawnby-mark-dark.svg"],img[src$="brand-assets/dawnby-mark-on-iris.svg"]{min-width:28px;min-height:28px;flex-shrink:0;object-fit:contain}
img[src$="brand-assets/dawnby-mark-small.svg"],img[src$="brand-assets/dawnby-mark-small-dark.svg"]{min-width:16px;min-height:16px;flex-shrink:0;object-fit:contain}
img[src$="brand-assets/dawnby-wordmark.svg"],img[src$="brand-assets/dawnby-wordmark-dark.svg"]{--dawnby-lockup-height:40px;height:var(--dawnby-lockup-height);width:auto;min-height:29px;margin:calc(var(--dawnby-lockup-height) * .36)}
/* The workspace entry tile (foundation.css .entry-brand .brand-mark) draws the light master at 30px inside its 36px solid surface tile on ink, so the sun-radius clear space stays inside the tile. */

/* Full worker / client profile page. */
.person-page{display:grid;gap:var(--dawnby-spacing-lg,16px);min-inline-size:0}
.person-back{justify-self:start;margin:0}
.person-back .button{justify-content:flex-start}
.person-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--dawnby-spacing-lg,16px)}
.person-head h1{margin:0}.person-head h1:focus-visible{outline:3px solid var(--dawnby-action,#5145cd);outline-offset:4px}
.person-head-copy{flex:1 1 220px;min-inline-size:0}
.person-head-meta{display:flex;flex-wrap:wrap;gap:var(--dawnby-spacing-sm,8px);align-items:center;margin:var(--dawnby-spacing-sm,8px) 0 0}
.person-alerts{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--dawnby-spacing-sm,8px)}
.person-alert{min-block-size:var(--dawnby-interaction-comfortable-touch-target,48px);padding:0 var(--dawnby-spacing-lg,16px);border:1px solid var(--dawnby-warning,#805914);background:var(--dawnby-warning-tint,#fff6e6);color:var(--dawnby-ink,#17182b);border-radius:var(--dawnby-radius-control,8px);font:inherit;cursor:pointer}
.person-tabs{display:flex;gap:var(--dawnby-spacing-xs,4px);overflow-x:auto;border-block-end:1px solid var(--dawnby-line,#e1e1ec)}
.person-tab{flex:none;min-block-size:var(--dawnby-interaction-comfortable-touch-target,48px);padding:0 var(--dawnby-spacing-lg,16px);border:0;border-block-end:3px solid transparent;background:transparent;color:var(--dawnby-muted,#65667a);font:inherit;cursor:pointer}
.person-tab.is-active{color:var(--dawnby-ink,#17182b);border-block-end-color:var(--dawnby-action,#5145cd);font-weight:700}
.person-tab:focus-visible,.person-alert:focus-visible,.person-panel:focus-visible,.person-back .button:focus-visible{outline:3px solid var(--dawnby-action,#5145cd);outline-offset:2px}
.person-rows{display:grid;gap:var(--dawnby-spacing-sm,8px)}
.person-credential.is-expired .credential-expiry-text,.person-credential.is-expiring .credential-expiry-text{font-weight:700;color:var(--dawnby-ink,#17182b)}
.person-credential.is-expired{border-inline-start:3px solid var(--dawnby-danger,#a63748);padding-inline-start:var(--dawnby-spacing-sm,8px)}
.person-credential.is-expiring{border-inline-start:3px solid var(--dawnby-warning,#805914);padding-inline-start:var(--dawnby-spacing-sm,8px)}
/* Card actions use card spacing; the negative sticky-footer margins belong to sheets. */
.person-page .form-actions{position:static;bottom:auto;margin:var(--dawnby-spacing-lg,16px) 0 0;padding:var(--dawnby-spacing-lg,16px) 0 0;box-shadow:none}
@media(max-width:640px){.person-actions{inline-size:100%}}

/* Today screen (office home). */
.today-head{margin-block-end:var(--dawnby-spacing-lg,16px)}
.today-section{margin-block-end:var(--dawnby-spacing-xl,24px)}
.today-section h2{margin:0 0 var(--dawnby-spacing-sm,8px)}
.today-note{margin:0 0 var(--dawnby-spacing-md,12px);color:var(--dawnby-muted,#65667a);font-size:.875rem}
.today-need-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--dawnby-spacing-sm,8px)}
.today-need-row{display:flex;align-items:center;gap:var(--dawnby-spacing-md,12px);min-block-size:var(--dawnby-interaction-comfortable-touch-target,48px);padding:var(--dawnby-spacing-md,12px);background:var(--dawnby-white,#fff);border:1px solid var(--dawnby-line,#e1e1ec);border-radius:var(--dawnby-radius-card,12px)}
.today-need-count{flex:none;display:grid;place-items:center;min-inline-size:44px;block-size:44px;border-radius:50%;background:var(--dawnby-action-tint,#f0edff);color:var(--dawnby-action,#5145cd);font-weight:700;font-size:1.125rem}
.today-need-text{flex:1;min-inline-size:0}
.today-need-text h3{margin:0;font-size:1rem}
.today-need-text p{margin:2px 0 0;color:var(--dawnby-muted,#65667a);font-size:.875rem}
.today-need-text .today-need-detail{color:var(--dawnby-ink,#17182b)}
.today-need-error{border-color:var(--dawnby-danger,#a63748);background:var(--dawnby-danger-tint,#fff0f3)}
.today-clear{padding:var(--dawnby-spacing-lg,16px);background:var(--dawnby-success-tint,#e9f4ed);border-radius:var(--dawnby-radius-card,12px)}
.today-clear h3{margin:0 0 4px}.today-clear p{margin:0}
.today-strip{display:flex;gap:var(--dawnby-spacing-md,12px);overflow-x:auto;padding-block-end:var(--dawnby-spacing-sm,8px);scroll-snap-type:x proximity}
.today-strip:focus-visible{outline:3px solid var(--dawnby-action,#5145cd);outline-offset:2px}
.today-visit{flex:0 0 min(260px,80%);scroll-snap-align:start;padding:var(--dawnby-spacing-md,12px);background:var(--dawnby-white,#fff);border:1px solid var(--dawnby-line,#e1e1ec);border-radius:var(--dawnby-radius-card,12px)}
.today-visit.is-unfilled{border-color:var(--dawnby-warning,#805914);background:var(--dawnby-warning-tint,#fff6e6)}
.today-visit h3{margin:4px 0}.today-visit p{margin:0 0 4px}
.today-visit-time{font-weight:700}.today-visit-time span{font-weight:400;color:var(--dawnby-muted,#65667a);font-size:.8125rem}
.today-visit-worker{color:var(--dawnby-muted,#65667a);font-size:.875rem}
@media(max-width:640px){.today-need-row{flex-wrap:wrap}.today-need-row .button{inline-size:100%}}

/* Worker-choice actions and their shared sheets retain 48px app targets. */
[data-action="clientWorkers:setOwnAvoid"],
[data-action="clientWorkers:setAvoid"],
[data-action="clientWorkers:recordAuthority"],
[data-action="participantCare:requestWorkerChoice"],
#action-form .button,
#action-form input:not([type="checkbox"]),
#action-form select,
#action-form textarea,
#action-form .checkbox-field,
#action-form .checkbox-field label{min-block-size:48px;min-inline-size:48px}
[data-action="clientWorkers:setOwnAvoid"],
[data-action="clientWorkers:setAvoid"],
[data-action="clientWorkers:recordAuthority"],
[data-action="participantCare:requestWorkerChoice"]{white-space:normal;max-inline-size:100%;text-align:center}
/* STAFF-EC: worker emergency contacts (phone links inherit the 48px button target) */
.emergency-contact-phones{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.contact-phone{min-block-size:var(--dawnby-interaction-comfortable-touch-target,48px)}
.emergency-contact-history{list-style:none;margin:0;padding:0}
@media(max-width:640px){.emergency-contact-phones{justify-content:flex-start;inline-size:100%}}
