@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Mono:wght@400;500&family=DM+Sans:wght@300;400;500;600&display=swap');
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#eef2f7;--surface:#ffffff;--card:#ffffff;--border:#c8d5e8;
  --accent:#003087;--accent-hover:#00236b;--accent2:#cc2200;
  --green:#15803d;--red:#dc2626;--blue:#1d4ed8;
  --text:#0f172a;--muted:#64748b;--sub:#475569;
  --navy-light:#e8eef8;--navy-mid:#b8cce4;
}
body{background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;overflow-x:hidden}

/* HEADER */
.header{background:var(--accent);border-bottom:3px solid #00236b;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:72px;position:sticky;top:0;z-index:100;box-shadow:0 2px 12px rgba(0,48,135,.25)}
.logo{font-family:'Bebas Neue',sans-serif;font-size:2rem;letter-spacing:.05em;color:#fff}
.logo span{color:#b8cce4}
.header-right{display:flex;gap:.75rem;align-items:center}
.nav-badge{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);color:rgba(255,255,255,.8);padding:.32rem .75rem;border-radius:4px;font-size:.78rem;font-family:'DM Mono',monospace;cursor:pointer;transition:all .2s}
.nav-badge:hover{background:rgba(255,255,255,.22);color:#fff}
.nav-badge.active{background:#fff;color:var(--accent);font-weight:600;border-color:#fff}

/* BANNER */
.banner{background:linear-gradient(135deg,var(--accent) 0%,#00236b 60%,#001550 100%);border-bottom:3px solid var(--navy-mid);padding:3rem 2rem;position:relative;overflow:hidden}
.banner::before{content:'AUCTION';position:absolute;right:-1rem;top:50%;transform:translateY(-50%);font-family:'Bebas Neue',sans-serif;font-size:13rem;color:rgba(255,255,255,.05);pointer-events:none;line-height:1}
.banner-inner{max-width:1200px;margin:0 auto}
.banner-eyebrow{font-family:'DM Mono',monospace;font-size:.73rem;color:#b8cce4;letter-spacing:.15em;text-transform:uppercase;margin-bottom:.5rem}
.banner-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.5rem,6vw,5rem);line-height:1;margin-bottom:1rem;color:#fff}
.banner-title span{color:#7eb3e0}
.banner-sub{color:#b8cce4;font-size:.92rem;max-width:520px;line-height:1.6}
.banner-stats{display:flex;gap:2rem;margin-top:1.5rem;flex-wrap:wrap}
.stat-val{font-family:'Bebas Neue',sans-serif;font-size:2rem;color:#fff}
.stat-lbl{font-size:.7rem;color:#7eb3e0;text-transform:uppercase;letter-spacing:.1em;font-family:'DM Mono',monospace}
.event-card{border-radius:6px;padding:.9rem 1.3rem;min-width:210px}
.event-card.live{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35)}
.event-card.upcoming{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12)}

/* TOOLBAR */
.toolbar{max-width:1200px;margin:0 auto;padding:1.1rem 2rem;display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;background:var(--surface);border-bottom:1px solid var(--border)}
.tlbl{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-family:'DM Mono',monospace;white-space:nowrap}
.filter-btn{background:var(--bg);border:1px solid var(--border);color:var(--sub);padding:.32rem .75rem;border-radius:4px;font-size:.78rem;cursor:pointer;transition:all .2s;white-space:nowrap}
.filter-btn:hover,.filter-btn.active{border-color:var(--accent);color:var(--accent);background:var(--navy-light)}
.toolbar-right{margin-left:auto;display:flex;gap:.5rem;align-items:center}
.cta{background:var(--accent);color:#fff;border:none;border-radius:4px;padding:.48rem 1.1rem;font-size:.83rem;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap}
.cta:hover{background:var(--accent-hover)}

/* GRID */
.grid{max-width:1200px;margin:0 auto;padding:1.5rem 2rem 4rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.4rem}

/* CARD */
.card{background:var(--card);border:1px solid var(--border);border-radius:8px;overflow:hidden;transition:border-color .25s,transform .2s,box-shadow .2s;position:relative;box-shadow:0 1px 4px rgba(0,48,135,.06)}
.card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,48,135,.12)}
.card.closing-soon{border-color:var(--accent2);box-shadow:0 2px 12px rgba(204,34,0,.15)}
.card.closed{opacity:.55}
.lot-tag{position:absolute;top:10px;left:10px;z-index:5;background:rgba(0,48,135,.88);font-family:'DM Mono',monospace;font-size:.68rem;color:#fff;padding:.18rem .48rem;border-radius:3px;letter-spacing:.1em}
.cond-tag{position:absolute;top:10px;right:10px;z-index:5;padding:.22rem .52rem;border-radius:3px;font-size:.68rem;font-weight:600}
.cond-tag.runs{background:rgba(21,128,61,.15);color:var(--green);border:1px solid rgba(21,128,61,.3)}
.cond-tag.no-start{background:rgba(220,38,38,.12);color:var(--red);border:1px solid rgba(220,38,38,.28)}
.photo-wrap{position:relative;height:230px;overflow:hidden;background:#1a2540}
.photo-wrap img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .4s}
.card:hover .photo-wrap img{transform:scale(1.02)}
.photo-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--muted);gap:.4rem}
.photo-cnt{position:absolute;bottom:8px;right:8px;background:rgba(0,48,135,.75);font-family:'DM Mono',monospace;font-size:.62rem;color:#fff;padding:.16rem .42rem;border-radius:3px}
.photo-cnt.warn{background:rgba(204,34,0,.75)}
.photo-nav{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);display:flex;gap:4px}
.photo-dot{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.55);cursor:pointer;transition:background .2s}
.photo-dot.active{background:#fff}
.photo-arr{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,48,135,.7);border:none;color:#fff;width:28px;height:28px;border-radius:50%;font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}
.card:hover .photo-arr{opacity:1}
.photo-arr.prev{left:7px}.photo-arr.next{right:7px}
.card-body{padding:.95rem}
.car-name{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;letter-spacing:.03em;margin-bottom:.08rem;line-height:1.1;color:var(--text)}
.vin-txt{font-family:'DM Mono',monospace;font-size:.65rem;color:var(--muted);letter-spacing:.06em;margin-bottom:.65rem}
.meta-row{display:flex;gap:.85rem;margin-bottom:.75rem;flex-wrap:wrap}
.meta-lbl{font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-family:'DM Mono',monospace}
.meta-val{font-size:.84rem;color:var(--sub);margin-top:1px}
.meta-val.warn{color:var(--accent2)}
.meta-val.green{color:var(--green)}
.divider{border:none;border-top:1px solid var(--border);margin:.75rem 0}
.bid-row{display:flex;align-items:flex-end;justify-content:space-between}
.bid-lbl{font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-family:'DM Mono',monospace}
.bid-amt{font-family:'Bebas Neue',sans-serif;font-size:1.85rem;color:var(--accent);line-height:1}
.bid-min{font-size:.68rem;color:var(--muted);margin-top:2px;font-family:'DM Mono',monospace}
.timer{display:flex;gap:3px;align-items:center}
.timer-seg{background:var(--navy-light);border:1px solid var(--navy-mid);border-radius:3px;padding:2px 6px;text-align:center}
.timer-num{font-family:'DM Mono',monospace;font-size:.95rem;font-weight:500;color:var(--accent);line-height:1}
.timer-lbl{font-size:.5rem;text-transform:uppercase;color:var(--muted);letter-spacing:.08em}
.timer-col{font-family:'DM Mono',monospace;font-size:.9rem;color:var(--navy-mid);margin-top:-4px}
.timer.hot .timer-seg{border-color:rgba(204,34,0,.4);background:rgba(204,34,0,.06)}
.timer.hot .timer-num{color:var(--accent2)}
.bid-btn{width:100%;margin-top:.85rem;padding:.68rem;background:var(--accent);border:none;color:#fff;font-size:.86rem;font-weight:600;border-radius:4px;cursor:pointer;transition:background .2s;letter-spacing:.05em;text-transform:uppercase;font-family:'DM Sans',sans-serif}
.bid-btn:hover{background:var(--accent-hover)}
.bid-btn:disabled{background:var(--border);color:var(--muted);cursor:not-allowed}
.co-badge{display:inline-flex;align-items:center;gap:5px;padding:.16rem .48rem;border-radius:3px;font-size:.65rem;font-family:'DM Mono',monospace;font-weight:500;margin-bottom:.45rem}

/* MODALS */
.modal-bg{position:fixed;inset:0;background:rgba(0,24,80,.65);z-index:200;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fi .15s ease}
@keyframes fi{from{opacity:0}to{opacity:1}}
.modal{background:var(--surface);border:1px solid var(--border);border-radius:10px;width:100%;max-width:580px;max-height:92vh;overflow-y:auto;animation:su .2s ease;box-shadow:0 20px 60px rgba(0,48,135,.2)}
.modal.wide{max-width:780px}
.modal.xl{max-width:1000px}
@keyframes su{from{transform:translateY(14px);opacity:0}to{transform:translateY(0);opacity:1}}
.mhd{padding:1.4rem 1.5rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:flex-start;background:var(--navy-light)}
.mtitle{font-family:'Bebas Neue',sans-serif;font-size:1.55rem;letter-spacing:.04em;color:var(--accent)}
.msub{font-size:.8rem;color:var(--muted);margin-top:.18rem}
.mclose{background:none;border:none;color:var(--muted);font-size:1.5rem;cursor:pointer;line-height:1;padding:0}
.mclose:hover{color:var(--text)}
.mbody{padding:1.4rem 1.5rem}
.mfoot{padding:1.4rem 1.5rem;border-top:1px solid var(--border);display:flex;gap:.7rem;background:var(--bg)}

/* FORMS */
.fsec{margin-bottom:1.35rem}
.fsec-title{font-family:'DM Mono',monospace;font-size:.67rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin-bottom:.8rem}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-bottom:.65rem}
.frow.s{grid-template-columns:1fr}.frow.t{grid-template-columns:1fr 1fr 1fr}
.fgrp{display:flex;flex-direction:column;gap:.26rem}
.flbl{font-size:.72rem;color:var(--sub);letter-spacing:.04em;font-weight:500}
.finput{background:#fff;border:1px solid var(--border);color:var(--text);padding:.55rem .7rem;border-radius:4px;font-size:.84rem;font-family:'DM Sans',sans-serif;transition:border-color .2s;outline:none;width:100%}
.finput:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,48,135,.1)}
.fselect{appearance:none}

/* BUTTONS */
.btn-p{flex:1;background:var(--accent);color:#fff;border:none;border-radius:4px;padding:.68rem 1.3rem;font-size:.86rem;font-weight:700;cursor:pointer;transition:background .2s;font-family:'DM Sans',sans-serif}
.btn-p:hover{background:var(--accent-hover)}.btn-p:disabled{opacity:.38;cursor:not-allowed}
.btn-g{flex:0 0 auto;background:#fff;color:var(--sub);border:1px solid var(--border);border-radius:4px;padding:.68rem 1.1rem;font-size:.86rem;cursor:pointer;transition:all .2s;font-family:'DM Sans',sans-serif}
.btn-g:hover{border-color:var(--accent);color:var(--accent)}
.btn-sm{background:#fff;border:1px solid var(--border);color:var(--sub);padding:.26rem .58rem;border-radius:4px;cursor:pointer;font-size:.73rem;transition:all .2s}
.btn-sm:hover{border-color:var(--accent);color:var(--accent)}
.btn-danger{background:rgba(220,38,38,.08);color:var(--red);border:1px solid rgba(220,38,38,.25);border-radius:4px;padding:.26rem .58rem;font-size:.73rem;cursor:pointer}
.btn-approve{background:rgba(21,128,61,.1);color:var(--green);border:1px solid rgba(21,128,61,.25);border-radius:4px;padding:.26rem .58rem;font-size:.73rem;cursor:pointer}

/* NOTICES */
.notice{background:rgba(0,48,135,.05);border:1px solid rgba(0,48,135,.15);border-radius:4px;padding:.68rem .95rem;font-size:.77rem;color:var(--sub);line-height:1.55;margin-bottom:.9rem}
.notice strong{color:var(--accent)}
.notice.info{background:rgba(29,78,216,.06);border-color:rgba(29,78,216,.2)}
.notice.ok{background:rgba(21,128,61,.06);border-color:rgba(21,128,61,.22)}
.notice.warn{background:rgba(220,38,38,.06);border-color:rgba(220,38,38,.2)}

/* TABS */
.tabs{display:flex;border-bottom:2px solid var(--border);margin-bottom:1.4rem;gap:0;overflow-x:auto;background:var(--surface)}
.tab{padding:.55rem 1.05rem;font-size:.82rem;cursor:pointer;border-bottom:2px solid transparent;color:var(--muted);transition:all .2s;margin-bottom:-2px;white-space:nowrap}
.tab.active{border-bottom-color:var(--accent);color:var(--accent);font-weight:600}
.tab:hover:not(.active){color:var(--text)}

/* ADMIN */
.admin-wrap{max-width:1300px;margin:0 auto;padding:2rem}
.admin-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.8rem;gap:1rem;flex-wrap:wrap}
.admin-title{font-family:'Bebas Neue',sans-serif;font-size:1.9rem;color:var(--accent)}
.admin-actions{display:flex;gap:.6rem;flex-wrap:wrap}
.admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.3rem}
.acard{background:var(--card);border:1px solid var(--border);border-radius:8px;overflow:hidden;box-shadow:0 1px 4px rgba(0,48,135,.06)}
.acard-hd{padding:.8rem 1.05rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:flex-start;gap:.4rem;background:var(--navy-light)}
.acard-title{font-family:'Bebas Neue',sans-serif;font-size:.92rem;flex:1;min-width:0;color:var(--accent)}
.acard-body{padding:1.05rem}
.arow{display:flex;justify-content:space-between;align-items:center;padding:.35rem 0;border-bottom:1px solid var(--border)}
.arow:last-child{border-bottom:none}
.arow-lbl{font-size:.68rem;color:var(--muted);font-family:'DM Mono',monospace}
.arow-val{font-size:.82rem;color:var(--text);text-align:right}

/* PHOTO GRID */
.photo-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:.32rem;margin-bottom:.75rem}
.pslot{aspect-ratio:4/3;border-radius:3px;overflow:hidden;position:relative;border:1px solid var(--border);background:var(--navy-light);cursor:pointer}
.pslot img{width:100%;height:100%;object-fit:cover}
.pslot-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:2px;transition:background .2s}
.pslot:hover .pslot-empty{background:var(--navy-mid)}
.pslot-empty span{font-size:.5rem;color:var(--muted);font-family:'DM Mono',monospace}
.pslot-rm{position:absolute;top:2px;right:2px;background:rgba(0,0,0,.7);border:none;color:#fff;width:15px;height:15px;border-radius:50%;font-size:.6rem;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}
.pslot:hover .pslot-rm{opacity:1}
.photo-status{display:flex;align-items:center;gap:5px;font-size:.68rem;font-family:'DM Mono',monospace;margin-bottom:.48rem}
.photo-status.ok{color:var(--green)}.photo-status.warn{color:var(--accent2)}.photo-status.err{color:var(--red)}

/* DISPATCH LINK */
.dispatch-link{display:inline-flex;align-items:center;gap:5px;font-size:.68rem;font-family:'DM Mono',monospace;color:var(--accent);border:1px solid var(--navy-mid);border-radius:3px;padding:.16rem .48rem;transition:all .2s;cursor:pointer;background:var(--navy-light);text-decoration:none}
.dispatch-link:hover{background:var(--navy-mid);border-color:var(--accent)}
.pulse{width:6px;height:6px;border-radius:50%;background:var(--green);animation:pl 2s infinite;flex-shrink:0}
@keyframes pl{0%,100%{opacity:1}50%{opacity:.4}}

/* PAYMENT METHOD CARDS */
.pay-card{border:2px solid var(--border);border-radius:6px;padding:.85rem 1rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.85rem;margin-bottom:.6rem;background:#fff}
.pay-card:hover{border-color:var(--navy-mid)}
.pay-card.selected{border-color:var(--accent);background:var(--navy-light)}
.pay-icon{font-size:1.5rem;flex-shrink:0}
.pay-label{font-size:.9rem;font-weight:600;color:var(--text)}
.pay-note{font-size:.73rem;color:var(--muted);margin-top:2px;line-height:1.4}
.pay-radio{width:16px;height:16px;border:2px solid var(--border);border-radius:50%;flex-shrink:0;transition:all .2s;margin-left:auto;position:relative}
.pay-card.selected .pay-radio{border-color:var(--accent)}
.pay-card.selected .pay-radio::after{content:'';position:absolute;width:8px;height:8px;background:var(--accent);border-radius:50%;top:2px;left:2px}

/* KEEP-ON-FILE TOGGLE */
.kof-toggle{display:flex;align-items:center;gap:.85rem;background:rgba(21,128,61,.06);border:1px solid rgba(21,128,61,.22);border-radius:6px;padding:.85rem 1rem;cursor:pointer;transition:all .2s;margin-top:.75rem}
.kof-toggle:hover{border-color:rgba(21,128,61,.4)}
.kof-toggle.off{background:var(--bg);border-color:var(--border)}
.kof-icon{font-size:1.25rem;flex-shrink:0}
.kof-text{}
.kof-title{font-size:.88rem;font-weight:600;color:var(--text)}
.kof-sub{font-size:.73rem;color:var(--muted);margin-top:2px;line-height:1.4}
.toggle-pill{width:38px;height:22px;border-radius:11px;background:var(--border);position:relative;transition:background .2s;flex-shrink:0;margin-left:auto}
.toggle-pill.on{background:var(--green)}
.toggle-pill::after{content:'';position:absolute;width:16px;height:16px;background:#fff;border-radius:50%;top:3px;left:3px;transition:left .2s}
.toggle-pill.on::after{left:19px}

/* BADGES */
.pend-badge{display:inline-flex;align-items:center;gap:5px;font-size:.68rem;font-family:'DM Mono',monospace;padding:.18rem .5rem;border-radius:3px;background:rgba(234,179,8,.12);color:#854d0e;border:1px solid rgba(234,179,8,.3)}
.appr-badge{display:inline-flex;align-items:center;gap:5px;font-size:.68rem;font-family:'DM Mono',monospace;padding:.18rem .5rem;border-radius:3px;background:rgba(21,128,61,.1);color:var(--green);border:1px solid rgba(21,128,61,.25)}
.wl-badge{display:inline-flex;align-items:center;gap:4px;font-size:.65rem;font-family:'DM Mono',monospace;padding:.15rem .45rem;border-radius:3px;background:rgba(0,48,135,.1);color:var(--accent);border:1px solid rgba(0,48,135,.2)}

/* BIDDER TABLE */
.bidder-table{width:100%;border-collapse:collapse}
.bidder-table th{font-family:'DM Mono',monospace;font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding:.48rem .85rem;border-bottom:2px solid var(--border);text-align:left;white-space:nowrap;background:var(--navy-light)}
.bidder-table td{padding:.58rem .85rem;border-bottom:1px solid var(--border);font-size:.82rem;vertical-align:middle}
.bidder-table tr:last-child td{border-bottom:none}
.bidder-table tr.wl-row td{background:rgba(0,48,135,.03)}

/* IMPORT TABLE */
.itbl{width:100%;border-collapse:collapse;font-size:.79rem}
.itbl th{font-family:'DM Mono',monospace;font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding:.45rem .68rem;border-bottom:2px solid var(--border);text-align:left;white-space:nowrap;background:var(--navy-light)}
.itbl td{padding:.52rem .68rem;border-bottom:1px solid var(--border);vertical-align:middle}
.itbl tr:last-child td{border-bottom:none}
.itbl tr.sel td{background:var(--navy-light)}
.ichk{width:14px;height:14px;accent-color:var(--accent);cursor:pointer}

/* HISTORY */
.hist-auction{background:var(--card);border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:1.25rem;box-shadow:0 1px 4px rgba(0,48,135,.06)}
.hist-auction-hd{padding:.9rem 1.2rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .2s}
.hist-auction-hd:hover{background:var(--navy-light)}
.hist-auction-title{font-family:'Bebas Neue',sans-serif;font-size:1.1rem;color:var(--accent)}
.hist-auction-meta{font-family:'DM Mono',monospace;font-size:.68rem;color:var(--muted)}
.hist-stats{display:flex;gap:1.5rem;margin-right:1rem}
.hist-stat-val{font-family:'Bebas Neue',sans-serif;font-size:1.3rem;color:var(--accent)}
.hist-stat-lbl{font-size:.6rem;font-family:'DM Mono',monospace;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.hist-lot-row{display:flex;align-items:center;gap:1rem;padding:.62rem 1.2rem;border-bottom:1px solid var(--border);flex-wrap:wrap}
.hist-lot-row:last-child{border-bottom:none}
.hist-lot-row.no-sale{background:rgba(220,38,38,.03)}
.hist-check{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}
.nosale-tag{background:rgba(220,38,38,.1);color:var(--red);border:1px solid rgba(220,38,38,.25);padding:.15rem .45rem;border-radius:3px;font-size:.65rem;font-family:'DM Mono',monospace;font-weight:600}
.sold-tag{background:rgba(21,128,61,.1);color:var(--green);border:1px solid rgba(21,128,61,.25);padding:.15rem .45rem;border-radius:3px;font-size:.65rem;font-family:'DM Mono',monospace;font-weight:600}

/* DROP ZONE */
.drop-zone{border:2px dashed var(--navy-mid);border-radius:8px;padding:1.8rem;text-align:center;transition:all .2s;cursor:pointer;background:#fff}
.drop-zone:hover,.drop-zone.over{border-color:var(--accent);background:var(--navy-light)}
.dz-icon{font-size:2rem;margin-bottom:.55rem}
.dz-title{font-family:'Bebas Neue',sans-serif;font-size:1.25rem;margin-bottom:.3rem;color:var(--accent)}
.dz-sub{font-size:.78rem;color:var(--muted);line-height:1.55}
.dz-sub strong{color:var(--accent)}
.match-item{display:flex;align-items:center;gap:.65rem;padding:.5rem;border:1px solid var(--border);border-radius:5px;margin-bottom:.4rem;background:#fff}
.match-thumb{width:55px;height:36px;object-fit:cover;border-radius:3px;background:var(--navy-light);flex-shrink:0}
.match-name{font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}
.match-st{font-size:.67rem;font-family:'DM Mono',monospace;margin-top:2px}
.match-st.ok{color:var(--green)}.match-st.warn{color:var(--accent2)}

/* SETTINGS */
.srow{display:flex;align-items:center;gap:.9rem;padding:.82rem 1.2rem;border-bottom:1px solid var(--border)}
.srow:last-child{border-bottom:none}
.slbl{flex:1}.slbl-main{font-size:.85rem;color:var(--text)}.slbl-sub{font-size:.72rem;color:var(--muted);margin-top:2px}
.sinput{width:95px;text-align:center}

/* INCREMENT BUTTONS */
.inc-group{display:flex;gap:.4rem;flex-wrap:wrap}
.inc-btn{background:#fff;border:1px solid var(--border);color:var(--sub);padding:.26rem .6rem;border-radius:4px;font-size:.75rem;font-family:'DM Mono',monospace;cursor:pointer;transition:all .2s}
.inc-btn:hover,.inc-btn.sel{border-color:var(--accent);color:var(--accent);background:var(--navy-light)}

/* TAGS */
.tag{display:inline-block;padding:.15rem .45rem;border-radius:3px;font-size:.67rem;font-weight:600;font-family:'DM Mono',monospace}
.tag-runs{background:rgba(21,128,61,.12);color:var(--green)}
.tag-ns{background:rgba(220,38,38,.1);color:var(--red)}
.tag-pend{background:rgba(0,48,135,.1);color:var(--accent)}

/* SUCCESS / DEPOSIT */
.succ-icon{width:60px;height:60px;background:rgba(21,128,61,.12);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin:0 auto .9rem}
.succ-title{font-family:'Bebas Neue',sans-serif;font-size:1.75rem;text-align:center;margin-bottom:.45rem;color:var(--accent)}
.dep-box{background:var(--navy-light);border:1px solid var(--navy-mid);border-radius:6px;padding:1rem;margin-bottom:.9rem}
.dep-amt{font-family:'Bebas Neue',sans-serif;font-size:2.1rem;color:var(--accent)}
.dep-status{background:var(--navy-light);border:1px solid var(--navy-mid);border-radius:5px;padding:.65rem .9rem;display:flex;align-items:center;gap:.65rem}
.dep-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.bid-car-row{display:flex;gap:.9rem;align-items:center;margin-bottom:1.3rem;padding-bottom:1.3rem;border-bottom:1px solid var(--border)}
.bid-thumb{width:90px;height:58px;object-fit:cover;border-radius:4px;border:1px solid var(--border);background:var(--navy-light);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--muted)}
.bid-in-row{display:flex;align-items:stretch;margin-bottom:.4rem}
.bid-in-pre{background:var(--navy-light);border:1px solid var(--border);border-right:none;border-radius:4px 0 0 4px;padding:0 .65rem;display:flex;align-items:center;font-family:'Bebas Neue',sans-serif;font-size:1.25rem;color:var(--accent)}
.bid-in{flex:1;border-radius:0 4px 4px 0!important;font-family:'Bebas Neue',sans-serif!important;font-size:1.45rem!important;color:var(--accent)!important}

@media(max-width:640px){.grid{grid-template-columns:1fr}.banner-title{font-size:2.5rem}.frow{grid-template-columns:1fr}.frow.t{grid-template-columns:1fr}.modal-bg{align-items:flex-end;padding:0}.modal{border-radius:12px 12px 0 0;max-height:87vh}}

/* INVOICE */
.inv-header{background:var(--accent);color:#fff;padding:1.4rem 1.5rem;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.inv-company{font-family:'Bebas Neue',sans-serif;font-size:1.6rem;letter-spacing:.05em}
.inv-company-sub{font-size:.72rem;color:rgba(255,255,255,.7);line-height:1.6;margin-top:.2rem}
.inv-num-block{text-align:right}
.inv-num-label{font-family:'DM Mono',monospace;font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.6)}
.inv-num{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;letter-spacing:.05em}
.inv-date{font-family:'DM Mono',monospace;font-size:.68rem;color:rgba(255,255,255,.65);margin-top:.15rem}
.inv-table{width:100%;border-collapse:collapse;margin:1.2rem 0}
.inv-table th{font-family:'DM Mono',monospace;font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding:.45rem .7rem;border-bottom:2px solid var(--border);text-align:left}
.inv-table td{padding:.6rem .7rem;border-bottom:1px solid var(--border);font-size:.85rem;vertical-align:top}
.inv-table tr:last-child td{border-bottom:none}
.inv-totals{background:var(--navy-light);border:1px solid var(--navy-mid);border-radius:6px;padding:1rem 1.2rem;min-width:260px}
.inv-total-row{display:flex;justify-content:space-between;gap:2rem;font-size:.85rem;padding:.28rem 0;border-bottom:1px solid var(--border)}
.inv-total-row:last-child{border-bottom:none}
.inv-total-row.grand{font-family:'Bebas Neue',sans-serif;font-size:1.35rem;color:var(--accent);padding-top:.5rem;margin-top:.3rem;border-top:2px solid var(--navy-mid);border-bottom:none}
.inv-tax-row{display:flex;align-items:center;gap:.6rem;padding:.28rem 0;border-bottom:1px solid var(--border);font-size:.85rem}
.inv-exempt-badge{background:rgba(21,128,61,.12);color:var(--green);border:1px solid rgba(21,128,61,.25);padding:.1rem .4rem;border-radius:3px;font-size:.65rem;font-family:'DM Mono',monospace;font-weight:600}
.inv-vehicle{background:var(--navy-light);border:1px solid var(--navy-mid);border-radius:6px;padding:.9rem 1.1rem;margin-bottom:1.2rem;display:flex;gap:1rem;align-items:center}
.inv-vehicle-info{flex:1}
.inv-vehicle-name{font-family:'Bebas Neue',sans-serif;font-size:1.15rem;color:var(--accent)}
.inv-vehicle-meta{font-family:'DM Mono',monospace;font-size:.65rem;color:var(--muted);margin-top:.2rem}
.inv-thumb{width:90px;height:58px;object-fit:cover;border-radius:4px;border:1px solid var(--border);flex-shrink:0;background:var(--navy-mid)}

/* NOTIFY MODAL */
.notify-method{border:2px solid var(--border);border-radius:6px;padding:.75rem 1rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.75rem;margin-bottom:.55rem;background:#fff}
.notify-method:hover{border-color:var(--navy-mid)}
.notify-method.sel{border-color:var(--accent);background:var(--navy-light)}
.notify-preview{background:var(--navy-light);border:1px solid var(--navy-mid);border-radius:6px;padding:.85rem 1rem;font-size:.8rem;color:var(--sub);line-height:1.6;font-family:'DM Mono',monospace;white-space:pre-wrap;margin-bottom:.9rem}

/* COMMENTS */
.comment-item{display:flex;gap:.65rem;padding:.65rem 0;border-bottom:1px solid var(--border)}
.comment-item:last-child{border-bottom:none}
.comment-avatar{width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;flex-shrink:0;font-family:'DM Mono',monospace}
.comment-body{flex:1;min-width:0}
.comment-meta{display:flex;gap:.5rem;align-items:center;margin-bottom:.2rem}
.comment-staff{font-size:.75rem;font-weight:600;color:var(--text)}
.comment-ts{font-size:.65rem;color:var(--muted);font-family:'DM Mono',monospace}
.comment-text{font-size:.82rem;color:var(--sub);line-height:1.5}
.comment-input-row{display:flex;gap:.5rem;margin-top:.75rem}

/* CUSTOMER PORTAL */
.portal-wrap{max-width:900px;margin:0 auto;padding:2rem}
.portal-hero{background:var(--accent);border-radius:10px;padding:1.8rem 2rem;margin-bottom:2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.portal-hero-name{font-family:'Bebas Neue',sans-serif;font-size:1.8rem;color:#fff;letter-spacing:.04em}
.portal-hero-sub{font-size:.82rem;color:rgba(255,255,255,.7);margin-top:.2rem;font-family:'DM Mono',monospace}
.portal-hero-badge{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);color:#fff;padding:.35rem .85rem;border-radius:20px;font-size:.78rem;font-family:'DM Mono',monospace}
.inv-card{background:var(--card);border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:1.2rem;box-shadow:0 1px 4px rgba(0,48,135,.06);transition:box-shadow .2s}
.inv-card:hover{box-shadow:0 4px 16px rgba(0,48,135,.1)}
.inv-card-hd{padding:.9rem 1.2rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;cursor:pointer;transition:background .2s}
.inv-card-hd:hover{background:var(--navy-light)}
.inv-card-title{font-family:'Bebas Neue',sans-serif;font-size:1.05rem;color:var(--accent)}
.inv-card-meta{font-family:'DM Mono',monospace;font-size:.65rem;color:var(--muted);margin-top:.18rem}
.inv-card-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}
.inv-status{padding:.22rem .65rem;border-radius:20px;font-size:.68rem;font-family:'DM Mono',monospace;font-weight:600}
.inv-status.paid{background:rgba(21,128,61,.12);color:var(--green);border:1px solid rgba(21,128,61,.25)}
.inv-status.unpaid{background:rgba(220,38,38,.1);color:var(--red);border:1px solid rgba(220,38,38,.25)}
.inv-status.pending{background:rgba(0,48,135,.1);color:var(--accent);border:1px solid rgba(0,48,135,.2)}
.inv-card-body{padding:1.2rem}
.inv-breakdown{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1rem}
.inv-line{display:flex;justify-content:space-between;align-items:center;padding:.32rem .6rem;border-radius:4px;font-size:.84rem}
.inv-line:nth-child(odd){background:var(--navy-light)}
.inv-line.deposit-line{color:var(--green);font-weight:600}
.inv-line.balance-line{background:var(--accent);color:#fff;font-family:'Bebas Neue',sans-serif;font-size:1.15rem;border-radius:5px;margin-top:.25rem}
.inv-vehicle-strip{display:flex;align-items:center;gap:.85rem;padding:.75rem 1rem;background:var(--navy-light);border:1px solid var(--navy-mid);border-radius:6px;margin-bottom:1rem}
.inv-vs-name{font-family:'Bebas Neue',sans-serif;font-size:1rem;color:var(--accent)}
.inv-vs-meta{font-size:.68rem;color:var(--muted);font-family:'DM Mono',monospace;margin-top:.15rem}
.pay-now-btn{width:100%;background:var(--accent);color:#fff;border:none;border-radius:6px;padding:.75rem;font-size:.9rem;font-weight:700;cursor:pointer;transition:background .2s;font-family:'DM Sans',sans-serif;letter-spacing:.03em;margin-top:.75rem}
.pay-now-btn:hover{background:var(--accent-hover)}
.portal-empty{text-align:center;padding:4rem 2rem;color:var(--muted)}
.portal-empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.4}
.portal-empty-title{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;margin-bottom:.5rem;color:var(--sub)}

/* LOGIN PAGE */
.login-wrap{min-height:calc(100vh - 72px);display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--bg)}
.login-card{background:var(--card);border:1px solid var(--border);border-radius:10px;width:100%;max-width:420px;padding:2rem;box-shadow:0 8px 32px rgba(0,48,135,.1)}
.login-logo{font-family:'Bebas Neue',sans-serif;font-size:1.6rem;color:var(--accent);text-align:center;margin-bottom:.3rem;letter-spacing:.05em}
.login-sub{font-size:.8rem;color:var(--muted);text-align:center;margin-bottom:1.8rem}
.login-error{background:rgba(220,38,38,.08);border:1px solid rgba(220,38,38,.25);border-radius:4px;padding:.6rem .9rem;font-size:.78rem;color:var(--red);margin-bottom:1rem}
.login-footer{text-align:center;margin-top:1.2rem;font-size:.78rem;color:var(--muted)}
.login-link{color:var(--accent);cursor:pointer;text-decoration:underline;background:none;border:none;font-size:.78rem;padding:0}

/* ADMIN LOGIN */
.admin-login-wrap{min-height:calc(100vh - 72px);display:flex;align-items:center;justify-content:center;padding:2rem;background:#0a0e1a}
.admin-login-card{background:#111827;border:1px solid #1f2d4a;border-radius:10px;width:100%;max-width:400px;padding:2rem;box-shadow:0 8px 40px rgba(0,0,0,.5)}
.admin-login-logo{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;color:#7eb3e0;text-align:center;margin-bottom:.2rem;letter-spacing:.08em}
.admin-login-title{font-family:'Bebas Neue',sans-serif;font-size:1rem;color:#4a6fa5;text-align:center;margin-bottom:1.6rem;letter-spacing:.15em;text-transform:uppercase;font-size:.72rem;font-family:'DM Mono',monospace}
.admin-login-input{background:#0d1220;border:1px solid #1f2d4a;color:#c8d8f0;padding:.6rem .75rem;border-radius:4px;font-size:.86rem;font-family:'DM Mono',monospace;outline:none;width:100%;transition:border-color .2s;margin-bottom:.75rem}
.admin-login-input:focus{border-color:#3b6fa5}
.admin-login-input::placeholder{color:#2a3d5a}
.admin-login-btn{width:100%;background:#003087;color:#fff;border:none;border-radius:4px;padding:.72rem;font-size:.9rem;font-weight:700;cursor:pointer;transition:background .2s;font-family:'DM Sans',sans-serif;letter-spacing:.04em}
.admin-login-btn:hover{background:#00236b}
.admin-login-btn:disabled{opacity:.4;cursor:not-allowed}
.admin-login-err{background:rgba(220,38,38,.12);border:1px solid rgba(220,38,38,.3);border-radius:4px;padding:.55rem .85rem;font-size:.75rem;color:#f87171;margin-bottom:.85rem;font-family:'DM Mono',monospace}
.admin-login-label{font-size:.68rem;color:#4a6fa5;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.3rem;display:block;font-family:'DM Mono',monospace}

/* STAFF MGMT */
.staff-row{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border);flex-wrap:wrap}
.staff-row:last-child{border-bottom:none}
.staff-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;color:#fff;flex-shrink:0;font-family:'DM Mono',monospace}
.staff-info{flex:1;min-width:0}
.staff-name{font-size:.88rem;font-weight:600}
.staff-meta{font-size:.72rem;color:var(--muted);font-family:'DM Mono',monospace;margin-top:2px}
.role-badge{padding:.15rem .5rem;border-radius:3px;font-size:.65rem;font-family:'DM Mono',monospace;font-weight:600}
.pw-input-wrap{display:flex;gap:.4rem;align-items:center}
.pw-display{font-family:'DM Mono',monospace;font-size:.75rem;color:var(--muted);background:var(--navy-light);border:1px solid var(--navy-mid);border-radius:4px;padding:.3rem .65rem;letter-spacing:.08em}

/* CUSTOMER ACCOUNT MODAL — slide-in drawer */
.acct-bg{position:fixed;inset:0;background:rgba(0,24,80,.45);z-index:300;display:flex;justify-content:flex-end;animation:fi .2s ease}
.acct-drawer{background:var(--surface);width:100%;max-width:520px;height:100vh;overflow-y:auto;display:flex;flex-direction:column;box-shadow:-8px 0 40px rgba(0,48,135,.18);animation:drwIn .25s ease}
@keyframes drwIn{from{transform:translateX(100%)}to{transform:translateX(0)}}
.acct-hd{background:var(--accent);padding:1.3rem 1.4rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-shrink:0}
.acct-hd-title{font-family:'Bebas Neue',sans-serif;font-size:1.5rem;color:#fff;letter-spacing:.04em}
.acct-hd-meta{font-size:.72rem;color:rgba(255,255,255,.65);font-family:'DM Mono',monospace;margin-top:.1rem}
.acct-close{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);color:#fff;width:30px;height:30px;border-radius:50%;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s}
.acct-close:hover{background:rgba(255,255,255,.28)}
.acct-tabs{display:flex;border-bottom:2px solid var(--border);background:var(--surface);flex-shrink:0}
.acct-tab{padding:.6rem 1.05rem;font-size:.82rem;cursor:pointer;border-bottom:2px solid transparent;color:var(--muted);transition:all .2s;margin-bottom:-2px;white-space:nowrap}
.acct-tab.active{border-bottom-color:var(--accent);color:var(--accent);font-weight:600}
.acct-tab:hover:not(.active){color:var(--text)}
.acct-body{flex:1;padding:1.25rem 1.4rem;overflow-y:auto}

/* Chips */
.chip{display:inline-flex;align-items:center;padding:.28rem .75rem;border-radius:20px;font-size:.72rem;font-family:'DM Mono',monospace;font-weight:600;border:1px solid}
.chip-blue{background:rgba(0,48,135,.08);color:var(--accent);border-color:rgba(0,48,135,.2)}
.chip-green{background:rgba(21,128,61,.1);color:var(--green);border-color:rgba(21,128,61,.25)}
.chip-red{background:rgba(220,38,38,.08);color:var(--red);border-color:rgba(220,38,38,.2)}

/* Profile */
.prof-avatar{width:60px;height:60px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue',sans-serif;font-size:1.5rem;margin:0 auto .65rem;letter-spacing:.04em;flex-shrink:0}
.prof-name{font-family:'Bebas Neue',sans-serif;font-size:1.5rem;text-align:center;color:var(--accent)}
.prof-meta{font-family:'DM Mono',monospace;font-size:.7rem;color:var(--muted);text-align:center;margin-top:.15rem}
.prof-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-top:1.1rem}
.prof-field{background:var(--navy-light);border:1px solid var(--navy-mid);border-radius:6px;padding:.65rem .85rem}
.prof-field.full{grid-column:1/-1}
.prof-lbl{font-family:'DM Mono',monospace;font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:.2rem}
.prof-val{font-size:.85rem;color:var(--text);font-weight:500}

/* Invoice cards inside drawer */
.drw-card{border:1px solid var(--border);border-radius:7px;overflow:hidden;margin-bottom:.8rem;transition:box-shadow .2s}
.drw-card:hover{box-shadow:0 3px 12px rgba(0,48,135,.09)}
.drw-card-hd{padding:.75rem .95rem;background:var(--navy-light);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:.6rem;cursor:pointer;flex-wrap:wrap}
.drw-card-title{font-family:'Bebas Neue',sans-serif;font-size:.97rem;color:var(--accent)}
.drw-card-meta{font-family:'DM Mono',monospace;font-size:.6rem;color:var(--muted);margin-top:.15rem}
.drw-card-body{padding:.9rem .95rem;background:#fff}
.drw-fee{display:flex;justify-content:space-between;align-items:center;padding:.26rem 0;border-bottom:1px solid var(--border);font-size:.82rem}
.drw-fee:last-child{border-bottom:none}
.drw-fee.green{color:var(--green);font-weight:600}
.drw-fee.balance{background:var(--accent);color:#fff;border-radius:5px;padding:.38rem .65rem;margin-top:.3rem;font-family:'Bebas Neue',sans-serif;font-size:1.1rem;border:none}
.drw-pay-btn{width:100%;background:var(--accent);color:#fff;border:none;border-radius:5px;padding:.62rem;font-size:.86rem;font-weight:700;cursor:pointer;transition:background .2s;font-family:'DM Sans',sans-serif;margin-top:.7rem}
.drw-pay-btn:hover{background:var(--accent-hover)}

/* BIDDER DETAIL CARD */
.bdr-card{background:var(--card);border:1px solid var(--border);border-radius:8px;margin-bottom:1.1rem;overflow:hidden;box-shadow:0 1px 4px rgba(0,48,135,.05)}
.bdr-card-hd{padding:.8rem 1.1rem;background:var(--navy-light);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap;cursor:pointer}
.bdr-card-hd:hover{background:var(--navy-mid)}
.bdr-name{font-size:.92rem;font-weight:600;color:var(--text)}
.bdr-meta{font-family:'DM Mono',monospace;font-size:.65rem;color:var(--muted);margin-top:2px}
.bdr-card-body{padding:1.1rem}
.bdr-section{margin-bottom:1.1rem;padding-bottom:1.1rem;border-bottom:1px solid var(--border)}
.bdr-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.bdr-section-title{font-family:'DM Mono',monospace;font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin-bottom:.65rem}
.bdr-row{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.3rem 0;border-bottom:1px solid rgba(0,48,135,.06);font-size:.83rem}
.bdr-row:last-child{border-bottom:none}
.bdr-row-lbl{color:var(--muted);font-family:'DM Mono',monospace;font-size:.7rem;flex-shrink:0;width:130px}
.bdr-row-val{color:var(--text);text-align:right;flex:1}
.deposit-approval-box{background:var(--navy-light);border:1px solid var(--navy-mid);border-radius:6px;padding:.9rem 1rem;margin-bottom:.75rem}
.deposit-approval-check{display:flex;align-items:center;gap:.7rem;cursor:pointer;margin-bottom:.55rem}
.deposit-approval-check input{width:17px;height:17px;accent-color:var(--green);cursor:pointer;flex-shrink:0}
.deposit-approval-label{font-size:.88rem;font-weight:600;color:var(--text)}
.deposit-approval-label.confirmed{color:var(--green)}
.lien-prefill-grid{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-bottom:.65rem}
.lien-prefill-grid .frow.t{grid-template-columns:1fr 1fr 1fr}
.pay-method-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.22rem .65rem;border-radius:20px;font-size:.72rem;font-family:'DM Mono',monospace;font-weight:600;background:rgba(0,48,135,.08);color:var(--accent);border:1px solid rgba(0,48,135,.18)}
.final-pay-select{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.4rem}
.final-pay-opt{border:1.5px solid var(--border);border-radius:5px;padding:.3rem .7rem;font-size:.75rem;cursor:pointer;transition:all .2s;font-family:'DM Mono',monospace;background:#fff}
.final-pay-opt.sel{border-color:var(--accent);background:var(--navy-light);color:var(--accent);font-weight:600}
.staff-note-area{width:100%;background:#fff;border:1px solid var(--border);border-radius:4px;padding:.55rem .7rem;font-size:.82rem;font-family:'DM Sans',sans-serif;resize:vertical;min-height:72px;outline:none;transition:border-color .2s;color:var(--text)}
.staff-note-area:focus{border-color:var(--accent)}
.pay-comment-box{background:rgba(21,128,61,.06);border:1px solid rgba(21,128,61,.2);border-radius:6px;padding:.7rem .9rem;font-size:.82rem;color:var(--text);line-height:1.55;margin-top:.4rem}
.pay-comment-input{width:100%;background:#fff;border:1px solid var(--border);border-radius:4px;padding:.5rem .7rem;font-size:.82rem;font-family:'DM Sans',sans-serif;outline:none;transition:border-color .2s;color:var(--text)}
.pay-comment-input:focus{border-color:var(--green)}

/* ── PRINT STYLES ── */
@media print{
  .header,.toolbar,.banner,.modal-bg,.acct-bg,.admin-hd,.tabs,.admin-actions,.btn-p,.btn-g,.btn-sm,.cta,.filter-btn,.no-print{display:none!important}
  body{background:#fff!important;color:#000!important;font-size:11pt}
  .print-invoice{display:block!important;max-width:100%;padding:0}
  .inv-header{background:#003087!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .card,.acard,.inv-card,.drw-card{box-shadow:none!important;border:1px solid #ccc!important}
  @page{margin:1.5cm;size:A4}
}

/* ── VEHICLE DETAIL MODAL ── */
.vd-photos{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1.1rem}
.vd-photo{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:5px;border:1px solid var(--border);background:var(--navy-light)}
.vd-photo.main{grid-column:1/-1;aspect-ratio:16/7}
.vd-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:1rem}
.vd-field{background:var(--navy-light);border:1px solid var(--navy-mid);border-radius:5px;padding:.6rem .85rem}
.vd-field.full{grid-column:1/-1}
.vd-lbl{font-family:'DM Mono',monospace;font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:.2rem}
.vd-val{font-size:.88rem;color:var(--text);font-weight:500}
.bid-hist-item{display:flex;align-items:center;justify-content:space-between;padding:.38rem .65rem;border-radius:4px;font-size:.8rem;margin-bottom:.3rem}
.bid-hist-item:nth-child(odd){background:var(--navy-light)}
.bid-hist-item.winning{background:rgba(0,48,135,.1);border:1px solid rgba(0,48,135,.2)}

/* ── SEARCH ── */
.search-wrap{position:relative;flex:1;min-width:200px;max-width:380px}
.search-input{width:100%;background:#fff;border:1px solid var(--border);border-radius:6px;padding:.5rem .75rem .5rem 2.2rem;font-size:.85rem;font-family:'DM Sans',sans-serif;outline:none;transition:all .2s;color:var(--text)}
.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,48,135,.08)}
.search-icon{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:var(--muted);font-size:.85rem;pointer-events:none}
.search-clear{position:absolute;right:.6rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--muted);cursor:pointer;font-size:1rem;line-height:1;padding:0}
.no-results{text-align:center;padding:3rem 2rem;color:var(--muted)}
.no-results-icon{font-size:2.5rem;opacity:.35;margin-bottom:.65rem}

/* ── AUCTION CHECKLIST ── */
.checklist-section{margin-bottom:1.25rem}
.checklist-title{font-family:'DM Mono',monospace;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin-bottom:.6rem}
.check-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border:1px solid var(--border);border-radius:5px;margin-bottom:.4rem;background:#fff;transition:all .2s;cursor:pointer}
.check-item:hover{border-color:var(--navy-mid)}
.check-item.done{background:rgba(21,128,61,.05);border-color:rgba(21,128,61,.2)}
.check-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--green);cursor:pointer;flex-shrink:0}
.check-item-text{flex:1;font-size:.84rem}
.check-item.done .check-item-text{color:var(--muted);text-decoration:line-through}
.check-progress{height:6px;background:var(--border);border-radius:3px;overflow:hidden;margin-bottom:1.2rem}
.check-progress-bar{height:100%;background:var(--green);border-radius:3px;transition:width .4s ease}

/* ── ROSTER ── */
.roster-table{width:100%;border-collapse:collapse;font-size:.82rem}
.roster-table th{font-family:'DM Mono',monospace;font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding:.45rem .7rem;border-bottom:2px solid var(--border);text-align:left;background:var(--navy-light)}
.roster-table td{padding:.55rem .7rem;border-bottom:1px solid var(--border);vertical-align:middle}
.roster-table tr:last-child td{border-bottom:none}
.roster-table tr:nth-child(even) td{background:var(--navy-light)}

/* ── SUMMARY DASHBOARD ── */
.summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.85rem;margin-bottom:1.5rem}
.summary-card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:1rem 1.2rem;text-align:center;box-shadow:0 1px 4px rgba(0,48,135,.06)}
.summary-val{font-family:'Bebas Neue',sans-serif;font-size:2rem;color:var(--accent);line-height:1}
.summary-lbl{font-size:.68rem;font-family:'DM Mono',monospace;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:.2rem}
.summary-bar-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.6rem;font-size:.82rem}
.summary-bar-label{width:90px;color:var(--muted);font-family:'DM Mono',monospace;font-size:.72rem;text-align:right;flex-shrink:0}
.summary-bar-track{flex:1;height:10px;background:var(--border);border-radius:5px;overflow:hidden}
.summary-bar-fill{height:100%;border-radius:5px;transition:width .5s ease}
.summary-bar-val{width:60px;font-weight:600;color:var(--text);text-align:right;font-size:.8rem}

/* ── CLOSE ACTIONS ── */
.close-action-bar{display:flex;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border);flex-wrap:wrap}
.btn-sold{flex:1;background:var(--green);color:#fff;border:none;border-radius:4px;padding:.5rem;font-size:.78rem;font-weight:600;cursor:pointer;transition:opacity .2s}
.btn-sold:hover{opacity:.88}
.btn-nosale{flex:1;background:rgba(220,38,38,.1);color:var(--red);border:1px solid rgba(220,38,38,.25);border-radius:4px;padding:.5rem;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .2s}
.btn-nosale:hover{background:rgba(220,38,38,.18)}
.winner-select{font-size:.76rem;padding:.4rem .6rem}
.lot-status-badge{padding:.18rem .55rem;border-radius:3px;font-size:.67rem;font-weight:600;font-family:'DM Mono',monospace}
.lot-status-badge.sold{background:rgba(21,128,61,.12);color:var(--green);border:1px solid rgba(21,128,61,.2)}
.lot-status-badge.no-sale{background:rgba(220,38,38,.1);color:var(--red);border:1px solid rgba(220,38,38,.2)}
.lot-status-badge.live{background:rgba(0,48,135,.1);color:var(--accent);border:1px solid rgba(0,48,135,.18)}

/* ── REORDER ── */
.reorder-list{display:flex;flex-direction:column;gap:.4rem}
.reorder-item{display:flex;align-items:center;gap:.75rem;background:var(--card);border:1px solid var(--border);border-radius:6px;padding:.65rem .9rem;cursor:grab;transition:box-shadow .2s;user-select:none}
.reorder-item:active{cursor:grabbing;box-shadow:0 4px 16px rgba(0,48,135,.15)}
.reorder-item.dragging{opacity:.5}
.reorder-handle{color:var(--muted);font-size:1rem;flex-shrink:0;cursor:grab}
.reorder-lot{font-family:'DM Mono',monospace;font-size:.7rem;color:var(--accent);width:55px;flex-shrink:0}
.reorder-name{flex:1;font-size:.85rem;font-weight:500}

/* ── CSV EXPORT ── */
.export-row{display:flex;align-items:center;justify-content:space-between;padding:.72rem 1rem;border-bottom:1px solid var(--border)}
.export-row:last-child{border-bottom:none}
.export-desc{font-size:.83rem}.export-sub{font-size:.72rem;color:var(--muted);margin-top:2px}
.btn-export{background:var(--accent);color:#fff;border:none;border-radius:4px;padding:.38rem .9rem;font-size:.78rem;font-weight:600;cursor:pointer;transition:opacity .2s}
.btn-export:hover{opacity:.88}

/* ── TERMS ── */
.terms-body{font-size:.84rem;color:var(--sub);line-height:1.75;max-height:70vh;overflow-y:auto}
.terms-body h3{font-family:'Bebas Neue',sans-serif;font-size:1.1rem;color:var(--accent);margin:1.2rem 0 .45rem;letter-spacing:.04em}
.terms-body p{margin-bottom:.75rem}
.terms-body ul{margin-left:1.2rem;margin-bottom:.75rem}
.terms-body li{margin-bottom:.35rem}

/* TITLE TYPE BADGE */
.title-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.18rem .6rem;border-radius:4px;font-size:.68rem;font-family:'DM Mono',monospace;font-weight:700;letter-spacing:.04em}
.title-badge.lien{background:rgba(0,48,135,.1);color:var(--accent);border:1px solid rgba(0,48,135,.2)}
.title-badge.salvage{background:rgba(220,38,38,.1);color:var(--red);border:1px solid rgba(220,38,38,.25)}
.title-badge.clean{background:rgba(21,128,61,.1);color:var(--green);border:1px solid rgba(21,128,61,.2)}
.title-badge.rebuild{background:rgba(100,116,139,.1);color:#475569;border:1px solid rgba(100,116,139,.25)}

/* ── PAYMENT TRACKER ── */
.pt-auction-toggle{display:flex;gap:.5rem;margin-bottom:1.4rem;flex-wrap:wrap}
.pt-auction-btn{background:var(--surface);border:2px solid var(--border);color:var(--sub);padding:.5rem 1.1rem;border-radius:6px;font-size:.82rem;cursor:pointer;transition:all .2s;font-family:'DM Sans',sans-serif;font-weight:500}
.pt-auction-btn:hover{border-color:var(--navy-mid);color:var(--text)}
.pt-auction-btn.active{border-color:var(--accent);background:var(--navy-light);color:var(--accent);font-weight:700}
.pt-summary-bar{display:flex;gap:.75rem;margin-bottom:1.4rem;flex-wrap:wrap}
.pt-stat{background:var(--card);border:1px solid var(--border);border-radius:7px;padding:.75rem 1.1rem;flex:1;min-width:120px;box-shadow:0 1px 4px rgba(0,48,135,.05)}
.pt-stat-val{font-family:'Bebas Neue',sans-serif;font-size:1.6rem;color:var(--accent);line-height:1}
.pt-stat-lbl{font-size:.65rem;font-family:'DM Mono',monospace;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:.15rem}
.pt-stat.green .pt-stat-val{color:var(--green)}
.pt-stat.red .pt-stat-val{color:var(--red)}
.pt-lot-card{background:var(--card);border:1px solid var(--border);border-radius:8px;margin-bottom:1rem;overflow:hidden;box-shadow:0 1px 4px rgba(0,48,135,.05)}
.pt-lot-card.complete{border-color:rgba(21,128,61,.35)}
.pt-lot-card.no-sale{opacity:.6}
.pt-lot-hd{padding:.85rem 1.1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;cursor:pointer;transition:background .2s;flex-wrap:wrap}
.pt-lot-hd:hover{background:var(--navy-light)}
.pt-lot-title{font-family:'Bebas Neue',sans-serif;font-size:1rem;color:var(--accent)}
.pt-lot-sub{font-family:'DM Mono',monospace;font-size:.63rem;color:var(--muted);margin-top:.15rem}
.pt-lot-body{padding:1rem 1.1rem;border-top:1px solid var(--border)}
.pt-pay-row{display:flex;align-items:center;gap:.65rem;padding:.55rem .75rem;border-radius:5px;margin-bottom:.4rem;border:1px solid var(--border);background:#fff;flex-wrap:wrap}
.pt-pay-row.received{background:rgba(21,128,61,.05);border-color:rgba(21,128,61,.22)}
.pt-pay-row.pending{background:rgba(220,38,38,.04);border-color:rgba(220,38,38,.18)}
.pt-pay-method-icon{font-size:1.1rem;flex-shrink:0;width:22px;text-align:center}
.pt-pay-amount{font-family:'Bebas Neue',sans-serif;font-size:1.05rem;color:var(--text);flex-shrink:0}
.pt-pay-note{flex:1;font-size:.78rem;color:var(--muted);min-width:80px}
.pt-pay-ts{font-family:'DM Mono',monospace;font-size:.65rem;color:var(--muted);flex-shrink:0}
.pt-pay-staff{font-family:'DM Mono',monospace;font-size:.65rem;color:var(--accent);flex-shrink:0}
.pt-received-toggle{display:flex;align-items:center;gap:.4rem;cursor:pointer;flex-shrink:0;padding:.28rem .6rem;border-radius:4px;border:1px solid transparent;transition:all .2s}
.pt-received-toggle:hover{background:rgba(21,128,61,.08);border-color:rgba(21,128,61,.2)}
.pt-received-toggle input{width:15px;height:15px;accent-color:var(--green);cursor:pointer}
.pt-received-toggle span{font-size:.72rem;font-family:'DM Mono',monospace;font-weight:600}
.pt-paperwork{display:flex;align-items:center;gap:.75rem;padding:.65rem .85rem;background:rgba(245,166,35,.07);border:1px solid rgba(245,166,35,.25);border-radius:5px;margin-top:.6rem;cursor:pointer;transition:all .2s}
.pt-paperwork:hover{background:rgba(245,166,35,.12)}
.pt-paperwork.done{background:rgba(21,128,61,.07);border-color:rgba(21,128,61,.25)}
.pt-paperwork input{width:16px;height:16px;accent-color:var(--green);cursor:pointer;flex-shrink:0}
.pt-paperwork-label{font-size:.84rem;font-weight:600}
.pt-paperwork-label.done{color:var(--green)}
.pt-progress-pill{padding:.2rem .65rem;border-radius:20px;font-size:.68rem;font-family:'DM Mono',monospace;font-weight:600;flex-shrink:0}
.pt-progress-pill.full{background:rgba(21,128,61,.12);color:var(--green);border:1px solid rgba(21,128,61,.25)}
.pt-progress-pill.partial{background:rgba(245,166,35,.12);color:#854d0e;border:1px solid rgba(245,166,35,.3)}
.pt-progress-pill.none{background:rgba(220,38,38,.08);color:var(--red);border:1px solid rgba(220,38,38,.2)}

/* ── AUCTION REPORT ── */
.rpt-wrap{max-width:860px}
.rpt-schedule-bar{display:flex;gap:.85rem;margin-bottom:1.4rem;flex-wrap:wrap}
.rpt-schedule-card{flex:1;min-width:200px;background:var(--card);border:1px solid var(--border);border-radius:8px;padding:1rem 1.2rem;box-shadow:0 1px 4px rgba(0,48,135,.06)}
.rpt-schedule-day{font-family:'Bebas Neue',sans-serif;font-size:1.2rem;color:var(--accent);letter-spacing:.04em}
.rpt-schedule-time{font-family:'DM Mono',monospace;font-size:.72rem;color:var(--muted);margin-top:.2rem}
.rpt-schedule-next{font-size:.75rem;color:var(--sub);margin-top:.35rem}
.rpt-schedule-status{display:inline-flex;align-items:center;gap:.35rem;margin-top:.5rem;font-size:.72rem;font-family:'DM Mono',monospace;padding:.2rem .6rem;border-radius:10px}
.rpt-schedule-status.sent{background:rgba(21,128,61,.1);color:var(--green);border:1px solid rgba(21,128,61,.2)}
.rpt-schedule-status.pending{background:rgba(0,48,135,.08);color:var(--accent);border:1px solid rgba(0,48,135,.18)}
.rpt-preview{background:#fff;border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:1.2rem;box-shadow:0 2px 12px rgba(0,48,135,.08)}
.rpt-preview-hd{background:var(--accent);color:#fff;padding:1.2rem 1.5rem;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.rpt-preview-title{font-family:'Bebas Neue',sans-serif;font-size:1.5rem;letter-spacing:.05em}
.rpt-preview-sub{font-size:.75rem;opacity:.75;margin-top:.2rem;font-family:'DM Mono',monospace}
.rpt-preview-meta{text-align:right;font-family:'DM Mono',monospace;font-size:.68rem;opacity:.75}
.rpt-preview-body{padding:1.2rem 1.5rem}
.rpt-lot-row{border:1px solid var(--border);border-radius:7px;overflow:hidden;margin-bottom:.85rem}
.rpt-lot-hd{background:var(--navy-light);padding:.65rem .9rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;border-bottom:1px solid var(--border)}
.rpt-lot-name{font-family:'Bebas Neue',sans-serif;font-size:1rem;color:var(--accent)}
.rpt-lot-vin{font-family:'DM Mono',monospace;font-size:.62rem;color:var(--muted);margin-top:.12rem}
.rpt-lot-body{padding:.75rem .9rem;background:#fff}
.rpt-fee-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.4rem .75rem;margin-bottom:.65rem}
.rpt-fee-item{font-size:.8rem}
.rpt-fee-lbl{font-family:'DM Mono',monospace;font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.15rem}
.rpt-fee-val{font-weight:600;color:var(--text)}
.rpt-fee-val.accent{color:var(--accent)}
.rpt-fee-val.green{color:var(--green)}
.rpt-fee-val.red{color:var(--red)}
.rpt-total-bar{background:var(--accent);color:#fff;padding:.55rem .9rem;border-radius:5px;display:flex;justify-content:space-between;align-items:center;margin-bottom:.6rem}
.rpt-total-label{font-family:'DM Mono',monospace;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;opacity:.8}
.rpt-total-val{font-family:'Bebas Neue',sans-serif;font-size:1.3rem;letter-spacing:.04em}
.rpt-payments-title{font-family:'DM Mono',monospace;font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:.35rem}
.rpt-pay-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;border-radius:12px;font-size:.72rem;font-family:'DM Mono',monospace;font-weight:600;margin-right:.35rem;margin-bottom:.3rem}
.rpt-pay-chip.received{background:rgba(21,128,61,.1);color:var(--green);border:1px solid rgba(21,128,61,.2)}
.rpt-pay-chip.pending{background:rgba(220,38,38,.08);color:var(--red);border:1px solid rgba(220,38,38,.18)}
.rpt-summary-footer{background:var(--navy-light);border:1px solid var(--navy-mid);border-radius:7px;padding:1rem 1.2rem;margin-top:1rem}
.rpt-summary-row{display:flex;justify-content:space-between;align-items:center;padding:.3rem 0;border-bottom:1px solid var(--border);font-size:.85rem}
.rpt-summary-row:last-child{border-bottom:none}
.rpt-summary-row.grand{font-family:'Bebas Neue',sans-serif;font-size:1.2rem;color:var(--accent);border-top:2px solid var(--navy-mid);padding-top:.5rem;margin-top:.2rem;border-bottom:none}
.rpt-send-bar{display:flex;gap:.75rem;align-items:center;padding:1rem 1.2rem;background:var(--navy-light);border:1px solid var(--navy-mid);border-radius:8px;margin-bottom:1.2rem;flex-wrap:wrap}
.rpt-recipients{flex:1;min-width:0}
.rpt-recipients-label{font-family:'DM Mono',monospace;font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:.3rem}
.rpt-recipient-tag{display:inline-flex;align-items:center;gap:.3rem;background:#fff;border:1px solid var(--border);border-radius:12px;padding:.18rem .55rem;font-size:.72rem;font-family:'DM Mono',monospace;margin-right:.3rem;margin-bottom:.25rem}
.rpt-sent-log{background:var(--card);border:1px solid var(--border);border-radius:7px;overflow:hidden}
.rpt-sent-row{display:flex;align-items:center;gap:.9rem;padding:.62rem 1rem;border-bottom:1px solid var(--border);font-size:.82rem;flex-wrap:wrap}
.rpt-sent-row:last-child{border-bottom:none}

/* ── BID TABLE ── */
.bt-wrap{width:100%;overflow-x:auto}
.bt-scroll-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:8px}
@media(max-width:700px){
  .bt-controls{gap:.5rem}
  .bt-stat{padding:.4rem .7rem;font-size:.72rem}
  .bt-table{font-size:.78rem}
  .bt-table th{font-size:.58rem;padding:.45rem .55rem}
  .bt-table td{padding:.5rem .55rem}
  .bt-bid{font-size:1rem!important}
  .bt-lot-num{font-size:.85rem}
  .bt-vehicle{font-size:.8rem}
  .bt-scroll-hint{display:block!important;text-align:center;font-size:.7rem;color:var(--muted);padding:.45rem;background:var(--navy-light);border-top:1px solid var(--border);font-family:'DM Mono',monospace;letter-spacing:.04em}
}
.bt-controls{display:flex;align-items:center;gap:1rem;margin-bottom:1.1rem;flex-wrap:wrap}
.bt-stat{background:var(--card);border:1px solid var(--border);border-radius:6px;padding:.5rem .9rem;font-size:.78rem;flex-shrink:0}
.bt-stat strong{font-family:'Bebas Neue',sans-serif;font-size:1.1rem;color:var(--accent);display:block;line-height:1.1}
.bt-table{width:100%;border-collapse:collapse;font-size:.83rem;min-width:720px}
.bt-table thead tr{background:var(--accent)}
.bt-table th{color:#fff;padding:.55rem .75rem;font-family:'DM Mono',monospace;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;text-align:left;white-space:nowrap;font-weight:600}
.bt-table th.right{text-align:right}
.bt-table td{padding:.6rem .75rem;border-bottom:1px solid var(--border);vertical-align:middle}
.bt-table tr:last-child td{border-bottom:none}
.bt-table tr:hover td{background:var(--navy-light)}
.bt-table tr.bt-leader{background:rgba(21,128,61,.04)}
.bt-table tr.bt-closed{opacity:.5}
.bt-table tr.bt-overtime{background:rgba(245,166,35,.06)}
.bt-lot-num{font-family:'Bebas Neue',sans-serif;font-size:.95rem;color:var(--accent);white-space:nowrap}
.bt-vehicle{font-weight:600;font-size:.85rem}
.bt-vin{font-family:'DM Mono',monospace;font-size:.62rem;color:var(--muted);margin-top:2px}
.bt-bid{font-family:'Bebas Neue',sans-serif;font-size:1.1rem;color:var(--accent)}
.bt-autobid{font-family:'DM Mono',monospace;font-size:.65rem;color:var(--blue);background:rgba(59,130,246,.08);border:1px solid rgba(59,130,246,.2);border-radius:3px;padding:.1rem .4rem;white-space:nowrap}
.bt-leader-tag{font-family:'DM Mono',monospace;font-size:.72rem;font-weight:600;padding:.15rem .5rem;border-radius:3px}
.bt-leader-tag.winning{background:rgba(21,128,61,.12);color:var(--green);border:1px solid rgba(21,128,61,.2)}
.bt-leader-tag.none{color:var(--muted)}
.bt-time{font-family:'DM Mono',monospace;font-size:.78rem;font-weight:600;white-space:nowrap}
.bt-time.urgent{color:var(--red)}
.bt-time.soon{color:var(--accent2)}
.bt-time.ok{color:var(--sub)}
.bt-time.done{color:var(--muted)}
.bt-overtime-badge{font-family:'DM Mono',monospace;font-size:.6rem;background:rgba(245,166,35,.15);color:#854d0e;border:1px solid rgba(245,166,35,.35);border-radius:3px;padding:.1rem .4rem;margin-left:.35rem;white-space:nowrap}
.bt-condition{font-size:.7rem;padding:.1rem .4rem;border-radius:3px;font-family:'DM Mono',monospace;font-weight:600}
.bt-condition.runs{background:rgba(21,128,61,.1);color:var(--green);border:1px solid rgba(21,128,61,.18)}
.bt-condition.ns{background:rgba(220,38,38,.08);color:var(--red);border:1px solid rgba(220,38,38,.18)}
.bt-sold-row{background:rgba(21,128,61,.05)!important}
.bt-sold-row td{color:var(--muted)}

/* threshold deposit alert */
.threshold-alert{position:fixed;top:0;left:0;right:0;z-index:500;background:linear-gradient(135deg,#ff4444,#cc0000);color:#fff;padding:1rem 1.5rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;box-shadow:0 4px 20px rgba(220,38,38,.4);animation:slideDown .35s ease}
@keyframes slideDown{from{transform:translateY(-100%)}to{transform:translateY(0)}}
.threshold-alert-title{font-family:'Bebas Neue',sans-serif;font-size:1.2rem;letter-spacing:.04em}
.threshold-alert-body{flex:1;font-size:.82rem;opacity:.92;line-height:1.5}
.threshold-alert-btn{background:#fff;color:#cc0000;border:none;border-radius:5px;padding:.45rem 1.1rem;font-size:.82rem;font-weight:700;cursor:pointer;white-space:nowrap;flex-shrink:0}
.threshold-alert-dismiss{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:5px;padding:.45rem .85rem;font-size:.82rem;cursor:pointer;white-space:nowrap;flex-shrink:0}

/* LANGUAGE TOGGLE */
.lang-toggle{display:flex;align-items:center;gap:0;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:20px;overflow:hidden;flex-shrink:0}
.lang-btn{background:none;border:none;color:rgba(255,255,255,.7);padding:.28rem .65rem;font-size:.72rem;font-family:'DM Mono',monospace;cursor:pointer;transition:all .2s;font-weight:600;letter-spacing:.04em}
.lang-btn.active{background:rgba(255,255,255,.22);color:#fff}
.lang-btn:hover:not(.active){color:#fff}

/* CONTACT PAGE */
.contact-wrap{max-width:1000px;margin:0 auto;padding:2rem 1.5rem}
.contact-hero{background:var(--accent);border-radius:10px;padding:2rem 2.2rem;margin-bottom:2rem;color:#fff}
.contact-hero-title{font-family:'Bebas Neue',sans-serif;font-size:2rem;letter-spacing:.04em;margin-bottom:.35rem}
.contact-hero-sub{font-size:.88rem;opacity:.75;font-family:'DM Mono',monospace}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}
@media(max-width:640px){.contact-grid{grid-template-columns:1fr}}
.contact-info-card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:1.4rem;box-shadow:0 1px 6px rgba(0,48,135,.07)}
.contact-info-title{font-family:'Bebas Neue',sans-serif;font-size:1.05rem;color:var(--accent);letter-spacing:.04em;margin-bottom:1rem}
.contact-info-row{display:flex;align-items:flex-start;gap:.85rem;margin-bottom:.9rem;font-size:.85rem}
.contact-info-row:last-child{margin-bottom:0}
.contact-info-icon{font-size:1.1rem;flex-shrink:0;margin-top:.05rem}
.contact-info-lbl{font-family:'DM Mono',monospace;font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:.2rem}
.contact-info-val{color:var(--text);font-weight:500;line-height:1.6}
.contact-info-val a{color:var(--accent);text-decoration:none}
.contact-info-val a:hover{text-decoration:underline}
.contact-location-badge{display:inline-flex;align-items:center;gap:.4rem;background:var(--navy-light);border:1px solid var(--navy-mid);border-radius:5px;padding:.45rem .75rem;margin-bottom:.55rem;font-size:.82rem}
.contact-location-day{font-family:'DM Mono',monospace;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-right:.4rem}
.contact-form-card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:1.4rem;box-shadow:0 1px 6px rgba(0,48,135,.07)}
.contact-form-title{font-family:'Bebas Neue',sans-serif;font-size:1.05rem;color:var(--accent);letter-spacing:.04em;margin-bottom:1rem}
.contact-sent-box{text-align:center;padding:2rem 1rem}
.contact-sent-icon{font-size:3rem;margin-bottom:.75rem}
.contact-sent-title{font-family:'Bebas Neue',sans-serif;font-size:1.5rem;color:var(--green);margin-bottom:.4rem}
.contact-sent-sub{font-size:.83rem;color:var(--muted);line-height:1.6}
.contact-map-placeholder{background:var(--navy-light);border:1px solid var(--navy-mid);border-radius:6px;height:160px;display:flex;align-items:center;justify-content:center;margin-top:.75rem;color:var(--muted);font-size:.8rem;font-family:'DM Mono',monospace}

/* ── CLOSE WIZARD ── */
.wiz-step-bar{display:flex;gap:0;margin-bottom:2rem;border-radius:8px;overflow:hidden;border:1px solid var(--border)}
.wiz-step{flex:1;padding:.6rem .5rem;text-align:center;font-size:.72rem;font-family:'DM Mono',monospace;background:var(--surface);color:var(--muted);border-right:1px solid var(--border);transition:all .2s;cursor:default;position:relative}
.wiz-step:last-child{border-right:none}
.wiz-step.done{background:rgba(21,128,61,.08);color:var(--green)}
.wiz-step.active{background:var(--accent);color:#fff;font-weight:700}
.wiz-step-num{font-family:'Bebas Neue',sans-serif;font-size:1rem;display:block;line-height:1}
.wiz-step-lbl{font-size:.6rem;opacity:.8;display:block;margin-top:.1rem}
.wiz-section{background:var(--card);border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:1rem}
.wiz-section-hd{padding:.85rem 1.1rem;background:var(--navy-light);border-bottom:1px solid var(--border);font-family:'Bebas Neue',sans-serif;font-size:1rem;color:var(--accent);letter-spacing:.04em;display:flex;justify-content:space-between;align-items:center}
.wiz-lot-row{display:flex;align-items:center;gap:.85rem;padding:.75rem 1.1rem;border-bottom:1px solid var(--border);flex-wrap:wrap}
.wiz-lot-row:last-child{border-bottom:none}
.wiz-lot-name{font-weight:600;font-size:.88rem;flex:1}
.wiz-lot-sub{font-family:'DM Mono',monospace;font-size:.62rem;color:var(--muted);margin-top:2px}
.wiz-action-row{display:flex;gap:.5rem;padding:1rem 1.1rem;border-top:1px solid var(--border);justify-content:flex-end}
.wiz-done-box{background:rgba(21,128,61,.07);border:1.5px solid rgba(21,128,61,.25);border-radius:8px;padding:2rem;text-align:center;margin-top:1rem}
.wiz-done-icon{font-size:2.5rem;margin-bottom:.6rem}
.wiz-done-title{font-family:'Bebas Neue',sans-serif;font-size:1.6rem;color:var(--green);letter-spacing:.04em;margin-bottom:.4rem}

/* ── BATCH INVOICE PRINT ── */
.bi-wrap{max-width:900px}
.bi-invoice{background:#fff;border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:1.5rem;page-break-after:always}
.bi-inv-header{background:var(--accent);color:#fff;padding:1.2rem 1.5rem;display:flex;justify-content:space-between;align-items:flex-start}
.bi-inv-title{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;letter-spacing:.05em}
.bi-inv-sub{font-size:.72rem;opacity:.75;margin-top:.2rem;font-family:'DM Mono',monospace}
.bi-inv-num{font-family:'DM Mono',monospace;font-size:.82rem;background:rgba(255,255,255,.15);border-radius:4px;padding:.3rem .65rem;margin-top:.35rem;display:inline-block}
.bi-inv-body{padding:1.2rem 1.5rem}
.bi-inv-vehicle{display:flex;justify-content:space-between;padding:.75rem .9rem;background:var(--navy-light);border:1px solid var(--navy-mid);border-radius:6px;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}
.bi-inv-vehicle-name{font-family:'Bebas Neue',sans-serif;font-size:1.1rem;color:var(--accent)}
.bi-inv-vehicle-meta{font-family:'DM Mono',monospace;font-size:.65rem;color:var(--muted);margin-top:.15rem}
.bi-fee-table{width:100%;border-collapse:collapse;margin-bottom:.85rem}
.bi-fee-table td{padding:.38rem .6rem;border-bottom:1px solid var(--border);font-size:.84rem}
.bi-fee-table tr:last-child td{border-bottom:none}
.bi-fee-table .lbl{color:var(--muted)}
.bi-fee-table .val{text-align:right;font-weight:600}
.bi-fee-table .total-row td{background:var(--accent);color:#fff;font-family:'Bebas Neue',sans-serif;font-size:1.1rem;border-radius:4px}
.bi-fee-table .deposit-row td{color:var(--green);font-weight:600}
.bi-fee-table .balance-row td{font-family:'Bebas Neue',sans-serif;font-size:1.1rem;color:var(--accent)}
.bi-winner-box{padding:.75rem .9rem;background:var(--navy-light);border:1px solid var(--navy-mid);border-radius:6px;margin-bottom:.85rem;font-size:.83rem}
.bi-signature-area{margin-top:1rem;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;padding-top:.75rem;border-top:1px solid var(--border)}
.bi-sig-line{border-bottom:1px solid var(--text);height:36px;margin-bottom:.35rem}
.bi-sig-label{font-size:.68rem;color:var(--muted);font-family:'DM Mono',monospace;text-transform:uppercase;letter-spacing:.08em}

/* ── LIEN DOCS ── */
.lien-wrap{max-width:900px}
.lien-doc-card{background:var(--card);border:1px solid var(--border);border-radius:8px;margin-bottom:1.1rem;overflow:hidden}
.lien-doc-hd{padding:.8rem 1.1rem;background:var(--navy-light);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}
.lien-doc-title{font-family:'Bebas Neue',sans-serif;font-size:1rem;color:var(--accent)}
.lien-doc-body{padding:1.1rem}
.lien-field-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.55rem;margin-bottom:.75rem}
.lien-field-grid.two{grid-template-columns:1fr 1fr}
.lien-field-grid.full{grid-template-columns:1fr}
.lien-field{background:var(--navy-light);border:1px solid var(--navy-mid);border-radius:5px;padding:.55rem .75rem}
.lien-field-lbl{font-family:'DM Mono',monospace;font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:.18rem}
.lien-field-val{font-size:.84rem;font-weight:500;color:var(--text)}
.lien-field-val input{background:transparent;border:none;outline:none;width:100%;font-size:.84rem;font-weight:500;color:var(--text);font-family:'DM Sans',sans-serif;padding:0}
.lien-doc-form{border:1px solid var(--navy-mid);border-radius:6px;padding:.9rem;background:#fff;margin-bottom:.65rem}
.lien-doc-form-title{font-family:'DM Mono',monospace;font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:.75rem}
.lien-print-btn{background:var(--accent);color:#fff;border:none;border-radius:5px;padding:.45rem 1rem;font-size:.8rem;font-weight:600;cursor:pointer;transition:opacity .2s;font-family:'DM Sans',sans-serif}
.lien-print-btn:hover{opacity:.88}

/* ── BIDDER HISTORY ── */
.bh-card{background:var(--card);border:1px solid var(--border);border-radius:8px;margin-bottom:1rem;overflow:hidden}
.bh-card-hd{padding:.8rem 1.1rem;background:var(--navy-light);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.85rem;cursor:pointer;flex-wrap:wrap}
.bh-card-hd:hover{background:var(--navy-mid)}
.bh-name{font-weight:700;font-size:.92rem;flex:1}
.bh-meta{font-family:'DM Mono',monospace;font-size:.65rem;color:var(--muted);margin-top:2px}
.bh-stat{font-family:'Bebas Neue',sans-serif;font-size:1.1rem;color:var(--accent);flex-shrink:0}
.bh-stat-lbl{font-size:.6rem;font-family:'DM Mono',monospace;color:var(--muted);text-transform:uppercase}
.bh-card-body{padding:1rem 1.1rem}
.bh-auction-row{display:flex;align-items:center;gap:.75rem;padding:.55rem .75rem;border-radius:5px;margin-bottom:.35rem;background:var(--navy-light);border:1px solid var(--border);font-size:.83rem;flex-wrap:wrap}
.flag-badge{padding:.2rem .6rem;border-radius:3px;font-size:.65rem;font-family:'DM Mono',monospace;font-weight:700}
.flag-badge.flagged{background:rgba(220,38,38,.12);color:var(--red);border:1px solid rgba(220,38,38,.25)}
.flag-badge.vip{background:rgba(59,130,246,.1);color:var(--blue);border:1px solid rgba(59,130,246,.2)}
.flag-badge.clear{background:rgba(21,128,61,.1);color:var(--green);border:1px solid rgba(21,128,61,.2)}

/* ── DAILY REVENUE ── */
.rev-widget{background:var(--accent);border-radius:10px;padding:1.3rem 1.5rem;margin-bottom:1.5rem;color:#fff;display:flex;gap:1.5rem;flex-wrap:wrap;align-items:center}
.rev-widget-title{font-family:'Bebas Neue',sans-serif;font-size:1.3rem;letter-spacing:.04em;margin-bottom:.1rem}
.rev-widget-sub{font-size:.72rem;opacity:.7;font-family:'DM Mono',monospace}
.rev-widget-stat{text-align:center;flex:1;min-width:90px}
.rev-widget-val{font-family:'Bebas Neue',sans-serif;font-size:1.8rem;line-height:1}
.rev-widget-lbl{font-size:.62rem;opacity:.7;font-family:'DM Mono',monospace;text-transform:uppercase;letter-spacing:.08em;margin-top:.15rem}

/* ── BID INCREMENT OVERRIDE (inline in BidTable) ── */
.bt-inc-input{width:70px;padding:.25rem .4rem;border:1px solid var(--border);border-radius:4px;font-size:.78rem;font-family:'DM Mono',monospace;text-align:center;background:#fff;color:var(--text)}
.bt-inc-input:focus{outline:none;border-color:var(--accent)}

/* ── RESERVE PRICE ── */
.reserve-badge{font-size:.65rem;font-family:'DM Mono',monospace;padding:.12rem .45rem;border-radius:3px;font-weight:600}
.reserve-badge.met{background:rgba(21,128,61,.1);color:var(--green);border:1px solid rgba(21,128,61,.2)}
.reserve-badge.unmet{background:rgba(220,38,38,.08);color:var(--red);border:1px solid rgba(220,38,38,.18)}
.reserve-badge.none{background:var(--navy-light);color:var(--muted);border:1px solid var(--border)}

/* ── SCOREBOARD / COUNTDOWN CLOCK ── */
.scoreboard-wrap{position:fixed;inset:0;background:#0a0e1a;z-index:800;overflow-y:auto;padding:1.5rem}
.scoreboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:.75rem}
.scoreboard-title{font-family:'Bebas Neue',sans-serif;font-size:2rem;color:#fff;letter-spacing:.06em}
.scoreboard-subtitle{font-family:'DM Mono',monospace;font-size:.72rem;color:rgba(255,255,255,.5);margin-top:.2rem}
.scoreboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}
.scoreboard-card{background:#111827;border:1px solid #1f2d4a;border-radius:10px;padding:1.1rem 1.3rem;position:relative;overflow:hidden;transition:border-color .3s}
.scoreboard-card.live{border-color:#2563eb}
.scoreboard-card.closing{border-color:#dc2626;animation:pulse-border 1s infinite}
.scoreboard-card.sold{border-color:#15803d;opacity:.7}
.scoreboard-card.closed{opacity:.45}
@keyframes pulse-border{0%,100%{border-color:#dc2626}50%{border-color:#ff6b6b}}
.sc-lot{font-family:'DM Mono',monospace;font-size:.65rem;color:#4a7fa5;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.2rem}
.sc-vehicle{font-family:'Bebas Neue',sans-serif;font-size:1.3rem;color:#fff;letter-spacing:.04em;line-height:1.1;margin-bottom:.3rem}
.sc-vin{font-family:'DM Mono',monospace;font-size:.6rem;color:#2a4a6a;margin-bottom:.65rem}
.sc-bid{font-family:'Bebas Neue',sans-serif;font-size:2.5rem;color:#60a5fa;line-height:1}
.sc-bid-lbl{font-family:'DM Mono',monospace;font-size:.6rem;color:#4a7fa5;text-transform:uppercase;margin-bottom:.2rem}
.sc-time{font-family:'Bebas Neue',sans-serif;font-size:1.8rem;letter-spacing:.04em}
.sc-time.ok{color:#22c55e}
.sc-time.soon{color:#f59e0b}
.sc-time.urgent{color:#ef4444}
.sc-time.done{color:#374151}
.sc-leader{font-family:'DM Mono',monospace;font-size:.68rem;color:#4a7fa5;margin-top:.35rem}
.sc-reserve-bar{height:3px;background:#1f2d4a;border-radius:2px;margin-top:.65rem;overflow:hidden}
.sc-reserve-fill{height:100%;background:#2563eb;border-radius:2px;transition:width .5s ease}
.sc-status-badge{position:absolute;top:.75rem;right:.75rem;font-family:'DM Mono',monospace;font-size:.6rem;font-weight:700;padding:.2rem .55rem;border-radius:10px}
.sc-status-badge.live{background:rgba(37,99,235,.2);color:#60a5fa;border:1px solid rgba(37,99,235,.3)}
.sc-status-badge.closing{background:rgba(220,38,38,.2);color:#f87171;border:1px solid rgba(220,38,38,.3)}
.sc-status-badge.sold{background:rgba(21,128,61,.2);color:#4ade80;border:1px solid rgba(21,128,61,.3)}
.sc-overtime{font-family:'DM Mono',monospace;font-size:.6rem;color:#f59e0b;background:rgba(245,158,11,.15);border:1px solid rgba(245,158,11,.3);border-radius:3px;padding:.1rem .4rem;display:inline-block;margin-left:.4rem}
.sc-close-btn{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:6px;padding:.5rem 1.1rem;font-size:.82rem;cursor:pointer;font-family:'DM Sans',sans-serif;transition:background .2s}
.sc-close-btn:hover{background:rgba(255,255,255,.2)}
.sc-stats-bar{display:flex;gap:1.5rem;margin-bottom:1.2rem;flex-wrap:wrap}
.sc-stat{text-align:center}
.sc-stat-val{font-family:'Bebas Neue',sans-serif;font-size:1.6rem;color:#60a5fa;line-height:1}
.sc-stat-lbl{font-family:'DM Mono',monospace;font-size:.6rem;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.08em}

/* ── EMAIL PREVIEW ── */
.email-preview-wrap{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#f8fafc}
.email-preview-chrome{background:#e2e8f0;padding:.5rem .85rem;display:flex;align-items:center;gap:.5rem;border-bottom:1px solid var(--border)}
.email-preview-dot{width:10px;height:10px;border-radius:50%}
.email-preview-bar{flex:1;background:#fff;border-radius:4px;padding:.25rem .65rem;font-size:.72rem;font-family:'DM Mono',monospace;color:var(--muted)}
.email-preview-body{background:#fff;padding:1.5rem}
.email-preview-header{background:var(--accent);color:#fff;padding:1.1rem 1.5rem;border-radius:6px;margin-bottom:1.2rem}
.email-preview-footer{font-size:.72rem;color:var(--muted);border-top:1px solid var(--border);padding-top:.75rem;margin-top:1rem;line-height:1.7}

/* ── BIDDER BADGE ── */
.badge-card{width:340px;border:2px solid var(--accent);border-radius:10px;padding:1.2rem 1.4rem;background:#fff;box-shadow:0 4px 20px rgba(0,48,135,.15);margin:0 auto 1rem;position:relative;overflow:hidden}
.badge-card::before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var(--accent)}
.badge-logo{font-family:'Bebas Neue',sans-serif;font-size:.9rem;color:var(--accent);letter-spacing:.05em;margin-bottom:1rem;opacity:.7}
.badge-name{font-family:'Bebas Neue',sans-serif;font-size:2rem;color:var(--accent);letter-spacing:.04em;line-height:1.1;margin-bottom:.3rem}
.badge-num{font-family:'DM Mono',monospace;font-size:1.1rem;color:var(--text);font-weight:700;background:var(--navy-light);border:1px solid var(--navy-mid);border-radius:5px;padding:.3rem .75rem;display:inline-block;margin-bottom:.85rem}
.badge-qr{width:90px;height:90px;background:var(--navy-light);border:1px solid var(--navy-mid);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:2.2rem;flex-shrink:0}
.badge-info-row{font-size:.75rem;color:var(--muted);margin-bottom:.2rem;font-family:'DM Mono',monospace}
.badge-info-val{color:var(--text);font-weight:500}
.badge-deposit{display:inline-flex;align-items:center;gap:.35rem;background:rgba(21,128,61,.1);border:1px solid rgba(21,128,61,.2);color:var(--green);border-radius:4px;padding:.2rem .6rem;font-size:.72rem;font-family:'DM Mono',monospace;font-weight:600;margin-top:.5rem}

/* ── REVENUE CHART ── */
.rev-chart-wrap{margin-top:1.2rem}
.rev-chart-bar-row{display:flex;align-items:center;gap:.85rem;margin-bottom:.85rem}
.rev-chart-label{width:110px;font-size:.78rem;font-weight:600;flex-shrink:0;text-align:right}
.rev-chart-track{flex:1;height:28px;background:var(--navy-light);border-radius:5px;overflow:hidden;position:relative}
.rev-chart-fill{height:100%;border-radius:5px;transition:width .6s ease;display:flex;align-items:center;padding-left:.6rem}
.rev-chart-fill-label{font-family:'DM Mono',monospace;font-size:.65rem;color:#fff;font-weight:600;white-space:nowrap}
.rev-chart-val{width:85px;font-family:'Bebas Neue',sans-serif;font-size:1rem;color:var(--text);flex-shrink:0}
.rev-chart-count{font-family:'DM Mono',monospace;font-size:.62rem;color:var(--muted);width:55px;flex-shrink:0}

/* ── CLOSE SUMMARY PDF ── */
.pdf-summary{max-width:780px;background:#fff;border:1px solid var(--border);border-radius:8px;overflow:hidden}
.pdf-summary-header{background:var(--accent);color:#fff;padding:1.2rem 1.5rem;display:flex;justify-content:space-between;align-items:flex-start}
.pdf-summary-title{font-family:'Bebas Neue',sans-serif;font-size:1.6rem;letter-spacing:.06em}
.pdf-summary-meta{font-family:'DM Mono',monospace;font-size:.7rem;opacity:.8;text-align:right;line-height:1.8}
.pdf-summary-section{padding:1.1rem 1.5rem;border-bottom:1px solid var(--border)}
.pdf-summary-section:last-child{border-bottom:none}
.pdf-summary-section-title{font-family:'DM Mono',monospace;font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin-bottom:.8rem}
.pdf-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem;margin-bottom:.5rem}
.pdf-stat-box{background:var(--navy-light);border:1px solid var(--navy-mid);border-radius:6px;padding:.65rem .75rem;text-align:center}
.pdf-stat-val{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;color:var(--accent);line-height:1}
.pdf-stat-lbl{font-family:'DM Mono',monospace;font-size:.6rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:.15rem}
.pdf-lot-row{display:flex;align-items:center;justify-content:space-between;padding:.38rem .5rem;border-bottom:1px solid var(--border);font-size:.82rem;flex-wrap:wrap;gap:.35rem}
.pdf-lot-row:last-child{border-bottom:none}
.pdf-lot-row:nth-child(odd){background:var(--navy-light)}

/* ── NOTIFICATION SYSTEM ── */
.notif-toast-stack{position:fixed;top:80px;right:1.2rem;z-index:700;display:flex;flex-direction:column;gap:.55rem;pointer-events:none;max-width:340px}
.notif-toast{background:#fff;border:1px solid var(--border);border-radius:8px;padding:.85rem 1rem;box-shadow:0 4px 20px rgba(0,48,135,.15);pointer-events:all;animation:toastIn .3s ease;display:flex;align-items:flex-start;gap:.75rem;border-left:4px solid var(--accent)}
.notif-toast.outbid{border-left-color:var(--red)}
.notif-toast.won{border-left-color:var(--green)}
.notif-toast.offer{border-left-color:var(--blue)}
.notif-toast.buynow{border-left-color:#d97706}
@keyframes toastIn{from{transform:translateX(110%);opacity:0}to{transform:translateX(0);opacity:1}}
.notif-toast-icon{font-size:1.3rem;flex-shrink:0;line-height:1.2}
.notif-toast-title{font-weight:700;font-size:.85rem;margin-bottom:.15rem}
.notif-toast-body{font-size:.78rem;color:var(--muted);line-height:1.45}
.notif-toast-close{background:none;border:none;color:var(--muted);cursor:pointer;font-size:1rem;padding:0;flex-shrink:0;line-height:1;margin-top:-.1rem}
.notif-toast-time{font-family:'DM Mono',monospace;font-size:.6rem;color:var(--muted);margin-top:.3rem}

/* Notification bell + inbox */
.notif-bell-wrap{position:relative;flex-shrink:0}
.notif-bell-btn{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);color:#fff;border-radius:4px;padding:.3rem .55rem;cursor:pointer;font-size:1rem;transition:all .2s;display:flex;align-items:center;gap:.3rem}
.notif-bell-btn:hover{background:rgba(255,255,255,.22)}
.notif-badge{position:absolute;top:-5px;right:-5px;background:var(--red);color:#fff;border-radius:50%;width:17px;height:17px;font-size:.62rem;font-weight:700;display:flex;align-items:center;justify-content:center;font-family:'DM Mono',monospace;border:2px solid var(--accent)}
.notif-inbox{position:absolute;top:calc(100% + 8px);right:0;width:340px;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 32px rgba(0,48,135,.15);z-index:200;overflow:hidden;animation:toastIn .2s ease}
.notif-inbox-hd{padding:.75rem 1rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;background:var(--navy-light)}
.notif-inbox-title{font-family:'Bebas Neue',sans-serif;font-size:1rem;color:var(--accent);letter-spacing:.04em}
.notif-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border);transition:background .15s;cursor:default}
.notif-item:last-child{border-bottom:none}
.notif-item.unread{background:rgba(0,48,135,.04)}
.notif-item:hover{background:var(--navy-light)}
.notif-item-icon{font-size:1.1rem;flex-shrink:0;margin-top:.1rem}
.notif-item-body{flex:1;min-width:0}
.notif-item-title{font-weight:600;font-size:.82rem;margin-bottom:.15rem}
.notif-item-msg{font-size:.75rem;color:var(--muted);line-height:1.45}
.notif-item-ts{font-family:'DM Mono',monospace;font-size:.62rem;color:var(--muted);margin-top:.25rem}
.notif-item-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-top:.35rem}
.notif-empty{padding:2rem;text-align:center;color:var(--muted);font-size:.83rem}

/* ── PROXY STATUS (on auction card) ── */
.proxy-status{margin-top:.45rem;padding:.35rem .65rem;border-radius:5px;font-size:.75rem;font-family:'DM Mono',monospace;display:flex;align-items:center;gap:.4rem;border:1px solid}
.proxy-status.leading{background:rgba(21,128,61,.08);border-color:rgba(21,128,61,.25);color:var(--green)}
.proxy-status.outbid{background:rgba(220,38,38,.07);border-color:rgba(220,38,38,.2);color:var(--red)}
.proxy-status.active{background:rgba(0,48,135,.07);border-color:rgba(0,48,135,.18);color:var(--accent)}

/* ── BID EXTENSION BADGE (public card) ── */
.ot-badge{display:inline-flex;align-items:center;gap:.3rem;background:rgba(245,158,11,.15);border:1px solid rgba(245,158,11,.35);color:#92400e;border-radius:4px;padding:.15rem .5rem;font-family:'DM Mono',monospace;font-size:.65rem;font-weight:700;margin-left:.4rem;animation:ot-pulse 1.5s ease-in-out infinite}
@keyframes ot-pulse{0%,100%{opacity:1}50%{opacity:.6}}

/* ── BUY NOW / MAKE OFFER ── */
.buy-now-btn{width:100%;background:#d97706;color:#fff;border:none;border-radius:6px;padding:.62rem;font-size:.9rem;font-weight:700;cursor:pointer;transition:background .2s;font-family:'DM Sans',sans-serif;margin-top:.4rem}
.buy-now-btn:hover{background:#b45309}
.offer-btn{width:100%;background:transparent;color:var(--blue);border:1.5px solid rgba(29,78,216,.3);border-radius:6px;padding:.52rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:'DM Sans',sans-serif;margin-top:.35rem}
.offer-btn:hover{background:rgba(29,78,216,.06);border-color:var(--blue)}
.buy-now-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.18rem .6rem;border-radius:4px;background:rgba(217,119,6,.1);border:1px solid rgba(217,119,6,.25);color:#92400e;font-family:'DM Mono',monospace;font-size:.65rem;font-weight:700}

/* Offer inbox (admin) */
.offer-card{background:var(--card);border:1px solid var(--border);border-radius:7px;margin-bottom:.8rem;overflow:hidden}
.offer-card-hd{padding:.75rem 1rem;background:var(--navy-light);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}
.offer-card-body{padding:.85rem 1rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.offer-amount{font-family:'Bebas Neue',sans-serif;font-size:1.8rem;color:var(--blue)}
.offer-status{padding:.22rem .6rem;border-radius:3px;font-size:.68rem;font-family:'DM Mono',monospace;font-weight:600}
.offer-status.pending{background:rgba(245,158,11,.12);color:#92400e;border:1px solid rgba(245,158,11,.3)}
.offer-status.accepted{background:rgba(21,128,61,.1);color:var(--green);border:1px solid rgba(21,128,61,.2)}
.offer-status.declined{background:rgba(220,38,38,.08);color:var(--red);border:1px solid rgba(220,38,38,.18)}

/* ── SMS BLAST ── */
.sms-wrap{max-width:740px}
.sms-template-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-bottom:1.1rem}
@media(max-width:600px){.sms-template-grid{grid-template-columns:1fr}}
.sms-template-btn{background:var(--card);border:1.5px solid var(--border);border-radius:7px;padding:.8rem 1rem;text-align:left;cursor:pointer;transition:all .2s;font-family:'DM Sans',sans-serif}
.sms-template-btn:hover{border-color:var(--accent);background:var(--navy-light)}
.sms-template-btn.active{border-color:var(--accent);background:var(--navy-light)}
.sms-template-label{font-weight:700;font-size:.85rem;color:var(--text);margin-bottom:.2rem}
.sms-template-preview{font-size:.72rem;color:var(--muted);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sms-compose{background:var(--navy-light);border:1px solid var(--navy-mid);border-radius:8px;padding:1rem 1.1rem;margin-bottom:1rem}
.sms-compose-lbl{font-family:'DM Mono',monospace;font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:.55rem}
.sms-textarea{width:100%;background:#fff;border:1.5px solid var(--border);border-radius:6px;padding:.75rem .9rem;font-size:.88rem;font-family:'DM Sans',sans-serif;resize:vertical;min-height:110px;outline:none;line-height:1.6;color:var(--text);transition:border-color .2s}
.sms-textarea:focus{border-color:var(--accent)}
.sms-char-count{font-family:'DM Mono',monospace;font-size:.65rem;text-align:right;margin-top:.3rem}
.sms-char-count.over{color:var(--red)}
.sms-char-count.ok{color:var(--muted)}
.sms-recipient-card{display:flex;align-items:center;gap:.75rem;padding:.6rem .85rem;border-bottom:1px solid var(--border);font-size:.83rem;transition:background .15s}
.sms-recipient-card:last-child{border-bottom:none}
.sms-recipient-card:hover{background:var(--navy-light)}
.sms-recipient-check{width:15px;height:15px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}
.sms-sent-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.18rem .55rem;border-radius:12px;font-size:.68rem;font-family:'DM Mono',monospace;font-weight:600;background:rgba(21,128,61,.1);color:var(--green);border:1px solid rgba(21,128,61,.2)}
.sms-send-btn{width:100%;background:var(--green);color:#fff;border:none;border-radius:6px;padding:.75rem;font-size:.95rem;font-weight:700;cursor:pointer;transition:background .2s;font-family:'DM Sans',sans-serif;letter-spacing:.03em;display:flex;align-items:center;justify-content:center;gap:.5rem}
.sms-send-btn:hover{background:#15803d}
.sms-send-btn:disabled{opacity:.45;cursor:not-allowed}
.sms-log-row{display:flex;align-items:center;gap:.85rem;padding:.65rem 1rem;border-bottom:1px solid var(--border);font-size:.82rem;flex-wrap:wrap}
.sms-log-row:last-child{border-bottom:none}

/* ── SOCIAL SHARE ── */
.share-bar{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.55rem}
.share-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:5px;border:none;cursor:pointer;font-size:.75rem;font-weight:700;font-family:'DM Sans',sans-serif;transition:opacity .2s;white-space:nowrap;text-decoration:none}
.share-btn:hover{opacity:.85}
.share-btn.fb{background:#1877f2;color:#fff}
.share-btn.ig{background:linear-gradient(135deg,#f58529,#dd2a7b,#8134af,#515bd4);color:#fff}
.share-btn.snap{background:#fffc00;color:#000}
.share-btn.tiktok{background:#000;color:#fff}
.share-btn.copy{background:var(--navy-light);color:var(--accent);border:1px solid var(--navy-mid)}
.share-count{font-family:'DM Mono',monospace;font-size:.6rem;opacity:.7;margin-left:.15rem}

/* ── VIEW TRACKER ── */
.views-badge{display:inline-flex;align-items:center;gap:.3rem;font-family:'DM Mono',monospace;font-size:.65rem;color:var(--muted);padding:.12rem .45rem;background:var(--navy-light);border:1px solid var(--border);border-radius:3px}
.views-badge.hot{color:var(--accent2);border-color:rgba(204,34,0,.25);background:rgba(204,34,0,.06)}
.vt-table{width:100%;border-collapse:collapse;font-size:.83rem}
.vt-table th{font-family:'DM Mono',monospace;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--border);font-weight:600}
.vt-table td{padding:.6rem .75rem;border-bottom:1px solid var(--border);vertical-align:middle}
.vt-table tr:last-child td{border-bottom:none}
.vt-table tr:hover td{background:var(--navy-light)}
.vt-bar-track{height:8px;background:var(--navy-light);border-radius:4px;overflow:hidden;min-width:80px}
.vt-bar-fill{height:100%;border-radius:4px;background:var(--accent);transition:width .5s ease}

/* ── EMAIL BLAST ── */
.eb-wrap{max-width:700px}
.eb-roster-preview{border:1px solid var(--border);border-radius:7px;overflow:hidden;margin-bottom:1rem}
.eb-roster-row{display:flex;align-items:center;gap:.75rem;padding:.55rem .9rem;border-bottom:1px solid var(--border);font-size:.82rem}
.eb-roster-row:last-child{border-bottom:none}
.eb-roster-row:nth-child(odd){background:var(--navy-light)}
.eb-email-chip{display:inline-flex;align-items:center;gap:.35rem;background:var(--navy-light);border:1px solid var(--navy-mid);border-radius:4px;padding:.25rem .6rem;font-size:.75rem;font-family:'DM Mono',monospace;margin:.2rem}
.eb-email-chip button{background:none;border:none;cursor:pointer;color:var(--muted);font-size:.85rem;line-height:1;padding:0 0 0 .2rem}
.eb-email-chip button:hover{color:var(--red)}

/* ── SEO PANEL ── */
.seo-wrap{max-width:760px}
.seo-section{background:var(--card);border:1px solid var(--border);border-radius:8px;margin-bottom:1.1rem;overflow:hidden}
.seo-section-hd{padding:.8rem 1.1rem;background:var(--navy-light);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.seo-section-title{font-family:'Bebas Neue',sans-serif;font-size:1rem;color:var(--accent);letter-spacing:.04em}
.seo-body{padding:1rem 1.1rem}
.seo-score-ring{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:'Bebas Neue',sans-serif;font-size:1.2rem;font-weight:700;border:3px solid}
.seo-score-ring.good{border-color:var(--green);color:var(--green)}
.seo-score-ring.warn{border-color:#d97706;color:#d97706}
.seo-score-ring.bad{border-color:var(--red);color:var(--red)}
.seo-check-row{display:flex;align-items:flex-start;gap:.75rem;padding:.55rem 0;border-bottom:1px solid var(--border);font-size:.83rem}
.seo-check-row:last-child{border-bottom:none}
.seo-check-icon{flex-shrink:0;font-size:1rem;margin-top:.05rem}
.seo-meta-preview{background:#fff;border:1px solid var(--border);border-radius:6px;padding:.85rem 1rem;margin-bottom:.75rem}
.seo-meta-title{color:#1a0dab;font-size:1rem;font-weight:400;margin-bottom:.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.seo-meta-url{color:#006621;font-size:.78rem;margin-bottom:.25rem;font-family:'DM Mono',monospace}
.seo-meta-desc{color:#545454;font-size:.82rem;line-height:1.5}
.seo-tag{display:inline-block;background:var(--navy-light);border:1px solid var(--navy-mid);border-radius:4px;padding:.18rem .55rem;font-size:.72rem;font-family:'DM Mono',monospace;margin:.18rem}

/* ── FAQ PAGE ── */
.faq-wrap{max-width:820px;margin:0 auto;padding:2rem 1.5rem}
.faq-hero{background:var(--accent);border-radius:10px;padding:2rem 2.2rem;margin-bottom:2rem;color:#fff}
.faq-hero-title{font-family:'Bebas Neue',sans-serif;font-size:2rem;letter-spacing:.04em;margin-bottom:.35rem}
.faq-hero-sub{font-size:.88rem;opacity:.75;font-family:'DM Mono',monospace}
.faq-cat-tabs{display:flex;gap:.4rem;margin-bottom:1.4rem;flex-wrap:wrap}
.faq-cat-btn{background:var(--card);border:1.5px solid var(--border);border-radius:20px;padding:.38rem .95rem;font-size:.8rem;cursor:pointer;transition:all .2s;font-family:'DM Sans',sans-serif;color:var(--sub)}
.faq-cat-btn.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}
.faq-item{background:var(--card);border:1px solid var(--border);border-radius:8px;margin-bottom:.65rem;overflow:hidden;transition:border-color .2s}
.faq-item.open{border-color:var(--navy-mid)}
.faq-q{padding:.9rem 1.1rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;gap:.75rem}
.faq-q:hover{background:var(--navy-light)}
.faq-q-text{font-weight:600;font-size:.9rem;line-height:1.4;flex:1}
.faq-chevron{color:var(--muted);font-size:.85rem;flex-shrink:0;transition:transform .2s}
.faq-item.open .faq-chevron{transform:rotate(180deg);color:var(--accent)}
.faq-a{padding:.85rem 1.1rem 1rem;border-top:1px solid var(--border);font-size:.85rem;color:var(--sub);line-height:1.75;background:var(--navy-light)}
.faq-a strong{color:var(--text)}
.faq-a ul{margin-left:1.2rem;margin-top:.4rem}
.faq-a li{margin-bottom:.3rem}
.faq-signup-strip{background:var(--accent);border-radius:8px;padding:1.4rem 1.6rem;display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;margin-top:1.5rem}
.faq-signup-strip-text{color:#fff;flex:1;min-width:180px}
.faq-signup-strip-title{font-family:'Bebas Neue',sans-serif;font-size:1.2rem;letter-spacing:.04em;margin-bottom:.2rem}
.faq-signup-strip-sub{font-size:.8rem;opacity:.8}

/* ── WATCHLIST / SAVED SEARCHES ── */
.watchlist-bar{display:flex;gap:.5rem;align-items:center;margin-top:.5rem;flex-wrap:wrap}
.watch-btn{display:inline-flex;align-items:center;gap:.3rem;background:transparent;border:1.5px solid var(--border);border-radius:5px;padding:.32rem .75rem;font-size:.78rem;cursor:pointer;transition:all .2s;font-family:'DM Sans',sans-serif;color:var(--muted)}
.watch-btn:hover{border-color:var(--accent);color:var(--accent)}
.watch-btn.watching{background:rgba(0,48,135,.08);border-color:var(--accent);color:var(--accent);font-weight:600}
.watchlist-modal-item{display:flex;align-items:center;gap:.85rem;padding:.7rem 1rem;border-bottom:1px solid var(--border);font-size:.83rem}
.watchlist-modal-item:last-child{border-bottom:none}

/* ── AUCTION LIST SIGNUP ── */
.signup-float{position:fixed;bottom:1.4rem;right:1.4rem;z-index:300;animation:slideUp .4s ease}
@keyframes slideUp{from{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}
.signup-card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:1.2rem 1.4rem;box-shadow:0 8px 32px rgba(0,48,135,.18);width:310px}
.signup-card-title{font-family:'Bebas Neue',sans-serif;font-size:1.1rem;color:var(--accent);letter-spacing:.04em;margin-bottom:.2rem}
.signup-card-sub{font-size:.78rem;color:var(--muted);margin-bottom:.85rem;line-height:1.5}
.signup-dismiss{background:none;border:none;color:var(--muted);cursor:pointer;font-size:1.1rem;padding:0;line-height:1}
.signup-pulse{width:8px;height:8px;border-radius:50%;background:var(--green);display:inline-block;margin-right:.35rem;animation:pulse 1.5s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}
.signup-nav-btn{display:inline-flex;align-items:center;gap:.4rem;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:4px;padding:.32rem .75rem;font-size:.78rem;font-family:'DM Mono',monospace;cursor:pointer;transition:all .2s}
.signup-nav-btn:hover{background:rgba(255,255,255,.25)}

/* ── BIDDER RATING ── */
.rating-stars{display:inline-flex;gap:.15rem}
.star{font-size:1.1rem;cursor:pointer;transition:transform .1s}
.star:hover{transform:scale(1.2)}
.star.filled{color:#f59e0b}
.star.empty{color:#d1d5db}
.rating-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.18rem .55rem;border-radius:4px;font-size:.72rem;font-family:'DM Mono',monospace;font-weight:600}
.rating-chip.great{background:rgba(21,128,61,.1);color:var(--green);border:1px solid rgba(21,128,61,.2)}
.rating-chip.ok{background:rgba(245,158,11,.1);color:#92400e;border:1px solid rgba(245,158,11,.25)}
.rating-chip.poor{background:rgba(220,38,38,.08);color:var(--red);border:1px solid rgba(220,38,38,.2)}

/* ── SCHEDULED PUBLISHING ── */
.sched-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.18rem .55rem;border-radius:4px;font-size:.68rem;font-family:'DM Mono',monospace;font-weight:600}
.sched-badge.live{background:rgba(21,128,61,.1);color:var(--green);border:1px solid rgba(21,128,61,.2)}
.sched-badge.scheduled{background:rgba(245,158,11,.1);color:#92400e;border:1px solid rgba(245,158,11,.25)}
.sched-badge.draft{background:rgba(100,116,139,.1);color:#475569;border:1px solid rgba(100,116,139,.2)}

/* ========== MOBILE RESPONSIVE ========== */
@media (max-width: 900px) {
  /* Allow horizontal scrolling where needed, vertical scroll always */
  html, body { overflow-x: auto !important; -webkit-overflow-scrolling: touch; }
  body { min-width: 320px; }

  /* Header — stack logo + nav */
  .header { flex-wrap: wrap; height: auto; min-height: 60px; padding: .5rem 1rem; gap: .5rem; }
  .header-right { flex-wrap: wrap; gap: .4rem; justify-content: flex-end; width: 100%; }
  .logo { font-size: 1.5rem; }
  .nav-badge, .signup-nav-btn, .cta { font-size: .7rem !important; padding: .3rem .6rem !important; }
  .lang-toggle { order: -1; }

  /* Grid — single column */
  .grid { grid-template-columns: 1fr !important; gap: 1rem !important; padding: 1rem !important; }

  /* Cards — full width */
  .card { max-width: 100%; }
  .photo-wrap { height: 180px; }

  /* Modals — full screen on mobile */
  .modal-bg { padding: 0 !important; }
  .modal, .modal.wide { max-width: 100vw !important; max-height: 100vh !important; width: 100vw !important; height: 100vh !important; border-radius: 0 !important; overflow-y: auto; }
  .mhd { padding: .9rem 1rem !important; }
  .mbody { padding: 1rem !important; }
  .mfoot { padding: .75rem 1rem !important; flex-wrap: wrap; gap: .5rem; }
  .mfoot button { flex: 1; min-width: 120px; font-size: .82rem !important; }

  /* Forms — stack inputs */
  .frow, .frow.s, .frow.t { flex-direction: column !important; gap: .6rem !important; }
  .fgrp { width: 100% !important; }

  /* Tables — horizontal scroll with finger */
  table.bt, table.inv-table, .bi-fee-table { min-width: 100%; overflow-x: auto; display: block; }
  table.bt thead, table.bt tbody { display: block; }
  table.bt tr { display: flex; min-width: max-content; }

  /* Account drawer — full screen on mobile */
  .acct-drawer { max-width: 100vw !important; width: 100vw !important; height: 100vh !important; border-radius: 0 !important; }
  .acct-tabs { overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: .25rem; }
  .acct-tab { white-space: nowrap; font-size: .75rem !important; padding: .45rem .7rem !important; flex-shrink: 0; }
  .acct-body { padding: .75rem !important; }

  /* Pay methods — stack vertically */
  .pay-card { flex-direction: column; text-align: center; }
  .final-pay-opt { flex: 1 1 100%; }

  /* Buttons — larger touch targets */
  .btn-p, .btn-g, button.cta { min-height: 42px; }

  /* Contact page & FAQ */
  .contact-grid { grid-template-columns: 1fr !important; }
  .faq-cats { overflow-x: auto; flex-wrap: nowrap; }
  .faq-cat-btn { white-space: nowrap; flex-shrink: 0; }

  /* Bid modal specifics */
  .bid-car-row { flex-direction: column; text-align: center; }
  .bid-thumb { width: 100%; max-width: 280px; }
}

/* ========== TABLET ========== */
@media (min-width: 640px) and (max-width: 900px) {
  .grid { grid-template-columns: 1fr 1fr !important; }
}

/* ========== ADMIN PANEL MOBILE ========== */
@media (max-width: 900px) {
  .admin-shell { display: flex; flex-direction: column; }
  .main-layout { flex-direction: column !important; }
  .sidebar { width: 100% !important; height: auto !important; max-height: 50vh; overflow-y: auto; overflow-x: auto; white-space: nowrap; padding: .5rem !important; border-right: none !important; border-bottom: 1px solid var(--border); display: flex; flex-wrap: wrap; gap: .3rem; }
  .sidebar-section { width: 100%; font-size: .62rem !important; padding: .25rem .5rem !important; }
  .sidebar-item { white-space: nowrap; font-size: .75rem !important; padding: .35rem .65rem !important; flex: 0 0 auto; }
  .content { padding: .75rem !important; overflow-x: auto !important; }
  .topbar { padding: .5rem .75rem !important; flex-wrap: wrap; height: auto !important; }
  .topbar-title { font-size: 1rem !important; }
  .topbar-user { gap: .4rem !important; flex-wrap: wrap; }
  .panel { padding: .75rem !important; }
  .panel-hd { padding: .6rem .8rem !important; flex-wrap: wrap; gap: .4rem; }
  .panel-body { padding: .75rem !important; }
  .stats-bar { flex-wrap: wrap; gap: .5rem; }
  .stat-card { flex: 1 1 45%; min-width: 140px; }
  /* Admin tables — horizontal scroll container */
  .content table { min-width: 600px; }
}

/* ========== SMALL PHONES ========== */
@media (max-width: 400px) {
  .card-body { padding: .7rem !important; }
  .car-name { font-size: .9rem !important; }
  .bid-btn, .offer-btn { font-size: .82rem !important; padding: .5rem .75rem !important; }
  .photo-wrap { height: 150px; }
  .modal, .modal.wide { padding: 0; }
}
/* ========== iPHONE / SMALL MOBILE FIX (max-width 480px) ========== */
/* Appended to app.css — fixes header overflow, login accessibility,
   card layout, modals, and bid UI on iPhone SE through iPhone 15 Pro Max */

@media (max-width: 480px) {
  /* ── HEADER: stack logo + nav vertically ── */
  .header {
    flex-direction: column !important;
    align-items: stretch !important;
    padding: .5rem .75rem !important;
    height: auto !important;
    min-height: auto !important;
    gap: .4rem !important;
  }
  .logo {
    font-size: 1.3rem !important;
    text-align: center;
    margin-bottom: .2rem;
  }
  .header-right {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: .3rem !important;
    width: 100% !important;
  }
  .nav-badge, .signup-nav-btn, .cta {
    font-size: .65rem !important;
    padding: .28rem .5rem !important;
    white-space: nowrap;
    flex-shrink: 0;
  }
  .cta {
    width: 100% !important;
    text-align: center !important;
    font-size: .75rem !important;
    padding: .5rem !important;
    margin-top: .2rem;
  }
  .lang-toggle {
    order: -1;
    align-self: center;
  }
  .lang-btn {
    font-size: .65rem !important;
    padding: .2rem .45rem !important;
  }

  /* ── BANNER: tighter on mobile ── */
  .banner {
    padding: 1.5rem .75rem !important;
  }
  .banner-inner {
    padding: 0 !important;
  }
  .banner-eyebrow {
    font-size: .6rem !important;
  }
  .banner-title {
    font-size: 2rem !important;
    line-height: 1.1 !important;
  }
  .banner-sub {
    font-size: .78rem !important;
  }
  .banner-stats {
    gap: 1rem !important;
  }
  .event-card {
    min-width: 100% !important;
    padding: .65rem .9rem !important;
  }

  /* ── TOOLBAR: stack filters ── */
  .toolbar {
    flex-direction: column !important;
    align-items: stretch !important;
    padding: .65rem .75rem !important;
    gap: .4rem !important;
  }
  .toolbar .search-wrap {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .toolbar .search-input {
    width: 100% !important;
    font-size: .85rem !important;
  }
  .filter-btn {
    font-size: .7rem !important;
    padding: .3rem .55rem !important;
  }
  .toolbar-right {
    width: 100% !important;
    justify-content: center !important;
  }

  /* ── VEHICLE CARDS: full width, tighter ── */
  .grid {
    grid-template-columns: 1fr !important;
    gap: .75rem !important;
    padding: .75rem !important;
  }
  .card {
    max-width: 100% !important;
  }
  .card-body {
    padding: .75rem !important;
  }
  .car-name {
    font-size: .95rem !important;
  }
  .photo-wrap {
    height: 200px !important;
  }
  .meta-row {
    gap: .4rem !important;
    font-size: .75rem !important;
  }
  .meta-lbl {
    font-size: .55rem !important;
  }
  .meta-val {
    font-size: .82rem !important;
  }
  .bid-amt {
    font-size: 1.6rem !important;
  }
  .bid-btn {
    font-size: .85rem !important;
    padding: .6rem .75rem !important;
    min-height: 44px;
  }
  .offer-btn {
    font-size: .8rem !important;
    padding: .5rem .75rem !important;
    min-height: 44px;
  }

  /* ── MODALS: full screen on iPhone ── */
  .modal-bg {
    padding: 0 !important;
    align-items: flex-end !important;
  }
  .modal, .modal.wide, .modal.xl {
    max-width: 100vw !important;
    width: 100vw !important;
    max-height: 100vh !important;
    height: 100vh !important;
    border-radius: 0 !important;
    overflow-y: auto !important;
  }
  .mhd {
    padding: .75rem !important;
    position: sticky;
    top: 0;
    z-index: 10;
    background: var(--surface, #fff);
  }
  .mtitle {
    font-size: 1.1rem !important;
  }
  .mbody {
    padding: .75rem !important;
  }
  .mfoot {
    padding: .75rem !important;
    flex-direction: column !important;
    gap: .4rem !important;
    position: sticky;
    bottom: 0;
    background: var(--surface, #fff);
  }
  .mfoot button {
    width: 100% !important;
    min-height: 44px;
    font-size: .85rem !important;
  }

  /* ── LOGIN MODAL: ensure visible ── */
  .login-card {
    max-width: 100vw !important;
    width: 100% !important;
    border-radius: 0 !important;
    padding: 1.5rem 1rem !important;
    max-height: 100vh !important;
    overflow-y: auto !important;
  }
  .login-card .finput {
    font-size: 16px !important; /* prevents iOS zoom on focus */
    padding: .6rem .75rem !important;
    min-height: 44px;
  }
  .login-card button {
    min-height: 48px !important;
    font-size: .88rem !important;
  }

  /* ── ACCOUNT DRAWER: full screen ── */
  .acct-drawer {
    max-width: 100vw !important;
    width: 100vw !important;
    height: 100vh !important;
    border-radius: 0 !important;
  }
  .acct-hd {
    padding: .75rem !important;
  }
  .acct-tabs {
    padding: 0 .5rem !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  .acct-tab {
    font-size: .68rem !important;
    padding: .4rem .55rem !important;
    white-space: nowrap;
    flex-shrink: 0;
  }
  .acct-body {
    padding: .65rem !important;
  }

  /* ── REGISTRATION / DEPOSIT MODAL ── */
  .fsec {
    padding: .75rem !important;
  }
  .fsec-title {
    font-size: .88rem !important;
  }
  .frow, .frow.s, .frow.t {
    flex-direction: column !important;
    gap: .5rem !important;
  }
  .fgrp {
    width: 100% !important;
  }
  .finput, .fselect {
    font-size: 16px !important; /* prevents iOS auto-zoom on input focus */
    padding: .55rem .65rem !important;
    min-height: 44px;
  }
  .pay-card {
    flex-direction: row !important;
    text-align: left !important;
    padding: .65rem .75rem !important;
    gap: .55rem !important;
  }
  .pay-icon {
    font-size: 1.3rem !important;
    flex-shrink: 0;
  }
  .pay-label {
    font-size: .82rem !important;
  }
  .pay-note {
    font-size: .68rem !important;
  }

  /* ── BID MODAL ── */
  .bid-car-row {
    flex-direction: column !important;
    text-align: center !important;
    gap: .5rem !important;
  }
  .bid-thumb {
    width: 100% !important;
    max-width: 100% !important;
    height: 140px !important;
  }

  /* ── TIMER ── */
  .timer {
    transform: scale(0.9);
    transform-origin: right center;
  }

  /* ── FORMS: prevent iOS zoom ── */
  input, select, textarea {
    font-size: 16px !important;
  }

  /* ── BUTTONS: larger touch targets ── */
  button {
    min-height: 40px;
  }
  .btn-p, .btn-g, .drw-pay-btn {
    min-height: 48px !important;
    font-size: .88rem !important;
  }

  /* ── WATCHLIST BADGE ── */
  .watchlist-bar {
    justify-content: center !important;
  }

  /* ── TERMS / FAQ / CONTACT ── */
  .contact-wrap, .portal-wrap {
    padding: 1rem .75rem !important;
  }
  .faq-cats {
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    -webkit-overflow-scrolling: touch;
    padding-bottom: .3rem;
  }
  .faq-cat-btn {
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    font-size: .72rem !important;
  }
}

/* ========== GENERAL SMALL-SCREEN FIXES (max-width 640px) ========== */
@media (max-width: 640px) {
  /* Ensure header-right wraps and stays accessible */
  .header-right {
    flex-wrap: wrap !important;
    gap: .3rem !important;
    justify-content: center !important;
  }
  /* Sign out button accessible */
  .header-right > button:last-child {
    flex-shrink: 0 !important;
  }
  /* Prevent any overflow that hides the login button */
  .header {
    overflow: visible !important;
  }
  body {
    overflow-x: hidden !important;
  }
}
