/* Bootstrap 5 is loaded from the CDN in each HTML page. These rules preserve the original Sosomak visuals. */

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
:root {
    --bm: #1a3fbf;
    --bmd: #122e99;
    --bml: #eef3ff;
    --bmlt: #c8d6ff;
    --gn: #0b6b52;
    --gnl: #e4f5ef;
    --gnlt: #a3dec8;
    --pu: #4e36b0;
    --pul: #f0eeff;
    --pult: #c8bfef;
    --am: #b5700f;
    --aml: #fef4e4;
    --amlt: #f5cc8a;
    --re: #aa2e1f;
    --rel: #fdecea;
    --ink: #0f1118;
    --ink2: #3a3d4a;
    --ink3: #6b6f7e;
    --ln: #e4e6ed;
    --sf: #f7f8fc;
    --wh: #ffffff;
    --fd: "Instrument Serif", serif;
    --fb: "DM Sans", sans-serif;
}
html {
    scroll-behavior: smooth;
}
body {
    font-family: var(--fb);
    color: var(--ink);
    background: var(--wh);
    font-size: 15px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}
/* NAV */
.nav {
    position: sticky;
    top: 0;
    z-index: 200;
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--ln);
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 0 28px;
    height: 58px;
}
.navlogo {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    margin-right: 12px;
}
.navmark {
    width: 30px;
    height: 30px;
    background: var(--bm);
    border-radius: 7px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.navmark svg {
    width: 15px;
    height: 15px;
    stroke: #fff;
    stroke-width: 2;
    fill: none;
    stroke-linecap: round;
}
.navwm {
    font-family: var(--fd);
    font-size: 19px;
    color: var(--ink);
    letter-spacing: -0.01em;
}
.navlogo-img {
    display: block;
    height: 36px;
    width: auto;
    max-width: 160px;
    object-fit: contain;
}
.footer-logo-img {
    display: block;
    height: 40px;
    width: auto;
    max-width: 180px;
    object-fit: contain;
}
.footer-brand-mark .footer-wordmark {
    font-family: var(--fd);
    font-size: 1.1rem;
    color: var(--ink);
}
.footer-brand-mark .footer-wordmark span {
    color: var(--bm);
}
#pg-admin-site-branding .sb-logo-preview-img {
    max-height: 48px;
    max-width: 200px;
    object-fit: contain;
}
#pg-admin-site-branding .sb-footer-link-row {
    display: grid;
    grid-template-columns: 1fr 1.2fr auto;
    gap: 8px;
    align-items: center;
    margin-bottom: 8px;
}
#pg-admin-site-branding .sb-footer-tag-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
    align-items: center;
}
#pg-admin-site-branding .sb-footer-social-row {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 10px;
    align-items: center;
}
#pg-admin-site-branding .sb-footer-social-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 500;
    color: var(--ink2);
    margin: 0;
}
#pg-admin-site-branding .sb-footer-social-label .bi {
    font-size: 16px;
    color: var(--bm);
}
@media (max-width: 575.98px) {
    #pg-admin-site-branding .sb-footer-link-row {
        grid-template-columns: 1fr;
    }
    #pg-admin-site-branding .sb-footer-social-row {
        grid-template-columns: 1fr;
    }
}
.navwm em {
    color: var(--bm);
    font-style: normal;
}
.navlinks {
    display: flex;
    gap: 1px;
}
.nl {
    font-size: 13px;
    color: var(--ink2);
    padding: 6px 11px;
    border-radius: 6px;
    cursor: pointer;
    border: none;
    background: transparent;
    font-family: var(--fb);
    transition: background 0.15s;
}
.nl:hover,
.nl.on {
    background: var(--sf);
    color: var(--ink);
}
.navr {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 8px;
}
.navtog {
    display: none;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid var(--ln);
    background: var(--wh);
    border-radius: 10px;
    color: var(--bm);
    font-size: 20px;
    line-height: 1;
}
.lsw {
    display: flex;
    gap: 2px;
    border: 1px solid var(--ln);
    border-radius: 6px;
    padding: 2px;
}
.lb {
    font-size: 11px;
    font-weight: 500;
    padding: 3px 7px;
    border-radius: 4px;
    cursor: pointer;
    border: none;
    background: transparent;
    color: var(--ink3);
    font-family: var(--fb);
    transition: all 0.15s;
}
.lb.on {
    background: var(--bm);
    color: #fff;
}
/* BUTTONS */
.btn {
    font-family: var(--fb);
    cursor: pointer;
    border: none;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.18s;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}
.btn-g {
    background: transparent;
    color: var(--ink2);
    padding: 8px 16px;
    border: 1px solid var(--ln);
}
.btn-g:hover {
    border-color: var(--bm);
    color: var(--bm);
}
.btn-p {
    background: var(--bm);
    color: #fff;
    padding: 9px 20px;
}
.btn-p:hover {
    background: var(--bmd);
}
.btn-gn {
    background: var(--gn);
    color: #fff;
    padding: 9px 20px;
}
.btn-pu {
    background: var(--pu);
    color: #fff;
    padding: 9px 20px;
}
.btn-re {
    background: var(--re);
    color: #fff;
    padding: 9px 20px;
}
.btn-danger {
    background: var(--rel);
    color: var(--re);
    border: 1px solid #f7c1c1;
    padding: 8px 16px;
}
.btn-lg {
    padding: 13px 28px;
    font-size: 15px;
    border-radius: 14px;
}
.btn-sm {
    padding: 6px 14px;
    font-size: 12px;
    border-radius: 7px;
}
.btn-w {
    background: #fff;
    color: var(--bm);
    padding: 12px 24px;
    font-size: 14px;
    font-weight: 500;
    border-radius: 10px;
}
.btn-ow {
    background: transparent;
    color: #fff;
    padding: 12px 24px;
    font-size: 14px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.4);
}
.btn-ow:hover {
    background: rgba(255, 255, 255, 0.1);
}
.btn-blk {
    width: 100%;
}
/* Keep solid buttons readable on hover. */
.btn-p:hover,
.btn-gn:hover,
.btn-pu:hover,
.btn-re:hover {
    color: #fff;
}
/* LAYOUT */
.page {
    display: none;
}
.page.on {
    display: block;
}
.con {
    max-width: 1060px;
    margin: 0 auto;
    padding: 0 28px;
}
.sec {
    padding: 68px 0;
}
.tag {
    display: inline-block;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.06em;
    padding: 4px 11px;
    border-radius: 20px;
    margin-bottom: 12px;
}
.tag-b {
    background: var(--bml);
    color: var(--bm);
}
.tag-g {
    background: var(--gnl);
    color: var(--gn);
}
.tag-p {
    background: var(--pul);
    color: var(--pu);
}
.tag-a {
    background: var(--aml);
    color: var(--am);
}
.tag-n {
    background: var(--sf);
    color: var(--ink3);
    border: 1px solid var(--ln);
}
.dsp {
    font-family: var(--fd);
    font-size: clamp(30px, 4.5vw, 50px);
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: var(--ink);
}
.dsp em {
    color: var(--bm);
    font-style: italic;
}
.dsp-md {
    font-family: var(--fd);
    font-size: clamp(22px, 3vw, 36px);
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--ink);
}
.dsp-sm {
    font-family: var(--fd);
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: var(--ink);
}
.lead {
    font-size: 16px;
    color: var(--ink2);
    line-height: 1.75;
    max-width: 580px;
}
.lead-sm-constrain {
    max-width: 560px;
}
.bt {
    font-size: 14px;
    color: var(--ink2);
    line-height: 1.7;
}
.cap {
    font-size: 12px;
    color: var(--ink3);
}
.hdiv {
    border: none;
    border-top: 1px solid var(--ln);
}
.g2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
}
.g3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
/* CARDS */
.card {
    background: var(--wh);
    border: 1px solid var(--ln);
    border-radius: 16px;
    padding: 20px 22px;
}
.card-s {
    background: var(--sf);
    border: 1px solid var(--ln);
    border-radius: 16px;
    padding: 20px 22px;
}
.card-b {
    background: var(--bml);
    border: 1px solid var(--bmlt);
    border-radius: 16px;
    padding: 20px 22px;
}
.card-g {
    background: var(--gnl);
    border: 1px solid var(--gnlt);
    border-radius: 16px;
    padding: 20px 22px;
}
.card-p {
    background: var(--pul);
    border: 1px solid var(--pult);
    border-radius: 16px;
    padding: 20px 22px;
}
/* BADGES */
.bdg {
    display: inline-block;
    font-size: 10px;
    font-weight: 500;
    padding: 2px 8px;
    border-radius: 20px;
}
.bdg-v {
    background: var(--gnl);
    color: var(--gn);
}
.bdg-pp {
    background: var(--pul);
    color: var(--pu);
}
.bdg-b {
    background: var(--bml);
    color: var(--bm);
}
.bdg-new {
    background: #e4f5ef;
    color: #0b6b52;
}
.bdg-pnd {
    background: var(--aml);
    color: var(--am);
}
.bdg-acc {
    background: var(--bml);
    color: var(--bm);
}
.bdg-done {
    background: var(--gnl);
    color: var(--gn);
}
.bdg-held {
    background: var(--pul);
    color: var(--pu);
}
.bdg-dis {
    background: var(--rel);
    color: var(--re);
}
/* STEPS */
.slist {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.srow {
    display: grid;
    grid-template-columns: 50px 1fr;
    gap: 18px;
    padding: 22px 0;
    border-bottom: 1px solid var(--ln);
}
.srow:last-child {
    border-bottom: none;
}
.slft {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.snum {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--fd);
    font-size: 17px;
    flex-shrink: 0;
}
.sn-b {
    background: var(--bml);
    color: var(--bm);
}
.sn-g {
    background: var(--gnl);
    color: var(--gn);
}
.sn-p {
    background: var(--pul);
    color: var(--pu);
}
.sn-a {
    background: var(--aml);
    color: var(--am);
}
.sline {
    width: 1px;
    flex: 1;
    background: var(--ln);
    margin-top: 7px;
}
.wp {
    display: inline-block;
    font-size: 10px;
    font-weight: 500;
    padding: 2px 9px;
    border-radius: 20px;
    margin-bottom: 7px;
}
.wp-b {
    background: var(--bml);
    color: var(--bm);
}
.wp-g {
    background: var(--gnl);
    color: var(--gn);
}
.wp-p {
    background: var(--pul);
    color: var(--pu);
}
.wp-n {
    background: var(--sf);
    color: var(--ink3);
    border: 1px solid var(--ln);
}
.stitle {
    font-size: 15px;
    font-weight: 500;
    color: var(--ink);
    margin-bottom: 5px;
}
.sbody {
    font-size: 13px;
    color: var(--ink2);
    line-height: 1.7;
    margin-bottom: 9px;
}
.snote {
    background: var(--sf);
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 12px;
    color: var(--ink2);
    line-height: 1.6;
    border-left: 3px solid var(--bmlt);
}
.snote.gn {
    border-left-color: var(--gnlt);
}
.snote.pu {
    border-left-color: var(--pult);
}
/* FEATURE GRID */
.fgrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}
.fc {
    background: var(--sf);
    border-radius: 16px;
    padding: 22px;
    border: 1px solid var(--ln);
    transition: border-color 0.2s;
}
.fc:hover {
    border-color: var(--bmlt);
}
.fic {
    width: 38px;
    height: 38px;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
}
.fic-b {
    background: var(--bml);
}
.fic-b svg {
    stroke: var(--bm);
}
.fic-g {
    background: var(--gnl);
}
.fic-g svg {
    stroke: var(--gn);
}
.fic-p {
    background: var(--pul);
}
.fic-p svg {
    stroke: var(--pu);
}
.fic-a {
    background: var(--aml);
}
.fic-a svg {
    stroke: var(--am);
}
.fic svg {
    width: 17px;
    height: 17px;
    stroke-width: 1.8;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.ftitle {
    font-size: 14px;
    font-weight: 500;
    color: var(--ink);
    margin-bottom: 5px;
}
.fdesc {
    font-size: 13px;
    color: var(--ink2);
    line-height: 1.6;
}
/* CTA */
.cta-sec {
    padding: 68px 0;
    text-align: center;
}
.cta-blue {
    background: var(--bm);
}
.cta-green {
    background: var(--gn);
}
.cta-pu {
    background: var(--pu);
}
.cta-btns {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}
.cta-sec .btn-w,
.cta-sec .btn-ow {
    border: 1px solid #fff;
}
.sec--sf {
    background: var(--sf);
}
.dark-sec {
    background: var(--ink);
    padding: 60px 0;
}
/* STATS BAR */
.stats-bar {
    background: var(--ink);
    padding: 0;
}
.stsi {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    background: rgba(255, 255, 255, 0.08);
}
.stsc {
    background: var(--ink);
    padding: 26px 28px;
    text-align: center;
}
.stsn {
    font-family: var(--fd);
    font-size: 34px;
    color: #fff;
    letter-spacing: -0.02em;
    margin-bottom: 5px;
}
.stsl {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.45);
}
/* PORTAL CARDS */
.pgrid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}
.pcard {
    border-radius: 16px;
    padding: 26px;
    cursor: pointer;
    border: 1.5px solid transparent;
    transition: all 0.2s;
}
.pcard:hover {
    transform: translateY(-2px);
}
.pc-b {
    background: var(--bml);
    border-color: var(--bmlt);
}
.pc-b:hover {
    border-color: var(--bm);
}
.pc-g {
    background: var(--gnl);
    border-color: var(--gnlt);
}
.pc-g:hover {
    border-color: var(--gn);
}
.pcic {
    width: 38px;
    height: 38px;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
}
.pc-b .pcic {
    background: var(--bm);
}
.pc-g .pcic {
    background: var(--gn);
}
.pcic svg {
    width: 17px;
    height: 17px;
    stroke: #fff;
    stroke-width: 1.8;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.pclbl {
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 0.06em;
    margin-bottom: 5px;
}
.pc-b .pclbl {
    color: var(--bm);
}
.pc-g .pclbl {
    color: var(--gn);
}
.pctitle {
    font-family: var(--fd);
    font-size: 19px;
    color: var(--ink);
    margin-bottom: 7px;
}
.pcdesc {
    font-size: 13px;
    color: var(--ink2);
    line-height: 1.6;
    margin-bottom: 14px;
}
.pcarr {
    font-size: 12px;
    font-weight: 500;
}
.pc-b .pcarr {
    color: var(--bm);
}
.pc-g .pcarr {
    color: var(--gn);
}
/* HERO VISUAL */
.hvc {
    background: var(--wh);
    border: 1px solid var(--ln);
    border-radius: 10px;
    padding: 14px;
    margin-bottom: 9px;
}
.hvc:last-child {
    margin-bottom: 0;
}
.hvtop {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 7px;
}
.hvn {
    font-size: 13px;
    font-weight: 500;
    color: var(--ink);
}
.hvcat {
    font-size: 11px;
    color: var(--ink3);
    margin-bottom: 5px;
}
.hvtags {
    display: flex;
    gap: 3px;
    flex-wrap: wrap;
}
.hvtag {
    font-size: 10px;
    padding: 2px 7px;
    border-radius: 6px;
    background: var(--sf);
    color: var(--ink3);
    border: 1px solid var(--ln);
}
.hvfoot {
    display: flex;
    justify-content: space-between;
    margin-top: 9px;
    padding-top: 9px;
    border-top: 1px solid var(--ln);
}
.hvmoq {
    font-size: 11px;
    color: var(--ink3);
}
.hvrat {
    font-size: 11px;
    color: var(--am);
    font-weight: 500;
}
/* DASHBOARD */
.dw {
    display: grid;
    grid-template-columns: 220px 1fr;
    min-height: calc(100vh - 58px);
}
.sb {
    border-right: 1px solid var(--ln);
    padding: 16px 0;
    background: var(--wh);
    position: sticky;
    top: 58px;
    height: calc(100vh - 58px);
    overflow-y: auto;
}
.sbuser {
    padding: 14px 16px;
    border-bottom: 1px solid var(--ln);
    margin-bottom: 8px;
}
.sbun {
    font-size: 13px;
    font-weight: 500;
    color: var(--ink);
}
.sbus {
    font-size: 11px;
    color: var(--ink3);
    margin-top: 2px;
}
.sbsec {
    font-size: 10px;
    font-weight: 500;
    color: var(--ink3);
    letter-spacing: 0.05em;
    padding: 10px 16px 4px;
}
.sbi {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 8px 16px;
    cursor: pointer;
    font-size: 13px;
    color: var(--ink2);
    border: none;
    background: transparent;
    width: 100%;
    text-align: left;
    font-family: var(--fb);
    transition: background 0.12s;
    position: relative;
}
.sbi:hover {
    background: var(--sf);
    color: var(--ink);
}
.sbi.ob {
    background: var(--bml);
    color: var(--bm);
    font-weight: 500;
}
.sbi.ob svg {
    stroke: var(--bm) !important;
}
.sbi.og {
    background: var(--gnl);
    color: var(--gn);
    font-weight: 500;
}
.sbi.og svg {
    stroke: var(--gn) !important;
}
.sbi.op {
    background: var(--pul);
    color: var(--pu);
    font-weight: 500;
}
.sbi.op svg {
    stroke: var(--pu) !important;
}
.sbi svg {
    width: 14px;
    height: 14px;
    stroke-width: 1.8;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke: var(--ink3);
    flex-shrink: 0;
}
.sbbdg {
    margin-left: auto;
    font-size: 10px;
    font-weight: 500;
    padding: 1px 6px;
    border-radius: 20px;
    background: var(--bm);
    color: #fff;
}
.sbbdg.g {
    background: var(--gn);
}
.dm {
    padding: 24px;
    background: var(--sf);
    min-height: calc(100vh - 58px);
}
.dh {
    margin-bottom: 20px;
}
.dtitle {
    font-size: 18px;
    font-weight: 500;
    color: var(--ink);
}
.dsub {
    font-size: 13px;
    color: var(--ink3);
    margin-top: 3px;
}
.mrow {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-bottom: 20px;
}
.mc {
    background: var(--wh);
    border-radius: 10px;
    padding: 14px 16px;
    border: 1px solid var(--ln);
}
.mcn {
    font-family: var(--fd);
    font-size: 26px;
    color: var(--ink);
    margin-bottom: 2px;
}
.mcl {
    font-size: 11px;
    color: var(--ink3);
}
/* SUPPLIER GRID */
.sgrid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
.scard {
    border: 1px solid var(--ln);
    border-radius: 10px;
    padding: 14px;
    cursor: pointer;
    background: var(--wh);
    transition: border-color 0.15s;
}
.scard:hover {
    border-color: var(--bm);
}
.sctop {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 4px;
}
.scn {
    font-size: 13px;
    font-weight: 500;
    color: var(--ink);
}
.sccat {
    font-size: 11px;
    color: var(--ink3);
    margin-bottom: 6px;
}
.sctags {
    display: flex;
    gap: 3px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}
.sctag {
    font-size: 10px;
    padding: 2px 7px;
    border-radius: 6px;
    background: var(--sf);
    color: var(--ink3);
    border: 1px solid var(--ln);
}
.scfoot {
    display: flex;
    justify-content: space-between;
    padding-top: 8px;
    border-top: 1px solid var(--ln);
}
.scmoq {
    font-size: 11px;
    color: var(--ink3);
}
.scrat {
    font-size: 11px;
    color: var(--am);
    font-weight: 500;
}
/* Supplier directory cards */
.scard--supplier {
    padding: 0;
    cursor: default;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.scard--supplier:hover {
    border-color: var(--bm);
    box-shadow: 0 2px 10px rgba(26, 63, 191, 0.06);
}
.scard-hd {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 10px 12px 0;
    flex-shrink: 0;
}
.scard-body {
    display: block;
    color: inherit;
    padding: 8px 14px 14px;
    flex: 1;
    min-width: 0;
}
.scard-body:hover {
    color: inherit;
}
.scard--supplier .scn {
    display: block;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.35;
    margin-bottom: 2px;
    padding-right: 4px;
}
.scard--supplier .sccat {
    margin-bottom: 8px;
    line-height: 1.4;
}
.scard--supplier .sctags--cats {
    margin-bottom: 6px;
}
.scard--supplier .sctags--certs {
    margin-bottom: 10px;
}
.sctag--cert {
    background: var(--gnl);
    color: var(--gn);
    border-color: var(--gnlt);
}
.sctag--muted {
    font-style: italic;
}
.scard--empty {
    grid-column: 1 / -1;
    cursor: default;
    padding: 18px;
    text-align: center;
}
.scard--empty:hover {
    border-color: var(--ln);
    box-shadow: none;
}
.sgrid--favorites {
    margin-top: 18px;
}
/* Favorite toggle */
.btn-fav {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    margin: 0;
    border: 1px solid var(--ln);
    border-radius: 8px;
    background: var(--wh);
    color: var(--ink3);
    cursor: pointer;
    transition: color 0.15s, border-color 0.15s, background 0.15s, box-shadow 0.15s, transform 0.1s;
}
.btn-fav__icon {
    width: 16px;
    height: 16px;
    display: block;
    fill: currentColor;
    transition: transform 0.15s;
}
.btn-fav:hover {
    color: var(--am);
    border-color: var(--amlt);
    background: var(--aml);
}
.btn-fav:focus-visible {
    outline: 2px solid var(--bmlt);
    outline-offset: 2px;
}
.btn-fav.on {
    color: var(--am);
    border-color: #e8c878;
    background: #fff9eb;
}
.btn-fav.on .btn-fav__icon {
    transform: scale(1.05);
}
.btn-fav:active {
    transform: scale(0.96);
}
.ri-actions {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-shrink: 0;
}
/* RFQ LIST */
.rlist {
    display: flex;
    flex-direction: column;
    gap: 9px;
}
.ri {
    border: 1px solid var(--ln);
    border-radius: 10px;
    padding: 13px 14px;
    background: var(--wh);
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
    cursor: pointer;
    transition: border-color 0.15s;
}
.ri:hover {
    border-color: var(--bmlt);
}
.ri.rnew {
    border-left: 3px solid var(--gn);
}
.ri.rpnd {
    border-left: 3px solid var(--am);
}
.ri.racc {
    border-left: 3px solid var(--bm);
}
.ritn {
    font-size: 13px;
    font-weight: 500;
    color: var(--ink);
    margin-bottom: 3px;
}
.ridet {
    font-size: 11px;
    color: var(--ink3);
    margin-bottom: 5px;
}
.ritags {
    display: flex;
    gap: 3px;
    flex-wrap: wrap;
}
.ritag {
    font-size: 10px;
    padding: 2px 6px;
    border-radius: 6px;
    background: var(--sf);
    color: var(--ink3);
    border: 1px solid var(--ln);
}
.rima {
    text-align: right;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 5px;
}
.ridate {
    font-size: 10px;
    color: var(--ink3);
}
/* ESCROW ITEMS */
.elist {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.eitem {
    background: var(--wh);
    border: 1px solid var(--ln);
    border-radius: 16px;
    padding: 16px 18px;
}
.eitem.edis {
    border-left: 3px solid var(--re);
}
.eitop {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 10px;
}
.eititl {
    font-size: 13px;
    font-weight: 500;
    color: var(--ink);
    margin-bottom: 3px;
}
.eipar {
    font-size: 11px;
    color: var(--ink3);
}
.eiamt {
    font-family: var(--fd);
    font-size: 18px;
    color: var(--ink);
    text-align: right;
}
.eiprog {
    height: 4px;
    background: var(--ln);
    border-radius: 2px;
    margin-bottom: 7px;
    overflow: hidden;
}
.ebar {
    height: 4px;
    border-radius: 2px;
}
.eb-b {
    background: var(--bm);
}
.eb-g {
    background: var(--gn);
}
.eb-a {
    background: var(--am);
}
.eb-r {
    background: var(--re);
}
.eisteps {
    display: flex;
    justify-content: space-between;
    font-size: 10px;
    color: var(--ink3);
    margin-bottom: 12px;
}
.eisteps span.ed {
    color: var(--gn);
    font-weight: 500;
}
.eisteps span.ea {
    color: var(--bm);
    font-weight: 500;
}
.eifoot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 10px;
    border-top: 1px solid var(--ln);
}
.eiact {
    display: flex;
    gap: 6px;
}
/* MESSAGING */
.mlayout {
    display: grid;
    grid-template-columns: 280px 1fr;
    height: calc(100vh - 58px);
    background: var(--wh);
}
.msb {
    border-right: 1px solid var(--ln);
    display: flex;
    flex-direction: column;
}
.msbh {
    padding: 0;
    border-bottom: 1px solid var(--ln);
    display: flex;
    flex-direction: column;
    background: var(--wh);
    flex-shrink: 0;
}
.msbh-top {
    padding: 12px 14px 10px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.msbh-back {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    align-self: flex-start;
    font-size: 12px;
    font-weight: 600;
    color: var(--ink3);
    padding: 4px 8px 4px 4px;
    margin: -4px 0 0 -4px;
    border-radius: 8px;
    transition: color 0.15s, background 0.15s;
}
.msbh-back:hover {
    color: var(--bm);
    background: var(--bml);
}
.msbh-back-icon {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}
.msbh-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-width: 0;
}
.msbht {
    margin: 0;
    font-family: var(--fd);
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.25;
    color: var(--ink);
    letter-spacing: -0.02em;
}
.msbh-pill {
    flex-shrink: 0;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--bm);
    background: var(--bml);
    border: 1px solid rgba(26, 63, 191, 0.12);
    padding: 4px 8px;
    border-radius: 999px;
}
.msbh-toolbar {
    padding: 0 14px 14px;
    border-top: 1px solid var(--ln);
    background: var(--sf);
}
.msbh-toolbar-label {
    padding-top: 10px;
    margin-bottom: 8px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--ink3);
}
.msbh-new-form {
    display: flex;
    gap: 8px;
    align-items: stretch;
}
.msbh-new-field {
    flex: 1;
    min-width: 0;
}
.msbh-new-input {
    width: 100%;
    height: 100%;
    min-height: 36px;
    padding: 8px 12px;
    border-radius: 8px;
    border: 1px solid var(--ln);
    background: var(--wh);
    font-size: 13px;
    color: var(--ink);
    font-family: var(--fb);
    transition: border-color 0.15s, box-shadow 0.15s;
}
.msbh-new-input::placeholder {
    color: var(--ink3);
}
.msbh-new-input:focus {
    outline: none;
    border-color: var(--bm);
    box-shadow: 0 0 0 3px rgba(26, 63, 191, 0.12);
}
.msbh-new-btn {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding-left: 12px;
    padding-right: 12px;
    white-space: nowrap;
}
.msbh-new-btn-icon {
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
}
.msbh-toolbar-error {
    margin: 8px 0 0;
    font-size: 11px;
    font-weight: 500;
    color: #b45309;
}
#pg-messaging .mlayout {
    grid-template-columns: minmax(272px, 300px) 1fr;
}
.mconvs {
    flex: 1;
    overflow-y: auto;
}
.mconv {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 16px;
    cursor: pointer;
    border-bottom: 0.5px solid var(--ln);
    transition: background 0.12s;
}
.mconv:hover {
    background: var(--sf);
}
.mconv.on {
    background: var(--bml);
}
.mava {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 500;
    flex-shrink: 0;
}
.av-b {
    background: var(--bml);
    color: var(--bm);
}
.av-g {
    background: var(--gnl);
    color: var(--gn);
}
.av-p {
    background: var(--pul);
    color: var(--pu);
}
.av-n {
    background: var(--sf);
    color: var(--ink3);
    border: 1px solid var(--ln);
}
.mcni {
    flex: 1;
    min-width: 0;
}
.mcnn {
    font-size: 13px;
    font-weight: 500;
    color: var(--ink);
}
.mcnp {
    font-size: 11px;
    color: var(--ink3);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 170px;
}
.mcnm {
    text-align: right;
    flex-shrink: 0;
}
.mcnt {
    font-size: 10px;
    color: var(--ink3);
}
.munread {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--bm);
    margin: 3px 0 0 auto;
}
.mmain {
    display: flex;
    flex-direction: column;
}
.mmh {
    padding: 14px 20px;
    border-bottom: 1px solid var(--ln);
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--wh);
}
.mmhn {
    font-size: 14px;
    font-weight: 500;
    color: var(--ink);
}
.mmhs {
    font-size: 11px;
    color: var(--ink3);
}
.mbody {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    background: var(--sf);
}
.mbw {
    display: flex;
    flex-direction: column;
    max-width: 68%;
}
.mbw.them {
    align-self: flex-start;
}
.mbw.us {
    align-self: flex-end;
}
.mbb {
    padding: 10px 14px;
    border-radius: 10px;
    font-size: 13px;
    line-height: 1.6;
}
.them .mbb {
    background: var(--wh);
    color: var(--ink);
    border: 1px solid var(--ln);
}
.us .mbb {
    background: var(--bm);
    color: #fff;
}
.mts {
    font-size: 10px;
    color: var(--ink3);
    padding: 3px 4px;
}
.us .mts {
    text-align: right;
}
.msys {
    text-align: center;
    font-size: 11px;
    color: var(--ink3);
    padding: 4px 0;
}
.mfoot {
    padding: 14px 16px;
    border-top: 1px solid var(--ln);
    display: flex;
    gap: 8px;
    background: var(--wh);
}
.minp {
    flex: 1;
    padding: 9px 14px;
    border-radius: 8px;
    border: 1px solid var(--ln);
    background: var(--wh);
    font-size: 13px;
    color: var(--ink);
    font-family: var(--fb);
}
.minp:focus {
    outline: none;
    border-color: var(--bm);
}
/* SUPPLIER PROFILE MODAL */
.sp-modal {
    position: fixed;
    inset: 0;
    z-index: 1050;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 32px 20px;
    overflow-y: auto;
}
.sp-modal[hidden] {
    display: none !important;
}
.sp-modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.42);
    cursor: pointer;
}
.sp-modal-wrap {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
}
.sp-modal-card {
    position: relative;
    background: var(--wh);
    border: 1px solid var(--ln);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.14);
}
.sp-modal-loading {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: rgba(255, 255, 255, 0.92);
    font-size: 13px;
    color: var(--ink3);
}
.sp-modal-loading[hidden] {
    display: none !important;
}
.sp-modal-spinner {
    width: 22px;
    height: 22px;
    border: 2px solid var(--ln);
    border-top-color: var(--bm);
    border-radius: 50%;
    animation: sp-spin 0.7s linear infinite;
}
@keyframes sp-spin {
    to {
        transform: rotate(360deg);
    }
}
.sp-modal-error {
    padding: 48px 24px;
    text-align: center;
    font-size: 14px;
    color: var(--ink3);
}
.sp-panel .prhero {
    border-bottom: 1px solid var(--ln);
}
.sp-panel-body {
    padding: 28px 0 36px;
}
.sp-pr-actions {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-shrink: 0;
}
.sp-pr-actions .btn-fav {
    width: 38px;
    height: 38px;
    border-radius: 8px;
}
.sp-pr-actions .btn-fav__icon {
    width: 17px;
    height: 17px;
}
.sp-side-stack {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 20px;
}
.sp-response-time {
    padding: 14px 16px;
    background: var(--gnl);
    border: 1px solid var(--gnlt);
    border-radius: 10px;
}
.sp-response-time__label {
    font-size: 12px;
    font-weight: 500;
    color: var(--gn);
    margin-bottom: 4px;
}
.sp-response-time__text {
    font-size: 13px;
    color: #085041;
}
.sp-location-block {
    margin-top: 0;
}
.sp-map-embed {
    border: 1px solid var(--ln);
    border-radius: 10px;
    overflow: hidden;
    background: var(--sf);
    line-height: 0;
}
.sp-map-iframe {
    display: block;
    width: 100%;
    height: 280px;
    border: 0;
}
.sp-map--empty {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 160px;
    padding: 16px;
    text-align: center;
    font-size: 13px;
    color: var(--ink3);
    border: 1px solid var(--ln);
    border-radius: 10px;
    background: var(--sf);
}
body.sp-modal-open {
    overflow: hidden;
}
@media (max-width: 768px) {
    .sp-modal {
        padding: 12px 10px;
    }
    .sp-panel [style*="display:flex"][style*="gap:24px"] {
        flex-direction: column !important;
    }
    .sp-panel [style*="flex-shrink:0"] {
        width: 100%;
    }
    .sp-panel [style*="flex-shrink:0"] .btn {
        flex: 1;
    }
}

/* SUPPLIER PROFILE */
.prhero {
    background: var(--sf);
    border-bottom: 1px solid var(--ln);
    padding: 40px 0;
}
.prlogo {
    width: 72px;
    height: 72px;
    border-radius: 14px;
    background: var(--bml);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--fd);
    font-size: 24px;
    color: var(--bm);
    flex-shrink: 0;
    border: 1px solid var(--bmlt);
}
.prname {
    font-family: var(--fd);
    font-size: 28px;
    color: var(--ink);
    margin-bottom: 4px;
    letter-spacing: -0.01em;
}
.prloc {
    font-size: 14px;
    color: var(--ink3);
    margin-bottom: 10px;
}
.prstats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    background: var(--ln);
    border-radius: 10px;
    overflow: hidden;
    margin-top: 20px;
}
.prstats--dynamic {
    grid-template-columns: repeat(var(--sp-stat-cols, 4), 1fr);
}
.sp-badges {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 4px;
}
.sp-badge {
    font-size: 11px;
    font-weight: 500;
    padding: 4px 12px;
    border-radius: 20px;
}
.sp-badge--verified {
    background: var(--gnl);
    color: var(--gn);
    border: 1px solid var(--gnlt);
}
.sp-badge--cert {
    background: var(--sf);
    color: var(--ink2);
    border: 1px solid var(--ln);
}
.sp-facts-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 20px;
}
.sp-factory-photos {
    margin-top: 20px;
}
.sp-factory-photos__grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.sp-factory-photos__grid img {
    width: 88px;
    height: 88px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid var(--ln);
}
.sp-cap-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.sp-cap-list li {
    padding: 9px 0;
    border-bottom: 1px solid var(--ln);
    font-size: 13px;
    color: var(--ink2);
    display: flex;
    gap: 10px;
    align-items: flex-start;
}
.sp-cap-list li:last-child {
    border-bottom: none;
}
.sp-cap-check {
    color: var(--gn);
    font-weight: 500;
    flex-shrink: 0;
}
.prst {
    background: var(--wh);
    padding: 14px 16px;
    text-align: center;
}
.prsn {
    font-family: var(--fd);
    font-size: 22px;
    color: var(--ink);
    margin-bottom: 2px;
}
.prsl {
    font-size: 11px;
    color: var(--ink3);
}
.ptabs {
    display: flex;
    gap: 2px;
    border-bottom: 1px solid var(--ln);
    margin-bottom: 28px;
}
.ptab {
    font-size: 13px;
    color: var(--ink3);
    padding: 9px 16px;
    cursor: pointer;
    border: none;
    background: transparent;
    font-family: var(--fb);
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
}
.ptab.on {
    color: var(--bm);
    border-bottom-color: var(--bm);
    font-weight: 500;
}
.ptab:hover {
    color: var(--ink);
}
.prodgrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}
.prodcard {
    border: 1px solid var(--ln);
    border-radius: 10px;
    overflow: hidden;
    cursor: pointer;
    background: var(--wh);
}
.prodimg {
    height: 110px;
    background: var(--sf);
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 1px solid var(--ln);
    position: relative;
}
.prod-carousel {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.prod-carousel__track {
    display: flex;
    width: 100%;
    height: 100%;
    transition: transform 0.28s ease;
}
.prod-carousel__slide {
    flex: 0 0 100%;
    width: 100%;
    height: 100%;
    min-width: 100%;
}
.prod-carousel__slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.prod-carousel__btn {
    position: absolute;
    top: 50%;
    z-index: 2;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92);
    color: var(--ink);
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 1px 6px rgba(15, 23, 42, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
}
.prod-carousel__btn:hover {
    background: var(--wh);
}
.prod-carousel__btn--prev {
    left: 6px;
}
.prod-carousel__btn--next {
    right: 6px;
}
.prod-carousel__dots {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 6px;
    z-index: 2;
    display: flex;
    justify-content: center;
    gap: 5px;
}
.prod-carousel__dot {
    width: 6px;
    height: 6px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.55);
    cursor: pointer;
}
.prod-carousel__dot.is-active {
    background: var(--wh);
    box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.2);
}
.prodimg > svg {
    flex-shrink: 0;
}
.prodimg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.prodimg svg {
    width: 32px;
    height: 32px;
    stroke: var(--ink3);
    stroke-width: 1.2;
    fill: none;
}
.sp-products-empty {
    grid-column: 1 / -1;
    padding: 32px 16px;
    text-align: center;
    font-size: 13px;
    color: var(--ink3);
    border: 1px dashed var(--ln);
    border-radius: 10px;
    background: var(--sf);
}
.mfr-product-form-card {
    margin-top: 18px;
}
.mfr-product-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.mfr-product-item {
    display: grid;
    grid-template-columns: minmax(0, 200px) 1fr;
    gap: 20px;
    align-items: start;
}
.mfr-product-item__thumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.mfr-product-item__thumbs img {
    width: 72px;
    height: 72px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid var(--ln);
}
.mfr-product-item__actions {
    margin-top: 8px;
}
.mfr-product-delete-form {
    margin-top: 10px;
}
@media (max-width: 768px) {
    .mfr-product-item {
        grid-template-columns: 1fr;
    }
}
.prodinf {
    padding: 12px;
}
.prodn {
    font-size: 13px;
    font-weight: 500;
    color: var(--ink);
    margin-bottom: 3px;
}
.prodm {
    font-size: 11px;
    color: var(--ink3);
}
.certgrid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}
.certcard {
    border: 1px solid var(--ln);
    border-radius: 10px;
    padding: 14px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: var(--wh);
}
.certic {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.certic.v {
    background: var(--gnl);
}
.certic.v svg {
    stroke: var(--gn);
}
.certic svg {
    width: 16px;
    height: 16px;
    stroke-width: 1.8;
    fill: none;
    stroke-linecap: round;
}
.certn {
    font-size: 13px;
    font-weight: 500;
    color: var(--ink);
    margin-bottom: 2px;
}
.certe {
    font-size: 11px;
    color: var(--gn);
    font-weight: 500;
}
/* RFQ FORM */
.fsec {
    background: var(--wh);
    border: 1px solid var(--ln);
    border-radius: 16px;
    padding: 20px 22px;
    margin-bottom: 14px;
}
.fsect {
    font-size: 14px;
    font-weight: 500;
    color: var(--ink);
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--ln);
}
.fgd {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.fgd .fsel {
    width: 100%;
}
.ffl {
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.flab {
    font-size: 11px;
    font-weight: 500;
    color: var(--ink3);
    letter-spacing: 0.03em;
}
.finp,
.fsel,
.fta {
    padding: 9px 12px;
    border-radius: 8px;
    border: 1px solid var(--ln);
    background: var(--wh);
    font-size: 13px;
    color: var(--ink);
    font-family: var(--fb);
    transition: border-color 0.15s;
}
.finp:focus,
.fsel:focus,
.fta:focus {
    outline: none;
    border-color: var(--bm);
}
.fta {
    height: 80px;
    resize: vertical;
}
.fful {
    grid-column: 1/-1;
}
.ssgrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}
.ssc {
    border: 1px solid var(--ln);
    border-radius: 10px;
    padding: 12px;
    cursor: pointer;
    transition: all 0.15s;
    background: var(--wh);
}
.ssc:hover {
    border-color: var(--bmlt);
}
.ssc.sel {
    border-color: var(--bm);
    background: var(--bml);
}
.sscn {
    font-size: 12px;
    font-weight: 500;
    color: var(--ink);
    margin-bottom: 2px;
}
.sscc {
    font-size: 10px;
    color: var(--ink3);
}
.ssch {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 1.5px solid var(--ln);
    margin-left: auto;
    margin-top: 6px;
    transition: all 0.15s;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ssc.sel .ssch {
    background: var(--bm);
    border-color: var(--bm);
}
.ssc.sel .ssch::after {
    content: "checkmark";
    content: "✓";
    font-size: 9px;
    color: #fff;
    font-weight: 500;
}
.qcmp {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-top: 20px;
}
.qcard {
    border: 1px solid var(--ln);
    border-radius: 16px;
    overflow: hidden;
    background: var(--wh);
}
.qcard.best {
    border-color: var(--gn);
    border-width: 2px;
}
.qch {
    padding: 14px 16px;
    border-bottom: 1px solid var(--ln);
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.qcn {
    font-size: 13px;
    font-weight: 500;
    color: var(--ink);
}
.qcbody {
    padding: 14px 16px;
}
.qcr {
    display: flex;
    justify-content: space-between;
    padding: 6px 0;
    border-bottom: 0.5px solid var(--ln);
    font-size: 12px;
}
.qcr:last-child {
    border-bottom: none;
}
.qcl {
    color: var(--ink3);
}
.qcv {
    font-weight: 500;
    color: var(--ink);
}
.qcpbig {
    font-family: var(--fd);
    font-size: 28px;
    color: var(--ink);
    margin-bottom: 4px;
    letter-spacing: -0.01em;
}
.qcfoot {
    padding: 12px 16px;
    border-top: 1px solid var(--ln);
}
/* ESCROW CENTER */
.emr {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-bottom: 20px;
}
.etabs {
    display: flex;
    gap: 6px;
    margin-bottom: 16px;
}
.etab {
    font-size: 12px;
    font-weight: 500;
    padding: 5px 14px;
    border-radius: 20px;
    border: 1px solid var(--ln);
    background: var(--sf);
    color: var(--ink3);
    cursor: pointer;
    font-family: var(--fb);
}
.etab.op {
    background: var(--pul);
    color: var(--pu);
    border-color: var(--pult);
}
.etab.ob {
    background: var(--bml);
    color: var(--bm);
    border-color: var(--bmlt);
}
/* MILESTONE */
.mst {
    background: var(--sf);
    border-radius: 16px;
    padding: 20px;
    border: 1px solid var(--ln);
    margin-bottom: 20px;
}
.mstt {
    font-size: 12px;
    font-weight: 500;
    color: var(--ink);
    margin-bottom: 18px;
}
.mstps {
    display: flex;
    gap: 0;
    align-items: flex-start;
}
.msp {
    flex: 1;
    text-align: center;
    position: relative;
}
.mspln {
    position: absolute;
    top: 17px;
    left: 50%;
    width: 100%;
    height: 2px;
    background: var(--ln);
    z-index: 0;
}
.mspln.d {
    background: var(--gn);
}
.mspln.a {
    background: var(--pu);
}
.mspdot {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    margin: 0 auto 7px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 500;
    position: relative;
    z-index: 1;
}
.dotd {
    background: var(--gn);
    color: #fff;
}
.dota {
    background: var(--pu);
    color: #fff;
}
.dott {
    background: var(--wh);
    color: var(--ink3);
    border: 1.5px solid var(--ln);
}
.msplbl {
    font-size: 10px;
    color: var(--ink3);
    line-height: 1.4;
}
.msplbl.dl {
    color: var(--gn);
    font-weight: 500;
}
.msplbl.al {
    color: var(--pu);
    font-weight: 500;
}
.mspa {
    font-size: 9px;
    color: var(--ink3);
    margin-top: 2px;
}
/* ACTORS */
.arow {
    display: grid;
    grid-template-columns: 1fr 44px 1fr 44px 1fr;
    gap: 0;
    align-items: stretch;
    background: var(--sf);
    border-radius: 16px;
    padding: 24px;
    border: 1px solid var(--ln);
    margin-bottom: 20px;
}
.abox {
    text-align: center;
    padding: 6px;
}
.abic {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    margin: 0 auto 9px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.abic-b {
    background: var(--bml);
}
.abic-b svg {
    stroke: var(--bm);
}
.abic-p {
    background: var(--pul);
}
.abic-p svg {
    stroke: var(--pu);
}
.abic-g {
    background: var(--gnl);
}
.abic-g svg {
    stroke: var(--gn);
}
.abic svg {
    width: 20px;
    height: 20px;
    stroke-width: 1.8;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.abn {
    font-size: 13px;
    font-weight: 500;
    color: var(--ink);
    margin-bottom: 3px;
}
.abr {
    font-size: 11px;
    color: var(--ink3);
    line-height: 1.5;
}
.arrc {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
}
.arrt {
    font-size: 9px;
    color: var(--ink3);
    text-align: center;
    line-height: 1.3;
}
.arrs {
    font-size: 18px;
    color: var(--ink3);
}
/* ANALOGY */
.anacard {
    background: var(--pul);
    border: 1px solid var(--pult);
    border-radius: 16px;
    padding: 22px 26px;
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 16px;
    align-items: start;
    margin-bottom: 28px;
}
.anaic {
    width: 40px;
    height: 40px;
    border-radius: 9px;
    background: var(--pu);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.anaic svg {
    width: 20px;
    height: 20px;
    stroke: #fff;
    stroke-width: 1.8;
    fill: none;
    stroke-linecap: round;
}
.anat {
    font-size: 13px;
    font-weight: 500;
    color: #26215c;
    margin-bottom: 5px;
}
.anab {
    font-size: 13px;
    color: #534ab7;
    line-height: 1.7;
}
/* DISPUTE */
.disbox {
    background: var(--rel);
    border: 1px solid #f7c1c1;
    border-radius: 16px;
    padding: 20px;
}
.dist {
    font-size: 13px;
    font-weight: 500;
    color: #791f1f;
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    gap: 7px;
}
.dist svg {
    width: 15px;
    height: 15px;
    stroke: #aa2e1f;
    stroke-width: 1.8;
    fill: none;
    stroke-linecap: round;
}
.dissteps {
    display: flex;
    flex-direction: column;
    gap: 9px;
}
.diss {
    display: flex;
    gap: 10px;
    align-items: flex-start;
}
.dissn {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--re);
    color: #fff;
    font-size: 10px;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 1px;
}
.disst {
    font-size: 12px;
    color: #791f1f;
    line-height: 1.6;
}
/* LOYALTY */
.loyg {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}
.loyc {
    border-radius: 16px;
    padding: 18px;
    border: 1px solid var(--ln);
    background: var(--wh);
}
.loyc.feat {
    border-color: var(--pult);
    background: var(--pul);
}
.loyt {
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 0.06em;
    margin-bottom: 5px;
    color: var(--ink3);
}
.loyc.feat .loyt {
    color: var(--pu);
}
.loyr {
    font-family: var(--fd);
    font-size: 30px;
    color: var(--ink);
    margin-bottom: 4px;
    letter-spacing: -0.02em;
}
.loyc.feat .loyr {
    color: var(--pu);
}
.loycd {
    font-size: 11px;
    color: var(--ink3);
    margin-bottom: 10px;
    line-height: 1.5;
}
.loybt {
    height: 3px;
    background: var(--ln);
    border-radius: 2px;
    overflow: hidden;
}
.loybf {
    height: 3px;
    border-radius: 2px;
    background: var(--pu);
}
/* PRICING */
.priceg {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}
.pricec {
    border-radius: 16px;
    padding: 24px;
    border: 1.5px solid var(--ln);
    background: var(--wh);
    position: relative;
}
.pricec.feat {
    border-color: var(--bm);
}
.pricetb {
    position: absolute;
    top: -11px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--bm);
    color: #fff;
    font-size: 10px;
    font-weight: 500;
    padding: 3px 12px;
    border-radius: 20px;
    white-space: nowrap;
}
.pricetr {
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 0.07em;
    color: var(--ink3);
    margin-bottom: 7px;
}
.pricenm {
    font-family: var(--fd);
    font-size: 20px;
    color: var(--ink);
    margin-bottom: 4px;
}
.priceam {
    font-family: var(--fd);
    font-size: 34px;
    color: var(--ink);
    letter-spacing: -0.02em;
    margin-bottom: 3px;
}
.priceam span {
    font-family: var(--fb);
    font-size: 13px;
    color: var(--ink3);
    font-weight: 400;
}
.priced {
    font-size: 12px;
    color: var(--ink3);
    margin-bottom: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--ln);
}
.pricefs {
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 9px;
}
.pricefs li {
    font-size: 12px;
    color: var(--ink2);
    display: flex;
    gap: 7px;
    line-height: 1.5;
}
.pricefs li::before {
    content: "\2713";
    color: var(--gn);
    font-weight: 500;
    flex-shrink: 0;
    margin-top: 1px;
}
.pricecta {
    margin-top: 20px;
    width: 100%;
}
/* FAQ */
.faqlist {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.faqi {
    padding: 16px 0;
    border-bottom: 1px solid var(--ln);
    cursor: pointer;
}
.faqq {
    font-size: 14px;
    font-weight: 500;
    color: var(--ink);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
}
.faqic {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--sf);
    border: 1px solid var(--ln);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 13px;
    color: var(--ink3);
    transition: all 0.18s;
}
.faqi.open .faqic {
    background: var(--bm);
    color: #fff;
    border-color: var(--bm);
    transform: rotate(45deg);
}
.faqa {
    font-size: 13px;
    color: var(--ink2);
    line-height: 1.7;
    margin-top: 11px;
    display: none;
}
.faqi.open .faqa {
    display: block;
}
/* COMP TABLE */
.ctbl {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}
.ctbl th {
    padding: 11px 18px;
    font-weight: 500;
    background: var(--sf);
    border-bottom: 2px solid var(--ln);
    text-align: left;
}
.ctbl th.cbm {
    background: var(--bml);
    color: var(--bm);
}
.ctbl td {
    padding: 11px 18px;
    border-bottom: 1px solid var(--ln);
    color: var(--ink2);
}
.ctbl td.ck {
    color: var(--gn);
    font-weight: 500;
}
.ctbl td.cx {
    color: var(--re);
}
.ctbl td.cbm {
    background: var(--bml);
}
/* SEARCH */
.srow2 {
    display: flex;
    gap: 8px;
    margin-bottom: 14px;
}
.sinp {
    flex: 1;
    padding: 9px 14px;
    border-radius: 8px;
    border: 1px solid var(--ln);
    background: var(--wh);
    font-size: 13px;
    color: var(--ink);
    font-family: var(--fb);
}
.sinp:focus {
    outline: none;
    border-color: var(--bm);
}
.fchips {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}
.chip {
    font-size: 11px;
    padding: 4px 10px;
    border-radius: 20px;
    border: 1px solid var(--ln);
    color: var(--ink3);
    cursor: pointer;
    background: var(--wh);
}
.chip.ob {
    background: var(--bml);
    color: var(--bm);
    border-color: var(--bmlt);
}
.chip.og {
    background: var(--gnl);
    color: var(--gn);
    border-color: var(--gnlt);
}
/* TRUST / PROTECTION */
.trgrid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}
.trc {
    background: var(--sf);
    border-radius: 10px;
    padding: 16px;
    border: 1px solid var(--ln);
}
.trcn {
    font-size: 13px;
    font-weight: 500;
    color: var(--ink);
    margin-bottom: 4px;
}
.trcd {
    font-size: 12px;
    color: var(--ink3);
    line-height: 1.5;
}
.protg {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}
.protc {
    border-radius: 16px;
    padding: 20px;
}
.prot-b {
    background: var(--bml);
    border: 1px solid var(--bmlt);
}
.prot-g {
    background: var(--gnl);
    border: 1px solid var(--gnlt);
}
.prott {
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 12px;
}
.prot-b .prott {
    color: #042c53;
}
.prot-g .prott {
    color: #04342c;
}
.protl {
    list-style: none;
    padding: 0;
}
.protl li {
    font-size: 12px;
    padding: 5px 0;
    display: flex;
    gap: 7px;
    line-height: 1.6;
}
.prot-b .protl li {
    color: #0c447c;
}
.prot-g .protl li {
    color: #085041;
}
.protl li::before {
    content: "\2713";
    font-weight: 500;
    color: var(--gn);
    flex-shrink: 0;
}
/* FOOTER */
.footer {
    background: var(--sf);
    border-top: 1px solid var(--ln);
    padding: 44px 0 28px;
}
.footg {
    display: grid;
    grid-template-columns: minmax(0, 2fr) repeat(var(--foot-cols, 3), minmax(0, 1fr));
    gap: 40px;
    margin-bottom: 40px;
}
.footg > div {
    min-width: 0;
}
.footdesc {
    font-size: 13px;
    color: var(--ink3);
    line-height: 1.7;
    max-width: 240px;
    margin-top: 12px;
}
.foot-social {
    margin-top: 18px;
}
.foot-social__label {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: var(--ink);
    margin-bottom: 10px;
}
.foot-social__links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.foot-social__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    border: 1px solid var(--ln);
    background: var(--wh);
    color: var(--ink2);
    text-decoration: none;
    transition: background 0.15s, color 0.15s, border-color 0.15s, transform 0.15s;
}
.foot-social__link:hover {
    background: var(--bm);
    border-color: var(--bm);
    color: #fff;
    transform: translateY(-1px);
}
.foot-social__link .bi {
    font-size: 16px;
    line-height: 1;
}
.footct {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: var(--ink);
    margin-bottom: 12px;
}
.footlinks {
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 7px;
}
.footlinks li a,
.footlinks li span {
    font-size: 13px;
    color: var(--bm);
    cursor: pointer;
    transition: color 0.15s;
}
.footlinks li a:hover,
.footlinks li span:hover {
    color: var(--ink);
}
.footbot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 20px;
    border-top: 1px solid var(--ln);
}
.footcopy {
    font-size: 12px;
    color: var(--ink3);
}
.foottags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.foottag {
    font-size: 10px;
    font-weight: 500;
    padding: 3px 9px;
    border-radius: 6px;
    background: var(--wh);
    border: 1px solid var(--ln);
    color: var(--ink3);
}
@keyframes pulse {
    0%,
    100% {
        opacity: 1;
    }
    50% {
        opacity: 0.4;
    }
}

/* Marketing / static page shells (avoid inline layout) */
.hero-home {
    padding: 76px 0 60px;
    position: relative;
    overflow: hidden;
}
.hero-home__bg {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, var(--bml) 0%, var(--wh) 55%);
    opacity: 0.55;
    z-index: 0;
}
.hero-home__inner {
    position: relative;
    z-index: 1;
}
.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 500;
    padding: 4px 13px;
    border-radius: 20px;
    background: var(--bm);
    color: #fff;
    margin-bottom: 22px;
}
.hero-badge__dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.6);
    animation: pulse 2s infinite;
    display: inline-block;
}
.hero-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 28px;
    padding-top: 28px;
    margin-top: 28px;
    border-top: 1px solid var(--ln);
}
.hero-stat-num {
    font-family: var(--fd);
    font-size: 26px;
    color: var(--ink);
    letter-spacing: -0.02em;
}
.page-hero {
    padding: 60px 0;
    border-bottom: 1px solid var(--ln);
}
.page-hero--bml {
    background: var(--bml);
    border-bottom-color: var(--bmlt);
}
.page-hero--gnl {
    background: var(--gnl);
    border-bottom-color: var(--gnlt);
}
.page-hero--sf {
    background: var(--sf);
}
.page-hero--about {
    background: var(--bml);
    border-bottom-color: var(--bmlt);
    padding: 68px 0;
}
.section-intro {
    text-align: center;
    margin-bottom: 44px;
}
.dark-quote {
    max-width: 660px;
    margin: 0 auto;
    text-align: center;
}
.dark-quote__text {
    font-family: var(--fd);
    font-size: clamp(18px, 2.5vw, 26px);
    color: #fff;
    line-height: 1.45;
    margin-bottom: 18px;
    font-style: italic;
}
.dark-quote__meta {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.45);
}
.dark-quote__meta strong {
    color: rgba(255, 255, 255, 0.75);
}
.cta-lead {
    color: rgba(255, 255, 255, 0.72);
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
.cta-lead--sm {
    margin-bottom: 26px;
}
.cta-lead--md {
    margin-bottom: 28px;
}
.stat-xl {
    font-family: var(--fd);
    font-size: 38px;
    color: var(--bm);
    margin-bottom: 7px;
}
.stat-xl--pu {
    color: var(--pu);
}
.stat-xl--am {
    color: var(--am);
}
.stat-xl--gn {
    color: var(--gn);
}
.stat-xl--md {
    font-size: 30px;
}
.problem-list {
    list-style: none;
    padding: 0;
    margin: 0;
    border-top: 1px solid var(--ln);
}
.problem-list li {
    padding: 10px 0;
    border-bottom: 1px solid var(--ln);
    font-size: 13px;
    color: var(--ink2);
    display: flex;
    gap: 10px;
}
.problem-list__mark {
    color: var(--re);
    font-weight: 500;
    flex-shrink: 0;
}
.grid-2-tight {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}
.grid-3-tight {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 13px;
}
.priceg-narrow {
    max-width: 640px;
    margin-left: 0;
}
.hr-spaced {
    margin: 56px 0;
}
.prose-narrow {
    max-width: 700px;
    margin-bottom: 52px;
}
.timeline-wrap {
    max-width: 580px;
    margin-left: auto;
    margin-right: auto;
}
.about-card-icon {
    font-size: 22px;
    margin-bottom: 9px;
    line-height: 1;
}
.about-value-desc {
    font-size: 13px;
}
.about-card-title {
    font-size: 15px;
    font-weight: 500;
    color: var(--ink);
    margin-bottom: 5px;
}
.about-quote-band {
    background: var(--ink);
    padding: 60px 0;
    text-align: center;
}
.about-quote-band__text {
    font-family: var(--fd);
    font-size: clamp(17px, 2.5vw, 24px);
    color: #fff;
    line-height: 1.5;
    margin-bottom: 16px;
    font-style: italic;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}
.about-quote-band__meta {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.45);
}
.about-quote-band__meta strong {
    color: rgba(255, 255, 255, 0.7);
}
.about-cta-band {
    background: var(--bm);
    text-align: center;
}
.about-cta-band .btn-cta-white {
    background: #fff;
    color: var(--bm);
    padding: 13px 28px;
    font-size: 15px;
    border-radius: 14px;
    font-weight: 500;
    text-decoration: none;
    display: inline-block;
}
.legal-hero {
    background: var(--sf);
    border-bottom: 1px solid var(--ln);
    padding: 36px 0;
}
.legal-hero--pu {
    background: var(--pul);
    border-bottom-color: var(--pult);
}
.legal-callout-spaced {
    margin-bottom: 24px;
}
.page-hero--pul {
    background: var(--pul);
    border-bottom: 1px solid var(--pult);
    padding: 60px 0;
}
.wp--am {
    background: var(--aml);
    color: var(--am);
}
.tag-mt-section {
    margin-top: 28px;
}
.mb-protg {
    margin-bottom: 28px;
}
.loybf-w-33 {
    width: 33%;
}
.loybf-w-66 {
    width: 66%;
}
.loybf-w-100 {
    width: 100%;
}
.loybf--gn {
    background: var(--gn);
}
.loyr--gn {
    color: var(--gn);
}
.faq-narrow {
    text-align: left;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}
.fta-tall {
    height: 120px;
}
textarea.fta.fta-tall {
    height: 120px;
    min-height: 120px;
}
.contact-aside {
    background: var(--sf);
    border-radius: 12px;
    padding: 16px;
    border: 1px solid var(--ln);
    margin-top: 20px;
}
.contact-aside-title {
    font-size: 13px;
    font-weight: 500;
    color: var(--ink);
    margin-bottom: 5px;
}
.contact-aside-body {
    font-size: 13px;
    line-height: 1.8;
    color: var(--ink3);
}

/* Admin dashboard (pg-admin prototype panels) */
.dash-select {
    padding: 7px 12px;
    border-radius: 8px;
    border: 1px solid var(--ln);
    font-size: 12px;
    font-family: var(--fb);
    background: var(--wh);
    color: var(--ink);
    max-width: 100%;
}
.dash-select:focus {
    outline: none;
    border-color: var(--bm);
    box-shadow: 0 0 0 2px var(--bml);
}
.dash-card-title {
    font-size: 13px;
    font-weight: 500;
    color: var(--ink);
    margin-bottom: 14px;
}
.dash-card-title--sm {
    margin-bottom: 13px;
}
.mcn--pu {
    color: var(--pu);
}
.mcn--gn {
    color: var(--gn);
}
.mcn--bm {
    color: var(--bm);
}
.mcn--re {
    color: var(--re);
}
.mc-delta {
    margin-top: 3px;
    font-size: 11px;
    color: var(--gn);
}
.bar-fill--bml {
    background: var(--bml);
    color: var(--bm);
}
.bar-fill--bm {
    background: var(--bm);
    color: #fff;
}
.rev-stack {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.rev-row-head {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    margin-bottom: 3px;
}
.rev-row-head-label {
    color: var(--ink3);
}
.rev-row-head-val {
    font-weight: 500;
    color: var(--ink);
}
.rev-meter {
    height: 5px;
    background: var(--ln);
    border-radius: 3px;
    overflow: hidden;
}
.rev-meter-fill {
    height: 5px;
    border-radius: 3px;
}
.rev-meter-fill--bm {
    background: var(--bm);
}
.rev-meter-fill--pu {
    background: var(--pu);
}
.rev-meter-fill--gn {
    background: var(--gn);
}
.rev-meter-fill--am {
    background: var(--am);
}
.geo-stack {
    display: flex;
    flex-direction: column;
    gap: 9px;
}
.geo-row-head {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    margin-bottom: 2px;
}
.geo-row-name {
    font-weight: 500;
    color: var(--ink);
}
.geo-row-meta {
    color: var(--ink3);
}
.atbl-strong {
    font-weight: 500;
    color: var(--ink);
}
.atbl-conv-good {
    color: var(--gn);
    font-weight: 500;
}
.atbl-conv-warn {
    color: var(--am);
    font-weight: 500;
}

/* Dashboard sidebar logo accent (theme tokens) */
.sb-logo-text .sb-logo-accent--buyer {
    color: #6388ff;
}
.sb-logo-text .sb-logo-accent--manufacturer {
    color: #4ade80;
}
.sb-logo-text .sb-logo-accent--admin {
    color: #a78bfa;
}
.sb-logo-svg {
    width: 15px;
    height: 15px;
    stroke: #fff;
    stroke-width: 2;
    fill: none;
    stroke-linecap: round;
}
.footer-brand {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 10px;
}
.footer-mark {
    width: 26px;
    height: 26px;
}
.footer-mark svg {
    width: 13px;
    height: 13px;
    stroke: #fff;
    stroke-width: 2;
    fill: none;
    stroke-linecap: round;
}
.footer-wordmark {
    font-family: var(--fd);
    font-size: 17px;
    color: var(--ink);
}
.footer-wordmark span {
    color: var(--bm);
}
.auth-alert {
    border-color: #f1c2c2;
    background: #fdf0ef;
    color: #791f1f;
}
.auth-alert__title {
    display: block;
    margin-bottom: 4px;
}
.link-auth-forgot {
    font-size: 12px;
    font-weight: 500;
    color: var(--bm);
    text-decoration: none;
}
.text-danger-bm {
    color: var(--re);
}
.auth-toolbar {
    margin-bottom: 14px;
}
.ob-nav--start {
    align-items: flex-start;
}
.verify-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.card-s--compact {
    padding: 18px;
}
.btn-signout-inline {
    color: inherit;
    font-weight: 500;
    text-decoration: none;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    font-family: inherit;
    font-size: inherit;
}
.btn-signout-inline:hover {
    text-decoration: underline;
}

/* Auth, registration, settings, supporting forms */
.fsec {
    background: var(--wh);
    border: 1px solid var(--ln);
    border-radius: 16px;
    padding: 22px 24px;
    margin-bottom: 14px;
}
.fsect {
    font-size: 14px;
    font-weight: 500;
    color: var(--ink);
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--ln);
}
.fgd {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}
.ffl {
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.flab {
    font-size: 11px;
    font-weight: 500;
    color: var(--ink3);
    letter-spacing: 0.03em;
}
.finp,
.fsel,
.fta {
    padding: 10px 13px;
    border-radius: 9px;
    border: 1px solid var(--ln);
    background: var(--wh);
    font-size: 13px;
    color: var(--ink);
    font-family: "DM Sans", sans-serif;
    transition: border-color 0.15s;
    outline: none;
    width: 100%;
}
.finp:focus,
.fsel:focus,
.fta:focus {
    border-color: var(--bm);
    box-shadow: 0 0 0 3px var(--bml);
}
.fta {
    height: 90px;
    resize: vertical;
}
.fful {
    grid-column: 1/-1;
}
.fhint {
    font-size: 11px;
    color: var(--ink3);
    margin-top: 3px;
    line-height: 1.4;
}
.fcheck {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 4px;
}
.fcheck input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin-top: 2px;
    accent-color: var(--bm);
    flex-shrink: 0;
    cursor: pointer;
}
.fcheck-lbl {
    font-size: 13px;
    color: var(--ink2);
    line-height: 1.5;
    cursor: pointer;
}
.ob-wrap {
    min-height: calc(100vh - 58px);
    display: grid;
    grid-template-columns: 300px 1fr;
}
.ob-left {
    background: var(--bm);
    padding: 40px 28px;
    display: flex;
    flex-direction: column;
}
.ob-left.gn {
    background: var(--gn);
}
.ob-logo {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 40px;
}
.ob-logo-mark {
    width: 26px;
    height: 26px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ob-logo-mark svg {
    width: 12px;
    height: 12px;
    stroke: #fff;
    stroke-width: 2;
    fill: none;
    stroke-linecap: round;
}
.ob-logo-wm {
    font-family: "Instrument Serif", serif;
    font-size: 17px;
    color: #fff;
}
.ob-steps {
    display: flex;
    flex-direction: column;
    gap: 0;
    flex: 1;
}
.ob-step {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.ob-step:last-child {
    border-bottom: none;
}
.ob-num {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 500;
    flex-shrink: 0;
    margin-top: 2px;
}
.ob-step .ob-num-ok {
    display: none;
    font-size: 13px;
    line-height: 1;
}
.ob-step.done .ob-num-ix {
    display: none;
}
.ob-step.done .ob-num-ok {
    display: flex;
    align-items: center;
    justify-content: center;
}
.ob-step.done .ob-num {
    background: #fff;
    color: var(--bm);
}
.ob-step.active .ob-num {
    background: rgba(255, 255, 255, 0.25);
    color: #fff;
    border: 2px solid rgba(255, 255, 255, 0.6);
}
.ob-step.todo .ob-num {
    background: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.4);
}
.ob-slbl {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.05em;
    margin-bottom: 2px;
}
.ob-step.done .ob-slbl {
    color: rgba(255, 255, 255, 0.6);
}
.ob-step.active .ob-slbl {
    color: rgba(255, 255, 255, 0.75);
}
.ob-step.todo .ob-slbl {
    color: rgba(255, 255, 255, 0.3);
}
.ob-stitle {
    font-size: 13px;
    font-weight: 500;
}
.ob-step.done .ob-stitle {
    color: rgba(255, 255, 255, 0.8);
}
.ob-step.active .ob-stitle {
    color: #fff;
}
.ob-step.todo .ob-stitle {
    color: rgba(255, 255, 255, 0.35);
}
.ob-note {
    margin-top: auto;
    padding: 14px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.6;
}
.ob-right {
    padding: 44px 52px;
    background: var(--sf);
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.ob-inner {
    max-width: 500px;
    width: 100%;
}
.ob-inner--md {
    max-width: 560px;
}
.ob-inner--lg {
    max-width: 620px;
}
.ob-tag {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.06em;
    padding: 3px 10px;
    border-radius: 20px;
    background: var(--bml);
    color: var(--bm);
    display: inline-block;
    margin-bottom: 10px;
}
.ob-tag.gn {
    background: var(--gnl);
    color: var(--gn);
}
.ob-h {
    font-family: "Instrument Serif", serif;
    font-size: 26px;
    color: var(--ink);
    margin-bottom: 6px;
    letter-spacing: -0.01em;
}
.ob-sub {
    font-size: 13px;
    color: var(--ink3);
    line-height: 1.6;
    margin-bottom: 22px;
}
.ob-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 22px;
}
.ob-prog {
    font-size: 11px;
    color: var(--ink3);
}
.ob-prog a {
    color: inherit;
    font-weight: 500;
    text-decoration: none;
}
.ob-prog a:hover {
    color: var(--ink);
    text-decoration: underline;
}
.upload-zone {
    border: 2px dashed var(--ln);
    border-radius: 12px;
    padding: 28px;
    text-align: center;
    cursor: pointer;
    transition: all 0.2s;
    background: var(--wh);
}
.upload-zone:hover {
    border-color: var(--bm);
    background: var(--bml);
}
.upload-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: var(--sf);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 10px;
}
.upload-icon svg {
    width: 18px;
    height: 18px;
    stroke: var(--ink3);
    stroke-width: 1.8;
    fill: none;
    stroke-linecap: round;
}
.ufile {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 13px;
    background: var(--gnl);
    border: 1px solid var(--gnlt);
    border-radius: 9px;
    margin-top: 8px;
}
.ufile-ic {
    width: 26px;
    height: 26px;
    border-radius: 6px;
    background: var(--gn);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.ufile-ic svg {
    width: 11px;
    height: 11px;
    stroke: #fff;
    stroke-width: 2;
    fill: none;
    stroke-linecap: round;
}
.ufile-n {
    font-size: 12px;
    font-weight: 500;
    color: var(--gn);
    flex: 1;
}
.ufile-s {
    font-size: 11px;
    color: var(--ink3);
}
.plan-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-bottom: 18px;
}
.plan-card {
    border: 1.5px solid var(--ln);
    border-radius: 12px;
    padding: 16px;
    cursor: pointer;
    transition: all 0.2s;
    background: var(--wh);
    position: relative;
}
.plan-card:hover {
    border-color: var(--bm);
}
.plan-card.sel {
    border-color: var(--bm);
    background: var(--bml);
}
.plan-name {
    font-family: "Instrument Serif", serif;
    font-size: 17px;
    color: var(--ink);
    margin-bottom: 3px;
}
.plan-price {
    font-size: 20px;
    font-weight: 500;
    color: var(--ink);
    margin-bottom: 8px;
}
.plan-price span {
    font-size: 12px;
    font-weight: 400;
    color: var(--ink3);
}
.plan-feats {
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.plan-feats li {
    font-size: 11px;
    color: var(--ink2);
    display: flex;
    gap: 5px;
}
.plan-feats li::before {
    content: "✓";
    color: var(--gn);
    font-weight: 500;
    flex-shrink: 0;
}
.plan-check {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 1.5px solid var(--ln);
    background: var(--wh);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
}
.plan-card.sel .plan-check {
    background: var(--bm);
    border-color: var(--bm);
}
.plan-card.sel .plan-check::after {
    content: "✓";
    font-size: 9px;
    color: #fff;
    font-weight: 500;
}
.notif-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 0;
    border-bottom: 1px solid var(--ln);
    cursor: pointer;
}
.notif-item:last-child {
    border-bottom: none;
}
.ndot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--bm);
    flex-shrink: 0;
    margin-top: 6px;
    opacity: 0;
}
.notif-item.unread .ndot {
    opacity: 1;
}
.nic {
    width: 34px;
    height: 34px;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.nic svg {
    width: 15px;
    height: 15px;
    stroke-width: 1.8;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.nic-b {
    background: var(--bml);
}
.nic-b svg {
    stroke: var(--bm);
}
.nic-g {
    background: var(--gnl);
}
.nic-g svg {
    stroke: var(--gn);
}
.nic-p {
    background: var(--pul);
}
.nic-p svg {
    stroke: var(--pu);
}
.nic-a {
    background: var(--aml);
}
.nic-a svg {
    stroke: var(--am);
}
.nic-r {
    background: var(--rel);
}
.nic-r svg {
    stroke: var(--re);
}
.ntitle {
    font-size: 13px;
    font-weight: 500;
    color: var(--ink);
    margin-bottom: 2px;
}
.ndesc {
    font-size: 12px;
    color: var(--ink3);
    line-height: 1.5;
    margin-bottom: 4px;
}
.ntime {
    font-size: 11px;
    color: var(--ink3);
}
.ncta {
    font-size: 11px;
    font-weight: 500;
    color: var(--bm);
    cursor: pointer;
}
.nf {
    font-size: 12px;
    font-weight: 500;
    padding: 5px 13px;
    border-radius: 20px;
    border: 1px solid var(--ln);
    background: var(--sf);
    color: var(--ink3);
    cursor: pointer;
    font-family: "DM Sans", sans-serif;
}
.nf.on {
    background: var(--bml);
    color: var(--bm);
    border-color: var(--bmlt);
}
#pg-admin-notifications .notif-page-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 14px;
    flex-wrap: wrap;
}
#pg-admin-notifications .notif-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 14px;
}
#pg-admin-notifications .notif-panel {
    background: var(--wh);
    border-radius: 14px;
    border: 1px solid var(--ln);
    padding: 0 16px;
}
#pg-admin-notifications .notif-item {
    color: inherit;
}
#pg-admin-notifications .notif-item:hover {
    background: var(--sf);
    margin: 0 -16px;
    padding-left: 16px;
    padding-right: 16px;
}
#pg-admin-notifications .notif-item-body {
    flex: 1;
    min-width: 0;
}
#pg-admin-notifications .notif-item-foot {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 4px;
    flex-wrap: wrap;
}
#pg-admin-notifications .ntitle--urgent {
    color: var(--re);
}
#pg-admin-notifications .ncta--urgent {
    color: var(--re);
}
#pg-admin-notifications .notif-empty {
    padding: 24px 0;
}
#pg-vault .vault-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 18px;
    flex-wrap: wrap;
}
#pg-vault .vault-section-title {
    font-size: 13px;
    font-weight: 500;
    color: var(--ink);
    margin-bottom: 10px;
}
#pg-vault .vault-cert-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 9px;
    margin-bottom: 20px;
}
@media (max-width: 992px) {
    #pg-vault .vault-cert-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 576px) {
    #pg-vault .vault-cert-grid {
        grid-template-columns: 1fr;
    }
}
#pg-vault .vault-cert-card {
    padding: 13px 14px;
    cursor: default;
}
#pg-vault .vault-cert-card-top {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 10px;
}
#pg-vault .vault-cert-icon {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
#pg-vault .vault-cert-icon svg {
    width: 14px;
    height: 14px;
    stroke-width: 1.8;
    fill: none;
    stroke-linecap: round;
}
#pg-vault .vault-cert-icon--g {
    background: var(--gnl);
}
#pg-vault .vault-cert-icon--g svg {
    stroke: var(--gn);
}
#pg-vault .vault-cert-icon--am {
    background: var(--aml);
}
#pg-vault .vault-cert-icon--am svg {
    stroke: var(--am);
}
#pg-vault .vault-cert-icon--b {
    background: var(--bml);
}
#pg-vault .vault-cert-icon--b svg {
    stroke: var(--bm);
}
#pg-vault .vault-cert-title {
    font-size: 12px;
    font-weight: 500;
    color: var(--ink);
    margin-bottom: 2px;
}
#pg-vault .vault-cert-card-foot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 8px;
    border-top: 1px solid var(--ln);
    gap: 8px;
}
#pg-vault .vault-cert-upload-card {
    border-style: dashed;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 90px;
    cursor: pointer;
    background: var(--wh);
    border: 1px dashed var(--ln);
    border-radius: 14px;
    font-family: var(--fb);
}
#pg-vault .vault-cert-upload-card svg {
    width: 22px;
    height: 22px;
    stroke: var(--ink3);
    stroke-width: 1.5;
    fill: none;
    stroke-linecap: round;
    margin-bottom: 5px;
}
#pg-vault .vault-table-wrap {
    background: var(--wh);
    border-radius: 14px;
    border: 1px solid var(--ln);
    overflow: hidden;
}
#pg-vault .vault-doc-name {
    font-weight: 500;
    color: var(--ink);
}
#pg-vault .vault-dl-link {
    font-size: 11px;
    font-weight: 500;
    color: var(--bm);
    text-decoration: none;
}
#pg-vault .vault-dl-link:hover {
    text-decoration: underline;
}
#pg-vault .vault-upload-actions {
    margin-top: 12px;
}
#pg-vault .vault-upload-panel {
    margin-top: 16px;
}
#pg-vault .vault-upload-panel-actions {
    margin-top: 14px;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}
#pg-emails .email-templates-head {
    margin-bottom: 18px;
}
#pg-emails .email-templates-toolbar {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 20px;
}
#pg-emails .email-templates-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
#pg-emails .email-templates-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
#pg-emails .email-templates-preview {
    max-width: 580px;
    margin: 0 auto;
}
.vtable {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}
.vtable th {
    text-align: left;
    padding: 9px 14px;
    font-weight: 500;
    color: var(--ink3);
    background: var(--sf);
    border-bottom: 1px solid var(--ln);
    font-size: 11px;
    letter-spacing: 0.03em;
}
.vtable td {
    padding: 11px 14px;
    border-bottom: 1px solid var(--ln);
    color: var(--ink2);
    vertical-align: middle;
}
.vtable tr:last-child td {
    border-bottom: none;
}
.vtable tr:hover td {
    background: var(--sf);
}
.snav-bar {
    display: flex;
    gap: 2px;
    border-bottom: 1px solid var(--ln);
    margin-bottom: 22px;
}
.snav {
    font-size: 13px;
    color: var(--ink3);
    padding: 9px 15px;
    cursor: pointer;
    border: none;
    background: transparent;
    font-family: "DM Sans", sans-serif;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
}
.snav.on {
    color: var(--bm);
    border-bottom-color: var(--bm);
    font-weight: 500;
}
.snav:hover {
    color: var(--ink);
}
.toggle-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 0;
    border-bottom: 1px solid var(--ln);
}
.toggle-row:last-child {
    border-bottom: none;
}
.toggle-info {
    flex: 1;
}
.toggle-title {
    font-size: 13px;
    font-weight: 500;
    color: var(--ink);
    margin-bottom: 2px;
}
.toggle-desc {
    font-size: 12px;
    color: var(--ink3);
    line-height: 1.4;
}
.toggle {
    width: 36px;
    height: 20px;
    border-radius: 10px;
    background: var(--ln);
    position: relative;
    cursor: pointer;
    transition: background 0.2s;
    flex-shrink: 0;
}
.toggle.on {
    background: var(--bm);
}
.tknob {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #fff;
    position: absolute;
    top: 3px;
    left: 3px;
    transition: left 0.2s;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
.toggle.on .tknob {
    left: 19px;
}
.dz {
    background: var(--rel);
    border: 1px solid #f7c1c1;
    border-radius: 14px;
    padding: 20px 22px;
}
.dz-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid #f7c1c1;
}
.dz-row:last-child {
    border-bottom: none;
}
/* Admin settings — static #pg-settings layout */
#pg-admin-settings .sett-wrap,
#pg-admin-2fa .sett-auth-wrap {
    max-width: 660px;
}
#pg-admin-settings .sett-head {
    margin-bottom: 18px;
}
#pg-admin-settings .fsec {
    padding: 22px 24px;
    margin-bottom: 14px;
}
#pg-admin-settings .sett-photo-row {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 20px;
}
#pg-admin-settings .sett-photo {
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background: var(--bml);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--fd);
    font-size: 24px;
    color: var(--bm);
    flex-shrink: 0;
    border: 2px solid var(--bmlt);
}
#pg-admin-settings .sett-photo--img {
    object-fit: cover;
    display: block;
}
#pg-admin-settings .sett-photo-title {
    font-size: 13px;
    font-weight: 500;
    color: var(--ink);
    margin-bottom: 4px;
}
#pg-admin-settings .sett-photo-hint {
    margin-bottom: 7px;
}
#pg-admin-settings .sett-photo-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
#pg-admin-settings .sett-photo-form {
    display: inline-flex;
    margin: 0;
}
#pg-admin-settings .sett-photo-input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
#pg-admin-settings .sett-actions {
    margin-top: 14px;
    display: flex;
    justify-content: flex-end;
}
#pg-admin-settings .sett-actions--left {
    justify-content: flex-start;
    margin-top: 13px;
}
#pg-admin-settings .sett-change-phone {
    margin-top: 12px;
}
#pg-admin-settings .sett-session-list {
    display: flex;
    flex-direction: column;
}
#pg-admin-settings .sett-session-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid var(--ln);
    gap: 12px;
}
#pg-admin-settings .sett-session-item:last-child {
    border-bottom: none;
}
#pg-admin-settings .sett-session-name {
    font-size: 13px;
    font-weight: 500;
    color: var(--ink);
}
#pg-admin-settings .sett-sessions-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}
#pg-admin-settings .sett-revoke,
#pg-admin-settings .sett-link-danger {
    font-size: 12px;
    color: var(--re);
    cursor: pointer;
    font-weight: 500;
    border: none;
    background: transparent;
    font-family: var(--fb);
    padding: 0;
}
#pg-admin-settings .sett-revoke:hover,
#pg-admin-settings .sett-link-danger:hover {
    text-decoration: underline;
}
#pg-admin-settings .sett-inline-form {
    display: inline;
    margin: 0;
}
#pg-admin-settings .sett-hidden-check {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    width: 0;
    height: 0;
}
#pg-admin-settings button.toggle {
    padding: 0;
    border: none;
    appearance: none;
}
#pg-admin-settings .sett-deactivate-panel {
    padding: 14px 0 4px;
    border-top: 1px solid #f7c1c1;
    margin-top: 4px;
}
#pg-admin-settings .sett-deactivate-panel .fcheck {
    margin-top: 12px;
}
#pg-admin-settings .sett-alert {
    padding: 12px 14px;
    border-radius: 10px;
    font-size: 13px;
    margin-bottom: 14px;
    border: 1px solid var(--ln);
    background: var(--sf);
    color: var(--ink);
}
#pg-admin-settings .sett-alert--warning {
    background: var(--rel);
    border-color: #f7c1c1;
    color: #791f1f;
}
#pg-admin-settings .sett-alert ul {
    margin: 0;
    padding-left: 18px;
}
#pg-admin-2fa .dm {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 40px;
}
#pg-admin-2fa .sett-auth-wrap {
    width: 100%;
}
#pg-admin-2fa .fsec {
    padding: 22px 24px;
}
#pg-admin-2fa .sett-auth-cap {
    margin-bottom: 16px;
}
#pg-admin-2fa .sett-auth-actions {
    margin-top: 14px;
}
#pg-admin-2fa .sett-auth-resend {
    margin-top: 14px;
    text-align: center;
}
#pg-admin-2fa .sett-alert {
    padding: 12px 14px;
    border-radius: 10px;
    font-size: 13px;
    margin-bottom: 14px;
    border: 1px solid var(--ln);
    background: var(--sf);
}
#pg-admin-2fa .sett-alert--warning {
    background: var(--rel);
    border-color: #f7c1c1;
    color: #791f1f;
}
#pg-admin-2fa .btn.w-100 {
    width: 100%;
}
.dz-row-title {
    font-size: 13px;
    font-weight: 500;
    color: #791f1f;
}
.dz-row-desc {
    font-size: 11px;
    color: var(--re);
    margin-top: 2px;
}
.dz-title {
    font-size: 13px;
    font-weight: 500;
    color: #791f1f;
    margin-bottom: 12px;
}
.bar-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}
.bar-label {
    font-size: 12px;
    color: var(--ink3);
    width: 70px;
    text-align: right;
    flex-shrink: 0;
}
.bar-track {
    flex: 1;
    height: 20px;
    background: var(--sf);
    border-radius: 4px;
    overflow: hidden;
}
.bar-fill {
    height: 100%;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-right: 7px;
    font-size: 11px;
    font-weight: 500;
    color: #fff;
}
.geo-bar {
    height: 5px;
    background: var(--ln);
    border-radius: 3px;
    overflow: hidden;
    margin-top: 3px;
}
.geo-fill {
    height: 5px;
    background: var(--bm);
    border-radius: 3px;
}
.atable {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}
.atable th {
    text-align: left;
    padding: 9px 14px;
    font-weight: 500;
    color: var(--ink3);
    background: var(--sf);
    border-bottom: 1px solid var(--ln);
    font-size: 11px;
    letter-spacing: 0.03em;
}
.atable td {
    padding: 10px 14px;
    border-bottom: 1px solid var(--ln);
    color: var(--ink2);
    vertical-align: middle;
}
.atable tr:last-child td {
    border-bottom: none;
}
.atable tr:hover td {
    background: var(--sf);
}
.spark {
    display: flex;
    align-items: flex-end;
    gap: 3px;
    height: 44px;
}
.sbar {
    background: var(--bml);
    border-radius: 3px 3px 0 0;
    flex: 1;
    min-width: 5px;
    transition: background 0.15s;
}
.sbar:hover {
    background: var(--bm);
}
.legal-wrap {
    max-width: 740px;
    margin: 0 auto;
    padding: 44px 28px;
}
.legal-hero .legal-wrap {
    padding: 0 28px;
    margin-bottom: 0;
}
.legal-h1 {
    font-family: "Instrument Serif", serif;
    font-size: 34px;
    color: var(--ink);
    margin-bottom: 8px;
}
.legal-meta {
    font-size: 13px;
    color: var(--ink3);
    margin-bottom: 28px;
}
.legal-h2 {
    font-family: "Instrument Serif", serif;
    font-size: 21px;
    color: var(--ink);
    margin: 32px 0 10px;
}
.legal-h3 {
    font-size: 14px;
    font-weight: 500;
    color: var(--ink);
    margin: 18px 0 6px;
}
.legal-p {
    font-size: 14px;
    color: var(--ink2);
    line-height: 1.8;
    margin-bottom: 12px;
}
.legal-list {
    list-style: none;
    padding: 0;
    margin-bottom: 12px;
}
.legal-list li {
    font-size: 14px;
    color: var(--ink2);
    line-height: 1.7;
    display: flex;
    gap: 10px;
    padding: 3px 0;
}
.legal-list li::before {
    content: "—";
    color: var(--ink3);
    flex-shrink: 0;
}
.legal-box {
    background: var(--bml);
    border: 1px solid var(--bmlt);
    border-radius: 10px;
    padding: 14px 16px;
    margin: 14px 0;
}
.legal-box.am {
    background: var(--aml);
    border-color: var(--amlt);
}
.legal-box.pu {
    background: var(--pul);
    border-color: var(--pult);
}
.legal-box-t {
    font-size: 11px;
    font-weight: 500;
    color: var(--bm);
    margin-bottom: 5px;
    letter-spacing: 0.04em;
}
.legal-box.am .legal-box-t {
    color: var(--am);
}
.legal-box.pu .legal-box-t {
    color: var(--pu);
}
.legal-box-b {
    font-size: 13px;
    color: var(--ink2);
    line-height: 1.7;
}
.toc {
    background: var(--sf);
    border-radius: 12px;
    padding: 18px 20px;
    margin-bottom: 28px;
    border: 1px solid var(--ln);
}
.toc-t {
    font-size: 11px;
    font-weight: 500;
    color: var(--ink3);
    letter-spacing: 0.05em;
    margin-bottom: 10px;
}
.toc ol {
    list-style: decimal;
    padding-left: 18px;
}
.toc ol li {
    padding: 3px 0;
}
.toc ol li a {
    font-size: 13px;
    color: var(--bm);
    text-decoration: none;
}
.em-client {
    background: var(--wh);
    border-radius: 14px;
    border: 1px solid var(--ln);
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}
.em-bar {
    background: var(--sf);
    padding: 11px 14px;
    border-bottom: 1px solid var(--ln);
    display: flex;
    align-items: center;
    gap: 6px;
}
.em-dots {
    display: flex;
    gap: 4px;
}
.ecd {
    width: 9px;
    height: 9px;
    border-radius: 50%;
}
.ec-r {
    background: #ff5f57;
}
.ec-y {
    background: #ffbd2e;
}
.ec-g {
    background: #28c840;
}
.em-subject {
    font-size: 11px;
    color: var(--ink3);
    margin-left: 6px;
}
.em-head {
    padding: 26px 28px;
    text-align: center;
}
.em-head-logo {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}
.em-head-mark {
    width: 24px;
    height: 24px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.em-head-mark svg {
    width: 11px;
    height: 11px;
    stroke: #fff;
    stroke-width: 2;
    fill: none;
    stroke-linecap: round;
}
.em-head-wm {
    font-family: "Instrument Serif", serif;
    font-size: 16px;
    color: #fff;
}
.em-body {
    padding: 28px;
}
.em-greeting {
    font-size: 15px;
    color: var(--ink);
    margin-bottom: 14px;
    line-height: 1.6;
}
.em-p {
    font-size: 14px;
    color: var(--ink2);
    line-height: 1.75;
    margin-bottom: 12px;
}
.em-box {
    background: var(--sf);
    border-radius: 9px;
    padding: 14px 16px;
    margin-bottom: 16px;
}
.em-row {
    display: flex;
    justify-content: space-between;
    padding: 5px 0;
    border-bottom: 1px solid var(--ln);
    font-size: 13px;
}
.em-row:last-child {
    border-bottom: none;
}
.em-lbl {
    color: var(--ink3);
}
.em-val {
    font-weight: 500;
    color: var(--ink);
}
.em-cta {
    display: block;
    text-decoration: none;
    padding: 12px 24px;
    border-radius: 9px;
    font-size: 14px;
    font-weight: 500;
    text-align: center;
    margin: 20px auto;
    max-width: 260px;
}
.em-div {
    border: none;
    border-top: 1px solid var(--ln);
    margin: 18px 0;
}
.em-foot {
    background: var(--sf);
    padding: 18px 28px;
    text-align: center;
    border-top: 1px solid var(--ln);
}
.em-foot-t {
    font-size: 11px;
    color: var(--ink3);
    line-height: 1.6;
}
.em-foot-links {
    display: flex;
    gap: 14px;
    justify-content: center;
    margin-top: 6px;
}
.em-foot-links a {
    font-size: 11px;
    color: var(--bm);
}
.etab {
    font-size: 12px;
    font-weight: 500;
    padding: 5px 12px;
    border-radius: 20px;
    border: 1px solid var(--ln);
    background: var(--wh);
    color: var(--ink3);
    cursor: pointer;
    font-family: "DM Sans", sans-serif;
    transition: all 0.15s;
}
.etab.on {
    background: var(--bml);
    color: var(--bm);
    border-color: var(--bmlt);
}
.contact-grid {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 40px;
}
.cm {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px 0;
    border-bottom: 1px solid var(--ln);
}
.cm:last-child {
    border-bottom: none;
}
.cm-ic {
    width: 38px;
    height: 38px;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.cm-ic svg {
    width: 17px;
    height: 17px;
    stroke-width: 1.8;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.cmi-b {
    background: var(--bml);
}
.cmi-b svg {
    stroke: var(--bm);
}
.cmi-g {
    background: var(--gnl);
}
.cmi-g svg {
    stroke: var(--gn);
}
.cmi-p {
    background: var(--pul);
}
.cmi-p svg {
    stroke: var(--pu);
}
.cm-title {
    font-size: 13px;
    font-weight: 500;
    color: var(--ink);
    margin-bottom: 2px;
}
.cm-val {
    font-size: 13px;
    color: var(--bm);
    font-weight: 500;
}
.cm-sub {
    font-size: 12px;
    color: var(--ink3);
    margin-top: 1px;
}
.team-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}
.team-card {
    text-align: center;
    padding: 20px 14px;
    background: var(--sf);
    border-radius: 14px;
    border: 1px solid var(--ln);
}
.tav {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    margin: 0 auto 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Instrument Serif", serif;
    font-size: 22px;
}
.tav-1 {
    background: var(--bml);
    color: var(--bm);
}
.tav-2 {
    background: var(--gnl);
    color: var(--gn);
}
.tav-3 {
    background: var(--pul);
    color: var(--pu);
}
.tav-4 {
    background: var(--aml);
    color: var(--am);
}
.tname {
    font-size: 14px;
    font-weight: 500;
    color: var(--ink);
    margin-bottom: 2px;
}
.trole {
    font-size: 12px;
    color: var(--ink3);
}
.vcard {
    background: var(--sf);
    border-radius: 14px;
    padding: 20px;
    border: 1px solid var(--ln);
}
.vnum {
    font-family: "Instrument Serif", serif;
    font-size: 38px;
    color: var(--bm);
    letter-spacing: -0.02em;
    margin-bottom: 5px;
}
.vtitle {
    font-size: 14px;
    font-weight: 500;
    color: var(--ink);
    margin-bottom: 4px;
}
.tl-item {
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: 16px;
    padding: 18px 0;
    border-bottom: 1px solid var(--ln);
}
.tl-item:last-child {
    border-bottom: none;
}
.tl-year {
    font-family: "Instrument Serif", serif;
    font-size: 19px;
    color: var(--bm);
    padding-top: 2px;
}
.tl-t {
    font-size: 14px;
    font-weight: 500;
    color: var(--ink);
    margin-bottom: 4px;
}
.tl-d {
    font-size: 13px;
    color: var(--ink3);
    line-height: 1.6;
}
.rfq-summary {
    background: var(--bml);
    border: 1px solid var(--bmlt);
    border-radius: 12px;
    padding: 16px 18px;
    margin-bottom: 18px;
}
.rfq-s-t {
    font-size: 11px;
    font-weight: 500;
    color: var(--bm);
    letter-spacing: 0.04em;
    margin-bottom: 10px;
}
.rfq-s-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7px;
}
.rfq-s-lbl {
    font-size: 10px;
    color: rgba(26, 63, 191, 0.7);
    margin-bottom: 1px;
}
.rfq-s-val {
    font-size: 13px;
    font-weight: 500;
    color: var(--bm);
}
.buyer-mini {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 14px;
    background: var(--sf);
    border-radius: 11px;
    border: 1px solid var(--ln);
    margin-bottom: 18px;
}
.bm-av {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--bml);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Instrument Serif", serif;
    font-size: 15px;
    color: var(--bm);
    flex-shrink: 0;
}
.bm-name {
    font-size: 14px;
    font-weight: 500;
    color: var(--ink);
    margin-bottom: 2px;
}
.bm-sub {
    font-size: 12px;
    color: var(--ink3);
}
.bm-tags {
    display: flex;
    gap: 4px;
    margin-top: 4px;
    flex-wrap: wrap;
}
.bm-tag {
    font-size: 10px;
    padding: 2px 6px;
    border-radius: 5px;
    background: var(--wh);
    color: var(--ink3);
    border: 1px solid var(--ln);
}
.pp-bar {
    background: var(--sf);
    border-radius: 12px;
    padding: 14px 16px;
    margin-bottom: 18px;
    border: 1px solid var(--ln);
    display: flex;
    align-items: center;
    gap: 12px;
}
/* Bootstrap compatibility */
.btn {
    text-decoration: none;
}
.card {
    display: block;
    position: relative;
    min-width: auto;
}
[data-go]:is(button, a, [role="button"], [tabindex]),
[data-lang]:is(button, a, [role="button"], [tabindex]),
[data-b-tab]:is(button, a, [role="button"], [tabindex]),
[data-m-tab]:is(button, a, [role="button"], [tabindex]),
[data-a-tab]:is(button, a, [role="button"], [tabindex]),
[data-pr-tab]:is(button, a, [role="button"], [tabindex]),
[data-faq-toggle]:is(button, a, [role="button"], [tabindex]),
[data-sett-tab]:is(button, a, [role="button"], [tabindex]),
[data-prf-tab]:is(button, a, [role="button"], [tabindex]),
[data-email-tab]:is(button, a, [role="button"], [tabindex]),
[data-toggle-switch]:is(button, a, [role="button"], [tabindex]) {
    cursor: pointer;
}
[role="button"]:focus-visible {
    outline: 2px solid var(--bm);
    outline-offset: 2px;
}
body {
    margin: 0;
}
main {
    display: block;
}

/* Main-source fidelity overrides after shared additional-page rules */
body.bm-main .navwm {
    font-family: var(--fd);
    font-size: 19px;
    color: var(--ink);
    letter-spacing: -0.01em;
}
body.bm-main .nl {
    font-size: 13px;
    color: var(--ink2);
    padding: 6px 11px;
    border-radius: 6px;
    cursor: pointer;
    border: none;
    background: transparent;
    font-family: var(--fb);
    transition: background 0.15s;
}
body.bm-main .lb {
    font-size: 11px;
    font-weight: 500;
    padding: 3px 7px;
    border-radius: 4px;
    cursor: pointer;
    border: none;
    background: transparent;
    color: var(--ink3);
    font-family: var(--fb);
    transition: all 0.15s;
}
/* Must beat body.bm-main .lb (higher specificity) so active lang shows */
body.bm-main .lb.on,
body.bm-main .lb.active {
    background: var(--bm);
    color: #fff;
}
body.bm-main .dsp {
    font-family: var(--fd);
    font-size: clamp(30px, 4.5vw, 50px);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: var(--ink);
}
body.bm-main .dsp-md {
    font-family: var(--fd);
    font-size: clamp(22px, 3vw, 36px);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--ink);
}
body.bm-main .dsp-md.dsp-md--fixed-lg {
    font-size: 24px;
    line-height: 1.2;
}
body.bm-main .dsp-md.dsp-md--fixed-sm {
    font-size: 22px;
    line-height: 1.2;
}
body.bm-main .mcn {
    font-family: var(--fd);
    font-size: 26px;
    color: var(--ink);
    margin-bottom: 2px;
}
body.bm-main .sbi {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 8px 16px;
    cursor: pointer;
    font-size: 13px;
    color: var(--ink2);
    border: none;
    background: transparent;
    width: 100%;
    text-align: left;
    font-family: var(--fb);
    transition: background 0.12s;
    position: relative;
}
body.bm-main .fgd {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
body.bm-main .finp,
body.bm-main .fsel,
body.bm-main .fta {
    padding: 9px 12px;
    border-radius: 8px;
    border: 1px solid var(--ln);
    background: var(--wh);
    font-size: 13px;
    color: var(--ink);
    font-family: var(--fb);
    transition: border-color 0.15s;
}
body.bm-main .finp:focus,
body.bm-main .fsel:focus,
body.bm-main .fta:focus {
    outline: none;
    border-color: var(--bm);
    box-shadow: none;
}
body.bm-main .fta {
    height: 80px;
    resize: vertical;
}
body.bm-main .etab {
    font-size: 12px;
    font-weight: 500;
    padding: 5px 14px;
    border-radius: 20px;
    border: 1px solid var(--ln);
    background: var(--sf);
    color: var(--ink3);
    cursor: pointer;
    font-family: var(--fb);
}
body.bm-main .footg {
    display: grid;
    grid-template-columns: minmax(0, 2fr) repeat(var(--foot-cols, 3), minmax(0, 1fr));
    gap: 40px;
    margin-bottom: 40px;
}
body.bm-main .footdesc {
    font-size: 13px;
    color: var(--ink3);
    line-height: 1.7;
    max-width: 240px;
    margin-top: 12px;
}
body.bm-main .footct {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: var(--ink);
    margin-bottom: 12px;
}
body.bm-main .footlinks {
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 7px;
}
body.bm-main .footbot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 20px;
    border-top: 1px solid var(--ln);
}
body.bm-main .foottag {
    font-size: 10px;
    font-weight: 500;
    padding: 3px 9px;
    border-radius: 6px;
    background: var(--wh);
    border: 1px solid var(--ln);
    color: var(--ink3);
}
body.bm-main .buyers-showcase {
    background: linear-gradient(180deg, #f7f8fc 0%, #f2f5ff 100%);
}
body.bm-main .buyers-showcase .section-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid #d8e2ff;
    background: #ffffff;
    color: #1a3fbf;
    border-radius: 999px;
    padding: 7px 14px;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.05em;
}
body.bm-main .buyers-showcase .section-title {
    font-family: var(--fd);
    font-size: clamp(2rem, 3.4vw, 2.6rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f1118;
    margin-top: 14px;
}
body.bm-main .buyers-showcase .section-subtitle {
    max-width: 650px;
    margin: 0 auto;
    color: #5f667b;
    line-height: 1.7;
}
body.bm-main .buyers-showcase .supplier-card {
    position: relative;
    border: 1px solid #e3e7f2;
    border-radius: 6px;
    padding: 18px 16px 14px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(16, 24, 40, 0.04);
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        border-color 0.2s ease;
}
body.bm-main .buyers-showcase .supplier-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    border-radius: 16px 16px 0 0;
    background: linear-gradient(90deg, #1a3fbf 0%, #4e36b0 100%);
    opacity: 0.9;
}
body.bm-main .buyers-showcase .supplier-card:hover {
    transform: translateY(-4px);
    border-color: #cfd9f9;
    box-shadow: 0 14px 28px rgba(16, 24, 40, 0.08);
}
body.bm-main .buyers-showcase .supplier-name {
    font-size: 0.95rem;
    font-weight: 700;
    color: #131826;
}
body.bm-main .buyers-showcase .supplier-meta {
    font-size: 0.78rem;
    color: #6a7289;
}
body.bm-main .buyers-showcase .verification-pill {
    font-size: 0.66rem;
    font-weight: 600;
    padding: 4px 9px;
    border-radius: 999px;
    border: 1px solid #d8e2ff;
    background: #eef3ff;
    color: #1a3fbf;
    white-space: nowrap;
}
body.bm-main .buyers-showcase .verification-pill.premium {
    border-color: #d6cef6;
    background: #f3efff;
    color: #4e36b0;
}
body.bm-main .buyers-showcase .tag-pill {
    font-size: 0.67rem;
    color: #4b5268;
    background: #f7f8fc;
    border: 1px solid #e5e8f0;
    border-radius: 999px;
    padding: 4px 8px;
}
body.bm-main .buyers-showcase .supplier-foot {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px dashed #dfe3ed;
}
body.bm-main .buyers-showcase .supplier-moq {
    font-size: 0.73rem;
    color: #67708a;
}
body.bm-main .buyers-showcase .supplier-rating {
    font-size: 0.76rem;
    font-weight: 700;
    color: #0f1118;
}
button.navlogo {
    border: none;
    background: transparent;
    padding: 0;
}
a.plan-card,
a.pcard {
    display: block;
    color: inherit;
    text-decoration: none;
}
a.plan-card:hover,
a.pcard:hover {
    color: inherit;
}
.status-card {
    padding: 14px 16px;
    border-radius: 14px;
    border: 1px solid var(--ln);
    font-size: 13px;
    line-height: 1.65;
    margin-bottom: 16px;
}
.status-card.success {
    background: var(--gnl);
    border-color: #cde8da;
    color: #0b6b52;
}
.status-card.warning {
    background: #fff7e8;
    border-color: #f0d7a3;
    color: #8a5a00;
}
.status-card.info {
    background: var(--bml);
    border-color: var(--bmlt);
    color: var(--bm);
}
.status-card a {
    color: inherit;
    font-weight: 500;
}
.sb-form {
    margin: 0;
}
.sb-form .sbi {
    margin: 0;
}
.err-shell {
    padding: 52px 0 72px;
}
.err-wrap {
    max-width: 760px;
    margin: 0 auto;
}
.err-card2 {
    background: var(--wh);
    border: 1px solid var(--ln);
    border-radius: 24px;
    padding: 32px 30px;
    box-shadow: 0 12px 30px rgba(25, 20, 0, 0.06);
}
.err-code {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 18px;
}
.err-digit {
    width: 68px;
    height: 78px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--fd);
    font-size: 42px;
    line-height: 1;
    background: var(--sf);
    border: 1px solid var(--ln);
    color: var(--ink);
}
.err-digit.blue {
    background: var(--bml);
    border-color: var(--bmlt);
    color: var(--bm);
}
.err-digit.mid {
    background: var(--wh);
    color: var(--ink);
}
.err-pill2 {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    border-radius: 999px;
    background: var(--sf);
    border: 1px solid var(--ln);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--ink2);
    margin-bottom: 16px;
}
.err-pill2 i {
    font-size: 12px;
    color: var(--bm);
}
.err-sub {
    max-width: 560px;
}
.err-ctas {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 24px;
}
.btn-err-primary,
.btn-err-ghost {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 16px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.15s;
}
.btn-err-primary {
    background: var(--bm);
    border: 1px solid var(--bm);
    color: #fff;
}
.btn-err-primary:hover {
    background: #1535a8;
    border-color: #1535a8;
    color: #fff;
}
.btn-err-ghost {
    background: var(--wh);
    border: 1px solid var(--ln);
    color: var(--ink);
}
.btn-err-ghost:hover {
    background: var(--sf);
    color: var(--ink);
}
.err-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 24px;
}
.err-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 999px;
    background: var(--sf);
    border: 1px solid var(--ln);
    font-size: 12px;
    color: var(--ink2);
    text-decoration: none;
}
.err-link:hover {
    background: var(--wh);
    color: var(--ink);
}

/* Google Translate: hidden widget + kill top toolbar / layout shift */
.google-translate-holder {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Google injects margin-top on html/body for the blue bar — reset for our layouts */
html:has(body.bm-main),
html:has(body.bm-auth),
html:has(body.bm-additional) {
    margin-top: 0 !important;
}

body.bm-main,
body.bm-auth,
body.bm-additional {
    top: 0 !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    position: static !important;
}

/* Toolbar wrapper Google prepends to body (do not match #google_translate_element) */
body > .skiptranslate:not(#google_translate_element) {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    opacity: 0 !important;
    position: absolute !important;
    left: -10000px !important;
    clip: rect(0, 0, 0, 0) !important;
}

/* Top bar: iframe and wrapper (class names vary by embed version) */
iframe.goog-te-banner-frame,
.goog-te-banner-frame,
iframe.goog-te-banner-frame.skiptranslate,
body > .skiptranslate.goog-te-banner-frame,
.goog-te-balloon-frame,
iframe.goog-te-balloon-frame,
iframe.goog-te-menu-frame,
.goog-te-menu-frame,
.VIpgJd-ZVi9od-aZ2wEe-wOHMyf,
.VIpgJd-ZVi9od-aZ2wEe,
#goog-gt-tt,
.goog-tooltip,
.goog-tooltip:hover {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    min-height: 0 !important;
    width: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    left: -10000px !important;
    border: none !important;
    clip: rect(0, 0, 0, 0) !important;
}

.google-translate-holder .goog-te-gadget {
    font-size: 0 !important;
}

.google-translate-holder .goog-te-gadget .goog-te-combo {
    font-size: 12px !important;
}

/* -------------------------------------------------------------------------
   Manufacturer registration (card layout)
   ------------------------------------------------------------------------- */
#pg-auth-register.register-mfg .ob-right {
    background: #f4f6f9;
}
#pg-auth-register.register-mfg .ob-inner--lg {
    max-width: 720px;
}
#pg-auth-register.register-mfg .plan-grid {
    margin-bottom: 22px;
}

.reg-mfg-stack {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 10px;
}
.reg-mfg-card {
    background: #fff;
    border: 1px solid #e6e8ec;
    border-radius: 14px;
    padding: 26px 28px;
    box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.04),
        0 6px 28px rgba(15, 23, 42, 0.07);
}
.reg-mfg-card--photos {
    padding-bottom: 22px;
}
.reg-mfg-sect {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    color: #6b7280;
    text-transform: uppercase;
    margin: 0 0 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid #eef0f3;
}
.reg-mfg-sect + .reg-mfg-grid {
    margin-bottom: 8px;
}
.reg-mfg-grid + .reg-mfg-sect {
    margin-top: 22px;
}
.reg-mfg-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 22px;
    align-items: start;
}
.reg-mfg-span2 {
    grid-column: 1 / -1;
}
#pg-auth-register.register-mfg .reg-mfg-card .flab {
    text-transform: uppercase;
    font-size: 10px;
    letter-spacing: 0.07em;
    color: #888;
    font-weight: 600;
}
#pg-auth-register.register-mfg .reg-mfg-card .finp,
#pg-auth-register.register-mfg .reg-mfg-card .fsel,
#pg-auth-register.register-mfg .reg-mfg-card .fta {
    border-radius: 6px;
    border-color: #ddd;
}
#pg-auth-register.register-mfg .reg-mfg-card .fta {
    min-height: 110px;
    resize: vertical;
}
.reg-mfg-hint-strong {
    color: #6b7280 !important;
    font-size: 12px;
    line-height: 1.45;
    margin-top: 6px;
}

.reg-mfg-cat-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 28px;
    margin-top: 4px;
}
.reg-mfg-cat-item {
    position: relative;
}
.reg-mfg-cat-item .mfg-cat-cb {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    margin: 0;
}
.reg-mfg-cat-item label {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 0;
    padding-left: 28px;
    margin: 0;
    cursor: pointer;
    font-size: 13px;
    font-weight: 400;
    color: #374151;
    line-height: 1.4;
}
.reg-mfg-cat-item label::before {
    content: "";
    position: absolute;
    left: 0;
    top: 1px;
    width: 18px;
    height: 18px;
    border: 1.5px solid #cbd5e1;
    border-radius: 3px;
    background: #fff;
    flex-shrink: 0;
    box-sizing: border-box;
}
.reg-mfg-cat-item .mfg-cat-cb:checked + label::before {
    background-color: var(--bm);
    border-color: var(--bm);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M1 5l3 3 7-7'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 11px 9px;
}
.reg-mfg-cat-item .mfg-cat-cb:focus-visible + label::before {
    outline: 2px solid var(--bm);
    outline-offset: 2px;
}

.reg-mfg-photo-head {
    margin-bottom: 14px;
    line-height: 1.35;
}
.reg-mfg-photo-title {
    font-size: 15px;
    font-weight: 600;
    color: var(--ink);
}
.reg-mfg-photo-sub {
    font-size: 13px;
    font-weight: 400;
    color: #888;
    margin-left: 6px;
}
.reg-mfg-upload-zone {
    border-style: dashed;
    border-width: 2px;
    border-color: #d8dce3;
    background: #fafbfc;
}
.reg-mfg-upload-zone:hover {
    border-color: var(--bm);
    background: var(--bml);
}
.reg-mfg-upload-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--ink);
    margin-bottom: 4px;
}
.reg-mfg-photo-summary {
    margin-top: 10px;
    font-size: 12px;
    color: #6b7280;
}

#pg-auth-register.register-mfg .fsec.reg-mfg-card {
    background: #fff;
    border: 1px solid #e6e8ec;
    border-radius: 14px;
    padding: 24px 28px;
    box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.04),
        0 6px 28px rgba(15, 23, 42, 0.07);
    margin-top: 4px;
}
#pg-auth-register.register-mfg .fsec.reg-mfg-card .fsect {
    border-bottom-color: #eef0f3;
    color: #374151;
}

@media (max-width: 640px) {
    #pg-auth-register.register-mfg .reg-mfg-grid {
        grid-template-columns: 1fr;
    }
    #pg-auth-register.register-mfg .reg-mfg-cat-grid {
        grid-template-columns: 1fr;
    }
}

/* Buyer dashboard: supplier directory filters */
#bp-search .bp-supplier-filters-panel {
    margin: 12px 0 16px;
    padding: 16px 18px;
    border: 1px solid var(--ln);
    border-radius: 12px;
    background: var(--wh);
}
#bp-search .bp-supplier-filters-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 16px;
    align-items: end;
}
#bp-search .bp-supplier-filters-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}
#bp-search #bp-supplier-chips .chip {
    cursor: pointer;
}
@media (max-width: 640px) {
    #bp-search .bp-supplier-filters-grid {
        grid-template-columns: 1fr;
    }
}
