/* ===================== Tender matcher (price-portal look) ===================== */
#pg-tender{--primary:#015354;--accent:#3AC0C3;--panel:#F1F8F8;--caption:#5F7C7B;--ok:#0B7449;--warn:#9A5B00;--bad:#B03A28;background:#fff;padding-bottom:120px}
.tp-head{background:#fff;border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.tp-head::before{content:"";position:absolute;left:-180px;top:-260px;width:520px;height:520px;border-radius:50%;background:var(--accent);opacity:.10;pointer-events:none}
.tp-wrap{max-width:1180px;margin:0 auto;padding:0 20px;position:relative}
.tp-topbar{display:flex;justify-content:space-between;align-items:center;padding:18px 0 0;gap:12px;flex-wrap:wrap}
.tp-topbar .wordmark img{height:30px}
.tp-badges{display:flex;gap:8px;flex-wrap:wrap}
.tp-badge{font-family:Jost;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--primary);border:1px solid var(--line);background:#fff;padding:6px 10px;border-radius:999px}
.tp-hero{padding:26px 0 24px;display:grid;grid-template-columns:1.3fr 1fr;gap:28px;align-items:end}
.tp-kicker{color:#1B6E70;font-family:Jost;font-weight:700;letter-spacing:.18em;text-transform:uppercase;font-size:12px;margin-bottom:8px}
.tp-hero h1{font-family:Jost;font-weight:600;font-size:clamp(1.5rem,2.6vw,2.1rem);color:var(--primary);line-height:1.15;letter-spacing:-.01em}
.tp-hero p{color:var(--caption);font-size:.92rem;margin-top:8px}
.tp-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.tp-stats .stat{background:var(--panel);border-radius:12px;padding:14px 12px;border-top:3px solid var(--accent)}
.tp-stats .stat.ok{border-top-color:var(--ok)} .tp-stats .stat.warn{border-top-color:var(--warn)} .tp-stats .stat.bad{border-top-color:var(--bad)}
.tp-stats b{display:block;font-family:Jost;font-size:24px;color:var(--primary);font-weight:700;line-height:1}
.tp-stats span{font-size:12px;color:var(--caption);display:block;margin-top:5px}
.tp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:8px 0 22px}
.tp-steps .step{display:flex;gap:12px;align-items:flex-start;font-size:13.5px;color:var(--caption)}
.tp-steps .step i{flex:none;width:28px;height:28px;border-radius:50%;background:var(--line);color:var(--caption);display:grid;place-items:center;font-style:normal;font-weight:700;font-size:13px;font-family:Jost}
.tp-steps .step.on i{background:var(--primary);color:#fff}
.tp-steps .step b{color:var(--primary);display:block;font-family:Jost}
.tp-prog{margin:26px 0;background:var(--panel);border-radius:12px;padding:18px 20px;display:none}
.tp-prog .bar{height:8px;background:#fff;border-radius:4px;overflow:hidden;margin-top:10px}
.tp-prog .bar i{display:block;height:100%;background:var(--accent);transition:width .3s}
.tp-sec{margin-top:30px}
.tp-sec h2{font-family:Jost;font-weight:600;font-size:1.15rem;color:var(--primary);display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.tp-sec h2 small{font-weight:400;font-size:.85rem;color:var(--caption)}
.tp-filters{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.tp-chip{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:7px 14px;font-family:Jost;font-weight:600;font-size:13px;color:var(--caption);cursor:pointer}
.tp-chip b{margin-left:4px;color:var(--primary)}
.tp-chip.on{border-color:var(--primary);color:var(--primary);background:var(--panel)}
.tp-chip.exact.on{border-color:var(--ok);color:var(--ok)} .tp-chip.near.on{border-color:var(--warn);color:var(--warn)} .tp-chip.none.on{border-color:var(--bad);color:var(--bad)}
.tp-row{display:grid;grid-template-columns:34px 1.2fr 70px 1.4fr 190px;gap:14px;padding:14px 14px;border:1px solid var(--line);border-left:6px solid var(--line);border-radius:12px;margin-top:10px;background:#fff;align-items:start}
.tp-row.exact{border-left-color:var(--ok);background:#F3FBF7} .tp-row.near{border-left-color:var(--warn);background:#FFF9F0} .tp-row.none{border-left-color:var(--bad);background:#FDF3F1}
.tp-row.off{opacity:.55}
.tp-n{font-family:Jost;font-weight:700;color:var(--caption);font-size:.9rem;padding-top:3px}
.tp-req .t{font-size:.92rem;color:var(--ink);line-height:1.35}
.tp-req .s{font-size:.78rem;color:var(--caption);margin-top:4px;line-height:1.35}
/* hele spesifikasjonen slik den står i anbudet – linjeskift beholdes, ingenting kuttes */
.tp-req .s.full{white-space:pre-wrap;color:var(--ink);font-size:.8rem;line-height:1.5;margin-top:6px;padding:8px 10px;background:#F7FBFB;border:1px solid var(--line);border-radius:8px}
/* punktvis sammenligning mot det tilbudte produktet */
.tp-points{margin-top:9px;border-top:1px dashed var(--line);padding-top:8px}
.tp-points .ph{font-family:Jost;font-size:11px;letter-spacing:.04em;color:var(--caption);margin-bottom:6px}
.tp-points .ph b{color:var(--ink)}
.tp-points .pg{margin-bottom:6px}
.tp-points .lab{display:inline-block;font-family:Jost;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;padding:2px 8px;border-radius:999px;margin-bottom:3px}
.tp-points .lab.ok{color:var(--ok);background:#F1FBF5;border:1px solid #B9E4CC}
.tp-points .lab.bad{color:var(--bad);background:#FDF1EE;border:1px solid #F1C2B9}
.tp-points .lab.na{color:var(--caption);background:#F4F7F7;border:1px solid var(--line)}
.tp-points ul{list-style:none;margin:3px 0 0;padding:0}
.tp-points li{font-size:.79rem;line-height:1.5;padding:1px 0 1px 15px;position:relative}
.tp-points li:before{position:absolute;left:0;top:1px;font-weight:700}
.tp-points li.ok{color:var(--ok)} .tp-points li.ok:before{content:'✓'}
.tp-points li.bad{color:var(--bad)} .tp-points li.bad:before{content:'✗'}
.tp-points li.na{color:var(--caption)} .tp-points li.na:before{content:'–'}
.tp-points li b{font-weight:700} .tp-points li i{font-style:normal;opacity:.8}
.tp-req .m{font-family:Jost;font-size:11px;color:var(--caption);margin-top:6px;letter-spacing:.03em}
.tp-qty input{width:64px;font:inherit;padding:8px;border:1px solid var(--line);border-radius:8px;text-align:right}
.tp-match .c{display:flex;gap:10px;align-items:flex-start;font-size:.88rem;line-height:1.3}
.tp-match .c img{width:48px;height:48px;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:#fff;flex:none}
.tp-match .c b{font-family:Jost;color:var(--primary)}
.tp-match .c .p{font-family:Jost;font-size:12px;color:var(--caption);margin-top:3px}
.tp-match .c.none{color:var(--bad);font-family:Jost;font-weight:600;font-size:.85rem}
.tp-sel{width:100%;margin-top:8px;font:inherit;font-size:12.5px;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}
.tp-tools{position:relative;margin-top:6px}
.tp-tools input{width:100%;font:inherit;font-size:12.5px;padding:7px 10px;border:1px dashed var(--line);border-radius:8px;background:#fff}
.tp-sug{position:absolute;left:0;right:0;top:100%;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 16px 40px rgba(1,83,84,.14);z-index:20;overflow:hidden}
.tp-sug div{padding:8px 12px;font-size:.82rem;cursor:pointer;border-top:1px solid var(--panel)}
.tp-sug div:hover{background:var(--panel)} .tp-sug div b{font-family:Jost;color:var(--primary)} .tp-sug .none{color:var(--caption);cursor:default}
.tp-sug:empty{display:none}
.tp-pill{display:inline-block;font-family:Jost;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:999px;color:#fff}
.tp-pill.exact{background:var(--ok,#0B7449)} .tp-pill.near{background:var(--warn,#9A5B00)} .tp-pill.none{background:var(--bad,#B03A28)}   /* fallbacks: the shop's upload list uses the pills outside #pg-tender (GAP-6-01) */
.tp-st .w{font-size:.78rem;color:var(--caption);margin-top:7px;line-height:1.35}
.tp-off{display:flex;gap:6px;align-items:center;font-size:.78rem;color:var(--caption);margin-top:10px;cursor:pointer}
.tp-off input{accent-color:var(--primary)}
.tp-empty{padding:40px;text-align:center;color:var(--caption)}
.tp-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:0 6px 24px rgba(1,83,84,.06);margin-top:14px}
.tp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.tp-grid label span,.tp-inline label span{display:block;font-family:Jost;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--caption);margin-bottom:5px;font-weight:600}
.tp-grid input,.tp-inline input,.tp-inline select,#tpNotes{width:100%;font:inherit;font-size:.92rem;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fff}
.tp-inline{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:14px}
#tpNotes{margin-top:12px;min-height:70px;resize:vertical}
.tp-totals{margin-top:16px;border-top:1px solid var(--line);padding-top:12px;font-size:.92rem}
.tp-totals .row{display:flex;justify-content:space-between;gap:12px;padding:5px 0}
.tp-totals .row.big{font-family:Jost;font-size:1.15rem;color:var(--primary);border-top:1px solid var(--line);margin-top:6px;padding-top:10px}
.tp-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.tp-btn{background:var(--primary);color:#fff;border:0;border-radius:10px;padding:13px 22px;font-family:Jost;font-size:15px;font-weight:700;cursor:pointer}
.tp-btn:hover{background:#013e3f}
.tp-btn.sec{background:#fff;color:var(--primary);border:1.5px solid var(--primary);font-weight:600}
.tp-sticky{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 30px rgba(1,83,84,.10);z-index:50;display:none}
#pg-tender.active ~ .tp-sticky,#pg-tender.active .tp-sticky{display:block}
.tp-sticky .in{max-width:1180px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.tp-sticky .sum{flex:1;min-width:200px}
.tp-sticky .sum b{font-family:Jost;font-size:22px;color:var(--primary);display:block;line-height:1.1}
.tp-sticky .sum span{font-size:12.5px;color:var(--caption)}
@media(max-width:900px){.tp-hero{grid-template-columns:1fr}.tp-stats{grid-template-columns:repeat(2,1fr)}.tp-steps{grid-template-columns:1fr}.tp-row{grid-template-columns:1fr;gap:10px}.tp-n{display:none}}

/* tender upload in the portal */
.tdrop{display:block;border:2px dashed var(--line);border-radius:12px;padding:20px;text-align:center;background:var(--bg-soft);cursor:pointer;margin-top:12px;font-size:.9rem;color:var(--muted);transition:border-color .15s,background .15s}
.tdrop:hover,.tdrop.over{border-color:var(--tq);background:var(--tq-soft)}
.tdrop{position:relative}
.tdrop b{display:block;font-family:Jost;color:var(--deeper);font-size:.95rem;margin-bottom:4px}
.tlist{margin-top:10px;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}
.tlist:empty{display:none}
.tfile{display:grid;grid-template-columns:36px 1fr auto auto;gap:10px;align-items:center;padding:10px 12px;border-top:1px solid var(--ice);font-size:.86rem}
.tfile:first-child{border-top:0}
.tfile i{font-style:normal;width:36px;height:36px;border-radius:8px;background:var(--ice);display:flex;align-items:center;justify-content:center;font-family:Jost;font-size:10px;font-weight:700;color:var(--deeper)}
.tfile .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tfile .nm small{display:block;color:var(--muted);font-size:.75rem}
.tfile select{font-family:Jost;font-size:12.5px;padding:7px 28px 7px 10px;border:1.5px solid var(--line);border-radius:999px;background:#fff;color:var(--deeper);font-weight:600}
.tfile select.tech{border-color:var(--deep);background:var(--tq-soft)}
.tfile button{border:0;background:none;color:var(--muted);cursor:pointer;font-size:16px}
.tfile button:hover{color:var(--red)}
#pg-tender .tstatus{font-family:Jost;font-size:.8rem;font-weight:700}
#pg-tender .tstatus.ok{color:var(--green)} #pg-tender .tstatus.warn{color:#9A5B00} #pg-tender .tstatus.bad{color:var(--red)}   /* scoped: unscoped it overrode shop.css everywhere (GAP-6-02) */
.acct-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;margin-top:14px}
.acct-grid label span{display:block;font-family:Jost;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-weight:600}
.acct-grid input{width:100%;font:inherit;font-size:.92rem;padding:10px 12px;border:1px solid var(--line);border-radius:8px}
.acct-grid .full{grid-column:1/-1}
@media(max-width:700px){.acct-grid{grid-template-columns:1fr}}

/* file list actions */
.tfile{grid-template-columns:36px 1fr auto auto auto}
.tfile .tfa{font-family:Jost;font-size:12px;white-space:nowrap}
.tfile .tfa a{color:var(--deeper);cursor:pointer;font-weight:600;text-decoration:none;margin-right:8px}
.tfile .tfa a:hover{text-decoration:underline}
/* matched offer box (green card) */
.tobox{background:rgba(255,255,255,.08);border:1px solid rgba(58,192,195,.45);border-radius:14px;padding:16px 18px;margin-bottom:18px}
.tobox .eb{font-family:Jost;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#8FDCDD;font-weight:600}
.tobox h3{color:#fff;font-size:1.05rem;margin-top:6px}
.tobox .meta{font-size:.8rem;color:#B9DCDC;margin-top:2px}
.tobox .pills{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.tobox .pills span{font-family:Jost;font-size:11px;font-weight:700;padding:4px 9px;border-radius:999px;color:#fff}
.tobox .pills .ok{background:var(--green)} .tobox .pills .warn{background:var(--amber)} .tobox .pills .bad{background:var(--red)}
.tobox .btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.tobox .btns button{border:0;border-radius:999px;padding:8px 14px;font-family:Jost;font-weight:600;font-size:12.5px;cursor:pointer;background:var(--tq);color:var(--darkest)}
.tobox .btns button.sec{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.25)}
.tobox .more{font-size:.78rem;color:#B9DCDC;margin-top:8px}
/* suggestions on unmatched lines */
.tp-match .c.sug{border:1px dashed var(--bad);border-radius:10px;padding:8px}
.tp-match .c.sug .lab{font-family:Jost;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--bad);font-weight:700;display:block;margin-bottom:2px}
/* your offer */
.of-tiles{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px;margin:14px 0 4px}
.of-tile{background:var(--panel);border-radius:14px;padding:16px 18px;border-top:3px solid var(--accent)}
.of-tile.main{background:linear-gradient(135deg,#0A2E2F,#155B5D 60%,#248A8C);color:#fff;border-top:0}
.of-tile span{display:block;font-family:Jost;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--caption);font-weight:600}
.of-tile.main span{color:#8FDCDD}
.of-tile b{display:block;font-family:Jost;font-size:1.9rem;font-weight:700;color:var(--primary);line-height:1.1;margin-top:6px}
.of-tile.main b{color:#fff}
.of-tile em{font-style:normal;font-size:.78rem;color:var(--caption)} .of-tile.main em{color:#B9DCDC}
.of-card{padding:8px 22px 22px}
.of-row{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:start;padding:16px 0;border-bottom:1px solid var(--line)}
.of-row:last-of-type{border-bottom:0}
.of-lab{font-family:Jost;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--caption);font-weight:600;padding-top:8px}
.of-slider{display:flex;align-items:center;gap:14px}
.of-slider input[type=range]{flex:1;accent-color:var(--primary);height:6px}
.of-num{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--line);border-radius:10px;padding:4px 10px;background:#fff}
.of-num input{width:64px;border:0;font:inherit;font-size:1.05rem;font-weight:700;color:var(--primary);text-align:right;outline:none}
.of-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.of-chip{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:7px 13px;font-family:Jost;font-weight:600;font-size:12.5px;color:var(--caption);cursor:pointer;transition:all .15s}
.of-chip:hover{border-color:var(--primary);color:var(--primary)}
.of-chip.on{background:var(--primary);border-color:var(--primary);color:#fff}
.of-rate{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:.88rem;color:var(--caption)}
.of-rate input{width:90px;font:inherit;padding:6px 8px;border:1px solid var(--line);border-radius:8px}
.of-bidder{font-size:.9rem;line-height:1.45;color:var(--ink)} .of-bidder b{font-family:Jost;color:var(--primary)}
.of-link{border:0;background:none;color:var(--primary);font-family:Jost;font-weight:600;font-size:12.5px;cursor:pointer;padding:6px 0;text-decoration:underline}
#tpNotes{margin-top:0;min-height:64px}
.of-preview{margin-top:14px;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.of-preview .ph{display:grid;grid-template-columns:110px 1fr 60px 110px 110px;gap:10px;padding:9px 14px;background:var(--panel);font-family:Jost;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--caption);font-weight:600}
.of-preview .pr{display:grid;grid-template-columns:110px 1fr 60px 110px 110px;gap:10px;padding:9px 14px;border-top:1px solid var(--line);font-size:.86rem;align-items:center}
.of-preview .pr b{font-family:Jost;color:var(--primary)} .of-preview .pr .r{text-align:right;font-family:Jost}
.of-preview .pm{padding:9px 14px;border-top:1px solid var(--line);font-size:.8rem;color:var(--caption);background:var(--panel)}
.of-fine{font-size:.78rem;color:var(--caption);margin-top:12px;line-height:1.45}
@media(max-width:800px){.of-tiles{grid-template-columns:1fr}.of-row{grid-template-columns:1fr;gap:6px}.of-preview .ph,.of-preview .pr{grid-template-columns:90px 1fr 50px}.of-preview .ph :nth-child(n+4),.of-preview .pr :nth-child(n+4){display:none}}

/* matched items: Tender specification · Aprikos code · Match · Quantity · Price */
.tp-head{display:grid;grid-template-columns:1.25fr 1.35fr 190px 84px 130px;gap:14px;padding:8px 14px 8px 20px;font-family:Jost;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--caption);font-weight:700;margin-top:6px}
.tp-head .r{text-align:right}
.tp-row{grid-template-columns:1.25fr 1.35fr 190px 84px 130px}
.tp-req .t .tp-n{display:inline-block;padding:0;margin-right:8px;font-size:.8rem;color:var(--caption)}
.tp-price{text-align:right;font-family:Jost}
.tp-price b{display:block;font-size:1rem;color:var(--primary)}
.tp-price span{font-size:11.5px;color:var(--caption)}
@media(max-width:900px){.tp-head{display:none}.tp-row{grid-template-columns:1fr}.tp-price{text-align:left}}

/* ===== matched items v2: progress, toolbar, highlighting, candidates, suggestions ===== */
#tpWarn{display:none;background:#FFF4E5;border:1px solid #F0C98A;color:#7A4B00;border-radius:10px;padding:10px 14px;font-size:.88rem;margin-top:14px}
.tp-progress{margin:12px 0 10px}
.tp-progress .bar{height:10px;border-radius:6px;background:var(--line);overflow:hidden;display:flex}
.tp-progress .bar i{display:block;height:100%} .tp-progress .bar .ok{background:var(--ok)} .tp-progress .bar .warn{background:var(--warn)} .tp-progress .bar .bad{background:var(--bad)}
.tp-progress .lab{font-size:.85rem;color:var(--caption);margin-top:6px} .tp-progress .lab b{color:var(--primary);font-family:Jost} .tp-progress .lab a{color:var(--primary);cursor:pointer;font-weight:600}
.tp-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.tp-toolbar .chips{display:flex;gap:8px;flex-wrap:wrap} .tp-toolbar .acts{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.tp-chip.todo.on{border-color:var(--primary);color:#fff;background:var(--primary)} .tp-chip.todo.on b{color:#fff}
.tp-sort{font:inherit;font-family:Jost;font-size:12.5px;font-weight:600;padding:7px 10px;border:1.5px solid var(--line);border-radius:999px;background:#fff;color:var(--primary)}
.tp-mini{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;font-family:Jost;font-weight:600;font-size:12px;color:var(--primary);cursor:pointer;white-space:nowrap}
.tp-mini:hover{border-color:var(--primary)} .tp-mini.on{background:var(--ok);border-color:var(--ok);color:#fff} .tp-mini.ghost{color:var(--caption)}
.tp-keys{font-size:.76rem;color:var(--caption);margin:8px 0 2px} .tp-keys b{font-family:Jost;border:1px solid var(--line);border-radius:4px;padding:0 5px;background:#fff;color:var(--primary)}
.tp-heading{margin-top:18px;padding:6px 14px 6px 20px;font-family:Jost;font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--primary);border-left:6px solid var(--accent);display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.tp-heading small{font-weight:400;letter-spacing:0;text-transform:none;color:var(--caption);font-size:11px}
.tp-noise{display:flex;gap:12px;align-items:center;padding:6px 14px 6px 20px;margin-top:6px;border:1px dashed var(--line);border-radius:10px;font-size:.8rem;color:var(--caption);background:#fff}
.tp-noise span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .tp-noise small{font-size:11px}
.tp-row{transition:box-shadow .15s,transform .15s;cursor:default}
.tp-row.focus{box-shadow:0 0 0 3px rgba(58,192,195,.45),0 12px 30px rgba(1,83,84,.12)}
.tp-row.none:not(.off):not(.done){border-left-width:8px;animation:tpPulse 2.2s ease-in-out 2}
@keyframes tpPulse{0%,100%{box-shadow:none}50%{box-shadow:0 0 0 4px rgba(176,58,40,.18)}}
.tp-row.done{border-left-color:var(--ok)} .tp-row.done .tp-pill.done{background:#fff;color:var(--ok);border:1.5px solid var(--ok)}
mark.miss{background:#FDE2DE;color:#8A2A1B;border-bottom:2px solid var(--bad);border-radius:3px;padding:0 1px}
.tp-edit:focus-visible{opacity:1}
.tp-edit{border:0;background:none;color:var(--caption);cursor:pointer;font-size:13px;padding:0 4px;opacity:.55} .tp-row:hover .tp-edit,.tp-row.focus .tp-edit{opacity:1}
.tp-attrs{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}
.tp-attr{font-family:Jost;font-size:11px;border-radius:999px;padding:3px 9px;border:1px solid var(--line);color:var(--caption);background:#fff}
.tp-attr b{font-weight:700} .tp-attr.ok{border-color:#B9E4CC;color:var(--ok);background:#F1FBF5} .tp-attr.bad{border-color:#F1C2B9;color:var(--bad);background:#FDF1EE} .tp-attr.na{opacity:.75}
.tp-match .conf{margin-top:6px;height:6px;border-radius:3px;background:var(--line);position:relative;max-width:220px}
.tp-match .conf i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--bad),var(--warn) 45%,var(--ok) 80%)}
.tp-match .conf span{position:absolute;left:0;top:9px;font-size:11px;color:var(--caption);font-family:Jost;white-space:nowrap}
.tp-alts{display:grid;gap:5px;margin-top:22px}
.tp-alt{display:grid;grid-template-columns:18px auto 1fr auto;gap:6px;align-items:center;text-align:left;border:1.5px solid var(--line);background:#fff;border-radius:9px;padding:5px 9px;font-size:12px;color:var(--ink);cursor:pointer;line-height:1.25}
.tp-alt:hover{border-color:var(--primary)} .tp-alt.on{border-color:var(--primary);background:var(--panel)} .tp-alt.ex b{color:var(--ok)}
.tp-alt i{font-style:normal;font-family:Jost;font-weight:700;font-size:10px;width:18px;height:18px;border-radius:50%;background:var(--line);color:var(--caption);display:grid;place-items:center} .tp-alt.on i{background:var(--primary);color:#fff}
.tp-alt b{font-family:Jost;color:var(--primary);white-space:nowrap} .tp-alt em{font-style:normal;font-family:Jost;font-weight:600;color:var(--caption);white-space:nowrap}
.tp-ai{margin-top:10px;border:1px solid #CFE7E7;background:linear-gradient(180deg,#F4FBFB,#fff);border-radius:12px;padding:10px 12px}
.tp-ai .h{font-family:Jost;font-weight:700;font-size:12.5px;color:var(--primary);display:flex;align-items:center;gap:6px} .tp-ai .h i{font-style:normal;color:var(--accent)}
.tp-ai p{font-size:.8rem;color:var(--ink);margin:5px 0 0;line-height:1.4}
.tp-ai .alt{display:grid;gap:5px;margin-top:8px} .tp-ai .alt button{border:1.5px solid var(--primary);background:#fff;color:var(--primary);border-radius:8px;padding:6px 10px;font-family:Jost;font-weight:600;font-size:12px;cursor:pointer;text-align:left}
.tp-ai .alt button:hover{background:var(--panel)}
.tp-ai .rem{margin-top:8px} .tp-ai .rem span{display:block;font-family:Jost;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--caption);font-weight:600;margin-bottom:4px}
.tp-ai .rem textarea{width:100%;font:inherit;font-size:.8rem;padding:7px 9px;border:1px solid var(--line);border-radius:8px;resize:vertical;min-height:40px;background:#fff}
.tp-ai .rem .tp-mini{margin-top:5px}
.tp-rowacts{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}
.tp-rowacts .tp-off{margin-top:0}
.tp-qty small{display:block;font-family:Jost;font-size:10.5px;color:var(--warn);margin-top:4px}
@media(max-width:900px){.tp-keys{display:none}.tp-toolbar{flex-direction:column;align-items:stretch}}

/* column widths with the suggestion box in the Match column */
.tp-head,.tp-row{grid-template-columns:1.1fr 1.15fr minmax(250px,1fr) 84px 120px}
#pg-tender>.tp-head{display:block}
@media(max-width:900px){.tp-row{grid-template-columns:1fr}}

/* tender sections do not take the global section padding */
#pg-tender .tp-sec{padding:0}

/* ---- tender type selector (portal) ---- */
.ttype{display:grid;grid-template-columns:auto 1fr 1fr;gap:10px;align-items:stretch;margin-top:12px}
.ttype>span{font-family:Jost;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);align-self:center;font-weight:600}
.ttype label{display:flex;flex-direction:column;gap:2px;border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer;position:relative;padding-left:34px;background:#fff}
.ttype label input{position:absolute;left:12px;top:14px;accent-color:var(--deep)}
.ttype label b{font-family:Jost;font-weight:600;color:var(--darkest);font-size:.92rem}
.ttype label small{font-size:.76rem;color:var(--muted)}
.ttype label:has(input:checked){border-color:var(--deep);background:var(--tq-soft)}
.tdept{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;margin-top:10px}
.tdept>span{font-family:Jost;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}
.tdept select{width:100%;font-family:inherit;font-size:.92rem;padding:10px 36px 10px 12px;border:1.5px solid var(--line);border-radius:12px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B6E70' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center/16px;appearance:none;-webkit-appearance:none;color:var(--ink)}
.tdept select:has(option:checked:not([value=""])){border-color:var(--deep);background-color:var(--tq-soft)}
.tdept small{display:block;font-size:.74rem;color:var(--muted);margin-top:4px}
.tdept.off{display:none}
#tenderGrid .ttype{margin-top:10px}
#tenderGrid .ttype label{padding:8px 12px 8px 34px}
#tenderGrid .ttype label input{top:11px}
#tenderGrid .tdrop{padding:14px 16px;margin-top:10px;font-size:.84rem}
#tenderGrid .tdrop b{font-size:.92rem;margin-bottom:2px}
#tenderGrid .formgrid{margin-top:10px}
#tenderGrid .formgrid input{padding:10px 12px}
@media(max-width:700px){.tdept{grid-template-columns:1fr}}
@media(max-width:600px){.ttype{grid-template-columns:1fr}}
/* ---- furniture compliance matrix ---- */
.fm-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.fm-chip{font-family:Jost;font-size:11px;font-weight:600;border-radius:999px;padding:3px 9px;border:1px solid var(--line);background:#fff;color:var(--caption)}
.fm-chip.ok{color:var(--ok);border-color:#bfe3d0}.fm-chip.acc{color:#1d6fa5;border-color:#bcd7ea}.fm-chip.partial{color:var(--warn);border-color:#f1d9a6}.fm-chip.no{color:var(--bad);border-color:#e5b4b4}.fm-chip.unknown{color:#6b6b6b}.fm-chip.aprikos{color:var(--primary);border-color:#bcdada}.fm-chip.prod{color:#5b4b9a}
.fm{margin-top:10px}
.fm .fm-rows{display:none;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.fm.open .fm-rows{display:block}
.fm-toggle{margin-top:6px;border:0;background:none;color:var(--primary);font-family:Jost;font-weight:600;font-size:12px;cursor:pointer;padding:0}
.fm-r{display:grid;grid-template-columns:22px 1fr 1fr;gap:8px;padding:6px 10px;border-bottom:1px solid var(--ice);font-size:.8rem;align-items:start}
.fm-r:last-child{border-bottom:0}
.fm-r.head{background:var(--panel)}
.fm-st{font-family:Jost;font-weight:700;font-size:12px;width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:#9aa;flex:none}
.fm-r.ok .fm-st{background:var(--ok)}.fm-r.acc .fm-st{background:#1d6fa5}.fm-r.partial .fm-st{background:var(--warn)}.fm-r.no .fm-st{background:var(--bad)}.fm-r.aprikos .fm-st{background:var(--primary)}.fm-r.prod .fm-st{background:#5b4b9a}
.fm-t{color:var(--ink);line-height:1.35}
.fm-t .fm-acc{display:block;color:#1d6fa5;font-style:normal;font-size:.74rem}
.fm-e{color:var(--caption);line-height:1.35}
.fm-ans{display:block;width:100%;margin-top:4px;border:1px solid var(--line);border-radius:8px;padding:5px 8px;font:inherit;font-size:.78rem}
.tp-row.furn .tp-req .m{margin-top:8px}
/* ---- configuration panel per line ---- */
.cfg{margin-top:10px;border:1px solid #bcdada;background:var(--panel);border-radius:12px;padding:10px 12px}
.cfg-t{font-family:Jost;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--primary);font-weight:600;display:flex;justify-content:space-between}
.cfg-t small{letter-spacing:0;text-transform:none;font-size:11px;color:var(--caption)}
.cfg-inc{font-size:.76rem;color:var(--caption);margin-top:6px;line-height:1.4}
.cfg-opt{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;margin-top:8px}
.cfg-a{display:flex;gap:6px;align-items:flex-start;font-size:.78rem;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:8px;padding:5px 8px;cursor:pointer;line-height:1.3}
.cfg-a input{margin-top:2px;accent-color:var(--primary)}
.cfg-a.on{border-color:var(--primary);background:#e8f4f4}
.cfg-a.need i{display:block;font-style:normal;color:#1d6fa5;font-size:.7rem}
.cfg-note{display:block;width:100%;margin-top:8px;border:1px solid var(--line);border-radius:8px;padding:6px 8px;font:inherit;font-size:.8rem;resize:vertical}
/* ---- configuration section ---- */
.cfg-card{padding:16px 18px}
.cfg-head,.cfg-row{display:grid;grid-template-columns:28px 1.5fr 1fr .8fr 1.2fr;gap:12px;align-items:center;padding:8px 6px;font-size:.84rem}
.cfg-head{font-family:Jost;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--caption);border-bottom:1px solid var(--line)}
.cfg-row{border-bottom:1px solid var(--ice);cursor:pointer}
.cfg-row:hover{background:var(--panel)}
.cfg-row small{color:var(--caption)}
.cfg-row .ok{color:var(--ok);font-weight:600}.cfg-row .warn{color:var(--warn);font-weight:600}
.cfg-msg{margin-top:14px}
.cfg-msg label{display:block;font-family:Jost;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--caption);font-weight:600;margin-bottom:6px}
.cfg-msg textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit;font-size:.9rem}
.cfg-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.cfg-status{margin-top:10px;font-size:.84rem}
.cfg-status .ok{color:var(--ok);font-weight:600}.cfg-status .warn{color:var(--warn);font-weight:600}.cfg-status .bad{color:var(--bad);font-weight:600}
.cfg-conf{display:inline-flex;gap:6px;align-items:center;margin-left:6px}
.of-gate{background:#fff7e6;border:1px solid #f1d9a6;color:#7a5200;border-radius:12px;padding:12px 14px;font-size:.86rem;margin-bottom:12px}
#tpOfferSec.gated .of-card{opacity:.55;pointer-events:none}
#tpOfferSec.gated .of-tiles{opacity:.55}
@media(max-width:900px){.cfg-head{display:none}.cfg-row{grid-template-columns:1fr}.cfg-opt{grid-template-columns:1fr}.fm-r{grid-template-columns:22px 1fr}.fm-e{grid-column:2}}

.cfg-code{font-family:Jost;font-size:11px;color:var(--primary);font-weight:600;letter-spacing:.03em;white-space:nowrap}
.cfg-sp{margin-top:10px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:6px 10px}
.cfg-sp summary{cursor:pointer;font-family:Jost;font-size:12px;font-weight:600;color:var(--primary)}
.cfg-sp summary small{font-weight:400;color:var(--caption);margin-left:6px}
.cfg-splist{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;margin-top:8px;max-height:260px;overflow:auto}
.cfg-splist .cfg-a b{font-family:Jost;font-size:11px;margin-right:4px}
@media(max-width:900px){.cfg-splist{grid-template-columns:1fr}}

/* ---------------- distributor quotation in the shop ----------------
   Steps 2 and 3 of the distributor journey, rendered into the shop checkout
   area. It reuses the tender submission language above (.of-tile, .of-row,
   .of-chip, .tp-btn) on purpose: a distributor who has built a tender offer
   should recognise this page without being taught it. */
/* The .of-* and .tp-* rules above read their colours from custom properties
   declared on #pg-tender. This page lives in #pg-shop, where none of them
   resolve — an unresolved var() made .of-chip.on transparent with a white
   border, so the selected margin and currency were invisible on white. The
   same block is declared here so the shared components look the same in both
   places. Keep it in step with #pg-tender at the top of this file. */
.dq-page{--primary:#015354;--accent:#3AC0C3;--panel:#F1F8F8;--caption:#5F7C7B;
  --ok:#0B7449;--warn:#9A5B00;--bad:#B03A28;
  max-width:1180px;margin:0 auto;padding:6px 18px 90px}
.dq-steps{display:flex;gap:10px;list-style:none;margin:6px 0 22px;padding:0;flex-wrap:wrap}
.dq-steps li{flex:1;min-width:190px;display:flex;align-items:flex-start;gap:10px;cursor:pointer;
  padding:12px 14px;border:1px solid var(--line,#D9E7E6);border-radius:12px;background:#fff;
  font-weight:600;font-size:.92rem;line-height:1.3}
.dq-steps li i{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;
  background:#EDF4F3;color:#6B8384;font-style:normal;font-size:.76rem;font-weight:700}
.dq-steps li em{display:block;font-style:normal;font-weight:400;font-size:.78rem;color:#6B8384;margin-top:2px}
.dq-steps li.on{border-color:#1B6E70;box-shadow:inset 0 0 0 1px #1B6E70}
.dq-steps li.on i{background:#1B6E70;color:#fff}
.dq-steps li.done i{background:#1F8A54;color:#fff}
.dq-cust{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;width:100%}
.dq-f{display:block}
.dq-f>span{display:block;font-size:.76rem;font-weight:600;color:#6B8384;margin-bottom:4px}
.dq-f input{width:100%;padding:9px 12px;border:1px solid var(--line,#D9E7E6);border-radius:9px;
  background:#fff;color:inherit;font:inherit}
.dq-f input:focus{outline:2px solid #9FCFCF;outline-offset:1px;border-color:#1B6E70}
.dq-tbl{margin-top:18px;border:1px solid #E6F0EF;border-radius:11px;overflow:auto;max-height:420px}
.dq-tbl table{width:100%;border-collapse:collapse;font-size:.87rem;background:#fff}
.dq-tbl th{position:sticky;top:0;background:#F4F8F8;text-align:left;padding:9px 11px;z-index:1;
  font-size:.71rem;text-transform:uppercase;letter-spacing:.05em;color:#6B8384;font-weight:700}
.dq-tbl td{padding:8px 11px;border-top:1px solid #EDF4F3;vertical-align:middle}
.dq-tbl .r,.dq-tbl th.r{text-align:right}
.dq-tbl .dim{color:#95AEAE}
.dq-tbl code{font-size:.85em}
.dq-warn{margin:14px 0 0;color:#8A5A1B;font-size:.88rem}
.dq-empty{margin:18px 0;padding:26px;text-align:center;color:#6B8384;font-size:.92rem;
  border:1px dashed var(--line,#D9E7E6);border-radius:12px;background:#fff}
.dq-msg{margin-top:12px;font-size:.9rem;min-height:1.2em}
.dq-msg .ok{color:#1F8A54}
.dq-msg .bad{color:#B3392F}
.tp-btn.sm{padding:5px 11px;font-size:.82rem}
@media(max-width:760px){
  .dq-page{padding:6px 12px 90px}
  .dq-steps li{min-width:100%}
  .dq-cust{grid-template-columns:1fr}
}

/* ===================== Focus view: one tender line, enlarged (button "Focus view" / key O) ===================== */
.tp-openf{border-color:var(--primary)} .tp-openf.hot{background:var(--primary);border-color:var(--primary);color:#fff} .tp-openf.hot:hover{background:#013e3f;border-color:#013e3f}
body.tpf-open{overflow:hidden}
.tpf{--primary:#015354;--accent:#3AC0C3;--panel:#F1F8F8;--caption:#5F7C7B;--ok:#0B7449;--warn:#9A5B00;--bad:#B03A28;position:fixed;inset:0;z-index:140;display:none;align-items:center;justify-content:center;padding:22px;background:rgba(3,43,44,.52);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.tpf.show{display:flex;animation:tpfIn .16s ease-out}
@keyframes tpfIn{from{opacity:0}to{opacity:1}}
.tpf-box{background:#fff;border-radius:20px;width:min(1300px,100%);max-height:94vh;display:flex;flex-direction:column;box-shadow:0 40px 100px rgba(0,0,0,.35);overflow:hidden;border-top:6px solid var(--line);animation:tpfPop .22s cubic-bezier(.2,.8,.2,1);outline:none}
.tpf-box.exact{border-top-color:var(--ok)} .tpf-box.near{border-top-color:var(--warn)} .tpf-box.none{border-top-color:var(--bad)}
@keyframes tpfPop{from{transform:translateY(12px) scale(.985);opacity:0}to{transform:none;opacity:1}}
.tpf-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 22px;border-bottom:1px solid var(--line);flex:none}
.tpf-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.tpf-title b{font-family:Jost;font-size:1.15rem;color:var(--primary)}
.tpf-title span{font-size:.85rem;color:var(--caption)}
.tpf-nav{display:flex;align-items:center;gap:8px}
.tpf-nav .tp-mini[disabled]{opacity:.4;cursor:default}
.tpf-x{border:0;background:var(--panel);color:var(--primary);width:36px;height:36px;border-radius:50%;font-size:16px;cursor:pointer;margin-left:6px}
.tpf-x:hover{background:#DDEFEF}
.tpf-body{display:grid;grid-template-columns:1.05fr 1fr;overflow:auto;flex:1;min-height:0}
.tpf-col{padding:22px 26px;min-width:0}
.tpf-col.offer{background:var(--panel);border-left:1px solid var(--line)}
.tpf-lab{font-family:Jost;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--caption);margin:20px 0 8px;display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.tpf-lab:first-child{margin-top:0}
.tpf-lab small{font-weight:500;letter-spacing:0;text-transform:none;font-size:11.5px;text-align:right}
.tpf-text{font-size:1.25rem;line-height:1.45;color:var(--ink);font-weight:500;letter-spacing:-.005em}
.tpf-text mark.miss{padding:0 3px}
.tpf-editbox textarea{width:100%;font:inherit;font-size:1rem;padding:10px 12px;border:1.5px solid var(--accent);border-radius:10px;resize:vertical}
.tpf-editbox .acts{display:flex;gap:8px;margin-top:8px;align-items:center}
.tpf-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;align-items:center}
.tpf-chips>span,.tpf-chips>a{font-family:Jost;font-size:12px;color:var(--caption);background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 10px;text-decoration:none}
.tpf-chips b{color:var(--ink)} .tpf-chips i{font-style:normal;opacity:.75} .tpf-chips a{color:var(--primary)}
.tpf-spec{white-space:pre-wrap;font-size:.9rem;line-height:1.55;color:var(--ink);padding:12px 14px;background:#F7FBFB;border:1px solid var(--line);border-radius:10px;max-height:260px;overflow:auto}
.tpf-table{border:1px solid var(--line);border-radius:12px;overflow:hidden;font-size:.86rem;background:#fff}
.tpf-tr{display:grid;grid-template-columns:120px 1fr 1fr 34px;gap:10px;padding:9px 12px;border-top:1px solid var(--line);align-items:center;line-height:1.35}
.tpf-tr:first-child{border-top:0}
.tpf-tr.h{background:#F7FBFB;font-family:Jost;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--caption);font-weight:700}
.tpf-tr .k{font-family:Jost;font-weight:600;color:var(--primary)}
.tpf-tr .st{font-weight:700;text-align:center;font-size:1rem}
.tpf-tr i{font-style:normal;opacity:.7}
.tpf-tr.ok{background:#F3FBF7} .tpf-tr.ok .st{color:var(--ok)}
.tpf-tr.bad{background:#FDF3F1} .tpf-tr.bad .st{color:var(--bad)} .tpf-tr.bad>span:nth-child(3){color:var(--bad);font-weight:600}
.tpf-tr.na .st{color:var(--caption)}
.tpf-tr .wl{display:flex;flex-wrap:wrap;gap:4px;grid-column:2/4}
.tpf-tr .wl em{font-style:normal;border-radius:6px;padding:2px 7px;font-size:.8rem}
.tpf-tr .wl em.ok{background:#E6F6EE;color:var(--ok)} .tpf-tr .wl em.bad{background:#FDE2DE;color:#8A2A1B}
.tpf-prod{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}
.tpf-prod img{width:120px;height:120px;object-fit:contain;border:1px solid var(--line);border-radius:10px;background:#fff;flex:none;cursor:zoom-in;transition:width .2s,height .2s}
.tpf-prod img.big{width:280px;height:280px;cursor:zoom-out}
.tpf-prod .noimg{width:120px;height:120px;border-radius:10px;background:var(--panel);display:grid;place-items:center;font-size:12px;color:var(--caption);flex:none}
.tpf-prod>div{min-width:0}
.tpf-prod b{font-family:Jost;font-size:1.15rem;color:var(--primary)}
.tpf-prod .nm{font-size:1rem;line-height:1.35;margin-top:2px}
.tpf-prod .cat{font-family:Jost;font-size:12px;color:var(--caption);margin-top:4px}
.tpf-prod .pr{font-size:.9rem;margin-top:8px;color:var(--ink)} .tpf-prod .pr b{font-size:1rem}
.tpf-prod .conf{margin-top:10px;height:6px;border-radius:3px;background:var(--line);position:relative;max-width:240px;margin-bottom:18px}
.tpf-prod .conf i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--bad),var(--warn) 45%,var(--ok) 80%)}
.tpf-prod .conf span{position:absolute;left:0;top:9px;font-size:11px;color:var(--caption);font-family:Jost;white-space:nowrap}
.tpf-none{background:#fff;border:1.5px dashed var(--bad);border-radius:14px;padding:16px}
.tpf-none b{font-family:Jost;color:var(--bad)} .tpf-none p{font-size:.86rem;color:var(--caption);margin:6px 0 0;line-height:1.45}
.tpf-col.offer .tp-ai{background:#fff;margin-top:12px}
.tpf-cands{display:grid;gap:6px}
.tpf-cand{display:grid;grid-template-columns:22px 44px 1fr auto;gap:10px;align-items:center;text-align:left;border:1.5px solid var(--line);background:#fff;border-radius:12px;padding:8px 10px;font-size:.86rem;color:var(--ink);cursor:pointer;line-height:1.3;transition:border-color .12s,box-shadow .12s}
.tpf-cand:hover{border-color:var(--primary);box-shadow:0 4px 14px rgba(1,83,84,.10)}
.tpf-cand.on{border-color:var(--primary);background:#E9F5F5} .tpf-cand.ex b{color:var(--ok)}
.tpf-cand i{font-style:normal;font-family:Jost;font-weight:700;font-size:11px;width:22px;height:22px;border-radius:50%;background:var(--line);color:var(--caption);display:grid;place-items:center} .tpf-cand.on i{background:var(--primary);color:#fff}
.tpf-cand img,.tpf-cand .noimg{width:44px;height:44px;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:#fff;display:block}
.tpf-cand .nm{min-width:0} .tpf-cand b{font-family:Jost;color:var(--primary)}
.tpf-cand small{display:flex;gap:8px;flex-wrap:wrap;margin-top:3px;font-size:11.5px;font-family:Jost;font-weight:600}
.tpf-cand small .ok{color:var(--ok)} .tpf-cand small .bad{color:var(--bad)}
.tpf-cand em{font-style:normal;font-family:Jost;font-weight:700;color:var(--caption);white-space:nowrap}
.tpf-search input{font-size:.95rem;padding:11px 14px;border:1.5px solid var(--line);border-style:solid;background:#fff}
.tpf-search input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(58,192,195,.25)}
.tpf-foot{flex:none;border-top:1px solid var(--line);padding:14px 22px 12px;display:grid;grid-template-columns:1fr auto;gap:8px 18px;align-items:end;background:#fff}
.tpf-rem span{display:block;font-family:Jost;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--caption);font-weight:600;margin-bottom:5px}
.tpf-rem textarea{width:100%;font:inherit;font-size:.9rem;padding:9px 12px;border:1px solid var(--line);border-radius:10px;resize:vertical;min-height:44px}
.tpf-rem .tp-mini{margin-top:6px}
.tpf-acts{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.tpf-acts .tp-off{margin-top:0;font-size:.85rem}
.tpf-acts .tp-btn{padding:11px 18px;font-size:14px;border-radius:10px}
.tpf-acts .tp-btn.done{background:var(--ok)}
.tpf-qty{font-family:Jost;font-size:.85rem;color:var(--caption);display:flex;align-items:center;gap:6px}
.tpf-qty input{width:64px;font:inherit;padding:8px;border:1px solid var(--line);border-radius:8px;text-align:right}
.tpf-keys{font-size:.74rem;color:var(--caption);grid-column:1/-1}
.tpf-keys b{font-family:Jost;border:1px solid var(--line);border-radius:4px;padding:0 5px;background:#fff;color:var(--primary)}
/* phones and very small panes: the whole dialog scrolls as one page (header stays on top), so the body can never be squeezed out by the footer */
@media(max-width:960px){.tpf{padding:0}.tpf-box{border-radius:0;max-height:100vh;height:100vh;overflow:auto}.tpf-head{position:sticky;top:0;background:#fff;z-index:2;padding:10px 16px}.tpf-nav .tp-mini{padding:5px 9px}.tpf-body{grid-template-columns:1fr;overflow:visible;flex:none}.tpf-foot{padding:12px 16px}.tpf-col{padding:18px 16px}.tpf-col.offer{border-left:0;border-top:1px solid var(--line)}.tpf-foot{grid-template-columns:1fr}.tpf-keys{display:none}.tpf-tr{grid-template-columns:86px 1fr 1fr 26px;gap:6px}.tpf-text{font-size:1.1rem}}
.tp-focuslink{font-weight:700}

/* ===== Focus view, furniture mode: what must change, full matrix, configuration ===== */
.tpf-box.furn .tpf-body{grid-template-columns:1.15fr 1fr}
.tpf-fmchips{margin-top:14px}
.tpf-todo{display:grid;gap:6px}
.tpf-td{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:start;border:1px solid var(--line);border-left-width:4px;border-radius:10px;padding:9px 11px;background:#fff;font-size:.86rem;line-height:1.35}
.tpf-td.no{border-left-color:var(--bad)} .tpf-td.partial{border-left-color:var(--warn)} .tpf-td.acc{border-left-color:#1d6fa5} .tpf-td.unknown{border-left-color:#9aa}
.tpf-td.no .fm-st{background:var(--bad)} .tpf-td.partial .fm-st{background:var(--warn)} .tpf-td.acc .fm-st{background:#1d6fa5}
.tpf-td.done{opacity:.6}
.tpf-td b{font-family:Jost;color:var(--primary);margin-right:6px}
.tpf-td small{display:block;color:var(--caption);font-size:.78rem;margin-top:3px}
.tpf-td .tp-mini{border-color:#1d6fa5;color:#1d6fa5}
.tpf-tdok{color:var(--ok);font-weight:700}
.tpf-okall{background:#F3FBF7;border:1px solid #B9E4CC;color:var(--ok);border-radius:10px;padding:10px 12px;font-size:.86rem;font-family:Jost;font-weight:600}
.tpf-fm{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.tpf-fm .fm-r{font-size:.84rem;padding:8px 12px;grid-template-columns:24px 1.1fr 1fr;gap:10px}
.tpf-fm .fm-ans{font-size:.84rem;padding:7px 10px;margin-top:6px}
.tpf-fm .fm-ans:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(58,192,195,.25)}
.tpf-cfg{background:#fff;border:1px solid #bcdada;border-radius:14px;padding:12px 14px}
.tpf-cfg .cfg-inc{font-size:.84rem;margin-top:0;margin-bottom:8px} .tpf-cfg .cfg-inc b{font-family:Jost;color:var(--primary)}
.tpf-cfg .cfg-opt{grid-template-columns:1fr;margin-top:0}
.tpf-cfg .cfg-a{font-size:.86rem;padding:8px 10px}
.tpf-cfg .tpf-lab{margin:14px 0 6px}
.tpf-cfg .cfg-note{font-size:.9rem;padding:9px 12px;border-radius:10px;margin-top:0}
.tpf-cfg .cfg-note:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(58,192,195,.25)}
.tpf-cand small .mid{color:var(--warn)}
@media(max-width:960px){.tpf-box.furn .tpf-body{grid-template-columns:1fr}.tpf-fm .fm-r{grid-template-columns:22px 1fr}.tpf-fm .fm-e{grid-column:2}}

/* ===== Focus view v2: decision card with the AI verdict, quieter layout ===== */
.tpf-keys{display:none;padding:7px 22px;background:#F7FBFB;border-bottom:1px solid var(--line);font-size:.76rem;color:var(--caption);grid-column:auto;margin:0}
.tpf-keys.show{display:block}
.tpf-x.help{font-family:Jost;font-weight:700;font-size:15px}
.tpf-chips small{font-family:Jost;font-size:11px;color:var(--caption);margin-left:auto}
.tpf-dec{border:1.5px solid var(--line);border-radius:16px;padding:14px 16px;background:#fff;box-shadow:0 8px 26px rgba(1,83,84,.08)}
.tpf-dec.v-ok{border-color:#B9E4CC} .tpf-dec.v-eq{border-color:#CFE7E7} .tpf-dec.v-dev{border-color:#F1D9A6} .tpf-dec.v-no{border-color:#F1C2B9}
.tpf-dech{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.tpf-src{font-family:Jost;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--caption);display:inline-flex;align-items:center;gap:6px}
.tpf-src.ai{color:var(--accent)} .tpf-src em{font-style:normal;text-transform:none;letter-spacing:0;font-weight:500;color:var(--warn)}
.tpf-src.busy i{width:12px;height:12px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:tpfSpin .8s linear infinite;display:inline-block}
@keyframes tpfSpin{to{transform:rotate(360deg)}}
.tpf-decv{display:flex;align-items:center;gap:12px}
.tpf-decv b{font-family:Jost;font-size:1.25rem;color:var(--primary);letter-spacing:-.01em}
.v-ok .tpf-decv b{color:var(--ok)} .v-dev .tpf-decv b{color:var(--warn)} .v-no .tpf-decv b{color:var(--bad)}
.tpf-conf{flex:1;max-width:140px;height:6px;border-radius:3px;background:var(--line);overflow:hidden}
.tpf-conf i{display:block;height:100%;background:linear-gradient(90deg,var(--bad),var(--warn) 45%,var(--ok) 80%)}
.tpf-decv em{font-style:normal;font-family:Jost;font-weight:700;color:var(--caption);font-size:.85rem}
.tpf-decp{margin-top:8px;font-size:.95rem} .tpf-decp b{font-family:Jost;color:var(--primary)} .tpf-decp span{color:var(--caption);font-size:.88rem}
.tpf-dec p{font-size:.88rem;line-height:1.45;margin:8px 0 0;color:var(--ink)}
.tpf-dec ul{margin:8px 0 0;padding:0 0 0 18px;font-size:.84rem;line-height:1.45;color:var(--ink)}
.tpf-dec ul li{margin:2px 0}
.tpf-decx{margin-top:8px;font-size:.84rem;line-height:1.4;padding:7px 10px;border-radius:8px;background:#F4F9F9} .tpf-decx b{font-family:Jost;color:var(--primary)}
.tpf-decx.q{background:#FFF7EA}
.tpf-decalt{display:grid;gap:5px;margin-top:8px} .tpf-decalt button{border:1.5px solid var(--primary);background:#fff;color:var(--primary);border-radius:8px;padding:6px 10px;font-family:Jost;font-weight:600;font-size:12px;cursor:pointer;text-align:left}
.tpf-deca{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.tpf-deca .tp-btn{padding:10px 16px;font-size:14px;border-radius:10px}
.tpf-cands .tp-mini.ghost{justify-self:start}
.tpf-fmtoggle{margin-top:10px}
.tpf-fm{margin-top:8px}
.tpf-td em{display:block;font-style:normal;color:var(--caption);font-size:.8rem;margin-top:2px}
.tpf-td .fm-ans{margin-top:6px;font-size:.84rem;padding:7px 10px}
.tpf-cfg .cfg-a.more{display:none} .tpf-cfg .cfg-opt.all .cfg-a.more{display:flex}
.tpf-cfg>.tp-mini{margin-top:6px}
.tp-aichip{display:inline-block;margin-left:6px;font-family:Jost;font-size:11px;font-weight:700;border-radius:999px;padding:4px 9px;border:1.5px solid var(--line);color:var(--caption);background:#fff;vertical-align:middle}
.tp-aichip.v-ok{color:var(--ok);border-color:#B9E4CC} .tp-aichip.v-eq{color:var(--primary);border-color:#CFE7E7} .tp-aichip.v-dev{color:var(--warn);border-color:#F1D9A6} .tp-aichip.v-no{color:var(--bad);border-color:#F1C2B9}
.tp-mini.ai{border-color:var(--accent);color:var(--primary);background:#F1FBFB}
.tp-mini.ai:hover{background:#E1F5F5}
.tp-ainote{color:var(--primary);font-weight:600}
/* wording both ways + confirm note in the side-by-side table */
.tpf-tr .wl{grid-column:auto}
.tpf-tr .wl em.ex{background:#EEF3F3;color:var(--caption)}
.tpf-tr i{opacity:.75}
.tpf-ask{margin-top:8px;padding:9px 12px;border-radius:10px;background:#FFF7EA;border:1px solid #F1D9A6;font-size:.84rem;line-height:1.45;color:var(--ink)} .tpf-ask b{font-family:Jost;color:var(--warn)}
.tp-sug div.on{background:var(--panel,#F1F8F8);outline:2px solid var(--primary,#015354);outline-offset:-2px}   /* the active option in the manual search (GAP-6-05) */
/* captions on the pale panels: #5F7C7B was 4.2:1 on #F1F8F8 (WCAG-STRUCT-06 / GAP-6-07) */
#pg-tender,.dq-page,.tpf{--caption:#4E6868}
.of-tile span,.of-tile em{color:#4E6868}

/* Commercial Center phase 1: estimated value + currency on the new-tender form */
.tn-val{display:flex;gap:6px;align-items:stretch}.tn-val input{flex:1;min-width:0}.tn-val select{width:auto;flex:0 0 auto}
