/* One Team — FPL-style theme. Loaded last; restyles only.
   Purple bars, cyan→green gradient for the good stuff, pink for the bad, one geometric family. */
:root{
  --p:#37003C;--p2:#4A0052;--p3:#2A002E;--pInk:#FFFFFF;--pInk2:#C9A9CE;
  --cy:#05F0FF;--gr:#00FF85;--grad:linear-gradient(90deg,#05F0FF,#00FF85);--gradD:linear-gradient(135deg,#05F0FF,#00FF85);
  --win:#00A85A;--winSoft:#E3FBEF;--pink:#E90052;--pinkSoft:#FDE6EF;
  --page:#F3F1F4;--card:#FFFFFF;--ink:#37003C;--ink2:#6B4F6E;--ink3:#A08AA3;--hair:#ECE6EE;--hair2:#DDD3E0;
  --gold:#F2C14E;--silver:#B9C0CC;--bronze:#D0894A;
  --font:Poppins,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;

  --bg:var(--page);--surface:var(--card);--text:var(--ink);--green:var(--win);--red:var(--pink);
  --bg2:var(--page);--surface2:#F8F6F9;--surface3:#EEE8F0;--border:var(--hair);--border2:var(--hair2);
  --text2:var(--ink2);--text3:var(--ink3);--accent:var(--p);--onAccent:#fff;--head:var(--p);--amber:#C07A00;
  --soft:#F8F6F9;--line:var(--hair);--muted:var(--ink2);--faint:var(--ink3);--orange:var(--p);--orange-ink:var(--p);--orange-soft:#F4ECF5;
  --green-soft:var(--winSoft);--red-soft:var(--pinkSoft);--shadow:none;
  --bar:var(--p);--bar2:var(--p2);--barInk:#fff;--barInk2:var(--pInk2);
  --body:var(--font);--disp:var(--font);
}
html,body{background:var(--page);font-family:var(--font);color:var(--ink)}
.slv,.otv,.amv,.xv{font-family:var(--font)}
body *{font-family:inherit}

/* ---------- top bar: purple with the FPL glow and a gradient line ---------- */
.top{background:radial-gradient(120% 140% at 100% 0,#6A1272 0,rgba(106,18,114,0) 55%),var(--p);
  box-shadow:none;border-bottom:0;padding-bottom:10px;position:sticky}
.top::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--grad)}
.top img{border-radius:10px}
.top .nm b{font:700 16px/1.2 var(--font);letter-spacing:-.01em}
.top .nm small{font:500 11.5px var(--font);color:var(--pInk2)}
.ibtn,.out{border:0;background:rgba(255,255,255,.1);border-radius:50%;color:#fff}
.ibtn.on{background:var(--grad);color:var(--p)}

/* ---------- bottom bar ---------- */
.bnav{background:var(--p);border-top:0;padding-top:8px}
.bnav button{font:500 10.5px var(--font);color:var(--pInk2);border-radius:12px;background:transparent;position:relative}
.bnav button svg{stroke-width:1.9}
.bnav button.on{color:#fff;background:transparent}
.bnav button.on svg{stroke:var(--gr)}
.bnav button.on::before{content:"";position:absolute;top:-8px;left:28%;right:28%;height:3px;border-radius:0 0 3px 3px;background:var(--grad)}

/* ---------- login ---------- */
#login{background:radial-gradient(90% 60% at 100% 0,#6A1272 0,rgba(106,18,114,0) 60%),linear-gradient(180deg,var(--p) 0 270px,var(--page) 270px)}
#login .brand img{border-radius:14px}
#login .brand b{font:800 28px/1 var(--font);letter-spacing:-.02em}
#login .brand b i,.brand b i{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
#login .box{border-radius:16px;box-shadow:0 20px 40px rgba(55,0,60,.18);border:0}
#login .box h2{font:700 22px var(--font);color:var(--ink)}
#login .lbl{letter-spacing:.02em;text-transform:none;font:600 13px var(--font);color:var(--ink2)}
#login .box input{border-radius:10px;border:1.5px solid var(--hair2);background:#fff}
#login .box input:focus{border-color:var(--p)}
#login .gobtn,.slv .btn{background:var(--grad);color:var(--p);border-radius:999px;font:700 16px var(--font);letter-spacing:0}
#login .test{background:#fff;border-color:var(--hair2);color:var(--ink2)}
#login .test button{border-color:var(--p);color:var(--p)}

/* ---------- tabs: purple pill on a soft track ---------- */
.seg,.slv .tabs{background:#EAE3EC;border:0;border-radius:999px;padding:4px}
.seg button,.slv .tabs button{font:600 13px var(--font);color:var(--ink2);border-radius:999px;letter-spacing:0}
.seg button.on,.slv .tabs button.on{background:var(--p);color:#fff;box-shadow:0 3px 8px rgba(55,0,60,.25)}
.amv .chip{font:500 12.5px var(--font);text-transform:none;letter-spacing:0;border-radius:999px;border-color:var(--hair2);color:var(--ink2);background:#fff}
.amv .chip.on{background:var(--p);border-color:var(--p);color:#fff}
.rg-tabs button{font:600 13px var(--font)!important;border-radius:999px!important}
.rg-tabs button.on{background:var(--p)!important;border-color:var(--p)!important;color:#fff!important}

/* ---------- cards: white, purple header, gradient line underneath ---------- */
.otv .widget,.amv .card,.slv .card,.game{border:0;border-radius:14px;box-shadow:0 2px 0 rgba(55,0,60,.05),0 8px 24px rgba(55,0,60,.06);overflow:hidden}
.otv .widget-top,.slv .card h2{position:relative;background:var(--p);color:#fff;border:0;padding:13px 16px}
.otv .widget-top::after,.slv .card h2::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--grad)}
.otv .widget-title,.slv .card h2{font:700 16px/1.25 var(--font);letter-spacing:-.01em;text-transform:none;color:#fff;margin:0}
.slv .card h2{margin:-16px -16px 14px}
.otv .widget-sub,.slv .card h2 .hsub{color:var(--pInk2);font:500 11.5px var(--font);opacity:1}
.otv .widget-sub .source{color:var(--gr)}
.otv .trophy{background:rgba(255,255,255,.1);border-radius:50%}
.etop{font:800 24px var(--font);letter-spacing:-.02em;color:var(--ink);text-transform:none}

/* ---------- hero: the first tile is the "points" card ---------- */
.slv .boxes{grid-template-columns:1fr 1fr;gap:10px}
.slv .box{background:#fff;color:var(--ink);border-radius:14px;padding:12px 14px;box-shadow:0 2px 0 rgba(55,0,60,.05)}
.slv .box small{font:500 11.5px var(--font);letter-spacing:0;text-transform:none;color:var(--ink3)}
.slv .box b{font:800 22px/1.15 var(--font);color:var(--ink);letter-spacing:-.02em;overflow-wrap:anywhere}
.slv .box em{color:var(--ink3);font:500 11px var(--font)}
.slv .box:first-child{grid-column:1/-1;position:relative;overflow:hidden;padding:18px 18px 16px;color:#fff;
  background:radial-gradient(80% 120% at 100% 0,#7A1583 0,rgba(122,21,131,0) 60%),var(--p)}
.slv .box:first-child::after{content:"";position:absolute;right:-30px;bottom:-60px;width:180px;height:180px;border-radius:50%;background:var(--gradD);opacity:.9;filter:blur(.2px);clip-path:polygon(40% 0,100% 0,100% 100%,0 100%)}
.slv .box:first-child small{color:var(--pInk2);font-size:13px;position:relative;z-index:1}
.slv .box:first-child b{font:800 48px/1 var(--font);color:#fff;margin-top:6px;position:relative;z-index:1}
.slv .box:first-child em{color:var(--pInk2);position:relative;z-index:1}
.slv .box.win b{color:var(--win)}.slv .box.acc b,.slv .box.warn b{color:var(--ink)}
.slv .box:first-child.win b,.slv .box:first-child.acc b,.slv .box:first-child.warn b{color:#fff}

/* ---------- league table ---------- */
.otv .ranking-list{padding:0}
.otv .rank-row{grid-template-columns:44px 1fr 64px 54px;gap:10px;padding:11px 14px 11px 0;border-radius:0}
.otv .rank-row+.rank-row{border-top:1px solid var(--hair)}
.otv .rank-row:hover{background:#FBF9FB}
.otv .rank-num,.otv .rank-row:nth-child(n) .rank-num{display:flex;align-items:center;justify-content:center;gap:4px;background:none!important;box-shadow:none!important;
  color:var(--ink)!important;font:700 14px var(--font)!important;width:auto;height:auto}
.otv .rank-mv{display:inline-block;width:14px;height:14px;border-radius:50%;flex:none;position:relative}
.otv .rank-mv.up{background:var(--win)}.otv .rank-mv.dn{background:var(--pink)}.otv .rank-mv.eq{background:#D5CCD8}
.otv .rank-mv.up::after,.otv .rank-mv.dn::after{content:"";position:absolute;left:3.5px;border:3.5px solid transparent}
.otv .rank-mv.up::after{top:1.5px;border-bottom:4.5px solid #fff}
.otv .rank-mv.dn::after{top:4.5px;border-top:4.5px solid #fff}
.otv .rank-mv.eq::after{content:"";position:absolute;left:4px;top:6px;width:6px;height:2px;background:#fff;border-radius:1px}
.otv .rank-row:nth-child(-n+3){background:linear-gradient(90deg,rgba(5,240,255,.07),rgba(0,255,133,.07))}
.otv .rank-row:nth-child(-n+3) .rank-num{position:relative}
.otv .rank-row:nth-child(1) .rank-num::before,.otv .rank-row:nth-child(2) .rank-num::before,.otv .rank-row:nth-child(3) .rank-num::before{content:"";position:absolute;left:0;top:-11px;bottom:-11px;width:4px}
.otv .rank-row:nth-child(1) .rank-num::before{background:var(--gold)}
.otv .rank-row:nth-child(2) .rank-num::before{background:var(--silver)}
.otv .rank-row:nth-child(3) .rank-num::before{background:var(--bronze)}
.otv .rank-name{font:600 14px/1.25 var(--font);color:var(--ink)}
.otv .rank-branch{font:400 11.5px var(--font);color:var(--ink3);letter-spacing:0}
.otv .rank-value{font:800 17px var(--font);color:var(--ink);letter-spacing:-.02em}
.otv .rank-segbar{gap:0;height:6px;border-radius:999px;overflow:hidden;background:#EEE8F0}
.otv .rank-seg{flex:1;width:auto;height:6px;border-radius:0;background:transparent}
.otv .rank-seg.on{background:var(--gradD)}
.otv .rank-row.me{background:var(--p)!important}
.otv .rank-row.me .rank-name,.otv .rank-row.me .rank-value,.otv .rank-row.me .rank-num{color:#fff!important}
.otv .rank-row.me .rank-branch{color:var(--pInk2)}
.otv .rank-row.me .rank-segbar{background:rgba(255,255,255,.15)}
.otv .rank-row.me .rank-name::after{content:"You";margin-left:7px;padding:1px 8px;border-radius:999px;background:var(--grad);color:var(--p);font:700 10.5px/1.6 var(--font);vertical-align:1px}
.otv .rank-more{font:600 13px var(--font);border-radius:999px;border:1.5px solid var(--p);color:var(--p);padding:7px 18px}
.otv .sb-tog,.otv .sb-legend{border-radius:12px}
@media (max-width:420px){ .otv .rank-row{grid-template-columns:40px 1fr 48px 50px;gap:8px} .otv .rank-value{font-size:16px} }

/* ---------- shop league cards ---------- */
.amv .shop{background:#fff;border:1px solid var(--hair);border-radius:14px}
.amv .big{font-family:var(--font)!important;font-weight:800!important;letter-spacing:-.03em}
.amv .bar,.amv .ag .bar{height:6px;background:#EEE8F0;border-radius:999px}
.amv .tag{font:600 11.5px var(--font);letter-spacing:0;border-radius:999px}

/* ---------- agents table ---------- */
.amv .ag .pn{font:600 14px var(--font);color:var(--ink)}

/* ---------- this month sheet ---------- */
.slv table.sheet{font:500 13px var(--font)}
.slv table.sheet th{background:var(--p);font:600 11.5px var(--font);padding:9px 3px}
.slv table.sheet th.achh{background:var(--win)}
.slv table.sheet th.kh{background:var(--p2)}
.slv table.sheet td.achc{background:var(--winSoft);color:var(--win);font-weight:700}
.slv table.sheet td.kc{background:#F6EEF7}
.slv table.sheet td:first-child{font-weight:600}
.slv .erow span{font:600 15px var(--font)}
.slv .erow input{font:800 19px var(--font);border-radius:10px}

/* ---------- play ---------- */
.game b{font:800 20px var(--font);letter-spacing:-.02em;color:var(--ink)}
.game em{background:var(--grad);color:var(--p);font:700 12px var(--font);border-radius:999px;padding:5px 14px}

.top img,#login .brand img{box-shadow:0 0 0 1px rgba(255,255,255,.18)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---------- prototype: no explanations inside the app ---------- */
.sb-legend,.sb-tog,.rg-note,.rg-legend,.sc-leg,.play-note,.slv .note,.slv .tip,#login .tip,.rg-dl .rg-note{display:none!important}

/* ---------- a touch of Orange ---------- */
:root{--org:#FF7900;--org2:#FF9A3D}
.ibtn.gamebtn{background:linear-gradient(135deg,var(--org),var(--org2));color:#fff;position:relative;overflow:visible}
.ibtn.gamebtn svg{animation:padTilt 2.4s ease-in-out infinite;transform-origin:50% 60%}
.ibtn.gamebtn::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:2px solid var(--org);opacity:0;animation:padPing 2.4s ease-out infinite}
@keyframes padTilt{0%,70%,100%{transform:rotate(0)}76%{transform:rotate(-14deg)}82%{transform:rotate(12deg)}88%{transform:rotate(-8deg)}94%{transform:rotate(4deg)}}
@keyframes padPing{0%,60%{opacity:0;transform:scale(.9)}70%{opacity:.8}100%{opacity:0;transform:scale(1.35)}}
.otv .trophy.kpi{background:rgba(255,121,0,.18)}
.otv .rank-row.me .rank-name::after{background:var(--org);color:#fff}
.slv .box:first-child::before{content:"";position:absolute;left:18px;top:0;width:36px;height:4px;border-radius:0 0 4px 4px;background:var(--org);z-index:1}
.bnav{justify-content:space-around}
.bnav button{flex:1 1 0}
/* the header's .top must not leak into league rows (tr.top) */
.rg-tbl tr.top{background:none!important;position:static!important;padding:0!important;display:table-row}
.rg-tbl tr.top::after{display:none!important}
.rg-tbl tr.top td{background:linear-gradient(90deg,rgba(5,240,255,.08),rgba(0,255,133,.08))}
.rg-tbl tr.top td.rk{color:var(--org)}
.rg-tbl{font-family:var(--font)}
.rg-tbl td.nm{font-weight:600;color:var(--ink)}
.rg-tbl .rg-avg{font-weight:800;color:var(--ink)}
.rg-c.g{background:var(--win)}.rg-c.r{background:var(--pink)}
.rg-wrap{overflow-x:auto}
.otv .trophy.kpi{color:#fff;font-size:14px}
.rg-tbl td.nm{max-width:112px}
.rg-tbl td{padding:5px 2px}
.rg-c{min-width:36px;font-size:11px;padding:3px 2px}
.rg-tr{font-size:11px;white-space:nowrap}
@media (max-width:440px){.rg-tbl th:last-child,.rg-tbl td:last-child{display:none}}

/* ---------- ranking switch (GA / KPI) ---------- */
.rk-tabs{display:flex;gap:6px;padding:12px 14px 10px;border-bottom:1px solid var(--hair)}
.rk-tabs button{flex:1;border:1.5px solid var(--hair2);background:#fff;color:var(--ink2);border-radius:999px;padding:8px;font:700 13.5px var(--font);cursor:pointer}
.rk-tabs button.on{background:var(--p);border-color:var(--p);color:#fff;box-shadow:0 3px 8px rgba(55,0,60,.25)}

/* ---------- birthday: purple strip + card ---------- */
.otv .bd-ticker{background:var(--p);color:#fff;border:0;position:relative}
.otv .bd-ticker::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--grad)}
.otv .bd-track{font:600 13.5px var(--font);letter-spacing:0;padding:9px 0}
.otv .bd-name{background:var(--org);color:#fff;font-weight:700;letter-spacing:0;padding:1px 10px}
.otv .bd-hearts svg path{fill:var(--org)}
.bd-modal{position:fixed;inset:0;z-index:900;display:grid;place-items:center;padding:24px;background:rgba(42,0,46,.55);animation:bdIn .3s ease-out}
.bd-card{position:relative;width:100%;max-width:340px;text-align:center;color:#fff;border-radius:22px;padding:34px 24px 22px;overflow:hidden;
  background:radial-gradient(90% 70% at 100% 0,#7A1583 0,rgba(122,21,131,0) 60%),var(--p);box-shadow:0 24px 60px rgba(0,0,0,.35);animation:bdPop .45s cubic-bezier(.2,1.4,.4,1)}
.bd-card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--cy),var(--gr),var(--org))}
.bd-cake{width:76px;height:76px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;font-size:38px;background:linear-gradient(135deg,var(--org),var(--org2));box-shadow:0 0 0 6px rgba(255,121,0,.2)}
.bd-card small{display:block;font:600 14px var(--font);color:var(--pInk2)}
.bd-card b{display:block;font:800 36px/1.1 var(--font);letter-spacing:-.02em;margin:4px 0 10px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.bd-card p{margin:0 0 6px;font:500 14px/1.5 var(--font);color:#fff}
.bd-sign{display:block;font:600 12px var(--font);color:var(--org2);margin-bottom:18px}
.bd-card button{width:100%;border:0;border-radius:999px;padding:13px;background:var(--grad);color:var(--p);font:700 15px var(--font);cursor:pointer}
@keyframes bdIn{from{opacity:0}}
@keyframes bdPop{from{transform:scale(.85);opacity:0}}

/* ---------- checklist ---------- */
.cl-hero{position:relative;display:grid;grid-template-columns:64px 1fr;gap:16px;align-items:center;border-radius:16px;padding:16px;margin-bottom:14px;color:#fff;
  background:radial-gradient(80% 120% at 100% 0,#7A1583 0,rgba(122,21,131,0) 60%),var(--p)}
.cl-ring{width:64px;height:64px;transform:rotate(-90deg)}
.cl-ring circle{fill:none;stroke-width:7;stroke-linecap:round}
.cl-ring .tr{stroke:rgba(255,255,255,.14)}
.cl-ring .fl{stroke:var(--gr);transition:stroke-dasharray .3s}
.cl-hero:not(.ok) .cl-ring .fl{stroke:var(--org)}
.cl-ring-n{position:absolute;left:16px;top:50%;width:64px;transform:translateY(-50%);text-align:center;font:800 18px var(--font)}
.cl-ring-n small{font-size:11px;font-weight:600;color:var(--pInk2)}
.cl-hero-t b{display:block;font:800 19px var(--font)}
.cl-hero-t span{display:block;font:500 13px var(--font);color:var(--pInk2)}
.cl-hero-t em{display:inline-block;margin-top:6px;font:600 11.5px var(--font);font-style:normal;padding:2px 10px;border-radius:999px;background:rgba(255,255,255,.12)}
.cl-hero.ok .cl-hero-t b{color:var(--gr)}
.cl-grp{background:#fff;border-radius:14px;margin-bottom:12px;overflow:hidden;box-shadow:0 2px 0 rgba(55,0,60,.05)}
.cl-gh{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--hair)}
.cl-gh b{font:700 15px var(--font);color:var(--ink)}
.cl-gh span{font:700 12px var(--font);color:var(--ink3);background:#F3EEF4;border-radius:999px;padding:2px 10px}
.cl-gh span.full{background:var(--winSoft);color:var(--win)}
.cl-q{padding:12px 14px;border-top:1px solid var(--hair);gap:12px;transition:background .2s}
.cl-gh+.cl-q{border-top:0}
.cl-q p{font:500 13.5px/1.45 var(--font);color:var(--ink)}
.cl-q.is-y{background:linear-gradient(90deg,rgba(0,255,133,.08),transparent)}
.cl-q.is-n{background:linear-gradient(90deg,rgba(233,0,82,.07),transparent)}
.yn{gap:0;background:#F3EEF4;border-radius:999px;padding:3px}
.yn button{width:40px;height:34px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--ink3);font:700 15px var(--font)}
.yn button.y{background:var(--win);color:#fff}
.yn button.n{background:var(--pink);color:#fff}
.cl-c{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border-top:1px solid var(--hair);font:500 13px/1.5 var(--font);color:var(--ink)}
.cl-gh+.cl-c{border-top:0}
.cl-c input.sw{appearance:none;-webkit-appearance:none;width:46px;height:28px;border-radius:999px;background:#E2D9E4;position:relative;flex:none;margin:0;cursor:pointer;transition:background .2s}
.cl-c input.sw::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .2s}
.cl-c input.sw:checked{background:var(--win)}
.cl-c input.sw:checked::after{transform:translateX(18px)}
#v-checklist .cta{position:sticky;bottom:calc(76px + env(safe-area-inset-bottom,0px));z-index:5;background:var(--grad);color:var(--p);border-radius:999px;font:700 16px var(--font);box-shadow:0 8px 20px rgba(55,0,60,.2)}
#v-checklist .cta:disabled{background:var(--p);color:#fff;opacity:1}
#v-checklist .msg{font:600 13px var(--font)}

/* ---------- search ---------- */
#v-sr{padding-top:0}
.sr-list{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 2px 0 rgba(55,0,60,.05)}
.sr-list .empty{padding:24px;text-align:center;color:var(--ink3);font:500 14px var(--font)}
.sr-r{display:flex;align-items:center;gap:12px;padding:12px 14px;border-top:1px solid var(--hair)}
.sr-list .sr-r:first-child{border-top:0}
.sr-r .sr-ic{flex:none;width:38px;height:38px;padding:0;border-radius:50%;border:1.5px solid var(--hair2);background:#fff;color:var(--p);display:grid;place-items:center;font:700 14px var(--font)}
.sr-ic svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sr-r .sr-ic.ok{background:var(--win);border-color:var(--win);color:#fff}

/* ---------- games: two tiles, logo + name ---------- */
.games{grid-template-columns:1fr;gap:14px}
.game{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:26px 16px;border-radius:20px;
  background:radial-gradient(80% 120% at 100% 0,#7A1583 0,rgba(122,21,131,0) 60%),var(--p);color:#fff;position:relative;overflow:hidden}
.game::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--grad)}
.game:nth-child(2)::after{background:linear-gradient(90deg,var(--org),var(--org2))}
.game canvas{width:120px;height:120px;border-radius:26px;background:#fff;box-shadow:0 10px 24px rgba(0,0,0,.25)}
.game b{color:#fff;font:800 22px var(--font);letter-spacing:-.01em}
.game:active{transform:scale(.98)}

/* ---------- shared ---------- */
.task-toasts{display:none!important}
.bd-sep,.bd-sign i{font-style:normal;color:var(--org);font-weight:800;margin:0 2px}
#ot-awd .seg{margin:14px 0 4px}
.vh h1{font:800 24px var(--font);letter-spacing:-.02em;color:var(--ink)}
.vh span{font:600 12px var(--font);color:var(--ink3)}

/* ---------- Follow ---------- */
#v-follow{max-width:620px;margin:0 auto;padding:16px 16px 24px}
.fw-card{background:#fff;border-radius:16px;padding:14px;margin-bottom:12px;box-shadow:0 2px 0 rgba(55,0,60,.05),0 8px 24px rgba(55,0,60,.05)}
.fw-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.fw-hd b{font:700 16px var(--font);color:var(--ink)}
.fw-pill{font:700 11.5px var(--font);padding:3px 11px;border-radius:999px}
.fw-pill.ok{background:var(--winSoft);color:var(--win)}.fw-pill.bad{background:var(--pinkSoft);color:var(--pink)}
.fw-who{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.fw-av{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--p);color:#fff;font:700 15px var(--font)}
.fw-who b{display:block;font:600 14px var(--font);color:var(--ink)}
.fw-who small{font:500 12px var(--font);color:var(--ink3)}
.fw-ph{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.fw-ph button,.fw-ph .none{position:relative;border:0;padding:0;border-radius:12px;overflow:hidden;aspect-ratio:4/3;background:#EEE8F0;cursor:zoom-in}
.fw-ph img{width:100%;height:100%;object-fit:cover;display:block}
.fw-ph span{position:absolute;left:8px;bottom:8px;font:700 11px var(--font);color:#fff;background:rgba(55,0,60,.75);padding:2px 9px;border-radius:999px}
.fw-ph .none{display:grid;place-items:center;font:600 12px var(--font);color:var(--ink3);cursor:default}
.fw-btn{width:100%;border:0;border-radius:999px;padding:11px;background:var(--p);color:#fff;font:700 14px var(--font);cursor:pointer}
.fw-btn.ghost{background:#fff;color:var(--p);border:1.5px solid var(--p)}
.fw-two{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.fw-sel{width:100%;margin-bottom:8px;border:1.5px solid var(--hair2);border-radius:10px;padding:9px 10px;font:600 14px var(--font);color:var(--ink);background:#fff}
.fw-list .fw-r{display:flex;justify-content:space-between;align-items:center;padding:9px 2px;border-top:1px solid var(--hair);font:500 14px var(--font);color:var(--ink)}
.fw-list .fw-r:first-child{border-top:0}
.st{font:700 11.5px var(--font);font-style:normal;padding:3px 10px;border-radius:999px}
.st.ok{background:var(--winSoft);color:var(--win)}.st.bad{background:var(--pinkSoft);color:var(--pink)}.st.off{background:#EEE8F0;color:var(--ink3)}
.fw-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.fw-nums div{background:#F8F6F9;border-radius:10px;padding:8px 10px}
.fw-nums small{display:block;font:500 11px var(--font);color:var(--ink3)}
.fw-nums b{font:800 18px var(--font);color:var(--ink)}
.fw-today{border-radius:12px;padding:12px 14px;background:var(--p);color:#fff;margin-bottom:10px}
.fw-today small{font:500 11.5px var(--font);color:var(--pInk2)}
.fw-today b{display:block;font:800 20px var(--font)}
.fw-today span{font:500 12.5px var(--font);color:var(--pInk2)}
.fw-week{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;text-align:center}
.fw-week small{display:block;font:500 10.5px var(--font);color:var(--ink3)}
.fw-week b{display:block;font:700 14px var(--font);color:var(--ink);margin-bottom:2px}
.ph-zoom{position:fixed;inset:0;z-index:960;background:rgba(20,0,24,.92);display:grid;place-items:center;padding:16px}
.ph-zoom img{max-width:100%;max-height:100%;border-radius:12px}
.ph-zoom button{position:absolute;top:calc(12px + env(safe-area-inset-top,0px));right:12px;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.15);color:#fff;font-size:18px}

/* ---------- Pettycash inside the app ---------- */
#v-petty.on{display:block}
.petty-f{display:block;width:100%;height:calc(100vh - 140px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));border:0;background:#fff}

/* ---------- checklist photos ---------- */
.cl-ph{display:grid;grid-template-columns:minmax(0,190px);justify-content:center;gap:10px;padding:12px 14px 14px}
.ph-t{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;aspect-ratio:4/3;border-radius:12px;border:2px dashed var(--hair2);background:#FBF9FB;color:var(--p);cursor:pointer;overflow:hidden}
.ph-t svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.ph-t b{font:700 13px var(--font)}
.ph-t input{position:absolute;inset:0;opacity:0;cursor:pointer}
.ph-t.has{border:0;padding:0}
.ph-t.has img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ph-t.has b{position:absolute;left:8px;bottom:8px;color:#fff;background:rgba(55,0,60,.75);padding:2px 9px;border-radius:999px;font-size:11px}
.ph-t.has button{position:absolute;top:6px;right:6px;width:30px;height:30px;border-radius:50%;border:0;background:rgba(255,255,255,.9);color:var(--p);font:700 15px var(--font)}

/* ---------- schedule download + printable sheet ---------- */
.cta.dlsch{background:var(--grad);color:var(--p);border-radius:999px;font:700 15px var(--font);margin-top:4px}
.sp-modal{position:fixed;inset:0;z-index:940;background:#2A002E;display:flex;flex-direction:column}
.sp-bar{display:flex;align-items:center;gap:8px;padding:calc(10px + env(safe-area-inset-top,0px)) 12px 10px;color:#fff}
.sp-bar b{flex:1;font:700 15px var(--font)}
.sp-bar button{border:0;border-radius:999px;padding:8px 14px;font:700 13px var(--font);cursor:pointer}
.sp-x{background:rgba(255,255,255,.12);color:#fff;width:38px;height:38px;padding:0!important}
.sp-go{background:var(--grad);color:var(--p)}
.sp-stage{flex:1;overflow:auto;padding:12px}
.sp-scale{transform-origin:0 0;width:1123px;height:794px}
.sp-page{width:1123px;height:794px;background:#fff;padding:22px;font-family:Poppins,sans-serif;color:#37003C}
.sp-top{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:3px solid;border-image:linear-gradient(90deg,#05F0FF,#00FF85,#FF7900) 1;padding-bottom:12px;margin-bottom:14px}
.sp-h1{font:800 38px/1 Poppins;letter-spacing:-.02em}
.sp-t{width:100%;border-collapse:collapse;table-layout:fixed;font-size:11px}
.sp-t th{font:700 10.5px Poppins;color:#6B4F6E;padding:4px 0;text-align:center}
.sp-t th small{display:block;font-weight:500;font-size:9px}
.sp-t th.nm,.sp-t td.nm{width:150px;text-align:left;font:600 12.5px Poppins;color:#37003C;padding-left:4px}
.sp-t td{padding:4px 0;text-align:center;border-top:1px solid #ECE6EE}
.sp-t tr:nth-child(even) td{background:#FAF8FB}
.sp-t .sh{font-size:9.5px;padding:2px 3px;min-width:0}

/* ---------- Mails ---------- */
#v-mails{padding-top:0}

/* ---------- Team this month dashboard ---------- */
.tdash .td-p{border-top:1px solid var(--hair);padding:12px 0;cursor:pointer}
.tdash .dayline+.td-p{border-top:0}
.td-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.td-h b{font:700 14.5px var(--font);color:var(--ink)}
.td-k{font:800 12.5px var(--font);padding:3px 10px;border-radius:999px;background:var(--pinkSoft);color:var(--pink)}
.td-k.mid{background:#FFF1E3;color:#C25400}.td-k.win{background:var(--winSoft);color:var(--win)}
.td-g{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.td-i{position:relative;background:#F8F6F9;border-radius:10px;padding:7px 9px 9px;overflow:hidden}
.td-i small{display:block;font:500 10.5px var(--font);color:var(--ink3)}
.td-i b{font:800 15px var(--font);color:var(--ink)}.td-i b em{font-style:normal;font-weight:500;font-size:11px;color:var(--ink3)}
.td-i span{position:absolute;top:7px;right:8px;font:700 11px var(--font);color:var(--pink)}
.td-i.mid span{color:#C25400}.td-i.win span{color:var(--win)}
.td-i i{position:absolute;left:0;bottom:0;height:3px;width:var(--p);background:var(--pink)}
.td-i.mid i{background:var(--org)}.td-i.win i{background:var(--gradD)}
.slv .tabs button{white-space:nowrap;font-size:12.5px;padding:9px 4px}
.sp-t{margin-top:auto}

/* ===== v5: Search, Mails & Forms, Games ===== */
#v-sr,#v-mails{padding-top:16px}
.s3-top{position:sticky;top:calc(58px + env(safe-area-inset-top,0px));z-index:20;margin:0 -16px 12px;padding:6px 16px 10px;background:linear-gradient(var(--page) 80%,rgba(243,241,244,0))}
.s3-field{display:flex;align-items:center;gap:10px;background:#fff;border-radius:16px;padding:0 14px;box-shadow:0 1px 0 rgba(55,0,60,.06),0 10px 24px rgba(55,0,60,.08);border:1.5px solid transparent;transition:border-color .2s}
.s3-field:focus-within{border-color:var(--p)}
.s3-field svg{width:20px;height:20px;fill:none;stroke:var(--p);stroke-width:2.2;stroke-linecap:round;flex:none}
.s3-field input{flex:1;min-width:0;border:0;outline:0;background:transparent;padding:15px 0;font:500 15.5px var(--font);color:var(--ink)}
.s3-field input::placeholder{color:var(--ink3)}
.s3-n{font:700 11.5px var(--font);color:var(--p);background:#F1EAF2;border-radius:999px;padding:3px 9px}
.s3-tabs{display:flex;gap:8px;margin-top:10px}
.s3-tabs button{border:0;background:transparent;color:var(--ink3);font:700 14px var(--font);padding:6px 2px;margin-right:12px;border-bottom:3px solid transparent;cursor:pointer}
.s3-tabs button.on{color:var(--p);border-image:var(--grad) 1;border-bottom-width:3px;border-bottom-style:solid}
.s3-list{display:flex;flex-direction:column;gap:8px}
.s3{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:0;background:#fff;border-radius:14px;padding:12px;box-shadow:0 1px 0 rgba(55,0,60,.05);cursor:pointer;transition:transform .12s}
button.s3:active{transform:scale(.98)}
.s3.h{cursor:default;padding:14px}
.s3-empty{padding:40px 0;text-align:center;font:600 14px var(--font);color:var(--ink3)}
#otToast{position:fixed;left:50%;bottom:calc(92px + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);opacity:0;z-index:980;background:var(--p);color:#fff;font:600 13.5px var(--font);padding:10px 18px;border-radius:999px;box-shadow:0 10px 24px rgba(55,0,60,.3);transition:.2s;pointer-events:none;white-space:nowrap}
#otToast::before{content:"✓";color:var(--gr);margin-right:8px;font-weight:800}
#otToast.on{opacity:1;transform:translate(-50%,0)}
.m3-ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--cat) 14%,#fff);color:var(--cat);margin-bottom:6px;flex:none}
.m3-ic svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.m3-file{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:0;background:#fff;border-radius:14px;padding:12px;box-shadow:0 1px 0 rgba(55,0,60,.05);cursor:pointer}
.m3-att svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.fi3{flex:none;width:40px;height:48px;border-radius:6px 14px 6px 6px;display:grid;place-items:center;background:#FDE6EF;color:var(--pink);font:800 11px var(--font)}
.fi3.x{background:var(--winSoft);color:var(--win)}
.m3-sheet{position:fixed;inset:0;z-index:970;background:rgba(42,0,46,.45);display:flex;align-items:flex-end;justify-content:center;animation:bdIn .2s}
.m3-sheet.out{opacity:0;transition:opacity .2s}
.m3-panel{width:100%;max-width:620px;max-height:88vh;overflow:auto;background:#fff;border-radius:24px 24px 0 0;padding:8px 16px calc(16px + env(safe-area-inset-bottom,0px));animation:shUp .28s cubic-bezier(.2,.9,.3,1)}
@keyframes shUp{from{transform:translateY(40%)}}
.m3-grip{display:block;width:40px;height:5px;border-radius:3px;background:#E2D9E4;margin:4px auto 12px}
.m3-ph{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.m3-ph .m3-ic{margin:0}
.m3-ph div{flex:1}.m3-ph b{display:block;font:800 18px var(--font);color:var(--ink)}.m3-ph small{font:600 12px var(--font);color:var(--cat)}
.m3-x{width:36px;height:36px;border-radius:50%;border:0;background:#F1EAF2;color:var(--p);font-size:15px;cursor:pointer}
.m3-subj{display:grid;grid-template-columns:1fr auto;align-items:center;width:100%;text-align:left;border:1.5px solid var(--hair2);background:#fff;border-radius:14px;padding:10px 12px;margin-bottom:10px;cursor:pointer}
.m3-subj small{grid-column:1;font:500 11px var(--font);color:var(--ink3)}
.m3-subj b{grid-column:1;font:600 14px var(--font);color:var(--ink)}
.m3-subj span{grid-column:2;grid-row:1/3;color:var(--p)}.m3-subj svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
.m3-body{margin:0 0 12px;white-space:pre-wrap;font:400 13.5px/1.6 var(--font);color:var(--ink2);background:#F8F6F9;border-radius:14px;padding:14px}
.m3-att{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.m3-att button{display:flex;align-items:center;gap:10px;border:0;background:#F8F6F9;border-radius:14px;padding:8px 12px 8px 8px;font:600 13.5px var(--font);color:var(--ink);text-align:left;cursor:pointer}
.m3-att button svg{margin-left:auto;color:var(--p)}
.m3-att .fi3{width:34px;height:40px;font-size:10px}
.m3-cta{position:sticky;bottom:0;width:100%;border:0;border-radius:999px;padding:15px;background:var(--grad);color:var(--p);font:800 16px var(--font);cursor:pointer;box-shadow:0 8px 20px rgba(0,200,120,.25)}

.games2{display:flex;flex-direction:column;gap:14px;margin-top:14px}
.gm{position:relative;display:block;width:100%;height:210px;border:0;padding:0;border-radius:22px;overflow:hidden;cursor:pointer;box-shadow:0 14px 30px rgba(55,0,60,.18);transition:transform .15s}
.gm:active{transform:scale(.98)}
.gm-cv{position:absolute;inset:0;width:100%;height:100%;display:block}
.gm-ov{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;padding:40px 16px 14px;background:linear-gradient(transparent,rgba(30,0,34,.85))}
.gm-ov b{font:800 24px var(--font);color:#fff;letter-spacing:-.02em;text-shadow:0 2px 8px rgba(0,0,0,.3)}
.gm-play{display:inline-flex;align-items:center;gap:6px;padding:9px 16px 9px 12px;border-radius:999px;background:var(--grad);color:var(--p);font:800 14px var(--font);box-shadow:0 6px 16px rgba(0,255,133,.35)}
.gm.alt .gm-play{background:linear-gradient(135deg,var(--org),var(--org2));color:#fff;box-shadow:0 6px 16px rgba(255,121,0,.35)}
.gm-play svg{width:16px;height:16px;fill:currentColor}
/* v6: hunts, mails and forms share the SR card look */
div.s3{cursor:pointer}
.m3-sheet .m3-ic{background:linear-gradient(135deg,#F1EAF2,#E7F9F3);color:var(--p)}

/* ===== v7: Area Manager ===== */
#v-amfollow{max-width:620px;margin:0 auto;padding:16px 16px 24px}
.acc{background:#fff;border-radius:16px;margin-bottom:10px;box-shadow:0 1px 0 rgba(55,0,60,.05),0 8px 20px rgba(55,0,60,.04);overflow:hidden}
.acc-h{display:flex;align-items:center;gap:8px;width:100%;border:0;background:none;padding:15px 14px;text-align:left;cursor:pointer}
.acc-h b{flex:1;font:700 15px var(--font);color:var(--ink)}
.acc-h i{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#F4EEF5;color:var(--p);transition:transform .2s}
.acc-h i svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.acc.open .acc-h i{transform:rotate(90deg)}
.acc-b{display:none;padding:0 14px 14px}
.acc.open .acc-b{display:block}
.fw-pill{background:#F4EEF5;color:var(--ink2)}
.acc.wa .acc-h{cursor:default}
.wa-copy{border:0;border-radius:999px;padding:8px 16px;background:#25D366;color:#fff;font:700 13px var(--font);cursor:pointer}
.wa-copy.ok{background:var(--win)}
.am-task{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:12px;background:var(--p);color:#fff;margin-bottom:8px}
.am-task .dot{width:10px;height:10px;border-radius:50%;background:var(--org);margin-top:6px;flex:none}
.am-task b{display:block;font:700 14px var(--font)}.am-task small{font:500 12px var(--font);color:var(--pInk2)}
.am-none{font:500 13px var(--font);color:var(--ink3);padding:6px 0}
.am-bd{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.am-bd span{font:600 13px var(--font);padding:6px 12px;border-radius:999px;background:#FFF1E3;color:#C25400}
.am-bd em{font:500 13px var(--font);color:var(--ink3);font-style:normal}
.am-shop,.am-chk{padding:10px 0;border-top:1px solid var(--hair)}
.fw-sel+.am-shop,.am-chk:first-child{border-top:0}
.am-sh{display:flex;align-items:center;gap:6px}
.am-sh b{flex:1;font:600 14px var(--font);color:var(--ink)}
.am-miss{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.am-miss span{font:500 12px var(--font);padding:3px 9px;border-radius:999px;background:var(--pinkSoft);color:var(--pink)}
.am-by{display:block;font:500 12px var(--font);color:var(--ink3);margin:2px 0 8px}
.am-chk .fw-ph{margin-bottom:0}
.am-sc{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-top:1px solid var(--hair)}
.fw-sel+.am-sc{border-top:0}
.am-sc b{display:block;font:600 14px var(--font);color:var(--ink)}.am-sc small{font:500 11.5px var(--font);color:var(--ink3)}
.am-sc-r{display:flex;flex-direction:column;align-items:flex-end;gap:2px}

/* My area */
#view-myarea .ma-tabs{border:0;padding:0 0 12px;margin-top:2px}
.ma-hero{position:relative;overflow:hidden;border-radius:18px;padding:20px 18px;margin-bottom:12px;color:#fff;background:radial-gradient(80% 120% at 100% 0,#7A1583 0,rgba(122,21,131,0) 60%),var(--p)}
.ma-hero::after{content:"";position:absolute;right:-40px;bottom:-70px;width:200px;height:200px;border-radius:50%;background:var(--gradD);opacity:.9;clip-path:polygon(40% 0,100% 0,100% 100%,0 100%)}
.ma-hero::before{content:"";position:absolute;left:18px;top:0;width:36px;height:4px;border-radius:0 0 4px 4px;background:var(--org)}
.ma-hero small{position:relative;z-index:1;font:600 13px var(--font);color:var(--pInk2)}
.ma-hero b{position:relative;z-index:1;display:block;font:800 52px/1.05 var(--font);letter-spacing:-.03em;margin:4px 0}
.ma-hero span{position:relative;z-index:1;font:500 12.5px var(--font);color:var(--pInk2)}
.ma-sub{font:700 15px var(--font);color:var(--ink);margin:18px 2px 10px}
#ma-after .acc-h .fw-pill{font-size:11px}
#ma-after .acc-b.slv{background:none;padding:0 10px 12px}
#ma-after .acc-b table.sheet{font-size:12px}
#view-myarea .tdash{background:#fff;border-radius:14px;padding:4px 14px;box-shadow:0 2px 0 rgba(55,0,60,.05)}
#view-myarea .td-p{cursor:default}
#view-myarea .td-p:first-child{border-top:0}
.td-h b small{display:block;font:500 11.5px var(--font);color:var(--ink3)}
.amv .note{display:none!important}
/* photo label sits under the picture: name, time and date */
.fw-ph button{display:flex;flex-direction:column;aspect-ratio:auto;background:#fff;border:1px solid var(--hair);cursor:zoom-in}
.fw-ph img{aspect-ratio:4/3;height:auto}
.fw-ph span{position:static;display:block;border-radius:0;background:none;color:var(--ink);font:600 11.5px var(--font);padding:6px 8px;text-align:left}

/* ===== v8: AM Follow board ===== */
.am-today{padding:12px 14px}
.am-today .am-task:last-of-type{margin-bottom:0}
.am-today .am-none{padding:0 0 4px}
#v-amfollow .ma-tabs{border:0;padding:4px 0 12px}
.bd-seg{margin:0 0 10px}
.board{display:flex;flex-direction:column;gap:5px}
.bd-row{display:grid;grid-template-columns:minmax(0,1fr) 54px 64px 64px;gap:5px;align-items:center}
.bd-row>b{font:600 13.5px var(--font);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:4px}
.bd-head span{font:600 11px var(--font);color:var(--ink3);text-align:center}
.bx{height:38px;border-radius:9px;display:grid;place-items:center;background:#F4EFF5;font:800 15px var(--font);color:var(--ink);font-variant-numeric:tabular-nums}
.bx.no{background:var(--pinkSoft);color:var(--pink);font-size:16px}
.bx.off{background:#EEE8F0;color:var(--ink3);font-size:11px;font-weight:700}
.bd-grp{margin:10px 0 2px;font:800 11.5px var(--font);letter-spacing:.08em;color:var(--org)}
.bd-grp:first-of-type{margin-top:2px}
.bd-shop{margin:8px 0 1px;font:700 12px var(--font);color:var(--ink3)}
.gp{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--hair)}
.fw-hd+.gp{border-top:0}
.gp b{display:block;font:600 14px var(--font);color:var(--ink)}.gp small{font:500 11.5px var(--font);color:var(--ink3)}
.gp-d{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;align-items:center;max-width:60%}
.gp-d span{min-width:24px;height:24px;padding:0 5px;border-radius:7px;display:grid;place-items:center;background:var(--pinkSoft);color:var(--pink);font:700 11.5px var(--font)}
.gp-d em{font:600 11px var(--font);font-style:normal;color:var(--ink3);margin-left:2px}
.am-tw{overflow-x:auto;margin:0 -14px;padding:0 14px}
.am-sch{border-collapse:separate;border-spacing:0;font:500 11px var(--font)}
.am-sch th{font:700 10.5px var(--font);color:var(--ink3);padding:4px 2px;text-align:center;min-width:34px}
.am-sch th small{display:block;font-weight:500;font-size:9px}
.am-sch .nm{position:sticky;left:0;z-index:1;background:#fff;text-align:left;min-width:110px;max-width:110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:600 12px var(--font);color:var(--ink);padding:4px 8px 4px 0}
.am-sch td{padding:3px 2px;text-align:center;border-top:1px solid var(--hair)}
.am-sch tr.shr td{border-top:0;padding-top:12px}
.am-sch tr.shr td.nm{font:800 11.5px var(--font);color:var(--org);letter-spacing:.02em}
.am-sch .td{background:rgba(255,121,0,.10)}
.am-sch th.td{color:#fff;background:var(--org);border-radius:8px 8px 0 0}
.am-sch .sh{font-size:10px;padding:2px 4px;min-width:0}
.ma-sel{margin-bottom:10px}
.am-tw{margin:0;padding:0}.am-sch .nm{box-shadow:6px 0 6px -6px rgba(55,0,60,.15)}
/* printable schedule: portrait, days down the side, one column per person */
.sp-scale{width:794px;height:1123px}
.sp-page.v{width:794px;height:1123px;padding:48px 44px;background:#fff;font-family:Poppins,sans-serif;color:#37003C;display:flex;flex-direction:column}
.sp-page.v .sp-top{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:4px solid;border-image:linear-gradient(90deg,#05F0FF,#00FF85) 1;padding-bottom:14px;margin-bottom:16px}
.sp-page.v .sp-h1{font:800 34px/1.1 Poppins;letter-spacing:-.02em}
.sp-page.v .sp-mon{font:700 18px Poppins;color:#FF7900}
.sp-page.v .sp-t{width:100%;border-collapse:collapse;table-layout:fixed;margin:0}
.sp-page.v .sp-t th{font:700 12.5px Poppins;color:#37003C;padding:6px 4px 8px;text-align:center;border-bottom:2px solid #37003C;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-page.v .sp-t td{border-top:1px solid #ECE6EE;text-align:center;padding:0 2px}
.sp-page.v .sp-t tr.fri td{background:#FAF6FB}
.sp-page.v .sp-t .sh{font-size:11px;padding:2px 8px;min-width:34px}
.pin-r{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:start}
.pin-r .fw-sel{margin:0}.pin-r .fw-btn{width:auto;padding:10px 18px}
.pin-m{font:600 12.5px var(--font);margin-top:8px}.pin-m.ok{color:var(--win)}.pin-m.bad{color:var(--pink)}

/* ===== live: no old-sheet status in the Area screens ===== */
.live #amRoot .status-row,.live #bootCard{display:none!important}
.ov{background:#fff;border-radius:16px;padding:14px;margin-bottom:10px;box-shadow:0 1px 0 rgba(55,0,60,.05)}
.ov-h{display:flex;align-items:center;gap:8px}
.ov-r{font:800 16px var(--font);color:var(--ink3);width:22px}
.ov-h b{flex:1;font:700 15px var(--font);color:var(--ink)}
.ov-m{display:flex;justify-content:space-between;align-items:flex-end;margin:6px 0 8px}
.ov-p{font:800 38px/1 var(--font);letter-spacing:-.03em}
.ov-p.ok{color:var(--win)}.ov-p.mid{color:#C25400}.ov-p.bad{color:var(--pink)}
.ov-m span{text-align:right;font:500 12px var(--font);color:var(--ink3)}.ov-m span b{font:800 15px var(--font);color:var(--ink)}
.ov-bar{position:relative;height:7px;border-radius:999px;background:#EEE8F0;margin-bottom:10px}
.ov-bar i{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:var(--gradD)}
.ov-bar em{position:absolute;top:-3px;width:2px;height:13px;background:var(--p);opacity:.6}
.ov-k{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px}
.ov-k small{display:block;font:500 11px var(--font);color:var(--ink3)}.ov-k b{font:800 16px var(--font);color:var(--ink)}
.ov-k b.ok{color:var(--win)}.ov-k b.bad{color:var(--pink)}
.ov-d{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.ov-d span{display:flex;flex-direction:column;align-items:center;border-radius:8px;background:#F4EFF5;padding:3px 0;font:800 13px var(--font);color:var(--ink)}
.ov-d span small{font:500 9.5px var(--font);color:var(--ink3)}
.ov-d span.no{background:var(--pinkSoft);color:var(--pink)}
.st.mid{background:#FFF1E3;color:#C25400}
/* awards: "coming soon" in the app's colours */
.rg-soon{margin:14px!important;padding:22px 18px!important;border:0!important;border-radius:16px!important;color:#fff!important;position:relative;overflow:hidden;
  background:radial-gradient(80% 120% at 100% 0,#7A1583 0,rgba(122,21,131,0) 60%),#37003C!important}
.rg-soon::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,#05F0FF,#00FF85,#FF7900)}
.rg-soon-ic{font-size:36px!important;animation:soonBob 2.4s ease-in-out infinite}
.rg-soon b{font:800 17px Poppins,sans-serif!important;margin-bottom:4px!important;background:linear-gradient(90deg,#05F0FF,#00FF85);-webkit-background-clip:text;background-clip:text;color:transparent}
.rg-soon span{font:500 13px/1.5 Poppins,sans-serif!important;opacity:1!important;color:#C9A9CE}
@keyframes soonBob{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-5px) rotate(4deg)}}

/* ===== v14 ===== */
/* date arrows */
.dnav{display:flex;align-items:center;gap:8px;margin:0 0 10px;background:#fff;border:1.5px solid var(--hair2);border-radius:14px;padding:4px}
.dnav button{flex:none;width:40px;height:40px;border:0;border-radius:11px;background:var(--p);color:#fff;font:700 22px/1 var(--font);cursor:pointer}
.dnav button:disabled{background:#EEE8F0;color:#C9BACB;cursor:default}
.dn-l{position:relative;flex:1;text-align:center;font:700 15px var(--font);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dn-l select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0!important}
.slv .dnav{margin-bottom:12px}
/* dashboard cards (Shops, agents, Area, Team) */
.dcard{background:#fff;border-radius:16px;margin-bottom:12px;overflow:hidden;box-shadow:0 1px 0 rgba(55,0,60,.05),0 8px 20px rgba(55,0,60,.05)}
.dcard-h{position:relative;display:flex;align-items:center;gap:6px;padding:12px 14px;background:var(--p);color:#fff}
.dcard-h::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--grad)}
.dcard-h b{flex:1;font:700 15px var(--font)}.dcard-h b small{display:block;font:500 11.5px var(--font);color:var(--pInk2)}
.dcard-h .fw-pill{background:rgba(255,255,255,.12);color:#fff;font-size:11px}
.dcard-h .fw-pill.ok{background:var(--gr);color:var(--p)}.dcard-h .fw-pill.mid{background:var(--org);color:#fff}.dcard-h .fw-pill.bad{background:var(--pink);color:#fff}
.dcard .slv{background:none;padding:10px 10px 12px}
.slv table.sheet.dash{font-size:12.5px}
.slv table.sheet.dash th.pjh{background:var(--org)}
.slv table.sheet.dash td.pjc{background:#FFF4EA;font-weight:700}
.slv table.sheet.dash td.win{color:var(--win);font-weight:800}.slv table.sheet.dash td.mid{color:#C25400;font-weight:800}.slv table.sheet.dash td.low{color:var(--pink);font-weight:800}
.tdash .td-p .tw{margin-top:6px}
.pin-card{margin-top:12px}
/* printable schedule: landscape, full names */
.sp-scale{width:1123px!important;height:794px!important}
.sp-page.h{width:1123px;height:794px;background:#fff;padding:34px 36px;font-family:Poppins,sans-serif;color:#37003C;display:flex;flex-direction:column}
.sp-page.h .sp-top{display:flex;justify-content:space-between;align-items:flex-end;padding-bottom:12px;margin-bottom:16px;border-bottom:4px solid;border-image:linear-gradient(90deg,#05F0FF,#00FF85,#FF7900) 1}
.sp-page.h .sp-h1{font:800 34px/1 Poppins,sans-serif;letter-spacing:-.02em}
.sp-page.h .sp-mon{font:700 20px Poppins,sans-serif;color:#FF7900}
.sp-page.h .sp-t{width:100%;border-collapse:collapse;table-layout:fixed;margin:auto 0}
.sp-page.h .sp-t th{font:700 11px Poppins,sans-serif;color:#6B4F6E;text-align:center;padding:4px 0}
.sp-page.h .sp-t th small{display:block;font-weight:500;font-size:9px}
.sp-page.h .sp-t .nm{width:210px;text-align:left;font:700 13.5px Poppins,sans-serif;color:#37003C;white-space:nowrap;padding:0 8px 0 2px}
.sp-page.h .sp-t td{text-align:center;border-top:1px solid #ECE6EE;padding:2px 0}
.sp-page.h .sp-t .fri{background:#FFF4EA}
.sp-page.h .sp-t tr:nth-child(even) td:not(.fri){background:#FAF8FB}
.sp-page.h .sh{font-size:10px;padding:3px 2px;min-width:0;display:inline-block;width:88%}
/* a little decoration, same language: faint FPL-style stripes on the purple strips, soft glows, accents under titles */
body{background:var(--page)}
.otv .widget-top,.slv .card h2,.dcard-h,.ma-hero,.cl-hero,.fw-today,.am-task{
  background-image:repeating-linear-gradient(115deg,rgba(255,255,255,.035) 0 14px,transparent 14px 28px),radial-gradient(80% 120% at 100% 0,#7A1583 0,rgba(122,21,131,0) 60%)!important;background-color:var(--p)!important}
.vh h1{position:relative;padding-bottom:6px}
.vh h1::after{content:"";position:absolute;left:0;bottom:0;width:34px;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--cy),var(--gr))}
.bnav{box-shadow:0 -1px 0 rgba(255,255,255,.06),0 -8px 24px rgba(55,0,60,.18)}
.bnav::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--cy),var(--gr),var(--org),transparent);opacity:.7}
.bnav{position:fixed}
.dcard,.fw-card,.otv .widget,.acc,.s3,.ov{transition:transform .15s ease,box-shadow .15s ease}
.dcard:active,.s3:active{transform:scale(.99)}
.fw-pill,.st{box-shadow:inset 0 0 0 1px rgba(55,0,60,.04)}

.slv .dnav,.dayline .dnav{display:flex;width:100%}
.sp-page.h .sp-t{margin:6px 0 auto}
.sp-page.h.big .sp-t .nm{font-size:16px}
.sp-page.h.big .sh{font-size:12px;padding:7px 2px}

/* ===== v16: login ===== */
#login{min-height:100vh;justify-content:center;padding:calc(30px + env(safe-area-inset-top,0px)) 20px calc(30px + env(safe-area-inset-bottom,0px));
  background:repeating-linear-gradient(115deg,rgba(255,255,255,.03) 0 18px,transparent 18px 36px),
    radial-gradient(70% 45% at 100% 0,rgba(5,240,255,.22),transparent 70%),radial-gradient(60% 40% at 0 100%,rgba(255,121,0,.22),transparent 70%),
    radial-gradient(90% 60% at 50% 35%,#5A0F63 0,transparent 70%),#2A002E!important}
#login .brand{flex-direction:column;text-align:center;gap:10px;margin-bottom:26px}
#login .brand img{width:88px;height:88px;border-radius:24px;box-shadow:0 0 0 1px rgba(255,255,255,.2),0 0 0 8px rgba(0,255,133,.08),0 18px 40px rgba(0,0,0,.4)}
#login .brand b{font:800 32px/1 var(--font)!important;letter-spacing:-.02em}
#login .brand small{font:600 13px var(--font);color:var(--pInk2);letter-spacing:.14em;text-transform:uppercase}
#login .box{position:relative;overflow:hidden;border-radius:24px!important;padding:26px 22px 22px!important;background:#fff;box-shadow:0 30px 60px rgba(0,0,0,.35)!important}
#login .box::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--cy),var(--gr),var(--org))}
#login .box h2{font:800 22px var(--font)!important;color:var(--ink);margin-bottom:14px!important}
.lg-f{display:block;margin-bottom:12px}
.lg-f span{display:block;font:600 12.5px var(--font);color:var(--ink2);margin:0 0 6px 4px}
.lg-f input{height:54px!important;border-radius:14px!important;border:1.5px solid var(--hair2)!important;background:#F8F6F9!important;font:700 20px var(--font)!important;letter-spacing:.12em;text-align:center}
.lg-f input:focus{border-color:var(--p)!important;background:#fff!important;box-shadow:0 0 0 4px rgba(55,0,60,.08)}
.lg-f input::placeholder{color:#CDBFD0;letter-spacing:.3em}
#login .gobtn{margin-top:6px;height:54px}
#login .gobtn:disabled{opacity:.7}
#login .err{min-height:18px;font:600 13px var(--font);color:var(--pink);text-align:center;margin:2px 0 4px}
#otReset{display:none!important}
/* search (+ mails & forms): decorated header band */
#v-sr .vh,#v-mails .vh{display:none}
.s3-top{position:sticky;top:calc(58px + env(safe-area-inset-top,0px));z-index:20;margin:-16px -16px 14px!important;padding:16px 16px 12px!important;border-radius:0 0 22px 22px;
  background:repeating-linear-gradient(115deg,rgba(255,255,255,.035) 0 14px,transparent 14px 28px),radial-gradient(80% 140% at 100% 0,#7A1583 0,rgba(122,21,131,0) 60%),#37003C!important;box-shadow:0 10px 24px rgba(55,0,60,.18)}
.s3-top::after{content:"";position:absolute;left:22px;right:22px;bottom:0;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--cy),var(--gr),var(--org))}
.s3-top .s3-field{box-shadow:0 8px 20px rgba(0,0,0,.2)}
.s3-tabs{display:flex;gap:6px;margin-top:12px;overflow-x:auto;scrollbar-width:none}
.s3-tabs button{flex:none;margin:0!important;border:1.5px solid rgba(255,255,255,.18)!important;border-radius:999px;padding:7px 14px!important;color:var(--pInk2)!important;font:700 13px var(--font)!important;background:transparent}
.s3-tabs button.on{background:var(--grad)!important;border-color:transparent!important;color:var(--p)!important;border-image:none!important}
#v-sr,#v-mails{padding-top:16px!important}
/* targets check */
.tg-pick{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:12px 12px 0}
.tg-pick button{flex:none;border:1.5px solid var(--hair2);background:#fff;border-radius:999px;padding:6px 13px;font:700 12.5px var(--font);color:var(--ink2);cursor:pointer}
.tg-pick button.on{background:var(--p);border-color:var(--p);color:#fff}
.slv table.sheet.tgt td.n{white-space:nowrap}
/* checklist: decorated group headers */
.cl-gh{background:repeating-linear-gradient(115deg,rgba(255,255,255,.035) 0 14px,transparent 14px 28px),var(--p)!important;border:0!important;position:relative}
.cl-gh::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--grad)}
.cl-gh b{color:#fff!important}
.cl-gh span{background:rgba(255,255,255,.14)!important;color:#fff!important}
.cl-gh span.full{background:var(--gr)!important;color:var(--p)!important}
.cl-shop{margin-bottom:12px}
.cl-open{margin-bottom:12px;background:var(--grad)!important;color:var(--p)!important}
/* view as */
.ibtn.va-btn svg{fill:none;stroke:currentColor;stroke-width:2}
#vaBar{position:fixed;left:12px;right:12px;bottom:calc(78px + env(safe-area-inset-bottom,0px));z-index:70;display:flex;align-items:center;gap:10px;padding:10px 12px 10px 16px;border-radius:16px;
  background:linear-gradient(90deg,var(--org),#FF9A3D);color:#fff;font:500 13px var(--font);box-shadow:0 12px 28px rgba(255,121,0,.35)}
#vaBar span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#vaBar b{font-weight:800}
#vaBar button{flex:none;border:0;border-radius:999px;padding:8px 12px;background:#fff;color:var(--p);font:700 12.5px var(--font)}
body.viewing .page{padding-bottom:150px}
.va-ic{font-size:20px}
.slv .box.upd b{font:800 14px/1.35 var(--font)!important;margin-top:6px}
.slv .box.upd.win b{font-size:30px!important;color:var(--win)!important}
/* ===== v18: search results in decorated cards ===== */
.gcard{background:#fff;border-radius:16px;margin-bottom:12px;overflow:hidden;box-shadow:0 1px 0 rgba(55,0,60,.05),0 8px 20px rgba(55,0,60,.05)}
.gcard-h{position:relative;display:flex;align-items:center;gap:8px;padding:11px 14px;color:#fff;
  background:repeating-linear-gradient(115deg,rgba(255,255,255,.035) 0 14px,transparent 14px 28px),radial-gradient(80% 140% at 100% 0,#7A1583 0,rgba(122,21,131,0) 60%),#37003C}
.gcard-h::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--grad)}
.gcard-h b{flex:1;font:700 14px var(--font)}
.gcard-h span{font:800 11.5px var(--font);padding:2px 10px;border-radius:999px;background:rgba(255,255,255,.14)}
.g-row{display:flex;align-items:center;gap:12px;width:100%;padding:11px 14px;border:0;border-top:1px solid var(--hair);background:#fff;text-align:left;cursor:pointer;font:inherit;color:inherit;-webkit-tap-highlight-color:rgba(55,0,60,.06)}
.gcard-h+.g-row{border-top:0}
.g-row:active{background:#FBF8FC}
.g-code{flex:none;width:74px;height:38px;padding:0;border-radius:10px;display:grid;place-items:center;background:var(--grad);color:var(--p);font:800 14.5px var(--font);font-variant-numeric:tabular-nums;box-shadow:0 4px 10px rgba(0,200,120,.2)}
.g-ic{flex:none;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#F3ECF4;color:var(--p)}
.g-ic svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.g-ic.doc{font:800 10.5px var(--font);background:#FDE6EF;color:var(--pink);border-radius:6px 12px 6px 6px;height:42px;width:36px}
.g-ic.doc.x{background:var(--winSoft);color:var(--win)}
.g-t{flex:1;min-width:0}.g-t b{display:block;font:600 14px/1.3 var(--font);color:var(--ink)}
.g-t small{display:block;margin-top:2px;font:500 11.5px var(--font);color:var(--ink3)}
.g-t .g-num{font:800 14.5px var(--font);color:var(--p);letter-spacing:.03em;font-variant-numeric:tabular-nums}
.g-act{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;border:0;background:#F6F1F7;color:var(--p);text-decoration:none;cursor:pointer}
.g-act svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.g-act.call{background:var(--p);color:#fff}
.g-act.chev{background:none;font:600 22px var(--font);color:#C9BACB}
#v-sr .s3-list,#v-mails .m3-body-wrap{display:block}
/* Updates box: two lines, a dot each */
.slv .box.upd b{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.upl{display:flex;align-items:center;gap:8px;font:700 13.5px var(--font);color:var(--ink)}
.upl i{width:9px;height:9px;border-radius:50%;flex:none}
.upl.ok i{background:var(--win);box-shadow:0 0 0 3px var(--winSoft)}.upl.no i{background:var(--pink);box-shadow:0 0 0 3px var(--pinkSoft)}
.upl em{margin-left:auto;font-style:normal;font:800 12px var(--font);padding:2px 9px;border-radius:999px}
.upl.ok em{background:var(--winSoft);color:var(--win)}.upl.no em{background:var(--pinkSoft);color:var(--pink)}
.slv .box.upd.win b{font-size:13.5px!important}

.sr-tip{position:fixed;z-index:990;background:var(--org);color:#fff;border-radius:14px;padding:10px 14px;box-shadow:0 12px 28px rgba(255,121,0,.35);font:500 12px var(--font);animation:bdIn .2s}
.sr-tip::before{content:"";position:absolute;top:-7px;right:16px;border:7px solid transparent;border-top:0;border-bottom-color:var(--org)}
.sr-tip b{display:block;font:800 14px var(--font)}
.ibtn.sr-glow{box-shadow:0 0 0 4px var(--org),0 0 0 9px rgba(255,121,0,.25);animation:srG 1s ease-in-out infinite}
@keyframes srG{50%{box-shadow:0 0 0 4px var(--org),0 0 0 14px rgba(255,121,0,.08)}}

/* ===== v21: stock, photos, attendance ===== */
#v-amfollow .ma-tabs{overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap}
#v-amfollow .ma-tabs button{flex:none;padding:8px 14px}
.op-card{background:#fff;border-radius:16px;margin-bottom:12px;overflow:hidden;box-shadow:0 1px 0 rgba(55,0,60,.05),0 8px 20px rgba(55,0,60,.05)}
.op-h{position:relative;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;color:#fff;
  background:repeating-linear-gradient(115deg,rgba(255,255,255,.035) 0 14px,transparent 14px 28px),radial-gradient(80% 140% at 100% 0,#7A1583 0,rgba(122,21,131,0) 60%),#37003C}
.op-h::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--grad)}
.op-h b{font:700 15px var(--font)}.op-h .fw-pill{background:rgba(255,255,255,.14);color:#fff}.op-h .fw-pill.ok{background:var(--gr);color:var(--p)}.op-h .fw-pill.bad{background:var(--pink);color:#fff}
.op-btn{display:block;width:calc(100% - 28px);margin:0 14px 14px;border:0;border-radius:999px;padding:13px;background:var(--grad);color:var(--p);font:800 15px var(--font);cursor:pointer}
.op-stock{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 14px}
.op-stock label{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#F8F6F9;border-radius:12px;padding:6px 6px 6px 12px;font:600 12.5px var(--font);color:var(--ink)}
.op-stock input{width:64px;border:1.5px solid var(--hair2);border-radius:9px;padding:7px;text-align:center;font:800 15px var(--font);color:var(--ink);background:#fff}
.op-ph{position:relative;border:0;padding:0;border-radius:10px;overflow:hidden;background:#EEE8F0;cursor:zoom-in}.op-ph img{width:100%;height:100%;object-fit:cover;display:block}
.op-ph span{display:none}
.op-tw{overflow-x:auto;margin:0 -2px}
.op-st{border-collapse:separate;border-spacing:0;font:600 12px var(--font);width:100%}
.op-st th{background:var(--p);color:#fff;padding:7px 6px;font:700 11px var(--font);white-space:nowrap}
.op-st th:first-child{border-radius:10px 0 0 0}.op-st th:last-child{border-radius:0 10px 0 0}
.op-st tr.upd th{background:#F4EEF5;color:var(--ink2);font-size:10.5px}.op-st tr.upd th.ok{color:var(--win)}.op-st tr.upd th.no{color:var(--pink)}
.op-st .it{position:sticky;left:0;z-index:1;text-align:left;background:#fff;color:var(--ink);min-width:86px;box-shadow:6px 0 6px -6px rgba(55,0,60,.15)}
.op-st thead .it{background:var(--p);color:#fff}.op-st tr.upd .it{background:#F4EEF5;color:var(--ink2)}
.op-st td{padding:7px 6px;border-top:1px solid var(--hair);text-align:center;color:var(--ink);white-space:nowrap}
.op-st td.zero{color:var(--pink);font-weight:800;background:var(--pinkSoft)}.op-st td.low{color:#C25400;font-weight:800;background:#FFF1E3}.op-st td.na{color:var(--ink3)}
.g-t .g-desc{color:var(--ink2);font-weight:500;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.g-t .g-type{font-size:10.5px;color:var(--ink3);font-weight:600}
.gcard.most .gcard-h{background:repeating-linear-gradient(115deg,rgba(255,255,255,.05) 0 14px,transparent 14px 28px),linear-gradient(90deg,#FF7900,#c25400)}

/* ===== v25 ===== */
/* every card gets the same decorated headline */
.fw-card{padding:0 0 12px!important;overflow:hidden}
.fw-card>.fw-hd{position:relative;margin:0 0 10px!important;padding:12px 14px;color:#fff;
  background:repeating-linear-gradient(115deg,rgba(255,255,255,.035) 0 14px,transparent 14px 28px),radial-gradient(80% 140% at 100% 0,#7A1583 0,rgba(122,21,131,0) 60%),#37003C}
.fw-card>.fw-hd::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--grad)}
.fw-card>.fw-hd b{color:#fff!important}.fw-card>.fw-hd b small{display:block;color:var(--pInk2);font:500 11.5px var(--font)}
.fw-card>.fw-hd .fw-pill{background:rgba(255,255,255,.14);color:#fff}.fw-card>.fw-hd .fw-pill.ok{background:var(--gr);color:var(--p)}.fw-card>.fw-hd .fw-pill.bad{background:var(--pink);color:#fff}
.fw-card>*:not(.fw-hd){margin-left:14px;margin-right:14px}
.fw-card>.fw-sel{width:calc(100% - 28px)}
.fw-hd-r{display:flex;align-items:center;gap:6px}
.op-pdf{border:0;border-radius:999px;padding:5px 12px;background:var(--grad);color:var(--p);font:800 11.5px var(--font);cursor:pointer}
/* Area Manager Follow: tiles */
.ft-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:4px 0 14px}
.ft-grid button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;aspect-ratio:1.35/1;border:0;border-radius:16px;background:#fff;color:var(--ink);font:700 13px var(--font);cursor:pointer;box-shadow:0 1px 0 rgba(55,0,60,.06),0 6px 16px rgba(55,0,60,.06)}
.ft-grid button i{font-style:normal;font-size:22px}
.ft-grid button .emo{width:28px;height:28px;display:block}
.ft-grid button.on{color:#fff;background:repeating-linear-gradient(115deg,rgba(255,255,255,.05) 0 12px,transparent 12px 24px),#37003C;box-shadow:0 8px 18px rgba(55,0,60,.3)}

#radarHost{margin:0 -16px}
.radar-frame{display:block;width:100%;min-height:520px;border:0;background:transparent}
/* aligned tables: names in one column, shifts in the next, times after */
.att{width:calc(100% - 28px);border-collapse:collapse;font:600 12.5px var(--font)}
.att th{text-align:left;font:700 10.5px var(--font);color:var(--ink3);padding:4px 4px 6px;border-bottom:1px solid var(--hair)}
.att td{padding:6px 4px;border-bottom:1px solid var(--hair);vertical-align:middle}
.att td.n{width:44%}.att td.n b{display:block;font:600 13px var(--font);color:var(--ink)}.att td.n small{font:500 11px var(--font);color:var(--ink3)}
.att td.t{font:800 12.5px var(--font);white-space:nowrap}.att td.t.ok{color:var(--win)}.att td.t.late{color:var(--pink)}.att td.t.miss{color:var(--pink)}.att td.t.off{color:var(--ink3)}
.att .op-ph{width:46px;height:34px;display:block}
.tk-t td.n{width:34%}
/* Shop Manager: In / Out next to the task */
.fw-strip{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:12px}.fw-strip.two{grid-template-columns:1fr 1fr}
/* Tasks card: month (and period) then the photo */
.tk{padding:12px 14px;border-top:1px solid var(--hair)}.op-h+.tk{border-top:0}
.tk-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.tk-h b{font:700 14px var(--font);color:var(--ink)}
.tk-ok{font:800 11.5px var(--font);color:var(--win);background:var(--winSoft);padding:2px 9px;border-radius:999px}
.tk-chips{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;margin-bottom:10px}
.tk-chip{border:1.5px solid var(--hair2);background:#fff;color:var(--ink2,#5b4a60);border-radius:999px;padding:6px 11px;font:700 12px var(--font);cursor:pointer;white-space:nowrap}
.tk-chip.on{background:var(--p);border-color:var(--p);color:#fff}
.tk-sep{width:1px;height:20px;background:var(--hair2);margin:0 2px}
.tk .tk-cam{width:100%;justify-content:center;height:42px}
.tk-cam{flex:none;display:flex;align-items:center;gap:6px;border:0;border-radius:12px;padding:0 14px;background:var(--grad);color:var(--p);font:800 13px var(--font);cursor:pointer}
.tk-cam svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.tk-cam:disabled{background:#EEE8F0;color:#B9A9BC;cursor:not-allowed}
/* agents' arrival */
/* attendance report page */
.rp-scale{width:1123px!important;height:auto!important}
.rp-page{width:1123px;background:#fff;padding:28px 30px;font-family:Poppins,sans-serif;color:#37003C}
.rp-top{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:4px solid;border-image:linear-gradient(90deg,#05F0FF,#00FF85,#FF7900) 1;padding-bottom:10px;margin-bottom:14px}
.rp-b{font:700 12px Poppins;letter-spacing:.14em;color:#FF7900}.rp-h{font:800 26px Poppins}.rp-m{font:700 15px Poppins;color:#6B4F6E}
.rp-t{width:100%;border-collapse:collapse;table-layout:fixed;font:600 10px Poppins}
.rp-t th{background:#37003C;color:#fff;padding:5px 0;font:700 10px Poppins}.rp-t th.nm{width:150px;text-align:left;padding-left:6px}
.rp-t td{border:1px solid #ECE6EE;text-align:center;padding:3px 0;vertical-align:middle}
.rp-t td b{display:block;font:800 10px Poppins}.rp-t td small{display:block;font:600 8.5px Poppins;color:#6B4F6E}
.rp-t td.nm{text-align:left;padding-left:6px;font:700 11px Poppins}.rp-t td.nm small{display:block;font:500 9px Poppins;color:#A08AA3}
.rp-t td.bad{background:#FDE6EF}.rp-t td.bad b,.rp-t td.bad small{color:#E90052}.rp-t td.off{background:#F6F3F7;color:#A08AA3}
.rp-t td.sum{font:800 12px Poppins}.rp-t td.sum.bad{color:#E90052}
.rp-k{margin-top:10px;font:500 11px Poppins;color:#6B4F6E}.rp-k .bad{color:#E90052;font-weight:800}
/* Data */
.sd-g{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px}.sd-g small{display:block;font:500 10.5px var(--font);color:var(--ink3)}.sd-g b{font:600 12.5px var(--font);color:var(--ink);word-break:break-word}

/* ===== v26 ===== */
/* cards: inner parts sit inside the card (nothing cut) */
.fw-card>*:not(.fw-hd){box-sizing:border-box;max-width:calc(100% - 28px)}
.fw-card>.fw-btn,.fw-card>.fw-two,.fw-card>.fw-sel,.fw-card>.dnav,.fw-card>.att,.fw-card>.op-tw{width:calc(100% - 28px)}
.fw-card>.fw-btn{display:block;margin-bottom:2px}
/* the manager's top strip: two cards with the same headline */
.fw-strip{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:12px}.fw-strip.two{grid-template-columns:1fr 1fr}
.fw-strip>.fw-card{margin-bottom:0}
.tk-card .tk-body{margin:0 12px!important;max-width:none!important}.tk-card .tk-body b{display:block;font:800 14px/1.3 var(--font);color:var(--ink)}
.tk-card .tk-body span{display:block;font:500 11.5px var(--font);color:var(--ink2);margin-top:2px}
.tk-card.late .fw-hd{background:var(--pink)!important}
/* white month list */
/* SR sections that open on tap */
.gcard button.gcard-h{width:100%;border:0;text-align:left;cursor:pointer;font:inherit}
.gcard-h i{font-style:normal;font-size:20px;line-height:1;margin-left:4px;transition:transform .15s}.gcard-h i.up{transform:rotate(90deg)}
.gcard.shut{margin-bottom:8px}

/* arrival + in / out */
.arr{background:#fff;border-radius:18px;padding:14px;margin-bottom:12px;box-shadow:0 1px 0 rgba(55,0,60,.05),0 8px 20px rgba(55,0,60,.05)}
.arr-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.arr-top small{display:block;font:600 12px var(--font);color:var(--ink3)}.arr-top b{display:block;font:800 18px var(--font);color:var(--p)}
.arr-cam{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:12px;border:0;border-radius:14px;padding:14px;background:var(--p);color:#fff;font:800 15px var(--font);cursor:pointer}
.arr-cam svg,.io2 svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.arr-cam svg{stroke:var(--gr)}
.arr-ph{margin-top:12px}.arr-ph img{width:100%;max-height:150px;object-fit:cover;border-radius:12px;display:block}
.arr-due{display:flex;gap:6px;margin-top:12px}
.arr-due span{flex:1;display:flex;flex-direction:column;align-items:center;border-radius:12px;padding:7px 4px;background:#F4EFF5;font:600 11.5px var(--font);color:var(--ink2)}
.arr-due span b{font:800 13px var(--font);color:var(--p)}
.arr-due span.on{background:var(--grad)}.arr-due span.on,.arr-due span.on b{color:var(--p)}
.io2-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.io2{display:flex;flex-direction:column;align-items:center;gap:3px;border:0;border-radius:14px;padding:12px 6px;background:var(--p);color:#fff;cursor:pointer}
.io2 i{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.12);color:var(--gr)}
.io2 b{font:800 15px var(--font)}.io2 small{font:600 11.5px var(--font);opacity:.8}
.io2.done{background:var(--gr);color:var(--p)}.io2.done i{background:rgba(55,0,60,.1);color:var(--p)}
.io2.late{background:var(--pink)}.io2:disabled{opacity:.4;cursor:default}
.io2-dur{display:flex;align-items:center;justify-content:space-between;margin-top:10px;border-radius:12px;padding:10px 14px;background:var(--grad)}.io2-dur span{font:600 12.5px var(--font);color:var(--p)}.io2-dur b{font:800 18px var(--font);color:var(--p)}

/* saves waiting for the internet */
#otSync{position:fixed;left:12px;right:12px;top:calc(64px + env(safe-area-inset-top,0px));z-index:80;display:none;align-items:center;gap:10px;padding:10px 14px;border-radius:14px;background:#37003C;color:#fff;box-shadow:0 10px 24px rgba(55,0,60,.3)}
#otSync.on{display:flex}
#otSync i{width:10px;height:10px;border-radius:50%;background:#E90052;flex:none;animation:otp 1.2s ease-in-out infinite}
#otSync span{font:500 12px var(--font);color:#C9A9CE}#otSync b{display:block;font:700 13.5px var(--font);color:#fff}
@keyframes otp{50%{opacity:.3}}
@media (prefers-reduced-motion:reduce){#otSync i{animation:none}}

/* arrival / in-out: the same headline as every card */
.fw-card.arr{padding:0 0 14px!important}
.fw-card.arr>.arr-top,.fw-card.arr>.arr-cam,.fw-card.arr>.arr-ph,.fw-card.arr>.arr-due,.fw-card.arr>.io2-row,.fw-card.arr>.io2-dur{margin-left:14px;margin-right:14px;width:auto;max-width:none}
.fw-card.arr>.arr-top{margin-top:2px}.fw-card.arr>.arr-top b{font:800 17px var(--font);color:var(--p)}

/* AM checklist: points marked No + Wincash photo under the Shop */
.am-chk .st.warn{background:#FFF1DE;color:#B45A00}
.am-no{margin:6px 0 2px;padding:8px 10px 8px 26px;background:var(--pinkSoft,#FFE8EE);border-radius:10px;font:500 12.5px/1.45 var(--font);color:var(--pink,#C2185B)}
.am-no li{margin:2px 0}

/* Data · Shops cards */
.sd2{padding:4px 12px 12px;display:grid;gap:10px}
.sd2-c{background:#FBF8FC;border:1px solid var(--hair);border-radius:14px;padding:11px 12px}
.sd2-h{display:flex;align-items:center;gap:8px;margin-bottom:9px}
.sd2-h b{flex:1;font:700 14.5px var(--font);color:var(--ink)}
.sd2-code{font:700 11px var(--font);color:var(--ink3);background:#fff;border:1px solid var(--hair2);border-radius:999px;padding:2px 8px;letter-spacing:.02em}
.sd2-st{font:700 11.5px var(--font);color:var(--p)}
.sd2-g{display:grid;gap:5px}
.sd2-n{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--hair2);border-radius:10px;padding:7px 10px;text-decoration:none;min-width:0}
.sd2-n small{font:600 10px var(--font);color:var(--ink3);text-transform:uppercase;letter-spacing:.06em}
.sd2-n b{font:700 13.5px var(--font);letter-spacing:.02em;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sd2-n.off b{color:var(--ink3)}

/* AM stock vs target left */
.sn{padding:2px 12px 6px}
.sn-r{display:grid;grid-template-columns:1fr repeat(3,70px);gap:6px;align-items:center;padding:8px 0;border-top:1px solid var(--hair)}
.sn-r:first-child{border-top:0}.sn-r b{font:700 13px var(--font);color:var(--ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sn-c{position:relative;border-radius:10px;padding:4px 6px;text-align:center;font:800 13px var(--font);font-variant-numeric:tabular-nums}
.sn-c small{display:block;font:600 9.5px var(--font);letter-spacing:.04em;text-transform:uppercase;opacity:.75}
.sn-c i{font-style:normal;opacity:.45;margin:0 2px}.sn-c em{display:block;font:800 10.5px var(--font);font-style:normal}
.sn-c.ok{background:var(--winSoft);color:var(--win)}.sn-c.bad{background:var(--pinkSoft);color:var(--pink)}
.sn-mv{margin:4px 12px 12px;background:#FBF8FC;border:1px solid var(--hair);border-radius:12px;padding:8px 12px}
.sn-mh{font:800 11px var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);margin-bottom:4px}
.sn-m{font:600 13px var(--font);color:var(--ink);padding:3px 0}.sn-m b{color:var(--p)}.sn-m.ok{color:var(--win)}

/* checklist already sent today */
.cl-done .cl-by{padding:12px 16px 4px}.cl-done .cl-by b{display:block;font:700 16px var(--font);color:var(--ink)}.cl-done .cl-by small{font:500 13px/1.4 var(--font);color:var(--ink3)}
.cl-done .cl-nos{margin:10px 16px 6px;padding:10px 12px;border-radius:12px;background:var(--pinkSoft,#FFE8EE);color:var(--pink,#C2185B);font:500 13px/1.45 var(--font)}
.cl-done .cl-nos b{display:block;font-weight:700;margin-bottom:4px}.cl-done .cl-nos ul{margin:0;padding-left:18px}
.cl-done .cl-allok{margin:10px 16px 6px;padding:10px 12px;border-radius:12px;background:var(--winSoft);color:var(--win);font:700 13.5px var(--font)}

/* ‹ day › arrows */
.dnav{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border-radius:14px;padding:6px;margin:0 0 12px;box-shadow:0 2px 0 rgba(55,0,60,.05),0 8px 24px rgba(55,0,60,.05)}
.fw-card .dnav{box-shadow:none;background:#F6F1F7;margin:10px 14px}
.dnav b{font:700 15px var(--font);color:var(--ink)}
.dnav button{width:42px;height:42px;border:0;border-radius:12px;background:var(--p);color:#fff;font:700 22px/1 var(--font);cursor:pointer}
.dnav button:disabled{background:#E9E2EB;color:#B9A9BC;cursor:default}
.xl-btn{border:1.5px solid var(--hair2);background:#fff;color:#1D6F42;border-radius:999px;padding:5px 12px;font:800 12px var(--font);cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.xl-btn:before{content:"";width:14px;height:14px;border-radius:3px;background:#1D6F42}
.xl-row{display:flex;justify-content:flex-end;gap:8px;margin:-4px 0 12px}
/* AM attendance: managers as rows that fit a phone */
.mg-r{padding:10px 14px;border-top:1px solid var(--hair)}.mg-r:first-of-type{border-top:0}
.mg-h{display:flex;align-items:center;gap:8px}.mg-h b{flex:1;min-width:0;font:700 14px var(--font);color:var(--ink)}.mg-h b small{display:block;font:500 11.5px var(--font);color:var(--ink3)}
.mg-io{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.mg-c{display:flex;align-items:center;gap:8px;border-radius:12px;background:#F6F1F7;padding:6px;min-width:0}
.mg-c .op-ph{width:46px;height:46px;flex:none}.mg-c .op-ph img{width:100%;height:100%;object-fit:cover;border-radius:9px}
.mg-c div{min-width:0}.mg-c small{display:block;font:600 10.5px var(--font);color:var(--ink3);text-transform:uppercase;letter-spacing:.05em}.mg-c b{font:800 14px var(--font);color:var(--ink)}
.mg-c.late b{color:var(--pink)}.mg-c.miss b{color:var(--ink3)}
.mg-t{font:800 12px var(--font);color:var(--p);background:var(--gr);border-radius:999px;padding:3px 9px}
.io2.ro{cursor:default}.io2.ro img{width:38px;height:38px;border-radius:50%;object-fit:cover}
.io2.ro:not(.done):not(.late){background:#F1EBF2;color:var(--ink3)}
.mg-c.off b{color:var(--ink3)}
.fw-card.arr>.dnav{margin:10px 14px 0}
.pk{padding:4px 14px 10px}.pk-r{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--hair)}.pk-r:first-child{border-top:0}
.pk-r>div{flex:1;min-width:0}.pk-r b{font:700 14px var(--font);color:var(--ink)}.pk-r small{display:block;font:500 11.5px/1.4 var(--font);color:var(--ink3)}
.pk-r>span{font:800 15px var(--font);color:var(--p);min-width:44px;text-align:right}.pk-r>span.ok{color:var(--win)}.pk-r>span.bad{color:var(--pink)}
.pk-t{border-top:2px solid var(--p)}.pk-t b{font-size:15px}.pk-t>span{font-size:18px}
.fw-hd:has(.xl-btn)>b{flex:1}.fw-hd .xl-btn{margin-left:8px;flex:none}
.dnav button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;display:block;margin:auto}
/* AM · Online: who has the app open */
.on-r{display:flex;align-items:center;gap:10px;padding:9px 14px;border-top:1px solid var(--hair)}.fw-hd+.on-r{border-top:0}
.on-r b{flex:1;min-width:0;font:600 14px var(--font);color:var(--ink)}.on-r b small{display:block;font:500 11.5px var(--font);color:var(--ink3)}
.on-d{flex:none;display:inline-block;width:11px;height:11px;border-radius:50%;background:#C9BACB}
.on-d.now{background:#22C55E;box-shadow:0 0 0 3px #22C55E33}.on-d.today{background:#F5B70A}.on-d.off{background:#C9BACB}.on-d.never{background:#E90052}
.on-s{font:600 12px var(--font);color:var(--ink3);white-space:nowrap}.on-s.now{color:#16A34A}.on-s.today{color:#B7791F}.on-s.never{color:#E90052}
.on-key{display:flex;flex-wrap:wrap;gap:6px 14px;padding:4px 14px 12px;font:500 12px var(--font);color:var(--ink3)}.on-key span{display:inline-flex;align-items:center;gap:6px}

/* ---------- all time · Formula 1 (sales, under the certificates) ---------- */
.f1{padding:4px 12px 14px}
.f1-span{font:700 12px Poppins,sans-serif;color:#8a7f8c;text-align:center;margin:2px 0 6px}
.f1 .rg-h{margin:12px 0 4px}
.f1-pod{display:grid;grid-template-columns:1fr 1.12fr 1fr;align-items:end;gap:6px;margin:4px 0 6px}
.f1-p{display:flex;flex-direction:column;align-items:center;min-width:0;text-align:center}
.f1-art{width:100%;max-width:118px;aspect-ratio:180/200;overflow:hidden;margin-bottom:-2px}
.f1-art svg,.f1-art img{width:100%;height:auto;display:block;aspect-ratio:180/200}
.f1-p.p1 .f1-art{max-width:136px}
.f1-blk{width:100%;border-radius:12px 12px 4px 4px;display:flex;align-items:flex-start;justify-content:center;padding-top:4px;border:2px solid #1B0B1F;box-shadow:inset 0 -6px 0 rgba(0,0,0,.12)}
.f1-blk b{font:900 22px Poppins,sans-serif;color:#1B0B1F}
.f1-p.p1 .f1-blk{height:58px;background:linear-gradient(180deg,#FFE27A,#E8B82A)}
.f1-p.p2 .f1-blk{height:44px;background:linear-gradient(180deg,#F1F5F9,#B8C4D2)}
.f1-p.p3 .f1-blk{height:34px;background:linear-gradient(180deg,#F5C9A0,#D08A52)}
.f1-nm{font:700 13px/1.25 Poppins,sans-serif;margin-top:6px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.f1-nm small{display:block;font-weight:500;font-size:11px;opacity:.7}
.f1-pt{font:800 13px Poppins,sans-serif;color:#FF7900;margin-top:2px;white-space:nowrap}
.f1-cup{font-style:normal;font:800 10.5px Poppins,sans-serif;background:#FFF3C4;color:#7a5600;border-radius:999px;padding:1px 6px;margin-inline-start:4px;white-space:nowrap}
.f1-list{list-style:none;margin:8px 0 0;padding:0}
.f1-list li{display:flex;align-items:center;gap:10px;padding:8px 4px;border-top:1px solid rgba(127,127,127,.18)}
.f1-rk{width:22px;text-align:center;font:800 13px Poppins,sans-serif;opacity:.6}
.f1-ln{flex:1;min-width:0;font:600 13.5px/1.25 Poppins,sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.f1-ln small{display:block;font-weight:500;font-size:11px;opacity:.65}
.f1-ps{font:800 14px Poppins,sans-serif;color:#FF7900}
.f1-ps::after{content:' pts';font-size:10.5px;font-weight:600;opacity:.8}
.f1-how{display:block;margin:12px auto 0;border:1.5px solid currentColor;background:transparent;color:inherit;border-radius:999px;padding:6px 14px;font:700 12.5px 'Readex Pro',Poppins,sans-serif;opacity:.85;cursor:pointer}
.f1-exp{margin-top:10px;background:rgba(255,121,0,.08);border:1px solid rgba(255,121,0,.35);border-radius:14px;padding:4px 12px;text-align:right}
.f1-exp p{margin:8px 0;font:500 13px/1.75 'Readex Pro',sans-serif}
.f1-empty{text-align:center;opacity:.7;font:500 13px Poppins,sans-serif;padding:10px}

/* missing entries on the day before: a red number on the ‹ arrow */
.dnav button{position:relative}
.dn-b{position:absolute;top:-7px;left:-7px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#E30613;color:#fff;font:800 11px/20px var(--font);font-style:normal;box-shadow:0 0 0 2px #fff;pointer-events:none}

/* the day line: the arrows take the row, "Day off" sits under them on the right (never cut off) */
.slv .dayline{flex-wrap:wrap}
.slv .dayline .dnav{flex:1 1 100%;margin-bottom:6px}
.slv .dayline .offchk{margin-left:auto;padding:4px 2px}

/* bottom bar with emoji pictures: all in colour, the open tab gets a light pill */
.bnav button .emo{width:24px;height:24px;display:block;flex:none}
.bnav button.on{color:#fff;background:rgba(255,255,255,.16)}

/* ---------- small phones (360–400 px): nothing wraps badly, tables fit ---------- */
.upl{white-space:nowrap;min-width:0}
.upl em{flex:none}
.otv .widget-title{white-space:nowrap}
.otv .widget-sub{white-space:normal;text-align:right;line-height:1.3;min-width:0}
@media (max-width:400px){
  .upl{font-size:12.5px;gap:6px}
  .upl em{font-size:11px;padding:2px 7px}
  .slv table.sheet.dash{font-size:11px}
  .slv table.sheet.dash th{font-size:10px;padding:8px 2px}
  .slv table.sheet.dash td{padding:8px 2px;font-size:10.5px;letter-spacing:-.2px}
  .slv .scard .sc1 b{font-size:14px;line-height:1.2}
  .slv .scard{padding:11px 10px}
}

/* area schedule (Follow › Schedule): fixed column widths, so the phone lays the big table out in one quick pass */
.am-sch{table-layout:fixed;width:calc(118px + var(--n,31) * 36px)}
.am-sch th,.am-sch td{width:36px;min-width:0}
.am-sch .nm{width:118px;box-sizing:border-box}
.am-tw{contain:content}
/* each day cell draws its shift badge itself (one element per cell instead of two) */
.am-sch td[data-c]::before{content:attr(data-c);display:inline-grid;place-items:center;min-width:28px;height:20px;padding:0 3px;border-radius:7px;font:800 10px var(--font);background:#eceef2;color:#8a91a0;box-sizing:border-box}
.am-sch td[data-c="M"]::before{background:#fff1e3;color:#b85600}.am-sch td[data-c="N"]::before{background:#e6edfb;color:#2550a8}.am-sch td[data-c="B"]::before{background:#efe8fb;color:#6a3fbf}
.am-sch td[data-c="A"]::before{background:#e5f5ec;color:#1f7a45}.am-sch td[data-c="F"]::before{background:#fde8ec;color:#b42343}
.am-sch td[data-c="—"]::before{background:transparent;color:#c5c9d1}
.am-month-ph{min-height:420px}
@media (max-width:380px){
  .top{gap:8px;padding-left:12px;padding-right:12px}
  .ibtn{width:32px;height:32px}
  #topBtns{gap:4px!important}
}

/* placeholders while the first data comes (shimmer) */
.sk{border-radius:8px;background:linear-gradient(90deg,#EEE8F0 0,#F7F3F8 40%,#EEE8F0 80%);background-size:300% 100%;animation:skMove 1.3s linear infinite}
@keyframes skMove{from{background-position:100% 0}to{background-position:0 0}}
.sk-card{padding:14px 16px}
.sk-h{height:18px;width:45%;margin-bottom:14px}
.sk-l{height:12px;margin:10px 0}.sk-l:nth-child(odd){width:85%}.sk-l:nth-child(3n){width:65%}
.sk-rows{padding:8px 4px}
@media (prefers-reduced-motion:reduce){.sk{animation:none}}
/* "Updated 2 min ago" under a card title */
.upd-ago{font:500 11.5px var(--font);color:var(--ink3);padding:0 16px 4px;margin-top:-4px}
.sk-pad{padding:16px 0}
body.is-beta .top::after{content:'Beta';position:absolute;left:50%;bottom:-9px;transform:translateX(-50%);font:800 10px var(--font);letter-spacing:.08em;color:#1B0B1F;background:#FFC928;border-radius:999px;padding:2px 9px;z-index:3}
.s3-list>.gcard{content-visibility:auto;contain-intrinsic-size:auto 320px}
.otv .rank-row.me .rank-name{white-space:normal;overflow:visible}   /* the "You" tag never gets cut */

/* 10 PM reminder to enter today's sales */
#dueBar{position:fixed;left:10px;right:10px;bottom:calc(78px + env(safe-area-inset-bottom,0px));z-index:70;display:flex;align-items:center;gap:8px;background:#1B0B1F;color:#fff;border-radius:14px;padding:10px 10px 10px 14px;box-shadow:0 10px 24px rgba(0,0,0,.3);font:500 13px/1.35 var(--font)}
#dueBar .due-t{flex:1;min-width:0}#dueBar .due-t b{color:#FFC928}
#dueBar .due-go{flex:none;border:0;border-radius:999px;padding:8px 12px;font:700 12.5px var(--font);background:linear-gradient(90deg,#05F0FF,#00FF85);color:#1B0B1F;cursor:pointer}
#dueBar .due-x{flex:none;border:0;background:transparent;color:#fff;opacity:.7;font-size:15px;padding:4px 6px;cursor:pointer}
.sd2-c,.sd-p{content-visibility:auto;contain-intrinsic-size:auto 230px}   /* Data page: only the cards on screen are laid out */
.mg-r{content-visibility:auto;contain-intrinsic-size:auto 150px}   /* Attendance: only the managers on screen are laid out */
.otv .rank-row{content-visibility:auto;contain-intrinsic-size:auto 56px}   /* Ranking: the same for long lists */

/* ===== shift requests ===== */
.rq-new{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:6px}
.rq-new button{display:flex;align-items:center;gap:10px;border:1.5px solid var(--hair2);background:#fff;border-radius:14px;padding:12px 14px;font:700 14px var(--font);color:var(--ink);cursor:pointer;text-align:left}
.rq-new button i{font-style:normal;font-size:18px;width:28px;text-align:center}
.rq-new button:disabled{opacity:.45;cursor:not-allowed}
.rq-sec{font:800 11px var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);margin:12px 0 6px}
.rq-note{font:500 11.5px var(--font);color:var(--ink3);margin:8px 0 2px}
.rq-item{border:1px solid var(--hair);border-radius:14px;padding:10px 12px;margin-bottom:8px;background:#FCFAFC}
.rq-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.rq-top b{font:700 13.5px var(--font);color:var(--ink)}
.rq-who{display:block;font:500 12px var(--font);color:var(--ink2);margin:2px 0 6px}
.rq-st{font:800 10.5px var(--font);padding:3px 9px;border-radius:999px;white-space:nowrap}
.rq-st.wait{background:#FFF1E3;color:#C25400}.rq-st.ok{background:var(--winSoft);color:var(--win)}.rq-st.no{background:#F1ECF2;color:var(--ink3)}
.rq-ch{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:5px 0;border-top:1px dashed var(--hair);font:600 12.5px var(--font);color:var(--ink)}
.rq-ch b{font:800 12px var(--font);min-width:86px}.rq-ch span{display:inline-flex;align-items:center;gap:4px}
.rq-act{display:flex;gap:8px;margin-top:8px}
.rq-b{flex:1;border:0;border-radius:12px;padding:10px;font:800 13px var(--font);cursor:pointer}
.rq-b.ok{background:var(--grad);color:var(--p)}.rq-b.no{background:#F1ECF2;color:var(--ink)}.rq-b.ghost{background:#fff;border:1.5px solid var(--hair2);color:var(--ink2)}
.rq-b:disabled{opacity:.5}
.rq-shop{font:800 11.5px var(--font);color:var(--p);margin:10px 0 4px}
.rq-ann td.t.off{color:var(--ink3);font-weight:600}
/* the request form: a sheet from the bottom */
.rq-ov{position:fixed;inset:0;z-index:300;background:rgba(20,0,24,.5);display:flex;align-items:flex-end;justify-content:center}
.rq-sheet{width:100%;max-width:560px;max-height:90vh;display:flex;flex-direction:column;background:#fff;border-radius:22px 22px 0 0;padding-bottom:max(14px,env(safe-area-inset-bottom));animation:rqUp .22s ease-out}
@keyframes rqUp{from{transform:translateY(40px);opacity:0}}
.rq-sh-h{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;color:#fff;border-radius:22px 22px 0 0;position:relative;
  background:repeating-linear-gradient(115deg,rgba(255,255,255,.035) 0 14px,transparent 14px 28px),radial-gradient(80% 140% at 100% 0,#7A1583 0,rgba(122,21,131,0) 60%),#37003C}
.rq-sh-h::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--grad)}
.rq-sh-h b{font:800 16px var(--font)}.rq-x{border:0;background:rgba(255,255,255,.14);color:#fff;width:32px;height:32px;border-radius:50%;font-size:14px;cursor:pointer}
.rq-body{overflow:auto;padding:14px 16px 4px;-webkit-overflow-scrolling:touch}
.rq-body label{display:block;font:700 12px var(--font);color:var(--ink2);margin-bottom:12px}
.rq-body select,.rq-body input:not([type=checkbox]){display:block;width:100%;margin-top:6px;border:1.5px solid var(--hair2);border-radius:12px;padding:11px 10px;font:600 14px var(--font);color:var(--ink);background:#fff}
.rq-body .rq-chk{display:flex;align-items:center;gap:8px;font:600 13px var(--font);color:var(--ink)}
.rq-lab{font:700 12px var(--font);color:var(--ink2);margin:0 0 6px}
.rq-sh{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.rq-sh button{border:1.5px solid var(--hair2);background:#fff;border-radius:12px;padding:10px;font:800 15px var(--font);color:var(--ink);cursor:pointer}
.rq-sh button.on{background:var(--p);border-color:var(--p);color:#fff}
.rq-prev{background:#F8F5F9;border-radius:14px;padding:10px 12px;margin-bottom:8px}
.rq-send{margin:6px 16px 0;border:0;border-radius:999px;padding:14px;font:800 15px var(--font);background:var(--grad);color:var(--p);cursor:pointer}
.rq-send:disabled{background:#EEE8F0;color:#B9A9BC;cursor:not-allowed}
/* a teammate's birthday: small, at the bottom, gone in a few minutes */
.bd-pop{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom));z-index:250;display:flex;align-items:center;gap:10px;width:min(360px,calc(100% - 28px));
  padding:10px 12px;border-radius:16px;color:#fff;background:linear-gradient(135deg,#37003C,#7A1583);box-shadow:0 12px 28px rgba(55,0,60,.35);
  transform:translate(-50%,24px);opacity:0;transition:transform .3s ease,opacity .3s ease;font-family:'Readex Pro',var(--font)}
.bd-pop.on{transform:translate(-50%,0);opacity:1}.bd-pop.out{transform:translate(-50%,24px);opacity:0}
.bd-pop-ic{font-size:26px}.bd-pop div{flex:1;min-width:0}.bd-pop b{display:block;font-weight:700;font-size:14px}.bd-pop small{display:block;font-size:12px;color:#E5CBE8;margin-top:1px}
.bd-pop button{border:0;background:rgba(255,255,255,.14);color:#fff;width:28px;height:28px;border-radius:50%;font-size:12px;cursor:pointer;flex:none}
/* the Shop Manager's Follow icons: 3 × 2, all the same size */
.mg-grid{margin:2px 0 14px}
.mg-grid button:last-child{grid-column:auto!important;aspect-ratio:1.35/1!important;flex-direction:column!important;padding:0!important}
.mg-grid button{position:relative}
.mg-badge{position:absolute;top:8px;right:8px;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--pink);color:#fff;font:800 11px/20px var(--font);font-style:normal}
.rq-retry{display:inline-block;flex:none;margin-left:8px;padding:6px 12px}

/* badges on every section icon */
.ft-grid button{position:relative}
.ft-grid .mg-badge{position:absolute;top:8px;right:8px;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--pink);color:#fff;font:800 11px/20px var(--font);font-style:normal;box-shadow:0 0 0 2px #fff}
body.viewing .bd-pop{bottom:calc(158px + env(safe-area-inset-bottom))}   /* above the View as bar, so Back to my account stays tappable */
.rq-new button .rq-q{margin-left:auto;font:700 11px var(--font);color:var(--ink3)}
/* the daily board: GA (and what was needed for 90%), Total OC, GA %, Partner (Shops) */
.bd-row.c4{grid-template-columns:minmax(0,1fr) 58px 54px 54px}
.bd-row.c5{grid-template-columns:minmax(0,1fr) 54px 46px 48px 54px;gap:4px}
.bx.ga{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.05;padding-top:4px;padding-bottom:4px}
.bx.ga small{display:block;font:700 9px var(--font);color:var(--ink3);margin-top:2px;white-space:nowrap}
.bx.ga.ok small{color:var(--win)}.bx.ga.low small{color:#C25400}
.bx.pc{font-weight:800}.bx.pc.ok{color:var(--win)}.bx.pc.low{color:#C25400}

/* Daily sales: Bravo Shops · Bravo agents · WhatsApp, one row under the header */
.wa-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-bottom:10px!important}
.wa-b{border:0;border-radius:12px;padding:10px 4px;font:800 12px var(--font);cursor:pointer;white-space:nowrap}
.wa-b.bravo{background:#F4EFF5;color:var(--p)}.wa-b.wa{background:#25D366;color:#fff}
.wa-b.ok{background:var(--win)!important;color:#fff!important}

/* Security (Area Manager) */
.sec-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--hair)}.fw-hd+.sec-row{border-top:0}
.sec-ic{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#F4EFF5;font-size:16px}
.sec-row div{flex:1;min-width:0}.sec-row b{display:block;font:700 13.5px var(--font);color:var(--ink)}.sec-row small{display:block;font:500 11.5px var(--font);color:var(--ink3)}
.sec-un{flex:none;border:0;border-radius:999px;padding:8px 14px;background:var(--grad);color:var(--p);font:800 12px var(--font);cursor:pointer}

/* ===== Daily 3 (agents), next to KPI now ===== */
.d3row{display:grid;grid-template-columns:1.05fr 1fr;gap:10px;align-items:stretch;margin-bottom:10px}
.d3row .boxes{display:block;margin:0}.d3row .boxes .box{height:100%}
.d3{background:#fff;border-radius:18px;padding:10px 11px;box-shadow:0 1px 0 rgba(55,0,60,.05),0 6px 16px rgba(55,0,60,.06);height:100%}
.d3-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.d3-h b{font:800 12.5px var(--font);color:var(--ink)}
.d3-h span{font:800 10.5px var(--font);padding:1px 8px;border-radius:999px;background:#F4EFF5;color:var(--ink2)}.d3-h span.all{background:var(--winSoft);color:var(--win)}
.d3-it{display:flex;align-items:center;gap:7px;padding:3px 0}
.d3-it i{flex:none;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;font:900 11px var(--font);font-style:normal}
.d3-it.ok i{background:var(--win);color:#fff}.d3-it.no i{background:var(--pink);color:#fff}.d3-it.wait i{background:#EEE8F0;color:var(--ink3)}
.d3-it.wait-o i{background:var(--org);color:#fff}.d3-it.na i{background:#F4F1F5;color:#C8BCCB}
.d3-it div{min-width:0}.d3-it b{display:block;font:700 12px/1.2 var(--font);color:var(--ink)}
.d3-it small{display:block;font:500 10.5px/1.25 var(--font);color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.d3-it.ok small{color:var(--win)}.d3-it.no small{color:var(--pink)}.d3-it.wait-o small{color:#C25400}
.d3-off{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:70px}.d3-off b{font:900 20px var(--font);color:var(--ink)}.d3-off small{font:600 11px var(--font);color:var(--ink3)}
/* under Save: the real state */
.saved.s-saved{color:var(--win)!important}.saved.s-waiting{color:#C25400!important}.saved.s-failed{color:var(--pink)!important}

/* send states: saved (green), waiting for the internet (orange), not saved (red) */
.st-l{display:flex;gap:8px;align-items:flex-start;margin:8px 14px 4px;border-radius:12px;padding:9px 11px;font:600 12px/1.5 var(--font)}
.st-l i{font-style:normal;font-size:15px;line-height:1.3}.st-l b{font-weight:800}
.st-l.queued{background:#FFF1E3;color:#9A4A00}.st-l.fail{background:var(--pinkSoft);color:#A3003A}
.fw-card>.fw-hd .fw-pill.wait{background:var(--org);color:#fff}
.io2.queued{background:var(--org)!important;color:#fff!important}.io2.fail{background:var(--pink)!important;color:#fff!important}
.tk-ok.w{background:#FFF1E3;color:#C25400}.tk-ok.f{background:var(--pinkSoft);color:var(--pink)}.tk-ok.n{background:#F4EFF5;color:var(--ink3)}
.cl-hero.wait .fl{stroke:var(--org)!important}.cl-hero.fail .fl{stroke:var(--pink)!important}
/* under Daily 3: Commission today and At this pace side by side, the normal small style */
.slv .d3row + .boxes{grid-template-columns:1fr 1fr}
.slv .d3row + .boxes > .box:first-child{grid-column:auto;padding:12px 14px;color:var(--ink);background:#fff;box-shadow:0 1px 0 rgba(55,0,60,.05),0 6px 16px rgba(55,0,60,.05)}
.slv .d3row + .boxes > .box:first-child::after,.slv .d3row + .boxes > .box:first-child::before{display:none}
.slv .d3row + .boxes > .box:first-child small{color:var(--ink3);font-size:12px}
.slv .d3row + .boxes > .box:first-child b{font:800 22px/1.1 var(--font);color:var(--ink);margin-top:4px}
.slv .d3row + .boxes > .box:first-child em{color:var(--ink3)}
.slv .d3row .box:first-child b{font-size:40px}
/* KPI now + GA rings (agents, next to Daily 3) */
.krings{display:grid;grid-template-columns:1fr 1fr;gap:4px;align-items:center;border-radius:18px;padding:12px 8px;color:#fff;height:100%;
  background:repeating-linear-gradient(115deg,rgba(255,255,255,.04) 0 14px,transparent 14px 28px),radial-gradient(90% 120% at 100% 0,#7A1583 0,rgba(122,21,131,0) 60%),#37003C}
.kr{display:flex;flex-direction:column;align-items:center;gap:3px}.kr small{font:600 11.5px var(--font);color:#E2C9E6}
.kr-r{position:relative;width:min(76px,100%);aspect-ratio:1}.kr-r svg{width:100%;height:100%;transform:rotate(-90deg)}
.kr-r b{position:absolute;inset:0;display:grid;place-items:center;font:900 17px var(--font);color:#fff}
.kr em{font:600 10px var(--font);color:#C9A9CE;font-style:normal}

/* Team sales: the arrival under each name */
.fw-r.tsr{align-items:center}.tsn{flex:1;min-width:0}.tsn span{display:flex;align-items:center;gap:6px}
.tsh{font:800 10.5px var(--font);font-style:normal;padding:1px 7px;border-radius:7px;background:#E8EEFF;color:#2F55C9}.tsh.m{background:#FFF1E3;color:#C25400}.tsh.off{background:#F1ECF2;color:var(--ink3)}
.tsl{display:block;font:600 11.5px var(--font);margin-top:2px}.tsl.g{color:var(--win)}.tsl.rd{color:var(--pink)}.tsl.gr{color:var(--ink3)}

/* ===== the Shop Manager's In / Out: a timeline ===== */
.io-tl .tl{position:relative;margin:4px 14px 0!important;padding:26px 6px 6px;max-width:none!important}
.tl-line{position:absolute;left:40px;right:40px;top:47px;height:6px;border-radius:6px;background:#EEE8F0}
.tl-line i{display:block;height:100%;border-radius:6px;background:var(--grad);transition:width .4s}
.tl-mid{position:absolute;left:50%;top:22px;transform:translateX(-50%);font:800 11.5px var(--font);color:var(--ink2);background:#fff;padding:2px 9px;border-radius:999px;border:1px solid var(--hair);white-space:nowrap}
.tl-pts{position:relative;display:flex;justify-content:space-between}
.tl-pt{display:flex;flex-direction:column;align-items:center;gap:5px;width:84px;text-align:center}
.tl-dot{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font:900 14px var(--font);background:#fff;border:3px solid #E2D9E4;color:var(--ink3);overflow:hidden;padding:0}
.tl-dot.ph img{width:100%;height:100%;object-fit:cover}
.tl-pt.next .tl-dot{border-color:var(--org);color:var(--org);box-shadow:0 0 0 5px rgba(255,121,0,.12)}
.tl-pt.on .tl-dot{background:var(--win);border-color:var(--win);color:#fff}
.tl-pt.wait .tl-dot{background:var(--org);border-color:var(--org);color:#fff}.tl-pt.fail .tl-dot{background:var(--pink);border-color:var(--pink);color:#fff}
.tl-pt.late .tl-dot{background:var(--pink);border-color:var(--pink)}
.tl-pt b{font:800 13px var(--font);color:var(--ink)}.tl-pt small{font:600 11.5px/1.3 var(--font);color:var(--ink3)}
.tl-pt.on small{color:var(--win)}.tl-pt.late small,.tl-pt.fail small{color:var(--pink)}.tl-pt.wait small{color:#C25400}
.tl-act{display:flex;align-items:center;justify-content:center;gap:8px;width:calc(100% - 28px);margin:12px 14px 4px!important;border:0;border-radius:999px;padding:14px;font:900 15px var(--font);cursor:pointer;color:var(--p);background:var(--grad);box-shadow:0 8px 18px rgba(0,200,120,.22)}
.tl-act svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}
.tl-act.out{background:linear-gradient(90deg,#FFB073,#FF7900);color:#fff;box-shadow:0 8px 18px rgba(255,121,0,.25)}
.tl-done{margin:12px 14px 4px!important;padding:11px;border-radius:14px;background:var(--winSoft);color:#0E6B3D;font:800 13px var(--font);text-align:center}

/* ===== Tasks: one line + the picker sheet; cancel ===== */
.tk-x{margin-left:6px;border:0;background:var(--pinkSoft);color:var(--pink);width:20px;height:20px;border-radius:50%;font:900 10px var(--font);cursor:pointer;vertical-align:middle}

/* ===== Shop Manager · Follow team (small table at the top) ===== */
.ft .fw-hd{padding:9px 12px!important}.ft-day{max-width:150px;margin:0!important;padding:5px 8px!important;font-size:12px!important;background:rgba(255,255,255,.14)!important;color:#fff!important;border:0!important}
.ft-day option{color:#37003C}
.ft-sum{display:flex;gap:6px;padding:8px 10px 2px}.ft-sum span{flex:1;text-align:center;border-radius:10px;padding:5px 2px;background:#F8F5F9;font:700 10.5px var(--font);color:var(--ink2)}
.ft-sum span b{display:block;font:900 14px var(--font);color:var(--ink)}.ft-sum span.ok b{color:var(--win)}.ft-sum span.bad b{color:var(--pink)}
.ft-t{width:100%;border-collapse:collapse;margin-top:4px}
.ft-t th{font:800 9.5px var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);text-align:left;padding:6px 12px 3px}
.ft-t td{padding:6px 12px;border-top:1px solid var(--hair);font:700 12.5px var(--font);color:var(--ink);white-space:nowrap}.ft-t .c{text-align:center}
.ft-t .tsh{font-size:10px}
.ft-ok{color:var(--win);font-weight:800}.ft-late{color:var(--pink);font-weight:800}.ft-no{color:var(--pink)}.ft-gr{color:var(--ink3);font-weight:600}
.fi{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;font:900 11px var(--font);font-style:normal}
.fi.ok{background:var(--win);color:#fff}.fi.no{background:var(--pinkSoft);color:var(--pink)}.fi.off{background:#F1ECF2;color:var(--ink3)}.fi.wt{background:#EEE8F0;color:var(--ink3)}

/* ===== Area Manager · today at a glance + More ===== */
.ds{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:0 0 10px}
.ds-b{border:0;border-radius:14px;padding:9px 4px;background:#fff;text-align:center;cursor:pointer;box-shadow:0 1px 0 rgba(55,0,60,.04)}
.ds-b b{display:block;font:900 17px var(--font);color:var(--ink)}.ds-b small{display:block;font:700 10px/1.2 var(--font);color:var(--ink3);margin-top:2px}
.ds-b.ok b{color:var(--win)}.ds-b.bad b{color:var(--pink)}
.more-b{position:relative;display:block;width:100%;margin:-4px 0 12px;border:1.5px dashed var(--hair2);background:transparent;border-radius:14px;padding:10px;font:800 12.5px var(--font);color:var(--ink2);cursor:pointer}
.more-b.on{border-style:solid;background:#fff}.more-b .mg-badge{top:-7px;right:10px}
.ft-grid.more{margin-top:-4px}

.op-old{display:inline-block;font:700 10.5px var(--font);color:var(--ink3);background:#F4EFF5;padding:3px 8px;border-radius:999px;white-space:nowrap}
/* a person's phones (Security) */
.ph-box{margin:2px 0 10px 44px;border:1px solid var(--hair);border-radius:12px;padding:6px 10px;background:#FCFAFC}
.ph-r{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 0;border-top:1px dashed var(--hair)}.ph-r:first-child{border-top:0}
.ph-r b{display:block;font:700 12.5px var(--font);color:var(--ink)}.ph-r small{display:block;font:500 11px var(--font);color:var(--ink3)}.ph-r.bl b{color:var(--pink)}
.ph-r span{display:flex;gap:5px;flex:none}
.ph-b{border:0;border-radius:999px;padding:6px 10px;font:800 11px var(--font);cursor:pointer;background:#F1ECF2;color:var(--ink)}.ph-b.ok{background:var(--grad);color:var(--p)}.ph-b.no{background:var(--pinkSoft);color:var(--pink)}
.ph-lk{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 0 8px;font:800 12px var(--font);color:var(--p)}

/* ===== the status of every photo sent: Done (green) · Waiting (yellow) · Refused (red) ===== */
.sc{display:inline-flex;align-items:center;gap:3px;font:800 11px var(--font);padding:3px 10px;border-radius:999px;white-space:nowrap;vertical-align:middle}
.sc-saved{background:#E3F7EC;color:#00A85A}.sc-waiting{background:#FFF6CC;color:#8A6D00}.sc-failed{background:var(--pinkSoft);color:var(--pink)}
.arr-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.tl-pt .sc{margin-top:2px}
/* Tasks: fixed slots */
.tk-n{font:700 11px var(--font);color:var(--ink3)}
.tk-slot{display:flex;align-items:center;gap:8px;padding:8px 0;border-top:1px dashed var(--hair)}.tk-h+.tk-slot{border-top:0}
.tk-sl{flex:1;min-width:0}.tk-sl b{display:block;font:800 13px var(--font);color:var(--ink)}.tk-sl small{display:block;font:600 11px var(--font);color:var(--ink3)}
.tk-slot.done .tk-sl b{color:var(--win)}
.tk-cam.sm{width:auto!important;margin:0!important;padding:8px 14px!important;font-size:12px!important;flex:none}
.tk-cam.sm svg{width:16px;height:16px}

.sc-sending{background:#F1ECF2;color:var(--ink2)}
.saved.s-sending{color:var(--ink3)!important}
