﻿:root{
  --bg:#0A1020;
  --panel:#0F172A;
  --panel2:#0B1220;
  --stroke:rgba(255,255,255,0.08);
  --stroke2:rgba(255,255,255,0.12);

  --text:#EAF0FF;
  --muted:#9FB0CF;

  --red:#B32025;
  --red2:#D03A40;
  --green:#1F7A34;
  --amber:#F59E0B;

  --radius-xl:22px;
  --radius-lg:16px;
  --radius-md:14px;

  --shadow: 0 18px 55px rgba(0,0,0,0.45);
}

*{box-sizing:border-box}
html, body{height:100%}
body{
  margin:0;
  background:
    radial-gradient(1200px 800px at 20% -10%, rgba(208,58,64,0.10), transparent 60%),
    radial-gradient(900px 700px at 90% 0%, rgba(31,122,52,0.08), transparent 55%),
    radial-gradient(1000px 800px at 40% 110%, rgba(159,176,207,0.10), transparent 60%),
    var(--bg);
  color:var(--text);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

a{color:inherit}

.container{
  max-width:980px;
  margin:0 auto;
  padding:16px 16px 96px;
}

.topbar{
  position:sticky; top:0; z-index:20;
  background:rgba(15,23,42,0.72);
  border-bottom:1px solid var(--stroke);
  backdrop-filter: blur(14px);
}
.topbar-inner{
  max-width:980px;
  margin:0 auto;
  padding:12px 16px;
  display:flex;
  align-items:center;
  gap:12px;
}
.brand{
  display:flex; align-items:center; gap:12px;
}
.brand-logo{height:45px; width:auto}
.brand-title{
  display:flex; flex-direction:column; line-height:1.05;
}
.brand-title .name{font-weight:1000; letter-spacing:0.2px}
.brand-title .tag{font-size:12px; color:var(--muted); font-weight:800; margin-top:2px}
.spacer{flex:1}
.top-actions{display:flex; align-items:center; gap:10px}

.chip{
  display:inline-flex; align-items:center; gap:8px;
  height:36px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid var(--stroke);
  background:rgba(11,18,32,0.65);
  text-decoration:none;
  font-weight:950;
  color:var(--muted);
}
.chip-danger{
  color:#ffd0d2;
  border-color:rgba(208,58,64,0.35);
  background:rgba(208,58,64,0.12);
}

.h1{
  font-size:22px;
  font-weight:1000;
  margin:14px 0 10px;
  letter-spacing:0.2px;
}
.sub{
  color:var(--muted);
  font-weight:750;
  font-size:13px;
}

.section{
  margin-top:14px;
}

.card{
  background:linear-gradient(180deg, rgba(15,23,42,0.90), rgba(11,18,32,0.92));
  border:1px solid var(--stroke);
  border-radius:var(--radius-xl);
  padding:16px;
  box-shadow: var(--shadow);
  margin-bottom:14px;
}

.card-title-row{
  display:flex; align-items:flex-start; justify-content:space-between; gap:12px;
}
.card-title{
  font-weight:1000; font-size:15px;
}
.card-kicker{
  color:var(--muted);
  font-weight:850;
  font-size:12px;
  margin-top:4px;
}

.divider{
  height:1px;
  background:var(--stroke);
  margin:14px 0;
}

.grid-2{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap:12px;
}
@media (max-width: 560px){
  .grid-2{grid-template-columns:1fr;}
}

.tile{
  padding:14px;
  border-radius:var(--radius-lg);
  border:1px solid var(--stroke);
  background:rgba(11,18,32,0.60);
}
.tile .label{color:var(--muted); font-weight:850; font-size:12px}
.tile .value{font-size:26px; font-weight:1100; margin-top:8px}
.tile .meta{color:var(--muted); font-weight:800; font-size:12px; margin-top:10px}

.pill{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  font-weight:950;
  font-size:12px;
  border:1px solid rgba(255,255,255,0.10);
  letter-spacing:0.2px;
}
.pill-success{background:rgba(31,122,52,0.16); color:#8bf2b4; border-color:rgba(31,122,52,0.25)}
.pill-warning{background:rgba(245,158,11,0.14); color:#ffd58a; border-color:rgba(245,158,11,0.28)}
.pill-danger{background:rgba(208,58,64,0.14); color:#ffb0b4; border-color:rgba(208,58,64,0.32)}
.pill-neutral{background:rgba(159,176,207,0.12); color:var(--muted); border-color:rgba(159,176,207,0.22)}

/* =========================
   HERO (vehicle image card)
   ========================= */
.hero{
  border-radius:var(--radius-lg);
  overflow:hidden;
  border:1px solid var(--stroke);
  position:relative;
  background:rgba(11,18,32,0.65);
}

/* Keep image contained and not overpowering */
.hero-img{
  width:100%;
  height:210px;
  object-fit:cover;
  object-position:center;
  display:block;
  filter:saturate(1.05) contrast(1.05);
}

/* fallback if no image */
.hero-fallback{
  width:100%;
  height:210px;
  background:
    radial-gradient(800px 260px at 20% 0%, rgba(208,58,64,0.18), transparent 60%),
    radial-gradient(700px 260px at 90% 30%, rgba(31,122,52,0.14), transparent 60%),
    rgba(11,18,32,0.8);
}

/* NEW: bottom overlay gradient for text readability */
.hero::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:64%;
  pointer-events:none;
  background:
    linear-gradient(
      to top,
      rgba(0,0,0,0.78) 0%,
      rgba(0,0,0,0.48) 35%,
      rgba(0,0,0,0.15) 65%,
      rgba(0,0,0,0.00) 100%
    );
}

.hero-overlay{
  position:absolute;
  left:14px;
  right:14px;
  bottom:12px;
  z-index:2; /* sit above the overlay */
}

.hero-title{
  font-size:22px;
  font-weight:1100;
  text-shadow: 0 2px 18px rgba(0,0,0,0.70);
}
.hero-sub{
  color:rgba(234,240,255,0.92);
  font-weight:900;
  margin-top:4px;
  text-shadow: 0 2px 16px rgba(0,0,0,0.70);
}

.btn-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:14px;
}
@media (max-width: 420px){
  .btn-row{grid-template-columns:1fr;}
}

.btn{
  height:50px;
  border-radius:999px;
  border:1px solid var(--stroke);
  background:rgba(11,18,32,0.70);
  color:var(--text);
  font-weight:1050;
  text-decoration:none;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.btn svg{opacity:0.9}
.btn-primary{
  border:none;
  background:linear-gradient(180deg, var(--red2), var(--red));
  box-shadow: 0 16px 45px rgba(179,32,37,0.30);
}
.btn-ghost{
  background:rgba(11,18,32,0.40);
}

.list{
  margin-top:12px;
}
.row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 0;
  border-bottom:1px solid var(--stroke);
}
.row:last-child{border-bottom:none}
.row .left .title{font-weight:1000}
.row .left .sub2{color:var(--muted); font-weight:850; font-size:12px; margin-top:4px}

.field{margin-top:12px}
.label{color:var(--muted); font-weight:900; font-size:12px; margin-bottom:7px}

.input{
  width:100%;
  height:50px;
  border-radius:var(--radius-lg);
  border:1px solid var(--stroke);
  background:rgba(11,18,32,0.65);
  color:var(--text);
  padding:0 14px;
  font-weight:900;
  outline:none;
}
textarea.textarea{
  width:100%;
  min-height:120px;
  border-radius:var(--radius-lg);
  border:1px solid var(--stroke);
  background:rgba(11,18,32,0.65);
  color:var(--text);
  padding:12px 14px;
  font-weight:850;
  outline:none;
  resize:vertical;
}

.help{
  color:var(--muted);
  font-weight:800;
  font-size:12px;
  margin-top:10px;
}

.bottombar{
  position:fixed; left:0; right:0; bottom:0; z-index:30;
  background:rgba(15,23,42,0.72);
  border-top:1px solid var(--stroke);
  backdrop-filter: blur(14px);
  padding:12px;
  display:flex;
  justify-content:center;
}
.bnav{
  width:min(640px, 100%);
  display:flex;
  gap:10px;
}
.tab{
  flex:1;
  height:48px;
  border-radius:999px;
  border:1px solid var(--stroke);
  background:rgba(11,18,32,0.55);
  color:var(--muted);
  font-weight:1050;
  text-decoration:none;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.tab.active{
  color:var(--text);
  border-color:rgba(208,58,64,0.40);
  background:rgba(208,58,64,0.14);
}

.notice{
  border-radius:var(--radius-lg);
  border:1px solid var(--stroke);
  background:rgba(11,18,32,0.55);
  padding:12px;
  display:flex;
  align-items:flex-start;
  gap:10px;
}

/* =========================
   UPCOMING / COMING TASKS
   ========================= */

.section-title{
  font-size:14px;
  font-weight:1000;
  margin-top:18px;
  margin-bottom:10px;
  letter-spacing:0.3px;
}

.coming{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.coming-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px;
  border-radius:18px;
  border:1px solid var(--stroke);
  background:rgba(11,18,32,0.60);
  transition:all .2s ease;
}

.coming-item:hover{
  border-color:rgba(208,58,64,0.30);
  background:rgba(208,58,64,0.08);
}

.coming-left{
  display:flex;
  align-items:center;
  gap:12px;
}

.coming-icon{
  width:36px;
  height:36px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  background:rgba(255,255,255,0.06);
}

.coming-text{
  display:flex;
  flex-direction:column;
}

.coming-title{
  font-weight:1000;
  font-size:14px;
}

.coming-sub{
  font-size:12px;
  font-weight:850;
  color:var(--muted);
  margin-top:3px;
}

.coming-right{
  font-size:20px;
  font-weight:1000;
  color:var(--muted);
}
.notice .title{font-weight:1000}
.notice .msg{color:var(--muted); font-weight:800; font-size:12px; margin-top:4px}