:root{
  --navy:#0B2E59; --teal:#1F7A8C; --light:#EEF3F7; --pale:#F7F9FB; --red:#B23B3B; --green:#2E7D32;
  --amber:#B5822A; --line:#E3E9EF; --mid:#7C8A99; --ink:#1A1A1A; --soft:#33485F; --bg:#EAEEF2; --panel:#FFFFFF;
  --purple:#6A4C93;
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{font-family:Arial,Helvetica,sans-serif}
body{background:var(--bg);color:var(--ink)}
button,select,input,textarea{font-family:inherit}
.app{max-width:1560px;margin:0 auto;background:var(--panel);min-height:100vh;box-shadow:0 0 40px rgba(11,46,89,.08)}
.topbar{background:var(--navy);color:#fff;display:flex;align-items:center;padding:12px 24px;position:sticky;top:0;z-index:50;flex-wrap:wrap;gap:14px}
.brand{font-size:19px;font-weight:bold;letter-spacing:.6px}
.brand span{color:#9FD0DA;font-weight:normal;font-size:12px;margin-left:10px;letter-spacing:0}
.topstat{margin-left:auto;display:flex;gap:22px;font-size:11.5px;align-items:center;flex-wrap:wrap;color:#C9D8E6}
.topstat div b{display:block;font-size:14px;margin-top:2px;color:#fff;font-variant-numeric:tabular-nums}
.topstat .ok{color:#6FE39F}.topstat .warn{color:#FFC98A}.topstat .bad{color:#FF9DB0}
.topright{display:flex;gap:10px;align-items:center}
.bell{position:relative;background:rgba(255,255,255,.12);border:0;color:#fff;border-radius:6px;width:36px;height:34px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.bell b{position:absolute;top:-5px;right:-6px;background:var(--red);color:#fff;font-size:10px;border-radius:9px;padding:1px 6px}
.bell b:empty{display:none}
.userbtn{background:rgba(255,255,255,.12);border:0;color:#fff;border-radius:6px;padding:8px 12px;font-size:12px;cursor:pointer}
.banner{background:#FFF7EC;color:#6B4E16;border-bottom:1px solid #EBD9B5;padding:9px 24px;font-size:12.5px}
.layout{display:flex}
.side{width:250px;background:var(--pale);border-right:1px solid var(--line);padding:10px 0 40px;min-height:calc(100vh - var(--top,58px));flex:none}
/* the menu stays beside the page: it sticks under the top bar and scrolls on its own, so reaching a lower tab never leaves the content behind */
@media (min-width:901px){.side{position:sticky;top:var(--top,58px);align-self:flex-start;max-height:calc(100vh - var(--top,58px));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}}
.grp{font-size:11px;color:#8A9AAA;text-transform:uppercase;letter-spacing:1px;padding:16px 22px 5px}
.nav{padding:9px 22px;font-size:13.5px;color:var(--soft);display:flex;align-items:center;gap:10px;cursor:pointer;border-left:3px solid transparent;user-select:none;text-decoration:none}
.nav:hover{background:#E8EFF4}
.nav.active{background:#E2ECF2;color:var(--navy);font-weight:bold;border-left-color:var(--teal)}
.nav .ico{width:12px;height:12px;border-radius:3px;background:#9FB6C9;flex:none}
.nav.active .ico{background:var(--teal)}
.nav .badge{margin-left:auto;background:var(--red);color:#fff;font-size:10px;font-weight:bold;border-radius:9px;padding:1px 7px}
.nav .badge.ok{background:var(--green)}
.main{flex:1;padding:22px 28px 60px;min-width:0}
.loading{color:var(--mid);font-size:14px;padding:40px 0}
h2.page{color:var(--navy);font-size:22px}
.when{color:#8A9AAA;font-size:12px;margin:3px 0 14px}
.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px;padding:10px 12px;background:var(--pale);border:1px solid var(--line);border-radius:8px}
.filters label{font-size:11px;color:var(--mid);display:flex;flex-direction:column;gap:3px}
.filters select{font-size:13px;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);min-width:0;max-width:260px}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:7px;overflow:hidden;background:#fff}
.seg button{border:0;background:#fff;padding:7px 13px;font-size:12px;cursor:pointer;color:var(--soft);border-right:1px solid var(--line)}
.seg button:last-child{border-right:0}
.seg button.on{background:var(--navy);color:#fff;font-weight:600}
.filters .spacer{flex:1}
.btn{background:var(--teal);border:none;color:#fff;padding:8px 14px;border-radius:6px;font-size:12px;font-weight:bold;cursor:pointer}
.btn:hover{background:#2a93a8}
.btn.outline{background:#fff;border:1px solid var(--teal);color:var(--teal)}
.btn.small{padding:5px 10px;font-size:11.5px}
.btn.danger{background:var(--red)}
.btn:disabled{opacity:.5;cursor:default}
:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:18px}
.kpi{border:1px solid var(--line);border-radius:8px;padding:14px 16px;background:var(--pale)}
.kpi .lab{font-size:12px;color:var(--mid)}
.kpi .val{font-size:24px;font-weight:bold;color:var(--navy);margin-top:5px;font-variant-numeric:tabular-nums}
.kpi .delta{font-size:12px;margin-top:5px;font-weight:bold}
.up{color:var(--green)}.down{color:var(--red)}
.row{display:grid;gap:16px;margin-bottom:16px}
.row.two{grid-template-columns:1.3fr 1fr}.row.half{grid-template-columns:1fr 1fr}
.panel{border:1px solid var(--line);border-radius:8px;padding:16px 18px;min-width:0}
.panel h3{font-size:13px;color:var(--navy);margin-bottom:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px}
table{width:100%;border-collapse:collapse;font-size:12.5px;font-variant-numeric:tabular-nums}
th{background:var(--navy);color:#fff;text-align:left;padding:8px 10px;font-size:11px;font-weight:bold;white-space:nowrap;position:sticky;top:0}
th.r,td.r{text-align:right}
td{padding:7px 10px;border-bottom:1px solid var(--light);vertical-align:top}
tr:nth-child(even) td{background:var(--pale)}
tr.bold td{background:var(--light)!important;font-weight:bold;color:var(--navy)}
tr.indent td:first-child{padding-left:22px}
tr.pct td{color:var(--mid);font-style:italic}
tr.flag td{background:#FFF7EC!important}
td.neg{color:var(--red)}
td.wrap{white-space:normal;min-width:180px;max-width:360px}
.pill{display:inline-block;font-size:11px;font-weight:bold;padding:2px 9px;border-radius:10px;white-space:nowrap}
.pill.Green,.pill.In{background:#E4F1E5;color:var(--green)}
.pill.Red,.pill.Action{background:#F6E4E4;color:var(--red)}
.pill.Amber{background:#F7EEDD;color:var(--amber)}
.pill.On{background:#EEE8F5;color:var(--purple)}
.pill.Grey{background:var(--light);color:var(--mid)}
.notes{margin-top:14px;font-size:12px;color:var(--soft);line-height:1.6;max-width:110ch}
.notes p{margin-bottom:4px}
.flags{margin:0 0 12px}
.flags p{background:#FFF7EC;border:1px solid #EBD9B5;color:#6B4E16;padding:8px 12px;border-radius:6px;font-size:12.5px;margin-bottom:6px}
.headline{padding:14px 18px;border-radius:8px;font-weight:bold;font-size:15px;margin-bottom:16px}
.headline.ok{background:#E4F1E5;color:var(--green)}
.headline.bad{background:#F6E4E4;color:var(--red)}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:18px}
.card{border:1px solid var(--line);border-left:5px solid var(--green);border-radius:8px;padding:14px 16px}
.card.bad{border-left-color:var(--red)}
.card .q{font-weight:bold;color:var(--navy);font-size:14px;display:flex;gap:10px;align-items:center}
.card .t{font-size:12.5px;color:var(--soft);margin-top:6px;line-height:1.55}
.card a{font-size:12px;color:var(--teal);margin-top:8px;display:inline-block;cursor:pointer}
.check{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--light);font-size:13px}
.check .dot{width:10px;height:10px;border-radius:50%;margin-top:4px;flex:none;background:var(--green)}
.check.bad .dot{background:var(--red)}
.check small{display:block;color:var(--mid);font-size:11.5px;margin-top:2px}
.alertcard{border:1px solid var(--line);border-left:4px solid var(--amber);border-radius:8px;padding:13px 16px;margin-bottom:10px;background:#fff}
.alertcard.action{border-left-color:var(--red)}
.alertcard.info{border-left-color:var(--teal)}
.alertcard .ttl{font-size:13.5px;font-weight:bold;color:var(--navy);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.alertcard dl{display:grid;grid-template-columns:130px 1fr;gap:4px 12px;font-size:12.5px;color:var(--soft);margin-top:8px;line-height:1.5}
.alertcard dt{color:var(--mid)}
.alertcard .acts{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}
.tag{font-size:10px;background:#E2ECF2;color:var(--teal);padding:2px 9px;border-radius:10px;font-weight:bold}
.strat .strat-head{display:flex;gap:10px;align-items:baseline;margin-bottom:8px}.strat .strat-head b{font-size:14px;color:var(--navy)}.strat .strat-body p{margin:0 0 8px}.strat .strat-body ul{margin:4px 0 8px 18px;padding:0}.strat .strat-body li{margin:2px 0}.strat .strat-fact{border-top:1px dashed #D6E2EB;margin-top:8px;padding-top:8px;font-size:12px;color:#5A6875}.strat .strat-foot{font-size:11.5px;margin-top:6px}
.narr{background:#F3F7FA;border:1px solid #D6E2EB;border-radius:8px;padding:14px 16px;margin-bottom:16px;font-size:13px;line-height:1.7;color:#1F2D3D}
.chart svg{width:100%;height:auto;display:block}
.chart text{font-size:11px;fill:var(--soft)}
.legend{display:flex;gap:14px;font-size:11.5px;color:var(--soft);margin-top:6px;flex-wrap:wrap}
.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;padding:12px 22px;border-radius:8px;font-size:13px;opacity:0;transition:.3s;z-index:100;pointer-events:none}
.toast.show{opacity:1}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);background:#fff;box-shadow:-10px 0 40px rgba(11,46,89,.18);z-index:80;padding:20px;overflow:auto}
.drawer h3{color:var(--navy);font-size:16px;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center}
textarea.json{width:100%;min-height:420px;font-family:ui-monospace,Menlo,monospace;font-size:12px;border:1px solid var(--line);border-radius:6px;padding:10px}
.kv{display:grid;grid-template-columns:200px 1fr;gap:6px 14px;font-size:13px;margin:10px 0}
.kv dt{color:var(--mid)}
.empty{color:var(--mid);font-size:13px;padding:18px 0}
@media (max-width:1100px){.kpis{grid-template-columns:repeat(3,1fr)}}
@media (max-width:900px){
  body{background:#fff}.app{box-shadow:none}
  .topbar{padding:10px max(14px,env(safe-area-inset-left,0px));position:static}
  .topstat{margin-left:0;width:100%;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
  .layout{flex-direction:column}
  .side{width:100%;min-height:0;padding:0;display:flex;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line)}
  .grp{display:none}
  .nav{white-space:nowrap;border-left:0;border-bottom:3px solid transparent;padding:12px 14px;flex:none}
  .nav.active{border-left:0;border-bottom-color:var(--teal)}
  .nav .ico{display:none}
  .main{padding:16px max(14px,env(safe-area-inset-left,0px)) 40px}
  .kpis{grid-template-columns:1fr 1fr}
  .row.two,.row.half,.cards{grid-template-columns:1fr}
  .alertcard dl{grid-template-columns:1fr}
}
@media print{.side,.topbar,.filters,.banner{display:none}.main{padding:0}}
h3.sub{margin:20px 0 10px;color:var(--navy);font-size:15px;display:flex;gap:8px;align-items:center}
.mutedtxt{color:var(--mid);font-size:11.5px}
ul.todo{margin-left:18px;font-size:12.5px;line-height:1.7}
input.num{width:90px;text-align:right;border:1px solid var(--line);border-radius:4px;padding:4px 6px;font-size:12px}
.acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.printhead{display:none}
td select{font-size:12px;padding:3px 6px;border:1px solid var(--line);border-radius:4px;max-width:200px}
.pill.Live,.pill.Approved{background:#E4F1E5;color:var(--green)}
.pill.Waiting{background:#F7EEDD;color:var(--amber)}
@media print{.printhead{display:block;font-size:11px;color:#555;margin-bottom:6px}.nav,.bell,.userbtn,.acts,.toast{display:none!important}body{background:#fff}.app{box-shadow:none}.tablewrap{overflow:visible}th{position:static}}

/* ---- Critical Finance brand: matches the website (Inter and Manrope, ink, blue and magenta) ---- */
:root{
  --navy:#0b1730; --teal:#315bd8; --light:#eef2fb; --pale:#f8fafd; --line:#e3e8f0; --mid:#60708a;
  --ink:#071226; --soft:#34435c; --bg:#f3f6fb; --magenta:#b0288f; --red:#b4233c; --green:#158b71; --amber:#a86b12;
}
html,body{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
body{background:var(--bg)}
.app{box-shadow:0 0 40px rgba(14,31,64,.06)}
.topbar{background:rgba(255,255,255,.96);backdrop-filter:blur(14px);color:var(--ink);border-bottom:1px solid var(--line);padding:10px 24px;box-shadow:0 6px 24px rgba(10,29,61,.04)}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink);min-width:0}
.brand img{height:34px;width:auto;flex:none}
.brand span{color:var(--mid);font-size:12.5px;font-weight:600;margin:0;padding-left:14px;border-left:1px solid var(--line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topstat{color:var(--mid)}
.topstat div b{color:var(--ink);font-family:Manrope,Inter,sans-serif;font-weight:800}
.topstat .ok{color:var(--green)}.topstat .warn{color:var(--amber)}.topstat .bad{color:var(--red)}
.bell{background:var(--light);color:var(--ink)}
.bell b{background:var(--magenta)}
.usermenu{position:relative}
.userbtn{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:5px 12px 5px 5px;font-size:12.5px;font-weight:600}
.userbtn:hover{border-color:#c7d0de}
.uinit{width:26px;height:26px;border-radius:7px;background:linear-gradient(145deg,#315bd8,#b0288f);color:#fff;display:grid;place-items:center;font-size:10px;font-weight:800;letter-spacing:.02em}
.uname{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.userpop{position:absolute;right:0;top:calc(100% + 8px);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 48px rgba(10,31,69,.15);min-width:220px;padding:6px;z-index:60}
.userpop a,.userpop button{display:block;width:100%;text-align:left;background:none;border:0;padding:10px 12px;border-radius:8px;font-size:13.5px;color:var(--ink);text-decoration:none;cursor:pointer;font-family:inherit}
.userpop a:hover,.userpop button:hover{background:var(--light)}
.userpop button{color:var(--red);font-weight:600;border-top:1px solid var(--line);border-radius:0 0 8px 8px;margin-top:4px}
.banner{background:#f7eaf4;color:#6d1a59;border-bottom:1px solid #edd0e5}
.side{background:#fff}
.grp{color:#8b96a7;font-weight:700;letter-spacing:.12em;font-size:10.5px}
.nav{color:#34435c;font-weight:500}
.nav:hover{background:var(--light)}
.nav.active{background:var(--light);color:var(--ink);font-weight:700;border-left-color:var(--teal)}
.nav .ico{background:#c9d3e4;border-radius:4px}
.nav.active .ico{background:linear-gradient(145deg,#315bd8,#b0288f)}
.nav .badge{background:var(--magenta)}
h2.page{font-family:Manrope,Inter,sans-serif;font-weight:800;letter-spacing:-.03em;font-size:26px;color:var(--ink)}
.panel h3,h3.sub,.drawer h3{font-family:Manrope,Inter,sans-serif;letter-spacing:-.01em}
.kpi .val{font-family:Manrope,Inter,sans-serif;font-weight:800;letter-spacing:-.03em;color:var(--ink)}
.btn{border-radius:9px;font-weight:700}
.btn:hover{filter:brightness(.95)}
.filters{border-radius:12px}
.seg{border-radius:9px}
th{background:var(--navy)}
tr.bold td{color:var(--ink)}
.toast{background:var(--ink);border-radius:10px}
@media (max-width:900px){
  .topbar{padding:8px 12px;gap:10px}
  .brand img{height:28px}
  .brand span{display:none}
  .uname{display:none}
  .userbtn{padding:4px}
  .topright{margin-left:auto;order:2}
  .topstat{order:3}
}

/* connections and connection test */
.keyform{display:grid;gap:12px;max-width:560px;margin:8px 0 4px}
.keyform label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--mid);font-weight:600}
.keyform input{font:inherit;font-size:14px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:#fff}
.keyform input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(49,91,216,.12)}
.keyform .seg{width:max-content;max-width:100%;flex-wrap:wrap}
.keyform .seg button{padding:8px 12px}
.howto{margin-top:14px;font-size:13px;color:var(--soft)}
.howto summary{cursor:pointer;font-weight:600;color:var(--teal)}
.howto ol{margin:10px 0 8px 20px;display:grid;gap:7px;line-height:1.5}
.howto code{background:var(--light);padding:1px 6px;border-radius:5px;font-size:12px;word-break:break-all}
code.copy{cursor:copy;border:1px dashed #b9c6e8}
.headline small{display:block;font-weight:normal;font-size:13px;margin-top:4px;opacity:.9}
.headline.warnline{background:#FBF1E0;color:#7a4d06}
.check.warn .dot{background:var(--amber)}
.buildgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px}
.buildgrid a{font-size:12.5px;padding:7px 10px;border-radius:8px;text-decoration:none;border:1px solid var(--line);color:var(--ink)}
.buildgrid a.ok{background:#f2faf6}.buildgrid a.bad{background:#fdf0f2;color:var(--red);border-color:#f3c9d1}
.starter{border-color:#d6def5;background:#f8faff}
.keyform{min-width:0}
.keyform input{width:100%;min-width:0;box-sizing:border-box}
@media (max-width:900px){
  .keyform .seg{display:flex;flex-direction:column;width:100%}
  .keyform .seg button{text-align:left}
  .kv{grid-template-columns:110px minmax(0,1fr)}
  .kv dd{min-width:0;overflow-wrap:anywhere}
}
.practicelink{font-size:13px;font-weight:600;color:var(--teal);text-decoration:none;padding:8px 10px;border-radius:8px;background:var(--light)}
.wsswitch{font:inherit;font-size:13px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);max-width:220px}
@media (max-width:900px){.practicelink{padding:6px 8px;font-size:12px}.wsswitch{max-width:140px}}
a.btn{text-decoration:none;display:inline-flex;align-items:center}

/* ---------- the owner's pages: business, tax, board pack ---------- */
.owner .modebadge{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.8px;color:var(--teal);border:1px solid var(--teal);border-radius:4px;padding:2px 7px;margin-bottom:8px;text-transform:uppercase}
.owner .kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.owner .kpi.alert{background:#FBF1F1;border-color:#EBC9C9}
.owner .kpi.alert .val{color:var(--red)}
.owner .kpi.hl{background:#EEF6F0;border-color:#C7E1CC}
.owner .kpi .vf{font-size:11px;color:var(--mid);margin-top:4px}
.owner .kpi .delta.down{color:var(--red)} .owner .kpi .delta.up{color:var(--green)}
.owner .row.one{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:16px}
.owner .row.two{margin-bottom:16px}
.owner .tag.red{background:#FBE9E9;color:var(--red)} .owner .tag.green{background:#E4F1E5;color:var(--green)} .owner .tag.amber{background:#FBF2E1;color:var(--amber)}
.owner .rec{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.55}
.owner .rec:last-child{border-bottom:0}
.owner .rec .dot{flex:0 0 9px;height:9px;border-radius:50%;margin-top:6px;background:var(--mid)}
.owner .rec .dot.r{background:var(--red)} .owner .rec .dot.a{background:var(--amber)} .owner .rec .dot.b{background:var(--teal)} .owner .rec .dot.g{background:var(--green)}
.owner .note{font-size:13px;line-height:1.6;color:var(--soft);margin-top:10px}
.owner .note p{margin-bottom:8px}
.owner .note .neg,.owner p.neg{color:var(--red)} .owner .note .pos,.owner p.pos{color:var(--green)}
.owner .footnote{font-size:11px;color:var(--mid);margin-top:10px;line-height:1.5}
.owner td.pos{color:var(--green)}
.owner .lever{margin:12px 0}
.owner .lever label{display:flex;justify-content:space-between;font-size:12.5px;color:var(--soft);margin-bottom:4px}
.owner .lever input[type=range]{width:100%;accent-color:var(--teal)}
.owner .res{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.owner .res-card{border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:var(--pale)}
.owner .res-card.hl{background:#EEF6F0;border-color:#C7E1CC}
.owner .res-card .l{font-size:11.5px;color:var(--mid)} .owner .res-card .v{font-size:20px;font-weight:700;color:var(--navy);margin:3px 0} .owner .res-card .d{font-size:11px;color:var(--mid)}
.owner .cal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.owner .cal .c{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.owner .cal .c.alert{background:#FBF1F1;border-color:#EBC9C9}
.owner .cal .d{font-size:12px;color:var(--mid)} .owner .cal .a{font-size:22px;font-weight:700;color:var(--navy);margin:4px 0} .owner .cal .n{font-size:11.5px;color:var(--soft)}
.owner .ownerform{display:grid;gap:8px;margin-top:10px}
.owner .ownerform label{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12.5px;color:var(--soft)}
.owner .ownerform label.chk{justify-content:flex-start}
.owner .ownerform input[type=number],.owner .ownerform input[type=text],.owner .ownerform input[type=date],.owner .ownerform textarea{border:1px solid var(--line);border-radius:5px;padding:5px 7px;font-size:12.5px;min-width:140px}
.owner .ownerform textarea{width:100%;font-family:inherit}
.owner table.adj{width:100%} .owner table.adj input{width:100%;border:1px solid var(--line);border-radius:4px;padding:4px 6px;font-size:12px}
.owner table.adj input.num{width:110px;text-align:right}
.owner ul.bp{margin:6px 0 0 18px;font-size:13.5px;line-height:1.65;color:var(--ink)} .owner ul.bp li{margin-bottom:6px}
.owner .bphead{margin-bottom:16px} .owner p.lead{font-size:14.5px;line-height:1.6;color:var(--ink);margin-bottom:10px}
.owner .bp-well h3{color:var(--green)} .owner .bp-bad h3{color:var(--red)}
.owner details.howto{margin-top:14px}
@media (max-width:900px){.owner .kpis,.owner .cal{grid-template-columns:repeat(2,minmax(0,1fr))}.owner .res{grid-template-columns:1fr}}
@media print{.owner .noprint,.owner .acts,.owner .lever,.owner details{display:none!important}.owner .panel{break-inside:avoid}}
.owner .chart svg{width:100%;max-height:300px}
.owner table.adj td:first-child{width:46%}
.owner .crumbs{font-size:13px;margin:-4px 0 14px;color:var(--mid)} .owner .crumbs a,.owner table a{color:var(--teal);font-weight:600;text-decoration:none} .owner table a:hover{text-decoration:underline}
.owner table.pipe input,.owner table.pipe select{min-width:70px;font-size:12px;padding:3px 5px;border:1px solid var(--line);border-radius:4px}.owner table.pipe td:first-child{width:auto}.owner table.pipe .pd-c{min-width:140px}.owner table.pipe .pd-n{min-width:180px}
.owner table.dealsum .sub{font-size:11.5px;color:var(--muted,#6b7280);margin-top:2px}.owner table.dealsum td{vertical-align:top}
@media (max-width:760px){
.owner table.pipe thead{display:none}.owner table.pipe,.owner table.pipe tbody{display:block;width:100%}
.owner table.pipe tr{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;padding:12px 0;border-bottom:1px solid var(--line,#e5e7eb)}
.owner table.pipe td{display:block;padding:0;border:0;text-align:left}.owner table.pipe td[data-l]::before{content:attr(data-l);display:block;font-size:11px;color:var(--muted,#6b7280);margin-bottom:2px}
.owner table.pipe td:first-child,.owner table.pipe td[data-l="Notes"]{grid-column:1/-1}.owner table.pipe input,.owner table.pipe select{width:100% !important;min-width:0;font-size:14px;padding:6px}
.owner table.dealsum{font-size:13px}.owner table.dealsum th,.owner table.dealsum td{padding:6px 5px}
}
.dom-fab{position:fixed;right:20px;bottom:20px;z-index:60;background:#0B2E59;color:#fff;border:0;border-radius:999px;padding:12px 18px;font-weight:600;box-shadow:0 6px 20px rgba(11,46,89,.3);cursor:pointer}
.dom-panel{position:fixed;right:20px;bottom:20px;z-index:61;width:400px;max-width:calc(100vw - 32px);height:min(640px,calc(100vh - 40px));background:var(--card,#fff);border:1px solid var(--line,#e3e9ef);border-radius:14px;box-shadow:0 12px 40px rgba(11,46,89,.22);display:flex;flex-direction:column;overflow:hidden}
.dom-panel[hidden],.dom-fab[hidden]{display:none}
.dom-panel header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:#0B2E59;color:#fff}.dom-panel header span{margin-left:8px;opacity:.75;font-size:12px}.dom-panel header button{background:none;border:0;color:#fff;font-size:22px;cursor:pointer;line-height:1}
.dom-log{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px;font-size:14px}
.dom-msg{max-width:88%;padding:9px 12px;border-radius:12px;line-height:1.45}.dom-msg p{margin:0 0 6px}.dom-msg p:last-child{margin:0}.dom-msg ul{margin:4px 0 4px 18px;padding:0}
.dom-msg.me{align-self:flex-end;background:#1F7A8C;color:#fff}.dom-msg.dom{align-self:flex-start;background:var(--bg2,#f2f5f8)}.dom-msg.err{background:#fdecec;color:#8a1f1f}
.dom-propose{align-self:stretch;border:1px solid #B5822A;background:#fff9ee;max-width:100%}.dom-propose.done{opacity:.75}.dom-prop div{font-size:13px}.dom-prop span{color:var(--muted,#5a6875)}.dom-sum{font-size:12.5px;margin-top:6px;color:var(--muted,#5a6875)}.dom-acts{display:flex;gap:8px;margin-top:8px;font-size:12.5px;font-weight:600}
.dom-sugg{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.dom-sugg button{border:1px solid var(--line,#d5dde5);background:#fff;border-radius:999px;padding:5px 10px;font-size:12px;cursor:pointer}
.dom-thinking{padding:4px 14px;font-size:12px;color:var(--muted,#5a6875)}.dom-thinking[hidden]{display:none}
#dom-form{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line,#e3e9ef)}#dom-form textarea{flex:1;resize:none;border:1px solid var(--line,#d5dde5);border-radius:8px;padding:8px;font:inherit;font-size:14px}
@media (max-width:600px){.dom-panel{right:8px;left:8px;bottom:8px;width:auto;height:calc(100vh - 16px)}.dom-fab{right:12px;bottom:12px}}
.dom-status{font-size:13px;color:var(--muted,#5a6875);background:transparent !important;padding:4px 6px !important;display:flex;align-items:center;gap:8px}.dom-secs{opacity:.6;font-size:12px}
.dom-dots{display:inline-flex;gap:3px}.dom-dots i{width:6px;height:6px;border-radius:50%;background:#1F7A8C;animation:domdot 1.2s infinite ease-in-out}.dom-dots i:nth-child(2){animation-delay:.15s}.dom-dots i:nth-child(3){animation-delay:.3s}
@keyframes domdot{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.dom-live{opacity:.85}
.dom-msg.dom-file{padding:0;background:transparent !important}.dom-filecard{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line,#d5dde5);border-radius:12px;background:#fff;text-decoration:none;color:inherit;min-width:240px}
.dom-filecard:active,.dom-filecard:hover{border-color:#1F7A8C;background:#f4fafb}.dom-filecard b{display:block;word-break:break-all;font-size:13.5px}.dom-filecard small{display:block;color:var(--muted,#5a6875);font-size:12px;margin-top:2px}
.dom-fileicon{flex:none;width:38px;height:38px;border-radius:8px;display:grid;place-items:center;color:#fff;font-weight:700;font-size:18px}.dom-fileicon.ppt{background:#C4472B}.dom-fileicon.xls{background:#1D6F42}.dom-fileicon.pdf{background:#B3261E;font-size:12px}.dom-fileicon.doc{background:#2B579A}
.dom-xero{display:table;font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#1F7A8C;background:#e8f4f6;border-radius:4px;padding:2px 6px;margin-bottom:6px}.dom-xero.live{color:#8a1f1f;background:#fdecec}
.dom-tot{margin-top:6px;border-top:1px solid #eadfca;padding-top:5px}.dom-prop div b{float:right}.dom-prop div{overflow:hidden}
.dom-hbtns{display:flex;align-items:center;gap:6px}.dom-hbtns button#dom-list,.dom-hbtns button#dom-new{font-size:12.5px !important;line-height:1 !important;border:1px solid rgba(255,255,255,.4) !important;border-radius:999px;padding:5px 10px !important;color:#fff}
.dom-threads{display:flex;flex-direction:column;gap:6px}.dom-th-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.dom-th{display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:1px solid var(--line,#d5dde5);background:#fff;border-radius:10px;padding:9px 12px;cursor:pointer;font:inherit}.dom-th:hover{border-color:#1F7A8C}.dom-th span{font-size:13.5px}.dom-th small{color:var(--muted,#5a6875);font-size:11.5px;margin-top:2px}
.dom-filecard.old{opacity:.7;cursor:default}
.owner .ye-checks div{display:flex;gap:10px;align-items:flex-start;padding:6px 0;border-bottom:1px solid var(--line,#eef1f4);font-size:13.5px}.ye-tick{flex:none;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;background:#fdf1dd;color:#9a6a12}.ye-tick.ok{background:#e3f3e6;color:#2E7D32}
.owner table.ye-stat{width:100%;border-collapse:collapse;font-size:13.5px}.owner table.ye-stat td{padding:5px 4px;border-bottom:1px solid var(--line,#eef1f4)}.owner table.ye-stat td.r{text-align:right;font-variant-numeric:tabular-nums}.owner table.ye-stat tr.t td{font-weight:600;border-top:1px solid #9aa5b1}.owner table.ye-stat tr.tt td{font-weight:700;border-top:1px solid #333;border-bottom:3px double #333}
.owner .ye-decl{display:flex;flex-direction:column;gap:10px;margin:10px 0;padding:12px;background:#f7f9fb;border-radius:8px}.owner .ye-decl label.chk{font-size:13.5px;line-height:1.5}.owner .ye-decl input#ye-name{display:block;margin-top:4px;padding:7px;border:1px solid var(--line,#d5dde5);border-radius:6px;width:100%;max-width:340px}
.owner table.ye-bd input[type=checkbox]{width:18px;height:18px}
.dom-tw{overflow-x:auto;margin:4px 0}.dom-t{border-collapse:collapse;font-size:12.5px;width:100%}.dom-t th{text-align:left;font-weight:600;border-bottom:1px solid #c9d2db;padding:4px 6px;white-space:nowrap}.dom-t td{border-bottom:1px solid #e3e8ee;padding:4px 6px;vertical-align:top}.dom-t td.r{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.dom-msg ol{margin:4px 0 4px 18px;padding:0}
.owner .sub{font-size:11.5px;color:var(--muted,#5a6875);margin-top:2px}.owner table.ex-g td{vertical-align:top}.owner table.ex-g .tag{display:inline-block;margin-bottom:2px}
.owner .rd-proj{border:1px solid var(--line,#e3e9ef);border-radius:10px;padding:12px;margin:12px 0;background:#fbfcfd}.owner .rd-f{display:block;margin-top:10px;font-size:13px;font-weight:600}.owner .rd-f textarea,.owner .rd-f input{display:block;width:100%;margin-top:4px;font:inherit;font-weight:400;font-size:13.5px;padding:8px;border:1px solid var(--line,#d5dde5);border-radius:6px;box-sizing:border-box}
.owner .rd-n{float:right;font-weight:400;color:var(--muted,#5a6875);font-size:12px}.owner .rd-n.over{color:#B23B3B;font-weight:700}.owner table.rd-costs input.num{width:64px}.owner table.rd-costs select{font-size:12px;max-width:130px}
@media (max-width:760px){
.owner table.rd-costs thead{display:none}.owner table.rd-costs,.owner table.rd-costs tbody{display:block;width:100%}
.owner table.rd-costs tr{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;padding:10px 0;border-bottom:1px solid var(--line,#e3e8ee)}
.owner table.rd-costs td{display:block;padding:0;border:0;text-align:left}.owner table.rd-costs td:first-child{grid-column:1/-1}
.owner table.rd-costs td[data-l]::before{content:attr(data-l);display:block;font-size:11px;color:var(--muted,#6b7280)}.owner table.rd-costs input.num,.owner table.rd-costs select{width:100%;max-width:none}
}
.dom-use{font-size:12px;color:var(--muted,#5a6875);margin:2px 0 8px}.dom-bar{height:6px;background:#e6ebf0;border-radius:3px;overflow:hidden;margin-bottom:4px}.dom-bar i{display:block;height:100%;background:#1F7A8C}

/* the Rules Library inside the platform */
.rl-head{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:flex-start;justify-content:space-between;margin-bottom:12px}
.rl-head .when{max-width:70ch;margin-bottom:0}
.rl-ask{display:flex;gap:8px;flex-wrap:wrap}
.rl-frame{display:block;width:100%;height:calc(100vh - 150px);min-height:560px;border:1px solid var(--line);border-radius:8px;background:#F7F9FB}
@media (max-width:700px){.rl-frame{height:calc(100vh - 120px)}}

/* bank page */
.bk-hero{max-width:720px}
.bk-hero p{margin:6px 0 10px;color:var(--soft)}
.bk-points{margin:4px 0 14px 18px;color:var(--soft);font-size:13.5px;line-height:1.7}

/* margin by category */
.mg-q td .sub{font-size:11.5px;color:var(--mid)}
.mg-q select{font-size:12.5px;padding:4px 6px;border:1px solid var(--line);border-radius:6px;max-width:170px}
.mg-adj,.mg-alloc{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.mg-adjrow,.mg-alloc{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:6px}
.mg-alloc{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 70px;flex-direction:row}
.mg-adj input,.mg-alloc select,.mg-alloc input,.mg-set input,.mg-set textarea{font:inherit;font-size:13px;padding:6px 8px;border:1px solid var(--line);border-radius:7px;width:100%;min-width:0}
.mg-set summary{cursor:pointer;list-style:none}
.mg-set summary h3{display:inline}
.mg-set summary::before{content:"▸ ";color:var(--mid)}
.mg-set[open] summary::before{content:"▾ "}
@media (max-width:700px){.mg-adjrow{grid-template-columns:1fr 100px}.mg-alloc{grid-template-columns:1fr}}

.mg-newt{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.mg-newt input{flex:1 1 220px;min-width:0;font:inherit;font-size:13.5px;padding:8px 10px;border:1px solid var(--line);border-radius:8px}
.mg-linkbox{width:100%;margin:6px 0;font:inherit;font-size:12.5px;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:#fff}

/* contracts to SAP */
.ct-st{display:inline-block;font-size:11px;font-weight:700;padding:2px 9px;border-radius:99px;background:var(--light);color:var(--soft);white-space:nowrap}
.ct-st.ok{background:#e3f4ef;color:#158b71}.ct-st.amber{background:#f7eedd;color:#a86b12}.ct-st.red{background:#fbe6ea;color:#b4233c}
.ct-ev{font-size:12.5px;color:var(--soft);max-width:560px}
.ct-payload pre{white-space:pre-wrap;font-size:11.5px;background:var(--pale);border:1px solid var(--line);border-radius:8px;padding:10px;max-height:420px;overflow:auto}
.ct-payload summary{cursor:pointer;font-weight:600;margin-top:12px}
.iv-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:6px 0 14px}
.iv-top h3{margin:0;font-family:Manrope,Inter,sans-serif;font-size:19px;display:flex;gap:8px;align-items:center}
.iv-sum{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px 18px;margin:6px 0 10px}
.iv-sum div{display:flex;flex-direction:column;gap:2px;min-width:0}
.iv-sum span{font-size:11.5px;color:var(--mid);text-transform:uppercase;letter-spacing:.04em}
.iv-sum b{font-size:14px;overflow-wrap:anywhere}
.iv-row{cursor:pointer}.iv-row:hover td{background:var(--light)}
.iv-list .sub{font-size:11.5px;color:var(--mid)}

.owner .rd-steps{list-style:none;margin:6px 0 0;padding:0;counter-reset:rds}
.owner .rd-step{counter-increment:rds;display:grid;grid-template-columns:28px 1fr;column-gap:10px;padding:9px 0;border-bottom:1px solid var(--line,#eef1f4);font-size:13.5px;line-height:1.45}
.owner .rd-step::before{content:counter(rds);grid-row:span 2;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;background:#fdf1dd;color:#9a6a12}
.owner .rd-step.done::before{content:"✓";background:#e3f3e6;color:#2E7D32}
.owner .rd-step.blocked::before{content:"!";background:#fde4e4;color:#b42318}
.owner .rd-step b{display:block;font-weight:600}.owner .rd-step span{color:var(--muted,#5b6472)}
.owner .rd-step.blocked:first-child span{color:#b42318}

.owner .ye-new{display:grid;grid-template-columns:1fr 170px auto;gap:8px;margin-top:10px}
.owner .ye-new input{width:100%;min-width:0;padding:8px 10px;border:1px solid var(--line,#dfe3ea);border-radius:8px;font:inherit}
.owner table.adj input.ye-l{width:100%;min-width:0}
@media (max-width:640px){
  .owner .ye-new{grid-template-columns:1fr 1fr}.owner .ye-new input.ye-nl{grid-column:1/-1}
  .owner table.adj tr{display:grid;grid-template-columns:1fr auto;gap:6px;padding:8px 0;border-bottom:1px solid var(--line,#eef1f4)}
  .owner table.adj td{display:block;padding:0;border:0}.owner table.adj td:first-child{grid-column:1/-1}
}
.owner table.adj td input.ye-l{width:100%!important;max-width:none}
.owner table.rd-costs tr.on td{background:#f2f6ff}.owner table.rd-costs td:first-child{width:34px}
.owner table.rd-costs .rd-tick{width:20px;height:20px;accent-color:#315bd8;cursor:pointer}
.owner .rd-filter{margin:10px 0 6px;flex-wrap:wrap}.owner .rd-filter .sub{opacity:.7;margin-left:2px}

.owner .rd-up{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:10px;align-items:end;margin-top:10px}
.owner .rd-up .iv-f{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted,#5b6472)}
.owner .rd-up select,.owner .rd-up input[type=file]{font:inherit;font-size:13px;padding:6px;border:1px solid var(--line,#dfe3ea);border-radius:8px;background:#fff;color:inherit;min-width:0}
.owner .ok-flag{background:#eef6ef;border-color:#cfe6d3;color:#205c27}
@media (max-width:760px){.owner .rd-up{grid-template-columns:1fr}}
@media (max-width:760px){
  .owner table.rd-costs tr{grid-template-columns:30px 1fr 96px;gap:6px 8px;padding:10px 0}
  .owner table.rd-costs td[data-l]::before{display:none}
  .owner table.rd-costs td:nth-child(1){grid-column:1;grid-row:1/3;width:auto;padding-top:2px}
  .owner table.rd-costs td:nth-child(2){grid-column:2;grid-row:1}
  .owner table.rd-costs td:nth-child(4){grid-column:3;grid-row:1;text-align:right;font-weight:600}
  .owner table.rd-costs td:nth-child(3){grid-column:2;grid-row:2}
  .owner table.rd-costs td:nth-child(5){grid-column:3;grid-row:2}
  .owner table.rd-costs td:nth-child(5) input{text-align:right}
  .owner table.rd-costs td:nth-child(5)::after{content:"% R&D";display:block;font-size:11px;color:var(--muted,#6b7280);text-align:right}
  .owner table.rd-costs td:nth-child(6){grid-column:2;grid-row:3}
  .owner table.rd-costs td:nth-child(6):not(:empty)::before{content:"Worked in the UK";display:inline;font-size:12px;color:var(--muted,#6b7280);margin-right:6px}
  .owner table.rd-costs td:nth-child(7){grid-column:3;grid-row:3;text-align:right;color:#2E7D32;font-weight:600}
  .owner table.rd-costs td:empty{display:none}
  .owner table.rd-costs select{padding:6px 8px;font-size:13px}
}

.owner .rd-doc{border:1px solid var(--line,#e3e8ee);border-radius:10px;padding:12px 14px;margin:10px 0;background:#fbfcfe}
.owner .rd-doc-h{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap}.owner .rd-doc-h .acts{margin:0}
.owner .rd-doc p{margin:8px 0;font-size:13.5px;line-height:1.5}.owner .rd-doc .iv-sum{margin-top:8px}
.owner .rd-reading::before{content:"";display:inline-block;width:10px;height:10px;margin-right:8px;border-radius:50%;border:2px solid #315bd8;border-right-color:transparent;animation:rdspin 1s linear infinite;vertical-align:-1px}
@keyframes rdspin{to{transform:rotate(360deg)}}

.owner .rd-find{width:100%;margin:10px 0 0;padding:9px 12px;border:1px solid var(--line,#dfe3ea);border-radius:8px;font:inherit}
.owner table.rd-costs tr.rd-hide{display:none!important}
.bk-lines td:first-child,.bk-lines td.r{white-space:nowrap}.bk-lines select{max-width:220px}
/* ---------- Invoices ---------- */
.iv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:10px 0}
.iv-f{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--mid)}
.iv-f input,.iv-f textarea,.iv-f select{font-size:14px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-family:inherit}
.iv-wide{grid-column:1/-1}
.iv-chk{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--soft)}
.iv-bar{align-items:center}
.iv-search{font-size:13px;padding:6px 10px;border:1px solid var(--line);border-radius:6px;min-width:240px}
.iv-st{display:inline-block;font-size:11px;font-weight:bold;border-radius:10px;padding:2px 9px;background:var(--light);color:var(--soft);white-space:nowrap}
.iv-st.iv-paid{background:#E6F4EA;color:var(--green)}.iv-st.iv-overdue{background:#FBEAEA;color:var(--red)}.iv-st.iv-part{background:#FFF4E0;color:var(--amber)}
.iv-st.iv-due{background:#E8F0F7;color:var(--navy)}.iv-st.iv-draft{background:#F1F1F4;color:#666}.iv-st.iv-void{background:#F1F1F4;color:#999;text-decoration:line-through}
.iv-row{cursor:pointer}.iv-row:hover td{background:#F4F8FB}
.iv-xtag{background:#E3F2F5;color:var(--teal)}
.iv-top{display:flex;align-items:center;gap:14px;margin:4px 0 12px}.iv-top h3{color:var(--navy);font-size:18px;display:flex;gap:10px;align-items:center}
.iv-lines td{vertical-align:top}.iv-lines textarea,.iv-lines input,.iv-lines select{width:100%;font-size:13px;padding:6px 8px;border:1px solid var(--line);border-radius:6px;font-family:inherit}
.iv-lines .iv-q{max-width:80px}.iv-lines .iv-p{max-width:120px}.iv-amt{white-space:nowrap;font-variant-numeric:tabular-nums;padding-top:12px}
.iv-x{border:0;background:none;font-size:18px;color:var(--mid);cursor:pointer}
.iv-tot{margin:12px 0 4px auto;max-width:320px;font-size:13.5px}
.iv-tot div{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid var(--line)}
.iv-tot .iv-grand{font-size:15px;border-bottom:2px solid var(--navy)}
.iv-sum{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:10px}
.iv-sum div{display:flex;flex-direction:column;font-size:12px;color:var(--mid)}.iv-sum b{color:var(--ink);font-size:14px}
.iv-hist{margin-top:10px;font-size:12px;color:var(--mid)}.iv-hist div{padding:3px 0}
.iv-feed{border-left:4px solid var(--teal)}.iv-feed-off{border-left-color:var(--mid);font-size:13px}
.iv-feed-h{display:flex;align-items:center;gap:10px}.iv-feed p{font-size:13.5px;line-height:1.55;margin:6px 0}
.iv-dot{width:10px;height:10px;border-radius:50%;background:var(--green);flex:none}.iv-dot.run{background:var(--amber);animation:ivp 1s infinite alternate}.iv-dot.bad{background:var(--red)}
@keyframes ivp{to{opacity:.3}}
@media (max-width:800px){.iv-search{min-width:0;width:100%}}

.sysgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px 22px}.sysrow{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--line);font-size:13px}.sysrow:last-child{border-bottom:0}
