/* Tradesman Pro — Forge palette: Charcoal + Electric Yellow + White */
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --brand:#F5C800;
  --brand-dk:#D4A800;
  --brand-lt:#FFFBEE;
  --ink:#1E1E20;
  --ink2:#52524E;
  --ink3:#909088;
  --surface:#FFFFFF;
  --surface2:#F0EEE8;
  --surface3:#E4E0D8;
  --border:#DDDBD4;
  --border2:#C8C4BC;
  --chrome:#141416;
  --chrome2:#1E1E22;
  --chrome3:#2A2A2E;
  --green:#2A9E50;
  --green-lt:#EEFAF2;
  --red:#CC2828;
  --red-lt:#FFF0F0;
  --blue:#1A4A8A;
  --blue-lt:#EAF0FA;
  --r:10px;--rl:14px;--rxl:20px;
  --ff:"Barlow","Helvetica Neue","Arial",system-ui,sans-serif;
  --fm:"Courier New",monospace
}
body{font-family:var(--ff);background:var(--surface2);color:var(--ink);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow:hidden;height:100vh}
.shell{display:flex;flex-direction:column;height:100vh;width:100%;background:var(--surface2)}

/* TOPBAR */
.topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 11px;background:var(--chrome);flex-shrink:0;position:sticky;top:0;z-index:20}
.logo{display:flex;align-items:center;gap:9px}
.logo-icon{width:26px;height:26px;background:var(--brand);border-radius:5px;display:flex;align-items:center;justify-content:center}
.logo-icon svg{width:13px;height:13px;stroke:var(--chrome);stroke-width:2.5;fill:none;stroke-linecap:round}
.logo-text{font-size:14px;font-weight:900;letter-spacing:-.5px;color:#FFF;text-transform:uppercase}
.logo-text span{color:var(--brand)}
.offline-badge{display:none;font-size:10px;font-weight:700;background:rgba(245,200,0,.15);color:var(--brand);border:1px solid rgba(245,200,0,.3);padding:2px 7px;border-radius:20px;letter-spacing:.04em}
.offline-badge.show{display:inline-block}
.topbar-right{display:flex;align-items:center;gap:8px}
.lang-toggle{display:flex;background:var(--chrome3);border-radius:20px;padding:2px}
.lang-btn{padding:3px 10px;border-radius:16px;font-size:11px;font-weight:800;border:none;cursor:pointer;font-family:var(--ff);color:rgba(255,255,255,.4);background:none;transition:all .15s;letter-spacing:.04em;text-transform:uppercase}
.lang-btn.active{background:var(--brand);color:var(--chrome)}
.plan-pill{font-size:10px;font-weight:800;padding:3px 10px;border-radius:20px;cursor:pointer;letter-spacing:.04em;text-transform:uppercase}
.plan-pill.free{background:transparent;color:var(--brand);border:1.5px solid var(--brand)}
.plan-pill.pro{background:var(--brand);color:var(--chrome)}

/* LAYOUT */
.content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}
.screen{display:none}.screen.active{display:block;animation:fadeUp .15s ease}
@keyframes fadeUp{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}

/* BOTTOM NAV */
.bottomnav{flex-shrink:0;background:var(--chrome);border-top:none;display:flex;align-items:stretch;z-index:20;padding-bottom:env(safe-area-inset-bottom)}
.bn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 4px 12px;border:none;background:none;cursor:pointer;font-family:var(--ff);color:rgba(255,255,255,.3);font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;transition:color .15s}
.bn.active{color:var(--brand)}
.bn svg{width:24px;height:24px;stroke-width:1.7;stroke:currentColor;fill:none;stroke-linecap:round;stroke-linejoin:round}
.bn-fab{width:50px;height:50px;background:var(--brand);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:-15px;border:3px solid var(--chrome)}
.bn-fab svg{width:22px;height:22px;stroke:var(--chrome);fill:none;stroke-linecap:round;stroke-width:2.5}

/* TYPOGRAPHY */
.ph{padding:20px 18px 6px}
.pt{font-size:24px;font-weight:900;letter-spacing:-.8px;line-height:1.2;color:var(--ink)}
.ps{font-size:14px;color:var(--ink3);margin-top:3px}
.section-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px 8px}
.section-title{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--ink3)}
.section-link{font-size:13px;color:var(--brand-dk);font-weight:700;cursor:pointer}

/* CARDS */
.card{background:var(--surface);border-radius:var(--rl);margin:10px 18px;overflow:hidden;border-bottom:3px solid var(--surface3)}
.ch{padding:12px 16px 0;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)}
.cb{padding:12px 16px 16px}.cb.tight{padding:0}

/* FIELDS */
.f{margin-bottom:13px}.f:last-child{margin-bottom:0}
.f label{display:block;font-size:13px;font-weight:700;color:var(--ink2);margin-bottom:5px;letter-spacing:.02em}
.f input,.f select,.f textarea{width:100%;font-family:var(--ff);font-size:15px;padding:11px 13px;border:1.5px solid var(--border2);border-radius:var(--r);background:var(--surface);color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none}
.f input:focus,.f select:focus,.f textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(245,200,0,.15)}
.f textarea{resize:vertical;min-height:68px}
.f select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7'%3E%3Cpath d='M1 1l4.5 5L10 1' stroke='%23909088' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}
.r2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rv{font-size:13px;font-weight:800;color:var(--brand-dk);font-family:var(--fm)}
.range-wrap input[type=range]{width:100%;accent-color:var(--brand);cursor:pointer;margin:6px 0 2px}
.rl-row{display:flex;justify-content:space-between;font-size:11px;color:var(--ink3)}

/* BUTTONS */
.btn{width:100%;padding:13px;border:none;border-radius:var(--r);font-family:var(--ff);font-size:15px;font-weight:800;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:8px;letter-spacing:-.1px}
.btn-p{background:var(--brand);color:var(--chrome)}.btn-p:hover{background:var(--brand-dk)}.btn-p:active{transform:scale(.98)}
.btn-s{background:var(--surface2);color:var(--ink);border:1.5px solid var(--border2)}.btn-s:hover{background:var(--surface3)}
.btn-pro{background:var(--blue);color:white}
.btn-g{background:none;color:var(--brand-dk);border:1.5px solid rgba(200,160,0,.4);font-size:14px;padding:9px}.btn-g:hover{background:var(--brand-lt)}
.btn-d{background:var(--red-lt);color:var(--red);border:1px solid rgba(204,40,40,.2);font-size:14px;font-weight:700;border-radius:var(--r);cursor:pointer;font-family:var(--ff);padding:10px}
.btn-sm{padding:7px 12px;font-size:13px;font-weight:700;width:auto;border-radius:8px}

/* HOME HERO */
.hero{background:var(--chrome);padding:20px 18px 18px;color:white}
.hero-greet{font-size:10px;color:var(--brand);font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}
.hero-title{font-size:26px;font-weight:900;letter-spacing:-1px;margin-bottom:18px;color:#FFF;line-height:1}
.hero-stats{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:8px}
.hstat{background:var(--chrome3);border-radius:8px;padding:12px 10px}
.hstat-l{font-size:10px;color:rgba(255,255,255,.7);font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.hstat-v{font-size:20px;font-weight:900;color:var(--brand);letter-spacing:-.5px;font-family:var(--fm)}
.qa-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 18px 4px}
.qa{background:var(--surface);border-radius:var(--rl);padding:14px;cursor:pointer;transition:all .15s;display:flex;flex-direction:column;gap:6px;border-bottom:3px solid var(--surface3)}
.qa:hover,.qa:active{border-bottom-color:var(--brand)}
.qa-sm{padding:10px 8px;gap:5px;border-radius:var(--r)}
.qa-sm .qa-lb{font-size:11px;font-weight:800;letter-spacing:-.1px}
.qa-sm .qa-ic{width:26px;height:26px;border-radius:6px}
.qa-sm .qa-ic svg{width:13px;height:13px}
.qa-ic{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center}
.qa-ic svg{width:16px;height:16px;stroke-width:2.2;fill:none;stroke-linecap:round}
.qa-lb{font-size:14px;font-weight:800;letter-spacing:-.3px;color:var(--ink)}
.qa-sb{font-size:11px;color:var(--ink3)}

/* JOB ROWS */
.jr{display:flex;align-items:center;gap:11px;padding:13px 16px;border-top:1px solid var(--surface2);cursor:pointer;transition:background .1s;background:var(--surface)}
.jr:first-child{border-top:none}
.jr:hover,.jr:active{background:var(--surface2)}
.ja{width:34px;height:34px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex-shrink:0}
.ji{flex:1;min-width:0}
.jn{font-size:16px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.3px;color:var(--ink)}
.jm{font-size:13px;color:var(--ink3);margin-top:2px}
.jrr{text-align:right;flex-shrink:0}
.jamt{font-size:15px;font-weight:800;font-family:var(--fm);color:var(--ink);letter-spacing:-.5px}
.jpr{font-size:11px;color:var(--green);margin-top:1px;font-weight:700}
.bdg{display:inline-block;font-size:10px;font-weight:800;padding:2px 7px;border-radius:4px;letter-spacing:.04em;text-transform:uppercase}
.bdg.estimate{background:var(--brand-lt);color:#8A6800}
.bdg.scheduled{background:#FFF0E8;color:#C04A00}
.bdg.complete{background:var(--green-lt);color:var(--green)}
.bdg.inv{background:#F0ECF8;color:#5A2A8A;margin-left:3px}
.bdg-paid{display:inline-block;font-size:10px;font-weight:800;padding:2px 7px;border-radius:4px;letter-spacing:.04em;text-transform:uppercase;margin-left:3px}
.bdg-paid.paid{background:var(--green-lt);color:var(--green)}
.bdg-paid.unpaid{background:var(--red-lt);color:var(--red)}
.filter-row{display:flex;gap:6px;padding:10px 18px 0}
.filter-btn{padding:7px 16px;border-radius:4px;font-size:13px;font-weight:800;border:1.5px solid var(--border2);background:var(--surface);color:var(--ink2);cursor:pointer;font-family:var(--ff);letter-spacing:.02em}
.filter-btn.active{background:var(--ink);color:var(--brand);border-color:var(--ink)}
.sort-pill{padding:5px 12px;border-radius:4px;font-size:11px;font-weight:700;border:1.5px solid var(--border2);background:var(--surface);color:var(--ink3);cursor:pointer;font-family:var(--ff);white-space:nowrap}
.sort-pill.active{background:var(--surface2);color:var(--ink);border-color:var(--ink2)}
#sort-smart.active{background:var(--brand);color:var(--chrome);border-color:var(--brand)}

/* PRICE BOX */
.pbox{background:var(--surface2);border-radius:var(--r);padding:13px}
.prow{display:flex;justify-content:space-between;align-items:center;padding:3px 0;font-size:14px}
.prow .pl{color:var(--ink2)}.prow .pv{font-family:var(--fm);font-weight:700}
.prow.ptotal{border-top:2px solid var(--brand);margin-top:8px;padding-top:10px;font-size:16px;font-weight:800}
.prow.ptotal .pv{color:var(--ink)}
.prow.pprofit .pv{color:var(--green);font-size:13px;font-weight:700}
.zip-hint{font-size:12px;padding:6px 10px;border-radius:6px;margin-top:5px;display:none;font-weight:600}
.zip-hint.show{display:block}
.zip-hint.premium{background:var(--green-lt);color:var(--green)}
.zip-hint.standard{background:var(--surface3);color:var(--ink2)}
.zip-hint.budget{background:#FFF8EC;color:#7A5000}

/* STATS */
.stat-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 18px;margin:12px 0}
.stat{background:var(--surface);border-radius:var(--r);padding:13px 12px;border-bottom:3px solid var(--surface3)}
.stat-l{font-size:10px;color:var(--ink3);font-weight:800;text-transform:uppercase;letter-spacing:.07em;margin-bottom:4px}
.stat-v{font-size:20px;font-weight:900;font-family:var(--fm);letter-spacing:-.5px;color:var(--ink)}
.stat-v.g{color:var(--green)}
.stat-v.r{color:var(--red)}

/* EXPENSES */
.ei{display:flex;align-items:center;gap:10px;padding:12px 16px;border-top:1px solid var(--surface2);background:var(--surface)}
.ei:first-child{border-top:none}
.edot{width:8px;height:8px;border-radius:2px;flex-shrink:0}
.einfo{flex:1;min-width:0}
.edesc{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}
.emeta{font-size:11px;color:var(--ink3)}
.eamt{font-size:14px;font-weight:800;font-family:var(--fm);color:var(--red)}
.etag{display:inline-block;font-size:9px;font-weight:800;padding:1px 5px;border-radius:3px;margin-left:4px;vertical-align:middle;letter-spacing:.04em;text-transform:uppercase}
.etag.scan{background:var(--blue-lt);color:var(--blue)}
.etag.cat{background:var(--green-lt);color:var(--green)}
.overhead-box{background:var(--chrome);border-radius:var(--r);padding:12px 16px;margin:10px 18px;display:flex;justify-content:space-between;align-items:center}
.overhead-total{font-size:20px;font-weight:900;font-family:var(--fm);color:var(--brand)}

/* SCAN */
.scan-drop{border:2px dashed var(--border2);border-radius:var(--rl);padding:26px 16px;text-align:center;cursor:pointer;transition:border-color .2s;position:relative;margin:0 18px 12px}
.scan-drop:hover{border-color:var(--brand)}
.scan-drop input{position:absolute;inset:0;opacity:0;cursor:pointer;z-index:2}
.scan-ic{width:48px;height:48px;background:var(--brand-lt);border-radius:10px;display:flex;align-items:center;justify-content:center;margin:0 auto 10px;border:2px solid rgba(200,160,0,.2)}
.scan-ic svg{width:22px;height:22px;stroke:var(--brand-dk);stroke-width:2.2;fill:none;stroke-linecap:round}
.scan-t{font-size:15px;font-weight:800;margin-bottom:3px;color:var(--ink)}
.scan-s{font-size:12px;color:var(--ink2)}
.scan-preview{width:100%;max-height:130px;object-fit:contain;border-radius:var(--r);margin-bottom:10px}
.scan-result{background:var(--surface2);border-radius:var(--r);padding:13px}
.scan-line{display:flex;justify-content:space-between;font-size:13px;padding:4px 0;border-top:1px solid var(--border)}
.scan-line:first-child{border-top:none}
.scan-line:last-child{font-weight:800;font-size:14px;padding-top:10px;border-top:2px solid var(--brand)}
.spin-wrap{display:flex;align-items:center;gap:10px;padding:16px 18px;background:var(--surface2);border-radius:var(--r);margin:0 18px}
.spinner{width:18px;height:18px;border:2px solid var(--border2);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}
@keyframes spin{to{transform:rotate(360deg)}}
.mileage-box{background:var(--chrome);border-radius:var(--r);padding:14px 16px;margin:0 0 12px}
.mile-val{font-size:22px;font-weight:900;font-family:var(--fm);color:var(--brand);margin-top:4px}
.mile-rate{font-size:11px;color:rgba(255,255,255,.4);font-weight:600}

/* SMS */
.sms-demo{background:var(--surface2);border-radius:var(--rl);padding:16px;margin-bottom:12px}
.sms-bubble{background:var(--surface);border:1.5px solid var(--border);border-radius:14px 14px 14px 4px;padding:12px 14px;font-size:14px;line-height:1.5;margin-bottom:10px;color:var(--ink)}
.sms-bubble.out{background:var(--ink);color:var(--brand);border-radius:14px 14px 4px 14px;border:none}
.sms-from{font-size:10px;font-weight:800;color:var(--ink3);text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px}
.sms-ir{display:flex;gap:8px;align-items:center}
.sms-ir input{flex:1;font-family:var(--ff);font-size:14px;padding:11px 13px;border:1.5px solid var(--border2);border-radius:var(--r);background:var(--surface);color:var(--ink);outline:none}
.sms-ir input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(245,200,0,.15)}
.sms-send{width:42px;height:42px;flex-shrink:0;background:var(--brand);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}
.sms-send svg{width:15px;height:15px;stroke:var(--chrome);fill:var(--chrome);stroke-width:2;stroke-linecap:round}
.parsed-card{background:var(--green-lt);border:1.5px solid rgba(42,158,80,.25);border-radius:var(--r);padding:12px;margin-top:10px}
.parsed-title{font-size:11px;font-weight:800;color:var(--green);text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px}
.parsed-row{display:flex;gap:8px;font-size:13px;padding:2px 0}
.parsed-label{color:var(--green);font-weight:700;min-width:80px;flex-shrink:0}
.lang-note{background:var(--brand-lt);border:1.5px solid rgba(200,160,0,.3);border-radius:var(--r);margin:0 18px 10px;padding:11px 14px;font-size:13px;color:var(--ink2);font-weight:600}
.exbtn{display:flex;align-items:center;gap:12px;padding:14px 16px;border-top:1px solid var(--surface2);cursor:pointer;transition:background .1s;background:var(--surface)}
.exbtn:first-child{border-top:none}.exbtn:hover,.exbtn:active{background:var(--surface2)}
.exic{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.exic svg{width:18px;height:18px;stroke-width:2.2;fill:none;stroke-linecap:round}
.exinfo{flex:1}.ext{font-size:14px;font-weight:700;color:var(--ink)}.exs{font-size:12px;color:var(--ink3);margin-top:1px}
.pw{background:var(--surface);border:1.5px solid var(--blue-lt);border-radius:var(--rl);padding:20px 18px;margin:0 18px 12px;text-align:center}
.pw-icon{font-size:28px;margin-bottom:8px}.pw-title{font-size:16px;font-weight:800;margin-bottom:5px;color:var(--ink)}
.pw-sub{font-size:13px;color:var(--ink2);margin-bottom:14px;line-height:1.6}
.feat-list{text-align:left;margin-bottom:14px;padding:0}
.feat-list li{font-size:13px;color:var(--ink2);padding:4px 0 4px 18px;list-style:none;position:relative;line-height:1.4}
.feat-list li::before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:800}
.pro-tag{display:inline-flex;align-items:center;gap:3px;background:var(--brand-lt);color:#8A6800;font-size:10px;font-weight:800;padding:2px 7px;border-radius:4px;margin-left:5px;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle}
.pro-only{display:none}
.modal-bg{display:none;position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:100;align-items:flex-end;justify-content:center}
.modal-bg.open{display:flex}
.modal{background:var(--surface);border-radius:var(--rxl) var(--rxl) 0 0;width:100%;max-width:430px;padding:20px 18px;max-height:92vh;overflow-y:auto;padding-bottom:calc(20px + env(safe-area-inset-bottom))}
.mhandle{width:40px;height:4px;background:var(--border2);border-radius:2px;margin:0 auto 16px}
.mt{font-size:20px;font-weight:900;letter-spacing:-.5px;margin-bottom:3px;color:var(--ink)}
.ms{font-size:13px;color:var(--ink3);margin-bottom:16px}
.dr{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-top:1px solid var(--surface2);font-size:14px}
.dr:first-child{border-top:none}
.dl{color:var(--ink2);font-size:13px}
.dv{font-weight:700;font-family:var(--fm);font-size:13px;text-align:right;max-width:60%;color:var(--ink)}
.success-view{text-align:center;padding:40px 20px}
.sc{width:64px;height:64px;background:var(--brand-lt);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;border:3px solid var(--brand)}
.sc svg{width:26px;height:26px;stroke:var(--brand-dk);stroke-width:3;fill:none;stroke-linecap:round}
.stitle{font-size:22px;font-weight:900;letter-spacing:-.6px;margin-bottom:6px;color:var(--ink)}
.smsg{font-size:14px;color:var(--ink2);margin-bottom:24px;line-height:1.6}
.empty{text-align:center;padding:32px 16px;color:var(--ink3)}
.empty-t{font-size:15px;font-weight:700;color:var(--ink2);margin:8px 0 4px}
.empty-s{font-size:12px}
.pdf-preview{background:var(--surface2);border-radius:var(--r);padding:16px;font-family:var(--ff)}
.pdf-co{font-size:16px;font-weight:900;color:var(--ink);text-transform:uppercase;letter-spacing:-.5px}
.pdf-co span{color:var(--brand-dk)}
.pdf-sh{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--ink3);margin:10px 0 5px}
.pdf-row{display:flex;justify-content:space-between;font-size:13px;padding:2px 0;color:var(--ink)}
.pdf-total{background:var(--ink);color:var(--brand);border-radius:var(--r);padding:11px 14px;display:flex;justify-content:space-between;font-weight:900;font-size:16px;margin-top:8px;letter-spacing:-.3px}
.pdf-sig{border-top:2px dashed var(--border2);margin-top:12px;padding-top:10px;font-size:11px;color:var(--ink3);line-height:1.6}
.pdf-num{font-size:11px;color:var(--ink3);font-family:var(--fm)}
.math-box{background:var(--surface2);border-radius:var(--r);padding:12px;margin-bottom:14px;text-align:center}
.math-label{font-size:10px;color:var(--ink3);font-weight:800;margin-bottom:3px;letter-spacing:.07em;text-transform:uppercase}
.mr{display:flex;gap:8px;margin-bottom:8px;align-items:center}
.mr input{flex:1;font-family:var(--ff);font-size:14px;padding:10px 12px;border:1.5px solid var(--border2);border-radius:var(--r);background:var(--surface);color:var(--ink);outline:none}
.mr input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(245,200,0,.15)}
.mr .rm{background:none;border:1.5px solid var(--border2);border-radius:8px;padding:9px 10px;color:var(--ink3);cursor:pointer;font-size:13px;flex-shrink:0}
.cust-select-wrap{background:var(--brand-lt);border:1.5px solid rgba(200,160,0,.3);border-radius:var(--r);padding:10px 12px;margin-bottom:14px}
.info-box{background:var(--surface2);border-radius:var(--r);padding:10px 12px}
/* SmartSort */
.complexity-pill{display:inline-block;font-size:10px;font-weight:800;padding:2px 7px;border-radius:4px;letter-spacing:.04em;text-transform:uppercase}
.complexity-pill.low{background:var(--green-lt);color:var(--green)}
.complexity-pill.medium{background:var(--brand-lt);color:#8A6800}
.complexity-pill.high{background:var(--red-lt);color:var(--red)}

/* Profile / onboarding additions */
#onboarding-modal .modal{border-radius:var(--rxl) var(--rxl) 0 0}
.ob-trade-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}
.ob-trade-btn{padding:8px 10px;border:1.5px solid var(--border2);border-radius:var(--r);font-size:13px;font-weight:700;background:var(--surface);color:var(--ink);cursor:pointer;font-family:var(--ff);text-align:center;transition:all .15s}
.ob-trade-btn.selected{background:var(--brand);color:var(--chrome);border-color:var(--brand)}
.visibility-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}

/* Topbar icon buttons */
.topbar-icon-btn{background:none;border:none;cursor:pointer;padding:5px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background .15s}
.topbar-icon-btn:hover{background:rgba(255,255,255,.1)}
.topbar-icon-btn:active{background:rgba(255,255,255,.15)}

/* Settings screen */
#sc-settings .exbtn{background:var(--surface);border-top:1px solid var(--surface2)}
#sc-settings .exbtn:first-child{border-top:none}

/* Payment method buttons */
.pay-method-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:12px 8px;border:1.5px solid var(--border2);border-radius:var(--rl);background:var(--surface);cursor:pointer;font-family:var(--ff);font-size:13px;font-weight:700;color:var(--ink);transition:all .15s}
.pay-method-btn.active{border-color:var(--brand);background:var(--brand-lt);color:var(--brand-dk)}
.pay-method-btn:hover{border-color:var(--border2);background:var(--surface2)}

/* Hours picker buttons */
.hrs-btn{padding:9px 4px;background:var(--surface);border:1.5px solid var(--border2);border-radius:var(--r);font-family:var(--ff);font-size:12px;font-weight:700;color:var(--ink2);cursor:pointer;transition:all .15s;text-align:center}
.hrs-btn:hover{border-color:var(--brand);color:var(--ink)}
.hrs-btn.selected{background:var(--brand);border-color:var(--brand);color:var(--chrome);font-weight:900}

@keyframes bannerIn{from{opacity:0;transform:translateX(-50%) translateY(-10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}

/* Top jobs horizontal scroll */
#top-jobs-panel::-webkit-scrollbar{display:none}
#top-jobs-panel{scrollbar-width:none}
