/* 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.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:linear-gradient(180deg,#fff,#FBF8F1)!important;color:#2D4763!important;border-bottom:1px solid #C5A449}
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:0 1px 0 #fff,0 2px 0 rgba(197,164,73,.25)}
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}
