/* RAK Tender Desk - PlusBrains theme */
:root{
  --pb:#FF6A2B; --ink:#141414;
  --bg:36 24% 95%; --fg:0 0% 8%; --card:0 0% 100%;
  --primary:0 0% 8%; --primary-fg:0 0% 100%;
  --muted:30 4% 38%; --border:34 14% 85%; --subtle:36 22% 93%;
  --success:146 64% 27%; --warning:28 92% 36%; --danger:2 70% 42%; --info:208 70% 36%;
  --side:#141414; --side-fg:#F4F1EC; --side-mute:#9C968D; --side-line:#2A2A2A;
  --r1:4px; --r2:6px; --r3:10px;
}
[data-theme="dark"]{
  --bg:0 0% 6%; --fg:36 20% 92%; --card:0 0% 10%;
  --primary:36 20% 92%; --primary-fg:0 0% 8%;
  --muted:30 6% 62%; --border:0 0% 20%; --subtle:0 0% 14%;
  --success:146 50% 50%; --warning:34 90% 58%; --danger:2 75% 64%; --info:208 70% 62%;
  --side:#0A0A0A; --side-line:#222;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:hsl(var(--bg));color:hsl(var(--fg));font-family:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
.mono{font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-variant-numeric:tabular-nums}
.num{font-variant-numeric:tabular-nums;text-align:right}
a{color:hsl(var(--fg));text-decoration:underline;text-decoration-color:var(--pb);text-underline-offset:2px}
a:hover{color:var(--pb)}
:focus-visible{outline:2px solid var(--pb);outline-offset:2px;border-radius:var(--r1)}

/* shell */
.shell{display:flex;min-height:100vh}
.side{width:236px;flex:none;background:var(--side);color:var(--side-fg);display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.brand{padding:16px 18px 14px;border-bottom:1px solid var(--side-line)}
.brand .t{font-weight:700;font-size:15.5px;letter-spacing:-.01em}
.brand .t i{font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-weight:400;color:var(--pb);font-size:1.15em}
.brand .s{font-size:11px;color:var(--side-mute);margin-top:3px}
.nav{flex:1;overflow-y:auto;padding:6px 0 10px}
.navgrp{font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--side-mute);padding:14px 18px 5px}
.nav a{display:flex;align-items:center;gap:10px;padding:7px 18px;color:var(--side-fg);font-size:13.5px;border-left:3px solid transparent;text-decoration:none;opacity:.86}
.nav a:hover{background:#1F1F1F;opacity:1;color:var(--side-fg)}
.nav a.on{background:#1F1F1F;border-left-color:var(--pb);font-weight:600;opacity:1}
.nav a.on svg{color:var(--pb);opacity:1}
.nav .cnt{margin-left:auto;font-size:11px;color:var(--side-mute);font-variant-numeric:tabular-nums}
.nav svg{width:15px;height:15px;flex:none;opacity:.75}
.sidefoot{border-top:1px solid var(--side-line);padding:11px 18px 13px}
.sidefoot .row{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--side-mute);margin-bottom:9px}
.sidefoot .btn{background:transparent;border-color:#3A3A3A;color:var(--side-fg)}
.sidefoot .btn:hover{background:#1F1F1F}

.main{flex:1;min-width:0;display:flex;flex-direction:column}
.top{height:56px;flex:none;display:flex;align-items:center;gap:12px;padding:0 22px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--card));position:sticky;top:0;z-index:30}
.top h1{font-size:16px;font-weight:650;margin:0;letter-spacing:-.01em}
.top .sp{flex:1}
.burger{display:none;background:none;border:1px solid hsl(var(--border));border-radius:var(--r2);padding:5px 8px;cursor:pointer;color:inherit}
.wrap{padding:20px 22px 40px;max-width:1320px;width:100%}

/* primitives */
.card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--r3);margin-bottom:16px;overflow:hidden}
.card > h2{font-size:13px;font-weight:650;margin:0;padding:12px 16px;border-bottom:1px solid hsl(var(--border));display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.card > h2 svg{width:14px;height:14px;flex:none}
.card .body{padding:16px}
.ref{font-size:11px;color:hsl(var(--muted));font-weight:400;margin-left:auto}
.lead{color:hsl(var(--muted));font-size:13px;margin:0 0 14px;max-width:96ch}
.foot{font-size:12px;color:hsl(var(--muted));margin-top:12px;padding-top:10px;border-top:1px dashed hsl(var(--border))}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.grid2 > .card{margin-bottom:16px}

.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}
.kpi{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--r3);padding:14px 16px}
.kpi .l{font-size:11.5px;color:hsl(var(--muted));margin-bottom:6px}
.kpi .v{font-size:22px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.15}
.kpi .n{font-size:11.5px;color:hsl(var(--muted));margin-top:5px}
.kpi.urgent{border-color:hsl(var(--danger)/.45);background:hsl(var(--danger)/.05)}
.kpi.urgent .v{color:hsl(var(--danger))}
.kpi.warn{border-color:hsl(var(--warning)/.5);background:hsl(var(--warning)/.06)}
.kpi.pbk{background:var(--ink);border-color:var(--ink);color:#fff}
.kpi.pbk .l,.kpi.pbk .n{color:#B9B4AC}
.kpi.pbk .v{color:var(--pb)}

table{width:100%;border-collapse:collapse;font-size:13px}
thead th{background:hsl(var(--subtle));text-align:left;font-weight:600;font-size:11.5px;color:hsl(var(--muted));padding:8px 12px;border-bottom:1px solid hsl(var(--border));white-space:nowrap}
thead th.num{text-align:right}
tbody td{padding:8px 12px;border-bottom:1px solid hsl(var(--border));vertical-align:top}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:hsl(var(--subtle)/.55)}
table.sticky thead th{position:sticky;top:56px;z-index:5}
tr.total td{font-weight:700;border-top:2px solid hsl(var(--fg)/.6);background:hsl(var(--subtle)/.6)}
tr.sec td{font-weight:650;font-size:11.5px;color:hsl(var(--muted));background:hsl(var(--subtle)/.5);padding:5px 12px}
tr.sub td{font-weight:650}
tr.rate td{font-weight:700;background:var(--ink);color:#fff}
tr.rate td.mono{color:var(--pb)}
td.na,tr.na td{color:hsl(var(--muted))}
td.edited{color:var(--pb);font-weight:650}
.src{font-size:10.5px;color:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:3px;padding:0 4px;margin-left:4px}
.code{background:var(--ink);color:var(--pb);padding:2px 7px;border-radius:var(--r1);font-size:11.5px}

.badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:2px 7px;border-radius:var(--r1);border:1px solid currentColor;white-space:nowrap}
.badge svg{width:11px;height:11px}
.b-ok{color:hsl(var(--success))}.b-warn{color:hsl(var(--warning))}.b-bad{color:hsl(var(--danger))}.b-info{color:hsl(var(--info))}.b-mute{color:hsl(var(--muted))}

.btn{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:13px;font-weight:500;padding:6px 12px;border-radius:var(--r2);border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--fg));cursor:pointer;transition:background 160ms ease-out;text-decoration:none}
.btn:hover{background:hsl(var(--subtle));color:hsl(var(--fg))}
.btn.pri{background:var(--ink);border-color:var(--ink);color:#fff}
.btn.pri:hover{background:#2A2A2A;color:#fff}
.btn.pri svg{color:var(--pb)}
.btn svg{width:14px;height:14px}
.btns{display:flex;gap:8px;flex-wrap:wrap}

input[type=text],input[type=number],textarea,select{font:inherit;font-size:13px;padding:6px 9px;border:1px solid hsl(var(--border));border-radius:var(--r2);background:hsl(var(--bg));color:hsl(var(--fg));width:100%}
input.num{text-align:right;font-variant-numeric:tabular-nums}
input[type=range]{width:100%;accent-color:var(--pb);margin:8px 0 2px}
label.fl{display:block;font-size:12.5px;margin-bottom:4px}
.hint{font-size:11.5px;color:hsl(var(--muted));line-height:1.45}
div.hint{margin-top:3px}
.field{margin-bottom:12px;max-width:720px}
input[type=checkbox]{width:15px;height:15px;accent-color:var(--pb);cursor:pointer;margin:1px 0 0}
.pin{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:hsl(var(--muted))}
.pin input{width:112px;padding:4px 7px;font-family:"IBM Plex Mono",monospace;font-size:12.5px}
.pin.ch input{border-color:var(--pb);background:#FF6A2B14;color:hsl(var(--fg));font-weight:600}
.rst{border:0;background:none;color:var(--pb);cursor:pointer;font-size:15px;padding:0 2px;line-height:1}

/* hero */
.hero{background:var(--ink);color:#fff;border-radius:var(--r3);padding:22px 24px;display:flex;gap:24px;align-items:center;margin-bottom:16px;position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;right:-70px;top:-70px;width:240px;height:240px;border-radius:44px;background:var(--pb);opacity:.14;transform:rotate(18deg)}
.hero-l{flex:1;min-width:0;position:relative;z-index:1}
.eyebrow{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#B9B4AC}
.hero h2{font-size:25px;line-height:1.2;margin:7px 0 6px;font-weight:650;letter-spacing:-.02em}
.hero h2 i{font-family:"Instrument Serif",Georgia,serif;font-weight:400;color:var(--pb);font-size:1.12em}
.hero-s{font-size:12.5px;color:#B9B4AC}
.tl{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.tl-i{border:1px solid #333;border-radius:var(--r2);padding:7px 11px;min-width:128px}
.tl-i b{display:block;font-size:13px}
.tl-i span{font-size:11px;color:#B9B4AC;display:block}
.tl-i em{font-style:normal;font-size:11px;color:var(--pb);font-weight:600}
.tl-i.past{opacity:.5}.tl-i.past em{color:#B9B4AC}
.tl-i.soon{border-color:var(--pb)}
.hero-r{text-align:center;position:relative;z-index:1;padding:0 8px}
.cd{font-size:76px;font-weight:700;line-height:.95;color:var(--pb);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.cdl{font-size:12px;color:#B9B4AC;margin-top:4px;line-height:1.3}

.rings{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.ring{text-align:center}
.ring .rl{font-size:11.5px;color:hsl(var(--muted));margin-top:4px;line-height:1.3}
.donut{display:flex;gap:18px;align-items:center}
.lgs{flex:1;min-width:0}
.lg{display:grid;grid-template-columns:12px 1fr auto 40px;gap:8px;align-items:center;font-size:12.5px;padding:4px 0;border-bottom:1px solid hsl(var(--border))}
.lg:last-child{border-bottom:0}
.lg i{width:10px;height:10px;border-radius:2px}
.lg em{font-style:normal;color:hsl(var(--muted));font-size:11.5px;text-align:right}
.pb-row{display:grid;grid-template-columns:230px 1fr 64px;gap:12px;align-items:center;padding:7px 0;border-bottom:1px solid hsl(var(--border))}
.pb-l{font-size:12.5px}
.bar{height:15px;border-radius:2px;display:flex;align-items:center;min-width:2px;margin:2px 0;position:relative}
.bar span{position:absolute;left:calc(100% + 6px);font-size:11px;white-space:nowrap}
.bar.est{background:var(--pb)}.bar.nhai{background:hsl(var(--fg)/.22)}
.pb-b{padding-right:54px}
.pb-key{display:flex;gap:18px;font-size:11.5px;color:hsl(var(--muted));margin-top:10px}
.pb-key i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}
.pb-key i.est{background:var(--pb)}.pb-key i.nhai{background:hsl(var(--fg)/.22)}
.qt{display:grid;grid-template-columns:repeat(5,1fr);gap:0}
.q{padding:10px 14px;border-right:1px solid hsl(var(--border));border-bottom:1px solid hsl(var(--border))}
.q:nth-child(5n){border-right:0}.q:nth-last-child(-n+5){border-bottom:0}
.q b{font-size:19px;font-weight:650;letter-spacing:-.02em}
.q em{font-style:normal;font-size:11.5px;color:hsl(var(--muted));margin-left:4px}
.q span{display:block;font-size:11.5px;color:hsl(var(--muted))}
.card .body.qt{padding:0}
.hb{display:grid;grid-template-columns:1fr 120px 52px;gap:10px;align-items:center;padding:5px 0;font-size:12.5px}
.hb-l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hb-l .mono{font-size:11px;color:hsl(var(--muted))}
.hb-t{height:8px;background:hsl(var(--subtle));border-radius:4px;overflow:hidden}
.hb-t i{display:block;height:100%;background:var(--pb);border-radius:4px}
.hb-v{text-align:right;font-size:12px}
.risks{display:grid;gap:8px}
.risk{border-left:3px solid hsl(var(--info));padding:7px 11px;background:hsl(var(--subtle)/.6);border-radius:0 var(--r2) var(--r2) 0}
.risk b{display:block;font-size:12.5px}.risk span{font-size:12px;color:hsl(var(--muted))}
.risk.bad{border-left-color:hsl(var(--danger))}.risk.warn{border-left-color:hsl(var(--warning))}

/* estimate bar */
.estbar{display:flex;align-items:center;gap:20px;flex-wrap:wrap;background:hsl(var(--card));border:1px solid hsl(var(--border));border-left:4px solid var(--pb);border-radius:var(--r3);padding:10px 16px;margin-bottom:16px;position:sticky;top:64px;z-index:20;box-shadow:0 4px 14px hsl(0 0% 0% / .05)}
.eb span{display:block;font-size:11px;color:hsl(var(--muted))}
.eb b{font-size:15px}
.eb.grow{flex:1}
.eb b.up{color:hsl(var(--danger))}.eb b.dn{color:hsl(var(--success))}
.rtop{display:flex;gap:14px;align-items:center;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap}
.rtop select{max-width:460px}
.simg{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.sim{border:1px solid hsl(var(--border));border-radius:var(--r2);padding:10px 12px}
.sim span{display:block;font-size:11.5px;color:hsl(var(--muted))}
.sim b{font-size:16px;display:block;margin:2px 0}
.sim em{font-style:normal;font-size:11.5px;color:hsl(var(--muted))}
.sim.ok{border-color:hsl(var(--success)/.5);background:hsl(var(--success)/.06)}
.sim.warn{border-color:hsl(var(--warning)/.5);background:hsl(var(--warning)/.06)}
.sim.bad{border-color:hsl(var(--danger)/.5);background:hsl(var(--danger)/.06)}
.sim.bad b{color:hsl(var(--danger))}
.keyr{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.kr{border:1px solid hsl(var(--border));border-radius:var(--r2);padding:10px 12px}
.kr > span{display:block;font-size:12px;margin-bottom:6px;min-height:36px}
.kr em{display:block;font-style:normal;font-size:11px;color:hsl(var(--muted));margin-top:5px}
.kr .pin input{width:130px;font-size:14px;font-weight:600}
.flash{animation:fl 1.6s ease-out}
@keyframes fl{0%{box-shadow:0 0 0 3px var(--pb)}100%{box-shadow:0 0 0 3px transparent}}

/* eligibility and earlier views */
.elig{border:1px solid hsl(var(--border));border-radius:var(--r3);margin-bottom:14px;overflow:hidden;background:hsl(var(--card))}
.elig > header{display:flex;align-items:flex-start;gap:12px;padding:13px 16px;border-bottom:1px solid hsl(var(--border));flex-wrap:wrap}
.elig h3{margin:0;font-size:14px;font-weight:650}
.elig .req{font-size:12.5px;color:hsl(var(--muted));margin-top:3px;max-width:62ch}
.elig .verdict{margin-left:auto;text-align:right}
.elig .thr{font-size:11px;color:hsl(var(--muted))}
.elig .thrv{font-size:15px;font-weight:650;font-variant-numeric:tabular-nums}
.elig .grid{padding:14px 16px;display:grid;grid-template-columns:1fr 290px;gap:20px}
.elig .formula{font-size:12px;padding:7px 10px;background:hsl(var(--subtle));border-radius:var(--r2);margin-bottom:12px;border:1px solid hsl(var(--border))}
.result{border:1px solid hsl(var(--border));border-radius:var(--r2);padding:12px;background:hsl(var(--subtle))}
.result .l{font-size:11px;color:hsl(var(--muted))}
.result .v{font-size:19px;font-weight:650;font-variant-numeric:tabular-nums;margin:3px 0 8px;letter-spacing:-.02em}
.result.ok{border-color:hsl(var(--success)/.5);background:hsl(var(--success)/.07)}
.result.bad{border-color:hsl(var(--danger)/.5);background:hsl(var(--danger)/.07)}
.notes{margin:10px 0 0;padding-left:19px;font-size:12.5px;color:hsl(var(--muted))}
.notes li{margin-bottom:5px}
.prog{height:5px;background:hsl(var(--border));border-radius:3px;overflow:hidden;margin-top:7px}
.prog i{display:block;height:100%;background:var(--pb);transition:width 200ms ease-out}
.chk{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid hsl(var(--border))}
.chk:last-child{border-bottom:0}
.chk .lab{flex:1;font-size:13px;line-height:1.45}
.chk .lab small{display:block;color:hsl(var(--muted));font-size:11.5px;margin-top:2px}
.chk.done .lab{color:hsl(var(--muted));text-decoration:line-through;text-decoration-thickness:1px}
.chk .own{width:130px;flex:none}
.grp{font-size:11.5px;font-weight:650;color:hsl(var(--muted));margin:16px 0 2px;letter-spacing:.03em}
.grp:first-child{margin-top:0}
.empty{padding:28px 16px;text-align:center;color:hsl(var(--muted));font-size:13px}
.srch{max-width:360px;margin-bottom:12px}
.cl{border-bottom:1px solid hsl(var(--border));padding:11px 0}
.cl:last-child{border-bottom:0}
.cl .h{display:flex;gap:9px;align-items:baseline;margin-bottom:3px;flex-wrap:wrap}
.cl .r{font-size:11.5px;color:var(--pb);font-weight:600}
.cl .t{font-weight:600;font-size:13px}
.cl .s{font-size:12.5px;color:hsl(var(--muted));line-height:1.55;max-width:88ch}
.flagnote{border-left:3px solid hsl(var(--warning));background:hsl(var(--warning)/.07);padding:9px 12px;border-radius:0 var(--r2) var(--r2) 0;font-size:12.5px;margin-top:8px}
.badnote{border-left-color:hsl(var(--danger));background:hsl(var(--danger)/.07)}

/* PlusBrains credit */
.pb-credit{display:inline-flex;align-items:center;gap:6px;font-size:10px}
.pb-credit .by{opacity:.65}
.pb-wm{display:inline-flex;align-items:center;gap:.35em;font-size:12px;line-height:1}
.pb-wm svg{width:1.15em;height:1.15em}
.pb-wm b{font-weight:800;letter-spacing:-.02em}
.pb-wm i{font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-weight:400;font-size:1.12em;color:#FF6A2B}
.pagefoot{display:none}
.pbnote{font-size:10.5px;color:hsl(var(--muted));text-align:center;padding:4px 0 0}
.pbnote i{font-family:"Instrument Serif",Georgia,serif;color:#FF6A2B}

@media (max-width:1100px){.grid2{grid-template-columns:1fr}.keyr{grid-template-columns:1fr 1fr}.qt{grid-template-columns:repeat(2,1fr)}.q:nth-child(5n){border-right:1px solid hsl(var(--border))}.q:nth-child(2n){border-right:0}.q:nth-last-child(-n+5){border-bottom:1px solid hsl(var(--border))}.q:nth-last-child(-n+2){border-bottom:0}}
@media (max-width:900px){.elig .grid{grid-template-columns:1fr}.pb-row{grid-template-columns:1fr}.estbar{position:static}}
@media (max-width:760px){
  .side{position:fixed;left:0;top:0;z-index:40;transform:translateX(-100%);transition:transform 180ms ease-out}
  body.navopen .side{transform:translateX(0);box-shadow:0 0 0 100vmax rgb(0 0 0 / .45)}
  .burger{display:inline-flex}
  .sidefoot .pb-credit{display:none}
  .pagefoot{display:flex;justify-content:center;padding:18px 0 26px}
  .wrap{padding:14px}
  table.sticky thead th{position:static}
  .card .body{overflow-x:auto}
  .chk{flex-wrap:wrap}.chk .own{width:100%}
  table{font-size:12.5px}tbody td,thead th{padding:7px 8px}
  .hero{flex-direction:column;align-items:flex-start;padding:18px}.hero h2{font-size:20px}.cd{font-size:54px}.hero-r{display:flex;align-items:baseline;gap:10px;padding:0}
  .rings{grid-template-columns:1fr 1fr}.donut{flex-direction:column}.simg,.keyr{grid-template-columns:1fr}
  .top .btns span{display:none}
}
@media print{
  .side,.top,.btns,.burger,.estbar .btns,.rst{display:none!important}
  .wrap{padding:0;max-width:none}.card{break-inside:avoid;border-color:#ccc}body{font-size:11px;background:#fff}
  .estbar{position:static;box-shadow:none}table.sticky thead th{position:static}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

.card > .foot{margin:0 16px 14px}
