@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300&display=swap');

*{margin:0;padding:0;box-sizing:border-box}
:root{
  --orange:#FF5C00;
  --orange-dim:#cc4900;
  --dark:#0A0A0A;
  --mid:#141414;
  --card:#1A1A1A;
  --border:#252525;
  --text:#F0EDE8;
  --muted:#777;
  --green:#00C864;
  --red:#FF3B3B;
  --blue:#3B8BFF;
}
html{scroll-behavior:smooth}
body{background:var(--dark);color:var(--text);font-family:'DM Sans',sans-serif;overflow-x:hidden;min-height:100vh}

/* ── SHARED NAV ── */
.app-nav{
  position:sticky;top:0;z-index:999;
  display:flex;justify-content:space-between;align-items:center;
  padding:0 32px;height:60px;
  background:rgba(10,10,10,0.97);
  border-bottom:1px solid var(--border);
}
.logo{font-family:'Bebas Neue',sans-serif;font-size:26px;letter-spacing:4px;color:var(--text);text-decoration:none}
.logo span{color:var(--orange)}
.nav-user{display:flex;align-items:center;gap:20px;font-size:13px;color:var(--muted)}
.nav-user a{color:var(--muted);text-decoration:none;transition:color .2s}
.nav-user a:hover{color:var(--text)}
.nav-avatar{width:32px;height:32px;background:var(--orange);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:#fff;cursor:pointer}

/* ── SIDEBAR ── */
.app-layout{display:flex;min-height:calc(100vh - 60px)}
.sidebar{
  width:220px;flex-shrink:0;
  background:var(--mid);border-right:1px solid var(--border);
  padding:24px 0;
  position:sticky;top:60px;height:calc(100vh - 60px);
  overflow-y:auto;
}
.sidebar-section{margin-bottom:28px}
.sidebar-label{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--muted);padding:0 20px;margin-bottom:8px}
.sidebar a{
  display:flex;align-items:center;gap:12px;
  padding:10px 20px;font-size:13px;font-weight:500;
  color:var(--muted);text-decoration:none;
  transition:all .15s;border-left:2px solid transparent;
}
.sidebar a:hover{color:var(--text);background:rgba(255,255,255,.03)}
.sidebar a.active{color:var(--orange);border-left-color:var(--orange);background:rgba(255,92,0,.06)}
.sidebar-icon{font-size:16px;width:20px;text-align:center}

/* ── MAIN CONTENT ── */
.main{flex:1;padding:36px 40px;overflow-x:hidden}
.page-header{margin-bottom:32px}
.page-title{font-family:'Bebas Neue',sans-serif;font-size:40px;letter-spacing:1px;margin-bottom:4px}
.page-sub{font-size:14px;color:var(--muted)}

/* ── CARDS ── */
.card{background:var(--card);border:1px solid var(--border);padding:28px;margin-bottom:20px}
.card-title{font-weight:700;font-size:14px;margin-bottom:16px;color:var(--text)}

/* ── STAT BOXES ── */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin-bottom:32px}
.stat-box{background:var(--card);border:1px solid var(--border);padding:24px;border-top:2px solid transparent}
.stat-box.orange{border-top-color:var(--orange)}
.stat-box.green{border-top-color:var(--green)}
.stat-box.blue{border-top-color:var(--blue)}
.stat-box.red{border-top-color:var(--red)}
.stat-num{font-family:'Bebas Neue',sans-serif;font-size:40px;line-height:1;margin-bottom:4px}
.stat-num.orange{color:var(--orange)}
.stat-num.green{color:var(--green)}
.stat-num.blue{color:var(--blue)}
.stat-num.red{color:var(--red)}
.stat-label{font-size:12px;color:var(--muted);font-weight:500}

/* ── BADGES ── */
.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:.3px}
.badge-green{background:rgba(0,200,100,.12);color:var(--green);border:1px solid rgba(0,200,100,.2)}
.badge-orange{background:rgba(255,92,0,.12);color:var(--orange);border:1px solid rgba(255,92,0,.25)}
.badge-blue{background:rgba(59,139,255,.12);color:var(--blue);border:1px solid rgba(59,139,255,.2)}
.badge-muted{background:rgba(255,255,255,.05);color:var(--muted);border:1px solid var(--border)}
.badge-red{background:rgba(255,59,59,.12);color:var(--red);border:1px solid rgba(255,59,59,.2)}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 24px;font-family:'DM Sans',sans-serif;font-weight:700;font-size:13px;cursor:pointer;border:none;transition:all .2s;text-decoration:none;letter-spacing:.3px}
.btn-primary{background:var(--orange);color:#fff}
.btn-primary:hover{background:var(--orange-dim);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border)}
.btn-ghost:hover{border-color:var(--muted)}
.btn-green{background:var(--green);color:var(--dark)}
.btn-green:hover{opacity:.9}
.btn-danger{background:var(--red);color:#fff}
.btn-sm{padding:7px 16px;font-size:12px}

/* ── FORMS ── */
.form-group{margin-bottom:20px}
.form-label{display:block;font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.form-input{
  width:100%;background:var(--mid);border:1px solid var(--border);
  color:var(--text);padding:12px 16px;font-family:'DM Sans',sans-serif;
  font-size:14px;transition:border-color .2s;
}
.form-input:focus{outline:none;border-color:var(--orange)}
.form-input::placeholder{color:rgba(255,255,255,.2)}
select.form-input{appearance:none;cursor:pointer}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}

/* ── TABLES ── */
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse}
th{padding:12px 16px;text-align:left;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border)}
td{padding:14px 16px;font-size:13px;border-bottom:1px solid rgba(255,255,255,.04)}
tr:hover td{background:rgba(255,255,255,.02)}
tr:last-child td{border-bottom:none}

/* ── DRIVER CARD ── */
.driver-card{
  background:var(--card);border:1px solid var(--border);
  padding:20px;display:flex;align-items:center;
  justify-content:space-between;gap:16px;
  transition:border-color .2s;margin-bottom:3px;
}
.driver-card:hover{border-color:rgba(255,92,0,.3)}
.driver-info{display:flex;align-items:center;gap:16px}
.driver-avatar{width:42px;height:42px;background:var(--orange);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;color:#fff;flex-shrink:0}
.driver-name{font-weight:700;font-size:14px;margin-bottom:3px}
.driver-meta{font-size:12px;color:var(--muted)}
.driver-jobs{display:flex;gap:8px;align-items:center}

/* ── JOB TICKET ── */
.job-ticket{
  background:var(--card);border:1px solid var(--border);
  border-left:3px solid var(--orange);
  padding:20px 24px;margin-bottom:3px;
  display:flex;justify-content:space-between;align-items:center;gap:16px;
}
.job-ticket.done{border-left-color:var(--green)}
.job-ticket.queued{border-left-color:var(--muted)}
.job-ticket.wasted{border-left-color:var(--red)}
.job-info{flex:1}
.job-title{font-weight:700;font-size:14px;margin-bottom:4px}
.job-meta{font-size:12px;color:var(--muted);display:flex;gap:16px;flex-wrap:wrap}
.job-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}

/* ── MOBILE (driver portal) ── */
.mobile-frame{
  max-width:420px;margin:0 auto;
  min-height:100vh;
  background:var(--dark);
}
.mobile-header{
  background:var(--mid);border-bottom:1px solid var(--border);
  padding:16px 20px;
  display:flex;justify-content:space-between;align-items:center;
  position:sticky;top:0;z-index:10;
}
.mobile-title{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:2px}
.mobile-body{padding:20px}
.mobile-card{
  background:var(--card);border:1px solid var(--border);
  border-radius:12px;padding:18px;margin-bottom:12px;
}
.mobile-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.mobile-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.mobile-row:last-child{border-bottom:none;padding-bottom:0}
.mobile-row-label{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px}
.mobile-row-val{font-size:13px;font-weight:600}

/* ── SIGNATURE PAD ── */
.sig-pad{
  background:var(--mid);border:2px dashed var(--border);
  border-radius:8px;width:100%;height:180px;
  display:flex;align-items:center;justify-content:center;
  cursor:crosshair;position:relative;overflow:hidden;
}
.sig-pad canvas{position:absolute;top:0;left:0;width:100%;height:100%}
.sig-hint{color:var(--muted);font-size:13px;pointer-events:none}

/* ── PRICING CARDS ── */
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;max-width:900px;margin:0 auto}
.price-card{background:var(--card);border:1px solid var(--border);padding:40px 32px;position:relative}
.price-card.featured{background:var(--orange);border-color:var(--orange)}
.price-card.featured .plan-price,.price-card.featured .plan-name,.price-card.featured .plan-per,.price-card.featured li{color:#fff}
.price-card.featured .plan-sub{color:rgba(255,255,255,.7)}
.featured-label{position:absolute;top:-1px;left:50%;transform:translateX(-50%);background:var(--dark);color:var(--orange);font-size:10px;font-weight:700;letter-spacing:1.5px;padding:4px 14px;border:1px solid var(--orange);text-transform:uppercase;white-space:nowrap}
.plan-name{font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.plan-price{font-family:'Bebas Neue',sans-serif;font-size:64px;color:var(--text);line-height:1;margin-bottom:4px}
.plan-per{font-size:13px;color:var(--muted);margin-bottom:6px}
.plan-sub{font-size:12px;color:var(--muted);margin-bottom:28px}
.plan-features{list-style:none;margin-bottom:32px}
.plan-features li{font-size:13px;color:var(--muted);padding:7px 0;border-bottom:1px solid rgba(255,255,255,.05);display:flex;align-items:center;gap:8px}
.plan-features li::before{content:'✓';color:var(--green);font-weight:700;flex-shrink:0}
.price-card.featured .plan-features li::before{color:#fff}
.plan-cta{width:100%;background:var(--dark);color:var(--text);border:1px solid var(--border);padding:14px;font-family:'DM Sans',sans-serif;font-weight:700;font-size:13px;cursor:pointer;letter-spacing:.3px;transition:all .2s}
.price-card.featured .plan-cta{background:#fff;color:var(--orange);border-color:#fff}
.plan-cta:hover{background:var(--border)}
.price-card.featured .plan-cta:hover{opacity:.9}

/* ── AUTH PAGES ── */
.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px}
.auth-box{width:100%;max-width:440px}
.auth-logo{font-family:'Bebas Neue',sans-serif;font-size:36px;letter-spacing:4px;text-align:center;margin-bottom:8px}
.auth-logo span{color:var(--orange)}
.auth-tagline{text-align:center;color:var(--muted);font-size:13px;margin-bottom:36px}
.auth-card{background:var(--card);border:1px solid var(--border);padding:40px}
.auth-title{font-weight:700;font-size:20px;margin-bottom:6px}
.auth-sub{font-size:13px;color:var(--muted);margin-bottom:28px}
.auth-footer{text-align:center;font-size:13px;color:var(--muted);margin-top:20px}
.auth-footer a{color:var(--orange);text-decoration:none}
.divider{display:flex;align-items:center;gap:12px;margin:24px 0;color:var(--muted);font-size:12px}
.divider::before,.divider::after{content:'';flex:1;height:1px;background:var(--border)}

/* ── CHECKOUT ── */
.checkout-wrap{display:grid;grid-template-columns:1fr 400px;gap:32px;max-width:1000px;margin:0 auto;padding:40px}
.checkout-summary{background:var(--card);border:1px solid var(--border);padding:32px;height:fit-content}
.checkout-line{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border);font-size:14px}
.checkout-total{display:flex;justify-content:space-between;padding:16px 0;font-size:18px;font-weight:700}
.stripe-badge{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);margin-top:20px;justify-content:center}

/* ── TIMER ── */
.timer-display{
  font-family:'Bebas Neue',sans-serif;font-size:56px;
  color:var(--orange);text-align:center;letter-spacing:4px;
  padding:20px;background:rgba(255,92,0,.06);border:1px solid rgba(255,92,0,.15);
  border-radius:8px;margin:16px 0;
}

/* ── UTILS ── */
.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-8{gap:8px}.gap-16{gap:16px}.gap-24{gap:24px}
.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}
.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}
.text-muted{color:var(--muted)}.text-orange{color:var(--orange)}.text-green{color:var(--green)}.text-red{color:var(--red)}
.text-sm{font-size:12px}.text-xs{font-size:11px}.font-bold{font-weight:700}
.w-full{width:100%}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.alert{padding:14px 18px;border-radius:2px;font-size:13px;margin-bottom:20px}
.alert-orange{background:rgba(255,92,0,.1);border:1px solid rgba(255,92,0,.25);color:var(--orange)}
.alert-green{background:rgba(0,200,100,.1);border:1px solid rgba(0,200,100,.2);color:var(--green)}

@media(max-width:768px){
  .stats-grid{grid-template-columns:1fr 1fr}
  .form-row,.form-row-3{grid-template-columns:1fr}
  .sidebar{display:none}
  .main{padding:20px}
  .pricing-grid{grid-template-columns:1fr}
  .checkout-wrap{grid-template-columns:1fr;padding:20px}
}
