/* MVP Global Network – network features (application, gateways, portal, invoice) */
.f.full,.f-note.full,.fee-box.full{grid-column:1/-1}
.f-note{margin:0;color:var(--muted);font-size:.93rem}
.f .hint{font:400 .82rem/1.4 var(--font);letter-spacing:0;text-transform:none;color:var(--faint)}
.f.bad input,.f.bad select,.f.bad textarea{border-color:#B4492F;background:#FFF6F4}
.checks.bad label,.agree.bad{outline:1px solid #B4492F}
.ferr{grid-column:1/-1;font:600 .82rem/1.35 var(--font);letter-spacing:0;text-transform:none;color:#B4492F}
.slot{grid-column:1/-1;display:flex;gap:14px;align-items:center;padding:13px 15px;font-size:.93rem;border-left:4px solid var(--gold);background:#F3F7FF}
.slot.full{border-color:var(--red);background:#FFF4F4}
.dots{display:inline-flex;gap:5px;flex:none}
.dots i{width:13px;height:13px;border-radius:50%;border:2px solid var(--gold);display:block}
.dots i.on{background:var(--gold)}
.slot.full .dots i{border-color:var(--red)}.slot.full .dots i.on{background:var(--red)}
.fee-box{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.fee-box div{background:#fff;padding:14px 16px;display:grid;gap:4px}
.fee-box span{font:700 .64rem/1 var(--font);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.fee-box b{font:900 1.35rem/1 var(--font)}
.fee-box .tot{background:var(--green)}.fee-box .tot span{color:#C9D1DE}.fee-box .tot b{color:#fff}
.fee-box p{grid-column:1/-1;margin:0;background:#fff;padding:10px 16px;font-size:.88rem;color:var(--muted)}
@media (max-width:640px){.fee-box{grid-template-columns:1fr}}

/* gateway board on the home page */
.gw-strip{display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:center;background:var(--green);color:#fff;padding:22px 26px;margin:0 0 22px;border-top:3px solid var(--red)}
.gw-strip h3{color:#fff;font:900 1.35rem/1.15 var(--font);font-stretch:112%;margin:0}
.gw-strip h3 small{display:block;font:700 .66rem/1.6 var(--font);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-hi)}
.gw-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.gw-stats div{border-left:1px solid rgba(255,255,255,.18);padding-left:14px}
.gw-stats b{display:block;font:900 1.7rem/1 var(--font);color:#fff}
.gw-stats span{font:700 .62rem/1.4 var(--font);letter-spacing:.14em;text-transform:uppercase;color:#C9D1DE}
@media (max-width:860px){.gw-strip{grid-template-columns:1fr}.gw-stats{grid-template-columns:repeat(2,1fr)}}
.res .pill.full{background:#FFE9E9;color:#B01E22}
.res .pill .dots{margin-right:8px;vertical-align:-2px}
.res .pill .dots i{width:9px;height:9px;border-width:1.5px}
.res .loc{font:700 .7rem/1 var(--font);letter-spacing:.12em;color:var(--faint);margin-left:6px}

/* member portal */
.pt-top{background:#000;color:#fff;border-bottom:3px solid var(--red)}
.pt-top .wrap{display:flex;align-items:center;gap:18px;padding-block:12px;flex-wrap:wrap}
.pt-top img{width:96px;height:auto}
.pt-top .who{flex:1;min-width:200px}
.pt-top .who b{display:block;font-size:1rem}
.pt-top .who span{font-size:.82rem;color:#C9D1DE}
.pt-top a,.pt-top button.lk{color:#8FC8FF;font:700 .74rem/1 var(--font);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;background:none;border:0;cursor:pointer;padding:6px 0}
.pt-body{background:var(--bg-2);min-height:calc(100vh - 80px);padding-bottom:70px}
.pt-nav{display:flex;gap:6px;flex-wrap:wrap;padding-top:24px;margin-bottom:20px}
.pt-nav button{font:700 .72rem/1 var(--font);letter-spacing:.12em;text-transform:uppercase;padding:13px 16px;border:1px solid var(--line);background:#fff;color:var(--muted);cursor:pointer}
.pt-nav button[aria-selected=true]{background:#000;color:#fff;border-color:#000}
.pt-nav button:disabled{opacity:.45;cursor:not-allowed}
.pt-nav b{display:inline-block;min-width:20px;padding:3px 6px;margin-left:6px;background:var(--red);color:#fff;border-radius:10px;font-size:.66rem;text-align:center}
.pt-card{background:#fff;border:1px solid var(--line);padding:22px;margin-bottom:16px}
.pt-card h2{font-size:1.35rem;margin:0 0 10px}
.pt-card h3{font-size:1.05rem;margin:0 0 8px}
.pt-card p{color:var(--muted);margin:0 0 10px}
.pt-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}
.pt-kpi{background:#fff;border:1px solid var(--line);padding:18px}
.pt-kpi span{display:block;font:700 .64rem/1.3 var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.pt-kpi b{display:block;font:900 1.5rem/1.2 var(--font);margin-top:6px}
@media (max-width:860px){.pt-grid{grid-template-columns:1fr 1fr}}
.credit{display:inline-block;font:800 .68rem/1 var(--font);letter-spacing:.12em;text-transform:uppercase;padding:7px 10px;background:#E3F6EA;color:#1B6B3A}
.credit.pending_terms{background:#EEF3FF;color:#0B3FCC}.credit.warning{background:#FFF3DC;color:#8A5A00}.credit.urgent,.credit.defaulted,.credit.expelled{background:#FDECEC;color:#9B1C1F}
.lockbox{border-left:5px solid var(--red);background:#FFF6F6}
.pt-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pt-form .full{grid-column:1/-1}
.pt-form label{display:grid;gap:6px;font:700 .64rem/1 var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.pt-form input,.pt-form select,.pt-form textarea{font:400 .95rem var(--font);letter-spacing:0;text-transform:none;padding:11px 12px;border:1px solid var(--line);background:var(--bg-2);color:var(--text);width:100%}
.pt-form textarea{min-height:90px;resize:vertical}
.pt-form .btn{margin:0;justify-self:start}
@media (max-width:640px){.pt-form{grid-template-columns:1fr}}
.pt-msg{font-size:.9rem;margin:0}.pt-msg.err{color:#B4492F}.pt-msg.ok{color:#1B6B3A}
.pt-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.pt-filter input,.pt-filter select{font:400 .95rem var(--font);padding:11px 12px;border:1px solid var(--line);background:#fff;min-width:180px;flex:1}
.pt-list{display:grid;gap:12px}
.dir-card{background:#fff;border:1px solid var(--line);padding:18px 20px;display:grid;grid-template-columns:1fr auto;gap:10px 20px}
.dir-card h3{margin:0;font-size:1.1rem}
.dir-card .where{font:700 .7rem/1.4 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-lo)}
.dir-card .dmeta{font-size:.9rem;color:var(--muted)}
.dir-card .tags{display:flex;gap:6px;flex-wrap:wrap}
.dir-card .tags span{font:700 .62rem/1 var(--font);letter-spacing:.1em;text-transform:uppercase;padding:6px 8px;background:var(--bg-2);color:var(--muted)}
.dir-card .acts{display:flex;flex-direction:column;gap:8px;align-items:flex-end}
.dir-card .acts a{font:700 .72rem/1 var(--font);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;padding:10px 12px;border:1px solid var(--line);color:var(--text);white-space:nowrap}
.dir-card .acts a.wa{background:#1FAF55;border-color:#1FAF55;color:#fff}
@media (max-width:640px){.dir-card{grid-template-columns:1fr}.dir-card .acts{flex-direction:row;flex-wrap:wrap;align-items:flex-start}}
.tbl{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);font-size:.9rem}
.tbl th,.tbl td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.tbl th{font:700 .62rem/1.2 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:var(--bg-2)}
.tbl-wrap{overflow-x:auto;margin-bottom:16px}
.stage{display:inline-block;font:800 .62rem/1 var(--font);letter-spacing:.1em;text-transform:uppercase;padding:6px 8px;background:var(--bg-2);color:var(--muted);white-space:nowrap}
.stage.s-warning{background:#FFF3DC;color:#8A5A00}.stage.s-urgent,.stage.s-defaulted{background:#FDECEC;color:#9B1C1F}.stage.s-resolved{background:#E3F6EA;color:#1B6B3A}.stage.s-pending{background:#EEF3FF;color:#0B3FCC}
.clock{font:900 1.1rem/1 var(--font)}
.rfq{background:#fff;border:1px solid var(--line);padding:16px 18px;margin-bottom:10px}
.rfq .hd{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.rfq .hd b{font-size:1rem}
.rfq .kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px 16px;margin:10px 0;font-size:.9rem}
.rfq .kv span{display:block;font:700 .6rem/1.3 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.rfq .reply{border-top:1px solid var(--line);padding-top:10px;margin-top:10px;font-size:.92rem}
.rfq .reply .who{font-weight:800}
.rfq textarea{width:100%;min-height:70px;font:400 .92rem var(--font);padding:10px;border:1px solid var(--line);background:var(--bg-2)}
.rfq .btn{margin:8px 8px 0 0;padding:.9em 1.2em;font-size:.66rem}
.muted{color:var(--muted)}
.pt-empty{background:#fff;border:1px solid var(--line);padding:30px;text-align:center;color:var(--muted)}

/* invoice */
.inv{max-width:820px;margin:40px auto;background:#fff;border:1px solid var(--line);padding:40px}
.inv-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-bottom:3px solid var(--red);padding-bottom:18px;margin-bottom:24px}
.inv-top img{width:150px;height:auto;background:#000;padding:8px 12px}
.inv-top .no{text-align:right}
.inv-top .no b{display:block;font:900 1.6rem/1.1 var(--font)}
.inv-status{display:inline-block;margin-top:8px;font:800 .7rem/1 var(--font);letter-spacing:.14em;text-transform:uppercase;padding:8px 12px;background:#FFF3DC;color:#8A5A00}
.inv-status.paid{background:#E3F6EA;color:#1B6B3A}
.inv table{width:100%;border-collapse:collapse;margin:20px 0}
.inv th,.inv td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left}
.inv td.n,.inv th.n{text-align:right;white-space:nowrap}
.inv tfoot td{font-weight:900;font-size:1.05rem;border-bottom:0}
.inv .pay{background:var(--bg-2);padding:18px 20px;white-space:pre-line}
.inv .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.inv .actions .btn{margin:0}
@media print{.inv{border:0;margin:0;padding:0}.inv .actions,.no-print{display:none!important}body{background:#fff}}

/* legal pages */
.legal{max-width:860px;padding-block:50px 80px}
.legal h2{font-size:1.35rem;margin:34px 0 10px}
.legal p,.legal li{color:var(--muted);line-height:1.7}
.legal .note{background:#FFF8E6;border-left:4px solid #E38B00;padding:14px 16px;color:#5B4300;font-size:.93rem}
.pt-nav b[hidden]{display:none}
.res .pill .dots i{animation:none;box-shadow:none;position:static;transform:none;opacity:1;margin:0}
.pill.full{background:#FFE9E9;color:#B01E22}
.res .pill .dots i{background:transparent!important}.res .pill .dots i.on{background:var(--gold)!important}.res .pill.full .dots i{border-color:var(--red)}.res .pill.full .dots i.on{background:var(--red)!important}
.ad-top h1{margin-left:6px;padding-left:18px;border-left:1px solid rgba(255,255,255,.25)}
