/* App-specific additions on top of mockup.css */
a.brand{color:inherit;text-decoration:none}
.home{max-width:1600px;margin:0 auto;padding:22px 20px 60px}
.home h1{font:600 24px/1.25 var(--sans);margin:0 0 4px}
.home .lede{color:var(--ink2);margin:0 0 18px;max-width:80ch}
.addbox{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:var(--surface);border:1px solid var(--rule);padding:14px;margin-bottom:22px}
.addbox input{flex:1 1 320px;border:1px solid var(--ink2);padding:8px 10px;font:15px var(--sans)}
.btn2{border:1px solid var(--ink);background:var(--ink);color:#fff;padding:8px 14px;font:500 14px var(--sans);cursor:pointer}
.btn2.ghost{background:var(--surface);color:var(--ink)}
.btn2:disabled{opacity:.5;cursor:default}
.err{color:var(--red);font-size:13px;width:100%}
table.tt{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--rule)}
table.tt th{position:sticky;top:0;background:var(--surface)}
table.tt td{font-size:14px}
table.tt tr{cursor:pointer} table.tt tbody tr:hover td{background:var(--sel)}
.pill{display:inline-block;font:700 10px var(--head);letter-spacing:.1em;text-transform:uppercase;padding:1px 5px;border:1px solid var(--rule);color:var(--ink2)}
.pill.ai{border-color:var(--accent);color:var(--accent)} .pill.warn{border-color:var(--amber);color:var(--amber)} .pill.red{border-color:var(--red);color:var(--red)}
.sec{margin:0 0 22px}
.kv{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));border:1px solid var(--rule);margin-bottom:12px}
.kv>div{padding:8px 10px;border-right:1px solid var(--rule2);border-bottom:1px solid var(--rule2)}
.kv .v{font:500 14px var(--mono)} .kv .x{font:12px var(--mono);color:var(--muted)}
.summary{font-size:15px;line-height:1.55;max-width:95ch;margin:0 0 10px}
.counts{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 10px}
.counts a{border:1px solid var(--rule);background:var(--page);padding:6px 10px;color:var(--ink);text-decoration:none;font-size:13px}
.counts a b{font:600 15px var(--mono);margin-right:4px} .counts a.r b{color:var(--red)}
.note{font-size:12px;color:var(--muted);margin:4px 0 0}
.upl{border:1px dashed var(--ink2);padding:14px;background:var(--page);display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.state{font:12px var(--mono);color:var(--ink2)}
.ntc{width:100%;border-collapse:collapse;font-size:13px}
.ntc td,.ntc th{padding:5px 8px}

/* signals */

mark.sig{background:#DCE7F2;box-shadow:0 0 0 1px #9DB8D3}
mark.sig .mid{background:var(--blue)}
mark.ai{background:var(--hl)}
.more{margin:14px 0}/* viewer inside the app */

mark .mid{display:inline-block;font:700 9px var(--mono);color:#fff;background:var(--ink2);padding:0 3px;margin-right:4px;vertical-align:1px;letter-spacing:.02em}
mark.flash{outline:3px solid var(--accent);outline-offset:2px}
.loading{padding:30px 20px;color:var(--ink2)}
@media (max-width:760px){
  table.tt:not(.adm) th:nth-child(1),table.tt:not(.adm) td:nth-child(1){display:none} .phid{display:block!important}
  table.tt:not(.adm) th:nth-child(3),table.tt:not(.adm) td:nth-child(3),table.tt:not(.adm) th:nth-child(4),table.tt:not(.adm) td:nth-child(4),table.tt:not(.adm) th:nth-child(6),table.tt:not(.adm) td:nth-child(6),table.tt:not(.adm) th:nth-child(7),table.tt:not(.adm) td:nth-child(7),table.tt:not(.adm) th:nth-child(8),table.tt:not(.adm) td:nth-child(8){display:none}
  .ntcw{overflow-x:auto} table.tt.adm{display:block;overflow-x:auto} table.tt.adm th,table.tt.adm td{display:table-cell}   /* mockup.css hides every third column on a phone */
  .home{padding:16px}
}
.phid{display:none;font:12px var(--mono);color:var(--muted);margin-top:2px}/* team panel and checklist summary */



/* advice rows: stronger reading, buyer question */

/* Shared form controls (2026-10-05): custom select chevron with room from the edge; consistent inner padding. */
select{-webkit-appearance:none;appearance:none;background-color:#fff;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%234A4F45' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:10px 6px;
  padding-right:34px !important;padding-left:10px;min-height:32px;border-radius:0;text-overflow:ellipsis}
select:focus,input:focus{outline:2px solid var(--accent);outline-offset:1px}
input[type=text],input[type=search],input:not([type]){padding-left:10px;padding-right:10px}

/* ---- flow: 1 Company / 2 Tender / 3 Check / 4 Prepare (docs/design/mockups/m-check.html, l-start.html) ---- */
.flow{display:flex;border-bottom:1px solid var(--rule);background:var(--surface);padding:0 12px;overflow-x:auto}
.flow a{padding:8px 14px;font:600 12px var(--head);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);text-decoration:none;border-bottom:3px solid transparent;white-space:nowrap}
.flow a.on{color:var(--ink);border-bottom-color:var(--accent)} .flow a.off{pointer-events:none;opacity:.55}
.startc{max-width:560px;margin:48px auto;background:var(--surface);border:2px solid var(--ink);padding:24px 26px}
.startc h1{font:600 24px/1.25 var(--sans);margin:0 0 6px} .startc p{color:var(--ink2);margin:0 0 18px}
.startc label{display:block;font:700 11px var(--head);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:14px 0 4px}
.startc input,.startc select{width:100%;border:1px solid var(--ink2);padding:9px 10px;font:15px var(--sans);background-color:#fff}
.startc .btn{display:block;width:100%;text-align:center;margin-top:20px;padding:11px;background:var(--ink);color:#fff;border:0;font:500 15px var(--sans);cursor:pointer}
.startc .fine{font-size:13px;color:var(--muted);margin-top:12px} .startc .err{color:var(--red);font-size:13px;margin-top:8px}
.who a{color:inherit}
.cwrap{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;padding:16px 20px 50px;align-items:start}
.grp2{font:var(--headw) 12px var(--head);text-transform:uppercase;letter-spacing:.08em;color:var(--ink2);margin:22px 0 8px;display:flex;justify-content:space-between}
.grp2 span{font:12px var(--mono);letter-spacing:0;color:var(--muted);text-transform:none}
.cq{background:var(--surface);border:1px solid var(--rule2);margin-bottom:6px;padding:12px 14px;display:grid;grid-template-columns:200px minmax(0,1fr);gap:4px 18px;align-items:start}
.ans{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--rule);height:34px}
.ans button{border:0;border-right:1px solid var(--rule);background:var(--surface);font:500 13px var(--sans);color:var(--ink2);cursor:pointer;padding:0}
.ans button:last-child{border-right:0} .ans button:hover{background:var(--page)}
.ans button.on{background:var(--ink);color:#fff} .ans button.on.no.ex{background:var(--red)}
.cq .qt{font-size:15px;line-height:1.45;color:var(--ink)}
.cq .meta{font-size:12px;color:var(--muted);margin-top:4px;display:flex;flex-wrap:wrap;gap:4px 12px}
.cq .meta a{color:var(--muted);cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.cq .meta .ex{color:var(--ink2)} .cq .meta .ex b{font-weight:600} .cq .meta .prev{color:var(--muted)} .cq .meta .prev button{border:0;background:none;padding:0;color:var(--ink2);text-decoration:underline;font:12px var(--sans);cursor:pointer}
.cq .hint{font-size:13px;color:var(--ink2);margin-top:4px}
.cq .extra{grid-column:2;display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:6px}
.cq .extra input{flex:1 1 260px;border:1px solid var(--rule);padding:6px 8px;font:13px var(--sans)}
.cq .extra select{border:1px solid var(--rule);font:12px var(--sans);color:var(--ink2)}
.cq .addt{display:flex;gap:6px;flex-wrap:wrap} .cq .addt input{flex:0 1 220px;border:1px solid var(--ink2);padding:5px 8px;font:13px var(--sans)} .cq .addt button{border:1px solid var(--ink2);background:var(--surface);padding:5px 10px;font:12px var(--sans);cursor:pointer} .cq .addt button.pri{background:var(--ink);color:#fff}
.cq .saved{font:11px var(--mono);color:var(--muted)}
:is(.cq,tr.ow-mgr) .mgr{flex:1 1 100%;border:1px solid var(--rule);background:var(--page);margin-top:4px}
:is(.cq,tr.ow-mgr) .mgr .mh{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;font:700 11px var(--head);text-transform:uppercase;letter-spacing:.08em;color:var(--ink2);border-bottom:1px solid var(--rule)}
:is(.cq,tr.ow-mgr) .mgr .mr{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 10px;border-bottom:1px solid var(--rule2);font-size:13px}
:is(.cq,tr.ow-mgr) .mgr i{color:var(--muted);font-style:normal}
:is(.cq,tr.ow-mgr) .mgr button{border:1px solid var(--ink2);background:var(--surface);padding:3px 9px;font:12px var(--sans);cursor:pointer;margin-left:6px}
:is(.cq,tr.ow-mgr) .mgr button.red{background:var(--red);border-color:var(--red);color:#fff} :is(.cq,tr.ow-mgr) .mgr .cf2{color:var(--red);font-size:13px}
.cq .qsrc{grid-column:2;display:none;border-left:2px solid var(--rule);padding:6px 10px;margin-top:6px;font:14px/1.5 var(--serif);color:var(--ink2)} .cq .qsrc.open{display:block}
.cq .qsrc .f{font:11px var(--mono);color:var(--muted)}
.cq.done .qt{color:var(--ink2)}
.side2{position:sticky;top:12px}
.scorebox{background:var(--surface);border:2px solid var(--ink);padding:14px}
.scorebox .lbl2{font:700 11px var(--head);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.scorebox .pct{font:700 52px/1.05 var(--head)} .scorebox .pct small{font:500 15px var(--mono);color:var(--ink2)}
.scorebox.blocked .pct{color:var(--red)} .scorebox.wait .pct{font-size:26px;color:var(--muted)}
.prog2{height:8px;background:var(--rule2);margin:8px 0} .prog2 i{display:block;height:100%;background:var(--ink2)}
.scorebox .why{font-size:13px;margin-top:6px} .scorebox .ded{font-size:12px;margin-top:8px;border-top:1px solid var(--rule2)} .scorebox .ded div{display:flex;justify-content:space-between;gap:8px;padding:3px 0;border-bottom:1px solid var(--rule2)} .scorebox .ded b{font:600 12px var(--mono);color:var(--red);white-space:nowrap}
.scorebox .go{display:block;text-align:center;margin-top:12px;padding:9px;background:var(--ink);color:#fff;text-decoration:none;font:500 14px var(--sans)}
.scorebox .go.off{background:var(--rule);color:var(--muted);pointer-events:none}
.scorebox .nob{display:block;width:100%;margin-top:6px;padding:8px;border:1px solid var(--ink2);background:var(--surface);font:500 14px var(--sans);cursor:pointer}
.scorebox textarea{width:100%;min-height:70px;border:1px solid var(--ink2);padding:6px 8px;font:13px var(--sans);margin-top:8px}
.scorebox .dec{margin-top:10px;padding:8px;background:var(--page);font-size:13px} .scorebox .dec button{border:0;background:none;padding:0;text-decoration:underline;cursor:pointer;font:13px var(--sans);color:var(--ink2)}
.cov{font-size:12px;color:var(--ink2);margin-top:10px}
@media (max-width:1100px){.cwrap{grid-template-columns:1fr}.side2{position:static;order:-1}}
@media (max-width:1100px){.cwrap.ov .side2{order:0}}   /* overview: the decision band comes first, the section list after it */
@media (max-width:760px){.cwrap{padding:12px}.cq{grid-template-columns:1fr}.cq .extra,.cq .qsrc{grid-column:1}.startc{margin:16px;padding:18px}}

/* fixed answer row: note and responsible keep their place; no "saved" text (2026-10-05, Ēriks) */
.cq .extra{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:8px;align-items:center}
.cq .extra input[data-f=note]{width:100%;min-width:0}
.cq .extra select,.cq .extra .addt{width:260px}
.cq .extra .addt{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:4px} .cq .extra .addt input{width:100%;min-width:0;flex:none}
.cq .extra .mgr{grid-column:1/-1}
.cq .saved{grid-column:1/-1;color:var(--red);font:12px var(--sans)} .cq .saved:empty{display:none}
@media (max-width:760px){.cq .extra{grid-template-columns:1fr}.cq .extra select,.cq .extra .addt{width:100%}}

/* step bar (2026-10-05, Ēriks: make the steps obvious) */
.flow{display:flex;align-items:center;gap:0;padding:12px 20px;background:var(--surface);border-bottom:1px solid var(--rule);overflow-x:auto}
.flow .fl-step{display:flex;align-items:center;gap:10px;padding:4px 6px;border:0;text-decoration:none;color:var(--muted);white-space:nowrap;flex:0 0 auto}
.flow .fl-step i{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:2px solid var(--rule);font:700 14px var(--head);font-style:normal;color:var(--muted);background:var(--surface)}
.flow .fl-step b{display:block;font:700 13px var(--head);text-transform:uppercase;letter-spacing:.07em}
.flow .fl-step small{display:block;font:12px var(--sans);color:var(--muted);max-width:180px;overflow:hidden;text-overflow:ellipsis}
.flow .fl-step.on i{background:var(--accent);border-color:var(--accent);color:#fff}
.flow .fl-step.on b{color:var(--ink)}
.flow .fl-step.done i{border-color:var(--accent);color:var(--accent)}
.flow .fl-step.done b{color:var(--ink2)}
.flow .fl-step:hover b{text-decoration:underline;text-underline-offset:3px}
.flow .fl-step.off{pointer-events:none;opacity:.5}
.flow .fl-line{flex:1 1 24px;min-width:16px;max-width:90px;height:2px;background:var(--rule);margin:0 6px}
.flow .fl-line.done{background:var(--accent)}
@media (max-width:760px){.flow{padding:10px 12px}.flow .fl-step small{display:none}.flow .fl-step b{font-size:11px}.flow .fl-step i{width:26px;height:26px;font-size:12px}.flow .fl-step:not(.on) b{display:none}}/* tender header: everything left, deadline first (2026-10-05, Ēriks) */

/* check page: scannable intro and calmer score box (2026-10-05, Ēriks) */

.scorebox .cnt2{font:500 18px var(--sans);color:var(--ink2);margin-top:2px} .scorebox .cnt2 b{font:700 34px/1 var(--head);color:var(--ink)}
.scorebox.wait .why{color:var(--muted)}
.scorebox .kow{margin-top:8px;color:var(--red);font-size:13px;font-weight:600} .scorebox .kok{margin-top:8px;color:var(--accent);font-size:13px}
.scorebox .go.off{background:var(--surface);border:1px dashed var(--rule);color:var(--muted)}
.cov{font-size:13px} .cov .covl{margin-top:4px;font-size:12px} .cov .covl a{color:var(--ink2)}
/* tender header: title left, deadline and value right; steps bar below it (2026-10-05, Ēriks) */

/* header facts as one quiet block, no boxes (2026-10-05, Ēriks) */



/* one-line instruction (2026-10-05, Ēriks: more minimal) */
.how2{margin:2px 0 4px;font-size:15px;line-height:1.5;color:var(--ink2);max-width:95ch} .how2 b{color:var(--ink)} .how2 .exw{color:var(--red)}
/* breadcrumbs removed: the steps bar and header already say where you are (2026-10-05, Ēriks) */
.top .crumbs{display:none}
.top .brand{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink)} .top .brand .logo{flex:0 0 auto}
.tt .dl-n{font:700 16px var(--head)} .tt .dl-m{color:var(--muted);font-size:13px} .tt .dl-d{font:12px var(--mono);color:var(--muted);margin-left:4px} .tt .dl-x{color:var(--red);font-weight:700} .tt .dl-u{color:var(--amber);font-weight:700}
.tt .pill{white-space:nowrap} .tt td:nth-child(5){white-space:nowrap}
@media (max-width:760px){.tt td:nth-child(5){white-space:normal}.tt .dl-d{display:block;margin-left:0}}
.tt th.sortable{cursor:pointer;user-select:none;white-space:nowrap} .tt th.sortable:hover{color:var(--ink)}
.tt th.sortable::after{content:"↕";margin-left:5px;color:var(--rule);font-size:11px} .tt th[data-s=asc]::after{content:"▲";color:var(--ink)} .tt th[data-s=desc]::after{content:"▼";color:var(--ink)} .tt th[data-s=asc],.tt th[data-s=desc]{color:var(--ink)}
.tt .tedl{font:12px var(--mono);color:var(--ink2);white-space:nowrap}
.tt .ten{display:block;font-size:13px;color:var(--muted)}

/* check page without questions: request the AI analysis (2026-10-05) */
.req{background:var(--surface);border:1px solid var(--rule);padding:22px 24px;max-width:720px}
.req h2{font:600 20px/1.3 var(--sans);text-transform:none;letter-spacing:0;color:var(--ink);margin:0 0 8px}
.req p{margin:0 0 10px;color:var(--ink2);font-size:14px} .req .rd{font-size:13px} .req .rn{font-size:13px;color:var(--muted)}
.req textarea{width:100%;min-height:64px;border:1px solid var(--rule);padding:8px 10px;font:14px var(--sans);margin:4px 0 10px}
.req .btn4{background:var(--ink);color:#fff;border:0;padding:11px 20px;font:500 15px var(--sans);cursor:pointer} .req .btn4:disabled{opacity:.5}
.req .btn3{border:1px solid var(--ink2);background:var(--surface);padding:6px 12px;font:13px var(--sans);cursor:pointer}
.req.on{border-color:var(--amber)} .req .rs{font:700 11px var(--head);text-transform:uppercase;letter-spacing:.08em;color:var(--amber);margin-bottom:8px}
.req .err{color:var(--red);font-size:13px;margin-top:6px}
/* company name with log-out link under it, also on phones (2026-10-05) */
.top .who{display:flex!important;flex-direction:column;align-items:flex-end;line-height:1.25;opacity:1}
.top .who a{color:var(--ink2)} .top .who .logout{border:0;background:none;padding:0;margin-top:1px;font:12px var(--sans);color:var(--muted);text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.top .who .logout:hover{color:var(--ink)}/* 4 Prepare the bid: urgency list (sketch C, 2026-10-06) */

.chip{display:inline-block;font:500 12px var(--sans);padding:1px 8px;border:1px solid var(--rule);background:var(--page);color:var(--ink2)}
.more{font-size:13px;color:var(--muted);margin:18px 0 0} .more a{color:var(--ink2);margin-right:14px}/* key facts under the tender title (2026-10-06, Oskars: value and award criteria first) */

/* prepare: headline count and owner breakdown (2026-10-06, Ēriks) */
 .kred{color:var(--red)} /* 4 Prepare the bid, same layout as sketch C (n-prepare-c.html), scoped pc- (2026-10-06) */

.pc-link{border:0;background:none;padding:0;font:12px var(--sans);color:var(--red);text-decoration:underline;cursor:pointer}
.pc-empty{padding:10px 14px;font-size:13px;color:var(--muted)}
.pc-more{font-size:13px;color:var(--muted);margin:18px 0 0} .pc-more a{color:var(--ink2);margin-right:14px}



/* 4 Prepare the bid in the Check card design (2026-10-06, Ēriks): status select on the left */
.cq.pq{grid-template-columns:200px minmax(0,1fr)}
.cq .stsel{width:100%;height:34px;min-height:34px;border:1px solid var(--rule);font:500 13px var(--sans);color:var(--ink2);background-color:var(--surface)} .cq .stsel.st-ready,.cq .stsel.st-uploaded{background-color:var(--ink);color:#fff;border-color:var(--ink)}
.cq .extra select.none{color:var(--red);border-color:var(--red)}
.cq.pq .meta .ex{color:var(--ink2)}
.scorebox .slbl{display:block;font:700 11px var(--head);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:12px 0 4px}
.scorebox #pwho{width:100%;border:1px solid var(--rule);font:13px var(--sans)}
.padd2{display:grid;gap:6px;margin-top:12px} .padd2 input{border:1px solid var(--rule);padding:7px 9px;font:13px var(--sans);background:#fff} .padd2 .nob{margin-top:0}
@media (max-width:760px){.cq.pq{grid-template-columns:1fr}}
/* company menu in the top bar: details and log out (2026-10-06) */
.top .who{position:relative;display:block!important;flex-direction:row}
.top .whob{border:0;background:none;padding:4px 0;font:13px var(--sans);color:var(--ink2);cursor:pointer;white-space:nowrap} .top .whob span{font-size:10px;color:var(--muted)} .top .whob:hover{color:var(--ink)}
.top .whom{position:absolute;right:0;top:calc(100% + 4px);background:var(--surface);border:1px solid var(--rule);box-shadow:0 4px 14px rgba(0,0,0,.08);min-width:170px;z-index:20;padding:4px 0}
.top .whom a,.top .whom button{display:block;width:100%;text-align:left;padding:8px 14px;border:0;background:none;font:13px var(--sans);color:var(--ink);text-decoration:none;cursor:pointer} .top .whom a:hover,.top .whom button:hover{background:var(--page)}
.top .whom[hidden]{display:none}/* deadlines as two parallel blocks, in time order: questions, then tenders (2026-10-06) */



/* status control reads as a dropdown: caption, white field, visible chevron, colour as dot + left edge (2026-10-06) */
.cq .stw{position:relative}
.cq .stw .stl{display:block;font:700 10px var(--head);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:3px}
.cq .stw .stsel{width:100%;height:34px;min-height:34px;background-color:var(--surface)!important;color:var(--ink)!important;border:1px solid var(--rule)!important;border-left:4px solid var(--rule2)!important;padding-left:24px!important;font:500 13px var(--sans)}
.cq .stw::after{content:"";position:absolute;left:11px;bottom:13px;width:8px;height:8px;border-radius:50%;background:var(--muted);pointer-events:none}
.cq .stw.ss-drafting .stsel{border-left-color:var(--amber)!important} .cq .stw.ss-drafting::after{background:var(--amber)}
.cq .stw.ss-ready .stsel,.cq .stw.ss-uploaded .stsel{border-left-color:var(--accent)!important} .cq .stw.ss-ready::after,.cq .stw.ss-uploaded::after{background:var(--accent)}
.cq .stw[class*=" ss-s"] .stsel{border-left-color:var(--blue)!important} .cq .stw[class*=" ss-s"]::after{background:var(--blue)}
/* top bar navigation: all tenders and add tender next to the company menu (2026-10-06) */
.top .who{display:flex!important;align-items:center;gap:18px}
.top .tnav{font:13px var(--sans);color:var(--ink2);text-decoration:none;white-space:nowrap} .top .tnav:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.top .tnav.add{border:1px solid var(--rule);padding:4px 10px} .top .tnav.add:hover{border-color:var(--ink2);text-decoration:none}
.top .whom .mobi{display:none}
.flow .fl-step.info{cursor:default} .flow .fl-step.info:hover b{text-decoration:none}
@media (max-width:760px){.top .tnav{display:none}.top .whom .mobi{display:block}}
/* company menu button looks like the other dropdowns: frame + the shared chevron (2026-10-06) */
.top .whob{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--rule);background:var(--surface);padding:4px 10px;font:13px var(--sans);color:var(--ink)}
.top .whob:hover,.top .whob[aria-expanded=true]{border-color:var(--ink2)} .top .whob svg{color:var(--ink2);flex:0 0 auto}
.top .whob[aria-expanded=true] svg{transform:rotate(180deg)}
/* Active tenders menu (2026-10-06) */
.top .actm{min-width:340px;max-width:min(420px,92vw);max-height:70vh;overflow:auto;right:0;left:auto}   /* E1: inside the window, under the button's right edge */
.top .actm .amh{padding:8px 14px 6px;font:700 11px var(--head);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);display:flex;justify-content:space-between}
.top .actm .amn{padding:0 14px 10px;font-size:12px;color:var(--muted)}
.top .actm a.ami{display:block;padding:8px 14px;border-top:1px solid var(--rule2);text-decoration:none;color:var(--ink)} .top .actm a.ami:hover{background:var(--page)}
.top .actm a.ami>b{display:block;font:500 13px/1.35 var(--sans)} .top .actm a.ami i{display:block;font-style:normal;font-size:12px;color:var(--muted)} .top .actm a.ami>span{display:block;font-size:12px;color:var(--ink2);margin-top:2px} .top .actm a.ami>span span,.top .actm a.ami>span b{display:inline}
.top .actm a.ami .dl-n{font:700 12px var(--sans)} .top .actm a.ami .dl-d{font:11px var(--mono);color:var(--muted);margin-left:4px} .top .actm a.ami .dl-x{color:var(--red);font-weight:700} .top .actm a.ami .dl-m{color:var(--muted)} .top .actm a.ami .dl-u{color:var(--amber);font-weight:700}
.top .actm a.amall{border-top:1px solid var(--rule);font-size:13px;color:var(--ink2)}
.top .who .actb{position:relative}
@media (max-width:760px){.top .who{gap:8px}.top .actb{font-size:12px;padding:4px 8px}.top .actm{left:auto;right:0}}
@media (max-width:760px){
 .top{padding:0 12px} .top .brand .bt{display:none}
 .top .actb .lg{display:none}
 .top #whob{max-width:190px} .top #whob{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;padding-right:26px;position:relative} .top #whob svg{position:absolute;right:9px;top:50%;margin-top:-3px}
 .top .actm,.top #whom{position:fixed;left:8px!important;right:8px!important;top:46px;min-width:0;max-width:none}
} .cq .meta a.qref{cursor:pointer}

/* document viewer in the Check / Prepare design (2026-10-06) */
.dvbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:10px}
.dvback{font:600 14px var(--sans);color:var(--ink);text-decoration:none} .dvback:hover{text-decoration:underline;text-underline-offset:3px}
.dvtools{display:flex;flex-wrap:wrap;gap:8px;align-items:center} .dvtools select{max-width:480px;border:1px solid var(--rule);font:13px var(--sans)} .dvtools input{border:1px solid var(--rule);padding:6px 10px;font:13px var(--sans);width:220px;background:#fff}
.dvhead{margin:4px 0 10px} .dvhead b{display:block;font:600 17px var(--sans)} .dvhead span{font-size:13px;color:var(--muted)}
.dvpage{position:relative;background:var(--surface);border:1px solid var(--rule2);padding:26px 34px 22px;margin-bottom:10px}
.dvpage .pn{position:absolute;top:8px;right:12px;font:11px var(--mono);color:var(--muted)}
.dvpage pre{white-space:pre-wrap;word-wrap:break-word;margin:0;font:15px/1.65 var(--serif);color:var(--ink)}
.dvfind{background:#BFD7EA}
.dvside .dvg{font:700 11px var(--head);text-transform:uppercase;letter-spacing:.08em;color:var(--ink2);margin:12px 0 4px;display:flex;justify-content:space-between} .dvside .dvg span{font:11px var(--mono);color:var(--muted)}
.dvside .dvit{display:block;width:100%;text-align:left;border:0;border-top:1px solid var(--rule2);background:none;padding:6px 0;font:12px/1.4 var(--sans);color:var(--ink2);cursor:pointer}
.dvside .dvit:hover,.dvside .dvit.on{background:var(--page)} .dvside .dvit b{font:600 11px var(--mono);color:var(--ink)} .dvside .dvit span{display:block} .dvside .dvit i{font:11px var(--mono);font-style:normal;color:var(--muted)}
.dvside .dvko{display:inline!important;color:var(--red);font-weight:600}
.dvside .dvother{font-size:12px;margin-top:8px;color:var(--muted)} .dvside .dvother a{color:var(--ink2)}
.cwrap.dvw .side2{max-height:calc(100vh - 24px);overflow:auto}
@media (max-width:760px){.dvpage{padding:22px 14px 16px}.dvtools input,.dvtools select{width:100%;max-width:none}.dvtools{width:100%}}

/* shared side-page shell: cards, side navigation (2026-10-06) */
.sh2{margin:0;font:600 20px var(--sans);text-transform:none;letter-spacing:0;color:var(--ink);flex:1 1 100%}
.sc{display:block;background:var(--surface);border:1px solid var(--rule2);margin-bottom:6px;padding:12px 14px;text-decoration:none;color:var(--ink)}
.sc .qt{font-size:15px;line-height:1.45;color:var(--ink)} .sc .hint{font-size:13px;color:var(--ink2);margin-top:4px} .sc .hint.warnt{color:var(--amber)}
.sc .meta{font-size:12px;color:var(--muted);margin-top:6px;display:flex;flex-wrap:wrap;gap:4px 12px} .sc .meta .ex{color:var(--ink2)} .sc .meta a{color:var(--muted);cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.sc .qsrc{display:none;border-left:2px solid var(--rule);padding:6px 10px;margin-top:8px;font:14px/1.5 var(--serif);color:var(--ink2)} .sc .qsrc.open{display:block} .sc .qsrc .f{font:11px var(--mono);color:var(--muted)}
.sc .sadv{font-size:13px;margin-top:6px;padding:6px 10px;background:var(--page);border-left:3px solid var(--accent)} .sc .sadv.q{border-left-color:var(--blue);background:#EEF3F8} .sc .sadv span{color:var(--muted)}
.sc .qsel{display:flex;gap:10px;align-items:flex-start;cursor:pointer} .sc .qsel input{margin-top:4px}
.sqbar{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-bottom:6px} .sqbar .how2{flex:1 1 400px;margin:0}
.snav a.snl{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-top:1px solid var(--rule2);font-size:13px;color:var(--ink);text-decoration:none} .snav a.snl:first-of-type{border-top:0}
.snav a.snl i{font:12px var(--mono);font-style:normal;color:var(--muted)} .snav a.snl:hover span{text-decoration:underline;text-underline-offset:3px} .snav a.snl.on{font-weight:600;box-shadow:inset 3px 0 0 var(--accent);padding-left:8px}
.snav .sng{font:700 11px var(--head);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:12px 0 2px}
.tools.sct{background:var(--surface);border:1px solid var(--rule2);margin-bottom:10px}
.ovp{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin:12px 0} .ovp .sc b{display:block;font:700 26px/1.1 var(--head);margin:2px 0} .ovp .sc span{font-size:13px;color:var(--ink2)} .ovp .sc:hover{border-color:var(--ink2)}

/* overview and signals in the card design (2026-10-06): no black warning bars, sections as white cards */
.cwrap .tl{background:var(--surface);border:1px solid var(--rule2);margin:0 0 10px;overflow:hidden}
.cwrap .box{border:1px solid var(--rule2);border-left:4px solid var(--amber);background:var(--surface);margin:0 0 6px;padding:10px 14px}
.cwrap .box .h{background:none;color:var(--amber);font:700 11px var(--head);text-transform:uppercase;letter-spacing:.08em;padding:0;margin:0 0 3px;text-align:left}
.cwrap .box .b{padding:0;font-size:14px;color:var(--ink)} .cwrap .box.caution{border-left-color:var(--blue)} .cwrap .box.caution .h{color:var(--blue)}
.cwrap .sec{background:var(--surface);border:1px solid var(--rule2);padding:12px 14px;margin:0 0 10px}
.cwrap .sec>h2{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font:var(--headw) 12px var(--head);text-transform:uppercase;letter-spacing:.08em;color:var(--ink2);margin:0 0 10px;border:0;padding:0}
.cwrap .sec>h2 .c{font:12px var(--mono);letter-spacing:0;text-transform:none;color:var(--muted)}
.cwrap .kv{border:0;gap:0;background:none} .cwrap .kv>div{border:0;border-right:1px solid var(--rule2);padding:2px 12px 2px 0;background:none}
.cwrap .ntcw{overflow-x:auto;margin-top:10px} .cwrap .ntc{min-width:0;width:100%}
.cwrap .counts{display:flex;flex-wrap:wrap;gap:6px} .cwrap .counts a{border:1px solid var(--rule);background:var(--page);padding:4px 10px;font:13px var(--sans);color:var(--ink2);text-decoration:none} .cwrap .counts a b{color:var(--ink);margin-right:4px} .cwrap .counts a.r b{color:var(--red)}
.cwrap .summary{font-size:15px;line-height:1.55;max-width:95ch}
.cwrap .upl{display:flex;flex-wrap:wrap;gap:8px;align-items:center;border:1px dashed var(--rule);padding:10px;background:var(--page)}
@media (max-width:760px){.cwrap .kv{grid-template-columns:1fr 1fr}.cwrap .kv>div{border-right:0}.cwrap .tl .axis{display:none}.cwrap .ntc td,.cwrap .ntc th{white-space:normal}.cwrap{min-width:0}.cwrap>div{min-width:0}}
.cwrap .sec a,.sc{overflow-wrap:anywhere} .cwrap>div{min-width:0}
.cwrap .ntc a{overflow-wrap:normal;white-space:nowrap}
/* filters on side pages: same buttons as elsewhere (white, selected black), no beige tags (2026-10-06) */
.tools.sct{padding:10px 12px} .tools.sct .trow{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;margin:0 0 6px} .tools.sct .trow:last-child{margin-bottom:0}
.tools.sct .search{flex:1 1 260px;border:1px solid var(--rule);padding:7px 10px;font:14px var(--sans);background:#fff}
.tools.sct .tl2{font:700 11px var(--head);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-right:2px}
.tools.sct .chips{display:flex;flex-wrap:wrap;gap:6px}
.tools.sct .chip,.tools.sct .seg button{border:1px solid var(--rule)!important;background:var(--surface)!important;color:var(--ink)!important;padding:4px 10px;font:13px var(--sans);border-radius:0;cursor:pointer}
.tools.sct .chip .n,.tools.sct .seg button .n{margin-left:6px;font:12px var(--mono);color:var(--muted)}
.tools.sct .chip.on,.tools.sct .seg button.on{background:var(--ink)!important;color:#fff!important;border-color:var(--ink)!important} .tools.sct .chip.on .n,.tools.sct .seg button.on .n{color:#ccc}
.tools.sct .seg{display:flex;gap:0} .tools.sct .seg button+button{border-left:0!important}
.tools.sct .result{font:12px var(--mono);color:var(--muted)}

.how2{max-width:none}
/* preparation status colours (2026-10-06): common task-tool scheme, colour + symbol + word; amber and red stay reserved for warnings and exclusion */
:root{--st-todo:#7B7F76;--st-prog:#2F6DB5;--st-prog-bg:#EAF1FA;--st-ready:#2E8540;--st-ready-bg:#E6F3E9;--st-sub:#1D5C2C;--st-sub-bg:#D7EBDC;--st-own:#7A4FA3;--st-own-bg:#F1EAF8}
.cq .stw::after{content:"○";width:auto;height:auto;border-radius:0;background:none!important;left:9px;bottom:8px;font:700 14px/1 var(--sans);color:var(--st-todo)}
.cq .stw .stsel{border-left-color:var(--st-todo)!important}
.cq .stw.ss-drafting .stsel{border-left-color:var(--st-prog)!important;background-color:var(--st-prog-bg)!important} .cq .stw.ss-drafting::after{content:"◐";color:var(--st-prog)}
.cq .stw.ss-ready .stsel{border-left-color:var(--st-ready)!important;background-color:var(--st-ready-bg)!important} .cq .stw.ss-ready::after{content:"✓";color:var(--st-ready)}
.cq .stw.ss-uploaded .stsel{border-left-color:var(--st-sub)!important;background-color:var(--st-sub-bg)!important} .cq .stw.ss-uploaded::after{content:"✓✓";color:var(--st-sub);letter-spacing:-3px}
.cq .stw[class*=" ss-s"] .stsel{border-left-color:var(--st-own)!important;background-color:var(--st-own-bg)!important} .cq .stw[class*=" ss-s"]::after{content:"●";color:var(--st-own)}
.cq .stw .stsel{padding-left:28px!important}
#pscore .prog2 i{background:var(--st-ready)}

/* tender header, sketch C (2026-10-06): countdown left, title and fact chips right */
header.hc{display:grid;grid-template-columns:160px minmax(0,1fr);background:var(--surface);border-bottom:1px solid var(--rule)} header.hc.nocd{grid-template-columns:minmax(0,1fr)}
.hc .cd{background:var(--page);border-right:1px solid var(--rule2);padding:14px 16px;text-align:center;display:flex;flex-direction:column;justify-content:center}
.hc .cd .l{font:700 11px var(--head);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)} .hc .cd .v{font:700 52px/1 var(--head);color:var(--ink);margin-top:4px} .hc .cd .u{font-size:14px;color:var(--ink2)} .hc .cd .s{font:12px/1.4 var(--mono);color:var(--ink2);margin-top:6px} .hc .cd .src{font-size:11px;color:var(--muted);margin-top:2px}
.hc .cd.soon .v{color:var(--red)} .hc .cd.off .v{font-size:26px;color:var(--red);margin:6px 0 2px} .hc .cd.unclear .v{font-size:26px;color:var(--amber);margin:6px 0 2px}
.hc .cm{padding:14px 20px;min-width:0} .hc h1{margin:0;font:600 22px/1.25 var(--sans);color:var(--ink)} .hc .en{font-size:15px;color:var(--ink2);margin-top:2px} .hc .en i{font:11px var(--mono);font-style:normal;color:var(--muted);margin-left:6px}
.hc .m{font-size:12px;color:var(--muted);margin-top:8px} .hc .m a{color:var(--muted)}
.chips2{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.c2{border:1px solid var(--rule);background:var(--page);padding:4px 10px;font:13px var(--sans);color:var(--ink2);text-decoration:none;white-space:nowrap} .c2 b{color:var(--ink)} a.c2:hover{border-color:var(--ink2)}
.c2.good{border-color:var(--accent);background:var(--page);color:var(--ink)} .c2.warn{border-color:var(--amber);background:#FBF1DC;color:var(--ink)} .c2.bad{border-color:var(--red);background:#FBEAE8;color:var(--red);font-weight:600}
.c2.mute{color:var(--muted)} .c2.lnk{background:var(--surface)} .c2.won{border-color:var(--blue);background:#EEF3F8;color:var(--blue)}
@media (max-width:760px){header.hc{grid-template-columns:96px minmax(0,1fr)}header.hc.nocd{grid-template-columns:minmax(0,1fr)}.hc .cd{padding:10px 8px}.hc .cd .v{font-size:36px}.hc .cd.off .v,.hc .cd.unclear .v{font-size:18px}.hc .cm{padding:10px 12px}.hc h1{font-size:18px}.c2{white-space:normal}}
.ph{margin:2px 0 12px;font:600 24px/1.25 var(--sans);text-transform:none;letter-spacing:0;color:var(--ink)} .ph span{font:700 30px/1 var(--head)} @media (max-width:760px){.ph{font-size:20px}.ph span{font-size:24px}}
h2.ph{display:block;border:0;padding:0}

/* small hover feedback, the same everywhere (2026-10-06) */
.scorebox .go,.scorebox .nob,.btn2,.btn4,.pc-filt button,.tools.sct .chip,.tools.sct .seg button,.c2,.whob,.snav a.snl,.ans button,.cq select,.cq input,.sc,.dvit{transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s}
.scorebox .go{position:relative} .scorebox .go:hover{background:#000;box-shadow:0 2px 0 rgba(0,0,0,.15)}
.scorebox .go .arr{display:inline-block;transition:transform .15s} .scorebox .go:hover .arr{transform:translateX(4px)}
.scorebox .nob:hover,.btn2.ghost:hover{background:var(--page);border-color:var(--ink)} .btn2:not(.ghost):hover,.btn4:hover{background:#000}
.scorebox .ded .dq{display:flex;justify-content:space-between;gap:8px;width:100%;padding:3px 4px;margin:0 -4px;border:0;border-bottom:1px solid var(--rule2);background:none;font:12px var(--sans);color:var(--ink);text-align:left;cursor:pointer;width:calc(100% + 8px)}
.scorebox .ded .dq b{font:600 12px var(--mono);color:var(--red)} .scorebox .ded .dq:hover{background:var(--page)} .scorebox .ded .dq:hover span{text-decoration:underline;text-underline-offset:2px}
.cq.flashq{animation:flashq 1.6s ease-out} @keyframes flashq{0%{box-shadow:0 0 0 3px var(--amber);background:#FFF8E6}100%{box-shadow:0 0 0 0 transparent}}
.ans button:hover:not(.on){background:var(--page);color:var(--ink)}
.tools.sct .chip:hover:not(.on),.tools.sct .seg button:hover:not(.on){border-color:var(--ink2)!important}
.snav a.snl:hover{background:var(--page)} .dvit:hover{background:var(--page)}
a.sc:hover,.ovp .sc:hover{border-color:var(--ink2);box-shadow:0 1px 0 var(--rule)}
.cq select:hover,.cq input:hover{border-color:var(--ink2)}
@media (prefers-reduced-motion:reduce){.scorebox .go:hover .arr{transform:none}.cq.flashq{animation:none;box-shadow:0 0 0 3px var(--amber)}}
/* requirements: search + importance always visible, the rest behind "More filters" (2026-10-06) */
.tools.sct.fcol .trow:not(:first-child){display:none} .tools.sct.fcol.open .trow{display:flex}
.tools.sct.fcol .ftog{display:inline-flex;margin-left:auto;border:1px solid var(--rule);background:var(--surface);padding:4px 10px;font:13px var(--sans);color:var(--ink2);cursor:pointer} .tools.sct.fcol .ftog:hover{border-color:var(--ink2)}
.tools.sct.fcol.open .ftog{background:var(--ink);color:#fff;border-color:var(--ink)}

/* analysis request: clearly a request, with three steps (2026-10-06) */
.req h2{display:block;border:0;padding:0}
.req.on{border-color:var(--rule)}
.rsteps{list-style:none;margin:14px 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--rule2)}
.rsteps li{padding:10px 12px 10px 38px;position:relative;border-right:1px solid var(--rule2);font-size:13px} .rsteps li:last-child{border-right:0}
.rsteps li::before{content:"";position:absolute;left:12px;top:12px;width:16px;height:16px;border-radius:50%;border:2px solid var(--rule);box-sizing:border-box}
.rsteps li.done::before{content:"✓";border-color:var(--st-ready);background:var(--st-ready);color:#fff;font:700 10px/12px var(--sans);text-align:center}
.rsteps li b{display:block;font:600 13px var(--sans);color:var(--ink)} .rsteps li span{display:block;color:var(--muted)} .rsteps li:not(.done) b{color:var(--ink2)}
@media (max-width:760px){.rsteps{grid-template-columns:1fr}.rsteps li{border-right:0;border-bottom:1px solid var(--rule2)}}
/* Who does what (/tender/<pub>/owners): summary table, then each person's work with fixed columns (mockup o-owners-a) */
.ptabs{margin:0 0 12px} .ptabs a{display:inline-block;padding:6px 14px;font:500 13px var(--sans);color:var(--ink);text-decoration:none;background:var(--surface);border-right:1px solid var(--ink2);white-space:nowrap} .ptabs a:last-child{border-right:0} .ptabs a:hover{background:var(--page)} .ptabs a.on{background:var(--ink);color:#fff}
.ow-st{display:inline-flex;align-items:center;gap:5px;font:12px var(--sans);border:1px solid;border-left-width:3px;padding:2px 7px;white-space:nowrap}
.ow-st b{font:700 12px/1 var(--sans)}
.ow-todo{color:var(--st-todo);border-color:var(--st-todo)} .ow-prog{color:var(--st-prog);border-color:var(--st-prog);background-color:var(--st-prog-bg)}
.ow-ready{color:var(--st-ready);border-color:var(--st-ready);background-color:var(--st-ready-bg)} .ow-sub{color:var(--st-sub);border-color:var(--st-sub);background-color:var(--st-sub-bg)}
.ow-own{color:var(--st-own);border-color:var(--st-own);background-color:var(--st-own-bg)} .ow-maybe{color:var(--amber);border-color:var(--amber);background-color:#FBF1D6} .ow-no{color:var(--red);border-color:var(--red);background-color:#F8E3E1}
.ow-k{font:600 10px var(--head);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.ow-ex{font-size:12px;color:var(--red);white-space:nowrap} .ow-ex.ok{color:var(--muted)}
table.ow-sum{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--rule2);font-size:13px}
table.ow-sum th{font:700 11px var(--head);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);text-align:right;padding:8px 10px;border-bottom:1px solid var(--rule)}
table.ow-sum th:first-child,table.ow-sum td:first-child{text-align:left}
table.ow-sum td{padding:8px 10px;border-bottom:1px solid var(--rule2);text-align:right;font:13px var(--mono)}
table.ow-sum td:first-child{font:600 13px var(--sans)} table.ow-sum td:first-child a{color:var(--ink);text-decoration:none} table.ow-sum td:first-child a:hover{text-decoration:underline;text-underline-offset:3px}
table.ow-sum tr.un td:first-child a{color:var(--red)} table.ow-sum td.red{color:var(--red)}
.ow-bar{display:inline-block;width:70px;height:6px;background:var(--rule2);vertical-align:middle;margin-left:8px} .ow-bar i{display:block;height:100%;background:var(--st-ready)}
.ow-sec{margin-top:26px;scroll-margin-top:12px}
.ow-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:2px solid var(--ink);padding-bottom:6px;margin-bottom:6px}
.ow-h h3{margin:0;font:600 18px var(--sans)} .ow-h .c{font:12px var(--mono);color:var(--ink2)} .ow-h.un{border-bottom-color:var(--red)} .ow-h.un h3{color:var(--red)}
table.ow-t{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--rule2)}
table.ow-t td{padding:8px 10px;border-bottom:1px solid var(--rule2);vertical-align:top;font-size:14px;line-height:1.45}
table.ow-t td.ows{width:132px} table.ow-t td.owk{width:84px;padding-top:11px} table.ow-t td.owe{width:160px;padding-top:10px} table.ow-t td.owo{width:74px;text-align:right;padding-top:10px}
table.ow-t td.owo a{font-size:12px;color:var(--ink2)} table.ow-t tr.dn td.owt{color:var(--muted)}
table.ow-t tr:hover td{background:var(--page)}
.ow-rq{font-size:12px;color:var(--muted);margin-top:3px}
.ow-more{border:0;background:none;padding:0;font:12px var(--sans);color:var(--ink2);text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.ow-rl{margin:6px 0 2px;padding:6px 0 0 12px;border-left:2px solid var(--rule);list-style:none;font-size:13px;color:var(--ink2)} .ow-rl li{margin:0 0 5px} .ow-rl .mono{font:11px var(--mono);color:var(--muted);margin-right:4px}
.ow-jump,.ow-jump+.snav{margin-top:12px}
@media (max-width:760px){ table.ow-t td.owk,table.ow-t td.owe{display:none} table.ow-t td.ows{width:auto}
  table.ow-sum th:nth-child(3),table.ow-sum td:nth-child(3),table.ow-sum th:nth-child(4),table.ow-sum td:nth-child(4),table.ow-sum th:nth-child(7),table.ow-sum td:nth-child(7){display:none}
  table.ow-t tr{display:grid;grid-template-columns:minmax(0,1fr) auto} table.ow-t td.owt{display:block;grid-column:1/-1;order:3;border-bottom:1px solid var(--rule2)}   /* mockup.css hides every td:nth-child(3) on phones */ table.ow-t td.ows,table.ow-t td.owo{border-bottom:0} .ow-bar{display:none} }

/* Who does what: editable status and owner */
table.ow-t td.oww{width:200px;padding-top:6px} table.ow-t td.ows{width:150px}
.ow-sel{width:100%;max-width:100%;border:1px solid var(--rule);font:12px var(--sans);color:var(--ink2);background-color:var(--surface);padding:5px 30px 5px 8px}
.ow-sel.ow-ss{border-left-width:3px;font-weight:500} .ow-sel.ow-todo{border-left-color:var(--st-todo)} .ow-sel.ow-prog{border-left-color:var(--st-prog);background-color:var(--st-prog-bg);color:var(--st-prog)}
.ow-sel.ow-ready{border-left-color:var(--st-ready);background-color:var(--st-ready-bg);color:var(--st-ready)} .ow-sel.ow-sub{border-left-color:var(--st-sub);background-color:var(--st-sub-bg);color:var(--st-sub)} .ow-sel.ow-own{border-left-color:var(--st-own);background-color:var(--st-own-bg);color:var(--st-own)}
.ow-sel.ow-who.none{color:var(--red);border-color:var(--red)}
.ow-hint{font-size:11px;color:var(--muted);margin-top:3px} .ow-moved{font-size:12px;color:var(--st-prog);margin-top:4px}
tr.ow-mgr td{background:var(--page);padding:4px 10px 10px} tr.ow-mgr .mgr{margin:0}
@media (max-width:760px){ table.ow-t td.oww{grid-column:1/-1;order:4;width:auto;border-bottom:1px solid var(--rule2)} table.ow-t td.owt{border-bottom:0} table.ow-t td.ows{width:auto} tr.ow-mgr td{display:block} }

/* Who does what: separate tables for the work and for the Check questions */
.ow-subh{display:flex;justify-content:space-between;gap:12px;font:700 11px var(--head);text-transform:uppercase;letter-spacing:.08em;color:var(--ink);margin:14px 0 4px}
.ow-subh span{font:12px var(--mono);letter-spacing:0;text-transform:none;color:var(--muted)} .ow-subh.q{color:var(--ink2);margin-top:18px}
table.ow-t th{font:700 10px var(--head);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);text-align:left;padding:6px 10px;border-bottom:1px solid var(--rule)}
table.ow-qs{background:var(--page)} table.ow-qs td{font-size:13px;color:var(--ink2)} table.ow-qs tr:hover td{background:var(--surface)}
table.ow-t td.owt .ow-k{margin-right:4px}
@media (max-width:760px){ table.ow-t thead{display:none} }

/* What changed: bar on the tender pages and the change page */
.chgbar{background:var(--st-prog-bg);border:1px solid var(--st-prog);border-left-width:4px;padding:9px 12px;font-size:14px;margin:0 0 14px;color:var(--ink)} .chgbar a{color:var(--st-prog);font-weight:500}
.chgk{font:700 11px var(--head);text-transform:uppercase;letter-spacing:.08em;color:var(--st-prog);margin-right:8px}
.chg-new .chgk{color:var(--st-ready)} .chg-superseded .chgk{color:var(--muted)} .chg-superseded .qt{color:var(--muted);text-decoration:line-through}
.chgw{font-size:14px;font-weight:500;margin:4px 0} .chgold{font-size:13px;color:var(--muted);margin-top:4px} .chgold span{font-weight:600}
.chgf{margin:0;padding-left:18px} .chgf li{margin:3px 0}
.sc .sch .mono+.ex,.sc .sch .chgk+.ex{margin-left:10px}
/* sign-in page (served by the app at /login) */
.lgw{max-width:1040px;margin:0 auto;padding:48px 20px;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:40px;align-items:start}
.lgi h1{font:600 32px/1.2 var(--sans);margin:0 0 12px} .lgi p{font-size:17px;color:var(--ink2);max-width:56ch}
.lgi ol{list-style:none;margin:22px 0 0;padding:0;border-top:1px solid var(--rule2)} .lgi li{padding:10px 0;border-bottom:1px solid var(--rule2);color:var(--ink2);font-size:15px} .lgi li b{display:inline-block;min-width:80px;font:700 12px var(--head);text-transform:uppercase;letter-spacing:.08em;color:var(--ink)}
.lgf{background:var(--surface);border:2px solid var(--ink);padding:22px}
.lgf h2{margin:0 0 14px;font:600 20px var(--sans);text-transform:none;letter-spacing:0;border:0;padding:0}
.lgf label{display:block;font:700 11px var(--head);text-transform:uppercase;letter-spacing:.08em;color:var(--ink2);margin:10px 0 4px}
.lgf input{width:100%;border:1px solid var(--ink2);padding:10px;font:15px var(--sans);background:var(--surface)}
.lgf .btn2{width:100%;margin-top:16px;padding:11px} .lge{color:var(--red);font-size:14px;min-height:20px;margin-top:8px} .lgn{font-size:12px;color:var(--muted);margin:6px 0 0}
@media (max-width:760px){ .lgw{grid-template-columns:1fr;padding:24px 16px;gap:20px} .lgi h1{font-size:24px} }

/* demo start page (A: first visit, C: returning) and test-user admin, from docs/design/mockups/s-start-*.html */
.st{max-width:1180px;margin:0 auto;padding:22px 20px 60px}
.st h1{font:600 30px/1.2 var(--sans);margin:0 0 6px} .st .lead{font-size:17px;color:var(--ink2);max-width:70ch;margin:0 0 18px}
.st-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--rule2);background:var(--surface);margin:0 0 22px}
.st-steps div{padding:12px 14px;border-right:1px solid var(--rule2)} .st-steps div:last-child{border-right:0}
.st-steps b{display:block;font:700 12px var(--head);text-transform:uppercase;letter-spacing:.08em} .st-steps i{font:700 22px var(--head);font-style:normal;color:var(--accent);margin-right:6px}
.st-steps span{font-size:13px;color:var(--ink2)}
.st-doors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 22px}
.st-door{background:var(--surface);border:2px solid var(--ink);padding:18px}
.st-door h2{margin:0 0 6px;font:600 20px var(--sans);text-transform:none;letter-spacing:0;border:0;padding:0} .st-door p{margin:0 0 12px;color:var(--ink2);font-size:14px}
.st-door .go{display:inline-block;background:var(--ink);color:#fff;padding:10px 16px;text-decoration:none;font:500 14px var(--sans)}
.st-door.alt{border-color:var(--rule)} .st-door.alt .go{background:var(--surface);color:var(--ink);border:1px solid var(--ink)}
.st-ted{display:flex;gap:8px;flex-wrap:wrap} .st-ted input{flex:1 1 200px;border:1px solid var(--ink2);padding:9px 10px;font:14px var(--mono)}
.st-ted button{background:var(--ink);color:#fff;border:0;padding:10px 16px;font:500 14px var(--sans)}
.st-ex{font-size:13px;color:var(--muted);margin-top:8px}
.st-note{border:1px dashed var(--rule);background:var(--surface);padding:10px 14px;font-size:13px;color:var(--ink2);margin:0 0 22px}
.st-note b{color:var(--ink)}
.st-h{font:700 12px var(--head);text-transform:uppercase;letter-spacing:.08em;color:var(--ink2);margin:0 0 8px;display:flex;justify-content:space-between}
.st-h span{font:12px var(--mono);letter-spacing:0;text-transform:none;color:var(--muted)}
.st-t{display:grid;grid-template-columns:110px minmax(0,1fr) 210px 120px;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--rule2);padding:12px 14px;margin-bottom:6px;text-decoration:none;color:var(--ink)}
.st-t .d{font:700 26px/1 var(--head)} .st-t .d small{display:block;font:12px var(--mono);color:var(--muted)}
.st-t .n{font-size:15px;font-weight:500} .st-t .n small{display:block;font-size:13px;color:var(--muted);font-weight:400}
.st-t .p{font-size:13px;color:var(--ink2)} .st-t .p .bar{height:6px;background:var(--rule2);margin-top:5px} .st-t .p .bar i{display:block;height:100%;background:var(--st-ready)}
.st-t .o{text-align:right;font-size:13px}
.st-list{list-style:none;margin:0 0 22px;padding:0;background:var(--surface);border:1px solid var(--rule2)}
.st-list li{display:grid;grid-template-columns:34px minmax(0,1fr) 120px;gap:10px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--rule2)}
.st-list li:last-child{border-bottom:0} .st-list .ic{width:24px;height:24px;border:2px solid var(--st-todo);display:grid;place-items:center;font:700 13px var(--sans);color:var(--st-todo)}
.st-list li.done .ic{border-color:var(--st-ready);background:var(--st-ready-bg);color:var(--st-ready)} .st-list li.next{background:var(--st-prog-bg)} .st-list li.next .ic{border-color:var(--st-prog);color:var(--st-prog)}
.st-list b{font-weight:600} .st-list small{display:block;color:var(--muted);font-size:13px} .st-list .a{text-align:right;font-size:13px} .st-list .a a{color:var(--ink)}
.st-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}
@media (max-width:760px){ .st-steps,.st-doors,.st-grid{grid-template-columns:1fr} .st-steps div{border-right:0;border-bottom:1px solid var(--rule2)} .st-t{grid-template-columns:70px minmax(0,1fr)} .st-t .p,.st-t .o{grid-column:2} .st h1{font-size:24px} }
details.st-note summary{cursor:pointer;list-style:none} details.st-note summary::-webkit-details-marker{display:none} details.st-note .lnk{color:var(--blue);text-decoration:underline} details.st-note p{margin:8px 0 0}
.st-t .d{font:600 14px var(--sans)} .demob{font:700 10px var(--head);text-transform:uppercase;letter-spacing:.1em;background:var(--amberfill);color:var(--ink);padding:3px 7px;margin-right:6px}
table.adm td{font-size:13px;vertical-align:top} table.adm td.mono{font-family:var(--mono);font-size:12px}
.rsteps li.now b{color:var(--st-prog)} .rsteps li.now span{color:var(--st-prog)}
.lgw{background:transparent}   /* mockup.css gives every main a white surface */
.lim b{font:700 14px var(--mono);color:var(--ink)}
.snav span.snl{display:block;padding:6px 0;border-top:1px solid var(--rule2);font-size:13px;color:var(--ink)} .snav span.snl:first-of-type{border-top:0}
.pwbox{background:var(--st-ready-bg);border:1px solid var(--st-ready);border-left-width:4px;padding:12px 14px;margin:0 0 14px;font-size:14px} .pwbox div{margin:3px 0} .pwbox .mono{font:14px var(--mono)} .pwbox p{font-size:13px;color:var(--ink2)} table.adm tr.off td{color:var(--muted)}
.pc-link.red{color:var(--red)}
.tedbar{border-left-color:var(--amber)}
.tedbar .tedct{color:var(--muted,#555);font-style:italic}
.dl-up{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--amber);border:1px solid currentColor;padding:0 4px;margin-left:4px;white-space:nowrap}
.tedst{font-size:13px;color:var(--muted,#555);margin:.4em 0 1em}
.tedst.bad{color:var(--red)}
.tnf{display:flex;gap:6px;align-items:center}.tnf input{flex:1;min-width:120px;padding:4px 6px;font:inherit}
.pc-link.on{font-weight:700;text-decoration:none}
/* White page (2026-10-08): neutral greys instead of the warm paper tone; --page stays the light tint for chips, hovers and insets */
:root,.p1{--page:#F5F5F4;--band:#EEEEEC;--sel:#F7F7F5;--rule:#D9D9D6;--rule2:#E8E8E5;--viewer:#EDEDEB;--accent:#1C1F1A}   /* accent = ink, same as the logo shield (2026-10-08: black over navy and olive); colour is kept for meaning only */
body{background:#FFFFFF}
/* Start page A, round 2 (2026-10-08): one job on the screen, the example as proof below */
.st2{max-width:1040px} .st2 h1{font:600 34px/1.15 var(--sans);letter-spacing:-.01em;max-width:24ch;margin:0 0 10px} .st2 .lead{font-size:17px;line-height:1.5;max-width:62ch;margin:0 0 26px}
.st2-ask{border:2px solid var(--ink);background:var(--surface);padding:20px 22px}
.st2-ask label{display:block;font:600 15px var(--sans);margin-bottom:8px}
.st2-ask .st-ted{display:flex;gap:8px;margin:0} .st2-ask .st-ted input{flex:1;min-width:0;font:16px var(--sans);padding:12px 14px} .st2-ask .st-ted button{padding:0 22px;font-size:15px}
.st2-help{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:10px;font-size:13px;color:var(--muted)} .st2-help a{color:var(--blue)}
.st2-after{margin-top:14px;padding-top:12px;border-top:1px solid var(--rule2);font-size:13px;color:var(--ink2)}
.st2-tag{font:600 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:34px 0 10px}
.st2-prev{border:1px solid var(--rule);background:var(--surface)}
.st2-prev .ph{display:flex;gap:16px;padding:16px 18px;border-bottom:1px solid var(--rule2)}
.st2-prev .cd{min-width:84px;text-align:center;background:var(--page);padding:8px 6px;align-self:flex-start} .st2-prev .cd b{display:block;font:700 30px var(--head);line-height:1} .st2-prev .cd span{font:11px var(--mono);color:var(--muted)}
.st2-prev h3{font:600 16px/1.3 var(--sans);margin:0 0 4px} .st2-prev .en{font-size:13px;color:var(--ink2)} .st2-prev .meta{font:12px var(--mono);color:var(--muted);margin-top:6px}
.st2-prev .kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--rule2)}
.st2-prev .kpis div{padding:12px 16px;border-right:1px solid var(--rule2)} .st2-prev .kpis div:last-child{border-right:0}
.st2-prev .kpis b{display:block;font:700 24px var(--head)} .st2-prev .kpis span{font-size:12px;color:var(--ink2)} .st2-prev .kpis .red b{color:var(--red)}
.st2-prev ul{list-style:none;margin:0;padding:6px 18px 4px} .st2-prev li{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid var(--rule2);font-size:14px} .st2-prev li:last-child{border-bottom:0}
.st2-prev li i{font:600 11px var(--mono);font-style:normal;color:var(--red);min-width:72px;padding-top:2px;text-transform:uppercase}
.st2-prev .go2,.st2-prev .go{display:block;padding:12px 18px;border-top:1px solid var(--rule2);font:600 14px var(--sans);color:var(--ink);text-decoration:none;background:var(--page)}
.st2 .st-note{margin-top:26px}
@media (max-width:760px){.st2 h1{font-size:26px}.st2-ask .st-ted{flex-direction:column}.st2-ask .st-ted button{padding:12px}.st2-prev .kpis b{font-size:20px}.st2-prev li{flex-direction:column;gap:2px}}
.counts .kosplit{border:1px solid var(--rule);background:var(--page);padding:4px 10px;font:13px var(--sans);color:var(--ink2)} .counts .kosplit b{color:var(--red);margin-right:4px}
.counts .kosplit small{font-size:12px;margin-left:4px} .counts .kosplit small a{border:0;background:none;padding:0;color:var(--ink2);text-decoration:underline;font-size:12px}
/* Public landing (2026-10-08) */
.top .lp-si{font:600 14px var(--sans);color:var(--ink);text-decoration:none;border:1px solid var(--ink);padding:6px 14px;margin-left:auto}
main.lp{max-width:1040px;margin:0 auto;padding:46px 20px 70px;border:0} main.lp h1{font-size:40px;line-height:1.12;max-width:22ch} main.lp .lead{font-size:18px}
.lp-cta{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.lp-p,.lp-rqa button{font:600 15px var(--sans);background:var(--ink);color:#fff;border:0;padding:13px 22px;text-decoration:none;display:inline-block;cursor:pointer}
.lp-s{font:600 15px var(--sans);color:var(--ink);border:1px solid var(--ink);padding:12px 20px;text-decoration:none;display:inline-block;background:#fff}
.lp-cta small{font-size:13px;color:var(--muted);flex-basis:100%;margin-top:4px} .lp-cta small a{color:var(--ink)}
.lp .st2-tag{margin-top:46px}
.lp-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:46px;padding-top:26px;border-top:1px solid var(--rule2)}
.lp-three h4{font:600 15px var(--sans);margin:0 0 6px} .lp-three p{font-size:14px;color:var(--ink2);margin:0;line-height:1.5}
.lp-rqa{margin-top:46px;border:2px solid var(--ink);padding:22px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:26px;align-items:start}
.lp-rqa h2{font:600 22px/1.25 var(--sans);margin:0 0 8px;text-transform:none;letter-spacing:0;border:0;padding:0} .lp-rqa p{font-size:14px;color:var(--ink2);margin:0}
.lp-rqa form{display:grid;gap:8px} .lp-rqa label{font:600 12px var(--sans);text-transform:uppercase;letter-spacing:.06em;color:var(--ink2);margin-top:4px}
.lp-rqa input{font:15px var(--sans);padding:10px 12px;border:1px solid var(--ink2);width:100%;box-sizing:border-box}
.lp-rqa .lp-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.lp-fine{font-size:12px;color:var(--muted)} .lp-err{color:var(--red)}
.lp-foot{margin-top:40px;font-size:12px;color:var(--muted)}
main.lgw.lgw1{grid-template-columns:minmax(0,420px);justify-content:center;border:0}
.lgn a{color:var(--ink)}
.acc td{vertical-align:top} .acc .done td{color:var(--muted)}
@media (max-width:760px){main.lp{padding-top:28px} main.lp h1{font-size:28px}.lp-three,.lp-rqa{grid-template-columns:1fr}}
.lp-sub{font:500 22px/1.35 var(--sans);color:var(--ink);margin:0 0 14px;max-width:40ch} .lp-sub sup a{color:var(--muted);text-decoration:none;font-size:12px;margin-left:2px}
.lp-src{font-size:12px;color:var(--muted);margin:26px 0 0;max-width:80ch} .lp-src sup{margin-right:3px}
.st2 h1{max-width:none}
@media (max-width:760px){.lp-sub{font-size:18px}}
/* Public landing, round 2 (2026-10-08; mockup docs/design/mockups/s4-landing.html) */
.lpage .top .brand .bt{display:inline}
main.lp2{max-width:1120px;margin:0 auto;padding:0 24px;border:0}
.lp2-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:48px;align-items:start;padding:52px 0 56px}
.lp2 h1{font:600 44px/1.08 var(--sans);letter-spacing:-.02em;margin:0 0 14px;text-wrap:balance}
.lp2-sub{font:500 21px/1.35 var(--sans);margin:0 0 14px;text-wrap:balance} .lp2-sub sup a,.lp2 .proof sup a,.lp2 .stat sup a{color:var(--muted);text-decoration:none;font-size:12px}
.lp2-lead{font-size:17px;line-height:1.5;color:var(--ink2);margin:0 0 24px;max-width:46ch}
.lp2-cta{display:flex;flex-wrap:wrap;gap:10px;align-items:center} .lp2-cta small{flex-basis:100%;font-size:13px;color:var(--muted);margin-top:6px} .lp2-cta small a{color:var(--ink)}
.lp2-card{border:1px solid var(--rule);background:#fff}
.lp2-card .ch{padding:14px 18px;border-bottom:1px solid var(--rule2)} .lp2-card .ch b{font:600 15px var(--sans)} .lp2-card .ch span{display:block;font-size:13px;color:var(--ink2);margin-top:2px}
.lp2-card .ph{display:flex;gap:14px;padding:14px 18px;border-bottom:1px solid var(--rule2)}
.lp2-card .cd{min-width:74px;text-align:center;background:var(--page);padding:8px 6px;align-self:flex-start} .lp2-card .cd b{display:block;font:700 28px var(--head);line-height:1} .lp2-card .cd span{font:11px var(--mono);color:var(--muted)}
.lp2-card h3{font:600 15px/1.3 var(--sans);margin:0 0 3px} .lp2-card .en{font-size:13px;color:var(--ink2)} .lp2-card .meta{font:12px var(--mono);color:var(--muted);margin-top:5px}
.lp2-card .kp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--rule2)}
.lp2-card .kp div{padding:10px 16px;border-right:1px solid var(--rule2)} .lp2-card .kp div:last-child{border-right:0}
.lp2-card .kp b{display:block;font:700 22px var(--head);font-variant-numeric:tabular-nums} .lp2-card .kp span{font-size:12px;color:var(--ink2)} .lp2-card .kp .r b{color:var(--red)}
.lp2-card ul{list-style:none;margin:0;padding:4px 18px} .lp2-card li{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--rule2);font-size:14px} .lp2-card li:last-child{border-bottom:0}
.lp2-card li i{font:600 11px var(--mono);font-style:normal;color:var(--red);min-width:70px;padding-top:2px}
.lp2-card .proof{padding:12px 18px;border-top:1px solid var(--rule2);font-size:13px;color:var(--ink2);background:var(--page)} .lp2-card .proof b{color:var(--ink)}
.lp2-pts{border-top:1px solid var(--rule2);padding:30px 0}
.lp2-pts .pt{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:start;padding:30px 0;border-bottom:1px solid var(--rule2)} .lp2-pts .pt:last-child{border-bottom:0}
.lp2-pts h2{font:600 26px/1.2 var(--sans);margin:0 0 10px;text-transform:none;letter-spacing:-.01em;border:0;padding:0;text-wrap:balance} .lp2-pts p{font-size:16px;line-height:1.5;color:var(--ink2);margin:0}
.lp2-pts .ex{border:1px solid var(--rule);padding:16px 18px;background:#fff}
.lp2-pts .tag{font:600 11px var(--mono);color:var(--red)} .lp2-pts .tag.neutral{color:var(--ink2)} .lp2-pts .tag.amber{color:var(--amber)}
.lp2-pts .src{font:12px var(--mono);color:var(--muted);margin-top:8px}
.lp2-pts q{display:block;font:italic 15px/1.5 var(--serif,'IBM Plex Serif',serif);margin-top:10px;padding-left:12px;border-left:2px solid var(--rule);quotes:none;color:var(--ink2)}
.lp2-pts .t{font-size:15px;margin-top:6px}
.lp2-pts .chg{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:14px;margin:10px 0 0} .lp2-pts .chg dt{font:12px var(--mono);color:var(--muted);padding-top:2px} .lp2-pts .chg dd{margin:0} .lp2-pts .chg s{color:var(--muted)}
.lp2-pts .stat{margin-top:12px;font-size:13px;color:var(--muted)}
.lp2-rq{border:2px solid var(--ink);padding:24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:32px;margin:20px 0 40px}
.lp2-rq h2{font:600 24px var(--sans);margin:0 0 8px;text-transform:none;letter-spacing:0;border:0;padding:0} .lp2-rq p{font-size:15px;color:var(--ink2);margin:0}
.lp2-rq form{display:grid;gap:8px} .lp2-rq label{font:600 12px var(--sans);text-transform:uppercase;letter-spacing:.06em;color:var(--ink2);margin-top:4px}
.lp2-rq input{font:15px var(--sans);padding:10px 12px;border:1px solid var(--ink2);width:100%;box-sizing:border-box}
.lp2-rq button{font:600 15px var(--sans);background:var(--ink);color:#fff;border:0;padding:13px 22px;cursor:pointer;margin-top:8px}
.lp2-rq .lp-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.lp2-ft{max-width:1120px;margin:0 auto;padding:20px 24px 40px;border-top:1px solid var(--rule2);font-size:12px;color:var(--muted)} .lp2-ft p{margin:0 0 6px;max-width:90ch}
@media (max-width:860px){.lp2-hero,.lp2-pts .pt,.lp2-rq{grid-template-columns:1fr;gap:26px}.lp2-hero{padding-top:30px}.lp2 h1{font-size:32px}.lp2-sub{font-size:18px}.lp2-pts h2{font-size:22px}.lp2-card .kp b{font-size:19px}.lp2-card li{flex-direction:column;gap:2px}main.lp2,.lp2-ft{padding-left:16px;padding-right:16px}}
/* Public landing, round 3 (2026-10-08, mockup docs/design/mockups/s5-landing-a.html): simple, navy */
main.lp3{max-width:none;margin:0;padding:0;border:0}
.lp3-w{max-width:1080px;margin:0 auto;padding-left:24px;padding-right:24px}
.lp3-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:56px;align-items:center;padding-top:64px;padding-bottom:64px}
.lp3 h1{font:600 46px/1.08 var(--sans);letter-spacing:-.02em;margin:0 0 16px;text-wrap:balance}
.lp3-sub{font-size:19px;line-height:1.5;color:var(--ink2);margin:0 0 28px;max-width:34ch}
.lp3-btn{display:inline-block;font:600 16px var(--sans);background:var(--accent);color:#fff;text-decoration:none;padding:14px 24px}
.lp3-small{display:block;margin-top:14px;font-size:14px;color:var(--muted)} .lp3-small a{color:var(--ink)}
.lp3-card{border:1px solid var(--rule);background:#fff;box-shadow:0 1px 0 var(--rule)}
.lp3-card .hd{padding:16px 20px;border-bottom:1px solid var(--rule)} .lp3-card .hd small{display:block;font:600 12px var(--head);letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.lp3-card .hd b{display:block;font-size:17px;margin-top:4px} .lp3-card .hd span{font-size:14px;color:var(--muted)}
.lp3-card .row{display:flex;gap:12px;align-items:flex-start;padding:12px 20px;border-bottom:1px solid var(--rule);font-size:15px}
.lp3-card .row i{flex:0 0 auto;width:20px;height:20px;border-radius:50%;background:#FBEAEA;color:var(--red);font:700 13px/20px var(--sans);text-align:center;font-style:normal;margin-top:1px}
.lp3-card .ft{display:flex;justify-content:space-between;gap:12px;padding:14px 20px;background:var(--page);font-size:15px}
.lp3-band{background:var(--page);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.lp3-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding-top:56px;padding-bottom:56px}
.lp3-steps h2{font:600 22px/1.25 var(--sans);margin:0 0 8px;text-transform:none;letter-spacing:0;border:0;padding:0} .lp3-steps p{margin:0;color:var(--ink2);font-size:16px;line-height:1.5}
.lp3-steps .n{display:inline-block;font:700 13px var(--head);letter-spacing:.08em;color:var(--accent);margin-bottom:10px}
.lp3-proof{padding-top:56px;padding-bottom:56px;display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center}
.lp3-proof .big{font:700 64px/1 var(--head);color:var(--accent)} .lp3-proof p{margin:0;font-size:19px;line-height:1.45;max-width:44ch} .lp3-proof small{display:block;color:var(--muted);font-size:13px;margin-top:6px}
.lp3-ex{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:center;padding-top:64px;padding-bottom:64px;border-bottom:1px solid var(--rule)}
.lp3-ex h2{font:600 32px/1.15 var(--sans);letter-spacing:-.01em;margin:0 0 12px;text-transform:none;border:0;padding:0} .lp3-ex p{margin:0 0 20px;color:var(--ink2);font-size:17px;line-height:1.5}
.lp3-ex ul{list-style:none;margin:0 0 24px;padding:0} .lp3-ex li{padding:10px 0;border-top:1px solid var(--rule);font-size:15px} .lp3-ex li b{display:inline-block;min-width:44px;font:700 18px var(--head)}
.lp3-shot{position:relative;display:block;border:1px solid var(--rule);box-shadow:8px 8px 0 #EFEFED;transform:rotate(.6deg)} .lp3-shot img{display:block;width:100%;height:auto}
.lp3-shot .tag{position:absolute;left:14px;top:14px;background:var(--ink);color:#fff;font:600 12px var(--sans);padding:4px 10px}
.pubbar{background:var(--ink);color:#fff;display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;padding:10px 24px;font-size:14px;line-height:1.45} .pubbar b{font-weight:600} .pubbar .sp{flex:1}
.pubbar a{color:#fff} .pubbar .rq{background:#fff;color:var(--ink);padding:6px 14px;text-decoration:none;font-weight:600;white-space:nowrap}
.top .who a.vsi{font:600 14px var(--sans);color:var(--ink);text-decoration:none;margin-left:16px} .top .who a.vrq{font:600 14px var(--sans);background:var(--ink);color:#fff;text-decoration:none;padding:7px 14px;margin-left:14px;white-space:nowrap}
.lp3-rq{padding-top:56px;padding-bottom:56px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}
.lp3-rq h2{font:600 30px/1.15 var(--sans);margin:0 0 10px;text-transform:none;letter-spacing:0;border:0;padding:0} .lp3-rq p{margin:0;color:var(--ink2);font-size:16px}
.lp3-rq form{display:grid;gap:10px} .lp3-rq input,.lp3-rq textarea{font:16px var(--sans);padding:12px 14px;border:1px solid #9a9a95;width:100%;box-sizing:border-box;background:#fff;color:var(--ink)} .lp3-rq textarea{resize:vertical;min-height:96px}
.lp3-rq button{font:600 16px var(--sans);background:var(--accent);color:#fff;border:0;padding:14px;cursor:pointer}
.lp3-rq .lp-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0} .lp3-rq .fine{font-size:13px;color:var(--muted)}
.lp3-foot{border-top:1px solid var(--rule);padding-top:24px;padding-bottom:40px;font-size:13px;color:var(--muted)}
@media (max-width:820px){.lp3-ex{grid-template-columns:1fr;gap:28px;padding-top:40px;padding-bottom:40px}.lp3-ex h2{font-size:26px}.lp3-shot{transform:none}.pubbar{padding:10px 16px}.pubbar .rq,.pubbar .sp{display:none}.top .vsi{margin-left:8px}.top .vrq{margin-left:10px;padding:6px 10px}.lp3-hero,.lp3-steps,.lp3-rq{grid-template-columns:1fr;gap:28px}.lp3-hero{padding-top:36px;padding-bottom:44px}.lp3 h1{font-size:34px}.lp3-sub{font-size:17px}.lp3-steps,.lp3-proof,.lp3-rq{padding-top:40px;padding-bottom:40px}.lp3-proof{grid-template-columns:1fr;gap:8px}.lp3-proof .big{font-size:52px}.lp3-w{padding-left:18px;padding-right:18px}.lp3-steps>div{padding-bottom:28px;border-bottom:1px solid var(--rule)}.lp3-steps>div:last-child{border-bottom:0;padding-bottom:0}}

/* mockup.css leftovers from the warm/olive palette, neutralised (2026-10-08) */
.adv{background:var(--page)} .chip.on{background:var(--page)} .rq:hover,.dr:hover,.it:hover{background:var(--sel)} .dl a:hover{background:var(--band)}
.st-ready{background:var(--st-ready)} .ck.ready{border-color:var(--st-ready);background:var(--st-ready)}
a:not([class]){color:var(--ink);text-decoration-color:var(--muted);text-underline-offset:2px} a:not([class]):hover{text-decoration-color:var(--ink)}   /* no default browser blue anywhere */
/* Public landing example: a hand-annotated document page, positive (2026-10-08, mockup s6-example-a.html) */
.lp4-doc{position:relative;padding:8px 8px 8px 0}
.lp4-doc .page{position:relative;background:#fff;border:1px solid var(--rule);box-shadow:6px 6px 0 #F1F1EF,12px 12px 0 #E8E8E5;padding:22px 26px 26px;width:72%;transform:rotate(-1.2deg)}
.lp4-doc .hd{display:flex;justify-content:space-between;font:11px var(--mono);color:var(--muted);border-bottom:1px solid var(--rule);padding-bottom:8px;margin-bottom:14px}
.lp4-doc h4{font:600 13px var(--sans);margin:0 0 10px;color:var(--ink2)}
.lp4-doc .ln{height:7px;background:#E6E6E3;border-radius:2px;margin:0 0 9px}
.lp4-doc .hit{position:relative;font:12.5px/1.45 var(--sans);color:var(--ink);margin:6px 0 12px;padding:2px 0} .lp4-doc .hit mark{background:#E3F1E6;padding:0 2px}
.lp4-doc .circle{position:absolute;left:-14px;top:-12px;width:calc(100% + 28px);height:calc(100% + 24px);overflow:visible;pointer-events:none}
.lp4-doc .arrow{position:absolute;left:63%;top:150px;width:100px;height:70px;overflow:visible}
.lp4-doc .note{position:absolute;right:-10px;top:205px;width:30%;transform:rotate(2deg)}
.lp4-doc .hand{font:700 27px/1.05 'Caveat',cursive;color:#2E8540;display:block}
.lp4-doc .note small{display:block;font:12px var(--sans);color:var(--ink2);margin-top:6px;transform:rotate(-2deg)}
.lp4-doc .meta{margin-top:26px;font-size:14px;color:var(--ink2)}
@media (max-width:820px){.lp4-doc .page{width:100%;transform:none}.lp4-doc .note{position:static;width:auto;margin-top:18px;transform:none}.lp4-doc .arrow{display:none}}
/* Public pages: header aligned with the 1080 px content column, roomier than the app bar (2026-10-08) */
.lpage .top{height:64px;padding-left:max(24px,calc((100% - 1080px)/2 + 24px));padding-right:max(24px,calc((100% - 1080px)/2 + 24px));gap:12px}
.lpage .top .lp-si{padding:8px 18px;font-size:14px}
@media (max-width:820px){.lpage .top{height:56px;padding-left:18px;padding-right:18px}}
/* Sign-in page (2026-10-08): same header as the public page, room on phones, a way back home */
.top .lp-back{font:600 14px var(--sans);color:var(--ink);text-decoration:none;padding:8px 4px} .top .lp-back:hover{text-decoration:underline}
main.lgw.lgw1{padding:56px 24px 64px;margin:0 auto;max-width:none}
.lgb{grid-column:1;margin:16px 0 0;font-size:14px} .lgb a{color:var(--ink2)}
@media (max-width:760px){main.lgw.lgw1{padding:32px 18px 48px;grid-template-columns:1fr}}
/* Header option C (2026-10-08, mockups/s7-header.html): aligned, no rule under it, Sign in as a text link */
.lpage .top{border-bottom:0;background:#fff}
.lpage .top .lp-si{border:0;padding:8px 4px;font:600 14px var(--sans)} .lpage .top .lp-si:hover,.lpage .top .lp-back:hover{text-decoration:underline;text-underline-offset:3px}
/* Tender overview, redesign (2026-10-08, mockups/s8-overview-*.html) */
.ovb{display:grid;grid-template-columns:1.3fr repeat(4,minmax(0,1fr));border:2px solid var(--ink);margin:4px 0 20px;background:#fff}
.ovb-c{display:block;padding:14px 16px;border-right:1px solid var(--rule);text-decoration:none;color:var(--ink)} .ovb-c:last-child{border-right:0} a.ovb-c:hover{background:var(--page)}
.ovb-c small{display:block;font:600 11px var(--head);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)} .ovb-c b{display:block;font:700 22px/1.2 var(--head);margin:3px 0 2px} .ovb-c span{display:block;font-size:13px;line-height:1.4;color:var(--ink2)}
.ovb-dec b{font:600 19px/1.25 var(--sans)} .ovb-dec .btn4{display:inline-block;margin-top:10px;text-decoration:none;background:var(--ink);color:#fff;padding:9px 16px;font:600 14px var(--sans)} .ovb-dec .btn4:hover{opacity:.9}
@media (max-width:860px){.ovb{grid-template-columns:1fr 1fr}.ovb-dec{grid-column:1/-1;border-right:0;border-bottom:1px solid var(--rule)}.ovb-c:nth-child(odd):not(.ovb-dec){border-right:0}.ovb-c{border-bottom:1px solid var(--rule)}}
.ov-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px;align-items:start;margin:4px 0 8px}
.ov-sum{font-size:16px;line-height:1.55;margin:0 0 16px}
.ov-worth{border:1px solid var(--rule);padding:16px 18px;background:var(--surface)} .ov-worth .lbl2{margin-bottom:8px} .ov-worth p{margin:8px 0 0;font-size:14px;color:var(--ink2)}
.ov-note{border-left:3px solid var(--amberfill);background:#FFF8E6;padding:8px 12px;font-size:13px;margin:0 0 8px}
.ov-go{margin:0} .ov-go .btn4{margin-top:4px}
details.ov-more{margin:22px 0 0;border-top:1px solid var(--rule)} details.ov-more>summary{cursor:pointer;padding:14px 0;font:600 15px var(--sans)} details.ov-more[open]>summary{margin-bottom:8px}
@media (max-width:860px){.ov-grid{grid-template-columns:1fr}}
.tdel{border:0;background:none;color:var(--muted);font-size:14px;line-height:1;padding:6px 8px;cursor:pointer} .tdel:hover{color:var(--red)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
/* In-page confirmation (no browser pop-ups) */
.iask{margin:8px 0} tr.iask-row td{padding:0 10px 10px;border-top:0;background:var(--surface)}
.iask-in{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;border:1px solid var(--ink);background:var(--surface);padding:10px 12px;font-size:14px;color:var(--ink)}
.iask-t{flex:1 1 240px} .iask-b{display:flex;gap:8px;flex-wrap:wrap}
.iask .btn4,.iask .btn3,.iask .btn-danger{padding:7px 14px;font:600 14px var(--sans);cursor:pointer}
.iask .btn4{background:var(--ink);color:#fff;border:1px solid var(--ink)} .iask .btn3{background:var(--surface);color:var(--ink);border:1px solid var(--rule)}
.btn-danger{background:var(--red);color:#fff;border:1px solid var(--red)}
.iask-i{font:14px var(--sans);padding:6px 8px;border:1px solid var(--ink2);margin-left:6px;min-width:180px}
.iask-err .iask-in{border-color:var(--red)} .iask-err .iask-t{color:var(--red)}
/* Example tender: shown apart for testers, frozen (2026-10-08) */
.exbox{display:grid;grid-template-columns:1fr auto;gap:2px 20px;align-items:center;border:2px solid var(--ink);background:var(--surface);padding:16px 20px;margin:18px 0 0;text-decoration:none;color:var(--ink)}
.exbox .lbl2{grid-column:1} .exbox b{grid-column:1;font-size:17px} .exbox .exs{grid-column:1;font-size:14px;color:var(--ink2)}
.exbox .go{grid-column:2;grid-row:1/4;font:600 15px var(--sans);background:var(--ink);color:#fff;padding:11px 18px;white-space:nowrap} .exbox:hover .go{background:#000}
.exnote{background:#FFF8E6;border-bottom:1px solid var(--rule);padding:8px 16px;font-size:13px;color:var(--ink)}
@media (max-width:760px){.exbox{grid-template-columns:1fr}.exbox .go{grid-column:1;grid-row:auto;margin-top:10px;text-align:center}}
.tt tr.tt-empty td{padding:22px 16px;color:var(--ink2);font-size:15px;cursor:default}
.vstat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 14px;max-width:720px} .vstat div{border:1px solid var(--rule);padding:12px 16px} .vstat b{display:block;font:700 26px var(--head)} .vstat span{font-size:13px;color:var(--ink2)}
.tt.vst{max-width:720px}
@media (max-width:640px){.vstat{grid-template-columns:1fr}}

/* checked against the source + side panel on Requirements (2026-10-09) */
.vrow{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--rule2)}
.vchip{font:600 12px var(--sans);padding:2px 8px;border-radius:2px} .vchip.no{background:var(--page);color:var(--muted);font-weight:500} .vchip.ok{background:#EAF4EC;color:#2E6B3A} .vchip.bad{background:#FBEDEC;color:var(--red)}
.vopen{border:1px solid var(--ink);background:var(--surface);color:var(--ink);font:600 13px var(--sans);padding:5px 10px;min-height:28px;cursor:pointer} .vopen:hover{background:var(--ink);color:#fff}
.sc.vsel{box-shadow:inset 3px 0 0 var(--ink);background:#F7F7F5}
.vpanel{position:fixed;top:0;right:0;bottom:0;width:min(460px,100vw);background:var(--surface);border-left:2px solid var(--ink);box-shadow:-8px 0 24px rgba(0,0,0,.08);z-index:50;display:flex;flex-direction:column;overflow:hidden}
.vp-body{flex:1 1 auto;overflow:auto;padding:16px 20px 18px}
.vp-dock{flex:0 0 auto;padding:12px 20px 14px;background:#FFF4DC;border-top:3px solid #C9A227;box-shadow:0 -6px 14px rgba(0,0,0,.06)} .vp-dock.ok{background:#EAF4EC;border-top-color:var(--accent)} .vp-dock.bad{background:#FBEAEA;border-top-color:var(--red)}
.vp-dh{font-size:14px;margin-bottom:8px} .vp-dh .vp-prog{margin-top:4px} .vp-dock .vp-acts .btn4{font-size:15px;padding:11px 16px} .vp-dock .vp-next{margin-top:8px}
.vp-top{display:flex;justify-content:space-between;align-items:center;gap:10px} .vp-x{border:0;background:none;font-size:18px;cursor:pointer;min-width:32px;min-height:32px;color:var(--ink)}
.vp-q{font-size:15px;line-height:1.5;margin:8px 0 10px} .vpanel .lbl2{margin-top:14px}
.vp-src{border-top:1px solid var(--rule2);padding:10px 0} .vp-doc{font-size:13px;color:var(--ink2);margin-bottom:6px} .vp-doc a{color:var(--ink)}
.vp-pg{font:14px/1.6 'IBM Plex Serif',Georgia,serif;color:var(--ink2);overflow-wrap:anywhere} .vp-pg mark{background:#FFE9A8;color:var(--ink);padding:1px 2px}
.vp-st{margin:14px 0 8px} .vp-acts{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.vp-acts .btn4{background:var(--ink);color:#fff;border:1px solid var(--ink);padding:9px 14px;font:600 14px var(--sans);cursor:pointer} .vp-acts .btn2{padding:8px 12px;font:600 14px var(--sans);cursor:pointer}
.vp-note{font-size:12.5px;color:var(--muted);margin:12px 0 0} .vp-next{margin-top:12px} .vp-next .pc-link{font-weight:600}
.ovb-c b.ovb-bad{display:inline;font:600 13px var(--sans);color:var(--red);margin:0}

/* Check: why maybe, and the exclusion confirm (2026-10-09) */
.whym{grid-column:2;display:flex;flex-wrap:wrap;gap:6px;align-items:center;border:1px solid #E3C77A;background:#FFF8E6;padding:8px 10px;margin-top:8px} .whyl{font:600 13px var(--sans);margin-right:4px}
.whym .chip{min-height:28px} .whym .chip.on{background:#7A4F00;border-color:#7A4F00;color:#fff}
.kocf{grid-column:2;display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;border:2px solid var(--ink);padding:8px 12px;margin-top:8px;font-size:14px} .kocf.ok{border:0;padding:4px 0}
.kocf .btn2{min-height:30px;padding:5px 12px}
.mayl{margin:6px 0;font-size:13px;color:var(--ink2)} .mayl div{margin:3px 0} .mtag{display:inline-block;background:#FFF4DC;color:#7A4F00;font-weight:600;padding:0 6px;border-radius:2px}
@media (max-width:760px){.whym,.kocf{grid-column:1}}

/* overview: deadlines and contradictions (2026-10-09) */
.ovs{margin:0 0 20px} .ovh{font:600 16px var(--sans);margin:0 0 8px;text-transform:none;letter-spacing:0;border:0;padding:0;color:var(--ink)} .ovp{font-size:14px;color:var(--ink2);margin:0 0 10px}
.dlg{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.dlc{border:1px solid var(--rule);background:var(--surface);padding:10px 12px} .dlc.hot{border:2px solid var(--ink);padding:9px 11px} .dlc.past{opacity:.7}
.dlc small{display:block;font:600 11px var(--head);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)} .dlc b{display:block;font:700 18px var(--head);margin:2px 0} .dlc span{display:block;font-size:13px;color:var(--ink2)} .dlc .dln{font-size:12px;color:var(--muted);margin-top:2px}
.dlk{display:inline-block;margin-top:6px;font:600 12px var(--sans);background:#FFF4DC;color:#7A4F00;padding:1px 7px;text-decoration:none} .dlk:hover{text-decoration:underline}
.dls{font-size:12px;color:var(--muted);margin-top:6px;overflow-wrap:anywhere} .dls a{color:var(--ink2)}
.kv2{border:1px solid var(--rule);background:var(--surface);padding:12px 14px;margin:0 0 10px;scroll-margin-top:20px} .kv2 h3{font:600 15px var(--sans);margin:0 0 8px}
.kv2s{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:stretch} .kv2s>div{background:var(--page);padding:10px 12px;font-size:14px;font-weight:600} .kv2s i{font-weight:400;color:var(--muted)} .kvs{align-self:center;font:700 12px var(--head);color:var(--muted);text-transform:uppercase}
.kvr,.kvq{font-size:13.5px;margin:8px 0 0;color:var(--ink2)} .kvr b,.kvq b{color:var(--ink)} .more2{font:600 14px var(--sans);color:var(--ink)}
@media (max-width:760px){.kv2s{grid-template-columns:1fr}.kvs{justify-self:start}}

/* Prepare: target date, late, source check (2026-10-09) */
.duel{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink2)} .duel input{font:13px var(--sans);border:1px solid var(--rule);padding:4px 6px;min-height:30px;background:var(--surface);color:var(--ink)}
.meta .late{background:#FFF4DC;color:#7A4F00;font-weight:600;padding:0 6px}
.cq .vrow{grid-column:auto}

/* overview: sticky section bar and collapsible sections whose headings carry the fact (2026-10-09) */
.ovnav{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;gap:2px;background:var(--surface);border-bottom:1px solid var(--rule);margin:-8px 0 16px;padding:0}
.ovnav a{padding:10px 12px;font-size:14px;color:var(--ink2);text-decoration:none;border-bottom:2px solid transparent} .ovnav a:hover{color:var(--ink);border-color:var(--ink)} .ovnav i{font-style:normal;font-size:12px;color:var(--muted);margin-left:3px}
details.ovd{scroll-margin-top:48px} details.ovd>summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0 0 8px} details.ovd>summary::-webkit-details-marker{display:none}
details.ovd>summary .ovh{margin:0} details.ovd>summary::after{content:"▾";font-size:12px;color:var(--muted);margin-left:auto} details.ovd:not([open])>summary::after{content:"▸"}
.ovf{display:none;font-size:13px;color:var(--ink2)} details.ovd:not([open]) .ovf{display:inline}
@media (max-width:760px){details.ovd:not([open]) .ovf{display:block;width:100%}details.ovd{border-top:1px solid var(--rule);padding-top:10px}.ovnav{display:none}}

.mine{margin:10px 0;padding:8px 0;border-top:1px solid var(--rule2)} .minel{display:flex;align-items:center;gap:8px;font-size:14px;padding:4px 0;min-height:28px} .minel input{width:18px;height:18px}

.vown{font-size:12.5px;color:var(--ink2)} .vown a{color:var(--ink)} .idsbar{border:2px solid var(--ink);background:var(--surface);padding:8px 12px;margin:8px 0;font-size:14px} .kocf a.btn2{text-decoration:none;display:inline-block}

/* conditional exclusion: only if it applies to this bidder (2026-10-09) */
.ex.exc{background:#FFF4DC!important;color:#7A4F00!important} .ex.exc b{color:#7A4F00!important}

/* Check: Simple mode (2026-10-09) */
.cmode{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap} .cmode .how2{margin:0}
#cmode button{min-height:32px}
.cq.sq{align-items:center} .cq.sq .qt{font-size:15px;line-height:1.5} .sqm{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-top:4px;font-size:12.5px;color:var(--ink2)}
.sqsrc{border:0;background:none;padding:0;font:12.5px var(--sans);color:var(--muted);text-decoration:underline;text-underline-offset:2px;cursor:pointer;min-height:24px}
.sprog{margin:10px 0 12px;font-size:14px;color:var(--ink2)} .sprog b{color:var(--ink)} .sprog .prog2{margin-top:6px}
.sdone{border:2px solid var(--ink);background:var(--surface);padding:14px 16px;margin:12px 0;display:flex;flex-direction:column;gap:10px} .sdb{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.sdone .btn4{background:var(--ink);color:#fff;padding:9px 16px;text-decoration:none;font:600 14px var(--sans)}
.snav1{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:12px 0} .snav1 span{font-size:14px;color:var(--ink2)}
@media (max-width:760px){.cq.sq .ans{height:48px;margin-bottom:8px}.cq.sq .ans button{font-size:16px}.cq.sq .qt{font-size:16px}}
@media (max-width:1100px){.cwrap.cks .side2{order:0}}
.sqfull{margin-top:4px;font-size:13px;color:var(--ink2)} .sqfull summary{cursor:pointer;color:var(--muted);font-size:12.5px;list-style:none} .sqfull summary::-webkit-details-marker{display:none} .sqfull summary::before{content:'▸ '} .sqfull[open] summary::before{content:'▾ '} .sqfull p{margin:4px 0 0}
.sqd{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 6px} .sqd li{font-size:13px;color:var(--ink2);background:var(--page);border:1px solid var(--rule2);padding:1px 7px;border-radius:2px}
.vp-fig{font-size:13px;background:#FFF4DC;color:#7A4F00;padding:8px 10px;margin:10px 0 0}
.legal h1{font:600 30px/1.15 var(--sans);margin:32px 0 8px} .legal h2{font:600 18px var(--sans);margin:26px 0 8px;text-transform:none;letter-spacing:0;border:0;padding:0} .legal ul{padding-left:20px} .legal li{margin:6px 0;max-width:80ch;font-size:15px;line-height:1.55} .legal p{max-width:80ch} .legal{padding-bottom:40px}

/* paid flow, phase 1 (2026-10-12) */
.balchip{font:600 13px var(--sans);background:var(--page);border:1px solid var(--rule);padding:5px 10px;margin-left:14px;text-decoration:none;color:var(--ink);white-space:nowrap} .balchip.low{background:#FFF4DC;color:#7A4F00;border-color:#E3C77A}
.prev{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:22px;align-items:start;margin:0 0 20px}
.prev .card{border:1px solid var(--rule);padding:18px 20px;background:var(--surface)} .prev .card h3{font:600 16px var(--sans);margin:0 0 10px;text-transform:none;letter-spacing:0;border:0;padding:0}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 12px} .facts>div{border:1px solid var(--rule2);padding:10px 12px;font-size:13px;color:var(--ink2)} .facts small{display:block;font:600 11px var(--head);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)} .facts b{font-size:16px;color:var(--ink);display:block}
.docs{font-size:13px;color:var(--ink2);margin:0;padding-left:18px;columns:2;column-gap:20px} .docs li{margin:2px 0;break-inside:avoid}
.what{font-size:13px;color:var(--ink2);margin:8px 0 0} .what b{color:var(--ink)} .lock{display:inline-flex;align-items:center;gap:6px;font:600 12px var(--sans);background:var(--page);padding:2px 8px;color:var(--ink2)}
.buy{border:2px solid var(--ink);padding:18px 20px;background:var(--surface)} .buy h3{margin:0 0 4px;font:600 18px var(--sans);text-transform:none;letter-spacing:0;border:0;padding:0} .buy .price{font:700 30px var(--head);margin:6px 0 2px} .buy p{margin:0 0 10px;color:var(--ink2);font-size:14px}
.buy .btn4,.chk .btn4{background:var(--ink);color:#fff;border:0;padding:10px 16px;font:600 14px var(--sans);cursor:pointer} .btn4.wide{width:100%} .buy .btn4:disabled{opacity:.5}
.opts{display:grid;gap:8px;margin:10px 0 12px} .opt{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:center;border:1px solid var(--rule);padding:10px 12px;cursor:pointer;background:var(--surface)} .opt.on{border:2px solid var(--ink);padding:9px 11px} .opt input{margin:0;width:16px;height:16px} .opt b{display:block;font-size:14px} .opt span{font-size:12.5px;color:var(--muted)} .opt .pr{font:700 16px var(--head);white-space:nowrap}
.why2{margin-top:14px;font-size:13px;color:var(--ink2)} .why2 form{display:flex;gap:6px;margin-top:4px} .why2 input{flex:1;font:13px var(--sans);padding:7px 9px;border:1px solid var(--rule)} .why2 .btn3{font:600 13px var(--sans);border:1px solid var(--ink);background:var(--surface);padding:6px 10px;cursor:pointer}
.pr-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0} .pr-plan{border:1px solid var(--rule);padding:20px;display:flex;flex-direction:column;gap:6px;background:var(--surface);position:relative} .pr-plan.rec{border:2px solid var(--ink)} .pr-plan .tag{position:absolute;top:-11px;left:16px;background:var(--ink);color:#fff;font:600 11px var(--head);letter-spacing:.08em;text-transform:uppercase;padding:3px 8px}
.pr-plan small{font:600 11px var(--head);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)} .pr-plan .p{font:700 34px/1 var(--head);margin:4px 0} .pr-plan .per{font-size:13px;color:var(--ink2)} .pr-plan ul{margin:8px 0 10px;padding-left:18px;font-size:14px;color:var(--ink2)} .pr-plan li{margin:3px 0} .pr-plan .btn4,.pr-plan .lp3-btn{text-align:center;text-decoration:none;display:block;background:var(--ink);color:#fff;padding:10px 16px;font:600 14px var(--sans)} .pr-plan .lp3-btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--ink)}
.pr-annual{border:1px solid var(--rule);background:var(--page);padding:18px 20px;display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;margin:0 0 18px} .pr-annual b{font-size:17px} .pr-annual p{margin:4px 0 0;color:var(--ink2);font-size:14px} .pr-annual .lp3-btn.ghost,.pr-annual .btn2{background:#fff;color:var(--ink);border:1px solid var(--ink);text-decoration:none;padding:9px 14px;font:600 14px var(--sans)}
.pr-h2{font:600 22px var(--sans);margin:30px 0 8px;text-transform:none;letter-spacing:0;border:0;padding:0} .pr-faq dt{font-weight:600;margin-top:12px} .pr-faq dd{margin:2px 0 0;color:var(--ink2);font-size:14px;max-width:70ch} .pr h1{font:600 30px/1.15 var(--sans);margin:28px 0 8px}
.test{background:#FFF4DC;border:1px solid #E3C77A;color:#7A4F00;padding:10px 14px;font-size:14px;margin:12px 0}
.chk{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start;margin-top:12px} .chk .card{border:1px solid var(--rule);padding:18px 20px;background:var(--surface)} .chk h3{font:600 15px var(--sans);margin:0 0 6px;text-transform:none;letter-spacing:0;border:0;padding:0}
label.f{display:block;font-size:13px;color:var(--ink2);margin:10px 0 4px} input.f{width:100%;font:15px var(--sans);padding:9px 10px;border:1px solid #9a9a95;background:#fff;margin-top:4px;box-sizing:border-box} .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.seg2{display:flex;border:1px solid var(--rule);margin-bottom:6px} .seg2 button{flex:1;border:0;background:#fff;padding:9px;cursor:pointer;font:500 14px var(--sans)} .seg2 button.on{background:var(--ink);color:#fff} .seg2 button:disabled{color:var(--muted);cursor:default}
.sum{border:1px solid var(--rule);padding:16px 18px;background:var(--page)} .sum h3{font:600 15px var(--sans);margin:0 0 10px;text-transform:none;letter-spacing:0;border:0;padding:0} .sum .l{display:flex;justify-content:space-between;font-size:14px;padding:4px 0;border-bottom:1px solid var(--rule2)} .sum .t{display:flex;justify-content:space-between;font:700 18px var(--head);padding:10px 0 0}
.sh3{font:600 15px var(--sans);margin:18px 0 8px}
@media (max-width:860px){.prev,.chk,.pr-plans,.facts,.row2{grid-template-columns:1fr}.pr-annual{grid-template-columns:1fr}.docs{columns:1}}
.sum .l.disc{color:var(--green,#2E6B3A);font-weight:600} .sum .upsell{margin-top:10px}
.sum .l,.sum .t{gap:12px} .sum .l span:first-child,.sum .t span:first-child{flex:1;min-width:0} .sum .l span:last-child,.sum .t span:last-child{white-space:nowrap;font-variant-numeric:tabular-nums}
.sum .t s{font-weight:400;color:var(--muted);margin-right:8px}

.carried{font:600 12px var(--sans);padding:2px 8px;border-radius:2px;background:#FFF4DE;color:#8A5A00;cursor:help}

.rf{background:var(--surface);border:1px solid var(--rule);padding:16px 20px;max-width:720px;margin:0 0 14px} .rf dl{margin:8px 0 0;display:grid;grid-template-columns:max-content 1fr;gap:6px 16px} .rf dt{color:var(--muted);font-size:13px} .rf dd{margin:0}
.tt .stc{white-space:nowrap} .tt .anb{padding:2px 10px;font-size:12px;margin-left:6px}

.spec{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px;margin:6px 0 2px;font-size:13px} .spec small{display:block;font:var(--headw) 10px var(--head);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)} .spec b{font-weight:600} .spec i{color:var(--muted);font-style:normal}
@media (max-width:760px){.spec{grid-template-columns:1fr}}
.grp2.gcomp{text-transform:none;letter-spacing:0;font-size:14px;color:var(--ink)}

.ans.four{grid-template-columns:repeat(4,1fr)} .ans button.na{font-size:13px} .ans button.on.na{background:var(--ink2)}

@media (max-width:760px){.rf dl{grid-template-columns:1fr;gap:2px 0} .rf dd{min-width:0;overflow-wrap:anywhere} .rf dt{margin-top:6px} .tt .mst{display:block;font-size:12px;color:var(--muted);margin-top:4px}}
.tt .mst{display:none} @media (max-width:760px){.tt .mst{display:block} .tt .mst .nxb,.tt .mst .anb{white-space:normal;max-width:100%} .tt .mst .nxw{max-width:none}}   /* the phone shows the next step under the title: this rule must come after the hiding one (it did not, 13.10) */

.intro3{list-style:none;counter-reset:s;margin:0 0 18px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px} .intro3 li{counter-increment:s;background:var(--surface);border:1px solid var(--rule);padding:12px 14px 12px 44px;position:relative;font-size:14px}
.intro3 li::before{content:counter(s);position:absolute;left:12px;top:11px;width:22px;height:22px;border-radius:50%;background:var(--ink);color:#fff;font:700 12px/22px var(--sans);text-align:center} .intro3 b{display:block;margin-bottom:2px} .intro3 span{color:var(--ink2)}
@media (max-width:760px){.intro3{grid-template-columns:1fr}}

.byl{color:var(--muted);font-size:12px}

.pwbox{position:relative} .pwx{position:absolute;top:8px;right:10px;border:0;background:none;font-size:18px;line-height:1;color:var(--ink2);cursor:pointer;padding:4px 6px} .pwx:hover{color:var(--ink)}

.tt .nxb{padding:5px 12px;font-size:13px;white-space:nowrap} .tt .nxw{display:block;font-size:12px;color:var(--muted);margin-top:5px;max-width:240px;white-space:normal} .tt .anb{padding:5px 12px;font-size:13px;margin-left:0}

/* Prepare rows with labelled fields (2026-10-14, mockups s12-prepare) */
.cq.pq{display:block;padding:14px 18px} .cq.pq .pqh{display:flex;justify-content:space-between;gap:14px;align-items:flex-start} .cq.pq .pqh>.ex,.cq.pq .pqh>span{flex:none}
.pfields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin:10px 0 4px} .pfields label{display:block;font-size:12px;font-weight:600;color:var(--ink2);margin-bottom:4px}
.pfields select,.pfields input{width:100%;height:36px;border:1px solid var(--rule);background:var(--surface);padding:0 10px;font:14px var(--sans)} .pfields select.none{color:var(--muted)}
.cq.pq .stw .stsel{height:36px;min-height:36px}
.pnote{width:100%;border:1px solid var(--rule2);padding:7px 10px;font:14px var(--sans);background:var(--surface)}
.pft{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid var(--rule2);margin-top:8px;padding-top:8px;font-size:13px} .pft .vrow{margin:0}
@media (max-width:760px){.pfields{grid-template-columns:1fr} .cq.pq .pqh{flex-direction:column;gap:6px} .cq.pq .pqh>div{min-width:0}}

.cq.sqf{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 16px} .sqft{font-size:15px;color:var(--ink2)} .sqfa{display:flex;gap:10px;align-items:center;white-space:nowrap;font-size:13px}
.sqfa .a-yes{color:var(--green);font-weight:600} .sqfa .a-no{color:var(--red);font-weight:600} .sqfa .a-maybe{color:var(--amber);font-weight:600} .sqfa .a-na{color:var(--ink2);font-weight:600}
@media (max-width:760px){.cq.sqf{flex-direction:column;align-items:flex-start}}

/* tender tabs (2026-10-14, mockups s12) */
.ttabs{display:flex;align-items:stretch;gap:2px;padding:0 20px;background:var(--surface);border-bottom:1px solid var(--rule);overflow-x:auto;scrollbar-width:none} .ttabs::-webkit-scrollbar{display:none}
.ttab{display:flex;align-items:center;gap:6px;padding:12px 14px;font:600 14px var(--sans);color:var(--ink2);text-decoration:none;border-bottom:3px solid transparent;white-space:nowrap}
.ttab:hover{color:var(--ink)} .ttab.on{color:var(--ink);border-bottom-color:var(--ink)} .ttab i,.tmenu i{font:500 12px var(--mono);font-style:normal;color:var(--muted)}
.tmore{position:relative;display:flex} .tmore summary{list-style:none;cursor:pointer;padding:12px 14px;font:600 14px var(--sans);color:var(--ink2);border-bottom:3px solid transparent;white-space:nowrap} .tmore summary::-webkit-details-marker{display:none} .tmore summary::after{content:" ▾";font-size:11px}
.tmore.on summary{color:var(--ink);border-bottom-color:var(--ink)} .tmenu{position:fixed;z-index:40;background:var(--surface);border:1px solid var(--rule);box-shadow:0 6px 18px rgba(0,0,0,.08);min-width:240px;margin-top:46px}
.tmenu a{display:flex;justify-content:space-between;gap:12px;padding:10px 14px;text-decoration:none;color:var(--ink);font-size:14px;border-bottom:1px solid var(--rule2)} .tmenu a:last-child{border-bottom:0} .tmenu a:hover{background:var(--page)}
.cwrap.one{grid-template-columns:minmax(0,1fr)}

.gchips{position:sticky;top:0;z-index:5;display:flex;gap:6px;flex-wrap:wrap;background:var(--page);padding:8px 0;margin:4px 0 6px}
.gchips a{border:1px solid var(--rule);background:var(--surface);padding:4px 10px;font-size:13px;text-decoration:none;color:var(--ink)} .gchips a i{font:500 12px var(--mono);font-style:normal;color:var(--muted)} .gchips a.done i{color:var(--green)}

/* first visit: one start card instead of an empty table (mockups s12-start) */
.home.empty{max-width:700px;margin:44px auto;background:var(--surface);border:1px solid var(--rule);padding:30px 34px}
.home.empty h1{font-size:30px;margin:6px 0 6px} .home.empty .addbox{border:0;padding:0;background:none;margin:16px 0 4px} .home.empty .tt{display:none}
.home.empty .intro3{border-top:1px solid var(--rule2);padding-top:16px;margin-top:16px} .home.empty .intro3 li{border:0;background:none;padding-left:36px} .home.empty .intro3 li::before{left:0}
@media (max-width:760px){.home.empty{margin:16px;padding:20px}}

/* technical requirements as a table per product part (mockups s12-technical) */
.ttwrap{background:var(--surface);border:1px solid var(--rule);margin:0 0 14px;overflow-x:auto}
table.techt{width:100%;border-collapse:collapse;font-size:14px;table-layout:fixed} .techt th{text-align:left;font:600 11px var(--head);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:8px 14px;border-bottom:1px solid var(--rule2)}
.techt th:nth-child(1){width:46%} .techt th:nth-child(2){width:20%} .techt th:nth-child(3){width:22%} .techt th:nth-child(4){width:12%}
.techt td{padding:10px 14px;border-bottom:1px solid var(--rule2);vertical-align:top;overflow-wrap:anywhere} .techt tr:last-child td{border-bottom:0}
.techt .tid{font:500 12px var(--mono);color:var(--muted)} .techt .tpart{display:block;font-size:12px;color:var(--muted);margin-top:3px} .techt .tval{font-weight:600}
.techt .tact{text-align:right} .techt .tact .ex{display:block;font-size:12px;margin-bottom:6px} .techt .vopen{font-size:12px;padding:3px 8px}
@media (max-width:760px){table.techt,.techt thead,.techt tbody,.techt tr,.techt td{display:block;width:auto} .techt thead{display:none} .techt tr{border-bottom:1px solid var(--rule)} .techt td{border:0;padding:6px 14px} .techt .tact{text-align:left;padding-bottom:12px}}

.grp2[id^=qg]{scroll-margin-top:56px}

@media (max-width:760px){.tmenu{left:12px;right:12px;min-width:0}}
/* self sign-up (2026-10-20): terms checkbox, the resend line under the code form */
.lgf label.lgc{display:flex;gap:8px;align-items:flex-start;text-transform:none;letter-spacing:0;font:400 13px/1.4 var(--sans);color:var(--ink);margin-top:14px}
.lgf label.lgc input{width:auto;margin-top:2px}
.lgf2{border:0;background:transparent;padding:8px 0 0}
.lgf2 .pc-link{background:none;border:0;padding:0;font:inherit;color:var(--ink);text-decoration:underline;cursor:pointer}
.lgf .lgn b{color:var(--ink)}
.lgf .lp-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}   /* the bot trap stays out of sight on the sign-up form too */
/* cookie consent (static/consent.js, 2026-10-20): Accept and Decline with the same weight */
/* cookie banner (2026-10-21, Ēriks: it blended into the page): a full-width dark bar anchored to the bottom edge, the footer's
   colours, so it reads as a layer above the page; Decline and Accept stay equal in weight (EDPB: no nudging) */
#tscb{position:fixed;left:0;right:0;bottom:0;z-index:1000;background:#1C1F1A;color:#F1EFE8;border-top:3px solid #F1EFE8;box-shadow:0 -10px 30px rgba(0,0,0,.25);
  padding:16px max(16px,calc((100% - 1080px)/2 + 24px));display:flex;gap:20px;align-items:center;font:14px/1.5 var(--sans,sans-serif)}
#tscb p{margin:0;flex:1;max-width:720px} #tscb p b{color:#fff} #tscb a{color:#fff;text-decoration:underline;text-underline-offset:2px}
#tscb div{display:flex;gap:10px;flex-shrink:0;margin-left:auto}
#tscb button{font:600 14px var(--sans,sans-serif);padding:10px 22px;border:2px solid #fff;background:#fff;color:#1C1F1A;cursor:pointer;min-width:110px}
#tscb button:hover{background:#E7E4DA;border-color:#E7E4DA} #tscb button:focus-visible{outline:3px solid #8FB3FF;outline-offset:2px}
@media (max-width:640px){ #tscb{flex-direction:column;align-items:stretch;gap:12px;padding:14px 16px} #tscb div{margin-left:0} #tscb div button{flex:1} }
/* public tender check (/preview and the home page hero, 2026-10-20) */
.pv-form{display:flex;gap:8px;max-width:620px;margin:18px 0 6px}
.pv-form input{flex:1;min-width:0;border:2px solid var(--ink);padding:12px 14px;font:16px var(--sans);background:var(--surface)}
.pv-form .lp3-btn{white-space:nowrap}
.pv .lbl2{margin-top:26px} .pv .lbl2 a{color:var(--ink)}
.pv-h{font:600 28px/1.25 var(--sans);margin:6px 0 16px;max-width:900px}
.pv-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 24px;margin:0 0 22px;max-width:980px}
.pv-facts>div:last-child{grid-column:1/-1} .pv-facts dt{font:700 11px var(--head);text-transform:uppercase;letter-spacing:.08em;color:var(--ink2)} .pv-facts dd{margin:4px 0 0;font:15px/1.45 var(--sans)}
.pv-buy{display:flex;align-items:center;gap:24px;flex-wrap:wrap;border:2px solid var(--ink);padding:18px 20px;max-width:620px;background:var(--surface)}
.pv-price{font:600 30px var(--sans)} .pv-buy small{color:var(--muted)}
@media (max-width:640px){ .pv-form{flex-direction:column} .pv-facts{grid-template-columns:1fr} .pv-h{font-size:22px} }
.lp-si{white-space:nowrap}
.lp3 .pv h1.pv-h{font:600 26px/1.25 var(--sans);text-transform:none;letter-spacing:0;max-width:900px} @media (max-width:640px){ .lp3 .pv h1.pv-h{font-size:21px} }
.lp3-built{padding-top:34px;padding-bottom:6px} .lp3-built h2{margin:0 0 10px} .lp3-built p{max-width:760px;font-size:17px;line-height:1.55;margin:0}
.pv-hint{margin:4px 0 14px;font-size:14px;color:var(--muted)} .pv-hint a{color:var(--ink)}
/* re-analysis offer under the tender tabs (2026-10-20) */
.rean{border:2px solid var(--ink);background:var(--surface);padding:12px 16px;margin:10px 0 0;font-size:14px;line-height:1.5}
.rean.on{border-style:dashed} .rean-a{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:8px} .rean-a small{color:var(--muted)} .rean .err{color:var(--red);display:block}
.rean button{background:var(--ink);color:#fff;border:0;padding:9px 16px;font:600 14px var(--sans);cursor:pointer} .rean button:disabled{opacity:.5;cursor:default}
.anfresh{font-size:12px;color:var(--muted);margin:8px 0 0}
.ok2{border-left:3px solid var(--green,#2E8540);padding:8px 12px;background:var(--surface);margin:10px 0}
/* home page: data and questions (2026-10-21) */
.lp3-trust,.lp3-faq{padding-top:34px;padding-bottom:10px} .lp3-trust h2,.lp3-faq h2{margin:0 0 12px}
.lp3-trust ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 28px;max-width:980px}
.lp3-trust li{font-size:15px;line-height:1.5;border-left:3px solid var(--ink);padding-left:12px} .lp3-trust a,.lp3-faq a{color:var(--ink)}
.lp3-faq dl{max-width:820px;margin:0} .lp3-faq dt{font-weight:600;font-size:16px;margin-top:16px} .lp3-faq dd{margin:4px 0 0;font-size:15px;line-height:1.55;color:var(--ink2)}
@media (max-width:760px){ .lp3-trust ul{grid-template-columns:1fr} }
/* site menu, content pages and brand footer (2026-10-21) */
.snav{display:flex;gap:22px;margin-left:auto;margin-right:22px} .snav a{font:500 14px var(--sans);color:var(--ink2);text-decoration:none;white-space:nowrap} .snav a:hover,.snav a[aria-current]{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.lpage .top .snav+.lp-si{margin-left:0}
.snav-m{display:none;position:relative} .snav-m summary{list-style:none;cursor:pointer;font:600 14px var(--sans);border:1px solid var(--ink);padding:6px 12px} .snav-m summary::-webkit-details-marker{display:none}
.snav-m>div{position:absolute;right:0;top:40px;z-index:60;background:#fff;border:1px solid var(--rule);box-shadow:0 8px 24px rgba(0,0,0,.1);min-width:210px;padding:6px 0;display:flex;flex-direction:column} .snav-m>div a{padding:10px 16px;font:500 15px var(--sans);color:var(--ink);text-decoration:none} .snav-m>div a:hover{background:var(--page)}
@media (max-width:900px){ .snav{display:none} .snav-m{display:block;margin-left:10px} .lpage .top .lp-si{margin-left:auto} }
.sfoot{margin-top:0;background:#1C1F1A;color:#D9D7CF;font-size:14px}
.sf-in{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:32px;padding-top:44px;padding-bottom:34px}
.sf-logo{display:inline-flex;align-items:center;gap:8px;font:600 17px var(--sans);color:#fff;text-decoration:none} .sfoot .logo path{fill:#fff} .sfoot .logo polygon{fill:#1C1F1A}
.sf-brand p{color:#B9B6AC;line-height:1.5;margin:10px 0;max-width:34ch} .sf-brand>a:last-child{color:#fff}
.sfoot h4{font:600 11px var(--head,var(--sans));letter-spacing:.08em;text-transform:uppercase;color:#8F8C82;margin:4px 0 12px} .sfoot .sf-in>div:not(.sf-brand) a{display:block;color:#F1EFE8;text-decoration:none;margin:0 0 9px} .sfoot a:hover{text-decoration:underline;text-underline-offset:3px}
.sf-legal{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid #3A3D36;padding-top:16px;padding-bottom:28px;font-size:13px;color:#8F8C82} .sf-legal a{color:#B9B6AC}
.spage{padding-bottom:56px} .lp3+.sfoot,.lgw+.sfoot{margin-top:0} main.lp3:not(.spage)>section:last-child{margin-bottom:40px}
@media (max-width:760px){ .sf-in{grid-template-columns:1fr 1fr;gap:26px} .sf-brand{grid-column:1/-1} }
#view{min-height:calc(100vh - 42px)}
.spage .sp-hero{padding-top:48px;padding-bottom:28px} .spage .sp-hero .lp3-sub{max-width:52ch;margin-bottom:0} .spage .sp-hero a{color:var(--ink)}
.sp-feat{padding-top:44px;padding-bottom:20px} .sp-feat h2,.sp-cta h2,.sp-text h2{margin:0 0 14px}
.sp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 26px} .sp-grid h3{font:600 16px var(--sans);margin:0 0 6px} .sp-grid p{margin:0;font-size:15px;line-height:1.5;color:var(--ink2)} .sp-grid>div{border-top:2px solid var(--ink);padding-top:12px}
@media (max-width:900px){ .sp-grid{grid-template-columns:1fr 1fr} } @media (max-width:560px){ .sp-grid{grid-template-columns:1fr} }
.sp-text{padding-top:30px;padding-bottom:6px} .sp-text p{max-width:760px;font-size:17px;line-height:1.55;margin:0}
.sp-cta{padding-top:40px;padding-bottom:10px} .sp-cta p{max-width:620px;font-size:17px;line-height:1.5;color:var(--ink2)}
.sp-trust{padding-top:10px} .sp-trust .lp3-small{margin-top:22px}
.sp-faq{padding-top:6px} .sp-faq h2{margin:30px 0 4px} .sp-faq h2:first-child{margin-top:0}
#view+.sfoot{margin-top:48px}
/* a tender before its analysis: one card, the action on the right (2026-10-21) */
.pre{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start;margin:4px 0 18px}
.pre-warn{grid-column:1/-1} .pre-main{border:1px solid var(--rule);background:var(--surface);padding:18px 22px}
.pre-facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 20px;margin:10px 0 16px} .pre-facts dt{color:var(--muted);font-size:13px;padding-top:2px} .pre-facts dd{margin:0;font-size:15px;line-height:1.45}
.pre-facts>div{display:contents}
.pre-get{border-top:1px solid var(--rule);padding-top:14px} .pre-get ul{margin:8px 0 10px;padding-left:18px;font-size:15px;line-height:1.6} .pre-get .src{margin:0}
.pre-act{position:sticky;top:12px} .pre-act .lim{font-size:14px}
@media (max-width:860px){ .pre{grid-template-columns:1fr} .pre-act{position:static;order:-1} .pre-facts{grid-template-columns:1fr;gap:2px} .pre-facts dt{margin-top:8px} }
@media (max-width:560px){ .top .balchip{display:none} }   /* the top bar overflowed a 375px phone (2026-10-21); the balance is in the buy box and on Pricing */
/* purchase box, compact (2026-10-21) */
.pre{max-width:1120px} .pre-act .price small{font:500 15px var(--sans);color:var(--muted)}
.pre-act .packs{margin-top:12px;border-top:1px solid var(--rule);padding-top:10px} .pre-act .packs summary{cursor:pointer;font:600 14px var(--sans);color:var(--ink)} .pre-act .packs .opts{margin-top:10px}
.pre-act .btn4.ghost2{background:#fff;color:var(--ink);border:1px solid var(--ink);margin-top:8px}
.pre-act details.why2{margin-top:10px;font-size:13px;color:var(--muted)} .pre-act details.why2 summary{cursor:pointer} .pre-act details.why2 form{margin-top:6px}
.opt .sv{font-style:normal;font:600 12px var(--sans);color:#1E6B3A;background:#E6F2EA;padding:1px 6px;margin-left:6px;white-space:nowrap} .opt .pr s{display:block;font:500 12px var(--sans);color:var(--muted);text-align:right}
.opt .sv{display:inline-block;margin:2px 0 2px 0} .opt div>b{margin-right:6px} .opt div>span{display:block}
.legal h3{font:600 16px var(--sans);margin:20px 0 8px} .legal-t{overflow-x:auto;margin:6px 0 10px} .legal-t table{border-collapse:collapse;font-size:14px;min-width:640px} .legal-t th,.legal-t td{border:1px solid var(--rule);padding:7px 9px;text-align:left;vertical-align:top;line-height:1.45} .legal-t th{background:var(--page);font-weight:600}
.legal ol li{margin:8px 0;max-width:80ch;font-size:15px;line-height:1.55}
.anfresh .aimark{display:inline-block;font:600 11px var(--sans);letter-spacing:.04em;text-transform:uppercase;color:#5B3A00;background:#FFF4DC;border:1px solid #E3C77A;padding:0 6px;margin-right:6px}
/* pre-analysis card: the example's real numbers, a thumbnail, why now (2026-10-21) */
.pre-main{border:1px solid var(--rule);background:#fff;padding:20px 22px}
.pre-ex .lbl2 span{font:400 12px var(--sans);letter-spacing:0;text-transform:none;color:var(--muted);margin-left:6px}
.pre-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px 0 14px}
.pre-n{border-top:3px solid var(--ink);padding-top:8px} .pre-n b{display:block;font:700 30px/1 var(--head,var(--sans));margin-bottom:6px} .pre-n span{font-size:13px;line-height:1.4;color:var(--ink2)}
.pre-shot{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink);border:1px solid var(--rule);padding:8px;margin-bottom:14px}
.pre-shot img{width:160px;height:auto;border:1px solid var(--rule);display:block} .pre-shot span{font:600 14px var(--sans)} .pre-shot:hover span{text-decoration:underline;text-underline-offset:3px}
.pre-now{background:#FFF4DC;border-left:3px solid #C9962B;padding:10px 12px;margin:0 0 12px;font-size:14px;line-height:1.5}
.pre-meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 6px;font-size:13px;color:var(--ink2)} .pre-meta i{font-style:normal;color:var(--muted);margin-right:4px}
.pre-time{margin:4px 0 0}
@media (max-width:760px){ .pre-grid{grid-template-columns:1fr 1fr} .pre-shot img{width:110px} }
details.ov-more>summary:focus{outline:none} details.ov-more>summary:focus-visible{outline:2px solid var(--accent,#1C1F1A);outline-offset:3px}   /* the ring only for keyboard users (2026-10-21) */
/* this tender first, the example below it as proof (2026-10-22): one card on a wide screen, the price between the two on a phone */
.pre{grid-template-areas:"warn warn" "main act" "proof act";row-gap:0} .pre-warn{grid-area:warn;margin-bottom:20px} .pre-main{grid-area:main} .pre-act{grid-area:act} .pre-proof{grid-area:proof}
.pre-main{border-bottom:0;padding-bottom:16px} .pre-proof{border:1px solid var(--rule);border-top:0;background:#fff;padding:0 22px 20px}
.pre-proof>.pre-ex,.pre-proof>.pre-get{padding-top:16px;border-top:1px solid var(--rule)}
.pre-ex+.pre-time,.pre-get+.pre-time{margin-top:12px}
@media (max-width:860px){ .pre{grid-template-areas:"warn" "main" "act" "proof"} .pre-act{order:0;margin:16px 0} .pre-main{border-bottom:1px solid var(--rule);padding-bottom:20px}
  .pre-proof{border-top:1px solid var(--rule);padding-top:20px} .pre-proof>.pre-ex,.pre-proof>.pre-get{padding-top:0;border-top:0} }
/* Admin panel (2026-10-22): tabs, period switch, number cards, "needs you", latest, compact account table with an actions menu */
.adm-p{max-width:1240px} .adm-p h1{margin-bottom:6px} .adm-p h2{margin:22px 0 10px}
.admnav{display:flex;gap:2px;border-bottom:1px solid var(--rule);margin:0 0 18px;overflow-x:auto;position:sticky;top:0;background:var(--bg,#fff);z-index:5}
.admnav a{padding:10px 14px;font:600 14px var(--sans);color:var(--ink2);text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap} .admnav a:hover{color:var(--ink)}
.admnav a.on{color:var(--ink);border-bottom-color:var(--ink)} .abadge{display:inline-block;min-width:18px;padding:0 5px;margin-left:4px;border-radius:9px;background:var(--red,#B3261E);color:#fff;font:700 11px/18px var(--sans);text-align:center}
.admhead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap} .admhead h2{margin:0}
.admwin{display:inline-flex;border:1px solid var(--rule)} .admwin button{border:0;background:#fff;padding:6px 12px;font:600 13px var(--sans);cursor:pointer;color:var(--ink2)} .admwin button.on{background:var(--ink);color:#fff}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:12px 0 4px}
.kpi{border:1px solid var(--rule);background:#fff;padding:12px 14px} .kpi b{display:block;font:700 24px/1.15 var(--head,var(--sans))} .kpi span{font-size:12px;color:var(--ink2)}
.admcols{display:grid;grid-template-columns:1fr 1fr;gap:24px} @media (max-width:860px){.admcols{grid-template-columns:1fr}}
.attn{list-style:none;margin:0;padding:0} .attn li{border-left:3px solid var(--rule);padding:7px 10px;margin:0 0 6px;background:#fff;font-size:14px}
.attn li.red{border-left-color:var(--red,#B3261E)} .attn li.amber{border-left-color:#C9962B} .attn li.info{border-left-color:var(--ink2)} .attn a{color:var(--ink);text-decoration:none} .attn a:hover{text-decoration:underline}
.okline{color:#1E6B3A;font-weight:600;margin:4px 0}
.feed{list-style:none;margin:0;padding:0} .feed li{display:grid;grid-template-columns:120px 80px 1fr;gap:8px;padding:6px 0;border-bottom:1px solid var(--rule2,#eee);font-size:13px} .feed li span:last-child{color:var(--ink2);overflow-wrap:anywhere}
.admfoot{margin-top:18px}
.adm-p .admnew{margin:0;display:flex;gap:6px;padding:0;border:0;background:none} .adm-p .admnew input{min-width:240px;padding:6px 10px;font-size:14px} .adm-p .admnew .btn2{padding:6px 12px;font-size:14px}
table.users td{vertical-align:top} table.users tr.lo td,table.users tr.off td{color:var(--muted,#8A8A85)}   /* no opacity: it would make the actions menu see-through and put it under the next rows */
.tag2{display:inline-block;border:1px solid var(--rule);padding:0 5px;font:600 11px var(--sans);color:var(--ink2);margin-left:4px}
.fns{white-space:nowrap} .fn{color:var(--rule);font-size:13px;margin-right:3px} .fn.on{color:var(--ink)}
.rowact{position:relative} .rowact summary{cursor:pointer;font:600 13px var(--sans);list-style:none;border:1px solid var(--rule);padding:3px 8px;background:#fff;white-space:nowrap} .rowact summary::-webkit-details-marker{display:none}
.rowact[open] summary{background:var(--ink);color:#fff} .rowact>div{position:absolute;right:0;top:100%;z-index:50;background:#fff;border:1px solid var(--ink);box-shadow:0 6px 18px rgba(0,0,0,.12);min-width:220px;width:max-content;max-width:calc(100vw - 16px);padding:4px 0}
.rowact>div .pc-link{display:block;width:100%;text-align:left;padding:7px 12px;text-decoration:none;white-space:nowrap} .rowact>div .pc-link:not(.red){color:var(--ink)} .rowact>div .pc-link:hover{background:#F4F4F1}
.admsec{margin:14px 0} .admsec>summary{cursor:pointer;font:600 15px var(--sans);padding:6px 0}
.st2{font:600 12px var(--sans)} .st2.error{color:var(--red,#B3261E)} .st2.running,.st2.queued{color:#8A6100} tr.bad td{background:#FFF5F4}
.kpi .bar{height:4px;background:var(--rule2,#eee);margin-top:8px} .kpi .bar i{display:block;height:4px;background:var(--ink)} .kpi .bar i.hi{background:var(--red,#B3261E)}
table.adm tr.tot td{font-weight:700;border-top:2px solid var(--ink)}
/* the panel uses the screen (2026-10-22, Ēriks) */
.home.adm-p{max-width:1440px;margin:0 auto;padding:18px 32px 60px} @media (max-width:860px){.home.adm-p{padding:12px 16px 40px}}   /* 2026-10-22: full width stretched the table apart on a 2000 px screen; 1440 centred, as admin panels do */
table.users th:nth-child(n+4),table.users td:nth-child(n+4){white-space:nowrap;width:1%}   /* narrow columns stay narrow; Account, Company and Where from take the room */
table.users td:nth-child(5){white-space:normal;min-width:120px} table.users td:first-child{min-width:200px}   /* Tenders: the count and the furthest step on two lines */
.admnew{margin-left:auto}
.jn{margin-top:18px;border-top:2px solid var(--ink);padding-top:8px}
.jsteps{list-style:none;margin:10px 0 0;padding:0} .jsteps li{display:grid;grid-template-columns:150px 22px 1fr;gap:8px;align-items:baseline;padding:5px 0;border-bottom:1px solid var(--rule2,#eee);font-size:13px}
.jsteps i{font-style:normal;font-weight:700;text-align:center;color:var(--ink2)} .jsteps i.paid,.jsteps i.ready{color:#1E6B3A} .jsteps i.failed,.jsteps i.decline{color:var(--red,#B3261E)} .jsteps i.must_pay,.jsteps i.paywall{color:#8A6100}
@media (max-width:600px){.jsteps li{grid-template-columns:110px 18px 1fr}}
/* "Not today" reasons and the legal line (2026-10-22) */
.whyr{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;margin:6px 0 8px;font-size:13px;color:var(--ink)} .whyr label{cursor:pointer}
.chk .legal{margin-top:14px;line-height:1.5}
.pv-trust{margin-top:22px;border-top:1px solid var(--rule);padding-top:14px;font-size:13px;color:var(--ink2);line-height:1.5} .pv-trust p{margin:0 0 8px} .pv-trust b{color:var(--ink)}
/* Continue with Microsoft / Google (2026-10-22) */
.oab{display:grid;gap:8px;margin:4px 0 6px} .oab .oa{display:block;text-align:center;border:1px solid var(--ink);padding:10px 12px;font:600 15px var(--sans);color:var(--ink);text-decoration:none;background:#fff} .oab .oa:hover{background:#F4F4F1}
.lgor{text-align:center;color:var(--muted);margin:6px 0 10px}
/* pay by invoice (2026-10-22) */
.invx{margin-top:14px;border-top:1px solid var(--rule);padding-top:10px} .invx>summary{cursor:pointer;font:600 14px var(--sans);color:var(--ink)} .invf{margin:8px 0 12px} .invf .row2{display:grid;grid-template-columns:1fr 2fr;gap:10px}
.invf label.f{display:block;margin:0 0 10px;font-size:13px;color:var(--ink2)} .invf label.f input,.invf label.f select{display:block;width:100%;box-sizing:border-box;margin-top:4px;padding:8px 10px;font:400 15px var(--sans);border:1px solid var(--rule);background:#fff;color:var(--ink)}
/* UX review 2026-10-22, round 1 (Check): exclusion items as chips on the card, exclusion questions first in the score box */
.kocf .kot{flex:1 1 100%}
.kochips{display:flex;flex-wrap:wrap;gap:6px;flex:1 1 100%}
.kochip{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:4px 10px;border:1px solid var(--ink2);background:var(--surface);font:500 13px var(--mono,var(--sans));cursor:pointer;color:var(--ink)}
.kochip span{font:12px var(--sans);color:var(--muted)}
.kochip:hover{border-color:var(--ink);background:var(--page)}
.kochip.ok{border-color:var(--accent);color:var(--accent)} .kochip.ok span{color:var(--accent)}
.kochip.bad{border-color:var(--red);color:var(--red)}
.kocf.ok .kochips{flex:0 1 auto}
.kocf .pc-link{font-size:13px}
.scorebox .sxo{margin-top:10px;font-size:13.5px;line-height:1.45}
.scorebox button.go{width:100%;border:0;cursor:pointer}
.scorebox .go2{display:block;width:100%;margin-top:6px;padding:8px;border:1px solid var(--ink2);background:var(--surface);font:500 14px var(--sans);cursor:pointer}
.scorebox .go2:hover{background:var(--page);border-color:var(--ink)}
.vp-prog{display:block;margin-top:6px;font-size:12.5px;color:var(--ink2)}
.cq .meta .reused{color:var(--muted)}
.tools.sct:empty{display:none}
/* UX review round 2: Overview steps, Ask the buyer, suggestions */
.ovsteps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:6px 0 18px}
.ovs3{border:1px solid var(--rule);background:var(--surface);padding:14px 16px;display:flex;flex-direction:column;gap:8px}
.ovs3.cur{border:2px solid var(--ink);padding:13px 15px}
.ovs3.done{background:var(--page)}
.ovs3h{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px}
.ovs3n{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--ink);color:#fff;font:600 13px var(--sans);flex:0 0 auto}
.ovs3.done .ovs3n{background:var(--accent)} .ovs3:not(.cur):not(.done) .ovs3n{background:var(--surface);color:var(--ink);border:1px solid var(--ink2)}
.ovs3h b{font:600 16px var(--sans)} .ovs3w{font:500 13px var(--sans);color:var(--ink2);margin-left:auto}
.ovs3b{font-size:14px;line-height:1.45;color:var(--ink2);flex:1} .ovs3b b{color:var(--ink)} .ovs3s{font-size:12.5px;color:var(--muted);margin-top:4px}
.ovs3 .btn4,.ovs3 .btn2{align-self:flex-start;text-decoration:none}
@media (max-width:860px){.ovsteps{grid-template-columns:1fr}}
.ovsg{margin:6px 0 10px 20px;padding:0;display:grid;gap:8px} .ovsg li{font-size:14px} .ovsg li b{font-weight:500} .ovsg li span{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.bqhead{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;margin:4px 0 14px}
.bqdl{border:2px solid var(--ink);padding:10px 16px;min-width:180px} .bqdl small{display:block;font:600 11px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink2)} .bqdl b{display:block;font:600 26px var(--sans);margin:2px 0} .bqdl span{font-size:13px;color:var(--ink2)} .bqdl.past{border-color:var(--rule)} .bqdl.past b{color:var(--muted)}
.bqacts{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px} .bqacts a{text-decoration:none}
.bqrow{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin-top:8px}
.bqst button{font:500 13px var(--sans)}
.sc.bq-sent{border-left:3px solid var(--ink2)} .sc.bq-answered{border-left:3px solid var(--accent)}
.bqans{display:block;width:100%;min-height:72px;margin-top:8px;border:1px solid var(--rule);padding:8px 10px;font:14px var(--sans);box-sizing:border-box}
.bqsg{margin-top:16px}
@media (max-width:760px){.bqhead{grid-template-columns:1fr}}
.sgbox{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;border:1px solid var(--rule);background:var(--surface);padding:10px 14px;margin:0 0 12px;font-size:14px}
.ovs3 .btn4{display:inline-block;background:var(--ink);color:#fff;padding:9px 16px;font:600 14px var(--sans)} .ovs3 .btn4:hover{background:#000} .ovs3 .btn2{padding:8px 14px;font:500 14px var(--sans)}
.sadv.ans{border-left:3px solid var(--accent)} .kvq.ans{border-left:3px solid var(--accent);padding-left:8px}
.dvhead .dvfn{font:12px var(--mono,var(--sans));color:var(--muted)}
.reqprog{font-size:14px;color:var(--ink2);margin:8px 0 2px} .reqprog b{color:var(--ink)}
/* UX review round 4: compact Prepare rows */
.cq.pqc{display:grid;grid-template-columns:150px minmax(0,1fr) auto auto auto;gap:6px 14px;align-items:center;padding:8px 12px}
.cq.pqc .stw{margin:0} .cq.pqc .stsel{min-height:32px}
.pqcn{display:flex;flex-direction:column;gap:2px;min-width:0} .pqcn .qt{font-size:14.5px;line-height:1.35} .pqcm{font-size:12.5px;color:var(--muted)} .pqcm b{color:var(--ink2);font-weight:500}
.vmini{font:500 12.5px var(--sans);padding:4px 9px;border:1px solid var(--rule);background:var(--surface);cursor:pointer;white-space:nowrap} .vmini.ok{border-color:var(--accent);color:var(--accent)}
.pqdet{font-size:13px;white-space:nowrap}
@media (max-width:760px){.cq.pqc{grid-template-columns:1fr auto;}.cq.pqc .stw{grid-column:1/-1}.cq.pqc .pqcn{grid-column:1/-1}}
/* Product P2: company profile and its suggestions */
.startc.wide{max-width:760px} .startc textarea{width:100%;box-sizing:border-box;font:14px var(--sans);padding:8px 10px;border:1px solid var(--rule)}
.cph{font:600 18px var(--sans);margin:26px 0 4px;text-transform:none;letter-spacing:0;border:0;padding:0} .cph span{font:500 12px var(--sans);color:var(--muted);margin-left:8px}
.cpgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 12px} @media (max-width:760px){.cpgrid{grid-template-columns:1fr}}
.cpck{display:flex;gap:8px;align-items:flex-start;margin-top:12px;font-weight:400} .cpck input{margin-top:3px;width:auto}
.cq .meta .prof,.sqm .prof{color:var(--accent)} .prof button{border:0;background:none;padding:0;color:var(--ink);text-decoration:underline;font:12px var(--sans);cursor:pointer;margin-left:4px}
.profbar{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:space-between;border:1px solid var(--accent);background:var(--surface);padding:8px 12px;margin:8px 0;font-size:14px}
/* Product P1 kill sheet, P6 foreign bidder */
.ks{border:1px solid var(--rule);background:var(--surface);padding:12px 16px;margin:6px 0 12px}
.ksh{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;margin-bottom:8px} .ksh b{font:600 16px var(--sans)}
.ksv{font:600 14px var(--sans);padding:2px 10px;border:1px solid} .ksv.good{color:var(--accent);border-color:var(--accent)} .ksv.warn{color:var(--amber,#9a6a00);border-color:var(--amber,#c9a227)} .ksv.bad{color:var(--red);border-color:var(--red)}
.ksl{display:grid;gap:6px}
.ksr{display:grid;grid-template-columns:12px 90px minmax(0,1fr);gap:10px;align-items:baseline;font-size:14px} .ksr b{font-weight:600} .ksr span:last-child{color:var(--ink2)}
.ksd{width:10px;height:10px;border-radius:50%;background:var(--rule);display:inline-block}
.ksr.good .ksd{background:var(--accent)} .ksr.warn .ksd{background:var(--amber,#c9a227)} .ksr.bad .ksd{background:var(--red)}
.fbt{width:100%;border-collapse:collapse;margin:6px 0 8px;font-size:14px} .fbt th{text-align:left;font-weight:600;vertical-align:top;padding:8px 12px 8px 0;width:220px} .fbt td{padding:8px 12px 8px 0;vertical-align:top;color:var(--ink2);border-top:1px solid var(--rule2)} .fbt th{border-top:1px solid var(--rule2)} .fbt .fbd{white-space:nowrap;color:var(--muted);font-size:13px}
@media (max-width:760px){.fbt th,.fbt td{display:block;width:auto;border:0;padding:4px 0}.ksr{grid-template-columns:12px 1fr}.ksr span:last-child{grid-column:2}}
/* Product P4 costs, P7 memo, P8 decision, P9 next 14 days */
.ksdec{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;margin-top:10px;padding-top:10px;border-top:1px solid var(--rule2);font-size:14px}
.ksdec>span:first-child{font-weight:600;margin-right:4px} .ksdec button[data-dec]{font:500 13px var(--sans);padding:5px 12px;border:1px solid var(--ink2);background:var(--surface);cursor:pointer} .ksdec button.on{background:var(--ink);color:#fff;border-color:var(--ink)} .ksdec button.pc-link{border:0;padding:0;background:none}
.ovexp{font-size:13.5px;color:var(--ink2);margin:0 0 14px}
.bct{border-collapse:collapse;width:100%;font-size:14px;margin:6px 0} .bct th{text-align:left;font-weight:500;padding:6px 12px 6px 0;width:300px;vertical-align:middle} .bct td{padding:6px 12px 6px 0;vertical-align:middle} .bct input{width:130px;padding:6px 8px;border:1px solid var(--rule);font:14px var(--sans)} .bcres{font-size:14px}
@media (max-width:760px){.bct th,.bct td{display:block;width:auto;padding:2px 0}.bct tr{display:block;padding:6px 0;border-bottom:1px solid var(--rule2)}}
.wkb{border:1px solid var(--rule);background:var(--surface);padding:10px 14px;margin:0 0 14px} .wkr{display:grid;grid-template-columns:90px 90px minmax(160px,auto) 1fr;gap:10px;padding:5px 0;border-top:1px solid var(--rule2);text-decoration:none;color:var(--ink);font-size:13.5px} .wkr:first-of-type{border-top:0} .wkr b{font-weight:600} .wkr b.hot{color:var(--red)} .wkr i{font-style:normal;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .wkr:hover{background:var(--page)}
@media (max-width:760px){.wkr{grid-template-columns:1fr 1fr}.wkr i{grid-column:1/-1}}
.memo{max-width:820px;margin:0 auto;padding:10px 20px 40px;font-size:14px;line-height:1.5} .memo header small{color:var(--muted)} .memo h1{font:600 22px/1.3 var(--sans);margin:6px 0} .memo h2{font:600 16px var(--sans);margin:22px 0 6px;text-transform:none;letter-spacing:0;border-bottom:1px solid var(--rule);padding-bottom:4px} .memo h3{font:600 14px var(--sans);margin:10px 0 4px}
.memobar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.mkv{border-collapse:collapse;width:100%;margin-top:10px} .mkv th{text-align:left;font-weight:600;padding:4px 10px 4px 0;width:110px;vertical-align:top} .mkv td{padding:4px 16px 4px 0;vertical-align:top}
.mrec{min-height:80px;border:1px dashed var(--rule);padding:8px 10px} .msig{margin-top:24px;color:var(--ink2)} .memo footer{margin-top:24px;font-size:12px;color:var(--muted)} .memo ul{margin:4px 0 4px 18px;padding:0}
@media print{.top,.flow,.ttabs,.noprint,footer.site,.site-foot,nav{display:none!important}.memo{max-width:none;padding:0}.mrec{border:0}body{background:#fff}}
.plan{margin-top:14px;padding-top:12px;border-top:1px solid var(--rule)} .planr{display:grid;grid-template-columns:76px 1fr;gap:2px 8px;width:100%;text-align:left;border:0;border-top:1px solid var(--rule2);background:none;padding:6px 0;font:13px var(--sans);cursor:pointer;color:var(--ink)} .planr i{grid-column:2;font-style:normal;color:var(--muted);font-size:12px} .planr b{font-weight:600} .planr.late b{color:var(--red)} .planr:hover{background:var(--page)}
.bht td{vertical-align:top;font-size:13px}
.vp-dock .vp-next .btn4{background:var(--ink);color:#fff;border:1px solid var(--ink);padding:9px 14px;font:600 14px var(--sans);cursor:pointer}
/* 2026-10-23 (Ēriks): an open exclusion item must look like a task, a checked one steps back */
.kochip{background:#FFF4DC;border:2px solid #C9A227;font-weight:600;padding:5px 12px}
.kochip span{color:var(--ink2);font-weight:500}
.kochip:hover{background:#FFE9A8;border-color:#A8851C}
.kochip.ok{background:var(--page);border:1px solid var(--rule);color:var(--muted);font-weight:500} .kochip.ok span{color:var(--muted)}
.kochip.bad{background:#FBEAEA;border:2px solid var(--red);color:var(--red)} .kochip.bad span{color:var(--red)}
/* 2026-10-23: the source panel heading as a heading, kept in view while the quotes scroll */
.vp-top{position:sticky;top:-16px;z-index:2;background:var(--surface);margin:-16px -20px 0;padding:14px 20px 10px;border-bottom:1px solid var(--rule2);align-items:flex-start}
.vp-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px} .vp-h small{flex:1 1 100%;font:600 11px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.vp-id{font:700 24px/1.1 var(--sans);margin:0;padding:0;border:0;text-transform:none;letter-spacing:0}
.vp-imp{font:500 13px var(--sans);padding:2px 8px;border:1px solid var(--rule);color:var(--ink2)} .vp-imp.ko{border-color:var(--red);color:var(--red);background:#FBEAEA} .vp-imp b{font-weight:700}
/* 2026-10-23: third answer "Unclear: ask the buyer" */
.vchip.unc{background:#EEF1FB;color:#2F4A9A} .vp-dock.unc{background:#EEF1FB;border-top-color:#4A68C9}
.vp-qb{font-size:13.5px;margin:0 0 8px} .vp-uq{display:grid;gap:8px} .vp-uq label{font:600 13px var(--sans)} .vp-uq textarea{display:block;width:100%;box-sizing:border-box;margin-top:4px;font:14px var(--sans);padding:8px;border:1px solid var(--rule)} .vp-uq span{display:flex;gap:10px;align-items:center} .vp-uq .btn4{background:var(--ink);color:#fff;border:1px solid var(--ink);padding:8px 14px;font:600 14px var(--sans);cursor:pointer}
.kochip.unc{background:#EEF1FB;border:2px solid #4A68C9;color:#2F4A9A} .kochip.unc span{color:#2F4A9A}
.kounc{color:#2F4A9A;font-size:13.5px;flex:1 1 100%} .vmini.unc{border-color:#4A68C9;color:#2F4A9A} .vmini.bad{border-color:var(--red);color:var(--red)}
.vp-uq[hidden],.vp-acts[hidden]{display:none}
.vp-acts.vp-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px} .vp-acts.vp-3 button{width:100%;padding:10px 6px;font:600 14px var(--sans);white-space:nowrap;text-align:center} .vp-dock .vp-acts.vp-3 .btn4{font-size:14px;padding:10px 6px}
.vp-undo{display:inline-block;margin-top:6px;font-size:13px}

/* Admin, Portals (2026-11-05) */
tr.ptc td{background:var(--paper2,#f4f4f2);border-top:1px solid var(--rule2,#ddd)} td.ptp{padding-left:22px}
.pts{display:inline-block;padding:1px 7px;font-size:12px;white-space:nowrap;border:1px solid var(--rule2,#ccc)} .pts.ok{color:#17663a;border-color:#17663a} .pts.warn{color:#8a5a00;border-color:#8a5a00} .pts.bad{color:var(--red,#a61c1c);border-color:var(--red,#a61c1c)}

/* A tender without a TED notice (2026-11-05) */
.ownadd{margin:10px 0 18px} .ownadd summary{cursor:pointer;font-size:14px;color:var(--ink2)} .ownadd form{display:grid;grid-template-columns:2fr 2fr 1fr auto;gap:10px;align-items:end;margin-top:10px} .ownadd label{display:grid;gap:4px;font-size:12px;color:var(--ink2)} .ownadd input{padding:8px;border:1px solid var(--rule);font:inherit;min-width:0;background:#fff;color:inherit} .ownadd .err{grid-column:1/-1}
@media (max-width:760px){.ownadd form{grid-template-columns:1fr}}
