/* ═══════════════════════════════════════════════
   THE SCRAP BRIDGE — Main Stylesheet
   Matches prototype design system exactly
═══════════════════════════════════════════════ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root {
  --pr:#059669; --pl:#d1fae5; --pd:#047857; --pxd:#064e3b;
  --ac:#f59e0b; --al:#fef3c7;
  --dn:#ef4444; --dl:#fee2e2;
  --in:#4f46e5; --il:#eef2ff;
  --pu:#7c3aed; --pul:#f5f3ff;
  --bg:#f0fdf4; --sur:#fff; --sur2:#f8fafc;
  --bdr:#e2e8f0; --txt:#0f172a; --mut:#64748b; --sub:#94a3b8;
  --nh:60px;
  --r8:8px; --r10:10px; --r12:12px; --r16:16px;
  --sh:0 4px 20px rgba(0,0,0,.07);
  --shd:0 8px 32px rgba(0,0,0,.12);
}

body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--txt);min-height:100vh;font-size:14px;padding-top:var(--nh)}
h1,h2,h3,h4{font-family:'Sora',sans-serif;line-height:1.2}
h2{font-size:1.5rem}h3{font-size:.95rem;font-weight:600}
a{text-decoration:none;color:inherit}
p{line-height:1.7}

/* ── LAYOUT ── */
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}
.wrap-sm{max-width:700px;margin:0 auto;padding:0 20px}
.wrap-xs{max-width:520px;margin:0 auto;padding:0 20px}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.sh{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.dvd{border:none;border-top:1px solid var(--bdr);margin:16px 0}

/* ── CARD ── */
.card{background:var(--sur);border:1px solid var(--bdr);border-radius:var(--r12);padding:20px;box-shadow:var(--sh)}
.card-sm{background:var(--sur);border:1px solid var(--bdr);border-radius:var(--r10);padding:14px}
.card-flat{background:var(--sur);border:1px solid var(--bdr);border-radius:var(--r12);padding:20px}

/* ── NAV ── */
.nav{position:fixed;top:0;left:0;right:0;height:var(--nh);background:var(--sur);border-bottom:1px solid var(--bdr);display:flex;align-items:center;padding:0 20px;z-index:999;gap:10px;box-shadow:0 1px 6px rgba(0,0,0,.04)}
.nav-logo{font-family:'Sora',sans-serif;font-size:1.15rem;color:var(--pr);font-weight:700;cursor:pointer;white-space:nowrap;flex-shrink:0;text-decoration:none}
.nav-logo span{color:var(--ac)}
.nav-links{display:flex;gap:2px;flex:1;justify-content:center}
.nl{padding:5px 11px;border-radius:6px;border:none;cursor:pointer;font-size:11.5px;font-weight:500;font-family:inherit;background:transparent;color:var(--mut);transition:all .15s;text-decoration:none;white-space:nowrap}
.nl:hover,.nl.on{color:var(--pr);background:var(--pl)}
.nav-r{display:flex;align-items:center;gap:8px;flex-shrink:0}
.av{width:30px;height:30px;border-radius:50%;background:var(--pr);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;cursor:pointer;position:relative;flex-shrink:0}
.notif-dot{position:absolute;top:-3px;right:-3px;width:10px;height:10px;background:var(--dn);border-radius:50%;border:2px solid #fff}
.lbtn{padding:6px 14px;border-radius:7px;font-size:11.5px;font-weight:600;font-family:inherit;cursor:pointer;border:1.5px solid var(--pr);background:transparent;color:var(--pr);transition:all .15s;text-decoration:none;display:inline-flex;align-items:center}
.lbtn:hover{background:var(--pr);color:#fff}
.rbtn{padding:6px 14px;border-radius:7px;font-size:11.5px;font-weight:600;font-family:inherit;cursor:pointer;border:none;background:var(--pr);color:#fff;transition:all .15s;text-decoration:none;display:inline-flex;align-items:center;gap:4px}
.rbtn:hover{background:var(--pd)}

/* Dropdown nav */
.nav-drop{position:relative}
.nav-drop-menu{display:none;position:absolute;top:calc(100%+6px);right:0;background:var(--sur);border:1px solid var(--bdr);border-radius:var(--r10);padding:6px;min-width:200px;box-shadow:var(--shd);z-index:1000}
.nav-drop:hover .nav-drop-menu,.nav-drop-menu.on{display:block}
.nav-drop-item{display:block;padding:9px 12px;border-radius:7px;font-size:13px;font-weight:500;color:var(--txt);transition:background .1s;text-decoration:none}
.nav-drop-item:hover{background:var(--pl);color:var(--pr)}
.nav-drop-item.danger{color:var(--dn)}
.nav-drop-item.danger:hover{background:var(--dl)}
.nav-drop-sep{border:none;border-top:1px solid var(--bdr);margin:4px 0}

/* ── BUTTONS ── */
.btn{padding:9px 18px;border-radius:var(--r8);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:all .15s;display:inline-flex;align-items:center;gap:6px;text-decoration:none;white-space:nowrap}
.bp{background:var(--pr);color:#fff}.bp:hover{background:var(--pd)}
.bo{background:transparent;color:var(--pr);border:1.5px solid var(--pr)}.bo:hover{background:var(--pl)}
.ba{background:var(--ac);color:#fff}.ba:hover{background:#d97706}
.bi{background:var(--in);color:#fff}.bi:hover{background:#4338ca}
.bg{background:var(--sur2);color:var(--txt);border:1px solid var(--bdr)}.bg:hover{background:var(--bdr)}
.bpu{background:var(--pu);color:#fff}.bpu:hover{background:#6d28d9}
.bdn{background:var(--dn);color:#fff}.bdn:hover{background:#dc2626}
.bsm{padding:6px 12px !important;font-size:12px !important}
.bxs{padding:4px 9px !important;font-size:11px !important;border-radius:6px !important}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn-full{width:100%;justify-content:center;padding:12px}

/* ── FORMS ── */
.fg{display:flex;flex-direction:column;gap:5px;margin-bottom:13px}
.fg label{font-size:12px;font-weight:600;color:var(--mut)}
.fg input,.fg select,.fg textarea{padding:9px 11px;border:1.5px solid var(--bdr);border-radius:var(--r8);font-family:inherit;font-size:13px;color:var(--txt);background:var(--sur);transition:border .15s;outline:none;width:100%}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--pr);box-shadow:0 0 0 3px var(--pl)}
.fg textarea{resize:vertical;min-height:76px}
.fg select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%2364748b'%3E%3Cpath d='M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px;padding-right:32px}
.fg .hint{font-size:11px;color:var(--sub);margin-top:2px}
.req{color:var(--dn);font-size:11px}
.fg-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.fg-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:13px}
.file-drop{border:2px dashed var(--bdr);border-radius:var(--r8);padding:16px;text-align:center;color:var(--mut);font-size:13px;cursor:pointer;transition:all .15s;position:relative}
.file-drop:hover{border-color:var(--pr);color:var(--pr);background:var(--pl)}
.file-drop input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.file-drop.has-file{border-color:var(--pr);background:var(--pl);color:var(--pd);font-weight:600}

/* Checkboxes */
.cbw{display:flex;flex-wrap:wrap;gap:8px;padding:11px;border:1.5px solid var(--bdr);border-radius:var(--r8)}
.cb-opt{display:flex;align-items:center;gap:5px;font-size:13px;cursor:pointer;padding:6px 10px;border:1.5px solid var(--bdr);border-radius:6px;transition:all .15s}
.cb-opt:hover{border-color:var(--pr);background:var(--pl)}
.cb-opt input{accent-color:var(--pr)}
.cb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:7px;padding:11px;border:1.5px solid var(--bdr);border-radius:var(--r8)}

/* ── CHIPS ── */
.ch{display:inline-flex;align-items:center;padding:3px 10px;border-radius:100px;font-size:11px;font-weight:600;white-space:nowrap}
.cg{background:var(--pl);color:var(--pr)}
.ca{background:var(--al);color:#92400e}
.cr{background:var(--dl);color:#991b1b}
.cs{background:var(--sur2);color:var(--mut);border:1px solid var(--bdr)}
.cb_i{background:var(--il);color:var(--in)}
.cp{background:var(--pul);color:var(--pu)}

/* ── ALERTS ── */
.al{border-radius:var(--r8);padding:11px 14px;font-size:13px;margin-bottom:13px;line-height:1.6}
.al-g{background:var(--pl);color:var(--pd);border:1px solid var(--pr)}
.al-a{background:var(--al);color:#92400e;border:1px solid var(--ac)}
.al-r{background:var(--dl);color:#991b1b;border:1px solid var(--dn)}
.al-b{background:var(--il);color:var(--in);border:1px solid #a5b4fc}
.al-p{background:var(--pul);color:var(--pu);border:1px solid #c4b5fd}

/* ── STAT CARD ── */
.sc{background:var(--sur);border:1px solid var(--bdr);border-radius:var(--r12);padding:16px}
.sc .v{font-family:'Sora',sans-serif;font-size:1.7rem;font-weight:700;color:var(--pr)}
.sc .l{font-size:11px;color:var(--mut);font-weight:500;margin-top:2px}

/* ── HERO ── */
.hero{background:linear-gradient(135deg,#064e3b 0%,#065f46 60%,#047857 100%);padding:56px 24px 0;text-align:center;overflow:hidden;position:relative}
.hero-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:100px;padding:5px 14px;font-size:11px;font-weight:700;color:#a7f3d0;letter-spacing:.05em;text-transform:uppercase;margin-bottom:18px}
.hero h1{font-family:'Sora',sans-serif;font-size:clamp(1.8rem,4vw,2.8rem);color:#fff;margin-bottom:12px}
.hero-sub{color:#a7f3d0;max-width:560px;margin:0 auto 24px;line-height:1.7;font-size:15px}
.hero-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:28px}
.hero-stats{display:flex;align-items:center;justify-content:center;gap:0;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:16px 32px;margin:0 auto 28px;max-width:600px}
.hs{text-align:center;padding:0 20px}
.hs-v{display:block;font-family:'Sora',sans-serif;font-size:1.4rem;font-weight:700;color:#fff}
.hs-l{display:block;font-size:10px;color:#6ee7b7;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-top:2px}
.hs-div{width:1px;height:32px;background:rgba(255,255,255,.15)}

/* ── LISTINGS BELT ── */
.belt-out{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:12px 12px 0 0;padding:12px 0 12px 18px;margin:0 auto;max-width:960px;overflow:hidden;position:relative}
.belt-lbl{font-size:10px;font-weight:700;letter-spacing:.1em;color:#6ee7b7;text-transform:uppercase;margin-bottom:8px}
.belt-track{overflow:hidden}
.belt-in{display:flex;gap:12px;width:max-content}
.lp{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:11px 14px;min-width:240px;max-width:240px;cursor:pointer;transition:all .15s;flex-shrink:0}
.lp:hover{background:rgba(255,255,255,.2);transform:translateY(-2px)}
.lp-t{font-size:12.5px;font-weight:600;color:#fff;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lp-d{font-size:10px;color:#6ee7b7;margin-bottom:4px}
.lp-c{font-size:11px;font-weight:700;color:#fbbf24}
.belt-fade{position:absolute;top:0;right:0;bottom:0;width:56px;background:linear-gradient(to left,rgba(6,78,59,.95),transparent);pointer-events:none}

/* ── AD CARD ── */
.adc{background:var(--sur);border:1px solid var(--bdr);border-radius:var(--r12);padding:16px;cursor:pointer;transition:box-shadow .15s,transform .15s}
.adc:hover{box-shadow:0 6px 20px rgba(0,0,0,.1);transform:translateY(-2px)}
.aic{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;margin-bottom:10px;flex-shrink:0}

/* ── REFURB CARD ── */
.rfc{background:var(--sur);border:1px solid #e9d5ff;border-radius:var(--r12);padding:16px;cursor:pointer;transition:all .15s;position:relative}
.rfc:hover{box-shadow:0 6px 20px rgba(124,58,237,.12);transform:translateY(-2px)}
.rf-badge{position:absolute;top:12px;right:12px;background:var(--pu);color:#fff;font-size:10px;font-weight:700;padding:3px 8px;border-radius:100px}
.rf-price{font-family:'Sora',sans-serif;font-size:1.1rem;font-weight:700;color:var(--pu)}

/* ── TABS ── */
.dtabs{display:flex;gap:4px;border-bottom:2px solid var(--bdr);margin-bottom:22px;overflow-x:auto}
.dtab{padding:8px 16px;border:none;background:transparent;font-family:inherit;font-size:13px;font-weight:500;color:var(--mut);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s;white-space:nowrap;flex-shrink:0}
.dtab.on{color:var(--pr);border-bottom-color:var(--pr)}

/* ── FILTER BAR ── */
.fbar{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}
.fc{padding:5px 13px;border-radius:100px;font-size:12px;font-weight:600;cursor:pointer;border:1.5px solid var(--bdr);background:var(--sur);color:var(--mut);transition:all .15s}
.fc.on,.fc:hover{background:var(--pl);border-color:var(--pr);color:var(--pr)}

/* ── STEPS ── */
.steps{display:flex;margin-bottom:26px;align-items:flex-start}
.stp{flex:1;text-align:center;position:relative}
.stp::after{content:'';position:absolute;top:15px;left:50%;right:-50%;height:2px;background:var(--bdr)}
.stp:last-child::after{display:none}
.stp-d{width:30px;height:30px;border-radius:50%;background:var(--bdr);color:var(--mut);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin:0 auto 5px;position:relative;z-index:1;transition:all .2s}
.stp.done .stp-d{background:var(--pr);color:#fff}
.stp.now  .stp-d{background:var(--pr);color:#fff;box-shadow:0 0 0 4px var(--pl)}
.stp-l{font-size:10px;color:var(--mut);font-weight:500}
.stp.done .stp-l,.stp.now .stp-l{color:var(--pr)}

/* ── TIMELINE ── */
.tl{display:flex;flex-direction:column}
.tli{display:flex;gap:13px;padding-bottom:16px;position:relative}
.tli::before{content:'';position:absolute;left:14px;top:30px;bottom:0;width:2px;background:var(--bdr)}
.tli:last-child::before{display:none}
.tld{width:30px;height:30px;border-radius:50%;border:2px solid var(--bdr);background:var(--sur);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px;position:relative;z-index:1;font-weight:700;color:var(--mut)}
.tld.done{background:var(--pr);border-color:var(--pr);color:#fff}
.tld.now{background:var(--al);border-color:var(--ac);color:#92400e}

/* ── QUOTE ROW ── */
.qrow{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--bdr)}
.qrow:last-child{border-bottom:none}
.rnk{width:26px;height:26px;border-radius:50%;background:var(--pl);color:var(--pr);font-weight:700;font-size:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.rnk.gold{background:#fef3c7;color:#92400e}

/* ── PROGRESS BAR ── */
.ptr{background:var(--sur2);border-radius:100px;height:6px;overflow:hidden;margin-top:5px}
.pfl{height:100%;background:var(--pr);border-radius:100px;transition:width .3s}

/* ── CONTACT PERSON BLOCK ── */
.cpb{border:1.5px solid var(--bdr);border-radius:var(--r10);padding:13px;margin-bottom:10px;position:relative;background:var(--sur2)}
.cpb-t{font-size:11px;font-weight:700;color:var(--pr);text-transform:uppercase;letter-spacing:.05em;margin-bottom:9px}
.cpb-del{position:absolute;top:10px;right:10px;background:var(--dl);color:var(--dn);border:none;border-radius:5px;padding:3px 8px;font-size:11px;cursor:pointer;font-family:inherit}

/* ── MODAL ── */
.mov{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:9999;align-items:center;justify-content:center;padding:16px}
.mov.on{display:flex}
.mdl{background:var(--sur);border-radius:var(--r16);padding:26px;width:100%;max-width:540px;max-height:90vh;overflow-y:auto;box-shadow:var(--shd)}
.mdl-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.mdl-h h3{font-size:1rem}
.mdl-x{background:var(--sur2);border:1px solid var(--bdr);border-radius:6px;padding:4px 9px;cursor:pointer;font-size:12px;font-family:inherit;flex-shrink:0}

/* ── AUTOCOMPLETE ── */
.acw{position:relative}
.acdd{position:absolute;top:100%;left:0;right:0;background:var(--sur);border:1.5px solid var(--pr);border-top:none;border-radius:0 0 8px 8px;z-index:600;max-height:180px;overflow-y:auto;display:none;box-shadow:0 8px 20px rgba(0,0,0,.1)}
.acdd.on{display:block}
.aci{padding:9px 12px;font-size:13px;cursor:pointer;border-bottom:1px solid var(--bdr)}
.aci:last-child{border-bottom:none}
.aci:hover{background:var(--pl);color:var(--pr)}
.aci-active{background:var(--pl);color:var(--pr)}

/* ── STAR RATING ── */
.stars{display:flex;gap:4px}
.star{font-size:1.25rem;cursor:pointer;transition:transform .1s;color:#d1d5db}
.star.on{color:var(--ac)}
.star:hover{transform:scale(1.2)}

/* ── DASHBOARD HEADER BANNER ── */
.dash-header{border-radius:14px;padding:28px;margin-bottom:24px;display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:16px}
.dash-header-brand{background:linear-gradient(135deg,#064e3b,#065f46)}
.dash-header-recycler{background:linear-gradient(135deg,#1e3a5f,#1e4976)}
.dash-header-individual{background:linear-gradient(135deg,#78350f,#92400e)}
.dh-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px}
.dh-label-brand{color:#6ee7b7}
.dh-label-recycler{color:#93c5fd}
.dh-label-individual{color:#fcd34d}
.dh-name{font-size:1.5rem;margin-bottom:4px;color:#fff}
.dh-meta{font-size:13px}
.dh-meta-brand{color:#a7f3d0}
.dh-meta-recycler{color:#bfdbfe}
.dh-meta-individual{color:#fef3c7}
.dh-chips{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.dh-chip{background:rgba(255,255,255,.15);color:#fff;padding:3px 10px;border-radius:100px;font-size:11px;font-weight:600}

/* ── NOTIF CARD ── */
.notif-card{background:var(--sur);border:1.5px solid var(--pr);border-radius:var(--r12);padding:16px}
.notif-card.read{border-color:var(--bdr);opacity:.8}

/* ── TABLE ── */
.tbl{width:100%;border-collapse:collapse;font-size:13px}
.tbl th{padding:11px 14px;text-align:left;font-weight:600;color:var(--mut);background:var(--sur2);font-size:12px}
.tbl td{padding:11px 14px;border-top:1px solid var(--bdr);vertical-align:middle}
.tbl tr:hover td{background:var(--sur2)}

/* ── EMPTY STATE ── */
.emp{text-align:center;padding:40px 20px;color:var(--mut)}
.emp .ei{font-size:2.4rem;margin-bottom:10px}

/* ── TAGS ── */
.tag{display:inline-flex;align-items:center;gap:4px;background:var(--pl);color:var(--pr);border-radius:100px;padding:3px 10px;font-size:12px;font-weight:600}
.tag .tag-x{cursor:pointer;font-weight:700;margin-left:2px}

/* ── PAGE SECTIONS ── */
.section{padding:56px 0}
.section-dark{background:linear-gradient(135deg,#064e3b,#065f46);padding:56px 0}

/* ── FOOTER ── */
.footer{background:var(--txt);color:#fff;padding:48px 0 0}
.footer-inner{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px}
.footer-logo{font-family:'Sora',sans-serif;font-size:1.2rem;font-weight:700;color:#fff;margin-bottom:10px}
.footer-logo span{color:var(--ac)}
.footer-desc{color:#94a3b8;font-size:13px;line-height:1.7}
.footer-col h4{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;margin-bottom:14px}
.footer-col a{display:block;font-size:13px;color:#cbd5e1;margin-bottom:8px;transition:color .15s}
.footer-col a:hover{color:var(--ac)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.07);padding:18px 0;text-align:center}
.footer-bottom p{font-size:12px;color:#475569;margin-bottom:3px}

/* ── UTILITY ── */
.mut{color:var(--mut)}
.txt-sm{font-size:12px}
.txt-xs{font-size:11px}
.fw6{font-weight:600}
.fw7{font-weight:700}
.mt4{margin-top:4px}
.mt8{margin-top:8px}
.mt12{margin-top:12px}
.mt16{margin-top:16px}
.mb8{margin-bottom:8px}
.mb12{margin-bottom:12px}
.mb16{margin-bottom:16px}
.mb20{margin-bottom:20px}
.flex{display:flex}.fac{align-items:center}.fjb{justify-content:space-between}
.gap8{gap:8px}.gap12{gap:12px}.gap16{gap:16px}
.text-center{text-align:center}
.hidden{display:none!important}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .g3,.g4{grid-template-columns:1fr 1fr}
  .footer-inner{grid-template-columns:1fr 1fr}
  .nav-links{display:none}
  .mob-menu-btn{display:flex!important}
}
@media(max-width:640px){
  .g2,.g3,.g4,.fg-row,.fg-3{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr}
  .hero h1{font-size:1.8rem}
  .hero-stats{flex-direction:column;gap:12px;padding:16px}
  .hs-div{display:none}
  .dash-header{flex-direction:column}
}
