/* Caryan premium theme: white & cream, generous gold, navy sparingly. Colours sampled from logo-navy.png */
@font-face{font-family:'Source Serif 4';src:url(/sourceserif4.woff2) format('woff2');font-weight:200 900;font-display:swap}
:root{--navy:#2D4763;--navy-2:#3a5778;--navy-9:#22374e;--gold:#C5A449;--gold-2:#d6bb6d;--gold-0:#FBF6EA;--gold-d:#7A6230;--bg:#FBF8F1;--line:#ece4d2;--ink:#2D4763;--mute:#22374E;--r:6px;--sh:0 1px 2px rgba(45,71,99,.05),0 10px 30px rgba(45,71,99,.06)}
body{color:#2D4763}
h1,h2,.ph h1,.shift h3,.ccard h3,.empty h3{font-family:'Source Serif 4',Georgia,serif!important;font-weight:600!important;letter-spacing:0!important}
h1{font-size:clamp(30px,7vw,40px)}
.card,section.card,.ccard,.stat,.shift,.empty{border-radius:6px!important;box-shadow:var(--sh)!important;border:1px solid var(--line)}
.btn{border-radius:3px!important;letter-spacing:.03em}
.feb,.eyebrow,.kick,.sub{font-variant:small-caps;letter-spacing:.14em;color:#5E4A1C!important}
/* audience accents */
body[data-aud=family]{--acc:#2D4763}body[data-aud=caregiver]{--acc:#C5A449}body[data-aud=admin]{--acc:#C5A449}body[data-aud=quote]{--acc:#C5A449}
/* family portal */
body.fam,body[data-aud=family]{background:#FBF8F1}
.fh{background:#fff!important;color:#2D4763!important;border-bottom:1px solid #C5A449!important;box-shadow:inset 0 -4px 0 #fff,inset 0 -5px 0 rgba(45,71,99,.9)}
.fh img{content:url(/logo-navy.png)}.fh a,.fh .fo{color:#2D4763!important}
/* caregiver app */
body[data-aud=caregiver]{background:#FBF8F1!important}
body[data-aud=caregiver] .bar{background:#fff!important;color:#2D4763!important;border-bottom:1px solid #C5A449}
body[data-aud=caregiver] .bar a,body[data-aud=caregiver] .bar button{color:#5E4A1C!important}
body[data-aud=caregiver] .bar img{content:url(/logo-navy-hdr.png)}
body[data-aud=caregiver] .shift{border-top:3px solid #C5A449!important;background:#fff}
body[data-aud=caregiver] .btn:not(.gold):not(.pri){background:#fff;color:#2D4763;border:1px solid #d9cba3}
/* admin */
@media (min-width:821px){body[data-aud=admin]{background:linear-gradient(90deg,#fff 248px,#FBF8F1 248px)!important}}
body[data-aud=admin]{background:#FBF8F1}
.side{background:#fff!important;color:#2D4763!important;border-right:1px solid #C5A449}
.side a,.side svg{color:#2D4763!important}.side img{content:url(/logo-navy.png)}
.side a.on,.side a:hover{background:#FBF6EA!important;color:#5E4A1C!important}
.auth{background:linear-gradient(180deg,#fff,#FBF8F1)!important}
.authcard{border:1px solid #C5A449;border-radius:6px!important}
.chead{background:#fff!important;color:#2D4763!important;border:1px solid #C5A449;border-left:4px solid var(--acc,#C5A449)}
body[data-aud=caregiver] .hero{background:transparent!important;color:#2D4763!important;border-bottom:0}
body[data-aud=caregiver] .hero *{color:inherit}body[data-aud=caregiver] .hero h1,body[data-aud=caregiver] .hero h2{color:#2D4763!important}
body[data-aud=caregiver] .hero p,body[data-aud=caregiver] .hero small{color:#5E4A1C!important}
.si a,.side .si a{color:#2D4763!important}
.card .empty,section .empty{border:0!important;box-shadow:none!important}
.fh{box-shadow:none!important}
/* quote flow */
body[data-aud=quote]{background:#fff}
body[data-aud=quote] h1,body[data-aud=quote] h2{color:#2D4763;font-size:34px}
body[data-aud=quote] .opt,body[data-aud=quote] button.choice,body[data-aud=quote] .choice{border-color:#e4d7b5!important;border-radius:4px!important}
body[data-aud=quote]{--a:#C5A449;--ad:#7A6230;--ink:#2D4763}
body[data-aud=quote] .sxtop{border-bottom:1px solid #C5A449}body[data-aud=quote] .sxrow img{height:40px}
body[data-aud=quote] .sxbar{height:2px;background:#efe6cf}
body[data-aud=quote] .sxk{font-variant:small-caps;text-transform:lowercase;letter-spacing:.16em;font-size:14px}
body[data-aud=quote] .sxmain h1{font-family:'Source Serif 4',Georgia,serif;font-weight:600;font-size:36px;color:#2D4763}
body[data-aud=quote] .sxopt{border:1px solid #e4d7b5!important;border-radius:4px!important;box-shadow:none}
body[data-aud=quote] .sxopt.on{border-color:#C5A449!important;background:#FBF6EA}
body[data-aud=quote] .sxin{border:1px solid #e4d7b5;border-radius:4px}
body[data-aud=quote] .sxb{border-radius:3px;letter-spacing:.03em}
body[data-aud=quote] .sxfoot{border-top:1px solid #efe6cf}
body[data-aud=caregiver] .hi{color:#2D4763!important;font-family:'Source Serif 4',Georgia,serif;font-weight:600;font-size:34px}
body[data-aud=caregiver] .hint{color:#5E4A1C!important;font-variant:small-caps;letter-spacing:.14em}
body[data-aud=caregiver] .back{background:#FBF6EA;color:#2D4763}
body[data-aud=caregiver] .btn.ghost{color:#2D4763;border-color:#d9cba3}
body[data-aud=caregiver] h2{color:#5E4A1C!important;opacity:1!important}
/* AA: navy text on gold (5.1:1), dark gold text (5.5:1 on cream) */
body[data-aud=caregiver] .hi,body[data-aud=quote] .sxmain h1{font-size:30px}
h1,h2,.ph h1,.shift h3,.ccard h3,.empty h3{font-weight:600!important;letter-spacing:-.01em!important}

/* ===== Button system (AA everywhere) =====
   primary: navy #2D4763 fill, white text (9.6:1)
   gold:    gold #C5A449 fill, navy #22374E text (5.1:1)
   secondary/outline: white fill, navy text + border (9.6:1)
   disabled: cream #FBF6EA fill, dark gold #7A6230 text, gold border (5.3:1), no opacity fade */
.btn.pri,.sxb.pri,body[data-aud=quote] .sxb.pri{background:#2D4763!important;border:1px solid #2D4763!important;color:#fff!important;opacity:1!important}
.btn.pri:hover,.sxb.pri:hover{background:#22374e!important}
.btn.gold,.sxb.gold{background:#C5A449!important;border:1px solid #C5A449!important;color:#22374e!important}
.btn.navy-o,.btn.ghost,.btn.sec{background:#fff!important;color:#2D4763!important;border:1px solid #2D4763!important}
.sxb.gh{color:#2D4763!important}
button:disabled,.btn:disabled,.btn[disabled],.btn.dis,.sxb:disabled,.sxb.pri:disabled,input[type=submit]:disabled{background:#FBF6EA!important;color:#5E4A1C!important;border:1px solid #C5A449!important;opacity:1!important;cursor:not-allowed;box-shadow:none!important}
/* quote: primary CTA full width on phone */
body[data-aud=quote] .sxfoot{display:flex;gap:12px}
body[data-aud=quote] .sxfoot .sxb.pri{flex:1 1 auto;width:100%;min-height:56px}
/* option cards: line icons in cream badges; selected state */
body[data-aud=quote] .sxopt{display:flex!important;align-items:center;gap:14px;color:#2D4763!important;background:#fff!important}
body[data-aud=quote] .sxopt .e{flex:none;width:44px;height:44px;border-radius:50%;background:#FBF6EA;border:1px solid rgba(197,164,73,.6);display:grid;place-items:center;color:#5E4A1C;font-size:0}
body[data-aud=quote] .sxopt .e svg{width:22px;height:22px}
body[data-aud=quote] .sxopt.on{border:2px solid #2D4763!important;background:#F6F8FB!important}
body[data-aud=quote] .sxopt.on .e{background:#2D4763;color:#fff;border-color:#2D4763}
body[data-aud=quote] .sxopt small{color:#22374E!important}
body[data-aud=quote] .e-lg{display:inline-grid;place-items:center;width:84px;height:84px;border-radius:50%;background:#FBF6EA;border:1px solid #C5A449;color:#5E4A1C}body[data-aud=quote] .e-lg svg{width:40px;height:40px}
body[data-aud=quote] .sxmain{padding-top:22px;scroll-margin-top:90px}
body[data-aud=quote] .sxin::placeholder{color:#22374E}
body[data-aud=quote] .sxb.pri:disabled,body .btn.pri:disabled,body .btn.gold:disabled{background:#FBF6EA!important;color:#5E4A1C!important;border:1px solid #C5A449!important;opacity:1!important}
body[data-aud=quote] #bk[style*="hidden"]{display:none}
.li{width:20px;height:20px;color:#5E4A1C;flex:none;vertical-align:-4px}
/* ui-brand shell (revenue, finance, referrals, onboarding) + schedule: white/cream header, thin gold rule */
body[data-aud=admin] > header{background:#fff!important;color:#2D4763!important;border-bottom:1px solid #C5A449!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background-image:none!important;opacity:1!important}
body[data-aud=admin] > header h1{color:#2D4763!important;font-family:'Source Serif 4',Georgia,serif;font-weight:600}
body[data-aud=admin] > header a{color:#5E4A1C!important}
body[data-aud=admin] > header *{color:inherit}
body[data-aud=admin] > header .btn,body[data-aud=admin] > header button{color:#2D4763!important;border-color:#2D4763!important;background:#fff!important}
body[data-aud=admin] .kpi{border-top-color:#C5A449!important}
body[data-aud=admin] > header ~ * th{background:#FBF6EA!important;color:#2D4763!important;border-color:#ecdfbd!important}

/* contrast-v2 (Oct 22): body/notice text dark navy, >=7:1, no faded text */
body{color:#22374E}
.notice,p.notice{color:#22374E!important;background:#fff!important;border:1.5px solid #C5A449!important;font-size:17px!important;opacity:1!important;font-weight:500}
.notice b{color:#5E4A1C!important;font-weight:700}
:where(main,.card,.c,.q,.wrap,section,.panel,table,form) :is(.muted,small,.small,.sub,.slsub,.sxsave,.pkor,.a,th,p,span.muted){color:#22374E!important;opacity:1!important}
.p7hero small,.p7hero p{opacity:1!important}
.tbl tr.dim td,.p7no td,.ccard.dim,.shift.s-canceled,.ch input:disabled+span{opacity:1!important;color:#22374E!important}
.shift.s-canceled{text-decoration:line-through}
body[data-aud] h1,body[data-aud] h2,body[data-aud=caregiver] h2,body[data-aud] h3{color:#22374E!important}
.tr-ok,.done,.pill.p-ok{color:#0F5132!important}.tr-soon,.soon,.pill.p-late,.st.soon{color:#6B4A00!important}
.overdue,.pill.p-missing,.pill.p-missed,.pill.p-flag{color:#8A1C12!important}
.eyebrow,.h2{color:#22374E!important}
.btn.gold,.btn.g,button.go,button.tn,button.hq,.slbtn,.sxb.gold{color:#15212F!important}
button.ts{color:#22374E!important}
.btn.gold,.btn.g,button.go,button.tn,button.hq,.slbtn,.sxb.gold,body[data-aud] b[style*="197"]{color:#0F1924!important}
#ccin b{color:#EBDDB0!important}
.cd small,.slh small{color:#fff!important}
body[data-aud=admin] b[style*="c0392b"],body[data-aud=admin] b[style*="C0392B"],body[data-aud=admin] .kpi.r b,body[data-aud=admin] .flash b{color:#8A1C12!important}
body[data-aud=admin] .wk b,body[data-aud=admin] [class*=day] b{color:#0F1924!important}
/* Brand rule: navy-and-gold logo on light backgrounds (white logo only on navy) */
body[data-aud=caregiver] .hero img,.side .brand img,body[data-aud=admin] > header img[src$="logo.png"]{content:url(/logo-navy.png)}
/* off-site clock-in dialog */
.gfm{position:fixed;inset:0;background:rgba(20,30,45,.55);display:flex;align-items:center;justify-content:center;padding:16px;z-index:9999}
.gfc{background:#fffdf8;border-top:5px solid #C5A449;border-radius:16px;max-width:460px;width:100%;padding:22px 20px;box-shadow:0 20px 50px rgba(0,0,0,.25);font-family:Inter,system-ui,sans-serif;color:#1f2a37}
.gfc h2{font-family:'Source Serif 4',Georgia,serif;color:#2D4763;font-size:1.35rem;margin:6px 0 8px}
.gfi{width:40px;height:40px;border-radius:50%;background:#fbefd0;color:#8a6d1f;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0;font-size:1.2rem}
.gfx{margin:0 0 14px;line-height:1.45}
.gfc label{display:block;font-weight:600;color:#2D4763;margin-bottom:6px}
.gfc textarea{width:100%;box-sizing:border-box;border:1px solid #cfd6df;border-radius:10px;padding:10px;font:inherit;font-size:16px}
.gfb{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.gfb .btn{width:100%;min-height:46px}
.gfo{background:#2D4763!important;color:#fff!important}
.gfa{background:#fff!important;color:#2D4763!important;border:1px solid #2D4763!important}
.gfn{background:none;border:0;color:#5b6675;text-decoration:underline;padding:8px;font:inherit;cursor:pointer}

/* v85 sign-in: clean, fully visible logo above the card */
body[data-aud=caregiver] #login .hero{padding:calc(40px + env(safe-area-inset-top)) 16px 24px;position:relative;z-index:1}body[data-aud=caregiver] #login .logo{width:auto;height:150px;max-width:70vw;object-fit:contain;opacity:1;filter:none;display:block;margin:0 auto}body[data-aud=caregiver] #login .sheet{position:relative;z-index:2;margin:0 auto 24px;max-width:440px;width:calc(100% - 32px)}@media(max-height:700px){body[data-aud=caregiver] #login .logo{height:110px}}

body[data-aud=caregiver] .bar img,.side .brand img{content:url(/logo-navy-hdr.png)!important;opacity:1!important;filter:none!important;image-rendering:auto}
body[data-aud=caregiver] .bar,body[data-aud=caregiver] header{background:#fff!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;opacity:1!important}

/* v99 family portal: shared header (logo centered, solid white, no blur), line-icon actions on the right */
header.fh{position:sticky;top:0;z-index:40;display:grid!important;grid-template-columns:1fr auto 1fr;grid-auto-rows:auto;align-items:center;gap:0 6px!important;padding:calc(8px + env(safe-area-inset-top)) 12px 8px!important;background:#fff!important;box-shadow:none!important;border-bottom:1px solid #C5A449!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
header.fh>img,header.fh>a:first-child{grid-column:2;grid-row:1;justify-self:center}header.fh img{height:60px!important;width:auto;content:url(/logo-navy-hdr.png)!important;display:block}
header.fh nav{grid-column:1/-1;grid-row:2}header.fh nav:empty{display:none}
header.fh .fo{grid-row:1;justify-self:end;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:12px;color:#1F3B5A!important;background:none!important;border:0!important;padding:0 6px!important;font-weight:600;text-decoration:none}
header.fh .fo.fi{position:absolute;top:calc(16px + env(safe-area-inset-top));right:10px}header.fh .fo.fi:not(:last-of-type){right:58px}header.fh .fo:active{background:#f4f6f9!important}
header.fh>a.fo:not(.fi){grid-column:3}

/* v101 app-wide status treatment: done green, late/expired/overdue red, pending neutral. Line icons via mask, no emoji. */
.pill.p-done,.st.done{background:#EAF6EE!important;color:#1d6b3a!important;border:1px solid #BFE3CB}
.pill.p-late,.pill.p-missing,.pill.p-flag,.st.overdue{background:#FDECEA!important;color:#B42318!important;border:1px solid #F4C7C1}
.pill.p-in,.pill.p-sched,.pill.p-tbd,.st.soon,.st.ok{background:#F2F4F7!important;color:#344054!important;border:1px solid #E3E7EE}
.pill.p-done:not(:has(svg))::before,.pill.p-late:not(:has(svg))::before,.pill.p-missing:not(:has(svg))::before,.pill.p-flag:not(:has(svg))::before,.pill.p-in:not(:has(svg))::before,.pill.p-sched:not(:has(svg))::before,.st.done::before,.st.overdue::before,.st.soon::before{content:'';display:inline-block;width:12px;height:12px;margin-right:4px;vertical-align:-1px;background:currentColor;-webkit-mask:var(--sti) center/contain no-repeat;mask:var(--sti) center/contain no-repeat}
.pill.p-done,.st.done{--sti:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M8 12.5l3 3 5-6'/></svg>")}.pill.p-late,.pill.p-missing,.pill.p-flag,.st.overdue{--sti:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3l9.5 17h-19z'/><path d='M12 10v4M12 17.5v.01'/></svg>")}.pill.p-in,.pill.p-sched,.pill.p-tbd,.st.soon{--sti:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M12 7v5l3 2'/></svg>")}
.st{display:inline-flex;align-items:center;border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:600}
body{padding-bottom:calc(84px + env(safe-area-inset-bottom))!important}
