*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--f:'Inter',sans-serif;--t:#171717;--ti:#fafafa;--bg:#000;--bg1:#0c0c0c;--bg2:#111;--bg3:#1a1a1a;--g1:#e5e5e5;--g2:#a3a3a3;--g3:#8a8a8a;--g4:#4a4a4a;--g5:#262626;--bd:rgba(250,250,250,.1);--grn:#16a34a;--sld:#991b1b}
html{scroll-behavior:smooth}body{font-family:var(--f);background:var(--bg);color:var(--ti);line-height:1.25;font-weight:400;font-size:13px;overflow-x:hidden;-webkit-font-smoothing:antialiased}
::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--g4)}
img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:var(--f)}textarea{font-family:var(--f) !important}
h1,h2,h3,h4{font-family:var(--f);color:var(--ti);line-height:1.1}h1{text-transform:uppercase}.fwb h2{text-transform:uppercase}
h1{font-size:clamp(26px,5vw,46px);font-weight:700;letter-spacing:-1px}
h2{font-size:clamp(20px,3.5vw,30px);font-weight:700;letter-spacing:-.8px;margin-bottom:16px}
h3{font-size:clamp(15px,2vw,19px);font-weight:700;letter-spacing:-.4px;margin-bottom:10px}
p{color:var(--g2);margin-bottom:12px;font-size:13px;line-height:1.45}
.sub{font-size:11px;color:var(--g3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}
.nav{position:fixed;top:0;left:0;right:0;z-index:1000}
.nav-top{background:var(--t);display:flex;align-items:center;justify-content:space-between;padding:5px 40px;font-size:10px;color:var(--g3);border-bottom:1px solid var(--bd);height:26px}
.nav-top a{color:var(--ti);font-weight:500;cursor:pointer}.nav-soc{display:flex;gap:12px;align-items:center}
.nav-soc a{color:var(--g3);font-size:12px;transition:.2s}.nav-soc a:hover{color:var(--ti)}
.nav-m{background:var(--bg);border-bottom:1px solid var(--bd);display:flex;align-items:center;justify-content:space-between;padding:0 40px;height:54px}
.logo{font-size:14px;font-weight:800;letter-spacing:-.2px;color:var(--ti);white-space:nowrap}
.nl{display:flex;gap:0;list-style:none;height:54px}.nl li{display:flex;align-items:center}
.nl a{color:var(--g2);font-size:11px;font-weight:600;letter-spacing:-.1px;padding:0 13px;height:100%;display:flex;align-items:center;transition:.2s;border-bottom:1.5px solid transparent;white-space:nowrap}
.nl a:hover,.nl a.active{color:var(--ti);border-bottom-color:var(--ti)}
.nav-r{display:flex;align-items:center;gap:14px}
.nav-cta{font-size:10px;font-weight:700;padding:8px 16px;background:var(--ti);color:var(--bg);border:none;cursor:pointer;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}
.nt{display:none;background:none;border:none;cursor:pointer;padding:10px;margin-left:auto}.nt span{display:block;width:20px;height:1.5px;background:var(--ti);margin:4px 0}
@media(max-width:1080px){.nav-top{padding:5px 20px;font-size:9px}.nt{display:block}.nav-m{padding:0 20px}.nav-r .nav-cta{display:none}
.nl{position:fixed;top:54px;left:0;right:0;bottom:0;background:var(--bg);flex-direction:column;align-items:center;justify-content:flex-start;padding-top:40px;gap:0;height:auto;transform:translateX(100%);transition:transform .35s ease;overflow-y:auto;z-index:999}
.nl.open{transform:translateX(0)}.nl li{width:100%}.nl a{height:auto;padding:16px 20px;font-size:15px;width:100%;justify-content:center;border-bottom:1px solid var(--bd)}}

.ctn{max-width:1200px;margin:0 auto;padding:0 40px}
.pg{display:none}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--f);font-size:12px;font-weight:600;padding:11px 24px;cursor:pointer;text-decoration:none;transition:.2s;text-transform:uppercase;letter-spacing:.3px;border:none}
.bf{background:var(--ti);color:var(--bg);border:2px solid var(--ti)}.bf:hover{background:var(--g1)}
.bo{background:transparent;color:var(--ti);border:2px solid var(--g4)}.bo:hover{border-color:var(--ti)}
.bs{font-size:10px;padding:8px 16px}.bb{width:100%;justify-content:center}
.hw{margin-top:54px;position:relative;overflow:hidden;width:100%}
.hs{display:flex;width:100%;position:relative;height:min(56.25vw,90vh);min-height:380px;transition:transform .55s cubic-bezier(0.25,0,0,1);will-change:transform}
.hsl{min-width:100%;width:100%;display:flex;align-items:center;position:relative;overflow:hidden}
.hsl img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.6)}
.hsl-c{position:relative;z-index:2;padding:0 60px;max-width:620px}
.hsl p{font-size:14px;color:var(--g1);line-height:1.55;margin-bottom:24px;max-width:460px}
.hsl .br{display:flex;gap:10px;flex-wrap:wrap}
.hd{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:7px;z-index:10}
.hdt{width:7px;height:7px;border-radius:50%;background:rgba(250,250,250,.25);cursor:pointer;border:none;transition:.2s}.hdt.ac{background:var(--ti)}
.hn{position:absolute;top:50%;z-index:10;transform:translateY(-50%);background:rgba(0,0,0,.5);color:var(--ti);border:none;width:40px;height:40px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center}.hp{left:12px}.hx{right:12px}
@media(max-width:768px){.hsl-c{padding:0 20px}.hs{height:min(56.25vw,70vh);min-height:280px}.hn{display:none}}@media(max-width:480px){.hs{height:min(56.25vw,60vh);min-height:200px}}
.ih{margin-top:54px;padding:0;background:var(--bg1);position:relative;overflow:hidden;width:100%;aspect-ratio:16/9;max-height:360px;min-height:180px;display:flex;align-items:flex-end}

.ih-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.38)}
.ih-c{position:relative;z-index:1;width:100%;max-width:none;padding:20px 40px}.ih-c h1{white-space:nowrap;font-size:clamp(20px,3vw,36px)}.ih p{font-size:13px;color:var(--g2);line-height:1.5;margin-top:8px}
.sec{padding:72px 0}.sbt{border-top:1px solid var(--bd)}
.intro{padding:72px 0;text-align:center}.intro h2{font-size:clamp(22px,3.5vw,34px);letter-spacing:-.8px;max-width:640px;margin:0 auto 14px}.intro p{max-width:580px;margin:0 auto 10px;font-size:13px;line-height:1.55}.intro .btn{margin-top:18px}
.stat-r{display:flex;justify-content:center;gap:40px;padding:28px 0;flex-wrap:wrap}
.st{text-align:center}.st-n{font-size:26px;font-weight:800;letter-spacing:-.6px}.st-l{font-size:10px;color:var(--g3);margin-top:2px;text-transform:uppercase;letter-spacing:.4px}
.cg{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;align-items:start}
.cd{background:var(--bg2);overflow:hidden;transition:.2s;cursor:pointer;display:flex;flex-direction:column}.cd:hover{background:var(--g5)}
.cd-img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:center;filter:brightness(.55);transition:.4s;flex-shrink:0}.cd:hover .cd-img{filter:brightness(.75)}
.cd-b{padding:18px;display:flex;flex-direction:column;min-height:72px}.cd-t{font-size:13px;font-weight:700;letter-spacing:-.2px;margin-bottom:3px;text-transform:uppercase}.cd-s{font-size:11px;color:var(--g3)}
.cd-l{font-size:10px;font-weight:600;color:var(--ti);margin-top:auto;padding-top:8px;display:inline-block;opacity:.6;text-transform:uppercase;letter-spacing:.3px}.cd:hover .cd-l{opacity:1}
.fwb{position:relative;width:100%;aspect-ratio:21/9;max-height:480px;min-height:240px;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}
.fwb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.45)}
.fwb-c{position:relative;z-index:1}.fwb p{font-size:11px;color:var(--g2);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:12px}
.feat{display:grid;grid-template-columns:1fr 1fr;background:var(--bg1);align-items:center}
.feat-img{width:100%;height:auto;aspect-ratio:3/4;max-height:calc(100vh - 120px);object-fit:cover;object-position:center;filter:brightness(.6)}
@media(max-width:768px){.feat{grid-template-columns:1fr}.feat-img{aspect-ratio:4/3;max-height:56vh}}
.feat-i{padding:44px;display:flex;flex-direction:column;justify-content:center}.feat-i .pr{font-size:20px;font-weight:800;letter-spacing:-.5px;margin:10px 0 14px}

.tst{padding:56px 0;background:var(--bg1);border-top:1px solid var(--bd)}
.tg{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.tc{padding:24px;border:1px solid var(--bd)}.tc blockquote{font-size:12px;line-height:1.5;color:var(--g1);font-style:normal;margin-bottom:10px}.tc cite{font-size:10px;color:var(--g3);font-style:normal;font-weight:600}
.ig-sec{padding:48px 0;text-align:center;border-top:1px solid var(--bd)}
.ig-btn{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--ti);border:2px solid var(--g4);padding:10px 24px;transition:.2s;text-transform:uppercase;letter-spacing:.3px}.ig-btn:hover{border-color:var(--ti)}.ig-btn svg{width:16px;height:16px}
.svb{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--bd)}
.svi{padding:24px 18px;text-align:center;border-right:1px solid var(--bd);transition:.15s;cursor:pointer}.svi:last-child{border-right:none}.svi:hover{background:var(--g5)}
.svi h4{font-size:12px;font-weight:700;letter-spacing:-.2px;margin-bottom:3px;text-transform:uppercase}.svi p{font-size:10px;color:var(--g3);margin:0}

.tcol{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.cli{background:var(--bg2);padding:32px 24px;transition:.2s}.cli:hover{background:var(--g5)}.cli-n{font-size:32px;font-weight:800;color:var(--g5);letter-spacing:-1px;margin-bottom:10px}

.trs{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.tr{background:var(--bg2);padding:32px 24px;display:flex;flex-direction:column;position:relative;transition:.2s}.tr:hover{background:var(--g5)}
.tr.tr-ft{background:var(--bg3)}.tr.tr-ft::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--ti)}
.tr-tag{position:absolute;top:14px;right:14px;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;background:var(--ti);color:var(--bg);padding:4px 10px;line-height:1}
.tr-n{font-size:14px;font-weight:700;letter-spacing:-.2px;margin-bottom:3px;text-transform:uppercase}.tr-p{font-size:22px;font-weight:800;letter-spacing:-.6px;margin-bottom:3px}.tr-s{font-size:10px;color:var(--g3);margin-bottom:18px}
.tr-l{list-style:none;margin-bottom:24px;flex:1}.tr-l li{padding:7px 0;border-bottom:1px solid var(--bd);font-size:11px;color:var(--g2)}.tr-l li.inc{font-weight:800;color:var(--ti);text-transform:uppercase;letter-spacing:.4px;font-size:9.5px}

.dg{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;align-items:start}
.dc{display:block;background:var(--bg2);overflow:hidden;transition:.2s;cursor:pointer}.dc:hover{background:var(--g5)}.dc-iw{overflow:hidden;position:relative}
.dc-img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center;display:block;filter:brightness(.55);transition:.4s}.dc:hover .dc-img{filter:brightness(.75);transform:scale(1.02)}
.dc-bdg{position:absolute;top:10px;left:10px;font-size:9px;font-weight:700;padding:3px 9px;text-transform:uppercase;letter-spacing:.3px}
.dc-locked .dc-img{filter:brightness(.32) grayscale(.35) contrast(1.05)}
.dc-locked:hover .dc-img{filter:brightness(.45) grayscale(.2);transform:scale(1.03)}
.dc-lock-ov{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;pointer-events:none}
.dc-lock-ov svg{width:40px;height:40px;color:rgba(255,255,255,.92);filter:drop-shadow(0 2px 8px rgba(0,0,0,.6))}
.dc-lock-ov .dc-lock-t{font-size:10px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.92);text-shadow:0 2px 8px rgba(0,0,0,.7)}
.dc-lock-ov .dc-lock-s{font-size:9px;letter-spacing:.5px;color:rgba(255,255,255,.72);max-width:80%}.ba{background:var(--grn);color:#fff}.bso{background:var(--sld);color:var(--g1)}
.dc-tr{position:absolute;top:10px;right:10px;font-size:9px;font-weight:600;padding:3px 9px;background:rgba(0,0,0,.6);color:var(--g2);text-transform:uppercase;letter-spacing:.3px}
.dc-bd{padding:16px}.dc-nm{font-size:14px;font-weight:700;letter-spacing:-.2px;margin-bottom:2px;text-transform:uppercase}
.dc-br{font-size:10px;color:var(--g3);margin-bottom:8px;text-transform:uppercase;letter-spacing:.3px}
.dc-mt{display:flex;gap:14px;font-size:10px;color:var(--g3);margin-bottom:10px;text-transform:uppercase;letter-spacing:.2px}.dc-mt strong{color:var(--g1)}.dc-pr{font-size:15px;font-weight:700;margin-bottom:12px}
.pf{display:grid;grid-template-columns:1fr 1fr;margin-top:54px;align-items:center}
.pf-img{width:100%;height:auto;max-height:calc(100vh - 90px);object-fit:contain;object-position:center;background:#0d0d0f;filter:brightness(.6)}
.pf-i{padding:44px;display:flex;flex-direction:column;justify-content:center;background:var(--bg1)}
@media(max-width:768px){.pf{grid-template-columns:1fr;align-items:stretch}.pf-img{max-height:60vh}}
.pr-r{display:flex;align-items:center;gap:10px;margin-bottom:7px}.pr-lb{width:90px;font-size:10px;color:var(--g3);font-weight:600;text-transform:uppercase;letter-spacing:.3px}
.pr-b{flex:1;height:3px;background:var(--g5)}.pr-f{height:100%;background:var(--ti)}.pr-v{width:34px;text-align:right;font-size:11px;font-weight:600;color:var(--g2)}
.brr{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--bd)}.brr:nth-child(even) .bri{order:2;aspect-ratio:1/1;overflow:hidden}
.bri{overflow:hidden;min-height:340px}.bri.bri-ph{display:flex;align-items:center;justify-content:center;background:radial-gradient(120% 120% at 30% 20%,#2b2620,#15120f 70%)}.bri.bri-ph::after{content:attr(data-mono);font-family:Georgia,serif;font-size:96px;font-weight:800;letter-spacing:6px;color:rgba(199,165,110,.16)}.bri img{width:100%;height:100%;object-fit:cover;filter:brightness(.4);transition:.5s}.brr:hover .bri img{filter:brightness(.6)}
.brt{padding:44px 36px;display:flex;flex-direction:column;justify-content:center}
.brg{display:grid;grid-template-columns:1fr 1fr;gap:5px 18px;margin:14px 0}.brgr{font-size:11px;color:var(--g3);text-transform:uppercase;letter-spacing:.2px}.brgr strong{color:var(--ti)}

.kbg{display:grid;grid-template-columns:1fr 1fr;gap:2px}.kbt{background:var(--bg2);padding:44px 32px;cursor:pointer;transition:.2s;border-left:2px solid transparent}
.kbt:hover{background:var(--g5);border-left-color:var(--ti)}.kbr{font-size:10px;font-weight:600;color:var(--ti);margin-top:10px;display:inline-block;text-transform:uppercase;letter-spacing:.3px}

.mo{position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,.88);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:.3s;padding:20px;overflow-y:auto}.mo.open{opacity:1;pointer-events:all}
.mbox{background:var(--bg1);border:1px solid var(--bd);max-width:620px;width:100%;max-height:90vh;overflow-y:auto;padding:36px 32px;position:relative}
.mcl{position:absolute;top:10px;right:10px;background:none;border:1px solid var(--bd);color:var(--g3);width:30px;height:30px;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;transition:.2s}.mcl:hover{border-color:var(--ti);color:var(--ti)}.mbox h3{margin-top:18px}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ff{grid-column:1/-1}
.fg label{display:block;font-size:10px;font-weight:600;color:var(--g3);margin-bottom:4px;text-transform:uppercase;letter-spacing:.3px}
.fg input,.fg select,.fg textarea{width:100%;background:var(--bg);border:1px solid var(--bd);color:var(--ti);padding:10px 14px;font-family:var(--f);font-size:12px;outline:none;transition:.2s}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--g3)}.fg textarea{min-height:90px;resize:vertical}.fg select{appearance:none;cursor:pointer}
.fg input[readonly]{background:var(--g5);color:var(--g2);cursor:default}@media(max-width:600px){.fg{grid-template-columns:1fr}}
.uz{border:2px dashed var(--g4);padding:24px;text-align:center;cursor:pointer;transition:.2s;position:relative}.uz:hover{border-color:var(--g3)}.uz.dg-over{border-color:var(--ti);background:rgba(250,250,250,.03)}
.uz input[type="file"]{display:none}.uz p{color:var(--g3);font-size:11px;margin:0}.uz-prev{margin-top:10px;max-height:120px;object-fit:contain;margin-left:auto;margin-right:auto}
.pbar{width:100%;height:4px;background:var(--g5);margin-top:10px;display:none;overflow:hidden}.pfill{height:100%;background:var(--ti);width:0;transition:width .3s}
.quiz{max-width:600px;margin:0 auto}.q-step{display:none}.q-step.active{display:block}
.q-title{font-size:14px;font-weight:700;margin-bottom:14px;text-transform:uppercase;letter-spacing:-.2px}
.q-opts{display:flex;flex-direction:column;gap:8px}
.q-opt{padding:12px 16px;border:1px solid var(--bd);cursor:pointer;font-size:12px;transition:.2s;display:flex;align-items:center;gap:10px}
.q-opt:hover{border-color:var(--g3);background:var(--g5)}.q-opt.sel{border-color:var(--ti);background:var(--g5)}
.q-opt .dot{width:10px;height:10px;border-radius:50%;border:1.5px solid var(--g4);flex-shrink:0;transition:.2s}.q-opt.sel .dot{background:var(--ti);border-color:var(--ti)}
.q-nav{display:flex;justify-content:space-between;margin-top:20px}.q-progress{display:flex;gap:5px;margin-bottom:20px}.q-pip{width:100%;height:2px;background:var(--g5)}.q-pip.done{background:var(--ti)}
.result{padding:28px;border:1px solid var(--bd);margin-bottom:24px;background:var(--bg1)}.result-tier{font-size:16px;font-weight:800;letter-spacing:-.4px;text-transform:uppercase}.result-breed{font-size:13px;color:var(--g1);margin-top:4px}.result-note{font-size:11px;color:var(--g3);margin-top:12px;font-style:italic}
.cms-wrap{display:none}.cms-wrap.show{display:block}.cms{background:var(--bg1);border:1px solid var(--bd);padding:28px}
.cms-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--bd);flex-wrap:wrap}.cms-row img{width:46px;height:46px;object-fit:cover}
.cms-inf{flex:1;min-width:160px}.cms-inf strong{font-size:12px;font-weight:700;display:block;text-transform:uppercase}.cms-inf span{font-size:10px;color:var(--g3)}
.cms-a{display:flex;gap:5px;flex-wrap:wrap}.cb{font-size:9px;font-weight:600;padding:4px 10px;border:1px solid var(--g4);background:transparent;color:var(--g2);cursor:pointer;transition:.2s;text-transform:uppercase;letter-spacing:.3px}.cb:hover{border-color:var(--ti);color:var(--ti)}
.cbg{border-color:var(--grn);color:#4b9}.cbg:hover{background:var(--grn);color:#fff}.cbr{border-color:var(--sld);color:#e66}.cbr:hover{background:var(--sld);color:#fff}
.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px}.team-c{background:var(--bg2);padding:32px 24px;transition:.2s}.team-c:hover{background:var(--g5)}.team-c .role{font-size:10px;color:var(--g3);text-transform:uppercase;letter-spacing:.4px;margin-bottom:12px}
@media(max-width:768px){.team-grid{grid-template-columns:1fr}}
.legal{max-width:720px;margin:0 auto;padding:0 40px}.legal h2{margin-top:32px}.legal h3{margin-top:20px;color:var(--g1)}.legal p,.legal li{font-size:13px;line-height:1.6;color:var(--g2)}.legal ul{margin:8px 0 16px 20px}.legal li{margin-bottom:4px}
.tz-display{background:var(--g5);border:1px solid var(--bd);padding:12px 14px;font-size:12px;color:var(--g1);margin-top:8px}.tz-label{font-size:10px;color:var(--g3);text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}
footer{background:var(--bg);border-top:1px solid var(--bd);padding:36px 0 18px}
.ft{display:flex;justify-content:space-between;flex-wrap:wrap;gap:28px;max-width:1200px;margin:0 auto;padding:0 40px}
.ft-br{font-size:13px;font-weight:800;letter-spacing:-.2px;margin-bottom:4px;text-transform:uppercase}.ft-addr{font-size:11px;color:var(--g3);line-height:1.5;margin-top:6px}
.ft-soc{display:flex;gap:10px;margin-top:8px}.ft-soc a{color:var(--g3);transition:.2s;font-size:11px;border:1px solid var(--bd);width:28px;height:28px;display:flex;align-items:center;justify-content:center}.ft-soc a:hover{color:var(--ti);border-color:var(--ti)}
.ft-col h4{font-size:10px;font-weight:700;color:var(--g4);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.ft-col a{display:block;font-size:11px;color:var(--g3);margin-bottom:4px;transition:.2s}.ft-col a:hover{color:var(--ti)}
.ftb{max-width:1200px;margin:16px auto 0;padding:14px 40px 0;border-top:1px solid var(--bd);font-size:9px;color:var(--g4);text-align:center;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}.ftb a{color:var(--g4);transition:.2s;cursor:pointer}.ftb a:hover{color:var(--g2)}
.rv{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
@media(prefers-reduced-motion:reduce){.rv{opacity:1!important;transform:none!important;transition:none!important}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.rv.vis{opacity:1;transform:translateY(0)}.r1{transition-delay:.1s}.r2{transition-delay:.2s}
.hsl img{transform:translateZ(0)}
.empty{text-align:center;padding:72px 40px;color:var(--g4)}.empty h3{color:var(--g3);margin-bottom:6px}

.ih-bg-pattern{position:absolute;inset:0;background-color:#0a0a0a;background-image:repeating-linear-gradient(135deg,transparent,transparent 28px,rgba(255,255,255,.055) 28px,rgba(255,255,255,.055) 29px),repeating-linear-gradient(45deg,transparent,transparent 28px,rgba(255,255,255,.035) 28px,rgba(255,255,255,.035) 29px);}

/* ── Page transitions ── */
.pg.active{display:block;animation:pgIn .45s ease forwards}
@keyframes pgIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* ── Card hover lift ── */
.cd{transform:translateY(0);transition:.25s ease}
.cd:hover{background:var(--g5);transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.4)}
.dc{transform:translateY(0);transition:.25s ease}
.dc:hover{background:var(--g5);transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.4)}

/* ── Primary button shimmer ── */
.bf{position:relative;overflow:hidden}
.bf::after{content:'';position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transform:skewX(-20deg);transition:none}
.bf:hover::after{left:140%;transition:left .5s ease}

/* ── Modal slide-up entrance ── */
.mo.open .mbox{animation:mboxIn .35s cubic-bezier(.16,1,.3,1) forwards}
@keyframes mboxIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}

/* ── Nav scroll shadow ── */
.nav.scrolled{box-shadow:0 2px 20px rgba(0,0,0,.6)}
.nav-m{transition:box-shadow .3s ease}

/* ── Hero text entrance ── */
.hsl-c h1{animation:heroTitle .8s cubic-bezier(.16,1,.3,1) .1s both}
.hsl-c p{animation:heroTitle .8s cubic-bezier(.16,1,.3,1) .25s both}
.hsl-c .br{animation:heroTitle .8s cubic-bezier(.16,1,.3,1) .4s both}
@keyframes heroTitle{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

/* ── Ken Burns on hero images (very subtle, desktop only) ── */
@media(min-width:769px){
.hsl img{animation:none}
.hsl.hsl-on img{animation:kenBurns 14s ease-in-out both}
@keyframes kenBurns{from{transform:scale(1) translateZ(0)}to{transform:scale(1.04) translateZ(0)}}}

/* ── Progress bar animation ── */
.pr-f{width:0!important;transition:width .8s cubic-bezier(.16,1,.3,1)}
.pr-f.animate{width:var(--tw)!important}


/* ── FAQ card hover ── */
.kbt{transition:.25s ease;transform:translateY(0)}
.kbt:hover{background:var(--g5);border-left-color:var(--ti);transform:translateY(-2px)}

/* ── Section divider line animation ── */
.sbt{border-top:1px solid transparent;animation:borderIn .6s ease forwards}
@keyframes borderIn{to{border-top-color:var(--bd)}}

/* ── Reduced motion override ── */
@media(prefers-reduced-motion:reduce){
.pg.active,.hsl-c h1,.hsl-c p,.hsl-c .br{animation:none;opacity:1;transform:none}
.hsl img{animation:none}
.bf::after{display:none}
.cd:hover,.dc:hover,.kbt:hover{transform:none}
.pr-f{transition:none}}



.cd-img-about{object-position:30% center!important}

/* ── Responsive grid & card sizing ── */
@media(max-width:1080px){
  .cg{grid-template-columns:repeat(2,1fr)}
  .dg{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .cg{grid-template-columns:repeat(2,1fr)}
  .dg{grid-template-columns:1fr}
}
@media(max-width:420px){
  .cg{grid-template-columns:1fr}
  .dg{grid-template-columns:1fr}
}

@media(max-width:1080px){
  .ih{max-height:300px}
  .fwb{max-height:380px}
}

/* ── Slider dot progress indicator ── */
.hdt{position:relative;overflow:hidden}
.hdt.ac::after{content:'';position:absolute;bottom:0;left:0;height:100%;background:rgba(0,0,0,.3);animation:dotProg 7s linear forwards}
@keyframes dotProg{from{width:0}to{width:100%}}

/* ── Keyboard focus styles ── */
:focus-visible{outline:2px solid var(--ti);outline-offset:2px}
button:focus-visible,a:focus-visible{outline:2px solid var(--ti);outline-offset:2px}
.btn:focus-visible{outline-offset:4px}
.mob-br{display:none}@media(max-width:768px){.mob-br{display:block}}
@media(max-width:768px){.nav-top{display:none}.nl{top:54px}.ctn{padding:0 20px}.hw{margin-top:54px}.hsl-c{padding:0 20px}.hs{height:min(56.25vw,70vh);min-height:280px}.hn{display:none}.ih{margin-top:54px;max-height:220px;min-height:150px}.ih-c{padding:20px 20px}.feat{grid-template-columns:1fr}.feat-img{min-height:0}.feat-i{padding:24px 20px}.svb{grid-template-columns:1fr 1fr}.svi:nth-child(2){border-right:none}.svi:nth-child(1),.svi:nth-child(2){border-bottom:1px solid var(--bd)}.tcol{grid-template-columns:1fr}.trs{grid-template-columns:1fr}.pf{margin-top:54px;grid-template-columns:1fr}.pf-img{min-height:0}.pf-i{padding:20px}.brr{grid-template-columns:1fr}.brr:nth-child(even) .bri{order:0}.bri{min-height:0}.brt{padding:24px 20px}.kbg{grid-template-columns:1fr}.team-grid{grid-template-columns:1fr}.ft{padding:0 20px;display:grid;grid-template-columns:1fr 1fr;gap:24px}.ft-col{min-width:0;flex:none}.ft>div:first-child{grid-column:1/-1}}

/* ── Toggle switch ── */
.tgl{position:relative;display:inline-flex;align-items:center;gap:10px;cursor:pointer;user-select:none}
.tgl input{position:absolute;opacity:0;width:0;height:0}
.tgl-s{position:relative;width:34px;height:18px;background:var(--g5);border:1px solid var(--g4);transition:.2s;flex-shrink:0}
.tgl-s::after{content:'';position:absolute;top:1px;left:1px;width:14px;height:14px;background:var(--g2);transition:.2s}
.tgl input:checked + .tgl-s{background:var(--ti);border-color:var(--ti)}
.tgl input:checked + .tgl-s::after{background:var(--bg);transform:translateX(16px)}
.tgl-l{font-size:10px;color:var(--g2);text-transform:uppercase;letter-spacing:.3px;font-weight:600}
.tgl input:checked ~ .tgl-l{color:var(--ti)}

/* ── Featured Dogs (homepage) ── */
.fdh{padding:64px 0;border-top:1px solid var(--bd);background:var(--bg1)}
.fdh-h{text-align:center;margin-bottom:32px}
.fdh-h .sub{margin-bottom:6px}
.fdh-h h2{margin-bottom:8px}
.fdh-h p{max-width:520px;margin:0 auto;color:var(--g3)}
.fdh-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.fdh-card{background:var(--bg2);overflow:hidden;cursor:pointer;transition:.25s ease;position:relative;display:flex;flex-direction:column}
.fdh-card:hover{background:var(--g5);transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.4)}
.fdh-iw{position:relative;overflow:hidden;aspect-ratio:3/4}
.fdh-iw img{width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.6);transition:.4s}
.fdh-card:hover .fdh-iw img{filter:brightness(.8);transform:scale(1.03)}
.fdh-star{position:absolute;top:10px;left:10px;background:var(--ti);color:var(--bg);font-size:9px;font-weight:800;padding:4px 10px;letter-spacing:.5px;text-transform:uppercase}
.fdh-tier{position:absolute;top:10px;right:10px;font-size:9px;font-weight:600;padding:3px 9px;background:rgba(0,0,0,.65);color:var(--g1);text-transform:uppercase;letter-spacing:.3px}
.fdh-bd{padding:18px}
.fdh-nm{font-size:15px;font-weight:700;letter-spacing:-.2px;margin-bottom:3px;text-transform:uppercase}
.fdh-br{font-size:10px;color:var(--g3);text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px}
.fdh-pr{font-size:14px;font-weight:700;color:var(--ti)}
.fdh-empty{text-align:center;color:var(--g4);padding:32px;font-size:11px}
@media(max-width:1080px){.fdh-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.fdh-grid{grid-template-columns:1fr}}

/* ── Dashboard ── */
.dash-bd{display:none}.dash-bd.show{display:block}
.dash-shell{min-height:calc(100vh - 54px);margin-top:54px;display:grid;grid-template-columns:220px 1fr;background:var(--bg)}
@media(max-width:900px){.dash-shell{grid-template-columns:1fr;margin-top:54px}}
.dash-side{background:var(--bg1);border-right:1px solid var(--bd);padding:24px 0;position:sticky;top:54px;align-self:start;height:calc(100vh - 54px);overflow-y:auto}
@media(max-width:900px){.dash-side{position:static;height:auto;border-right:none;border-bottom:1px solid var(--bd);padding:12px}}
.dash-brand{padding:0 22px 20px;border-bottom:1px solid var(--bd);margin-bottom:14px}
.dash-brand .lbl{font-size:9px;color:var(--g4);letter-spacing:.5px;text-transform:uppercase;margin-bottom:6px;font-weight:600}
.dash-brand .nm{font-size:18px;font-weight:800;letter-spacing:-.5px;text-transform:uppercase;color:var(--ti);line-height:1;white-space:nowrap}
.dash-brand .nm .dt{color:var(--g3);font-weight:700}
.dash-brand .nm .by{color:var(--g3);font-weight:500;font-size:10px;margin-left:6px;letter-spacing:.2px;display:none}
.dash-brand .full-name{font-size:8.5px;color:var(--g3);letter-spacing:.55px;text-transform:uppercase;margin-top:6px;font-weight:600;line-height:1.3}
.dash-brand .full-name span{color:var(--g4);margin:0 4px}
.dash-nav{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}
@media(max-width:900px){.dash-nav{flex-direction:row;flex-wrap:wrap;gap:4px}}
.dash-nav button{display:flex;align-items:center;gap:10px;width:100%;padding:11px 22px;background:transparent;border:none;color:var(--g2);cursor:pointer;font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;font-family:var(--f);transition:.15s;border-left:2px solid transparent;text-align:left}
.dash-nav button:hover{background:var(--g5);color:var(--ti)}
.dash-nav button.act{color:var(--ti);background:var(--bg2);border-left-color:var(--ti)}
@media(max-width:900px){.dash-nav button{width:auto;padding:9px 14px;border-left:none;border-bottom:2px solid transparent}.dash-nav button.act{border-bottom-color:var(--ti);border-left:none}}
.dash-nav .cnt{margin-left:auto;font-size:9px;color:var(--g3);background:var(--g5);padding:2px 7px;font-weight:700}
.dash-nav button.act .cnt{background:var(--ti);color:var(--bg)}
.dash-side .sep{margin:14px 0;border-top:1px solid var(--bd)}
.dash-side .so{padding:11px 22px;font-size:10px;color:var(--g4);background:transparent;border:none;cursor:pointer;font-family:var(--f);text-transform:uppercase;letter-spacing:.5px;text-align:left;width:100%}
.dash-side .so:hover{color:var(--ti)}

.dash-main{padding:32px 36px;min-width:0}
@media(max-width:900px){.dash-main{padding:20px}}
.dash-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:12px}
.dash-h h2{margin:0;font-size:22px}
.dash-h .sub{margin-bottom:0}
.dash-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-bottom:24px}
@media(max-width:900px){.dash-stats{grid-template-columns:repeat(2,1fr)}}
.dash-stat{background:var(--bg1);border:1px solid var(--bd);padding:18px}
.dash-stat .k{font-size:9px;color:var(--g3);text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px;font-weight:600}
.dash-stat .v{font-size:24px;font-weight:800;letter-spacing:-.5px}
.dash-stat .vs{font-size:9px;color:var(--g4);margin-top:3px}

.dash-view{display:none}.dash-view.act{display:block}
.dash-section{background:var(--bg1);border:1px solid var(--bd);padding:24px;margin-bottom:18px}
.dash-section h3{font-size:13px;text-transform:uppercase;letter-spacing:-.2px;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
.dash-section h3 .ct{font-size:9px;color:var(--g3);font-weight:600;letter-spacing:.4px;background:var(--g5);padding:3px 8px}

.dash-tools{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.dash-tools input,.dash-tools select{flex:1;min-width:160px;background:var(--bg);border:1px solid var(--bd);color:var(--ti);padding:9px 12px;font-family:var(--f);font-size:12px;outline:none}
.dash-tools input:focus,.dash-tools select:focus{border-color:var(--g3)}
.dash-tools .btn{padding:9px 16px;font-size:10px}

/* Dog matrix */
.dog-row{display:grid;grid-template-columns:60px 1fr auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--bd)}
.dog-row:last-child{border-bottom:none}
.dog-row img{width:60px;height:60px;object-fit:cover}
.dog-row .info strong{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:-.2px;display:block;margin-bottom:3px}
.dog-row .info .meta{font-size:10px;color:var(--g3);text-transform:uppercase;letter-spacing:.3px}
.dog-row .info .meta .sep{margin:0 6px;color:var(--g4)}
.dog-row .info .badges{margin-top:6px;display:flex;gap:5px;flex-wrap:wrap}
.bdg{display:inline-block;font-size:8px;font-weight:700;padding:3px 7px;text-transform:uppercase;letter-spacing:.4px}
.bdg-dev{background:#3b3b1a;color:#d4c757}
.bdg-av{background:#15401e;color:#5dd884}
.bdg-sld{background:#3a1818;color:#e88}
.bdg-plc{background:#1a3540;color:#7cd}
.bdg-feat{background:var(--ti);color:var(--bg)}
.bdg-rsv{background:#3b2a14;color:#e0a85a}
.dog-row .actions{display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.dog-row .actions .toggles{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end}
.dog-row .actions .btns{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:760px){.dog-row{grid-template-columns:60px 1fr}.dog-row .actions{grid-column:1/-1;align-items:flex-start}.dog-row .actions .toggles,.dog-row .actions .btns{justify-content:flex-start}}

/* Lead pipeline */
.lead-row{display:grid;grid-template-columns:1fr auto;gap:14px;padding:16px 0;border-bottom:1px solid var(--bd);align-items:start}
.lead-row:last-child{border-bottom:none}
.lead-row .info strong{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:-.2px;display:block;margin-bottom:3px}
.lead-row .info .contact{font-size:10px;color:var(--g3);margin-bottom:8px}
.lead-row .info .contact a{color:var(--g2)}.lead-row .info .contact a:hover{color:var(--ti)}
.lead-row .info .summary{font-size:11px;color:var(--g2);line-height:1.5;margin-top:6px;padding-top:6px;border-top:1px dashed var(--g5);max-width:560px}
.lead-row .info .summary strong{font-size:9px;text-transform:uppercase;letter-spacing:.4px;color:var(--g3);display:inline-block;margin-right:4px}
.lead-row .info .badges{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:6px}
.lead-row .info .next{margin-top:6px;font-size:10px;color:var(--g1);background:var(--g5);padding:6px 10px;border-left:2px solid var(--ti)}
.lead-row .info .next strong{font-size:9px;letter-spacing:.4px;color:var(--g3);display:block;margin-bottom:2px;text-transform:uppercase}
.lead-row .actions{display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.lead-row .actions .nat{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.lead-row .actions .stage{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:760px){.lead-row{grid-template-columns:1fr}.lead-row .actions{align-items:flex-start}.lead-row .actions .nat,.lead-row .actions .stage{justify-content:flex-start}}

/* Stage colors */
.bdg-new{background:#1a3a1a;color:#7dc97d}
.bdg-cnt{background:#1a2a4a;color:#7d9ed9}
.bdg-bkd{background:#3a2a1a;color:#d99e7d}
.bdg-qual{background:#2a1a3a;color:#b97dd9}
.bdg-won{background:var(--ti);color:var(--bg)}
.bdg-lost{background:#3a1818;color:#e88}

/* Native action buttons */
.nbn{display:inline-flex;align-items:center;gap:5px;font-size:9px;font-weight:700;padding:6px 10px;border:1px solid var(--g4);background:transparent;color:var(--g1);cursor:pointer;text-decoration:none;text-transform:uppercase;letter-spacing:.3px;font-family:var(--f);transition:.15s}
.nbn:hover{border-color:var(--ti);color:var(--ti);background:var(--g5)}
.nbn.call{border-color:#3a8a4a;color:#7dd884}.nbn.call:hover{background:#3a8a4a;color:#fff}
.nbn.sms{border-color:#3a6a8a;color:#7db4d9}.nbn.sms:hover{background:#3a6a8a;color:#fff}
.nbn.mail{border-color:#8a6a3a;color:#d9b47d}.nbn.mail:hover{background:#8a6a3a;color:#fff}
.nbn.cal{border-color:#6a3a8a;color:#b47dd9}.nbn.cal:hover{background:#6a3a8a;color:#fff}
.nbn svg{width:11px;height:11px}

/* Detail editor card */
.dog-detail{background:var(--bg2);border:1px solid var(--bd);padding:22px;margin-top:14px;display:none}
.dog-detail.show{display:block}
.dog-detail .dd-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:760px){.dog-detail .dd-grid{grid-template-columns:1fr}}
.dog-detail h4{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--g2);margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--bd);font-weight:700}
.dog-detail .field{margin-bottom:10px}
.dog-detail label{display:block;font-size:9px;font-weight:600;color:var(--g3);margin-bottom:4px;text-transform:uppercase;letter-spacing:.3px}
.dog-detail input,.dog-detail select,.dog-detail textarea{width:100%;background:var(--bg);border:1px solid var(--bd);color:var(--ti);padding:8px 11px;font-family:var(--f);font-size:11px;outline:none;transition:.15s}
.dog-detail input:focus,.dog-detail select:focus,.dog-detail textarea:focus{border-color:var(--g3)}
.dog-detail textarea{min-height:60px;resize:vertical}
.dd-list{margin-top:6px}
.dd-item{display:flex;align-items:flex-start;gap:8px;padding:8px;background:var(--bg);border:1px solid var(--bd);margin-bottom:6px;font-size:11px}
.dd-item .when{font-size:9px;color:var(--g4);text-transform:uppercase;letter-spacing:.3px;margin-bottom:2px}
.dd-item .text{color:var(--g1);flex:1;line-height:1.4}
.dd-item button{font-size:9px;padding:3px 7px;border:1px solid var(--bd);background:transparent;color:var(--g3);cursor:pointer;font-family:var(--f);text-transform:uppercase}
.dd-item button:hover{color:#e88;border-color:#a44}
.dd-add{display:grid;grid-template-columns:1fr auto;gap:6px;margin-top:6px}
.dd-add input,.dd-add textarea{padding:7px 10px;font-size:11px}
.dd-add button{font-size:9px;padding:7px 12px;background:var(--ti);color:var(--bg);border:none;cursor:pointer;font-family:var(--f);text-transform:uppercase;letter-spacing:.3px;font-weight:700}
.dd-add.full{grid-template-columns:1fr;gap:6px}
.dd-add.full button{justify-self:end;padding:8px 16px}
.cmd-row{display:grid;grid-template-columns:1fr 1fr auto;gap:6px;margin-bottom:6px;align-items:center}
.cmd-row input{padding:7px 10px;font-size:11px}
.cmd-row button{font-size:9px;padding:5px 9px;background:transparent;color:var(--g3);border:1px solid var(--bd);cursor:pointer;font-family:var(--f)}
.cmd-row button:hover{color:#e88;border-color:#a44}

/* Pipeline kanban toggle */
.pipe-tabs{display:flex;gap:0;border-bottom:1px solid var(--bd);margin-bottom:14px;flex-wrap:wrap}
.pipe-tab{padding:10px 16px;background:transparent;border:none;color:var(--g3);font-family:var(--f);font-size:10px;text-transform:uppercase;letter-spacing:.4px;font-weight:700;cursor:pointer;border-bottom:2px solid transparent;transition:.15s}
.pipe-tab:hover{color:var(--ti)}
.pipe-tab.act{color:var(--ti);border-bottom-color:var(--ti)}
.pipe-tab .cnt{margin-left:6px;font-size:9px;color:var(--g4);background:var(--g5);padding:2px 6px}
.pipe-tab.act .cnt{background:var(--ti);color:var(--bg)}

.empty-st{text-align:center;padding:36px 16px;color:var(--g4);border:1px dashed var(--bd)}
.empty-st h4{color:var(--g3);font-size:13px;margin-bottom:6px;text-transform:uppercase;letter-spacing:-.2px}
.empty-st p{color:var(--g4);font-size:11px;margin:0}

/* Calendar feed */
.cal-row{display:grid;grid-template-columns:auto 1fr auto;gap:14px;padding:12px 0;border-bottom:1px solid var(--bd);align-items:center}
.cal-row:last-child{border-bottom:none}
.cal-date{background:var(--bg);border:1px solid var(--bd);padding:8px 12px;text-align:center;min-width:62px}
.cal-date .day{font-size:18px;font-weight:800;line-height:1}.cal-date .mo{font-size:9px;color:var(--g3);text-transform:uppercase;letter-spacing:.4px;margin-top:3px}
.cal-row .ci strong{font-size:12px;font-weight:700;display:block;margin-bottom:3px;text-transform:uppercase;letter-spacing:-.2px}
.cal-row .ci span{font-size:10px;color:var(--g3);text-transform:uppercase;letter-spacing:.3px}
.cal-row .ci .who{font-size:10px;color:var(--g2);margin-top:3px}
.cal-row .actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}

/* Modal expansion for dog editor */
.mbox.lg{max-width:780px}

/* Notification toast */
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%) translateY(40px);background:var(--bg2);border:1px solid var(--ti);color:var(--ti);padding:12px 22px;font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;z-index:5000;opacity:0;pointer-events:none;transition:.3s}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* Hide nav when in dashboard */
body.in-dash .nav-top{display:none}
body.in-dash .nl{display:none}
body.in-dash .nav-cta{display:none}
body.in-dash .logo::after{content:'';display:none}
body.in-dash main > .pg{display:none !important}
body.in-dash footer{display:none}
body.in-dash .nt{display:none}

/* Top nav — user greeting + sign out (only when in dashboard) */
.nav-r-dash{display:none;align-items:center;gap:14px}
body.in-dash .nav-r-dash{display:flex}
.nav-user{display:none}
body.in-dash .nav-user{display:inline-flex;align-items:center;font-size:11px;color:var(--g2);font-weight:500;letter-spacing:.1px;line-height:1;white-space:nowrap;margin-left:18px;padding-left:18px;border-left:1px solid var(--bd);height:24px}
.nav-user .ulabel{color:var(--g3);font-weight:500;margin-right:3px}
.nav-user .uname{color:var(--ti);font-weight:700}
.nav-logout{font-size:10px;font-weight:700;padding:8px 14px;background:transparent;border:1px solid var(--g4);color:var(--g2);cursor:pointer;text-transform:uppercase;letter-spacing:.3px;font-family:var(--f);transition:.15s;white-space:nowrap}
.nav-logout:hover{border-color:var(--ti);color:var(--ti)}
body.in-dash.dash-light .nav-logout{border-color:var(--bd);color:var(--g2)}
body.in-dash.dash-light .nav-logout:hover{border-color:var(--ti);color:var(--ti)}

/* Notification bell */
.nav-bell-wrap{position:relative}
.nav-bell{background:transparent;border:1px solid transparent;color:var(--g3);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-family:var(--f);transition:.15s;position:relative;padding:0}
.nav-bell:hover{border-color:var(--ti);color:var(--ti)}
.nav-bell .bell-ic{font-size:14px;line-height:1}
.nav-bell .bell-dot{position:absolute;top:5px;right:5px;width:8px;height:8px;background:#e88;border:1.5px solid var(--bg);border-radius:50%}
body.in-dash.dash-light .nav-bell{border-color:var(--bd);color:var(--g2)}
body.in-dash.dash-light .nav-bell:hover{border-color:var(--ti);color:var(--ti)}
body.in-dash.dash-light .nav-bell .bell-dot{background:#c84a4a;border-color:var(--bg)}
.notif-panel{display:none;position:absolute;top:calc(100% + 8px);right:0;width:340px;max-width:calc(100vw - 28px);background:var(--bg1);border:1px solid var(--bd);box-shadow:0 8px 24px rgba(0,0,0,.4);z-index:1500;max-height:480px;overflow:hidden;flex-direction:column}
body.in-dash.dash-light .notif-panel{box-shadow:0 8px 24px rgba(0,0,0,.18)}
.notif-panel.show{display:flex}
.notif-h{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--bd);background:var(--bg2)}
.notif-h strong{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--ti);font-weight:700}
.notif-clr{background:transparent;border:none;color:var(--g3);font-size:9.5px;text-transform:uppercase;letter-spacing:.4px;font-weight:700;cursor:pointer;font-family:var(--f);padding:0}
.notif-clr:hover{color:var(--ti)}
.notif-list{flex:1;overflow-y:auto;max-height:420px}
.notif-itm{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:12px 16px;border-bottom:1px solid var(--bd);cursor:pointer;transition:.15s;align-items:flex-start}
.notif-itm:last-child{border-bottom:none}
.notif-itm:hover{background:var(--bg2)}
.notif-itm.unread{background:var(--bg2)}
body.in-dash.dash-light .notif-itm.unread{background:#fff8e1}
.notif-itm.unread::before{content:'';position:absolute;left:8px;top:18px;width:5px;height:5px;background:#e88;border-radius:50%}
.notif-itm{position:relative}
.notif-ic{font-size:16px;line-height:1;width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:var(--bg);border:1px solid var(--bd);flex-shrink:0}
.notif-itm.crit .notif-ic{border-color:#a44;color:#e88}
body.in-dash.dash-light .notif-itm.crit .notif-ic{border-color:#d99090;color:#9c2a2a;background:#fce0e0}
.notif-itm .notif-c{min-width:0}
.notif-itm .notif-t{font-size:11.5px;font-weight:700;color:var(--ti);margin-bottom:3px;letter-spacing:-.1px;line-height:1.3}
.notif-itm .notif-s{font-size:10.5px;color:var(--g2);line-height:1.45}
.notif-itm .notif-w{font-size:9px;color:var(--g4);text-transform:uppercase;letter-spacing:.4px;margin-top:4px;font-weight:600}
.notif-empty{padding:32px 16px;text-align:center;color:var(--g4);font-size:11px;font-style:italic}

@media(max-width:540px){.notif-panel{width:calc(100vw - 28px);right:-44px}}

/* Action toast (with buttons) */
.act-toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%) translateY(40px);background:var(--bg2);border:1px solid var(--ti);color:var(--ti);padding:14px 18px;font-size:11px;z-index:5000;opacity:0;pointer-events:none;transition:.3s;display:flex;align-items:center;gap:14px;flex-wrap:wrap;max-width:calc(100vw - 32px);box-shadow:0 6px 24px rgba(0,0,0,.4)}
body.in-dash.dash-light .act-toast{box-shadow:0 6px 24px rgba(0,0,0,.18)}
.act-toast.show{opacity:1;pointer-events:all;transform:translateX(-50%) translateY(0)}
.act-toast .msg{font-weight:600;letter-spacing:.2px}
.act-toast .actions{display:flex;gap:6px;flex-wrap:wrap}
.act-toast button{font-size:10px;font-weight:700;padding:7px 12px;background:transparent;border:1px solid var(--g4);color:var(--g2);cursor:pointer;text-transform:uppercase;letter-spacing:.3px;font-family:var(--f);transition:.15s;white-space:nowrap}
.act-toast button:hover{border-color:var(--ti);color:var(--ti)}
.act-toast button.primary{background:var(--ti);color:var(--bg);border-color:var(--ti)}
.act-toast button.primary:hover{background:var(--g1)}

/* Quick action buttons in top nav (My Dogs · + Log) */
.nav-quick{font-size:10px;font-weight:700;padding:8px 14px;background:transparent;border:1px solid var(--g4);color:var(--g2);cursor:pointer;text-transform:uppercase;letter-spacing:.3px;font-family:var(--f);transition:.15s;white-space:nowrap}
.nav-quick:hover{border-color:var(--ti);color:var(--ti)}
.nav-quick.primary{background:var(--ti);color:var(--bg);border-color:var(--ti)}
.nav-quick.primary:hover{background:var(--g1)}
.nav-quick.gold{background:#c9a227;color:#1a1407;border-color:#c9a227}
.nav-quick.gold:hover{background:#dcb436;border-color:#dcb436;color:#1a1407}
body.in-dash.dash-light .nav-quick{border-color:var(--bd);color:var(--g2)}
body.in-dash.dash-light .nav-quick:hover{border-color:var(--ti);color:var(--ti)}
body.in-dash.dash-light .nav-quick.primary{background:var(--ti);color:var(--bg);border-color:var(--ti)}
body.in-dash.dash-light .nav-quick.primary:hover{background:var(--g1)}

@media(max-width:540px){body.in-dash .nav-user{display:none}}
@media(max-width:540px){.nav-logout,.nav-quick{padding:7px 11px;font-size:9.5px}}
@media(max-width:420px){.nav-quick{padding:6px 9px;font-size:9px;letter-spacing:.2px}}


/* ── CMS LIGHT MODE (default) — only active inside D.O.G.S. dashboard ── */
body.in-dash.dash-light{
  --bg:#ffffff;
  --bg1:#f6f6f6;
  --bg2:#efefef;
  --bg3:#e3e3e3;
  --t:#ffffff;
  --ti:#171717;
  --g1:#262626;
  --g2:#525252;
  --g3:#6a6a6a;
  --g4:#b0b0b0;
  --g5:#e5e5e5;
  --bd:rgba(0,0,0,.12);
}
body.in-dash.dash-light{background:var(--bg);color:var(--ti)}
body.in-dash.dash-light .nav{background:var(--bg);border-bottom:1px solid var(--bd)}
body.in-dash.dash-light .nav-m{background:var(--bg)}
body.in-dash.dash-light .logo{color:var(--ti)}
body.in-dash.dash-light .logo span{color:var(--g3) !important}
body.in-dash.dash-light .uz{border:2px dashed var(--g4);background:var(--bg)}
body.in-dash.dash-light .uz:hover{border-color:var(--g3)}
body.in-dash.dash-light .uz.dg-over{background:rgba(0,0,0,.04);border-color:var(--ti)}
body.in-dash.dash-light .lib-uz{border-color:var(--g4)}
body.in-dash.dash-light .lib-uz:hover{border-color:var(--g3);background:var(--bg2)}
body.in-dash.dash-light .lib-uz.over{border-color:var(--ti);background:var(--bg2)}
body.in-dash.dash-light .greet-av.admin{background:var(--ti);color:var(--bg);border-color:var(--ti)}
body.in-dash.dash-light .stage-jump,body.in-dash.dash-light .fgr select{background-image:linear-gradient(45deg,transparent 50%,var(--g3) 50%),linear-gradient(135deg,var(--g3) 50%,transparent 50%)}
body.in-dash.dash-light .alert-banner{background:#fce8e8;border-color:#e5a8a8;border-left-color:#c84545}
body.in-dash.dash-light .alert-banner .ic{color:#c84545}
body.in-dash.dash-light .alert-banner .msg{color:#822}
body.in-dash.dash-light .alert-banner .msg strong{color:#c84545}
body.in-dash.dash-light .demo-banner{background:#fff5d9;border-color:#e6c466;border-left-color:#c89930}
body.in-dash.dash-light .demo-banner .ic{color:#c89930}
body.in-dash.dash-light .demo-banner .msg{color:#5a3e0a}
body.in-dash.dash-light .demo-banner .msg strong{color:#c89930}
body.in-dash.dash-light .vip-lock{background:var(--bg2);border-color:var(--ti);border-left-color:var(--ti)}
body.in-dash.dash-light .vip-lock h4{color:var(--ti)}
body.in-dash.dash-light .vip-lock p{color:var(--g2)}
body.in-dash.dash-light .vip-pill{background:var(--ti);color:var(--bg)}
body.in-dash.dash-light .form-desc{background:var(--bg2);border-left-color:var(--g3);color:var(--g2)}
body.in-dash.dash-light .form-desc strong{color:var(--ti)}
body.in-dash.dash-light .toast{background:var(--bg);border:1px solid var(--ti);color:var(--ti);box-shadow:0 4px 18px rgba(0,0,0,.12)}
body.in-dash.dash-light .mo{background:rgba(0,0,0,.5)}
body.in-dash.dash-light .mbox{box-shadow:0 12px 32px rgba(0,0,0,.18)}
body.in-dash.dash-light .dash-quick button{box-shadow:0 4px 14px rgba(0,0,0,.18)}
body.in-dash.dash-light .tray{box-shadow:0 4px 14px rgba(0,0,0,.06)}
body.in-dash.dash-light .dash-stat{box-shadow:0 1px 0 rgba(0,0,0,.04)}
body.in-dash.dash-light .ses-info .perf .p-chip.ok{background:#dff5e3;color:#256a35}
body.in-dash.dash-light .ses-info .perf .p-chip.no{background:#fce0e0;color:#7a2828}
body.in-dash.dash-light .lm-item[style*="#1a2a14"]{background:#e8f5dd !important}
body.in-dash.dash-light .lm-item[style*="#1a2a14"] .lm-k{color:#3a6a1a !important}
body.in-dash.dash-light .feed-grid,body.in-dash.dash-light .lm,body.in-dash.dash-light .wt-list{background:var(--bd)}
body.in-dash.dash-light .greet-link{color:var(--g3)}
body.in-dash.dash-light .greet-link:hover{color:var(--ti)}

/* ── LIGHT-MODE BADGE / PILL PALETTE — soft tints, strong text ── */

/* Status badges */
body.in-dash.dash-light .bdg-dev{background:#fcf3d4;color:#6e5817}
body.in-dash.dash-light .bdg-av{background:#dbf3df;color:#196d36}
body.in-dash.dash-light .bdg-sld{background:#f9d6d6;color:#9c2a2a}
body.in-dash.dash-light .bdg-plc{background:#d5e7f5;color:#1a4a7a}
body.in-dash.dash-light .bdg-rsv{background:#fbe1c7;color:#7e4514}

/* Lead stage badges */
body.in-dash.dash-light .bdg-new{background:#dbf3df;color:#196d36}
body.in-dash.dash-light .bdg-cnt{background:#d5e7f5;color:#1a4a7a}
body.in-dash.dash-light .bdg-bkd{background:#fbe1c7;color:#7e4514}
body.in-dash.dash-light .bdg-qual{background:#ebd9f5;color:#572182}
body.in-dash.dash-light .bdg-lost{background:#f9d6d6;color:#9c2a2a}

/* Trainer status */
body.in-dash.dash-light .bdg-inact{background:#f9d6d6;color:#9c2a2a}
/* bdg-feat / bdg-su / bdg-won keep var(--ti)/var(--bg) — auto-invert to dark accent on light */

/* Tag chips (lead row) */
body.in-dash.dash-light .tag{background:#ebebeb;color:#262626;border-color:rgba(0,0,0,.12)}
body.in-dash.dash-light .tag.vip{background:#ebd9f5;color:#572182;border-color:#c8a8e0}
body.in-dash.dash-light .tag.hot{background:#fbe1c7;color:#7e4514;border-color:#e0a87a}
body.in-dash.dash-light .tag.return{background:#d4ecec;color:#155a5a;border-color:#7ac8c8}

/* Tag chip-toggles (lead editor) */
body.in-dash.dash-light .chip-tgl.tag-VIP.on{background:#ebd9f5;color:#572182;border-color:#c8a8e0}
body.in-dash.dash-light .chip-tgl.tag-VIP.on::before{color:#572182}
body.in-dash.dash-light .chip-tgl.tag-HOT.on{background:#fbe1c7;color:#7e4514;border-color:#e0a87a}
body.in-dash.dash-light .chip-tgl.tag-RETURN.on{background:#d4ecec;color:#155a5a;border-color:#7ac8c8}
body.in-dash.dash-light .chip-tgl.tag-INTL.on{background:#d5e7f5;color:#1a4a7a;border-color:#7aa8d9}
body.in-dash.dash-light .chip-tgl.tag-NDA.on{background:var(--ti);color:var(--bg);border-color:var(--ti)}
body.in-dash.dash-light .chip-tgl.tag-URGENT.on{background:#f9d6d6;color:#9c2a2a;border-color:#d99090}

/* Alert pills (warnings on dogs) */
body.in-dash.dash-light .alert-pill.crit{background:#f9d6d6;color:#7a1818;border-color:#d99090}
body.in-dash.dash-light .alert-pill.warn{background:#fbe1c7;color:#7e4514;border-color:#d9a878}
body.in-dash.dash-light .alert-pill.info{background:#d5e7f5;color:#1a4a7a;border-color:#7aa8d9}

/* Alert chip-toggles (dog editor) */
body.in-dash.dash-light .chip-tgl.alert-crit.on{background:#f9d6d6;color:#7a1818;border-color:#d99090}
body.in-dash.dash-light .chip-tgl.alert-warn.on{background:#fbe1c7;color:#7e4514;border-color:#d9a878}
body.in-dash.dash-light .chip-tgl.alert-info.on{background:#d5e7f5;color:#1a4a7a;border-color:#7aa8d9}

/* Demo capability chips */
body.in-dash.dash-light .demo-cap{background:#d5e7f5;color:#1a4a7a;border-color:#7aa8d9}
body.in-dash.dash-light .chip-tgl.demo-cap-tgl.on{background:#d5e7f5;color:#1a4a7a;border-color:#7aa8d9}
body.in-dash.dash-light .chip-tgl.demo-cap-tgl.on::before{color:#c89930}

/* Handover countdown */
body.in-dash.dash-light .cd-bdg{background:#fbe1c7;color:#7e4514}
body.in-dash.dash-light .cd-bdg.urg{background:var(--ti);color:var(--bg)}
body.in-dash.dash-light .cd-bdg.over{background:#f9d6d6;color:#9c2a2a}
body.in-dash.dash-light .cd-bdg.done{background:#dbf3df;color:#196d36}

/* Progress score chips */
body.in-dash.dash-light .prog.excel{background:#c8efd2;color:#0e5526}
body.in-dash.dash-light .prog.ontrack{background:#dbf3df;color:#196d36}
body.in-dash.dash-light .prog.develop{background:#fbe1c7;color:#7e4514}
body.in-dash.dash-light .prog.focus{background:#f9d6d6;color:#9c2a2a}
body.in-dash.dash-light .prog-bar{background:#e5e5e5}
body.in-dash.dash-light .prog-bar .fill.excel{background:#3eaa5d}
body.in-dash.dash-light .prog-bar .fill.ontrack{background:#3eaa5d}
body.in-dash.dash-light .prog-bar .fill.develop{background:#d49434}
body.in-dash.dash-light .prog-bar .fill.focus{background:#c84a4a}
body.in-dash.dash-light .prog-status-pick button.on.excel{background:#3eaa5d;color:#fff;border-color:#3eaa5d}
body.in-dash.dash-light .prog-status-pick button.on.ontrack{background:#3eaa5d;color:#fff;border-color:#3eaa5d}
body.in-dash.dash-light .prog-status-pick button.on.develop{background:#d49434;color:#fff;border-color:#d49434}
body.in-dash.dash-light .prog-status-pick button.on.focus{background:#c84a4a;color:#fff;border-color:#c84a4a}

/* Vaccination due chips */
body.in-dash.dash-light .vac-row .vdue.ok{background:#dbf3df;color:#196d36}
body.in-dash.dash-light .vac-row .vdue.due{background:#fbe1c7;color:#7e4514}
body.in-dash.dash-light .vac-row .vdue.over{background:#f9d6d6;color:#9c2a2a}

/* Weight delta */
body.in-dash.dash-light .wt-cell .wt-c.up{color:#196d36}
body.in-dash.dash-light .wt-cell .wt-c.dn{color:#9c2a2a}

/* Trainer chips */
body.in-dash.dash-light .trn-chip{background:#ebebeb;color:#262626;border-color:rgba(0,0,0,.12)}
body.in-dash.dash-light .trn-chip.lead{background:var(--ti);color:var(--bg);border-color:var(--ti)}

/* Filter tab counts */
body.in-dash.dash-light .pipe-tab.filt-warn .cnt{background:#f9d6d6;color:#9c2a2a}
body.in-dash.dash-light .pipe-tab.filt-warn.act .cnt{background:#9c2a2a;color:#fff}
body.in-dash.dash-light .pipe-tab.filt-demo .cnt{background:#ebd9f5;color:#572182}
body.in-dash.dash-light .pipe-tab.filt-demo.act .cnt{background:#ebd9f5;color:#572182}

/* Stat trend colours */
body.in-dash.dash-light .dash-stat .vs.urg{color:#a85a14}
body.in-dash.dash-light .dash-stat .vs.over{color:#9c2a2a}

/* Inline-styled badges (hardcoded hex via JS) — attribute selectors */
body.in-dash.dash-light .bdg[style*="#3b3b1a"]{background:#fcf3d4 !important;color:#6e5817 !important}
body.in-dash.dash-light .bdg[style*="#1a3540"]{background:#d5e7f5 !important;color:#1a4a7a !important}
body.in-dash.dash-light .bdg[style*="#15401e"]{background:#dbf3df !important;color:#196d36 !important}
body.in-dash.dash-light .bdg[style*="background:#3a1818"]{background:#f9d6d6 !important;color:#9c2a2a !important}
body.in-dash.dash-light .bdg[style*="background:#3b2a14"]{background:#fbe1c7 !important;color:#7e4514 !important}

/* Activity-log inbound message styling on light */
body.in-dash.dash-light .act-itm .what strong{color:var(--ti)}

/* Greeting weather indoor / caution rec pills */
body.in-dash.dash-light .greet-weather .wx-rec.outdoor{background:#dbf3df;color:#196d36}
body.in-dash.dash-light .greet-weather .wx-rec.indoor{background:#fbe1c7;color:#7e4514}
body.in-dash.dash-light .greet-weather .wx-rec.caution{background:#f9d6d6;color:#9c2a2a}

/* Performance chips on session row */
body.in-dash.dash-light .ses-info .rate{background:#ebebeb;color:#262626}

/* Theme picker in sidebar */
.theme-pick{display:flex;padding:8px 22px}
.theme-toggle{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;background:transparent;border:1px solid var(--bd);color:var(--g3);cursor:pointer;font-family:var(--f);font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;transition:.15s;border-radius:3px}
.theme-toggle:hover{color:var(--ti);border-color:var(--g3)}
.theme-toggle svg{opacity:.85}
.data-pick{display:flex;gap:6px;padding:0 22px 8px}
.data-btn{flex:1;padding:6px 8px;background:transparent;border:1px solid var(--bd);color:var(--g3);cursor:pointer;font-family:var(--f);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;transition:.15s;border-radius:3px}
.data-btn:hover{color:var(--ti);border-color:var(--g3)}
.login-portal{display:none;position:fixed;inset:0;z-index:5000;background:#000;background-image:radial-gradient(120% 90% at 50% -10%,#1a1a1a,#000 70%);align-items:center;justify-content:center;padding:24px}
.login-portal.show{display:flex}
.lp-box{width:100%;max-width:360px;text-align:center}
.lp-brand{font-size:26px;font-weight:800;letter-spacing:-.5px;color:#fafafa}.lp-brand span{font-weight:400;color:#a3a3a3}
.lp-sub{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:#737373;margin:8px 0 28px}
.login-portal input{width:100%;padding:13px 15px;background:#0f0f0f;border:1px solid rgba(250,250,250,.14);color:#fafafa;font-family:var(--f);font-size:14px;margin-bottom:11px;outline:none;transition:.15s;border-radius:4px}
.login-portal input:focus{border-color:#fafafa}
.login-portal input::placeholder{color:#666}
.lp-note{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#c9a227;font-weight:800;margin-bottom:6px}
.lp-2fa-help{font-size:12px;color:#a3a3a3;margin:0 0 14px;line-height:1.5}
.lp-link{background:none;border:none;color:#737373;font-family:var(--f);font-size:11px;cursor:pointer;margin-top:12px;text-decoration:underline}
.lp-link:hover{color:#fafafa}
.lp-err{color:#e88;font-size:11px;margin-top:12px;min-height:14px;display:none}
.lp-foot{font-size:10px;color:#555;line-height:1.6;margin-top:28px}
.sticky-cta{display:none}
.sticky-cta a{display:block;text-align:center;background:var(--ti);color:var(--bg);padding:14px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;text-decoration:none}
@media(max-width:768px){body:not(.in-dash) .sticky-cta{display:block;position:fixed;left:0;right:0;bottom:0;z-index:900;background:rgba(0,0,0,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--bd);padding:8px 14px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}body:not(.in-dash){padding-bottom:64px}}
@media(max-width:900px){.theme-pick{padding:10px 20px}}
.theme-btn{flex:1;padding:8px 10px;background:transparent;border:1px solid var(--bd);color:var(--g3);cursor:pointer;font-family:var(--f);font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;transition:.15s;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.theme-btn:hover{color:var(--ti);border-color:var(--g3)}
.theme-btn.act{background:var(--ti);color:var(--bg);border-color:var(--ti)}

/* ── BIRTHDAYS BANNER (overview) ── */
.bday-banner{background:linear-gradient(135deg,#ffe9c2,#ffd0e0);color:#5a2a3a;border:1px solid #e8b5c8;padding:14px 18px;display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:14px;border-left:4px solid #c8497a}
body.in-dash.dash-light .bday-banner{background:linear-gradient(135deg,#fff4e2,#ffe2ec);color:#5a2a3a;border-color:#e8b5c8;border-left-color:#c8497a}
.bday-banner .bday-ic{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;color:#7a1a3e}
.bday-banner .bday-ic .ico{stroke-width:1.5}
.bday-banner .bday-info{flex:1;min-width:0}
.bday-banner .bday-info strong{font-size:14px;letter-spacing:-.2px}
.bday-banner .bday-info p{margin:2px 0 0;font-size:11px;opacity:.85}
.bday-banner .bday-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:rgba(255,255,255,.6);border-radius:0;font-size:10px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:#7a1a3e;margin-right:6px;margin-top:4px}
.bday-banner .bday-pill .nm{color:#5a2a3a}
.bday-banner .bday-pill.upc{background:rgba(255,255,255,.45);color:#7a4a14}
.my-card .bday-list{display:flex;flex-direction:column;gap:8px}
.my-card .bday-itm{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--bg2);border-left:3px solid #c8497a}
.my-card .bday-itm.today{background:linear-gradient(135deg,#fff4e2,#ffe2ec);border-left-color:#c8497a}
.my-card .bday-itm .av{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:var(--g5);color:var(--ti);font-weight:700;font-size:10px;flex-shrink:0;overflow:hidden}
.my-card .bday-itm .av img{width:100%;height:100%;object-fit:cover}
.my-card .bday-itm .info{flex:1;min-width:0}
.my-card .bday-itm .info strong{display:block;font-size:11.5px;color:var(--ti);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.my-card .bday-itm .info span{font-size:9.5px;color:var(--g3);text-transform:uppercase;letter-spacing:.3px}
.my-card .bday-itm .when{font-size:9.5px;color:#9a3a5a;font-weight:700;letter-spacing:.4px;text-transform:uppercase}
.my-card .bday-itm.today .when{color:#c8497a}

/* ── LEAVE / OUT-OF-OFFICE PILLS / CHIPS ── */
.lv-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;background:#3a2a52;color:#d8c8ff;font-size:9px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;border:1px solid rgba(216,200,255,.25)}
.lv-pill.pend{background:#3b2a14;color:#e8c08a;border-color:#7e4514}
.lv-pill.app{background:#1a3a26;color:#9ce0a8;border-color:#2c5a3a}
.lv-pill.rej{background:#3a1818;color:#e89090;border-color:#5a2222}
.lv-pill.now{background:var(--ti);color:var(--bg);border-color:var(--ti)}
body.in-dash.dash-light .lv-pill{background:#ebd9f5;color:#572182;border-color:#c8a8e0}
body.in-dash.dash-light .lv-pill.pend{background:#fbe1c7;color:#7e4514;border-color:#d9a878}
body.in-dash.dash-light .lv-pill.app{background:#dbf3df;color:#196d36;border-color:#a8d9b8}
body.in-dash.dash-light .lv-pill.rej{background:#f9d6d6;color:#9c2a2a;border-color:#d99090}
body.in-dash.dash-light .lv-pill.now{background:var(--ti);color:var(--bg);border-color:var(--ti)}

/* Trainer chips on leave (used in pickers) */
.chip-tgl.on-leave,.chip-tgl.on-leave.on{background:repeating-linear-gradient(45deg,var(--bg2),var(--bg2) 6px,var(--bg1) 6px,var(--bg1) 12px);color:var(--g2);border-color:var(--g3);opacity:.7}
body.in-dash.dash-light .chip-tgl.on-leave,body.in-dash.dash-light .chip-tgl.on-leave.on{background:repeating-linear-gradient(45deg,var(--bg2),var(--bg2) 6px,var(--bg1) 6px,var(--bg1) 12px);color:var(--g2);border-color:var(--g3);opacity:.7}
.chip-tgl.on-leave .lv-suf{font-size:8px;font-weight:700;letter-spacing:.4px;margin-left:5px;opacity:.8;text-transform:uppercase}

/* OOO banner — currently used on overview only (leave page merges into Currently On Leave panel) */
.ooo-banner{background:var(--bg1);color:var(--ti);padding:14px 18px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;border:1px solid var(--bd);border-left:3px solid var(--ti);margin-bottom:14px}
.ooo-banner .ic{font-size:22px;line-height:1;color:var(--g2)}
.ooo-banner .ttl{font-size:13px;font-weight:700;letter-spacing:-.2px;color:var(--ti)}
.ooo-banner .sub{font-size:11px;color:var(--g2)}

/* Trainer card "on leave" badge */
.trn-row.on-leave{position:relative}
.trn-row.on-leave::after{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ti)}
.trn-leave-strip{margin-top:6px;padding:6px 10px;background:var(--bg2);color:var(--ti);font-size:10px;font-weight:600;letter-spacing:.2px;border-left:2px solid var(--ti);display:inline-block}
body.in-dash.dash-light .trn-leave-strip{background:var(--bg2);color:var(--ti);border-left-color:var(--ti)}

/* ── LEAVE CALENDAR ── */
.lv-cal-wrap{padding:18px 24px}
.lv-cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;flex-wrap:wrap;gap:10px}
.lv-cal-title{display:flex;align-items:center;gap:14px}
.lv-cal-title h3{margin:0;font-size:14px;text-transform:uppercase;letter-spacing:-.2px}
.lv-cal-month{font-size:11px;color:var(--g3);font-weight:700;letter-spacing:.4px;text-transform:uppercase}
.lv-cal-nav{display:flex;gap:6px}
.lv-legend{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:12px;font-size:10px;color:var(--g3);font-weight:600;letter-spacing:.3px;text-transform:uppercase}
.lv-leg{display:inline-flex;align-items:center;gap:6px}
.lv-sw{display:inline-block;width:14px;height:10px;border-radius:0}
.lv-sw.approved{background:#3eaa5d}
.lv-sw.pending{background:#d49434}
.lv-sw.bday{background:linear-gradient(135deg,#ffd0e0,#ffe9c2);border:1px solid #c8497a}
.lv-sw.today{background:var(--ti);outline:1px solid var(--ti)}
.lv-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--bd);border:1px solid var(--bd)}
.lv-cal .lv-dh{background:var(--bg2);padding:7px 6px;font-size:9.5px;text-align:center;color:var(--g3);font-weight:700;text-transform:uppercase;letter-spacing:.4px}
.lv-cal .lv-day{background:var(--bg);min-height:96px;padding:6px;display:flex;flex-direction:column;gap:3px;cursor:default;position:relative;overflow:hidden}
.lv-cal .lv-day.muted{background:var(--bg1);opacity:.5}
.lv-cal .lv-day.today{box-shadow:inset 0 0 0 2px var(--ti)}
.lv-cal .lv-day.weekend{background:var(--bg1)}
.lv-cal .lv-day .lv-dn{font-size:11px;font-weight:700;color:var(--ti);align-self:flex-start;padding:2px 4px;line-height:1}
.lv-cal .lv-day.today .lv-dn{background:var(--ti);color:var(--bg)}
.lv-cal .lv-day .lv-evt{font-size:9px;padding:2px 5px;line-height:1.25;color:#fff;background:#3eaa5d;display:flex;align-items:center;gap:4px;cursor:pointer;font-weight:600;letter-spacing:.1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-left:3px solid rgba(0,0,0,.2)}
.lv-cal .lv-day .lv-evt.pending{background:#d49434}
.lv-cal .lv-day .lv-evt.bday{background:linear-gradient(135deg,#ffd0e0,#ffe9c2);color:#7a1a3e;border-left-color:#c8497a}
.lv-cal .lv-day .lv-evt.starts{border-left-width:5px;border-left-color:rgba(0,0,0,.35)}
.lv-cal .lv-day .lv-evt.ends{border-right:3px solid rgba(0,0,0,.35)}
.lv-cal .lv-day .lv-more{font-size:9px;color:var(--g3);padding:1px 5px}
@media(max-width:740px){.lv-cal .lv-day{min-height:60px;padding:3px}.lv-cal .lv-day .lv-evt{font-size:8.5px}}

/* Leave list rows */
.lv-row{display:grid;grid-template-columns:auto 1fr auto;gap:14px;padding:14px 0;border-bottom:1px solid var(--bd);align-items:flex-start}
.lv-row:last-child{border-bottom:none}
.lv-row.pending{background:linear-gradient(90deg,rgba(212,148,52,.08),transparent);padding:14px 12px;border-bottom:1px solid var(--bd)}
.lv-row .lv-stripe{width:3px;align-self:stretch;background:var(--g3);min-height:48px;flex-shrink:0}
.lv-row .lv-stripe.approved{background:#3eaa5d}
.lv-row .lv-stripe.pending{background:#d49434}
.lv-row .lv-stripe.rejected{background:#c84a4a}
.lv-row .info{min-width:0;flex:1}
.lv-row .info strong{font-size:13px;color:var(--ti);display:block;letter-spacing:-.1px}
.lv-row .info .meta{margin-top:2px;font-size:10.5px;color:var(--g3);display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.lv-row .info .meta .sep{opacity:.4;margin:0 2px}
.lv-row .info .desc{margin-top:6px;font-size:11px;color:var(--g2);line-height:1.45}
.lv-row .info .badges{margin-top:6px;display:flex;flex-wrap:wrap;gap:5px}
.lv-row .actions{display:flex;flex-direction:column;gap:4px;flex-shrink:0;align-items:flex-end}
.lv-row .actions button{font-size:10px}

.lv-pending-panel{background:linear-gradient(90deg,rgba(212,148,52,.12),transparent);border:1px solid #d49434;border-left:4px solid #d49434;padding:14px 18px;margin:16px 0}
.lv-pending-panel h3{margin:0 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:-.2px;color:var(--ti);display:flex;align-items:center;gap:8px}
.lv-pending-panel h3 .ct{font-size:9px;color:#fff;background:#d49434;padding:3px 8px;font-weight:700}
.lv-pending-panel .lv-pend-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.lv-pending-panel .lv-pend-itm{background:var(--bg);padding:10px 12px;border:1px solid var(--bd);display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}
.lv-pending-panel .lv-pend-itm .info{min-width:0;flex:1}
.lv-pending-panel .lv-pend-itm strong{display:block;font-size:12px;color:var(--ti)}
.lv-pending-panel .lv-pend-itm .meta{font-size:10px;color:var(--g3);margin-top:2px}
.lv-pending-panel .lv-pend-itm .acts{display:flex;gap:6px;flex-shrink:0}

/* Currently on leave panel — neutral, dashboard-consistent chrome */
.lv-current{background:var(--bg1);border:1px solid var(--bd);border-left:3px solid var(--ti);padding:14px 18px;margin:0 0 16px}
.lv-current-h{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0 0 12px}
.lv-current-h h3{margin:0;font-size:13px;text-transform:uppercase;letter-spacing:-.2px;color:var(--ti);font-weight:700;display:inline-flex;align-items:center;gap:8px}
.lv-current-h .lv-current-sub{font-size:10.5px;color:var(--g3);text-transform:uppercase;letter-spacing:.4px;font-weight:600}
.lv-current-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:8px}
.lv-current-itm{background:var(--bg);padding:10px 12px;border:1px solid var(--bd);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.lv-current-itm .av{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--g5);color:var(--ti);font-weight:700;font-size:11px;flex-shrink:0;overflow:hidden}
.lv-current-itm .av img{width:100%;height:100%;object-fit:cover}
.lv-current-itm .info{flex:1;min-width:0}
.lv-current-itm .info strong{display:block;font-size:12.5px;color:var(--ti);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lv-current-itm .info .meta{font-size:10px;color:var(--g3);margin-top:2px;letter-spacing:.2px}
.lv-current-itm .info .meta .lv-type-tag{font-weight:700;color:var(--ti)}
.lv-current-itm .acts{display:flex;flex-direction:column;gap:4px;align-items:flex-end;flex-shrink:0}
.lv-current-itm .acts button{font-size:9.5px;white-space:nowrap}
.lv-current-itm .acts .cb-primary{background:var(--ti);color:var(--bg);border-color:var(--ti)}
.lv-current-itm .acts .cb-primary:hover{background:var(--g1);border-color:var(--g1)}

/* Coverage assignment block */
.lv-cov-row{display:grid;grid-template-columns:1fr auto;gap:10px;padding:10px;border:1px solid var(--bd);background:var(--bg);margin-bottom:6px;align-items:center}
.lv-cov-row .lv-cov-info{min-width:0}
.lv-cov-row .lv-cov-info strong{display:block;font-size:12px;color:var(--ti)}
.lv-cov-row .lv-cov-info span{font-size:10px;color:var(--g3)}
.lv-cov-row select{min-width:200px;font-size:11px;padding:6px 8px}

/* Task tray on-leave warning */
.lv-conflict-banner{background:#3a1818;color:#ffd0d0;border:1px solid #c84a4a;border-left:4px solid #c84a4a;padding:10px 14px;font-size:11px;line-height:1.4;margin-bottom:10px;display:flex;gap:10px;align-items:center}
body.in-dash.dash-light .lv-conflict-banner{background:#fce8e8;color:#822;border-color:#e5a8a8;border-left-color:#c84545}
.lv-conflict-banner .ic{font-size:18px;line-height:1}

/* On-leave indicator on Acting As picker label */
.user-pick .lv-pill{margin-top:6px;display:inline-block}

/* Lead timezone & live clock */
.lead-clock-readout{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg2);border:1px solid var(--bd);min-height:42px;font-family:var(--f)}
.lead-clock-readout .ic{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:var(--ti)}
.lead-clock-readout .ic .ico{stroke-width:1.5}
.lead-clock-readout .time{font-size:14px;font-weight:700;color:var(--ti);letter-spacing:-.2px;font-variant-numeric:tabular-nums}
.lead-clock-readout .state{font-size:10px;color:var(--g3);text-transform:uppercase;letter-spacing:.4px;font-weight:600;margin-left:auto;text-align:right}
.lead-clock-readout.asleep{background:var(--bg2);opacity:.92}
.lead-clock-readout.asleep .state{color:var(--g2)}

/* Lead row · timezone meta line */
.lead-tz-line{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;color:var(--g2);font-weight:600;letter-spacing:.1px;padding:3px 0}
.lead-tz-line .ico{stroke-width:1.5;color:var(--ti);vertical-align:middle}
.lead-tz-line .tz-name{color:var(--g3);font-weight:500;text-transform:none;letter-spacing:0;margin-left:2px}
.lead-tz-line .tz-time{font-variant-numeric:tabular-nums;font-weight:700;color:var(--ti)}
.lead-tz-line .tz-state{color:var(--g3);font-weight:500;font-style:italic;margin-left:2px}
.lead-tz-line.asleep .ico{color:var(--g2)}
.lead-tz-line.asleep .tz-time{color:var(--g2)}


/* ── REFINED CMS — INLINE TRAYS, STRUCTURED FORMS, HANDOVER, ACTIVITY LOG ── */

/* Sidebar menu toggle for tablet/mobile */
.dash-mt{display:none}
@media(max-width:900px){
  .dash-shell{grid-template-columns:1fr;display:flex;flex-direction:column}
  .dash-side{position:relative;top:0;height:auto;width:100%;border-right:none;border-bottom:1px solid var(--bd);padding:0;background:var(--bg1)}
  .dash-brand{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;margin:0;border-bottom:none}
  .dash-mt{display:flex;background:transparent;border:1px solid var(--bd);color:var(--ti);width:36px;height:36px;align-items:center;justify-content:center;cursor:pointer;font-family:var(--f)}
  .dash-mt span{display:block;width:14px;height:1.5px;background:var(--ti);position:relative}
  .dash-mt span::before,.dash-mt span::after{content:'';position:absolute;left:0;width:14px;height:1.5px;background:var(--ti)}
  .dash-mt span::before{top:-5px}.dash-mt span::after{top:5px}
  .dash-nav{display:none;flex-direction:column;border-top:1px solid var(--bd)}
  .dash-nav.open{display:flex}
  .dash-nav button{padding:14px 20px;border-left:none;border-bottom:1px solid var(--bd)}
  .dash-nav button.act{background:var(--bg2);border-left:3px solid var(--ti)}
  .dash-side .sep{display:none}
  .dash-side .so{padding:14px 20px;border-bottom:1px solid var(--bd)}
}
@media(min-width:901px){.dash-mt{display:none}.dash-nav{display:flex !important}}
@media(min-width:901px) and (max-width:1200px){.dash-shell{grid-template-columns:200px 1fr}.dash-main{padding:24px}.dash-brand{padding:0 18px 18px}.dash-nav button{padding:10px 18px;font-size:10px}}

/* INLINE EDITOR TRAY */
.tray{display:none;background:var(--bg1);border:1px solid var(--ti);border-left:3px solid var(--ti);padding:0;margin-bottom:18px;animation:trayIn .25s ease}
.tray.show{display:block}
@keyframes trayIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.tray-h{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--bd);flex-wrap:wrap;gap:10px;background:var(--bg2)}
.tray-h h3{margin:0;font-size:14px;letter-spacing:-.2px;text-transform:uppercase}
.tray-h .tsub{margin:2px 0 0;font-size:9px;color:var(--g3);text-transform:uppercase;letter-spacing:.4px}
.tray-h .x-close{font-size:9px;font-weight:700;padding:7px 12px;border:1px solid var(--bd);background:transparent;color:var(--g2);cursor:pointer;font-family:var(--f);text-transform:uppercase;letter-spacing:.4px;transition:.15s}
.tray-h .x-close:hover{border-color:var(--ti);color:var(--ti)}
.tray-body{padding:24px}
@media(max-width:540px){.tray-h{padding:14px 16px}.tray-body{padding:18px 16px}}

/* Form sections — proper rhythm */
.fsect{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--bd)}
.fsect:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}
.fsect-h{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid var(--g5)}
.fsect-h .num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid var(--g4);font-size:9px;color:var(--g2);font-weight:700;flex-shrink:0}
.fsect-h h4{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--ti);margin:0;font-weight:700;border:none;padding:0}
.fsect-h .hint{font-size:9px;color:var(--g4);font-weight:500;text-transform:none;letter-spacing:.2px;margin-left:auto}

/* Form grid system — responsive auto-stack */
.fgrid{display:grid;gap:16px;grid-template-columns:1fr 1fr 1fr}
.fgrid.c1{grid-template-columns:1fr}
.fgrid.c2{grid-template-columns:1fr 1fr}
.fgrid.c4{grid-template-columns:1fr 1fr 1fr 1fr}
.fgrid .full{grid-column:1/-1}
.fgrid .span2{grid-column:span 2}
@media(max-width:980px){.fgrid,.fgrid.c4{grid-template-columns:1fr 1fr}.fgrid .span2{grid-column:1/-1}}
@media(max-width:600px){.fgrid,.fgrid.c2,.fgrid.c4{grid-template-columns:1fr}}

.fgr{min-width:0}
.fgr label{display:block;font-size:9px;font-weight:700;color:var(--g3);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}
.fgr label .opt{color:var(--g4);font-weight:500;margin-left:4px}
.fgr input,.fgr select,.fgr textarea{width:100%;background:var(--bg);border:1px solid var(--bd);color:var(--ti);padding:10px 12px;font-family:var(--f);font-size:12px;outline:none;transition:.15s;font-weight:500;line-height:1.4}
.fgr input:hover,.fgr select:hover,.fgr textarea:hover{border-color:var(--g4)}
.fgr input:focus,.fgr select:focus,.fgr textarea:focus{border-color:var(--g2);background:var(--bg2)}
.fgr textarea{min-height:78px;resize:vertical;line-height:1.5}
.fgr textarea.lg{min-height:120px}
.fgr .hint{font-size:9px;color:var(--g4);margin-top:5px;line-height:1.5}
.fgr select{appearance:none;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--g3) 50%),linear-gradient(135deg,var(--g3) 50%,transparent 50%);background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:30px}
.fgr.has-ic{position:relative}
.fgr.has-ic input{padding-left:30px}
.fgr.has-ic .ic{position:absolute;left:11px;top:31px;color:var(--g3);font-size:11px;pointer-events:none}

/* Phone group: country code + number */
.phone-grp{display:grid;grid-template-columns:130px 1fr;gap:6px}
.phone-grp select{font-size:11px;padding:10px 26px 10px 10px;background-position:calc(100% - 10px) 50%,calc(100% - 6px) 50%}
@media(max-width:480px){.phone-grp{grid-template-columns:100px 1fr;gap:5px}}
@media(max-width:380px){.phone-grp{grid-template-columns:1fr;gap:5px}}

/* Toggle group inside form */
.tgl-grp{display:flex;flex-wrap:wrap;gap:14px 22px;padding:10px 0}
.tgl-grp .tgl{padding:8px 12px;border:1px solid var(--bd);background:var(--bg)}
.tgl-grp .tgl:has(input:checked){border-color:var(--ti);background:var(--bg2)}

/* Form action bar — sticky on long forms */
.fbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:18px 0 0;border-top:1px solid var(--bd);margin-top:24px}
.fbar .btn{padding:11px 22px;font-size:11px}
.fbar .danger{margin-left:auto;color:#e88;border-color:#a44}
.fbar .danger:hover{background:#a44;color:#fff;border-color:#a44}
@media(max-width:540px){.fbar .danger{margin-left:0;width:100%}.fbar .btn{flex:1;min-width:120px}}

/* Compact training panel inside dog tray */
.tpanel{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:980px){.tpanel{grid-template-columns:1fr}}
.tpanel .tp-col h5{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--ti);margin:0 0 10px;font-weight:700;display:flex;align-items:center;justify-content:space-between}
.tpanel .tp-col h5 .ct{font-size:8px;color:var(--g4);background:var(--g5);padding:3px 7px;font-weight:600}
.tp-list{margin-bottom:10px;max-height:200px;overflow-y:auto}
.tp-list::-webkit-scrollbar{width:3px}
.tp-list::-webkit-scrollbar-thumb{background:var(--g4)}
.tp-it{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:flex-start;padding:9px 11px;background:var(--bg);border:1px solid var(--bd);margin-bottom:5px;font-size:11px;line-height:1.4}
.tp-it .when{font-size:8.5px;color:var(--g4);text-transform:uppercase;letter-spacing:.4px;margin-bottom:3px;font-weight:600}
.tp-it .text{color:var(--g1);min-width:0;word-wrap:break-word}
.tp-it button{font-size:9px;padding:3px 7px;border:1px solid var(--bd);background:transparent;color:var(--g3);cursor:pointer;font-family:var(--f)}
.tp-it button:hover{color:#e88;border-color:#a44}
.tp-add{display:grid;grid-template-columns:1fr auto;gap:6px;margin-top:6px;align-items:stretch}
.tp-add input,.tp-add textarea,.tp-add select{padding:9px 11px;font-size:11px;font-family:var(--f);background:var(--bg);border:1px solid var(--bd);color:var(--ti);outline:none;transition:.15s;line-height:1.45;font-weight:500}
.tp-add input:focus,.tp-add textarea:focus,.tp-add select:focus{border-color:var(--g2);background:var(--bg2)}
.tp-add textarea{min-height:46px;resize:vertical;line-height:1.5}
.tp-add button{font-size:10px;padding:0 16px;min-height:38px;background:var(--ti);color:var(--bg);border:none;cursor:pointer;font-family:var(--f);text-transform:uppercase;letter-spacing:.3px;font-weight:700;align-self:stretch;white-space:nowrap}
.tp-add button:hover{background:var(--g1)}
.tp-add.full{grid-template-columns:1fr;gap:6px}
.tp-add.full button{justify-self:end;padding:0 22px;min-height:36px;align-self:auto}
.tp-add.row3{grid-template-columns:140px 1fr auto;align-items:stretch}
@media(max-width:540px){.tp-add.row3{grid-template-columns:1fr!important}}
.tp-empty{font-size:10px;color:var(--g4);padding:8px 0;font-style:italic}

/* Command rows — match tp-add input height for desktop alignment */
.cmd-row{display:grid;grid-template-columns:1fr 1fr 38px;gap:6px;margin-bottom:5px;align-items:stretch}
.cmd-row input{padding:9px 11px;font-size:11px;font-family:var(--f);background:var(--bg);border:1px solid var(--bd);color:var(--ti);outline:none;line-height:1.45;font-weight:500;transition:.15s}
.cmd-row input:focus{border-color:var(--g2);background:var(--bg2)}
.cmd-row button{font-size:14px;padding:0;background:var(--ti);color:var(--bg);border:none;cursor:pointer;font-family:var(--f);font-weight:700;line-height:1;min-height:38px;align-self:stretch}
.cmd-row button.rm{background:transparent;color:var(--g3);border:1px solid var(--bd);font-size:14px;font-weight:400}
.cmd-row button.rm:hover{color:#e88;border-color:#a44}
.cmd-row button:not(.rm):hover{background:var(--g1)}

/* Countdown badge */
.cd-bdg{display:inline-flex;align-items:center;gap:5px;font-size:8.5px;font-weight:800;padding:4px 9px;text-transform:uppercase;letter-spacing:.5px;background:#3a2a14;color:#ffb86b;line-height:1.3}
.cd-bdg.urg{background:var(--ti);color:var(--bg)}
.cd-bdg.over{background:#3a1818;color:#ff8888}
.cd-bdg.done{background:#15401e;color:#5dd884}
.cd-bdg::before{content:'⏱';font-size:10px;line-height:1}
.cd-bdg.done::before{content:'✓'}
.cd-bdg.over::before{content:'!'}

/* Lead structured meta display */
.lm{margin-top:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--bd);border:1px solid var(--bd)}
.lm-item{padding:9px 12px;background:var(--bg2)}
.lm-k{display:block;color:var(--g4);text-transform:uppercase;letter-spacing:.4px;font-size:8.5px;font-weight:700;margin-bottom:3px}
.lm-v{color:var(--ti);font-weight:500;font-size:11px;line-height:1.35}

/* Lead activity log */
.act-log{margin-top:12px;border-left:2px solid var(--g5);padding:0 0 0 14px}
.act-log h6{font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:var(--g3);margin:0 0 8px;font-weight:700}
.act-itm{font-size:10.5px;color:var(--g2);padding:5px 0;display:grid;grid-template-columns:90px 1fr;gap:10px;align-items:flex-start;line-height:1.4}
.act-itm .when{font-size:8.5px;color:var(--g4);text-transform:uppercase;letter-spacing:.4px;font-weight:600;padding-top:1px}
.act-itm .what strong{color:var(--g1);font-weight:700}
@media(max-width:540px){.act-itm{grid-template-columns:1fr}.act-itm .when{margin-bottom:0}}

/* Stat grid - responsive auto-fit */
.dash-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.dash-stat{position:relative}
.dash-stat .v{margin-bottom:2px;font-variant-numeric:tabular-nums}
.dash-stat.pri{background:var(--bg2);border-color:var(--g3)}
.dash-stat.pri .v{color:var(--ti)}
.dash-stat .vs.urg{color:#ffb86b;font-weight:700}
.dash-stat .vs.over{color:#ff8888;font-weight:700}

/* Cleaner row spacing */
.dog-row{padding:18px 0;gap:18px}
.dog-row .info .meta{margin-top:5px;display:flex;flex-wrap:wrap;gap:0 4px}
.dog-row .info .badges{margin-top:8px}
.lead-row{padding:18px 0;gap:18px}
.lead-row .info .badges{margin-bottom:8px}
.bdg{padding:4px 9px;font-size:8.5px;letter-spacing:.5px;line-height:1.3}

/* Source-tag dot */
.bdg.dot::before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:currentColor;margin-right:4px;vertical-align:middle}

/* Tag chip for leads */
.tag{display:inline-flex;align-items:center;font-size:8.5px;font-weight:700;padding:3px 7px;letter-spacing:.4px;text-transform:uppercase;background:var(--g5);color:var(--g1);border:1px solid var(--bd)}
.tag.vip{background:#3a2a52;color:#caaaff;border-color:#523a82}
.tag.hot{background:#522a14;color:#ffaa7d;border-color:#82523a}
.tag.return{background:#143a3a;color:#7dd9d9;border-color:#3a8282}

/* Banner: handovers due soon (overview) */
.alert-bar{display:flex;align-items:center;gap:14px;padding:14px 18px;background:var(--bg2);border:1px solid var(--ti);border-left:3px solid var(--ti);margin-bottom:18px;flex-wrap:wrap}
.alert-bar .ic{font-size:18px;line-height:1}
.alert-bar .msg{flex:1;min-width:200px;font-size:11px;color:var(--g1);line-height:1.5}
.alert-bar .msg strong{color:var(--ti);text-transform:uppercase;letter-spacing:.3px;font-size:10px}
.alert-bar .btn{padding:8px 14px;font-size:10px}

/* List rows in trays */
.tray .dash-tools{margin-bottom:0}

/* Form-row description text */
.form-desc{font-size:10.5px;color:var(--g3);line-height:1.5;margin:0 0 14px;padding:10px 12px;background:var(--bg2);border-left:2px solid var(--g4)}

/* Better dash-h on mobile */
@media(max-width:540px){.dash-h{align-items:flex-start;flex-direction:column}.dash-h h2{font-size:18px}}

/* Ensure sale/featured toggles don't overflow */
.dog-row .actions .toggles{flex-direction:column;gap:8px;align-items:flex-start}
.dog-row .actions .toggles .tgl{font-size:9px}
@media(max-width:760px){.dog-row .actions .toggles{flex-direction:row;align-items:flex-start}}

/* Prof page button quick edit on dashboard side */
.btn-tray{padding:11px 22px;font-size:11px}

/* Clean separator */
.tsep{height:1px;background:var(--bd);margin:18px 0}

/* Prevent labels overflowing in narrow grids */
.fgr label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Make scrollable areas visible */
.dash-main{min-height:100vh}

/* Adjust public-site forms for mobile */
@media(max-width:480px){.fg{gap:12px}.fg input,.fg select,.fg textarea{font-size:12px;padding:9px 12px}.mbox{padding:24px 18px}.mbox h2{font-size:18px}.mbox h3{font-size:13px}}

/* Tablet-specific public site refinements */
@media(min-width:769px) and (max-width:1080px){.cg{gap:2px}.dg{gap:2px}.fdh-grid{grid-template-columns:repeat(2,1fr)}}

/* Clear spacing for action button rows in lead/dog rows */
.lead-row .actions .nat,.dog-row .actions .btns{gap:5px}
.nbn{padding:7px 11px;font-size:9px}
@media(max-width:540px){.nbn{padding:6px 9px;font-size:8.5px}}

/* Profile page edit-quick button */
.dash-quick{position:fixed;bottom:18px;right:18px;z-index:100;display:none}
body.in-dash .dash-quick{display:flex;gap:6px}
.dash-quick button{background:var(--ti);color:var(--bg);border:none;padding:11px 16px;font-size:10px;font-weight:700;cursor:pointer;font-family:var(--f);text-transform:uppercase;letter-spacing:.4px;box-shadow:0 4px 14px rgba(0,0,0,.5)}

/* ── TRAINERS, SESSIONS, LIBRARY, FEEDING, WEIGHTS, VIP LOCK ── */

/* Super-user switcher (sidebar) */
.user-pick{padding:12px 22px;background:var(--bg2);border-top:1px solid var(--bd);border-bottom:1px solid var(--bd);margin:10px 0 0}
.user-pick label{font-size:8.5px;color:var(--g4);text-transform:uppercase;letter-spacing:.5px;font-weight:700;display:block;margin-bottom:4px}
.user-pick select{width:100%;padding:7px 10px;background:var(--bg);border:1px solid var(--bd);color:var(--ti);font-size:11px;font-family:var(--f);outline:none}
.user-pick .role-bdg{display:inline-block;font-size:8.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;padding:3px 7px;margin-top:5px;background:var(--ti);color:var(--bg)}
.user-pick .role-bdg.std{background:var(--g5);color:var(--g1)}
@media(max-width:900px){.user-pick{margin:0;padding:10px 20px;border-top:none}}

/* Trainer chips on dog rows */
.trn-chip{display:inline-flex;align-items:center;font-size:8.5px;font-weight:700;padding:3px 8px;letter-spacing:.4px;text-transform:uppercase;background:var(--g5);color:var(--g1);border:1px solid var(--bd)}
.trn-chip::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--g3);margin-right:5px}
.trn-chip.scott::before{background:#5dd884}.trn-chip.mason::before{background:#7d9ed9}.trn-chip.jamie::before{background:#d9b47d}
.trn-chip.lead{background:var(--ti);color:var(--bg);border-color:var(--ti)}
.trn-chip.lead::before{background:var(--bg)}

/* Trainer card in trainers view */
.trn-row{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid var(--bd)}
.trn-row:last-child{border-bottom:none}
.trn-av{width:54px;height:54px;background:var(--bg2);border:1px solid var(--bd);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;color:var(--ti);letter-spacing:-.5px;overflow:hidden;flex-shrink:0}
.trn-av img{width:100%;height:100%;object-fit:cover;display:block}
.greet-av{overflow:hidden}
.greet-av img{width:100%;height:100%;object-fit:cover;display:block}

/* Trainer photo upload zone (in editor tray) */
.trn-photo-zone{display:grid;grid-template-columns:96px 1fr;gap:18px;align-items:center}
.trn-photo-prev{width:96px;height:96px;background:var(--bg2);border:1px solid var(--bd);display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:800;color:var(--ti);letter-spacing:-.5px;overflow:hidden;flex-shrink:0}
.trn-photo-prev img{width:100%;height:100%;object-fit:cover;display:block}
.trn-photo-actions{min-width:0}
.trn-photo-actions .cb{margin-right:6px;margin-bottom:4px}
@media(max-width:480px){.trn-photo-zone{grid-template-columns:1fr;justify-items:center;text-align:center}}
.trn-row .info strong{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:-.2px;display:block;margin-bottom:3px}
.trn-row .info .role{font-size:10px;color:var(--g3);text-transform:uppercase;letter-spacing:.4px}
.trn-row .info .meta{margin-top:6px;font-size:10px;color:var(--g2)}
.trn-row .info .badges{margin-top:6px;display:flex;gap:5px;flex-wrap:wrap}
.trn-row .actions{display:flex;flex-direction:column;gap:6px;align-items:flex-end}
@media(max-width:540px){.trn-row{grid-template-columns:auto 1fr}.trn-row .actions{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:flex-start}}
.bdg-su{background:var(--ti);color:var(--bg)}
.bdg-inact{background:#3a1818;color:#e88}

/* Multi-trainer pick (chips that toggle) */
.chips-pick{display:flex;flex-wrap:wrap;gap:6px;padding:6px 0}
.chip-tgl{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:600;padding:7px 12px;letter-spacing:.3px;text-transform:uppercase;background:var(--bg);color:var(--g2);border:1px solid var(--bd);cursor:pointer;font-family:var(--f);transition:.15s}
.chip-tgl:hover{border-color:var(--g2)}
.chip-tgl.on{background:var(--ti);color:var(--bg);border-color:var(--ti)}
.chip-tgl input{display:none}
.chip-tgl .star{color:#ffb86b;font-size:9px}
.chip-tgl.lead{background:var(--g5);color:var(--ti);border-color:var(--ti)}
.chip-tgl.lead::after{content:'LEAD';margin-left:6px;font-size:7.5px;background:var(--ti);color:var(--bg);padding:1px 5px;letter-spacing:.5px}

/* Feeding regimen */
.feed-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;background:var(--bd);border:1px solid var(--bd);margin-top:6px}
.feed-cell{padding:12px 14px;background:var(--bg2)}
.feed-cell .k{font-size:8.5px;color:var(--g4);text-transform:uppercase;letter-spacing:.4px;font-weight:700;margin-bottom:4px}
.feed-cell .v{font-size:13px;color:var(--ti);font-weight:600}
.feed-cell .v.lg{font-size:18px;font-variant-numeric:tabular-nums}

/* Weight tracker */
.wt-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:1px;background:var(--bd);border:1px solid var(--bd);margin-bottom:8px}
.wt-cell{padding:10px;background:var(--bg2);text-align:center;position:relative}
.wt-cell .wt-d{font-size:8.5px;color:var(--g4);text-transform:uppercase;letter-spacing:.3px;margin-bottom:3px}
.wt-cell .wt-v{font-size:14px;font-weight:800;color:var(--ti);font-variant-numeric:tabular-nums}
.wt-cell .wt-c{font-size:9px;margin-top:2px}
.wt-cell .wt-c.up{color:#5dd884}
.wt-cell .wt-c.dn{color:#e88}
.wt-cell .wt-rm{position:absolute;top:3px;right:3px;background:transparent;border:none;color:var(--g4);cursor:pointer;font-size:11px;line-height:1;padding:2px}
.wt-cell .wt-rm:hover{color:#e88}

/* Library tiles */
.lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin-top:8px}
.lib-tile{background:var(--bg2);border:1px solid var(--bd);position:relative;overflow:hidden;cursor:pointer;transition:.15s}
.lib-tile:hover{border-color:var(--ti)}
.lib-thumb{aspect-ratio:4/3;width:100%;object-fit:cover;display:block;background:var(--bg)}
.lib-vid{aspect-ratio:4/3;width:100%;background:var(--bg);display:flex;align-items:center;justify-content:center;color:var(--g2);font-size:24px;position:relative}
.lib-vid::after{content:'VIDEO';position:absolute;bottom:6px;right:6px;font-size:8px;font-weight:700;background:var(--ti);color:var(--bg);padding:2px 5px;letter-spacing:.4px}
.lib-info{padding:8px 10px}
.lib-info .nm{font-size:10.5px;font-weight:600;color:var(--ti);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lib-info .when{font-size:8.5px;color:var(--g4);text-transform:uppercase;letter-spacing:.3px}
.lib-actions{display:flex;border-top:1px solid var(--bd)}
.lib-actions button{flex:1;padding:8px;background:transparent;border:none;color:var(--g2);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;cursor:pointer;font-family:var(--f);transition:.15s;border-right:1px solid var(--bd)}
.lib-actions button:last-child{border-right:none}
.lib-actions button:hover{background:var(--g5);color:var(--ti)}
.lib-actions button.del:hover{background:#3a1818;color:#e88}
.lib-empty{font-size:11px;color:var(--g4);padding:18px;text-align:center;border:1px dashed var(--bd)}

/* Library type badge */
.lib-tag{position:absolute;top:6px;left:6px;background:rgba(0,0,0,.7);color:var(--ti);font-size:8px;font-weight:700;padding:2px 6px;letter-spacing:.4px}
.lib-tag.priv{background:var(--ti);color:var(--bg)}

/* Session reports */
.ses-row{display:grid;grid-template-columns:auto 1fr auto;gap:14px;padding:14px 0;border-bottom:1px solid var(--bd);align-items:flex-start}
.ses-row:last-child{border-bottom:none}
.ses-date{background:var(--bg);border:1px solid var(--bd);padding:8px 10px;text-align:center;min-width:54px}
.ses-date .day{font-size:16px;font-weight:800;line-height:1}
.ses-date .mo{font-size:8.5px;color:var(--g3);text-transform:uppercase;letter-spacing:.4px;margin-top:2px}
.ses-info strong{font-size:12px;font-weight:700;display:block;text-transform:uppercase;letter-spacing:-.2px;margin-bottom:3px}
.ses-info .meta{font-size:10px;color:var(--g3);margin-bottom:5px}
.ses-info .perf{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.ses-info .perf .p-chip{font-size:8.5px;font-weight:700;padding:3px 7px;background:var(--g5);color:var(--g2);text-transform:uppercase;letter-spacing:.4px}
.ses-info .perf .p-chip.ok{background:#15401e;color:#5dd884}
.ses-info .perf .p-chip.no{background:#3a1818;color:#e88}
.ses-info .rate{display:inline-flex;align-items:center;gap:4px;font-size:9px;font-weight:700;color:var(--ti);background:var(--g5);padding:3px 8px;letter-spacing:.4px;text-transform:uppercase}
.ses-info .notes{margin-top:6px;font-size:11px;color:var(--g2);line-height:1.5}
.ses-row .actions{display:flex;flex-direction:column;gap:5px;align-items:flex-end}
@media(max-width:600px){.ses-row{grid-template-columns:auto 1fr}.ses-row .actions{grid-column:1/-1;flex-direction:row;align-items:flex-start;flex-wrap:wrap}}

/* Performance checkbox grid */
.perf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:6px;padding:6px 0}
.perf-itm{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg);border:1px solid var(--bd);cursor:pointer;font-size:11px;color:var(--g2);transition:.15s}
.perf-itm:hover{border-color:var(--g3)}
.perf-itm input{position:absolute;opacity:0;width:0;height:0}
.perf-itm .pbox{width:14px;height:14px;border:1.5px solid var(--g3);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:10px;line-height:1;color:var(--bg);background:transparent;transition:.15s}
.perf-itm:has(input:checked) .pbox{background:var(--ti);border-color:var(--ti)}
.perf-itm:has(input:checked) .pbox::after{content:'✓';color:var(--bg);font-weight:700}
.perf-itm:has(input:checked){background:var(--bg2);border-color:var(--ti);color:var(--ti)}
.perf-itm .lbl{flex:1}

/* Star rating */
.star-rate{display:flex;gap:4px;align-items:center;padding:6px 0}
.star-rate button{background:transparent;border:none;color:var(--g4);cursor:pointer;font-size:22px;line-height:1;padding:0;transition:.15s;font-family:var(--f)}
.star-rate button:hover,.star-rate button.on{color:#ffb86b}
.star-rate .num{font-size:11px;color:var(--g2);font-weight:700;margin-left:8px}

/* VIP lock */
.vip-lock{padding:18px;text-align:center;background:var(--bg2);border:1px solid var(--ti);border-left:3px solid var(--ti);margin:10px 0}
.vip-lock .ic{font-size:22px;line-height:1;margin-bottom:8px}
.vip-lock h4{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--ti);margin:0 0 4px}
.vip-lock p{font-size:10px;color:var(--g3);margin:0;line-height:1.5}
.vip-pill{display:inline-flex;align-items:center;font-size:8.5px;font-weight:800;padding:3px 8px;letter-spacing:.5px;text-transform:uppercase;background:var(--ti);color:var(--bg);margin-right:5px}
.gov-pill{display:inline-flex;align-items:center;font-size:8.5px;font-weight:800;padding:3px 8px;letter-spacing:.5px;text-transform:uppercase;background:#b9472f;color:#fff;margin-right:5px}
.lead-row.gov-row{border-left:3px solid #b9472f}
.draft-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;background:rgba(212,160,23,.12);border:1px solid rgba(212,160,23,.45);color:#b9892a;font-size:11px;padding:9px 12px;margin-bottom:14px;border-radius:3px}
.draft-banner em{opacity:.75;font-style:normal}
.draft-banner button{background:transparent;border:1px solid rgba(212,160,23,.6);color:#b9892a;font-size:9.5px;font-weight:800;padding:5px 10px;cursor:pointer;border-radius:2px;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;font-family:var(--f)}
.draft-banner button:hover{background:rgba(212,160,23,.9);color:#fff}
.mbox>.draft-banner{margin-right:34px}
@media(max-width:560px){.draft-banner{flex-wrap:wrap}}
.vip-pill::before{content:'★';margin-right:4px;font-size:9px}

/* Upload zone — improved progress and guidance */
.uz{padding:22px}
.uz .uz-sub{font-size:9.5px;color:var(--g4);margin:6px 0 0;line-height:1.5}
.pbar{margin-top:12px;height:5px}
.pfill{position:relative}
.pfill::after{content:attr(data-pct);position:absolute;right:-2px;top:-18px;font-size:9px;color:var(--g2);font-weight:700;letter-spacing:.4px}

/* File picker custom */
.lib-uz{margin-top:8px;border:1px dashed var(--g4);padding:14px;cursor:pointer;text-align:center;background:var(--bg);transition:.15s}
.lib-uz:hover{border-color:var(--g2);background:var(--bg2)}
.lib-uz.over{border-color:var(--ti);background:var(--bg2)}
.lib-uz p{font-size:11px;color:var(--g3);margin:0}
.lib-uz .uz-sub{font-size:9.5px;color:var(--g4);margin-top:4px;line-height:1.5}

/* Vaccination row */
.vac-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:10px 12px;background:var(--bg);border:1px solid var(--bd);margin-bottom:5px;font-size:11px}
.vac-row .vname{color:var(--ti);font-weight:600}
.vac-row .vdate{color:var(--g3);font-size:10px}
.vac-row .vdue{font-size:9px;font-weight:700;padding:3px 7px;letter-spacing:.4px;text-transform:uppercase}
.vac-row .vdue.ok{background:#15401e;color:#5dd884}
.vac-row .vdue.due{background:#3b2a14;color:#e0a85a}
.vac-row .vdue.over{background:#3a1818;color:#ff8888}
.vac-row .rm{background:transparent;border:1px solid var(--bd);color:var(--g3);cursor:pointer;font-size:10px;padding:5px 8px;font-family:var(--f)}
.vac-row .rm:hover{color:#e88;border-color:#a44}

/* Share dialog (modal) */
.share-opts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
@media(max-width:540px){.share-opts{grid-template-columns:1fr}}
.share-opt{padding:18px;background:var(--bg2);border:1px solid var(--bd);cursor:pointer;text-align:center;transition:.15s}
.share-opt:hover{border-color:var(--ti);background:var(--g5)}
.share-opt .ic{font-size:24px;line-height:1;margin-bottom:8px}
.share-opt .nm{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--ti)}
.share-opt .desc{font-size:9.5px;color:var(--g3);margin-top:5px;line-height:1.4}

/* Compact section header within tray */
.fsect-h.compact{margin-bottom:8px;padding-bottom:6px}

/* Force dashboard textareas to use Inter */
.tray textarea,.dash-bd textarea,.tray input,.dash-bd input,.tray select,.dash-bd select{font-family:var(--f) !important}

/* Small label-with-counter */
.lbl-ct{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.lbl-ct label{margin-bottom:0}
.lbl-ct .ct{font-size:8.5px;color:var(--g4);background:var(--g5);padding:2px 7px;font-weight:700;letter-spacing:.4px}

/* Session media gallery (small thumbs) */
.ses-media{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.ses-media img,.ses-media .ses-vmark{width:60px;height:45px;object-fit:cover;border:1px solid var(--bd);background:var(--bg)}
.ses-media .ses-vmark{display:flex;align-items:center;justify-content:center;color:var(--g3);font-size:10px;font-weight:700}

/* ── TASKS / DELEGATION SYSTEM ── */
.task-row{display:grid;grid-template-columns:auto 1fr auto;gap:14px;padding:14px 0;border-bottom:1px solid var(--bd);align-items:flex-start}
.task-row:last-child{border-bottom:none}
.task-row.completed{opacity:.7}
.task-row.completed .info strong{text-decoration:line-through;color:var(--g3)}
.task-pri-stripe{width:3px;align-self:stretch;background:var(--g3);min-height:48px;flex-shrink:0}
.task-pri-stripe.pri-low{background:#7d9ed9}
.task-pri-stripe.pri-normal{background:var(--g3)}
.task-pri-stripe.pri-high{background:#e0a85a}
.task-pri-stripe.pri-urgent{background:#e88}
.task-row .info{min-width:0}
.task-row .info strong{font-size:13px;font-weight:700;display:block;margin-bottom:3px;letter-spacing:-.2px}
.task-row .info .meta{font-size:10px;color:var(--g3);text-transform:uppercase;letter-spacing:.3px;margin-bottom:5px;display:flex;flex-wrap:wrap;gap:0 8px;align-items:center}
.task-row .info .meta .sep{color:var(--g4)}
.task-row .info .desc{font-size:11px;color:var(--g2);line-height:1.5;margin-top:6px}
.task-row .info .badges{margin-top:6px;display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.task-row .info .due-line{font-size:10px;color:var(--g2);margin-top:5px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.task-row .info .ctxt{font-size:9.5px;color:var(--g3)}

/* Monochromatic SVG icon family */
.ico{display:inline-block;vertical-align:middle;flex-shrink:0;line-height:0}
.ico path,.ico circle,.ico rect{vector-effect:non-scaling-stroke}
.task-row .actions{display:flex;flex-direction:column;gap:6px;align-items:flex-end}
@media(max-width:640px){.task-row{grid-template-columns:auto 1fr}.task-row .actions{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:flex-start}}

/* Priority badges */
.bdg-pri{display:inline-flex;align-items:center;font-size:8.5px;font-weight:800;padding:3px 8px;letter-spacing:.5px;text-transform:uppercase;line-height:1.3}
.bdg-pri.low{background:#1a2a4a;color:#7d9ed9}
.bdg-pri.normal{background:var(--g5);color:var(--g1)}
.bdg-pri.high{background:#3b2a14;color:#e0a85a}
.bdg-pri.urgent{background:#3a1818;color:#ff8888}
.bdg-pri::before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor;margin-right:5px}

/* Status badges */
.bdg-tk{display:inline-flex;align-items:center;font-size:8.5px;font-weight:800;padding:3px 8px;letter-spacing:.5px;text-transform:uppercase;line-height:1.3}
.bdg-tk.pending{background:var(--g5);color:var(--g1)}
.bdg-tk.in-progress{background:#1a2a4a;color:#7d9ed9}
.bdg-tk.completed{background:#15401e;color:#5dd884}
.bdg-tk.cancelled{background:#3a1818;color:#e88}

/* Due countdown for tasks */
.tk-due{display:inline-flex;align-items:center;gap:5px;font-size:9px;font-weight:700;padding:3px 8px;letter-spacing:.4px;text-transform:uppercase;line-height:1.3}
.tk-due.ok{background:var(--g5);color:var(--g2)}
.tk-due.soon{background:#3b2a14;color:#e0a85a}
.tk-due.urgent{background:var(--ti);color:var(--bg)}
.tk-due.over{background:#3a1818;color:#ff8888}
.tk-due.done{background:#15401e;color:#5dd884}
.tk-due::before{content:'⏱';font-size:10px}
.tk-due.over::before{content:'!'}
.tk-due.done::before{content:'✓'}

/* Task type icon */
.tk-ic{display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;font-size:13px;background:var(--bg2);border:1px solid var(--bd);flex-shrink:0;line-height:1}

/* Task analytics cards */
.tk-analytics{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:var(--bd);border:1px solid var(--bd);margin-bottom:18px}
.tk-stat{padding:18px;background:var(--bg1)}
.tk-stat .av{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.tk-stat .av img,.tk-stat .av .av-init{width:40px;height:40px;background:var(--bg2);border:1px solid var(--bd);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:var(--ti);overflow:hidden}
.tk-stat .av img{object-fit:cover}
.tk-stat .av .nm{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:-.2px;color:var(--ti);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tk-stat .av .role{font-size:9px;color:var(--g3);text-transform:uppercase;letter-spacing:.3px;margin-top:2px}
.tk-stat .stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-bottom:10px}
.tk-stat .stat-cell{padding:8px 10px;background:var(--bg2);border:1px solid var(--bd)}
.tk-stat .stat-cell .k{font-size:8.5px;color:var(--g3);text-transform:uppercase;letter-spacing:.4px;font-weight:600;margin-bottom:2px}
.tk-stat .stat-cell .v{font-size:16px;font-weight:800;color:var(--ti);font-variant-numeric:tabular-nums;letter-spacing:-.3px;line-height:1}
.tk-stat .stat-cell.win .v{color:#5dd884}
.tk-stat .stat-cell.warn .v{color:#e0a85a}
.tk-stat .stat-cell.alert .v{color:#e88}
body.in-dash.dash-light .tk-stat .stat-cell.win .v{color:#196d36}
body.in-dash.dash-light .tk-stat .stat-cell.warn .v{color:#7e4514}
body.in-dash.dash-light .tk-stat .stat-cell.alert .v{color:#9c2a2a}
.tk-stat .perf-bar{height:6px;background:var(--g5);border:1px solid var(--bd);position:relative;overflow:hidden;margin-top:4px}
.tk-stat .perf-bar .fill{position:absolute;top:0;left:0;height:100%;background:#5dd884;transition:width .4s ease}
body.in-dash.dash-light .tk-stat .perf-bar .fill{background:#3eaa5d}
.tk-stat .perf-bar .fill.warn{background:#e0a85a}
.tk-stat .perf-bar .fill.alert{background:#e88}
body.in-dash.dash-light .tk-stat .perf-bar .fill.warn{background:#d49434}
body.in-dash.dash-light .tk-stat .perf-bar .fill.alert{background:#c84a4a}
.tk-stat .perf-lbl{font-size:9px;color:var(--g3);text-transform:uppercase;letter-spacing:.4px;font-weight:600;margin:8px 0 3px;display:flex;justify-content:space-between}

/* Task quick complete button */
.tk-complete-btn{font-size:9.5px;font-weight:800;padding:6px 12px;background:#5dd884;color:#0a200f;border:none;cursor:pointer;text-transform:uppercase;letter-spacing:.4px;font-family:var(--f);transition:.15s;line-height:1.3}
.tk-complete-btn:hover{background:#7fff9b}
body.in-dash.dash-light .tk-complete-btn{background:#3eaa5d;color:#fff}
body.in-dash.dash-light .tk-complete-btn:hover{background:#2e8a47}

/* Light mode overrides for task badges */
body.in-dash.dash-light .bdg-pri.low{background:#d5e7f5;color:#1a4a7a}
body.in-dash.dash-light .bdg-pri.normal{background:#e5e5e5;color:#262626}
body.in-dash.dash-light .bdg-pri.high{background:#fbe1c7;color:#7e4514}
body.in-dash.dash-light .bdg-pri.urgent{background:#f9d6d6;color:#9c2a2a}
body.in-dash.dash-light .bdg-tk.pending{background:#e5e5e5;color:#262626}
body.in-dash.dash-light .bdg-tk.in-progress{background:#d5e7f5;color:#1a4a7a}
body.in-dash.dash-light .bdg-tk.completed{background:#dbf3df;color:#196d36}
body.in-dash.dash-light .bdg-tk.cancelled{background:#f9d6d6;color:#9c2a2a}
body.in-dash.dash-light .tk-due.ok{background:#e5e5e5;color:#525252}
body.in-dash.dash-light .tk-due.soon{background:#fbe1c7;color:#7e4514}
body.in-dash.dash-light .tk-due.urgent{background:var(--ti);color:var(--bg)}
body.in-dash.dash-light .tk-due.over{background:#f9d6d6;color:#9c2a2a}
body.in-dash.dash-light .tk-due.done{background:#dbf3df;color:#196d36}

/* Comments thread inside task tray */
.tk-thread{padding:12px 14px;background:var(--bg2);border:1px solid var(--bd);margin-top:8px;max-height:240px;overflow-y:auto}
.tk-msg{padding:8px 0;border-bottom:1px solid var(--bd)}
.tk-msg:last-child{border-bottom:none}
.tk-msg .who{font-size:9px;color:var(--g3);text-transform:uppercase;letter-spacing:.4px;font-weight:700;margin-bottom:2px}
.tk-msg .who strong{color:var(--ti);font-weight:700}
.tk-msg .who .ts{color:var(--g4);font-weight:500}
.tk-msg .text{font-size:11px;color:var(--g1);line-height:1.4;white-space:pre-wrap}

/* Section: my open tasks (overview) */
.my-tasks{background:var(--bg1);border:1px solid var(--bd);padding:18px;margin-bottom:18px}
.my-tasks h3{font-size:13px;text-transform:uppercase;letter-spacing:-.2px;margin:0 0 12px;display:flex;align-items:center;justify-content:space-between;font-weight:700}
.my-tasks h3 .ct{font-size:9px;color:var(--g3);background:var(--g5);padding:3px 8px;font-weight:600;letter-spacing:.4px}
.mini-task{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--bd);cursor:pointer;transition:.15s}
.mini-task:last-child{border-bottom:none}
.mini-task:hover{background:var(--bg2)}
.mini-task .info strong{font-size:12px;font-weight:700;display:block;margin-bottom:3px;letter-spacing:-.2px}
.mini-task .info .meta{font-size:9.5px;color:var(--g3);text-transform:uppercase;letter-spacing:.3px}
.mini-task .actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:540px){.mini-task{grid-template-columns:auto 1fr}.mini-task .actions{grid-column:1/-1}}

/* ── PERSONALISATION + CHIP TAGS ── */

/* Tag chips with semantic colors when toggled on */
.chip-tgl.tag-VIP.on{background:#3a2a52;color:#caaaff;border-color:#523a82}
.chip-tgl.tag-VIP.on::before{content:'★';margin-right:5px;color:#caaaff}
.chip-tgl.tag-HOT.on{background:#522a14;color:#ffaa7d;border-color:#82523a}
.chip-tgl.tag-HOT.on::before{content:'🔥';margin-right:5px;font-size:9px}
.chip-tgl.tag-RETURN.on{background:#143a3a;color:#7dd9d9;border-color:#3a8282}
.chip-tgl.tag-INTL.on{background:#1a2a4a;color:#7d9ed9;border-color:#3a4a82}
.chip-tgl.tag-NDA.on{background:var(--ti);color:var(--bg);border-color:var(--ti)}
.chip-tgl.tag-NDA.on::before{content:'🔒';margin-right:5px;font-size:9px}
.chip-tgl.tag-URGENT.on{background:#3a1818;color:#ff8888;border-color:#a44}

/* Personalised greeting bar */
.greeting{padding:20px 24px;background:var(--bg1);border:1px solid var(--bd);border-left:3px solid var(--ti);margin-bottom:18px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.greet-av{width:54px;height:54px;background:var(--bg2);border:1px solid var(--bd);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;color:var(--ti);letter-spacing:-.5px;flex-shrink:0}
.greet-av.admin{background:var(--ti);color:var(--bg);border-color:var(--ti)}
.greet-info{flex:1;min-width:200px}
.greet-info .hi{font-size:9.5px;color:var(--g3);text-transform:uppercase;letter-spacing:.5px;font-weight:700;margin-bottom:3px}
.greet-info h3{font-size:18px;letter-spacing:-.4px;margin:0 0 4px;text-transform:none;color:var(--ti);font-weight:700}
.greet-info h3 small{font-size:11px;color:var(--g3);font-weight:500;letter-spacing:.2px;display:inline-block;margin-left:8px;text-transform:uppercase}
.greet-info .meta{font-size:11px;color:var(--g2);line-height:1.5}
.greet-info .meta strong{color:var(--ti)}
.greet-info .role-bdg{display:inline-block;font-size:8.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;padding:3px 7px;background:var(--ti);color:var(--bg);margin-right:6px}
.greet-info .role-bdg.std{background:var(--g5);color:var(--g1)}
.greet-actions{display:flex;gap:6px;flex-wrap:wrap}
@media(max-width:540px){.greet-actions{width:100%}.greet-actions .btn{flex:1}}

/* My Dogs / My Day grid */
.my-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}
@media(max-width:1100px){.my-grid{grid-template-columns:1fr 1fr}}
@media(max-width:780px){.my-grid{grid-template-columns:1fr}}
.my-card{background:var(--bg1);border:1px solid var(--bd);padding:18px}
.my-card h3{font-size:13px;text-transform:uppercase;letter-spacing:-.2px;margin:0 0 14px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;font-weight:700}
.my-card h3 .ct{font-size:9px;color:var(--g3);background:var(--g5);padding:3px 8px;font-weight:600;letter-spacing:.4px}

/* Mini dog row */
.mini-dog{display:grid;grid-template-columns:46px 1fr auto;gap:11px;align-items:center;padding:10px 0;border-bottom:1px solid var(--bd);transition:.15s}
.mini-dog:last-child{border-bottom:none}
.mini-dog img{width:46px;height:46px;object-fit:cover}
.mini-dog .info{min-width:0}
.mini-dog .name{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:-.2px;color:var(--ti);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mini-dog .meta{font-size:9.5px;color:var(--g3);margin-top:3px;text-transform:uppercase;letter-spacing:.3px}
.mini-dog .badges{margin-top:4px;display:flex;gap:4px;flex-wrap:wrap}
.mini-dog .actions{display:flex;flex-direction:column;gap:4px;align-items:flex-end}
.mini-dog button{background:transparent;border:1px solid var(--bd);color:var(--g2);font-size:9px;padding:5px 8px;cursor:pointer;font-family:var(--f);text-transform:uppercase;letter-spacing:.3px;font-weight:600}
.mini-dog button:hover{border-color:var(--ti);color:var(--ti)}

/* Day timeline */
.day-itm{padding:11px 0;border-bottom:1px solid var(--bd);display:grid;grid-template-columns:64px 1fr auto;gap:10px;align-items:center}
.day-itm:last-child{border-bottom:none}
.day-itm .time{font-size:11px;font-weight:800;color:var(--ti);font-variant-numeric:tabular-nums;text-transform:uppercase;letter-spacing:.3px}
.day-itm .time .when{font-size:8.5px;color:var(--g3);font-weight:600;display:block;margin-top:1px}
.day-itm .info{min-width:0}
.day-itm .info strong{font-size:11.5px;display:block;margin-bottom:2px;text-transform:uppercase;letter-spacing:-.2px;font-weight:700}
.day-itm .info span{font-size:9.5px;color:var(--g3);text-transform:uppercase;letter-spacing:.3px;display:block}
.day-itm .info .who{font-size:9.5px;color:var(--g2);margin-top:3px;text-transform:none;letter-spacing:0}
.day-itm .ic-pill{font-size:8.5px;font-weight:700;padding:3px 7px;background:var(--g5);color:var(--g1);text-transform:uppercase;letter-spacing:.4px}
.day-itm .ic-pill.urg{background:var(--ti);color:var(--bg)}
.day-itm .ic-pill.over{background:#3a1818;color:#ff8888}
.my-empty{font-size:10.5px;color:var(--g4);padding:14px 0;text-align:center;font-style:italic;line-height:1.5}

/* Personalized "switch to all" link */
.greet-link{font-size:10px;color:var(--g3);text-transform:uppercase;letter-spacing:.4px;cursor:pointer;background:transparent;border:none;font-family:var(--f);font-weight:700;padding:0}
.greet-link:hover{color:var(--ti)}

/* Inline ALLDOGS ELITE logo (matches public site nav logo treatment) */
.brand-logo{font-weight:800;letter-spacing:-.2px;color:var(--ti);text-transform:uppercase;white-space:nowrap;font-size:inherit}
.brand-logo .grey{color:var(--g2)}

/* Date / day row in greeting */
.greet-info .greet-day{font-size:11px;color:var(--g1);margin:6px 0 8px;letter-spacing:.1px;line-height:1.4}
.greet-info .greet-day .dot{color:var(--g4);margin:0 5px}

/* Weather widget */
.greet-weather{display:flex;flex-direction:column;align-items:flex-end;gap:4px;padding:14px 16px;background:var(--bg2);border:1px solid var(--bd);min-width:170px;flex-shrink:0;text-align:right}
.greet-weather .wx-row{display:flex;align-items:center;gap:10px;justify-content:flex-end}
.greet-weather .wx-icon{font-size:24px;line-height:1}
.greet-weather .wx-temp{font-size:22px;font-weight:800;color:var(--ti);font-variant-numeric:tabular-nums;letter-spacing:-.5px;line-height:1}
.greet-weather .wx-temp small{font-size:13px;color:var(--g3);font-weight:600;margin-left:2px}
.greet-weather .wx-cond{font-size:9.5px;color:var(--g2);text-transform:uppercase;letter-spacing:.4px;font-weight:600;margin-top:3px}
.greet-weather .wx-loc{font-size:8.5px;color:var(--g4);text-transform:uppercase;letter-spacing:.5px;font-weight:600}
.greet-weather .wx-rec{font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;padding:4px 9px;margin-top:4px;line-height:1.2}
.greet-weather .wx-rec.outdoor{background:#15401e;color:#5dd884}
.greet-weather .wx-rec.indoor{background:#3a2a14;color:#e0a85a}
.greet-weather .wx-rec.caution{background:#3a1818;color:#ff8888}
.greet-weather .wx-loading{font-size:9px;color:var(--g4);text-transform:uppercase;letter-spacing:.4px;font-style:italic;padding:14px 0}
@media(max-width:680px){.greet-weather{align-self:stretch;min-width:0;width:100%;align-items:flex-start;text-align:left}.greet-weather .wx-row{justify-content:flex-start}}

/* ── PROGRESS / ALERTS / DEMO DOG ── */

/* Progress bar (semantic) */
.prog{display:inline-flex;align-items:center;gap:8px;font-size:8.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:4px 8px;line-height:1.2}
.prog.excel{background:#0f4a1f;color:#7fff9b}
.prog.ontrack{background:#15401e;color:#5dd884}
.prog.develop{background:#3b2a14;color:#e0a85a}
.prog.focus{background:#3a1818;color:#ff8888}
.prog .pct{font-size:9px;font-variant-numeric:tabular-nums;font-weight:800}
.prog::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}

/* Visual progress bar (in editor) */
.prog-bar{display:block;width:100%;height:8px;background:var(--g5);border:1px solid var(--bd);position:relative;overflow:hidden;margin-top:6px}
.prog-bar .fill{position:absolute;top:0;left:0;height:100%;background:var(--ti);transition:width .25s ease}
.prog-bar .fill.excel{background:#7fff9b}
.prog-bar .fill.ontrack{background:#5dd884}
.prog-bar .fill.develop{background:#e0a85a}
.prog-bar .fill.focus{background:#e88}
.prog-meta{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:10px;color:var(--g3)}
.prog-meta .num{font-size:18px;font-weight:800;color:var(--ti);font-variant-numeric:tabular-nums;letter-spacing:-.4px}
.prog-meta .pst{font-size:10px;color:var(--g2);text-transform:uppercase;letter-spacing:.4px;font-weight:700}

/* Slider styled */
.prog-slider{width:100%;-webkit-appearance:none;appearance:none;height:6px;background:var(--g5);outline:none;margin-top:4px;border:1px solid var(--bd)}
.prog-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background:var(--ti);cursor:pointer;border:2px solid var(--bg);box-shadow:0 0 0 1px var(--bd)}
.prog-slider::-moz-range-thumb{width:20px;height:20px;background:var(--ti);cursor:pointer;border:2px solid var(--bg);border-radius:0}
.prog-controls{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap;align-items:center}
.prog-controls button{font-size:10px;padding:7px 12px;background:transparent;border:1px solid var(--bd);color:var(--g2);cursor:pointer;font-family:var(--f);text-transform:uppercase;letter-spacing:.3px;font-weight:600}
.prog-controls button:hover{border-color:var(--ti);color:var(--ti)}
.prog-tgl{padding:10px 12px;background:var(--bg);border:1px solid var(--bd);margin-top:8px;display:block}
.prog-tgl .tgl{display:flex;align-items:center;gap:12px;width:100%}
.prog-tgl .tgl-l{flex:1;min-width:0;line-height:1.4}

/* Alert pills (warnings on dogs) */
.alert-pill{display:inline-flex;align-items:center;gap:5px;font-size:8.5px;font-weight:800;padding:3px 8px;letter-spacing:.5px;text-transform:uppercase;line-height:1.3;border:1px solid}
.alert-pill.crit{background:#3a1010;color:#ff6b6b;border-color:#a44}
.alert-pill.warn{background:#3b2a14;color:#ffb86b;border-color:#82603a}
.alert-pill.info{background:#142a3a;color:#7db4d9;border-color:#3a6a82}
.alert-pill::before{content:'⚠';margin-right:1px;font-size:9px}
.alert-pill.crit::before{content:'⛔'}
.alert-pill.info::before{content:'ⓘ';font-size:10px}

/* Critical alert banner inside dog tray when warnings present */
.alert-banner{padding:14px 18px;background:#3a1010;border:1px solid #a44;border-left:3px solid #ff6b6b;margin-bottom:14px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.alert-banner .ic{font-size:20px;line-height:1;flex-shrink:0}
.alert-banner .msg{flex:1;min-width:200px;font-size:11px;color:#ffd0d0;line-height:1.5}
.alert-banner .msg strong{color:#ff8888;text-transform:uppercase;letter-spacing:.4px;font-size:10px;display:block;margin-bottom:3px}
.alert-banner .pills{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}

/* Demo Dog badge */
.demo-bdg{display:inline-flex;align-items:center;gap:5px;font-size:8.5px;font-weight:800;padding:3px 8px;letter-spacing:.5px;text-transform:uppercase;background:#e8c855;color:#1a1a1a;border:1px solid #c9a838;line-height:1.3}
.demo-bdg::before{content:'★';font-size:10px}

/* Demo capability chip (in card) */
.demo-cap{display:inline-block;font-size:8.5px;font-weight:700;padding:3px 7px;letter-spacing:.4px;text-transform:uppercase;background:#1a3540;color:#7cd;border:1px solid #3a6a82}

/* Alert / Demo capability chip pickers — share chip-tgl base, add semantic states */
.chip-tgl.alert-crit.on{background:#3a1010;color:#ff8888;border-color:#a44}
.chip-tgl.alert-crit.on::before{content:'⛔';margin-right:5px;font-size:9px}
.chip-tgl.alert-warn.on{background:#3b2a14;color:#ffb86b;border-color:#82603a}
.chip-tgl.alert-warn.on::before{content:'⚠';margin-right:5px;font-size:9px}
.chip-tgl.alert-info.on{background:#142a3a;color:#7db4d9;border-color:#3a6a82}
.chip-tgl.alert-info.on::before{content:'ⓘ';margin-right:5px;font-size:10px}
.chip-tgl.demo-cap-tgl.on{background:#1a3540;color:#9cf;border-color:#3a6a82}
.chip-tgl.demo-cap-tgl.on::before{content:'★';margin-right:5px;font-size:9px;color:#ffd482}

/* Big demo banner inside dog tray when flagged */
.demo-banner{padding:14px 18px;background:rgba(232,200,85,.08);border:1px solid #c9a838;border-left:3px solid #e8c855;margin-bottom:14px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.demo-banner .ic{font-size:20px;line-height:1;flex-shrink:0;color:#ffd482}
.demo-banner .msg{flex:1;min-width:200px;font-size:11px;color:var(--g1);line-height:1.5}
.demo-banner .msg strong{color:#ffd482;text-transform:uppercase;letter-spacing:.4px;font-size:10px;display:block;margin-bottom:3px}

/* Toggle-with-emphasis (for demo flag) */
.tgl-grp.demo .tgl{padding:10px 14px;border:1px solid var(--bd);background:var(--bg);font-size:11px}
.tgl-grp.demo .tgl:has(input:checked){border-color:#ffd482;background:rgba(255,212,130,.06)}
.tgl-grp.demo .tgl:has(input:checked) .tgl-l{color:#ffd482}

/* Sub-status hint under progress slider */
.prog-status-pick{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.prog-status-pick button{font-size:9px;padding:5px 9px;background:transparent;border:1px solid var(--bd);color:var(--g2);cursor:pointer;font-family:var(--f);text-transform:uppercase;letter-spacing:.4px;font-weight:600}
.prog-status-pick button:hover{border-color:var(--g2);color:var(--ti)}
.prog-status-pick button.on{background:var(--ti);color:var(--bg);border-color:var(--ti)}
.prog-status-pick button.on.excel{background:#5dd884;color:#0a200f;border-color:#5dd884}
.prog-status-pick button.on.ontrack{background:#5dd884;color:#0a200f;border-color:#5dd884}
.prog-status-pick button.on.develop{background:#e0a85a;color:#1a1006;border-color:#e0a85a}
.prog-status-pick button.on.focus{background:#e88;color:#200a0a;border-color:#e88}

/* Mini-dog progress bar */
.mini-dog .prog{padding:2px 6px;font-size:8px}

/* Prominent Performance Strip (dog rows) — full width line beneath meta, before tag badges */
.perf-strip{margin-top:10px;padding:10px 14px;background:var(--bg2);border:1px solid var(--bd);border-left:3px solid var(--g4);display:flex;align-items:center;gap:14px;flex-wrap:wrap;line-height:1.2}
.perf-strip.excel,.perf-strip.ontrack{border-left-color:#5dd884}
.perf-strip.develop{border-left-color:#e0a85a}
.perf-strip.focus{border-left-color:#e88}
.perf-strip .ps-status{display:inline-flex;align-items:center;gap:8px;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--ti);flex-shrink:0;white-space:nowrap}
.perf-strip .ps-status::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--g3);flex-shrink:0}
.perf-strip.excel .ps-status::before,.perf-strip.ontrack .ps-status::before{background:#5dd884}
.perf-strip.develop .ps-status::before{background:#e0a85a}
.perf-strip.focus .ps-status::before{background:#e88}
.perf-strip .ps-bar{flex:1;height:6px;background:var(--g5);min-width:120px;max-width:340px;border:1px solid var(--bd);position:relative;overflow:hidden}
.perf-strip .ps-fill{position:absolute;top:0;left:0;height:100%;background:var(--g3);transition:width .4s ease}
.perf-strip.excel .ps-fill,.perf-strip.ontrack .ps-fill{background:#5dd884}
.perf-strip.develop .ps-fill{background:#e0a85a}
.perf-strip.focus .ps-fill{background:#e88}
.perf-strip .ps-score{font-size:15px;font-weight:800;color:var(--ti);font-variant-numeric:tabular-nums;letter-spacing:-.4px;flex-shrink:0;line-height:1}
.perf-strip .ps-score small{font-size:10px;color:var(--g3);font-weight:600;letter-spacing:.3px;margin-left:2px}
.perf-strip .ps-empty{font-size:10.5px;color:var(--g4);font-style:italic;letter-spacing:.2px;line-height:1.3}

/* Light mode */
body.in-dash.dash-light .perf-strip.excel,body.in-dash.dash-light .perf-strip.ontrack{border-left-color:#3eaa5d}
body.in-dash.dash-light .perf-strip.develop{border-left-color:#d49434}
body.in-dash.dash-light .perf-strip.focus{border-left-color:#c84a4a}
body.in-dash.dash-light .perf-strip.excel .ps-fill,body.in-dash.dash-light .perf-strip.ontrack .ps-fill{background:#3eaa5d}
body.in-dash.dash-light .perf-strip.develop .ps-fill{background:#d49434}
body.in-dash.dash-light .perf-strip.focus .ps-fill{background:#c84a4a}
body.in-dash.dash-light .perf-strip.excel .ps-status::before,body.in-dash.dash-light .perf-strip.ontrack .ps-status::before{background:#3eaa5d}
body.in-dash.dash-light .perf-strip.develop .ps-status::before{background:#d49434}
body.in-dash.dash-light .perf-strip.focus .ps-status::before{background:#c84a4a}

/* Mobile responsive — drop the bar on phones, keep status + score */
@media(max-width:540px){.perf-strip{padding:8px 11px;gap:10px}.perf-strip .ps-bar{display:none}}

/* Compact perf strip for mini-dog cards on Overview */
.mini-perf{display:flex;align-items:center;gap:8px;margin-top:6px;padding:5px 9px;background:var(--bg);border:1px solid var(--bd);border-left:2px solid var(--g4)}
.mini-perf.excel,.mini-perf.ontrack{border-left-color:#5dd884}
.mini-perf.develop{border-left-color:#e0a85a}
.mini-perf.focus{border-left-color:#e88}
.mini-perf .ps-status{font-size:8.5px;font-weight:800;color:var(--ti);text-transform:uppercase;letter-spacing:.4px;display:inline-flex;align-items:center;gap:5px;flex-shrink:0;line-height:1}
.mini-perf .ps-status::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--g3);flex-shrink:0}
.mini-perf.excel .ps-status::before,.mini-perf.ontrack .ps-status::before{background:#5dd884}
.mini-perf.develop .ps-status::before{background:#e0a85a}
.mini-perf.focus .ps-status::before{background:#e88}
.mini-perf .ps-bar{flex:1;height:3px;background:var(--g5);position:relative;overflow:hidden;min-width:50px;border:1px solid var(--bd)}
.mini-perf .ps-fill{position:absolute;top:0;left:0;height:100%;background:var(--g3);transition:width .4s ease}
.mini-perf.excel .ps-fill,.mini-perf.ontrack .ps-fill{background:#5dd884}
.mini-perf.develop .ps-fill{background:#e0a85a}
.mini-perf.focus .ps-fill{background:#e88}
.mini-perf .ps-score{font-size:11px;font-weight:800;color:var(--ti);font-variant-numeric:tabular-nums;flex-shrink:0;letter-spacing:-.3px;line-height:1}
.mini-perf .ps-empty{font-size:9.5px;color:var(--g4);font-style:italic;letter-spacing:.2px}

/* ── LIBRARY VIEW (cross-dog media archive) ── */
.lib-view-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin-top:0}
.lib-card{background:var(--bg2);border:1px solid var(--bd);overflow:hidden;cursor:pointer;transition:.15s;position:relative;display:flex;flex-direction:column}
.lib-card:hover{border-color:var(--g3)}
.lib-card.selected{border-color:var(--ti);box-shadow:0 0 0 2px var(--ti) inset}
.lib-card-thumb{aspect-ratio:4/3;width:100%;object-fit:cover;display:block;background:var(--bg)}
.lib-card-vid{aspect-ratio:4/3;background:var(--bg);display:flex;align-items:center;justify-content:center;color:var(--g2);position:relative}
.lib-card-vid::after{content:'VIDEO';position:absolute;bottom:6px;right:6px;font-size:8px;font-weight:800;background:var(--ti);color:var(--bg);padding:2px 6px;letter-spacing:.5px}
.lib-card-info{padding:9px 11px;flex:1}
.lib-card-info .nm{font-size:10.5px;font-weight:700;color:var(--ti);margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;letter-spacing:-.1px}
.lib-card-info .dog{font-size:9px;color:var(--g3);text-transform:uppercase;letter-spacing:.4px;font-weight:700}
.lib-card-info .when{font-size:8.5px;color:var(--g4);margin-top:3px;letter-spacing:.2px}
.lib-card-check{position:absolute;top:8px;left:8px;width:22px;height:22px;background:rgba(0,0,0,.65);border:1.5px solid var(--bg);display:flex;align-items:center;justify-content:center;color:var(--bg);opacity:0;transition:.15s}
.lib-card.selected .lib-card-check{opacity:1;background:var(--ti);color:var(--bg)}
.lib-card:hover .lib-card-check{opacity:.5}
.lib-card-perf{position:absolute;top:8px;right:8px;font-size:8px;font-weight:800;padding:3px 7px;letter-spacing:.4px;background:rgba(0,0,0,.7);color:#fff;text-transform:uppercase;line-height:1.2}
.lib-card-perf.excel,.lib-card-perf.ontrack{background:#15401e;color:#5dd884}
.lib-card-perf.develop{background:#3b2a14;color:#e0a85a}
.lib-card-perf.focus{background:#3a1818;color:#e88}
.lib-card-actions{display:flex;border-top:1px solid var(--bd)}
.lib-card-actions button{flex:1;padding:7px 4px;background:transparent;border:none;color:var(--g2);font-size:8.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;cursor:pointer;font-family:var(--f);transition:.15s;border-right:1px solid var(--bd);display:inline-flex;align-items:center;justify-content:center;gap:4px}
.lib-card-actions button:last-child{border-right:none}
.lib-card-actions button:hover{background:var(--g5);color:var(--ti)}

/* Selection toolbar */
.lib-sel-bar{display:none;align-items:center;gap:14px;padding:14px 18px;background:var(--ti);color:var(--bg);margin-bottom:14px;font-weight:700;flex-wrap:wrap;border:1px solid var(--ti)}
.lib-sel-bar.show{display:flex}
.lib-sel-bar .ct{font-size:13px;letter-spacing:-.2px;flex-shrink:0}
.lib-sel-bar .ct strong{font-size:18px;font-weight:800;margin-right:5px}
.lib-sel-bar .lib-actions{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}
.lib-sel-bar .lib-actions button{padding:8px 14px;background:var(--bg);color:var(--ti);border:1px solid var(--bg);font-family:var(--f);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;cursor:pointer;transition:.15s;display:inline-flex;align-items:center;gap:6px}
.lib-sel-bar .lib-actions button:hover{background:var(--g1)}
.lib-sel-bar .lib-actions button.clr{background:transparent;color:var(--bg);border-color:var(--bg)}
.lib-sel-bar .lib-actions button.clr:hover{background:rgba(255,255,255,.15);color:var(--bg)}
@media(max-width:540px){.lib-sel-bar .lib-actions{margin-left:0;width:100%}.lib-sel-bar .lib-actions button{flex:1}}

/* Light mode lib-sel-bar */
body.in-dash.dash-light .lib-sel-bar .lib-actions button{background:var(--bg);color:var(--ti);border-color:var(--bg)}
body.in-dash.dash-light .lib-sel-bar .lib-actions button.clr{background:transparent;color:var(--bg);border-color:var(--bg)}

/* Light mode for mini-perf */
body.in-dash.dash-light .mini-perf.excel,body.in-dash.dash-light .mini-perf.ontrack{border-left-color:#3eaa5d}
body.in-dash.dash-light .mini-perf.develop{border-left-color:#d49434}
body.in-dash.dash-light .mini-perf.focus{border-left-color:#c84a4a}
body.in-dash.dash-light .mini-perf.excel .ps-fill,body.in-dash.dash-light .mini-perf.ontrack .ps-fill{background:#3eaa5d}
body.in-dash.dash-light .mini-perf.develop .ps-fill{background:#d49434}
body.in-dash.dash-light .mini-perf.focus .ps-fill{background:#c84a4a}
body.in-dash.dash-light .mini-perf.excel .ps-status::before,body.in-dash.dash-light .mini-perf.ontrack .ps-status::before{background:#3eaa5d}
body.in-dash.dash-light .mini-perf.develop .ps-status::before{background:#d49434}
body.in-dash.dash-light .mini-perf.focus .ps-status::before{background:#c84a4a}

/* Filter tab badges */
.pipe-tab.filt-warn .cnt{background:#3a1818;color:#e88}
.pipe-tab.filt-warn.act .cnt{background:#a44;color:#fff}
.pipe-tab.filt-demo .cnt{background:#caaaff;color:#1a1a1a}
.pipe-tab.filt-demo.act .cnt{background:#caaaff;color:#1a1a1a}
