:root {
  --black: #09070d;
  --ink: #131019;
  --surface: #1c1723;
  --surface-raised: #27202e;
  --line: #53475d;
  --muted: #b6a9bc;
  --paper: #f5eefa;
  --apricot: #f3a36f;
  --orange: #e27d44;
  --lavender: #c9a7e8;
  --violet: #7d62ad;
  --blue: #6d9ec3;
  --danger: #ef6d84;
  --success: #8ecf91;
  color-scheme: dark;
  font-family: "Arial Narrow", "Avenir Next Condensed", Avenir, Helvetica, sans-serif;
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--black); }
body { min-height: 100%; margin: 0; background: radial-gradient(circle at 90% 0%, #28223d 0, transparent 26rem), var(--black); color: var(--paper); letter-spacing: .035em; }
a { color: inherit; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }

.lcars-shell { width: min(1540px, 100%); margin: 0 auto; padding: 0 1.2rem 3rem; }
.topbar { min-height: 5.6rem; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); gap: 1rem; }
.wordmark { color: var(--apricot); font-size: 1.55rem; font-weight: 900; letter-spacing: .12em; text-decoration: none; white-space: nowrap; }
.wordmark span { color: var(--lavender); font-weight: 500; }
.account { display: grid; grid-template-columns: auto auto; align-items: center; gap: .12rem .8rem; text-align: right; font-size: .78rem; }
.account-label { grid-column: 1 / -1; color: var(--muted); font-size: .61rem; letter-spacing: .16em; }
.inline-form { display: inline; margin: 0; }
.text-button { padding: 0; border: 0; background: none; color: var(--apricot); font-size: .68rem; font-weight: 800; letter-spacing: .08em; }

.navigation { display: flex; min-height: 3.4rem; gap: .25rem; overflow-x: auto; border-bottom: 1px solid var(--line); }
.nav-item { display: grid; place-items: center; min-width: max-content; padding: 0 1.1rem; border-radius: 0 0 1.15rem 1.15rem; color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-decoration: none; transition: background .16s, color .16s; }
.nav-item:hover, .nav-item.is-current { background: var(--lavender); color: var(--black); }
.nav-item:nth-child(3n + 2).is-current { background: var(--apricot); }
.nav-item:nth-child(3n + 3).is-current { background: var(--blue); }
.content { padding-top: 2.3rem; }

.page-heading { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.65rem; }
.page-heading h1, .login-panel h1 { margin: .18rem 0 0; font-size: clamp(2rem, 4.2vw, 4.4rem); line-height: .87; letter-spacing: .03em; font-weight: 900; }
.page-heading p { color: var(--muted); margin: .65rem 0 0; max-width: 48rem; line-height: 1.55; }
.eyebrow { margin: 0; color: var(--apricot); font-size: .69rem; font-weight: 800; letter-spacing: .2em; }
.action-row, .form-actions { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 2.6rem; padding: .65rem 1rem; border: 0; border-radius: .1rem 1.2rem 1.2rem .1rem; color: var(--black); font-size: .7rem; font-weight: 900; letter-spacing: .1em; text-decoration: none; transition: transform .15s, filter .15s; }
.button:hover { filter: brightness(1.1); transform: translateY(-1px); }
.button.primary { background: var(--apricot); }
.button.secondary { background: var(--lavender); }
.button.danger { background: var(--danger); }
.button.compact { min-height: 2rem; padding: .45rem .72rem; }

.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .85rem; margin: 0 0 1.3rem; }
.metric { position: relative; min-height: 8.7rem; padding: 1.25rem 1.15rem; overflow: hidden; background: var(--surface); border-left: .5rem solid var(--violet); border-radius: .15rem 2rem .15rem .15rem; }
.metric:nth-child(2) { border-left-color: var(--blue); }
.metric:nth-child(3) { border-left-color: var(--lavender); }
.metric.accent, .metric:nth-child(4) { border-left-color: var(--orange); }
.metric::after { content: ""; position: absolute; right: 0; bottom: 0; width: 34%; height: .42rem; background: var(--line); }
.metric span { display: block; color: var(--muted); font-size: .65rem; font-weight: 800; letter-spacing: .14em; }
.metric strong { display: block; margin-top: 1rem; font-size: clamp(1.35rem, 2.3vw, 2.25rem); line-height: 1.05; letter-spacing: -.03em; }
.metric strong small { color: var(--apricot); font-size: .52em; }
.metric > small { display: block; color: var(--muted); font-size: .7rem; margin-top: .65rem; }

.dashboard-grid, .split-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(19rem, .65fr); gap: 1rem; }
.panel { background: linear-gradient(135deg, rgba(39, 32, 46, .96), rgba(24, 20, 30, .96)); border: 1px solid #413748; border-radius: 1.55rem .2rem 1.55rem .2rem; padding: 1.25rem; }
.panel h2 { margin: 0; font-size: 1rem; letter-spacing: .1em; }
.panel-title { display: flex; align-items: baseline; justify-content: space-between; gap: .8rem; margin-bottom: 1rem; }
.panel-title > a, .panel-title > p, .panel-title > span { color: var(--apricot); font-size: .66rem; font-weight: 800; letter-spacing: .1em; text-decoration: none; }
.panel-title > p { color: var(--muted); font-weight: 500; letter-spacing: .03em; text-align: right; }
.fleet-units { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: .75rem; }
.fleet-unit { min-height: 7.8rem; padding: 1rem; border: 1px solid var(--line); border-radius: 1rem .15rem 1rem .15rem; background: #16121b; text-decoration: none; transition: border-color .16s, background .16s; }
.fleet-unit:hover { background: #211a28; border-color: var(--lavender); }
.fleet-unit-top { display: flex; align-items: center; gap: .35rem; color: var(--muted); font-size: .61rem; font-weight: 800; letter-spacing: .14em; }
.fleet-unit strong { display: block; margin: 1.1rem 0 .4rem; font-size: 1.1rem; }
.fleet-unit > span:last-child { color: var(--muted); font-size: .74rem; }
.status-dot { width: .5rem; height: .5rem; border-radius: 50%; background: var(--lavender); box-shadow: 0 0 0 .18rem rgba(201, 167, 232, .12); }
.status-dot.planned { background: var(--blue); }.status-dot.sold { background: var(--apricot); }.status-dot.archived { background: var(--muted); }
.reminder-list, .breakdown-list { padding: 0; margin: 0; list-style: none; }
.reminder-list li { display: flex; gap: .75rem; padding: .85rem 0; border-bottom: 1px solid var(--line); }.reminder-list li:last-child { border: 0; }
.reminder-list p { margin: .28rem 0 0; color: var(--muted); font-size: .76rem; line-height: 1.4; }.warning-marker { display: grid; place-items: center; width: 1.35rem; height: 1.35rem; margin-top: .1rem; border-radius: 50%; background: var(--orange); color: var(--black); font-size: .8rem; font-weight: 900; }

.vehicle-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(19rem, 1fr)); gap: 1rem; }
.vehicle-card { display: grid; grid-template-columns: 7.5rem 1fr; gap: .7rem; padding: 1.15rem; background: var(--surface); border-radius: 1.8rem .2rem 1.8rem .2rem; border-top: .35rem solid var(--lavender); }
.vehicle-card h2 { margin: .25rem 0 .35rem; font-size: 1.45rem; }.vehicle-card p { color: var(--muted); margin: 0; font-size: .78rem; }.vehicle-card .button { margin-top: .9rem; }
.vehicle-silhouette { display: flex; align-items: center; justify-content: center; }.vehicle-silhouette::before { content: ""; width: 6rem; height: 2.55rem; border: .32rem solid var(--blue); border-top-left-radius: 3rem 1.2rem; border-top-right-radius: 2.2rem .9rem; border-bottom: 0; transform: skewX(-12deg); }.vehicle-silhouette span { position: absolute; width: 1rem; height: 1rem; border: .25rem solid var(--orange); border-radius: 50%; }
.spec-list { display: grid; grid-template-columns: 1fr 1fr; gap: .55rem .9rem; margin: 1rem 0 0; }.spec-list div { min-width: 0; }.spec-list dt { color: var(--muted); font-size: .56rem; font-weight: 800; letter-spacing: .13em; }.spec-list dd { margin: .22rem 0 0; overflow-wrap: anywhere; font-size: .82rem; }.spec-list.large { margin-top: 0; }

.table-wrap { overflow-x: auto; } table { width: 100%; border-collapse: collapse; min-width: 42rem; } th { padding: .55rem .5rem; border-bottom: 1px solid var(--line); color: var(--muted); font-size: .58rem; font-weight: 900; letter-spacing: .12em; text-align: left; white-space: nowrap; } td { padding: .76rem .5rem; border-bottom: 1px solid rgba(83, 71, 93, .52); font-size: .76rem; vertical-align: top; } td small { display: block; margin-top: .2rem; color: var(--muted); }.table-link { color: var(--apricot); font-size: .65rem; font-weight: 900; text-decoration: none; }.muted { color: var(--muted); }

.form-grid { display: grid; gap: 1.4rem; max-width: 65rem; }.form-section { padding-bottom: 1.3rem; border-bottom: 1px solid var(--line); }.form-section:last-of-type { border-bottom: 0; padding-bottom: 0; }.form-section h2 { margin: 0 0 1rem; font-size: .84rem; letter-spacing: .13em; }.fields { display: grid; gap: .85rem; }.fields.two-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }.field { display: grid; gap: .38rem; }.field > span, .filter-bar label, .checkbox-field > span { color: var(--muted); font-size: .62rem; font-weight: 900; letter-spacing: .12em; }.field input, .field select, .field textarea, .filter-bar input, .filter-bar select, .line-item input { width: 100%; padding: .68rem .75rem; border: 1px solid var(--line); border-radius: .15rem .85rem .85rem .15rem; outline: none; background: #100d14; color: var(--paper); font-size: .88rem; }.field textarea { resize: vertical; }.field input:focus, .field select:focus, .field textarea:focus, .filter-bar input:focus, .filter-bar select:focus, .line-item input:focus { border-color: var(--apricot); box-shadow: 0 0 0 2px rgba(243, 163, 111, .19); }.checkbox-field { display: grid; align-content: start; grid-template-columns: auto 1fr; gap: .5rem; padding: .7rem; border: 1px solid var(--line); border-radius: .15rem 1rem 1rem .15rem; }.checkbox-field input { margin-top: .08rem; accent-color: var(--apricot); }.checkbox-field small { grid-column: 2; color: var(--muted); font-size: .67rem; line-height: 1.35; }.error { color: #ff9baa; font-size: .7rem; }.form-hint, .microcopy { color: var(--muted); font-size: .74rem; line-height: 1.45; }.form-actions { justify-content: flex-end; }.delete-form { display: inline-block; margin-top: 1rem; }.line-items { display: grid; gap: .55rem; }.line-item { display: grid; grid-template-columns: minmax(0, 1fr) 9rem 2rem; gap: .55rem; }.icon-button { width: 2rem; border: 0; border-radius: .2rem .7rem .7rem .2rem; background: var(--violet); color: var(--paper); font-size: 1.25rem; }

.filter-bar { display: flex; align-items: end; gap: .8rem; flex-wrap: wrap; margin: 0 0 1rem; padding: .8rem 1rem; background: #15111a; border-radius: .2rem 1rem 1rem .2rem; }.filter-bar label { display: grid; gap: .35rem; min-width: 13rem; }.filter-bar input, .filter-bar select { padding: .5rem .6rem; }.analysis-filter label { min-width: 10rem; }.notice { margin: 0 0 1rem; padding: .75rem .9rem; border-left: .35rem solid var(--blue); background: rgba(109, 158, 195, .13); font-size: .78rem; line-height: 1.45; }.notice.success { border-color: var(--success); background: rgba(142, 207, 145, .12); }.notice.warning { border-color: var(--orange); background: rgba(226, 125, 68, .12); }.notice.danger { border-color: var(--danger); background: rgba(239, 109, 132, .12); }
.empty-state { display: grid; place-items: start; gap: .8rem; min-height: 12rem; padding: 1.7rem; border: 1px dashed var(--line); border-radius: 1.4rem .2rem 1.4rem .2rem; }.empty-state h2, .empty-state p { margin: 0; }.empty-state p { color: var(--muted); }

.login-panel { width: min(38rem, calc(100% - 2.4rem)); margin: clamp(4rem, 15vh, 11rem) auto; padding: clamp(1.5rem, 5vw, 3.7rem); border-left: 1.1rem solid var(--apricot); border-radius: .2rem 3rem .2rem .2rem; background: linear-gradient(135deg, #292137, #16121c); }.login-panel > p:not(.eyebrow) { max-width: 32rem; color: var(--muted); line-height: 1.6; }.login-panel form { margin: 1.8rem 0 1rem; }.login-panel code { color: var(--lavender); }
.status-body { display: grid; min-height: 100vh; place-items: center; }.access-status { position: relative; width: min(46rem, calc(100% - 2rem)); padding: clamp(2rem, 8vw, 6rem) clamp(1.5rem, 6vw, 4rem); overflow: hidden; border-radius: .3rem 4rem .3rem .3rem; background: #1d1625; border-left: 1.2rem solid var(--success); }.access-status.denied { border-left-color: var(--danger); }.access-status h1 { margin: .6rem 0; color: var(--success); font-size: clamp(2.8rem, 9vw, 6.5rem); line-height: .82; letter-spacing: .03em; }.access-status.denied h1 { color: var(--danger); }.access-status p { color: var(--muted); }.scan-line { position: absolute; right: 0; bottom: 0; left: 0; height: .35rem; background: var(--success); animation: scan 1.1s ease-in-out infinite; }.denied .scan-line { background: var(--danger); }@keyframes scan { 0% { transform: translateX(-100%); } 100% { transform: translateX(100%); } }

.bar-chart { display: grid; gap: .75rem; }.chart-row { display: grid; grid-template-columns: 4.9rem minmax(5rem, 1fr) 5.9rem; align-items: center; gap: .6rem; font-size: .72rem; }.chart-row > span { color: var(--muted); }.chart-row strong { text-align: right; }.chart-track { height: .72rem; overflow: hidden; background: #100d14; border-radius: 0 .6rem .6rem 0; }.chart-track i { display: block; height: 100%; background: linear-gradient(90deg, var(--violet), var(--apricot)); border-radius: 0 .6rem .6rem 0; }.breakdown-list li { display: flex; justify-content: space-between; gap: 1rem; padding: .86rem 0; border-bottom: 1px solid var(--line); font-size: .8rem; }.breakdown-list li:last-child { border: 0; }.process-list { padding-left: 1.3rem; color: var(--muted); line-height: 1.9; }.upload-form { display: grid; gap: 1rem; margin-top: 1.2rem; }

@media (max-width: 860px) { .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.dashboard-grid, .split-grid { grid-template-columns: 1fr; }.page-heading { align-items: start; flex-direction: column; }.action-row { width: 100%; }.action-row .button { flex: 1; }.vehicle-card { grid-template-columns: 5.8rem 1fr; }.vehicle-silhouette::before { width: 4.8rem; }.navigation { margin: 0 -1.2rem; padding: 0 1.2rem; }.nav-item { padding: 0 .85rem; } }
@media (max-width: 560px) { .lcars-shell { padding: 0 .8rem 2rem; }.topbar { min-height: 4.4rem; }.wordmark { font-size: 1.1rem; }.account { font-size: .68rem; }.content { padding-top: 1.35rem; }.metric-grid { grid-template-columns: 1fr; }.metric { min-height: 7.2rem; }.fields.two-columns { grid-template-columns: 1fr; }.vehicle-grid { grid-template-columns: 1fr; }.vehicle-card { grid-template-columns: 4.3rem 1fr; }.vehicle-silhouette::before { width: 3.6rem; height: 2rem; }.panel { padding: 1rem; }.filter-bar label, .analysis-filter label { width: 100%; min-width: 0; }.filter-bar .button { width: 100%; }.line-item { grid-template-columns: 1fr 5.8rem 2rem; gap: .35rem; }.login-panel { margin-top: 3rem; }.page-heading h1 { font-size: 2.2rem; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } }
