/* Jarvis — eRegNow light theme. Roboto only, SVG icons, brand blue #4472B0. */
:root{
  --bg:#f3f6fb; --card:#ffffff; --line:#e2e8f0; --line2:#eef2f7; --ink:#1f2937; --ink2:#374151; --muted:#4b5563; --faint:#5b6472;
  --blue:#4472B0; --blue-d:#2f5a94; --navy:#1f3f6b; --blue-l:#e8eff9; --blue-ll:#f5f8fd;
  --green:#4d7a2a; --green-d:#3b6420; --green-l:#eaf3e1;
  --amber:#b45309; --amber-l:#fff4e5; --amber-line:#f3d4a6;
  --red:#b42318; --red-l:#fdecea; --red-line:#f3c1bb;
  --radius:14px; --shadow:0 10px 30px rgba(31,63,107,.14);
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:Roboto,Arial,sans-serif;font-size:15px;line-height:1.45}
a{color:var(--blue-d);text-decoration:none}a:hover{color:var(--navy);text-decoration:underline}
h1{font-size:30px;font-weight:900;margin:0}h2{font-size:21px;font-weight:900;margin:0}h3{font-size:17px;font-weight:700;margin:0}
p{margin:0}
.ic{flex-shrink:0;vertical-align:middle}
code{background:var(--line2);padding:1px 6px;border-radius:4px;font-size:13px}
pre{background:#1f2937;color:#e5e7eb;padding:12px 14px;border-radius:10px;white-space:pre-wrap;word-break:break-all;font-size:13px;margin:0}

/* ---------- Top bar ---------- */
.topbar{position:sticky;top:0;z-index:30;height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:22px;padding:0 32px}
.brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:900;color:var(--navy);letter-spacing:.5px;text-decoration:none!important}
.brand .logo{width:34px;height:34px;border-radius:8px;background:var(--blue);display:flex;align-items:center;justify-content:center}
.brand.big{font-size:28px;justify-content:center;margin-bottom:10px}.brand.big .logo{width:44px;height:44px}
.mainnav{display:flex;gap:2px;flex-grow:1}
.mainnav a{padding:8px 13px;border-radius:8px;color:var(--ink2);font-weight:500;font-size:15px;display:flex;gap:7px;align-items:center;white-space:nowrap;text-decoration:none}
.mainnav a:hover{background:var(--blue-ll)}
.mainnav a.on{background:var(--blue-l);color:var(--navy);font-weight:700}
.badge{background:#fdecd3;color:#9a4b07;font-size:12px;font-weight:700;padding:1px 8px;border-radius:10px}
.search{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--line);border-radius:20px;padding:7px 14px;width:250px;color:var(--faint)}
.search input,.search input[type=search]{border:0;padding:0;border-radius:0;background:transparent;font:inherit;font-size:14px;outline:none;width:100%;color:var(--ink)}
.hdot{width:38px;height:38px;border-radius:19px;display:flex;align-items:center;justify-content:center}
.hdot.ok{color:var(--green);background:var(--green-l)}.hdot.warn{color:var(--amber);background:var(--amber-l)}.hdot.fail{color:#fff;background:var(--red)}
.usermenu{position:relative}.usermenu summary{list-style:none;cursor:pointer}.usermenu summary::-webkit-details-marker{display:none}
.avatar{width:38px;height:38px;border-radius:19px;background:var(--blue);color:#fff;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.umenu{position:absolute;right:0;top:48px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);width:260px;padding:8px;display:flex;flex-direction:column}
.umenu a{padding:10px 12px;border-radius:8px;color:var(--ink2);display:flex;gap:10px;align-items:center;text-decoration:none}.umenu a:hover{background:var(--blue-ll)}
.uhead{padding:8px 12px 12px;border-bottom:1px solid var(--line2);margin-bottom:6px;display:flex;flex-direction:column;gap:2px}.uhead span{font-size:13px;color:var(--muted)}.uhead .role{color:var(--blue-d);font-weight:700}
.burger{display:none;border:0;background:transparent;padding:6px;cursor:pointer;color:var(--ink)}

.main{max-width:1440px;margin:0 auto;padding:28px 32px 40px;display:flex;flex-direction:column;gap:22px}
.foot{text-align:center;color:var(--faint);font-size:13px;padding:10px 0 30px}

/* ---------- Building blocks ---------- */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px 26px;display:flex;flex-direction:column;gap:14px;min-width:0}
.card.tight{padding:16px 20px}
.card>.btn,.card>form>.btn:only-child{align-self:flex-start}
.card.warn{background:#fffaf2;border-color:var(--amber-line)}
.card.bad{background:#fff7f6;border-color:var(--red-line)}
.row{display:flex;gap:22px;align-items:flex-start}.row>*{min-width:0}
.grow{flex-grow:1}.col{display:flex;flex-direction:column;gap:22px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.grid5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.side{width:420px;flex-shrink:0}
.muted{color:var(--muted)}.faint{color:var(--faint);font-size:13px}.small{font-size:14px}.big{font-size:18px}
.good-t{color:var(--green-d)}.warn-t{color:var(--amber)}.bad-t{color:var(--red)}.blue-t{color:var(--blue-d)}
.head{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.head .grow{min-width:260px}
.head p{font-size:17px;color:var(--ink2);margin-top:6px}
.sub{font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase}
.btn{display:inline-flex;align-items:center;gap:8px;border:1px solid #c7d3e4;background:#fff;color:var(--navy);font:inherit;font-weight:700;font-size:14px;padding:10px 16px;border-radius:9px;cursor:pointer;text-decoration:none!important;white-space:nowrap}
.btn:hover{background:var(--blue-ll)}
.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.primary:hover{background:var(--blue-d)}
.btn.danger{color:var(--red);border-color:var(--red-line)}.btn.danger:hover{background:var(--red-l)}
.btn.small{padding:7px 12px;font-size:13px}.btn.wide{width:100%;justify-content:center;padding:14px}
.btn:disabled{opacity:.5;cursor:not-allowed}
.linkbtn{border:0;background:transparent;color:var(--blue-d);font:inherit;font-weight:700;cursor:pointer;padding:0}
summary.linkbtn{list-style:revert}
.pill{display:inline-block;font-size:12px;font-weight:700;padding:3px 10px;border-radius:12px;background:#f1f3f6;color:var(--ink2);white-space:nowrap}
.pill.blue{background:var(--blue-l);color:var(--navy)}.pill.green{background:var(--green-l);color:var(--green-d)}.pill.amber{background:#fdecd3;color:#9a4b07}.pill.red{background:var(--red-l);color:#8a1c12}.pill.solid{background:var(--blue);color:#fff}
.state{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--ink2)}.state i{width:10px;height:10px;border-radius:3px;display:inline-block}
.status-pill{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;padding:6px 12px;border-radius:16px;text-decoration:none!important}
.status-pill i{width:8px;height:8px;border-radius:4px}
.status-pill.ok{background:var(--green-l);color:var(--green-d)}.status-pill.ok i{background:var(--green)}
.status-pill.warn{background:var(--amber-l);color:#9a4b07}.status-pill.warn i{background:#d97706}
.status-pill.fail{background:var(--red-l);color:#8a1c12}.status-pill.fail i{background:var(--red)}
.flash{display:flex;gap:10px;align-items:center;padding:12px 16px;border-radius:10px;font-size:15px}
.flash.good{background:var(--green-l);color:var(--green-d)}.flash.bad{background:var(--red-l);color:#8a1c12}.flash.warn{background:var(--amber-l);color:#9a4b07}
.alert{padding:12px 14px;border-radius:10px;font-size:14px}.alert.bad{background:var(--red-l);color:#8a1c12}.alert.warn{background:var(--amber-l);color:#9a4b07;border:1px solid var(--amber-line)}.alert.info{background:var(--blue-ll);color:var(--navy);border:1px solid #d6e2f3}
.banner{display:flex;gap:14px;align-items:center;padding:16px 20px;border-radius:12px;background:var(--amber-l);border:1px solid var(--amber-line);color:#6b3a05;flex-wrap:wrap}
.banner.stop{background:#fdecea;border-color:var(--red-line);color:#7a1a12}.banner.stop>.ic{color:var(--red)}
.banner b{color:#1f2937}.banner .grow{font-size:15px;min-width:220px;flex:1 1 300px}.banner>.ic{flex-shrink:0}
.empty{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:26px 16px;color:var(--muted)}.empty b{color:var(--ink);font-size:16px}
.kv{display:grid;grid-template-columns:150px 1fr;gap:6px 14px;font-size:14px;margin:0}.kv dt{color:var(--muted)}.kv dd{margin:0;min-width:0;overflow-wrap:anywhere}

/* ---------- Stat tiles ---------- */
.tile{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 20px;display:flex;flex-direction:column;gap:4px;min-width:0;color:var(--ink)}
.tile .lab{font-size:14px;color:var(--muted);font-weight:500}
.tile .num{font-size:38px;font-weight:900;line-height:1.1}
.tile .note{font-size:14px;color:var(--faint)}
.tile.topline{border-top-width:4px}
.tile .spark{display:flex;align-items:flex-end;justify-content:space-between;gap:8px}

/* ---------- Box list (Today) ---------- */
.boxgroup{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.boxgroup.needs{border-color:var(--amber-line);background:#fffaf2}
.boxrow{display:flex;align-items:center;gap:16px;padding:13px 18px;border-bottom:1px solid var(--line2);color:var(--ink);text-decoration:none!important}
.boxrow:last-child{border-bottom:0}.boxrow:hover{background:var(--blue-ll)}
.boxrow .sw{width:12px;height:12px;border-radius:3px;flex-shrink:0}
.boxrow .n{font-size:26px;font-weight:900;width:76px;flex-shrink:0}
.boxrow .t{flex-grow:1;display:flex;flex-direction:column;gap:2px}.boxrow .t b{font-size:17px}.boxrow .t span{font-size:14px;color:var(--muted)}
.boxrow.zero{opacity:.55}
.donutwrap{display:flex;align-items:center;gap:30px;background:#f8fafd;border-radius:12px;padding:16px 20px}
.meter{height:12px;background:#e8eef6;border-radius:6px;overflow:hidden}.meter>span{display:block;height:100%;border-radius:6px;background:var(--blue)}
.meter.thin{height:9px}
.feed{display:flex;flex-direction:column;gap:12px}
.feed .it{display:flex;gap:12px;font-size:15px;line-height:1.45}.feed .it .tm{font-size:13px;color:var(--faint);width:70px;flex-shrink:0;padding-top:2px}
.feed .it.warn .tx::before,.feed .it.error .tx::before{content:"";display:inline-block;width:8px;height:8px;border-radius:4px;margin-right:6px;vertical-align:middle}
.feed .it.warn .tx::before{background:#d97706}.feed .it.error .tx::before{background:var(--red)}

/* ---------- Tables ---------- */
.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}
.tbl th{text-align:left;font-size:13px;font-weight:700;color:var(--muted);background:#f6f8fb;padding:10px 12px;white-space:nowrap}
.tbl th:first-child{border-radius:8px 0 0 8px}.tbl th:last-child{border-radius:0 8px 8px 0}
.tbl td{padding:12px;border-bottom:1px solid var(--line2);vertical-align:top}
.tbl tr:last-child td{border-bottom:0}
.tbl td b{font-size:15px}.tbl .sub2{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.tablewrap{overflow-x:auto}
.pager{display:flex;gap:16px;align-items:center;justify-content:center;font-size:14px;color:var(--muted)}.pager a{display:flex;gap:4px;align-items:center;font-weight:700}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{padding:7px 13px;border-radius:18px;background:#fff;border:1px solid #d6dde8;color:var(--ink2);font-size:14px;font-weight:500;text-decoration:none!important;white-space:nowrap}
.chip.on{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:700}
.chip:hover{border-color:var(--blue)}

/* ---------- Forms ---------- */
label.f{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:700;color:var(--ink2)}
label.f span.h{font-weight:400;color:var(--muted);font-size:13px}
input[type=text],input[type=email],input[type=number],input[type=search],input[type=url],input[type=time],select,textarea{font:inherit;font-weight:400;font-size:15px;color:var(--ink);background:#fff;border:1px solid #cfd8e3;border-radius:9px;padding:10px 12px;width:100%}
textarea{min-height:120px;resize:vertical;line-height:1.5}
textarea.code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;min-height:260px;background:#fbfcfe}
input:focus,select:focus,textarea:focus{outline:2px solid #b9cdea;border-color:var(--blue)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:15px}.check input{margin-top:3px;width:18px;height:18px}
.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
.formgrid .full{grid-column:1/-1}
.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.switch{display:flex;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line2)}.switch:last-of-type{border-bottom:0}
.switch .t{flex-grow:1}.switch .t b{display:block;font-size:16px}.switch .t span{font-size:14px;color:var(--muted)}
.toggle{position:relative;width:52px;height:30px;flex-shrink:0}.toggle input{opacity:0;width:0;height:0}
.toggle span{position:absolute;inset:0;background:#cbd5e1;border-radius:15px;cursor:pointer;transition:.15s}
.toggle span::after{content:"";position:absolute;width:24px;height:24px;left:3px;top:3px;background:#fff;border-radius:12px;transition:.15s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.toggle input:checked+span{background:var(--green)}.toggle input:checked+span::after{left:25px}
.toggle input:focus-visible+span{outline:2px solid var(--blue)}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.tabs a{padding:10px 16px;font-weight:700;color:var(--muted);border-bottom:3px solid transparent;text-decoration:none!important}
.tabs a.on{color:var(--navy);border-color:var(--blue)}
.drop{border:2px dashed #b9cdea;border-radius:12px;padding:26px;text-align:center;background:var(--blue-ll);display:flex;flex-direction:column;gap:10px;align-items:center}

/* ---------- Timeline ---------- */
.tl{display:flex;flex-direction:column}
.tl .ev{display:flex;gap:16px}
.tl .rail{display:flex;flex-direction:column;align-items:center;width:34px;flex-shrink:0}
.tl .dot{width:34px;height:34px;border-radius:17px;background:var(--blue-l);display:flex;align-items:center;justify-content:center;color:var(--blue-d);flex-shrink:0}
.tl .dot.solid{background:var(--blue);color:#fff}.tl .dot.green{background:var(--green-l);color:var(--green-d)}.tl .dot.grey{background:#f1f3f6;color:var(--ink2)}.tl .dot.red{background:var(--red-l);color:var(--red)}.tl .dot.amber{background:var(--amber-l);color:var(--amber)}
.tl .line{width:2px;flex-grow:1;background:var(--line);min-height:16px}
.tl .body{padding-bottom:18px;min-width:0;flex-grow:1}.tl .body b{font-size:16px}.tl .body .when{color:var(--muted);font-weight:400}
.tl .body .tx{font-size:15px;color:var(--muted);margin-top:3px}
.emailbox{background:#f8fafd;border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin-top:8px;font-size:14px;white-space:pre-wrap;color:var(--ink2);overflow-wrap:anywhere}
.emailbox .subj{font-weight:700;color:var(--ink);margin-bottom:8px;white-space:normal}
.person{border:1px solid var(--line);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:4px;min-width:0;overflow-wrap:anywhere}
.person.active{border-color:#b9cdea;background:#f7faff}
.person .top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}

/* ---------- Charts ---------- */
.bars{display:flex;align-items:flex-end;gap:4px;height:180px;border-bottom:1px solid #aab3bf;position:relative}
.bars .b{flex-grow:1;flex-basis:0;display:flex;flex-direction:column;justify-content:flex-end;gap:2px;height:100%;min-width:0}
.bars .b i{display:block;border-radius:3px 3px 0 0}
.bars .b i.read{background:var(--blue);border-radius:0}
.bars .b i.rest{background:#c9d6ea}
.axis{display:flex;justify-content:space-between;font-size:12px;color:var(--faint)}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--ink2);align-items:center}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:12px;height:12px;border-radius:3px;display:inline-block}
.heat{display:grid;grid-template-columns:40px repeat(10,minmax(0,1fr));gap:4px;font-size:12px;color:var(--faint);align-items:center}
.heat .c{height:26px;border-radius:4px}.heat .c.best{outline:2px solid #e07b14}
.hbar{display:flex;flex-direction:column;gap:6px}.hbar .top{display:flex;justify-content:space-between;font-size:14px;gap:10px}
.funnel .fr{display:flex;align-items:center;gap:16px}.funnel .fl{width:190px;font-size:15px;font-weight:700;flex-shrink:0}
.funnel .fb{flex-grow:1;height:34px;display:flex;align-items:center;min-width:0}.funnel .fb i{height:34px;background:var(--blue);border-radius:4px;display:flex;align-items:center;padding-left:12px;color:#fff;font-weight:700;font-style:normal;white-space:nowrap;min-width:6px;overflow:hidden}
.funnel .fb em{margin-left:10px;font-style:normal;font-weight:700;white-space:nowrap}
.funnel .fn{width:340px;font-size:14px;color:var(--muted);flex-shrink:0}
.insight{display:flex;gap:14px;border-radius:14px;padding:18px 20px}
.insight.navy{background:var(--navy);color:#fff}.insight.navy .k{color:#c9d8ee}
.insight.warn{background:var(--amber-l);border:1px solid var(--amber-line)}.insight.warn .k{color:#9a4b07}
.insight .k{font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase}
.insight .v{font-size:18px;font-weight:700;margin-top:6px;line-height:1.35}
.advice{border:1px solid var(--line);border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:6px}
.advice .why{font-size:14px;color:var(--muted)}.advice .chg{font-size:15px;background:var(--blue-ll);border-radius:8px;padding:10px 12px;color:var(--ink)}

/* ---------- Toasts ---------- */
.toasts{position:fixed;top:78px;right:24px;width:420px;max-width:calc(100vw - 32px);display:flex;flex-direction:column;gap:12px;z-index:50}
.toast{background:#fff;border:1px solid #d6e2f3;border-radius:12px;box-shadow:var(--shadow);padding:14px 16px;display:flex;gap:14px;align-items:flex-start;animation:tin .25s ease-out}
.toast .ti{width:40px;height:40px;border-radius:20px;background:var(--blue-l);color:var(--blue-d);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.toast.reply .ti{background:var(--green-l);color:var(--green-d)}.toast.bounce .ti,.toast.system .ti{background:var(--amber-l);color:var(--amber)}
.toast .tt{flex-grow:1;min-width:0}.toast .tt b{display:block;font-size:16px}.toast .tt span{display:block;font-size:14px;color:var(--muted);margin-top:3px}.toast .tt em{display:block;font-style:normal;font-size:12px;color:var(--faint);margin-top:6px}
.toast button{border:0;background:transparent;padding:4px;cursor:pointer;color:var(--faint)}
@keyframes tin{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* ---------- Login ---------- */
body.login{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:16px}
.login-box{background:#fff;border:1px solid var(--line);border-radius:16px;padding:36px 34px;width:420px;max-width:100%;display:flex;flex-direction:column;gap:16px;text-align:center}
.login-box .fine{font-size:13px;color:var(--faint)}.login-box h1{font-size:24px}

/* ---------- Responsive ---------- */
@media (max-width:1200px){
  .search{display:none}
  .grid5{grid-template-columns:repeat(3,minmax(0,1fr))}
  .side{width:360px}
  .funnel .fn{width:240px}
}
@media (max-width:980px){
  .topbar{padding:0 16px;gap:12px}
  .burger{display:block;margin-left:auto;order:2}
  .hdot{order:3}.usermenu{order:4}
  .mainnav{display:none;position:absolute;top:64px;left:0;right:0;background:#fff;flex-direction:column;padding:10px 16px 16px;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
  .mainnav.open{display:flex}.mainnav a{padding:12px 14px}
  .main{padding:18px 16px 32px}
  .row{flex-direction:column}.row>*{width:100%}.side{width:100%}
  .grid2,.grid3{grid-template-columns:minmax(0,1fr)}
  .grid4,.grid5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .formgrid{grid-template-columns:minmax(0,1fr)}
  .funnel .fr{flex-wrap:wrap;gap:6px}.funnel .fl{width:100%}.funnel .fn{width:100%}
  .donutwrap{flex-direction:column;align-items:stretch}.donutwrap svg{align-self:center}
  .boxrow .n{width:58px;font-size:22px}
  .toasts{top:72px;right:16px}
  .kv{grid-template-columns:110px 1fr}
  h1{font-size:25px}
}
@media (max-width:560px){
  .grid4,.grid5{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .tile{padding:12px 14px}.tile .num{font-size:28px}.tile .lab,.tile .note{font-size:13px}
  .boxrow{gap:10px;padding:12px}.boxrow .n{width:44px;font-size:20px}.boxrow .t b{font-size:15px}
  .card{padding:18px 16px}
  .heat{grid-template-columns:34px repeat(10,minmax(0,1fr));gap:2px}
  .tbl.stack thead{display:none}.tbl.stack tr{display:block;border-bottom:1px solid var(--line)}.tbl.stack td{display:block;border:0;padding:6px 4px}
}

/* Live updates */
.livestamp{position:fixed;left:16px;bottom:14px;z-index:40;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:6px 12px;font-size:12px;color:var(--muted);box-shadow:0 2px 8px rgba(16,24,40,.08)}
.livestamp i{width:8px;height:8px;border-radius:4px;background:var(--green);animation:livepulse 2s ease-in-out infinite}
.livestamp.off i{background:var(--amber);animation:none}
@keyframes livepulse{0%,100%{opacity:1}50%{opacity:.35}}
.live-flash .num,.live-flash .n{animation:liveglow 1.2s ease-out}
@keyframes liveglow{0%{color:var(--blue)}100%{color:inherit}}
@media (prefers-reduced-motion:reduce){.livestamp i,.live-flash .num,.live-flash .n{animation:none}}

/* Import batch tracker: stages left to right */
.pipeline{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-top:6px}
.pipeline .stage{position:relative;border:1px solid var(--line);border-radius:12px;padding:14px 14px 12px;background:#fff;display:flex;flex-direction:column;gap:6px;min-width:0}
.pipeline .stage:not(:last-child)::after{content:"";position:absolute;right:-12px;top:30px;width:10px;height:10px;border-top:2px solid #b7c9e2;border-right:2px solid #b7c9e2;transform:rotate(45deg);background:transparent}
.pipeline .si{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--line2);color:var(--muted)}
.pipeline .stage.some .si{background:var(--blue-l);color:var(--blue-d)}
.pipeline .stage.full .si{background:var(--green-l);color:var(--green-d)}
.pipeline .stage.full .meter>span{background:var(--green)}
.pipeline .n{font-size:34px;font-weight:900;line-height:1.05}
.pipeline .lab{font-size:14px;font-weight:700;color:var(--ink)}
.pipeline .hint{font-size:13px;color:var(--faint)}
@media (max-width:1100px){.pipeline{grid-template-columns:repeat(3,minmax(0,1fr))}.pipeline .stage::after{display:none}}
@media (max-width:640px){.pipeline{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Live regions wrap several blocks of a page: keep the page rhythm inside them */
.main>div[data-live]{display:flex;flex-direction:column;gap:22px;min-width:0}
.livestamp{left:auto;right:16px;pointer-events:none;opacity:.92}

/* Companies: filter bar */
.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.filters .fsearch{flex:2 1 280px;min-width:0}
.filters select{flex:1 1 150px;width:auto;min-width:0}
.filters .fgo{display:flex;align-items:center;gap:12px;flex:0 0 auto}

/* Companies: where the leads are (country and sector breakdown) */
.breakdown{gap:0;padding:0;overflow:hidden}
.bdhead{display:flex;align-items:center;gap:16px;width:100%;border:0;background:transparent;font:inherit;color:inherit;text-align:left;padding:16px 26px;cursor:pointer}
.bdhead:hover{background:var(--blue-ll)}
.bdhead:focus-visible{outline:3px solid var(--blue);outline-offset:-3px}
.bdhead b{display:block;font-size:17px;font-weight:700;color:var(--ink)}
.bdsum{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.bdtog{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--blue-d);flex-shrink:0}
.bdtog svg{transition:transform .2s}
.breakdown .when-closed{display:none}
.breakdown.closed .when-open{display:none}.breakdown.closed .when-closed{display:inline}
.breakdown.closed .bdtog svg{transform:rotate(-90deg)}
.bdbody{display:flex;flex-direction:column;gap:12px;padding:0 26px 20px;border-top:1px solid var(--line2);padding-top:14px}
.breakdown.closed .bdbody{display:none}
.tbl.nums{font-size:14px}
.tbl.nums th{padding:8px 10px}
.tbl.nums th.n,.tbl.nums td.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;width:1%}
.tbl.nums td{padding:8px 10px;vertical-align:middle}
.tbl.nums td:first-child{white-space:nowrap}
.tbl.nums td:first-child a b{font-size:14px}
.tbl.nums td.zero{color:#b5bfcc}
.tbl.nums tr.on td{background:var(--blue-l)}
.tbl.nums .intdot{display:inline-block;width:7px;height:7px;border-radius:4px;background:var(--green);margin-left:5px;vertical-align:middle}
.minibar{display:block;height:4px;margin-top:4px;background:#e8eef6;border-radius:2px;overflow:hidden;max-width:150px}.minibar>i{display:block;height:100%;background:var(--blue);border-radius:2px}
.bdcol tr.more{display:none}.bdcol.all tr.more{display:table-row}
.bdcol .when-all{display:none}.bdcol.all .when-all{display:inline}.bdcol.all .when-less{display:none}
.showmore{margin-top:8px}
@media (max-width:720px){.bdhead{padding:14px 16px}.bdbody{padding:12px 16px 16px}.filters select,.filters .fsearch{flex:1 1 100%}}
/* Positive replies and "Take action" (Today) */
.takeaction{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;background:var(--red);color:#fff;font-weight:700;font-size:12px;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;animation:jvblink 1.1s ease-in-out infinite}
@keyframes jvblink{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(180,35,24,.55)}50%{opacity:.5;box-shadow:0 0 0 7px rgba(180,35,24,0)}}
.takeaction-banner{display:flex;align-items:center;gap:14px;padding:14px 18px;margin:0 0 16px;border-radius:12px;background:#fff1ef;border:2px solid var(--red);color:#7a1a12;font-size:15px;text-decoration:none!important;animation:jvborder 1.1s ease-in-out infinite}
.takeaction-banner:hover{background:#ffe6e2}
@keyframes jvborder{50%{border-color:#f3c1bb}}
.pr-card.has-waiting{border-color:var(--red-line)}
.pr-tiles .pr-alert{background:#fff7f6;color:var(--ink)}
.pr-list{display:flex;flex-direction:column;border:1px solid var(--line2);border-radius:10px;overflow:hidden}
.pr-row{display:flex;gap:14px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line2);flex-wrap:wrap}
.pr-row:last-child{border-bottom:0}
.pr-row.mine{background:#fff7f6}
.pr-row .grow{min-width:240px}
.pr-row .pr-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:2px}
.pr-row .actions{display:flex;gap:8px;flex-wrap:wrap;margin:0}
.pr-mine-row td{background:#fff7f6}
@media (prefers-reduced-motion:reduce){.takeaction,.takeaction-banner{animation:none}}
@media (max-width:900px){.pr-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
