:root{
  --navy:#0b1220;
  --navy-2:#111b2d;
  --navy-3:#172338;
  --blue:#2457d6;
  --blue-2:#356be8;
  --blue-soft:#eef3ff;
  --ink:#172033;
  --ink-2:#2a3447;
  --muted:#697386;
  --muted-2:#98a2b3;
  --bg:#f4f6f9;
  --surface:#ffffff;
  --surface-2:#f8fafc;
  --line:#e3e7ee;
  --line-2:#cfd6e1;
  --green:#16745a;
  --green-soft:#edf8f4;
  --amber:#9a6512;
  --amber-soft:#fff7e8;
  --red:#b42318;
  --red-soft:#fff3f1;
  --purple:#6657c8;
  --purple-soft:#f4f2ff;
  --shadow:0 12px 34px rgba(16,24,40,.08);
  --shadow-sm:0 3px 12px rgba(16,24,40,.055);
  --radius:11px;
  --radius-sm:8px;
  --sidebar:258px;
  --topbar:64px;
}

*{box-sizing:border-box}
html{font-family:"Segoe UI Variable","Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;background:var(--bg);color:var(--ink);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{margin:0;min-height:100vh;background:var(--bg);font-size:14px}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
svg{display:block;stroke-width:1.75}
::selection{background:#dce6ff;color:#132857}
.hidden{display:none!important}.muted{color:var(--muted)}.nowrap{white-space:nowrap}.w-full{width:100%}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}.mb-0{margin-bottom:0}

/* LOGIN */
.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(430px,.72fr);background:#fff}
.login-visual{padding:52px 56px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;background:#0b1220;color:#fff}
.login-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 0 52%,rgba(255,255,255,.024) 52% 52.25%,transparent 52.25% 100%);background-size:84px 84px;opacity:.8}
.login-visual:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.065);border-radius:50%;right:-270px;bottom:-220px;box-shadow:0 0 0 90px rgba(255,255,255,.012),0 0 0 180px rgba(255,255,255,.008)}
.brand-lockup{display:flex;align-items:center;gap:12px;position:relative;z-index:1}
.brand-mark{width:42px;height:42px;border-radius:8px;background:#fff;color:#0b1220;display:grid;place-items:center;font-weight:800;letter-spacing:-.06em;font-size:15px;border:1px solid rgba(255,255,255,.16);box-shadow:none}
.brand-copy strong{display:block;font-size:18px;line-height:1.1;letter-spacing:-.025em;font-weight:750}
.brand-copy span{display:block;color:rgba(255,255,255,.48);font-size:9px;margin-top:4px;letter-spacing:.105em;text-transform:uppercase;font-weight:700}
.login-pitch{max-width:650px;position:relative;z-index:1;margin:72px 0}
.login-pitch .kicker,.page-kicker{display:inline-flex;align-items:center;gap:7px;text-transform:uppercase;letter-spacing:.11em;font-size:9px;font-weight:800;color:#5f82da}
.login-pitch .kicker{color:#9eb8f8}
.login-pitch h1{font-size:clamp(38px,4.4vw,62px);line-height:1.03;letter-spacing:-.045em;margin:18px 0 20px;max-width:690px;font-weight:680}
.login-pitch p{font-size:16px;line-height:1.72;color:rgba(255,255,255,.62);max-width:600px;margin:0}
.login-feature-row{display:grid;grid-template-columns:repeat(3,1fr);gap:0;position:relative;z-index:1;border-top:1px solid rgba(255,255,255,.11)}
.login-feature{padding:19px 18px 0 0;background:transparent;border:0;border-radius:0;backdrop-filter:none}
.login-feature+.login-feature{padding-left:18px;border-left:1px solid rgba(255,255,255,.09)}
.login-feature b{display:block;font-size:12px;font-weight:700}
.login-feature span{display:block;color:rgba(255,255,255,.46);font-size:11px;line-height:1.55;margin-top:6px}
.login-panel{background:#fff;display:flex;align-items:center;justify-content:center;padding:46px 54px}
.login-card{width:min(100%,410px)}
.login-card .brand-mark{background:#0b1220!important;color:#fff!important;border-color:#0b1220}
.login-card h2{font-size:27px;letter-spacing:-.035em;margin:34px 0 8px;font-weight:680}
.login-card>p{margin:0 0 30px;color:var(--muted);line-height:1.65;font-size:13px}
.demo-box{background:#f8fafc;border:1px solid var(--line);border-radius:8px;padding:13px 14px;margin-top:18px;font-size:10px;line-height:1.65;color:var(--muted)}
.demo-box b{color:var(--ink);font-weight:700}

/* APP SHELL */
.app-shell{min-height:100vh}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#0b1220;color:#fff;padding:18px 13px;display:flex;flex-direction:column;z-index:40;border-right:1px solid #172338}
.sidebar .brand-lockup{padding:4px 8px 19px;border-bottom:1px solid rgba(255,255,255,.075)}
.sidebar .brand-mark{width:37px;height:37px;border-radius:7px;font-size:13px}
.sidebar .brand-copy strong{font-size:16px}
.sidebar .brand-copy span{font-size:8px}
.sidebar-nav{margin-top:12px;display:flex;flex-direction:column;gap:2px;overflow:auto;padding:0 2px 4px;scrollbar-width:thin;scrollbar-color:#25324a transparent}
.nav-section{font-size:8px;color:#60708a;text-transform:uppercase;letter-spacing:.13em;font-weight:800;padding:17px 10px 7px}
.nav-link{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:7px;color:#a5b0c2;font-size:12px;font-weight:570;transition:background .14s ease,color .14s ease,border-color .14s ease;border:1px solid transparent}
.nav-link svg{width:17px;height:17px;stroke-width:1.7;color:#718097}
.nav-link:hover{background:#111b2d;color:#fff}
.nav-link:hover svg{color:#b8c5d7}
.nav-link.active{background:#172338;color:#fff;border-color:#24334c;box-shadow:inset 2px 0 0 #5d80d7}
.nav-link.active svg{color:#9eb8f8}
.nav-badge{margin-left:auto;min-width:19px;height:18px;padding:0 5px;border-radius:9px;display:grid;place-items:center;background:#283750;color:#dce6f7;font-size:9px;font-weight:700}
.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.075);padding-top:10px}
.user-mini{display:flex;align-items:center;gap:9px;padding:8px;border-radius:7px;transition:.14s}
.user-mini:hover{background:#111b2d}
.avatar{width:35px;height:35px;border-radius:7px;background:#eef2f7;color:#223149;display:grid;place-items:center;font-weight:750;font-size:10px;flex:0 0 auto;border:1px solid #dde3eb}
.user-mini b{display:block;font-size:11px;font-weight:650;color:#e7edf6;max-width:154px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-mini span{display:block;font-size:9px;color:#718097;margin-top:2px}
.logout-link{width:100%;border:0;background:transparent;color:#8593a8;display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:7px;margin-top:3px;text-align:left;font-weight:570;font-size:11px}
.logout-link:hover{background:#111b2d;color:#fff}
.logout-link svg{width:16px;height:16px}
.main-wrap{margin-left:var(--sidebar);min-height:100vh}
.topbar{height:var(--topbar);position:sticky;top:0;z-index:30;background:rgba(255,255,255,.965);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px}
.topbar-left{display:flex;align-items:center;gap:11px}
.mobile-menu{display:none;width:36px;height:36px;border:1px solid var(--line);border-radius:7px;background:#fff;align-items:center;justify-content:center;color:#4b5565}
.mobile-menu svg{width:17px;height:17px}
.topbar-title b{display:block;font-size:12px;font-weight:700;color:var(--ink)}
.topbar-title span{display:block;font-size:9px;color:var(--muted);margin-top:2px;text-transform:uppercase;letter-spacing:.055em}
.topbar-actions{display:flex;align-items:center;gap:8px}
.icon-btn{position:relative;width:36px;height:36px;border:1px solid var(--line);border-radius:7px;background:#fff;display:grid;place-items:center;color:#536074;transition:.14s}
.icon-btn:hover{border-color:#c8d0dc;background:#f8fafc;color:#1f2b3d}
.icon-btn svg{width:16px;height:16px}
.icon-btn .dot{position:absolute;right:7px;top:6px;width:6px;height:6px;border-radius:50%;background:#c93b31;border:1.5px solid #fff}
.topbar-user{display:flex;align-items:center;gap:8px;padding:3px 4px;border-radius:7px}
.topbar-user:hover{background:#f8fafc}
.topbar-user .avatar{width:31px;height:31px;border-radius:6px}
.topbar-user b{font-size:10px;font-weight:650}
.topbar-user span{font-size:9px;color:var(--muted);display:block;margin-top:1px}
.page{padding:28px;max-width:1560px;margin:0 auto 72px}
.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:22px}
.page-head h1{font-size:27px;line-height:1.15;letter-spacing:-.035em;margin:6px 0 7px;font-weight:690;color:#162033}
.page-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.6;max-width:760px}
.page-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}

/* CONTROLS */
.btn{border:1px solid transparent;border-radius:7px;padding:9px 12px;font-weight:650;font-size:11px;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:background .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease,transform .08s ease;min-height:36px;white-space:nowrap}
.btn:active:not(:disabled){transform:translateY(1px)}
.btn svg{width:14px;height:14px;stroke-width:1.8}
.btn-primary{background:#111b2d;color:#fff;border-color:#111b2d;box-shadow:0 2px 5px rgba(16,24,40,.12)}
.btn-primary:hover{background:#172338;border-color:#172338}
.btn-blue{background:var(--blue);color:#fff;border-color:var(--blue);box-shadow:0 2px 5px rgba(36,87,214,.18)}
.btn-blue:hover{background:#1d4dbf}
.btn-secondary{background:#fff;border-color:#d6dce5;color:#344054}
.btn-secondary:hover{background:#f8fafc;border-color:#c2cad6}
.btn-soft{background:#f0f4ff;border-color:#e0e7fb;color:#294da8}
.btn-soft:hover{background:#e7edfc}
.btn-danger{background:#fff5f3;border-color:#f3d4cf;color:#a92a20}
.btn-danger:hover{background:#feebe8}
.btn-green{background:var(--green);color:#fff;border-color:var(--green)}
.btn:disabled{opacity:.42;cursor:not-allowed;transform:none;box-shadow:none}
.link-btn{border:0;background:transparent;color:#315bb5;font-weight:650;font-size:10px;padding:3px 0}
.link-btn:hover{text-decoration:underline;text-underline-offset:3px}
.field{width:100%;min-height:39px;border:1px solid #d7dde6;border-radius:7px;background:#fff;color:var(--ink);padding:9px 11px;font-size:12px;outline:none;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}
.field:hover{border-color:#c8d0db}
.field:focus{border-color:#7a98dc;box-shadow:0 0 0 3px rgba(36,87,214,.09);background:#fff}
.field::placeholder{color:#a1a9b7}
select.field{appearance:auto}
.textarea{min-height:102px;resize:vertical;line-height:1.55}
.field-label{display:block;font-size:10px;color:#49556a;font-weight:650;margin:0 0 6px}
.helper{font-size:9px;color:var(--muted);line-height:1.55;margin-top:6px}

/* CARDS / LAYOUT */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}
.card-pad{padding:19px}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 18px;border-bottom:1px solid var(--line)}
.card-head h3{font-size:13px;margin:0;letter-spacing:-.015em;font-weight:680;color:#1f2937}
.card-head p{font-size:9px;margin:4px 0 0;color:var(--muted)}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.grid-main{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.72fr);gap:14px}
.stack{display:grid;gap:14px}
.metric{padding:16px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;min-height:130px}
.metric:after{content:"";position:absolute;right:-26px;top:-28px;width:82px;height:82px;border-radius:50%;border:1px solid #edf0f5;background:transparent}
.metric-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.metric-icon{width:34px;height:34px;border-radius:7px;display:grid;place-items:center;background:#eef3ff;color:#315bb5;position:relative;z-index:1;border:1px solid #e2e9fb}
.metric-icon.green{background:#eef8f4;color:#17694f;border-color:#ddefe7}.metric-icon.amber{background:#fff7e9;color:#8b621e;border-color:#f3e5c8}.metric-icon.purple{background:#f4f2ff;color:#6657c8;border-color:#e8e3ff}
.metric-icon svg{width:16px;height:16px}
.metric span{font-size:10px;color:var(--muted);font-weight:580;position:relative;z-index:1}
.metric strong{display:block;font-size:25px;letter-spacing:-.035em;margin-top:13px;position:relative;z-index:1;font-weight:690;color:#172033}
.metric small{font-size:9px;color:#8a94a6;position:relative;z-index:1;display:block;margin-top:4px}
.trend{font-size:8px!important;font-weight:700!important;color:#647086!important;background:#f5f7fa;border:1px solid #e8ebf0;border-radius:10px;padding:4px 6px;letter-spacing:.01em}
.trend.down{color:var(--red)!important;background:var(--red-soft)}
.hero-ops{position:relative;overflow:hidden;padding:29px 30px;border-radius:11px;background:#111b2d;color:#fff;min-height:230px;border:1px solid #1f2c42;box-shadow:0 8px 24px rgba(16,24,40,.11)}
.hero-ops:after{content:"";position:absolute;width:350px;height:350px;right:-190px;top:-175px;border-radius:50%;border:1px solid rgba(255,255,255,.08);box-shadow:0 0 0 68px rgba(255,255,255,.015)}
.hero-ops .page-kicker{color:#9eb8f8}
.hero-ops h2{position:relative;z-index:1;font-size:28px;line-height:1.15;letter-spacing:-.035em;margin:10px 0 10px;max-width:610px;font-weight:650}
.hero-ops p{position:relative;z-index:1;color:#aeb9ca;font-size:12px;line-height:1.65;max-width:620px;margin:0}
.hero-actions{position:relative;z-index:1;display:flex;gap:8px;margin-top:22px}
.hero-ops .btn-primary{background:#fff;color:#142033;border-color:#fff}.hero-ops .btn-primary:hover{background:#f1f4f8}
.hero-ops .btn-secondary{background:transparent;border-color:#35445c;color:#dce4ef}.hero-ops .btn-secondary:hover{background:#172338}
.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;padding:7px}
.quick-action{padding:14px 12px;border:1px solid transparent;border-radius:8px;display:grid;grid-template-columns:30px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;transition:.14s}
.quick-action:hover{background:#f8fafc;border-color:#edf0f4}
.quick-action svg{grid-row:1/3;width:17px;height:17px;color:#4d6284}
.quick-action b{font-size:11px;font-weight:650}.quick-action span{font-size:9px;color:var(--muted);margin-top:2px}
.alert-box{background:#fff8ec;border:1px solid #f2dfbc;border-radius:9px;padding:15px;color:#77511a;font-size:10px;line-height:1.58}.alert-box b{display:block;font-size:11px;margin-bottom:5px}

/* TOOLBAR & TABLES */
.toolbar{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.search{height:39px;min-width:260px;flex:1;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #d7dde6;border-radius:7px;padding:0 10px;color:#8490a2}
.search:focus-within{border-color:#7a98dc;box-shadow:0 0 0 3px rgba(36,87,214,.08)}
.search svg{width:15px;height:15px;flex:0 0 auto}
.search input{border:0;outline:0;background:transparent;width:100%;font-size:11px;color:var(--ink)}
.search input::placeholder{color:#9ca5b4}
.toolbar select{height:39px;border:1px solid #d7dde6;border-radius:7px;background:#fff;padding:0 30px 0 10px;color:#4a5568;font-size:10px;font-weight:580;outline:none}
.table-wrap{overflow:auto;scrollbar-width:thin;scrollbar-color:#d9dee7 transparent}
.data-table{width:100%;border-collapse:collapse;min-width:980px;background:#fff}
.data-table th{text-align:left;font-size:8px;text-transform:uppercase;letter-spacing:.075em;color:#7a8495;font-weight:750;padding:10px 14px;background:#fafbfc;border-bottom:1px solid var(--line);white-space:nowrap}
.data-table td{padding:12px 14px;border-bottom:1px solid #edf0f4;vertical-align:middle;font-size:10px;color:#374151}
.data-table tr:last-child td{border-bottom:0}.data-table tbody tr{transition:.12s}.data-table tbody tr:hover{background:#fafbfd}
.table-id{font-size:10px;font-weight:750;color:#1e355f;font-variant-numeric:tabular-nums}
.route-cell{max-width:320px}.route-cell b{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:650}.route-cell span{display:block;color:var(--muted);font-size:9px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.person-cell{display:flex;align-items:center;gap:8px;min-width:130px}.mini-avatar{width:27px;height:27px;border-radius:6px;background:#eef2f7;color:#536074;display:grid;place-items:center;font-size:8px;font-weight:750;flex:0 0 auto;border:1px solid #e1e6ed}.person-cell b{font-weight:650}
.table-actions{display:flex;justify-content:flex-end;gap:5px}.table-actions .icon-btn{width:31px;height:31px;border-radius:6px}
.status{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:3px 8px;border-radius:10px;font-size:8px;font-weight:750;white-space:nowrap;border:1px solid transparent;letter-spacing:.01em}
.status-wait{background:#fff7e8;color:#825c18;border-color:#f0e1c2}.status-market{background:#eef3ff;color:#3155a7;border-color:#dae4fb}.status-assigned{background:#f3f1ff;color:#5b4fb6;border-color:#e5e0ff}.status-progress{background:#eef5ff;color:#285eaa;border-color:#dce9fb}.status-done{background:#edf8f4;color:#156049;border-color:#d8eee6}.status-cancelled{background:#fff3f1;color:#a33027;border-color:#f2d9d5}
.source-badge{display:inline-flex;align-items:center;padding:3px 7px;border-radius:5px;background:#f3f5f8;border:1px solid #e5e9ef;color:#536074;font-size:8px;font-weight:650;white-space:nowrap}
.mobile-cards{display:none}

/* OPERATION LISTS */
.ops-list{padding:2px 18px 8px}.ops-item{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #edf0f4}.ops-item:last-child{border-bottom:0}.ops-item:hover b{color:#2457d6}.time-pill{font-variant-numeric:tabular-nums;font-size:10px;font-weight:700;color:#2e3b50;background:#f4f6f9;border:1px solid #e5e9ef;border-radius:6px;padding:7px 6px;text-align:center}.ops-item b{font-size:10px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:.12s}.ops-item span:not(.status){font-size:9px;color:var(--muted);display:block;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.transfer-card{padding:14px}.transfer-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.transfer-card h4{font-size:11px;margin:4px 0 0;font-weight:650}.transfer-card-route{display:grid;grid-template-columns:13px 1fr;gap:9px;margin-top:14px}.route-rail{display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:4px 0}.route-rail:before{content:"";position:absolute}.route-rail i{width:7px;height:7px;border-radius:50%;border:2px solid #60728e;background:#fff}.route-text{display:grid;gap:14px}.route-text b{font-size:10px;line-height:1.35;font-weight:650}.route-text span{display:block;font-size:8px;color:var(--muted);margin-top:2px}.chip-row,.market-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.chip{display:inline-flex;align-items:center;min-height:21px;padding:2px 7px;border-radius:5px;background:#f5f7fa;border:1px solid #e7ebf0;color:#5d687a;font-size:8px;font-weight:600}.card-actions{display:flex;gap:7px;margin-top:13px}.card-actions .btn{flex:1}

/* MARKET */
.market-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.market-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px;box-shadow:var(--shadow-sm);transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.market-card:hover{transform:translateY(-1px);border-color:#ccd4df;box-shadow:0 8px 22px rgba(16,24,40,.075)}.market-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.market-head small{display:block;color:#778195;font-size:8px;font-weight:750;letter-spacing:.025em}.market-head strong{display:block;font-size:11px;margin-top:4px;font-weight:650}.market-route{margin-top:15px;padding:12px 13px;background:#f8fafc;border:1px solid #edf0f4;border-radius:8px}.market-route b{display:block;font-size:10px;line-height:1.4;font-weight:650}.market-route span{display:block;font-size:8px;color:#8791a2;margin:7px 0}.market-price{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:15px;padding-top:13px;border-top:1px solid #edf0f4}.market-price span{display:block;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.05em;font-weight:650}.market-price strong{display:block;font-size:21px;margin-top:3px;letter-spacing:-.03em;font-weight:700;color:#142033}

/* FORMS */
.form-section{padding:20px 21px;border-bottom:1px solid var(--line)}.form-section:last-of-type{border-bottom:0}.form-section-title{display:flex;align-items:flex-start;gap:11px;margin-bottom:17px}.section-number{width:24px;height:24px;border-radius:6px;background:#172338;color:#fff;display:grid;place-items:center;font-size:9px;font-weight:750;flex:0 0 auto}.form-section-title h3{font-size:13px;margin:1px 0 3px;font-weight:680}.form-section-title span{font-size:9px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-group.full{grid-column:1/-1}.form-footer{display:flex;justify-content:flex-end;gap:8px;padding:15px 21px;background:#fafbfc;border-top:1px solid var(--line);border-radius:0 0 11px 11px}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid #edf0f4}.switch-row:last-child{border-bottom:0}.switch{width:38px;height:22px;border-radius:11px;border:0;background:#cbd2dc;padding:2px;position:relative;transition:.18s}.switch:after{content:"";display:block;width:18px;height:18px;background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:.18s}.switch.on{background:#315bb5}.switch.on:after{transform:translateX(16px)}

/* DETAIL */
.detail-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.72fr);gap:14px}.detail-route{background:#111b2d;border:1px solid #1f2c42;color:#fff;border-radius:11px;padding:21px 22px;position:relative;overflow:hidden}.detail-route:after{content:"";position:absolute;width:250px;height:250px;border:1px solid rgba(255,255,255,.075);border-radius:50%;right:-135px;top:-130px}.detail-route .status{position:relative;z-index:1}.detail-route h2{font-size:20px;line-height:1.32;letter-spacing:-.025em;margin:13px 0 18px;position:relative;z-index:1;font-weight:620}.detail-route-row{display:grid;grid-template-columns:13px 1fr;gap:10px;position:relative;z-index:1}.detail-route-row .route-rail i{box-shadow:none;border-color:#a9b9d2;background:#111b2d}.detail-route-row .route-text span{color:#77869d}.detail-route-row .route-text b{font-size:11px;color:#f2f5f9}.detail-grid-info{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px;position:relative;z-index:1}.detail-mini{padding:10px 10px;border:1px solid #29384f;border-radius:7px;background:#152238}.detail-mini span{font-size:7px;color:#7f8da2;text-transform:uppercase;letter-spacing:.06em}.detail-mini b{display:block;font-size:10px;margin-top:4px;color:#e9eef5}.info-list{padding:3px 18px 12px}.info-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid #edf0f4}.info-row:last-child{border-bottom:0}.info-row span{font-size:10px;color:var(--muted)}.info-row b{font-size:10px;text-align:right;max-width:62%;font-weight:650;line-height:1.45}.price-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:16px 18px}.price-box{background:#f8fafc;border:1px solid #edf0f4;border-radius:7px;padding:11px}.price-box span{font-size:7px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.price-box b{display:block;font-size:15px;margin-top:5px;font-weight:680}.price-box.profit{background:#edf8f4;border-color:#d8eee6}.price-box.profit b{color:#146149}.timeline{padding:10px 18px 16px}.timeline-item{display:grid;grid-template-columns:20px 1fr;gap:9px;position:relative;padding:6px 0 12px}.timeline-item:not(:last-child):before{content:"";position:absolute;left:9px;top:20px;bottom:-3px;width:1px;background:#e1e6ed}.timeline-dot{width:19px;height:19px;border-radius:50%;display:grid;place-items:center;background:#f0f2f5;color:#8b95a5;z-index:1;border:1px solid #e2e6ec}.timeline-dot svg{width:10px;height:10px}.timeline-item.done .timeline-dot{background:#edf8f4;color:#17694f;border-color:#d8eee6}.timeline-item.current .timeline-dot{background:#eef3ff;color:#315bb5;border-color:#dae4fb;box-shadow:0 0 0 3px #f5f7fc}.timeline-item b{font-size:10px;font-weight:650}.timeline-item span{display:block;font-size:8px;color:var(--muted);margin-top:2px}

/* ENTITIES */
.entity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.entity-card{padding:15px}.entity-head{display:flex;align-items:center;gap:10px}.entity-logo{width:39px;height:39px;border-radius:7px;background:#eef3ff;color:#315bb5;display:grid;place-items:center;font-weight:750;font-size:10px;border:1px solid #e1e8f8}.entity-logo.driver{background:#f2f4f7;color:#4b596e;border-color:#e4e8ee}.entity-logo.vehicle{background:#edf8f4;color:#17694f;border-color:#d8eee6}.entity-logo svg{width:17px;height:17px}.entity-head h3{font-size:11px;margin:0;font-weight:680}.entity-head span{font-size:9px;color:var(--muted);display:block;margin-top:3px}.entity-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:13px}.entity-stat{padding:9px;background:#f8fafc;border:1px solid #eef1f4;border-radius:6px}.entity-stat span{font-size:8px;color:var(--muted)}.entity-stat b{display:block;font-size:9px;margin-top:4px;font-weight:650;word-break:break-word}.entity-actions{display:flex;gap:7px;margin-top:12px}.entity-actions .btn{flex:1;padding:8px 9px;min-height:33px}

/* CHARTS */
.chart-bars{height:230px;display:flex;align-items:flex-end;gap:9px;padding:20px 18px 15px}.bar-col{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;gap:6px}.bar{width:min(100%,28px);background:#315bb5;border-radius:4px 4px 1px 1px;min-height:3px}.bar-col b{font-size:8px;color:#586579}.bar-col span{font-size:7px;color:var(--muted)}.donut-wrap{display:flex;align-items:center;gap:25px;padding:24px 22px}.donut{width:145px;height:145px;border-radius:50%;background:conic-gradient(#315bb5 0 38%,#1c7960 38% 63%,#6657c8 63% 82%,#b48632 82% 100%);position:relative;flex:0 0 auto}.donut:after{content:"";position:absolute;inset:29px;background:#fff;border-radius:50%}.donut-center{position:absolute;inset:0;display:grid;place-items:center;z-index:1;text-align:center}.donut-center b{font-size:18px}.donut-center span{font-size:8px;color:var(--muted)}.legend{display:grid;gap:10px;min-width:150px}.legend-row{display:flex;align-items:center;gap:8px;font-size:9px}.legend-row i{width:7px;height:7px;border-radius:2px}.legend-row b{margin-left:auto;font-weight:680}

/* NOTIFICATIONS */
.notice-list{padding:2px 18px 10px}.notice{display:grid;grid-template-columns:35px 1fr auto;gap:11px;align-items:flex-start;padding:13px 0;border-bottom:1px solid #edf0f4;cursor:pointer}.notice:last-child{border-bottom:0}.notice:hover{background:linear-gradient(90deg,transparent,#fbfcfd,transparent)}.notice-icon{width:33px;height:33px;border-radius:7px;display:grid;place-items:center;background:#f3f5f8;color:#5d6a7d;border:1px solid #e6eaf0}.notice-icon svg{width:14px;height:14px}.notice.unread .notice-icon{background:#eef3ff;color:#315bb5;border-color:#dce5fa}.notice b{font-size:10px;font-weight:650}.notice p{font-size:9px;color:var(--muted);line-height:1.5;margin:4px 0 0}.notice time{font-size:8px;color:var(--muted);white-space:nowrap}.notice.unread b:after{content:"";display:inline-block;width:5px;height:5px;background:#315bb5;border-radius:50%;margin-left:6px;vertical-align:middle}

/* MODALS / TOASTS */
.modal-backdrop{position:fixed;inset:0;background:rgba(11,18,32,.58);z-index:90;display:grid;place-items:center;padding:18px;backdrop-filter:blur(2px)}.modal{width:min(100%,550px);max-height:min(88vh,760px);overflow:auto;background:#fff;border-radius:11px;border:1px solid #dce2ea;box-shadow:0 28px 80px rgba(11,18,32,.30)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid var(--line)}.modal-head h3{margin:0;font-size:13px;font-weight:680}.modal-body{padding:18px}.modal-foot{padding:13px 18px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px;background:#fafbfc}.close-btn{width:30px;height:30px;border:1px solid #e3e7ee;border-radius:6px;background:#f8fafc;display:grid;place-items:center;color:#647086}.close-btn:hover{background:#eef1f5}.close-btn svg{width:14px;height:14px}.toast-stack{position:fixed;right:20px;bottom:20px;z-index:120;display:grid;gap:8px}.toast{min-width:270px;max-width:410px;background:#172338;color:#fff;padding:12px 14px;border-radius:8px;border:1px solid #26364f;box-shadow:0 14px 34px rgba(11,18,32,.22);font-size:10px;font-weight:620;animation:toastIn .18s ease}.toast.success{background:#155f49;border-color:#26705b}.toast.error{background:#922b23;border-color:#a7463e}@keyframes toastIn{from{transform:translateY(6px);opacity:0}to{transform:none;opacity:1}}
.empty{padding:44px 20px;text-align:center;color:var(--muted)}.empty-icon{width:48px;height:48px;border-radius:9px;background:#f3f5f8;color:#8a95a6;display:grid;place-items:center;margin:0 auto 12px;border:1px solid #e6eaf0}.empty-icon svg{width:20px;height:20px}.empty b{display:block;color:#344054;font-size:11px;font-weight:680}.empty span{display:block;font-size:9px;margin-top:5px}

/* MOBILE */
.mobile-nav{display:none}.drawer-backdrop{display:none}
@media(max-width:1180px){
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .market-grid,.entity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .detail-grid{grid-template-columns:1fr}
  .grid-main{grid-template-columns:1fr}
  .login-page{grid-template-columns:1fr 440px}
  .login-visual{padding:42px}
  .login-feature-row{grid-template-columns:1fr}
  .login-feature:nth-child(n+2){display:none}
  .login-feature+.login-feature{border-left:0;padding-left:0}
}
@media(max-width:880px){
  :root{--topbar:58px}
  .sidebar{transform:translateX(-102%);transition:.2s;width:min(86vw,286px);box-shadow:18px 0 45px rgba(0,0,0,.22)}
  .sidebar.open{transform:none}
  .drawer-backdrop{position:fixed;inset:0;background:rgba(11,18,32,.50);z-index:35}.drawer-backdrop.show{display:block}
  .main-wrap{margin-left:0}.mobile-menu{display:flex}.topbar{padding:0 14px}.topbar-user>div:last-child{display:none}
  .page{padding:18px 14px 86px;margin-bottom:0}.page-head{align-items:flex-start;flex-direction:column;gap:14px}.page-head h1{font-size:23px}.page-head p{font-size:11px}.page-actions{width:100%;justify-content:flex-start}.page-actions .btn{flex:1}
  .login-page{display:block;background:#fff}.login-visual{display:none}.login-panel{min-height:100vh;padding:26px 20px}.login-card{max-width:410px}.login-card h2{font-size:25px}
  .mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:0;right:0;bottom:0;height:70px;background:rgba(255,255,255,.98);border-top:1px solid #dfe4eb;z-index:45;padding:6px max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));box-shadow:0 -8px 28px rgba(16,24,40,.07);backdrop-filter:blur(14px)}
  .mobile-nav a{display:grid;place-items:center;align-content:center;gap:3px;color:#8791a2;border-radius:7px;font-size:8px;font-weight:650}.mobile-nav a svg{width:18px;height:18px}.mobile-nav a.active{color:#1e4fb5;background:#eef3ff}.mobile-nav a.mobile-plus{color:#fff;background:#172338;margin:0 5px}
  .topbar-actions .topbar-user{display:none}.data-table-wrap{display:none}.mobile-cards{display:grid;gap:9px}.market-grid,.entity-grid{grid-template-columns:1fr}.detail-grid-info{grid-template-columns:1fr 1fr}.price-summary{grid-template-columns:1fr 1fr}.price-box.profit{grid-column:1/-1}.form-grid,.form-grid.cols-3{grid-template-columns:1fr}.grid-3{grid-template-columns:1fr}.donut-wrap{flex-direction:column;align-items:flex-start}.toolbar select{flex:1;min-width:130px}.toast-stack{left:12px;right:12px;bottom:82px}.toast{min-width:0;width:100%;max-width:none}
}
@media(max-width:580px){
  .grid-4,.grid-2{grid-template-columns:1fr 1fr}.metric{padding:14px;min-height:120px}.metric strong{font-size:22px}.hero-ops{padding:22px;min-height:auto}.hero-ops h2{font-size:22px}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.card-pad{padding:15px}.card-head{padding:14px 15px}.quick-grid{grid-template-columns:1fr 1fr;padding:8px}.ops-item{grid-template-columns:43px minmax(0,1fr)}.ops-item>.status{display:none}.detail-grid-info{grid-template-columns:1fr}.market-price strong{font-size:19px}.form-section{padding:17px 15px}.form-footer{padding:13px 15px}.form-footer .btn{flex:1}.topbar-title b{font-size:11px}.topbar-title span{display:none}.page-kicker{font-size:8px}.toolbar{display:grid;grid-template-columns:1fr 1fr}.toolbar .search{grid-column:1/-1;min-width:0;width:100%}.toolbar select{width:100%}.entity-actions .btn{font-size:10px}
}
@media(max-width:390px){
  .grid-4,.grid-2{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr}.page{padding-left:11px;padding-right:11px}.topbar{padding:0 11px}.form-footer{flex-direction:column}.form-footer .btn{width:100%}.detail-route{padding:18px 16px}.price-summary{grid-template-columns:1fr}.price-box.profit{grid-column:auto}.login-panel{padding:22px 16px}.market-card{padding:14px}
}
@media print{.sidebar,.topbar,.mobile-nav,.page-actions,.toolbar,.btn{display:none!important}.main-wrap{margin:0}.page{padding:0;max-width:none}.card,.metric{box-shadow:none}.page-head{margin-bottom:14px}}

/* ROUTE INTELLIGENCE */
.route-section{overflow:visible}
.route-builder{display:grid;grid-template-columns:minmax(330px,.82fr) minmax(420px,1.18fr);gap:18px;align-items:stretch;margin-bottom:14px}
.route-addresses{position:relative;background:#f8fafc;border:1px solid #e4e9f0;border-radius:10px;padding:16px;display:grid;gap:10px;align-content:start}
.route-addresses:before{content:"";position:absolute;left:24px;top:49px;height:58px;border-left:1px dashed #b9c4d2;z-index:0}
.address-stop{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;align-items:start;position:relative;z-index:2}
.address-stop-dot{width:9px;height:9px;border-radius:50%;margin:31px 0 0 4px;background:#fff;border:2px solid #315bb5;box-shadow:0 0 0 4px #eef3ff}
.address-stop-dot.dropoff{border-color:#172338;box-shadow:0 0 0 4px #eef1f5}
.address-autocomplete{position:relative;display:block;min-width:0}
.address-autocomplete .field{padding-right:40px;font-weight:590}
.address-suggestions{position:absolute;left:0;right:0;top:calc(100% + 5px);z-index:85;background:#fff;border:1px solid #d8dee8;border-radius:9px;box-shadow:0 16px 38px rgba(16,24,40,.16);padding:5px;display:none;max-height:300px;overflow:auto}
.address-suggestions.open{display:block}
.address-option{width:100%;display:grid;grid-template-columns:27px minmax(0,1fr);gap:9px;text-align:left;border:0;background:transparent;padding:9px 10px;border-radius:7px;color:#243044;cursor:pointer;align-items:start}
.address-option:hover,.address-option.active{background:#f2f5f9}
.address-option-pin{width:24px;height:24px;border:1px solid #dce3ec;border-radius:6px;background:#f8fafc;color:#536177;display:grid;place-items:center;font-size:9px;font-weight:750;line-height:1}
.address-option b{display:block;font-size:10.5px;font-weight:680;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.address-option small{display:block;color:#7b8798;font-size:8.5px;line-height:1.45;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.address-loading,.address-empty{padding:12px;color:#718096;font-size:9.5px;display:flex;align-items:center;gap:7px}
.mini-spinner{width:12px;height:12px;border:1.5px solid #dbe2ec;border-top-color:#315bb5;border-radius:50%;animation:ldSpin .7s linear infinite;flex:0 0 auto}
@keyframes ldSpin{to{transform:rotate(360deg)}}
.route-swap{position:absolute;right:22px;top:71px;width:30px;height:30px;border:1px solid #d9e0e9;border-radius:7px;background:#fff;color:#536074;display:grid;place-items:center;z-index:5;box-shadow:0 2px 6px rgba(16,24,40,.06)}
.route-swap:hover{background:#f5f7fa;color:#25334a}
.route-swap svg{width:13px;height:13px;transform:rotate(90deg)}
.route-map-shell{position:relative;min-height:310px;border:1px solid #dfe5ec;border-radius:10px;overflow:hidden;background:#edf1f5}
.route-map{height:310px;width:100%;background:#eef2f6;position:relative;z-index:1}
.route-map.compact{height:320px}
.route-map .leaflet-control-attribution{font-size:8px!important}
.route-map-overlay{position:absolute;left:12px;right:12px;bottom:12px;z-index:500;display:grid;grid-template-columns:minmax(90px,1fr) minmax(110px,1fr) auto;gap:6px;padding:7px;background:rgba(255,255,255,.96);border:1px solid rgba(211,218,228,.95);border-radius:8px;box-shadow:0 8px 22px rgba(16,24,40,.12);backdrop-filter:blur(8px)}
.route-map-overlay>div{padding:5px 9px;border-right:1px solid #e7ebf0}
.route-map-overlay span{display:block;font-size:8px;color:#7b8797;text-transform:uppercase;letter-spacing:.045em;font-weight:650}
.route-map-overlay b{display:block;font-size:11px;color:#253044;margin-top:3px;font-weight:680}
.route-map-overlay .btn{min-height:34px;align-self:center}
.route-status{display:flex;align-items:center;gap:7px;padding:9px 11px;border:1px solid #e0e5ec;background:#f8fafc;border-radius:7px;color:#667287;font-size:9.5px;margin-bottom:13px}
.route-status:before{content:"";width:6px;height:6px;border-radius:50%;background:#9aa5b5;flex:0 0 auto}
.route-status[data-state="loading"]:before{background:#b48632;box-shadow:0 0 0 3px #fff4dd}
.route-status[data-state="success"]{background:#f1f8f5;border-color:#d8ebe3;color:#306655}.route-status[data-state="success"]:before{background:#1c7960;box-shadow:0 0 0 3px #def0e9}
.route-status[data-state="error"]{background:#fff5f3;border-color:#f1d7d2;color:#8f3b32}.route-status[data-state="error"]:before{background:#bd4035;box-shadow:0 0 0 3px #f9e2df}
.route-meta-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.field-with-action{position:relative}.field-with-action .field{padding-right:62px;background:#f8fafc}.field-with-action .field:not([readonly]){background:#fff}
.field-inline-btn{position:absolute;right:5px;top:5px;bottom:5px;border:0;border-left:1px solid #e0e5ec;background:transparent;color:#50617c;font-size:8.5px;font-weight:680;padding:0 8px}
.field-inline-btn:hover{color:#244f9e}
.map-fallback{position:absolute;inset:0;display:grid;place-items:center;padding:20px;text-align:center;color:#738094;font-size:9.5px;background:linear-gradient(135deg,#f2f5f8,#e9eef3)}
.ld-map-divicon{background:transparent!important;border:0!important}
.ld-map-marker{width:28px;height:28px;border-radius:8px;background:#fff;border:2px solid #315bb5;color:#315bb5;display:grid;place-items:center;font-weight:800;font-size:9px;box-shadow:0 4px 12px rgba(16,24,40,.22)}
.ld-map-marker.dropoff{border-color:#172338;color:#172338}
.ld-map-marker-label{position:absolute;left:34px;top:4px;background:#fff;border:1px solid #dce2ea;border-radius:5px;padding:3px 5px;font-size:8px;font-weight:700;color:#344054;white-space:nowrap;box-shadow:0 3px 8px rgba(16,24,40,.12)}
.detail-route-map{margin-top:16px;border-top:1px solid #e8ecf1;padding-top:16px}
.legacy-map-note{margin-top:14px;padding:10px 11px;border:1px solid #e4e8ee;background:#f8fafc;border-radius:7px;color:#758195;font-size:9px;line-height:1.55;display:flex;align-items:flex-start;gap:7px}.legacy-map-note svg{width:14px;height:14px;flex:0 0 auto;margin-top:1px}
.required-field .field-label:after{content:" *";color:#a92a20}

@media(max-width:1100px){
  .route-builder{grid-template-columns:1fr}
  .route-map-shell,.route-map{min-height:290px;height:290px}
  .route-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:580px){
  .route-addresses{padding:13px 12px}.route-addresses:before{left:20px;top:46px;height:59px}.route-swap{right:16px;top:68px}
  .address-stop{grid-template-columns:16px minmax(0,1fr);gap:8px}.address-stop-dot{margin-left:3px}
  .route-map-shell,.route-map{min-height:260px;height:260px}.route-map.compact{height:250px;min-height:250px}
  .route-map-overlay{grid-template-columns:1fr 1fr;left:8px;right:8px;bottom:8px}.route-map-overlay .btn{grid-column:1/-1;width:100%}.route-map-overlay>div:nth-child(2){border-right:0}
  .route-meta-grid{grid-template-columns:1fr!important}
  .address-suggestions{position:fixed;left:10px;right:10px;top:auto;bottom:82px;max-height:46vh;border-radius:10px;z-index:100}
}

/* ========================================================================
   LET'S DRIVE — V4 COMPACT CORPORATE UI
   Visual-only refinement. Functional V4 JS/data/maps remain intact.
   Design language: dispatch console / private mobility operations.
   ======================================================================== */
:root{
  --navy:#161d21;
  --navy-2:#1c252a;
  --navy-3:#263136;
  --blue:#0f5b64;
  --blue-2:#146b75;
  --blue-soft:#edf5f5;
  --ink:#1b2327;
  --ink-2:#344047;
  --muted:#6d787d;
  --muted-2:#90999d;
  --bg:#f2f3f2;
  --surface:#ffffff;
  --surface-2:#f7f8f7;
  --line:#d9ddda;
  --line-2:#c9ceca;
  --green:#2f6d58;
  --green-soft:#eef5f1;
  --amber:#8a6a2f;
  --amber-soft:#f8f3e9;
  --red:#9b4038;
  --red-soft:#f9efed;
  --purple:#5c6675;
  --purple-soft:#f0f2f4;
  --shadow:none;
  --shadow-sm:none;
  --radius:5px;
  --radius-sm:4px;
  --sidebar:238px;
  --topbar:56px;
}

html{
  font-family:"Aptos","Segoe UI Variable Text","Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  background:var(--bg);
  color:var(--ink);
  letter-spacing:.001em;
}
body{font-size:13px;background:var(--bg)}
svg{stroke-width:1.65}
::selection{background:#dbe9e8;color:#173f43}

/* Brand / shell --------------------------------------------------------- */
.sidebar{
  background:#161d21;
  border-right:1px solid #273136;
  padding:14px 10px;
}
.sidebar .brand-lockup{
  min-height:54px;
  padding:3px 8px 13px;
  border-bottom:1px solid rgba(255,255,255,.09);
  gap:10px;
}
.brand-mark{
  width:34px;height:34px;border-radius:4px;
  background:#f5f6f5;color:#182126;
  border:1px solid rgba(255,255,255,.18);
  font-size:12px;font-weight:800;letter-spacing:-.04em;
}
.sidebar .brand-mark{width:33px;height:33px;border-radius:4px;font-size:11px}
.brand-copy strong{font-size:15px;letter-spacing:-.015em;font-weight:700}
.brand-copy span{font-size:7px;letter-spacing:.12em;margin-top:3px;color:rgba(255,255,255,.48)}
.sidebar-nav{margin-top:8px;gap:1px;padding:0}
.nav-section{
  font-size:7px;letter-spacing:.15em;color:#68757b;
  padding:15px 9px 6px;font-weight:800;
}
.nav-link{
  gap:9px;padding:8px 9px;border-radius:4px;
  color:#a9b2b6;font-size:11px;font-weight:560;
  border:1px solid transparent;
}
.nav-link svg{width:15px;height:15px;color:#78868c;stroke-width:1.7}
.nav-link:hover{background:#1c252a;color:#f3f5f5;border-color:#263136}
.nav-link.active{
  background:#202a2f;color:#fff;border-color:#2b383e;
  box-shadow:inset 2px 0 0 #5e8d8f;
}
.nav-link.active svg{color:#8fb5b6}
.nav-badge{height:17px;min-width:17px;border-radius:3px;background:#344348;color:#e6ecec;font-size:8px}
.sidebar-footer{border-top-color:rgba(255,255,255,.09);padding-top:8px}
.user-mini{gap:8px;padding:7px;border-radius:4px}
.user-mini:hover{background:#1c252a}
.avatar{width:31px;height:31px;border-radius:4px;background:#eef1ef;border-color:#d5dad7;color:#364148;font-size:9px}
.user-mini b{font-size:10px;font-weight:650}.user-mini span{font-size:8px;color:#75848a}
.logout-link{font-size:10px;padding:8px 9px;border-radius:4px;color:#89969b}
.logout-link:hover{background:#1c252a}

.topbar{
  height:var(--topbar);padding:0 22px;background:#fff;
  border-bottom:1px solid var(--line);backdrop-filter:none;
}
.topbar-left{gap:10px}
.mobile-menu,.icon-btn{
  border-radius:4px;background:#fff;border-color:#d8ddda;
  box-shadow:none;color:#536067;
}
.mobile-menu{width:32px;height:32px}.mobile-menu svg{width:15px;height:15px}
.icon-btn{width:32px;height:32px}.icon-btn:hover{background:#f5f6f5;border-color:#c9ceca;color:#1d2b31}
.icon-btn svg{width:14px;height:14px}
.icon-btn .dot{right:5px;top:5px;width:5px;height:5px;background:#9b4038}
.topbar-title b{font-size:11px;font-weight:680}.topbar-title span{font-size:7px;letter-spacing:.09em;margin-top:1px}
.topbar-user{padding:2px 3px;border-radius:4px}.topbar-user:hover{background:#f5f6f5}
.topbar-user .avatar{width:28px;height:28px}.topbar-user b{font-size:9px}.topbar-user span{font-size:8px}

.page{padding:22px 24px;max-width:1500px;margin:0 auto 58px}
.page-head{margin-bottom:16px;gap:18px;align-items:flex-end}
.page-kicker,.login-pitch .kicker{
  font-size:7px;letter-spacing:.15em;font-weight:800;color:#58777a;
}
.page-head h1{font-size:23px;line-height:1.12;letter-spacing:-.024em;margin:5px 0 4px;font-weight:680;color:#1b2327}
.page-head p{font-size:10px;line-height:1.55;max-width:720px;color:#768085}
.page-actions{gap:6px}

/* Controls -------------------------------------------------------------- */
.btn{
  border-radius:4px;padding:7px 10px;min-height:33px;
  font-size:10px;font-weight:650;gap:6px;
  transition:background .12s,border-color .12s,color .12s,transform .06s;
}
.btn svg{width:13px;height:13px;stroke-width:1.75}
.btn-primary{background:#182126;color:#fff;border-color:#182126;box-shadow:none}
.btn-primary:hover{background:#263238;border-color:#263238}
.btn-blue{background:#0f5b64;border-color:#0f5b64;color:#fff;box-shadow:none}.btn-blue:hover{background:#0b4e56}
.btn-secondary{background:#fff;border-color:#cfd4d1;color:#38454b}.btn-secondary:hover{background:#f4f5f4;border-color:#bcc4bf}
.btn-soft{background:#edf4f3;border-color:#d6e3e1;color:#345f61}.btn-soft:hover{background:#e6efee}
.btn-green{background:#2f6d58;border-color:#2f6d58}
.btn-danger{background:#fff;border-color:#dfc8c4;color:#8e3d36}.btn-danger:hover{background:#f9efed}
.link-btn{font-size:9px;color:#3c686b;font-weight:650}.link-btn:hover{color:#234e51}
.field{
  min-height:36px;border-radius:4px;border-color:#cfd5d1;
  padding:8px 10px;font-size:11px;background:#fff;color:#1d272c;
}
.field:hover{border-color:#bbc4bf}
.field:focus{border-color:#64888a;box-shadow:0 0 0 2px rgba(63,111,113,.11)}
.field::placeholder{color:#a0a8a4}
.textarea{min-height:90px}
.field-label{font-size:9px;color:#4f5c62;font-weight:650;margin-bottom:5px}
.helper{font-size:8px;line-height:1.5;color:#7e888c}

/* Panels / spacing ------------------------------------------------------ */
.card,.metric,.market-card{
  border-radius:5px;border-color:#daddda;box-shadow:none;background:#fff;
}
.card-pad{padding:15px}
.card-head{padding:12px 14px;gap:12px;background:#fbfcfb;border-bottom-color:#e0e3e1}
.card-head h3{font-size:11px;font-weight:680;letter-spacing:-.005em;color:#263035}
.card-head p{font-size:8px;margin-top:3px;color:#7b8589}
.grid-2,.grid-3{gap:10px}.grid-4{gap:9px}.grid-main{gap:10px}.stack{gap:10px}
.mt-16{margin-top:10px}.mt-20{margin-top:14px}.mt-12{margin-top:8px}.mt-8{margin-top:6px}
.metric{padding:13px 14px;min-height:106px;overflow:visible}
.metric:after{display:none}
.metric-top{align-items:flex-start}
.metric-icon{
  width:28px;height:28px;border-radius:4px;
  background:#eef3f2;color:#43696a;border-color:#dce7e4;
}
.metric-icon.green,.metric-icon.amber,.metric-icon.purple{
  background:#f1f3f2;color:#58666c;border-color:#e1e4e2;
}
.metric-icon.green{color:#3f6858}.metric-icon.amber{color:#74613e}.metric-icon.purple{color:#59636e}
.metric-icon svg{width:14px;height:14px}
.metric strong{font-size:22px;letter-spacing:-.025em;margin-top:9px;font-weight:700;color:#1d262a}
.metric span{font-size:9px;color:#606c71}.metric small{font-size:8px;margin-top:3px;color:#8b9498}
.trend{font-size:7px!important;border-radius:3px;padding:3px 5px;background:#f4f5f4;border-color:#e3e6e4;color:#717b80!important}

.hero-ops{
  min-height:176px;padding:23px 24px;border-radius:5px;
  background:#20282c;border:1px solid #2d383d;box-shadow:none;
}
.hero-ops:after{display:none}
.hero-ops .page-kicker{color:#83a7a8}
.hero-ops h2{font-size:23px;letter-spacing:-.025em;margin:8px 0 8px;max-width:570px;font-weight:620}
.hero-ops p{font-size:10px;line-height:1.55;color:#aab4b7;max-width:580px}
.hero-actions{gap:6px;margin-top:16px}
.hero-ops .btn-primary{background:#f5f6f5;color:#20282c;border-color:#f5f6f5}.hero-ops .btn-primary:hover{background:#e9ecea}
.hero-ops .btn-secondary{background:transparent;border-color:#4a565c;color:#d8dddf}.hero-ops .btn-secondary:hover{background:#293338}
.quick-grid{padding:5px}
.quick-action{padding:11px 10px;border-radius:4px;grid-template-columns:27px 1fr;column-gap:8px}
.quick-action:hover{background:#f7f8f7;border-color:#e4e7e5}
.quick-action svg{width:15px;height:15px;color:#64777c}.quick-action b{font-size:10px}.quick-action span{font-size:8px}
.alert-box{border-radius:4px;padding:12px;background:#f6f4ee;border-color:#e6decf;color:#6f5b36;font-size:9px}.alert-box b{font-size:10px}

/* Tables / lists -------------------------------------------------------- */
.toolbar{gap:6px;margin-bottom:8px}
.search{height:36px;min-width:230px;border-radius:4px;border-color:#cfd5d1;padding:0 9px}
.search:focus-within{border-color:#64888a;box-shadow:0 0 0 2px rgba(63,111,113,.10)}
.search svg{width:14px;height:14px}.search input{font-size:10px}
.toolbar select{height:36px;border-radius:4px;border-color:#cfd5d1;font-size:9px;padding-left:9px}
.data-table th{
  font-size:7px;letter-spacing:.1em;padding:8px 11px;
  background:#f5f6f5;color:#727c80;border-bottom-color:#daddda;
}
.data-table td{padding:9px 11px;font-size:9px;color:#38444a;border-bottom-color:#e8ebe9}
.data-table tbody tr:hover{background:#f8f9f8}
.table-id{font-size:9px;color:#345d60}.route-cell b{font-size:9px}.route-cell span{font-size:8px;margin-top:3px}
.person-cell{gap:7px}.mini-avatar{width:24px;height:24px;border-radius:4px;font-size:7px;background:#f0f2f1}
.table-actions{gap:4px}.table-actions .icon-btn{width:28px;height:28px;border-radius:4px}
.status{min-height:19px;padding:2px 6px;border-radius:3px;font-size:7px;font-weight:750;letter-spacing:.02em}
.status-wait{background:#f8f3e9;color:#735b31;border-color:#e7dcc4}
.status-market{background:#edf4f3;color:#3e6668;border-color:#d6e4e2}
.status-assigned{background:#f1f2f3;color:#59656e;border-color:#dde1e3}
.status-progress{background:#edf3f5;color:#486774;border-color:#d6e2e6}
.status-done{background:#eef5f1;color:#35604f;border-color:#d6e6de}
.status-cancelled{background:#f9efed;color:#8b423b;border-color:#ead5d1}
.source-badge{border-radius:3px;padding:2px 6px;font-size:7px;background:#f3f4f3;border-color:#e1e4e2;color:#59656a}
.ops-list{padding:1px 14px 6px}.ops-item{grid-template-columns:44px minmax(0,1fr) auto;gap:10px;padding:9px 0;border-bottom-color:#e7eae8}
.ops-item:hover b{color:#365f62}.time-pill{font-size:9px;border-radius:3px;padding:6px 5px;background:#f4f5f4;border-color:#e0e3e1}
.ops-item b{font-size:9px}.ops-item span:not(.status){font-size:8px;margin-top:3px}

/* Transfer cards / market --------------------------------------------- */
.transfer-card{padding:12px}.transfer-card h4{font-size:10px}.transfer-card-route{margin-top:11px;gap:8px}
.route-text{gap:11px}.route-text b{font-size:9px}.route-text span{font-size:7px}.route-rail i{width:6px;height:6px;border-width:1.5px}
.chip-row,.market-meta{gap:4px;margin-top:10px}.chip{min-height:18px;border-radius:3px;padding:1px 6px;font-size:7px;background:#f4f5f4;border-color:#e4e7e5}
.card-actions{gap:5px;margin-top:10px}
.market-grid,.entity-grid{gap:9px}
.market-card{padding:13px;transition:border-color .12s,background .12s;transform:none}
.market-card:hover{transform:none;border-color:#c4cbc7;box-shadow:none;background:#fcfdfc}
.market-head small{font-size:7px}.market-head strong{font-size:10px;margin-top:3px}
.market-route{margin-top:11px;padding:10px 11px;border-radius:4px;background:#f6f7f6;border-color:#e7e9e7}
.market-route b{font-size:9px}.market-route span{font-size:7px;margin:5px 0}
.market-price{margin-top:11px;padding-top:10px}.market-price span{font-size:7px}.market-price strong{font-size:18px;margin-top:2px}

/* Forms / detail ------------------------------------------------------- */
.form-section{padding:16px 17px;border-bottom-color:#e0e3e1}.form-section-title{gap:9px;margin-bottom:13px}
.section-number{width:20px;height:20px;border-radius:3px;background:#263136;font-size:8px}
.form-section-title h3{font-size:11px;margin:1px 0 2px}.form-section-title span{font-size:8px}
.form-grid{gap:11px 12px}.form-footer{padding:11px 17px;background:#f7f8f7;border-radius:0 0 5px 5px}
.switch-row{padding:10px 0;border-bottom-color:#e7eae8}.switch{width:34px;height:18px;border-radius:9px;padding:2px;background:#c7ceca}
.switch:after{width:14px;height:14px}.switch.on{background:#4f7778}.switch.on:after{transform:translateX(16px)}
.detail-grid{gap:10px}.detail-route{border-radius:5px;padding:17px 18px;background:#20282c;border-color:#303b40}
.detail-route:after{display:none}.detail-route h2{font-size:18px;margin:10px 0 14px}
.detail-route-row{gap:8px}.detail-route-row .route-text b{font-size:10px}.detail-route-row .route-text span{color:#88969b}
.detail-grid-info{gap:5px;margin-top:12px}.detail-mini{padding:8px;border-radius:3px;background:#263136;border-color:#364349}
.detail-mini span{font-size:6px}.detail-mini b{font-size:9px;margin-top:3px}
.info-list{padding:2px 14px 9px}.info-row{padding:9px 0;border-bottom-color:#e7eae8;gap:16px}.info-row span,.info-row b{font-size:9px}
.price-summary{gap:5px;padding:12px 14px}.price-box{padding:9px;border-radius:3px;background:#f6f7f6;border-color:#e6e9e7}.price-box span{font-size:6px}.price-box b{font-size:13px;margin-top:4px}.price-box.profit{background:#eef5f1;border-color:#d7e5de}
.timeline{padding:8px 14px 12px}.timeline-item{grid-template-columns:18px 1fr;gap:7px;padding:5px 0 10px}.timeline-dot{width:17px;height:17px;border-radius:50%}.timeline-dot svg{width:9px;height:9px}.timeline-item:not(:last-child):before{left:8px;top:18px}.timeline-item b{font-size:9px}.timeline-item span{font-size:7px}

/* Entities ------------------------------------------------------------- */
.entity-card{padding:12px}.entity-head{gap:8px}.entity-logo{width:34px;height:34px;border-radius:4px;font-size:9px;background:#eef3f2;color:#4a6d6e;border-color:#dce7e4}
.entity-logo.driver{background:#f1f2f1;color:#59666b;border-color:#e0e4e1}.entity-logo.vehicle{background:#eef5f1;color:#426b59;border-color:#d9e6df}
.entity-logo svg{width:15px;height:15px}.entity-head h3{font-size:10px}.entity-head span{font-size:8px;margin-top:2px}
.entity-stats{gap:5px;margin-top:10px}.entity-stat{padding:7px;border-radius:3px;background:#f6f7f6;border-color:#e8eae8}.entity-stat span{font-size:7px}.entity-stat b{font-size:8px;margin-top:3px}
.entity-actions{gap:5px;margin-top:9px}.entity-actions .btn{padding:6px 8px;min-height:30px}

/* Charts --------------------------------------------------------------- */
.chart-bars{height:205px;gap:7px;padding:16px 14px 12px}.bar{width:min(100%,22px);background:#587c7e;border-radius:2px 2px 0 0}.bar-col b{font-size:7px}.bar-col span{font-size:6px}
.donut-wrap{gap:20px;padding:18px}.donut{width:126px;height:126px;background:conic-gradient(#587c7e 0 38%,#6f8b7d 38% 63%,#7d858d 63% 82%,#a08a61 82% 100%)}
.donut:after{inset:26px}.donut-center b{font-size:16px}.donut-center span{font-size:7px}.legend{gap:8px}.legend-row{font-size:8px}.legend-row i{width:7px;height:7px;border-radius:1px}
.legend-row:nth-child(1) i{background:#587c7e!important}.legend-row:nth-child(2) i{background:#6f8b7d!important}.legend-row:nth-child(3) i{background:#7d858d!important}.legend-row:nth-child(4) i{background:#a08a61!important}

/* Modals / notices / feedback ----------------------------------------- */
.modal-backdrop{background:rgba(18,25,28,.58)}
.modal{border-radius:5px;border:1px solid #cfd5d1;box-shadow:0 18px 50px rgba(15,22,25,.18)}
.modal-head{padding:12px 14px;background:#fafbfa;border-bottom-color:#dde1de}.modal-head h3{font-size:12px}.close-btn{border-radius:4px}
.modal-body{padding:15px}.modal-foot{padding:10px 14px;background:#f7f8f7;border-top-color:#dde1de}
.notice{padding:12px 14px}.notice-icon{width:30px;height:30px;border-radius:4px;background:#f0f3f2;color:#5d7375}.notice b{font-size:10px}.notice p,.notice time{font-size:8px}.notice.unread{background:#f4f8f7}
.toast{border-radius:4px;font-size:10px;box-shadow:0 10px 28px rgba(18,25,28,.16)}
.empty{padding:30px}.empty-icon{width:36px;height:36px;border-radius:4px}.empty b{font-size:11px}.empty span{font-size:9px}

/* Address + map -------------------------------------------------------- */
.route-builder{gap:10px;margin-bottom:9px;grid-template-columns:minmax(310px,.78fr) minmax(420px,1.22fr)}
.route-addresses{padding:13px;border-radius:5px;background:#f7f8f7;border-color:#dde1de;gap:8px}
.route-addresses:before{left:21px;top:45px;height:54px;border-left-color:#b9c4c0}
.address-stop{grid-template-columns:16px minmax(0,1fr);gap:8px}.address-stop-dot{width:7px;height:7px;margin:29px 0 0 3px;border-color:#507779;box-shadow:0 0 0 3px #eaf2f1}
.address-stop-dot.dropoff{border-color:#263136;box-shadow:0 0 0 3px #eceeed}
.address-suggestions{top:calc(100% + 3px);border-radius:4px;padding:3px;border-color:#cfd5d1;box-shadow:0 14px 34px rgba(20,29,32,.16)}
.address-option{grid-template-columns:24px minmax(0,1fr);gap:7px;padding:8px;border-radius:3px}.address-option:hover,.address-option.active{background:#f2f5f4}
.address-option-pin{width:21px;height:21px;border-radius:3px;background:#f5f6f5;border-color:#dce1de;font-size:8px}.address-option b{font-size:9px}.address-option small{font-size:7px}
.route-swap{right:17px;top:62px;width:27px;height:27px;border-radius:4px;box-shadow:none;border-color:#d1d7d3}
.route-map-shell{min-height:282px;border-radius:5px;border-color:#d8ddda;background:#e9edeb}.route-map{height:282px;background:#e9edeb}.route-map.compact{height:292px}
.route-map-overlay{left:8px;right:8px;bottom:8px;gap:4px;padding:5px;border-radius:4px;border-color:#d8ddda;box-shadow:0 6px 18px rgba(18,25,28,.12);backdrop-filter:none}
.route-map-overlay>div{padding:4px 7px;border-right-color:#e1e4e2}.route-map-overlay span{font-size:6px}.route-map-overlay b{font-size:9px;margin-top:2px}.route-map-overlay .btn{min-height:30px}
.route-status{gap:6px;padding:7px 9px;border-radius:4px;font-size:8px;margin-bottom:9px;background:#f6f7f6;border-color:#dfe3e0}
.route-status[data-state="success"]{background:#eef5f1;border-color:#d6e5dd;color:#3b6253}.route-status[data-state="success"]:before{background:#4d7965;box-shadow:none}
.route-status[data-state="loading"]:before,.route-status[data-state="error"]:before{box-shadow:none}
.field-inline-btn{font-size:7px;right:4px;top:4px;bottom:4px;padding:0 7px}.field-with-action .field{padding-right:58px}
.map-fallback{background:#edf0ee}.ld-map-marker{width:25px;height:25px;border-radius:4px;border-color:#4e7779;color:#4e7779;box-shadow:0 3px 9px rgba(18,25,28,.16)}.ld-map-marker.dropoff{border-color:#263136;color:#263136}.ld-map-marker-label{left:30px;top:3px;border-radius:3px;font-size:7px;box-shadow:0 3px 8px rgba(18,25,28,.12)}
.legacy-map-note{border-radius:4px;background:#f6f7f6;border-color:#e0e3e1;font-size:8px}

/* Login ---------------------------------------------------------------- */
.login-page{grid-template-columns:minmax(0,1.15fr) minmax(390px,.58fr);background:#fff}
.login-visual{padding:40px 44px;background:#171f23;color:#fff}
.login-visual:before,.login-visual:after{display:none}
.login-pitch{max-width:620px;margin:58px 0}
.login-pitch .kicker{color:#90aeae}
.login-pitch h1{font-size:clamp(34px,4vw,54px);line-height:1.02;letter-spacing:-.035em;margin:15px 0 16px;font-weight:620;max-width:620px}
.login-pitch p{font-size:13px;line-height:1.65;color:rgba(255,255,255,.62);max-width:560px}
.login-feature-row{border-top-color:rgba(255,255,255,.12)}
.login-feature{padding:15px 14px 0 0}.login-feature+.login-feature{padding-left:14px;border-left-color:rgba(255,255,255,.1)}
.login-feature b{font-size:10px}.login-feature span{font-size:9px;line-height:1.45;margin-top:4px}
.login-panel{padding:38px 46px}.login-card{width:min(100%,360px)}
.login-card .brand-mark{background:#171f23!important;color:#fff!important;border-color:#171f23}
.login-card h2{font-size:23px;margin:28px 0 6px;letter-spacing:-.025em;font-weight:670}.login-card>p{font-size:11px;margin-bottom:23px}
.login-card .btn[style*="min-height:46px"]{min-height:40px!important}

/* Responsive compactness ---------------------------------------------- */
@media(max-width:1180px){
  :root{--sidebar:222px}
  .page{padding:20px}
  .grid-main{grid-template-columns:minmax(0,1.4fr) minmax(285px,.72fr)}
}
@media(max-width:980px){
  .sidebar{width:238px}
  .page{padding:16px 13px 78px}
  .topbar{padding:0 12px}
  .page-head{align-items:flex-start;gap:11px}
  .page-head h1{font-size:21px}
  .page-head p{font-size:9px}
  .mobile-nav{height:64px;background:#fff;border-top-color:#d7dcda;box-shadow:0 -5px 18px rgba(18,25,28,.07);backdrop-filter:none;padding-top:5px}
  .mobile-nav a{border-radius:4px;font-size:7px;color:#7c878b}.mobile-nav a svg{width:16px;height:16px}.mobile-nav a.active{color:#335f61;background:#edf4f3}.mobile-nav a.mobile-plus{background:#20282c;color:#fff}
  .toast-stack{bottom:74px}
}
@media(max-width:580px){
  .grid-4,.grid-2{grid-template-columns:1fr 1fr}
  .metric{padding:11px;min-height:94px}.metric strong{font-size:20px}
  .hero-ops{padding:18px;min-height:auto}.hero-ops h2{font-size:20px}.hero-actions{flex-direction:row}.hero-actions .btn{width:auto;flex:1}
  .card-pad{padding:12px}.card-head{padding:11px 12px}.quick-grid{padding:4px}.quick-action{padding:9px 8px}
  .form-section{padding:14px 12px}.form-footer{padding:10px 12px}
  .route-addresses{padding:11px 10px}.route-addresses:before{left:18px;top:42px;height:53px}.route-swap{right:13px;top:57px}
  .route-map-shell,.route-map{min-height:245px;height:245px}.route-map.compact{height:235px;min-height:235px}
  .address-suggestions{border-radius:4px;bottom:72px}
}
@media(max-width:390px){
  .page{padding-left:9px;padding-right:9px}.topbar{padding:0 9px}
  .grid-4,.grid-2{grid-template-columns:1fr}
  .hero-actions{flex-direction:column}
}

/* ========================================================================
   LET'S DRIVE — CORPORATE COLOR LAYER
   V4 Compact korunarak görünürlük ve operasyon hiyerarşisi güçlendirildi.
   Renkler yalnızca anlam taşıyan alanlarda kullanılır; dekoratif kalabalık yoktur.
   ======================================================================== */
:root{
  --brand:#0d5964;
  --brand-hover:#0a4d57;
  --brand-soft:#eaf4f5;
  --brand-line:#c9e0e2;
  --deep:#162731;
  --deep-2:#203640;
  --gold:#a9782f;
  --gold-soft:#fbf5e9;
  --gold-line:#ead9b9;
  --success:#2f7459;
  --success-soft:#edf7f2;
  --success-line:#cfe6db;
  --info:#3c6f9d;
  --info-soft:#edf4fa;
  --info-line:#d4e2ef;
  --violet:#61679c;
  --violet-soft:#f1f2fa;
  --violet-line:#dcdef0;
  --danger:#a7463d;
  --danger-soft:#fbf0ee;
  --danger-line:#efd6d2;
  --bg:#f1f4f5;
  --surface-2:#f7f9fa;
  --line:#d7dde0;
  --line-2:#c6ced2;
}

body{background:var(--bg)}
::selection{background:#cfe6e8;color:#12383d}

/* Shell: güçlü ama sakin marka rengi */
.sidebar{background:var(--deep);border-right-color:#253943}
.nav-link:hover{background:#1c313b;border-color:#29414c}
.nav-link.active{
  background:#203943;
  border-color:#2b4652;
  box-shadow:inset 3px 0 0 #42a0a8;
}
.nav-link.active svg{color:#89c9ce}
.nav-badge{background:#2c4a55;color:#d9eef0}
.sidebar .brand-mark{background:#f7fbfb;color:#12333a}
.topbar{border-bottom-color:#d9e0e3}
.topbar-title span,.page-kicker,.login-pitch .kicker{color:#39737a}

/* Ana aksiyonlar */
.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}
.btn-primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}
.btn-blue{background:#315f88;border-color:#315f88}.btn-blue:hover{background:#294f71;border-color:#294f71}
.btn-green{background:var(--success);border-color:var(--success)}.btn-green:hover{background:#275f49;border-color:#275f49}
.btn-soft{background:var(--brand-soft);border-color:var(--brand-line);color:#2f6970}.btn-soft:hover{background:#dfeff0}
.btn-danger{background:#fff;border-color:#e1c6c2;color:#963c34}.btn-danger:hover{background:var(--danger-soft);border-color:var(--danger-line)}
.link-btn{color:#39747b}.link-btn:hover{color:#214f54}
.icon-btn:hover,.mobile-menu:hover{border-color:#b8c9ce;background:#f3f8f8;color:#245b62}
.field:focus,.search:focus-within{border-color:#5e959b;box-shadow:0 0 0 2px rgba(13,89,100,.10)}
.switch.on{background:#397b78}

/* Hero: özel transfer operasyon merkezi hissi */
.hero-ops{
  background:#18313a;
  border-color:#284852;
  border-top:3px solid #b9914c;
  box-shadow:0 8px 24px rgba(21,42,50,.10);
}
.hero-ops .page-kicker{color:#9bd0d4}
.hero-ops p{color:#b7c8cd}
.hero-ops .btn-primary{background:#f8faf9;color:#17313a;border-color:#f8faf9}
.hero-ops .btn-primary:hover{background:#edf3f1;border-color:#edf3f1}
.hero-ops .btn-secondary{border-color:#55717a;color:#e1ecee}.hero-ops .btn-secondary:hover{background:#21414b}

/* Kartlar: renk hiyerarşisi, “oyuncak” değil */
.card{border-color:#d5dcdf}
.card-head{background:#f8fafb;border-bottom-color:#dce2e5}
.card-head h3{color:#23323a}
.metric{border-color:#d5dcdf;border-top:3px solid #7aa5aa;background:#fff}
.metric:has(.metric-icon.amber){border-top-color:#b98a3f}
.metric:has(.metric-icon.purple){border-top-color:#6873a9}
.metric:has(.metric-icon.green){border-top-color:#4f8b70}
.metric-icon{background:#eaf4f5;color:#25646b;border-color:#cfe4e6}
.metric-icon.amber{background:var(--gold-soft);color:#896126;border-color:var(--gold-line)}
.metric-icon.purple{background:var(--violet-soft);color:#5c6398;border-color:var(--violet-line)}
.metric-icon.green{background:var(--success-soft);color:#356e57;border-color:var(--success-line)}
.metric .trend{background:#f2f6f7;border-color:#dde6e8;color:#5c7076!important}
.metric:has(.metric-icon.amber) .trend{background:var(--gold-soft);border-color:var(--gold-line);color:#7c612f!important}
.metric:has(.metric-icon.purple) .trend{background:var(--violet-soft);border-color:var(--violet-line);color:#61678f!important}
.metric:has(.metric-icon.green) .trend{background:var(--success-soft);border-color:var(--success-line);color:#43715e!important}

/* Hızlı işlemler: her işlem ailesine ölçülü renk */
.quick-action{border-left:2px solid transparent}
.quick-action:nth-child(1) svg{color:#2d747b}.quick-action:nth-child(1):hover{background:#eef7f7;border-left-color:#5d969b}
.quick-action:nth-child(2) svg{color:#4e6997}.quick-action:nth-child(2):hover{background:#f1f3f9;border-left-color:#7883b3}
.quick-action:nth-child(3) svg{color:#9a7133}.quick-action:nth-child(3):hover{background:#fbf6ec;border-left-color:#bd985d}
.quick-action:nth-child(4) svg{color:#42765e}.quick-action:nth-child(4):hover{background:#f0f7f3;border-left-color:#6b9a83}

/* Operasyon durumları */
.status-wait{background:#fbf4e8;color:#825d21;border-color:#ead7b6}
.status-market{background:#eaf5f6;color:#2c6970;border-color:#cce3e5}
.status-assigned{background:#f0f1fa;color:#596295;border-color:#d9dcf0}
.status-progress{background:#edf4fa;color:#396b96;border-color:#d2e2ef}
.status-done{background:#edf7f2;color:#356c55;border-color:#cde5da}
.status-cancelled{background:#fbf0ee;color:#9b4038;border-color:#eed3cf}
.source-badge{background:#f2f5f6;border-color:#dce2e5;color:#52646c}
.time-pill{background:#f2f7f7;border-color:#d8e5e6;color:#315f65}
.table-id{color:#256670}
.data-table tbody tr:hover{background:#f4f8f9}

/* Transfer / Market kartları */
.transfer-card{border-left:3px solid #6c9ca1}
.market-card{border-left:3px solid #3b7e85;background:#fff}
.market-card:hover{border-color:#9fb8bd;border-left-color:#2e7178;background:#f9fcfc}
.market-route{background:#f4f8f8;border-color:#dde9ea}
.market-price strong{color:#245f66}
.chip{background:#f4f7f8;border-color:#dfe5e8;color:#56666d}

/* Form bölümleri ve fiyat özetleri */
.section-number{background:#315f67;color:#fff}
.form-section:nth-of-type(2) .section-number{background:#4f668d}
.form-section:nth-of-type(3) .section-number{background:#8a6b37}
.form-section:nth-of-type(4) .section-number{background:#4f775f}
.form-footer{background:#f5f8f8}
.price-box{background:#f5f7f8;border-color:#e0e5e7}
.price-box.profit{background:var(--success-soft);border-color:var(--success-line)}
.price-box.profit b{color:#2d6a51}

/* Detay ekranı */
.detail-route{background:#19323b;border-color:#2a4a54;border-top:3px solid #b99049}
.detail-mini{background:#23414a;border-color:#35545e}
.timeline-dot{border-color:#bdd5d7}

/* Şoför / araç / partner kartları */
.entity-logo{background:#eaf4f5;color:#356d73;border-color:#cee2e4}
.entity-logo.driver{background:#eff2f8;color:#536a93;border-color:#dce1ee}
.entity-logo.vehicle{background:#edf7f2;color:#3f745c;border-color:#d3e7dd}
.entity-card:hover{border-color:#bdcbd0}
.entity-stat{background:#f5f7f8;border-color:#e1e6e8}

/* Bildirimler */
.notice.unread{background:#eef7f7;border-left:3px solid #4f9399}
.notice-icon{background:#eaf3f4;color:#3f747a}

/* Adres / rota */
.route-addresses{background:#f6f9f9;border-color:#d9e4e5}
.address-stop-dot{border-color:#347b82;box-shadow:0 0 0 3px #e3f0f1}
.address-stop-dot.dropoff{border-color:#315b79;box-shadow:0 0 0 3px #e9eff4}
.address-option:hover,.address-option.active{background:#edf6f6}
.route-swap:hover{background:#edf6f6;color:#245e65;border-color:#bfd4d7}
.route-status[data-state="success"]{background:#edf7f2;border-color:#cfe5db;color:#356a54}
.route-status[data-state="loading"]{background:#fbf5e9;border-color:#ead9b9;color:#765b2d}
.route-status[data-state="error"]{background:#fbf0ee;border-color:#efd6d2;color:#8e3f38}
.ld-map-marker{border-color:#2e7880;color:#2e7880}.ld-map-marker.dropoff{border-color:#315b79;color:#315b79}
.field-inline-btn:hover{color:#286a71}

/* Grafikler: marka paleti */
.bar{background:#397b82}
.donut{background:conic-gradient(#397b82 0 38%,#4f8068 38% 63%,#55739a 63% 82%,#b28745 82% 100%)}
.legend-row:nth-child(1) i{background:#397b82!important}
.legend-row:nth-child(2) i{background:#4f8068!important}
.legend-row:nth-child(3) i{background:#55739a!important}
.legend-row:nth-child(4) i{background:#b28745!important}

/* Login */
.login-visual{background:#162b34;border-right:1px solid #27444f}
.login-pitch .kicker{color:#90c6ca}
.login-card .brand-mark{background:#17343d!important;border-color:#17343d!important}

/* Mobilde renk, masaüstü hiyerarşisini korur */
@media(max-width:980px){
  .mobile-nav a.active{color:#286870;background:#eaf4f5}
  .mobile-nav a.mobile-plus{background:#17343d}
}

/* V4 Corporate Color - LD-1 yeni transfer operasyon güncellemeleri */
.status-draft{background:#f2f4f5;color:#59656a;border-color:#dce2e4}
.field-invalid,.field:invalid:focus{border-color:#c75a50!important;box-shadow:0 0 0 2px rgba(180,55,45,.09)!important}
.trip-type-row{display:grid;grid-template-columns:minmax(210px,320px) 1fr;gap:14px;align-items:end;margin-bottom:11px}
.trip-type-note{font-size:8.5px;line-height:1.55;color:#64757a;padding:9px 11px;border:1px solid #d9e4e5;background:#f5f9f9;border-radius:5px}
.waypoint-list{display:grid;gap:7px;margin:0 0 1px 17px}
.route-waypoint{display:grid;grid-template-columns:25px minmax(0,1fr) 30px;gap:7px;align-items:end;position:relative}
.waypoint-index{width:22px;height:22px;border:1px solid #bad0d3;background:#edf6f6;color:#326c72;border-radius:50%;display:grid;place-items:center;font-size:8px;font-weight:800;margin-bottom:7px;z-index:2}
.waypoint-remove{width:30px;height:31px;margin-bottom:0}
.route-control-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-left:17px}
.btn-compact{min-height:30px;padding:6px 9px;font-size:9px}
.route-control-row .route-swap{position:static;width:30px;height:30px;margin:0;flex:0 0 auto}
.return-fields{margin-top:12px;border:1px solid #d7e3e4;background:#f6f9f9;border-radius:5px;padding:12px}
.compact-heading{display:flex;align-items:baseline;gap:9px;margin-bottom:10px}.compact-heading b{font-size:10px;color:#2a454a}.compact-heading span{font-size:8px;color:#748287}
.exception-box{margin-top:11px;border:1px solid #e8d4b0;background:#fbf6eb;padding:12px;border-radius:5px;display:grid;gap:9px}.exception-box>div b{display:block;font-size:10px;color:#775526}.exception-box>div span{display:block;font-size:8px;color:#8b744d;margin-top:3px}
.check-line{display:flex!important;align-items:center;gap:7px;font-size:9px;color:#4e5f64;line-height:1.4}.check-line input{accent-color:#2f7379}
.passenger-list{display:grid;gap:9px;margin-top:12px}.passenger-row{border:1px solid #dfe4e2;background:#fafbfa;border-radius:5px;padding:11px}.passenger-row-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:9px;padding-bottom:7px;border-bottom:1px solid #e5e8e6}.passenger-row-head b{font-size:9.5px;color:#2c3e43}.passenger-row-head span{font-size:7.5px;color:#839096}.passenger-fields{grid-template-columns:1.1fr .75fr 1fr!important}
.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:12px;margin-top:12px}.phone-field{display:grid;grid-template-columns:minmax(145px,.6fr) 1fr;gap:6px}.phone-code{min-width:0}
.fit-status{margin-top:12px;padding:9px 11px;border:1px solid #dfe4e2;background:#f7f9f8;border-radius:5px;font-size:8.5px;line-height:1.55;color:#68777c}.fit-status b{font-size:9px}.fit-status[data-state="success"]{background:#edf7f2;border-color:#cee4da;color:#386a55}.fit-status[data-state="error"]{background:#fbf0ee;border-color:#ecd1cc;color:#8d4038}
.price-special{border-top:1px solid #e3e6e4;padding-top:9px}.risk-box{border:1px solid #e3c6c1;background:#fbf1ef;border-radius:5px;padding:11px;display:grid;gap:8px;color:#884038}.risk-box>b{font-size:10px}.risk-box>span{font-size:8.5px;line-height:1.55}.risk-box label{display:block}.loss-warning{margin:0 18px 14px;padding:10px 11px;border:1px solid #e5c9c3;background:#fbf2f0;border-radius:5px}.loss-warning b{display:block;font-size:9px;color:#914239}.loss-warning span{display:block;font-size:8px;color:#805b56;margin-top:3px}.price-box.loss{background:#fbf0ee;border-color:#e8d1cd}.price-box.loss b{color:#963f36}
.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.review-grid>div{border:1px solid #e0e5e3;background:#fafbfa;border-radius:4px;padding:9px}.review-grid span{display:block;font-size:7px;text-transform:uppercase;letter-spacing:.05em;color:#7b888c;font-weight:700}.review-grid b{display:block;font-size:9.5px;line-height:1.45;margin-top:4px;color:#2e3d42}.review-notice,.duplicate-warning{margin-top:9px;padding:10px 11px;border-radius:4px;border:1px solid #d8e3e4;background:#f1f7f7}.review-notice b,.duplicate-warning b{display:block;font-size:9px}.review-notice span,.duplicate-warning span{display:block;font-size:8px;line-height:1.5;margin-top:3px}.duplicate-warning{border-color:#e4cfaa;background:#fbf5e9;color:#785a29}
.passenger-detail-list{padding:12px 18px 4px;display:grid;gap:7px}.passenger-detail{display:grid;grid-template-columns:1.2fr .75fr .9fr;gap:8px;border:1px solid #e0e5e3;background:#fafbfa;border-radius:4px;padding:9px}.passenger-detail span{font-size:7px;text-transform:uppercase;letter-spacing:.04em;color:#7d898d}.passenger-detail b{display:block;font-size:9px;margin-top:3px;color:#334248;overflow-wrap:anywhere}.detail-stops{position:relative;z-index:1;margin:12px 0 0;padding:9px 11px;border:1px solid #37545d;background:#203f48;border-radius:4px}.detail-stops>span{display:block;font-size:7px;text-transform:uppercase;letter-spacing:.06em;color:#8faeb5;margin-bottom:5px}.detail-stops b{display:block;font-size:8.5px;color:#e5eff1;line-height:1.45;margin:2px 0}
.cancellation-card{border-left:3px solid #b9665d}.audit-list{padding:5px 17px 14px;display:grid;gap:8px}.audit-item{border-bottom:1px solid #e5e8e6;padding:9px 0}.audit-item:last-child{border-bottom:0}.audit-meta b{font-size:9.5px;color:#34444a}.audit-meta span{display:block;font-size:7.5px;color:#818c90;margin-top:3px}.audit-changes{display:grid;gap:4px;margin-top:7px}.audit-changes>div{display:grid;grid-template-columns:minmax(95px,.7fr) 1fr 1fr;gap:6px;align-items:center;font-size:8px}.audit-changes span{color:#66767b;font-weight:650}.audit-changes del{color:#9b5a53;background:#fbf0ee;padding:3px 5px;text-decoration:none;border-radius:3px}.audit-changes ins{color:#3e705b;background:#eef7f2;padding:3px 5px;text-decoration:none;border-radius:3px}
.address-option small em{font-style:normal;color:#2e746f;font-weight:700}.ld-map-marker.waypoint{border-color:#9a7133;color:#8c662e;background:#fff9ee}
.empty.compact{padding:18px;min-height:auto}

@media(max-width:760px){
 .trip-type-row,.contact-grid{grid-template-columns:1fr}.passenger-fields{grid-template-columns:1fr!important}.phone-field{grid-template-columns:125px 1fr}.review-grid{grid-template-columns:1fr}.passenger-detail{grid-template-columns:1fr 1fr}.passenger-detail>div:first-child{grid-column:1/-1}.audit-changes>div{grid-template-columns:1fr}.audit-changes del,.audit-changes ins{display:block}.waypoint-list{margin-left:12px}.route-waypoint{grid-template-columns:23px minmax(0,1fr) 28px}
}

/* LD-1 mobile layout safeguard: later compact rules must not restore desktop map columns */
#newTransferForm,.form-section,.route-builder,.route-addresses,.route-map-shell{min-width:0;max-width:100%}
@media(max-width:980px){
  .route-builder{grid-template-columns:minmax(0,1fr)!important;width:100%}
  .route-addresses,.route-map-shell,.route-map{width:100%;max-width:100%}
}
@media(max-width:580px){
  .route-map-overlay{left:6px;right:6px;bottom:6px;grid-template-columns:1fr 1fr}
  .route-map-overlay .btn{grid-column:1/-1;width:100%}
  .route-control-row{padding-left:12px}
  .form-footer{display:grid;grid-template-columns:1fr;gap:7px}
  .form-footer .btn,.form-footer>a{width:100%;justify-content:center}
}

/* V4 Corporate Color - LD-2 transfer listesi ve iş kartı güncellemeleri */
.transfer-list-controls{padding:0;margin-bottom:10px;overflow:hidden}
.transfer-view-tabs{display:flex;align-items:center;gap:0;border-bottom:1px solid #e1e7e7;background:#f8faf9;padding:0 14px}
.transfer-view-tabs button{appearance:none;border:0;background:transparent;padding:12px 13px 10px;font:700 9px/1 inherit;color:#66767b;border-bottom:2px solid transparent;cursor:pointer}
.transfer-view-tabs button:hover{color:#2f666d}.transfer-view-tabs button.active{color:#245f66;border-bottom-color:#397b82;background:#fff}
.transfer-filter-grid{display:grid;grid-template-columns:minmax(240px,1.5fr) repeat(4,minmax(135px,.7fr));gap:8px;padding:12px 14px 8px}
.filter-field{display:grid;gap:5px;min-width:0}.filter-field>span,.date-filter-row label>span,.date-filter-title{font-size:7.5px;text-transform:uppercase;letter-spacing:.055em;color:#6e7d82;font-weight:800}.filter-field select{height:36px;border:1px solid #d7dfdf;border-radius:4px;background:#fff;padding:0 28px 0 9px;color:#38484d;font-size:9px;outline:none;min-width:0}.filter-field select:focus{border-color:#72a2a7;box-shadow:0 0 0 2px rgba(57,123,130,.08)}
.filter-field .search{height:36px;border-radius:4px;border-color:#d7dfdf}.filter-field .search input{font-size:9px}
.date-filter-row{display:flex;align-items:end;gap:8px;padding:8px 14px 11px;border-top:1px solid #edf0ef;flex-wrap:wrap}.date-filter-title{align-self:center;margin-right:2px}.quick-date-filters{display:flex;gap:5px;flex-wrap:wrap}.quick-date-filters button{height:31px;border:1px solid #d7dfdf;background:#fff;color:#59696e;border-radius:4px;padding:0 9px;font-size:8px;font-weight:700;cursor:pointer}.quick-date-filters button:hover{border-color:#9bbabc;color:#2d686f}.quick-date-filters button.active{background:#eaf5f6;border-color:#bcdadd;color:#286970}.date-filter-row label{display:grid;gap:4px}.date-filter-row .field{height:31px;min-width:132px;padding:0 8px;font-size:8.5px}
.list-control-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 14px;border-top:1px solid #edf0ef;background:#fbfcfb}.result-count{font-size:8.5px;color:#67767b}.result-count b{font-size:10px;color:#2c4147}.result-alert{color:#9a493f;font-weight:750}.list-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.page-size-label{display:flex;align-items:center;gap:6px;font-size:8px;color:#738086}.page-size-label select{height:30px;border:1px solid #d7dfdf;border-radius:4px;background:#fff;font-size:8px;padding:0 20px 0 7px;color:#45555a}
.transfer-table{min-width:1260px}.transfer-table th:last-child,.transfer-table td:last-child{text-align:right}.btn-table{min-height:28px;padding:5px 8px;font-size:8px;white-space:nowrap}.row-overdue{background:#fff9f7}.row-overdue:hover{background:#fff5f2!important}.row-overdue td:first-child{box-shadow:inset 3px 0 0 #b85a50}.overdue-flag{display:inline-flex;margin-top:6px;padding:3px 5px;border-radius:3px;background:#fbefed;color:#97463d;border:1px solid #ead2ce;font-size:7px;font-weight:800;white-space:nowrap}.operation-pill{display:inline-flex;align-items:center;max-width:140px;padding:4px 6px;border:1px solid #d7e2e4;background:#f1f6f6;color:#48656a;border-radius:4px;font-size:7.5px;font-weight:750;line-height:1.25}.operation-pill.danger{background:#fbefed;border-color:#ead2ce;color:#96483e}.price-label-stack{display:grid;gap:2px;min-width:100px}.price-label-stack span{display:flex;align-items:baseline;justify-content:space-between;gap:6px;font-size:7px;color:#7a878b}.price-label-stack b{font-size:8.5px;color:#36484d;white-space:nowrap}.price-label-stack b.negative,.mobile-price-grid b.negative{color:#a13f37}
.transfer-empty{min-height:230px}.empty-actions{display:flex;justify-content:center;gap:7px;margin-top:14px}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:5px;margin:10px 0 2px}.pagination>span{font-size:8px;color:#728086;margin:0 3px}.page-btn{min-width:29px;height:29px;border:1px solid #d7dfdf;background:#fff;border-radius:4px;font-size:8px;color:#56666b;cursor:pointer}.page-btn:hover:not(:disabled){border-color:#9bbabc;color:#286970}.page-btn.active{background:#2f747b;border-color:#2f747b;color:#fff}.page-btn:disabled{opacity:.42;cursor:not-allowed}
.transfer-list-mobile{display:none}.mobile-overdue{margin:0 14px 10px;padding:7px 8px;border:1px solid #ead2ce;background:#fbefed;color:#93473e;border-radius:4px;font-size:8px;font-weight:750}.overdue-card{border-left-color:#b85a50}.mobile-price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:10px 14px 0}.mobile-price-grid>div{border:1px solid #e2e7e6;background:#f8faf9;border-radius:4px;padding:7px}.mobile-price-grid span{display:block;font-size:6.5px;text-transform:uppercase;letter-spacing:.05em;color:#7b888c}.mobile-price-grid b{display:block;font-size:9px;color:#35474c;margin-top:3px}
.detail-overdue{display:inline-flex;position:relative;z-index:1;margin-left:7px;padding:4px 7px;border-radius:3px;background:#653b36;border:1px solid #86534c;color:#fff2ef;font-size:7px;font-weight:800;vertical-align:middle}.detail-action-row{padding:0 18px 12px;display:flex;gap:7px;flex-wrap:wrap}.action-requirement{margin:0 18px 16px;padding:9px 10px;border:1px solid #e4d4b5;background:#fbf6eb;border-radius:4px;color:#765a2c;font-size:8px;line-height:1.5;display:flex;align-items:flex-start;gap:6px}.action-requirement svg{width:13px;height:13px;flex:0 0 auto}.closed-lock-banner{margin:0 18px 13px;padding:9px 10px;border:1px solid #d8e0e2;background:#f4f7f7;border-radius:4px;color:#596a70;font-size:8px;line-height:1.5;display:flex;gap:6px;align-items:flex-start}.closed-lock-banner svg{width:13px;height:13px;flex:0 0 auto}.locked-note{display:inline-flex;align-items:center;padding:7px 9px;border:1px solid #d8e0e2;background:#f4f7f7;border-radius:4px;color:#68767b;font-size:8px;font-weight:700}
.confirm-summary{display:grid;gap:7px}.confirm-summary>div{border:1px solid #e0e5e3;background:#fafbfa;border-radius:4px;padding:9px}.confirm-summary span{display:block;font-size:7px;text-transform:uppercase;letter-spacing:.05em;color:#7b888c;font-weight:700}.confirm-summary b{display:block;font-size:9.5px;line-height:1.45;margin-top:4px;color:#2e3d42}.correction-reason{border-top:1px solid #e2e7e5;padding-top:10px}.assign-vehicle-info{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-top:9px;padding:9px;border:1px solid #dfe5e4;background:#f7f9f8;border-radius:4px}.assign-vehicle-info>span{grid-column:1/-1;font-size:8px;color:#78868a}.assign-vehicle-info>div{border:1px solid #e1e6e4;background:#fff;padding:7px;border-radius:3px}.assign-vehicle-info div span{display:block;font-size:6.5px;text-transform:uppercase;letter-spacing:.04em;color:#7c898d}.assign-vehicle-info div b{display:block;font-size:8.5px;line-height:1.4;margin-top:3px;color:#35464b}.assign-vehicle-info[data-state="success"]{background:#eef7f2;border-color:#d0e5da}.assign-vehicle-info[data-state="error"]{background:#fbf0ee;border-color:#e9d0cb}.card-inline-actions{padding:0 18px 16px}.assignment-history{margin:0 18px 13px;border:1px solid #e0e5e3;background:#fafbfa;border-radius:4px;padding:9px}.assignment-history span{display:block;font-size:7px;text-transform:uppercase;letter-spacing:.05em;color:#7a878b}.assignment-history b{display:block;font-size:8.5px;margin-top:4px;color:#37484d}.assignment-history small{display:block;font-size:7.5px;line-height:1.45;margin-top:3px;color:#748085}
.timeline-item.skipped .timeline-dot{background:#f5f6f6;border-color:#dce1e2;color:#8b9699}.timeline-item.skipped b{color:#7c888c}.timeline-item.skipped span{color:#98a1a4}.timeline-item.skipped:not(:last-child):before{background:#e4e8e8}
.flight-card .card-head{align-items:center}.flight-live-state{display:inline-flex;padding:4px 7px;border-radius:3px;border:1px solid #dce3e4;background:#f5f7f7;color:#66767b;font-size:7px;font-weight:800;white-space:nowrap}.flight-live-state[data-state="live"]{background:#edf7f2;border-color:#cfe5da;color:#356b55}.flight-live-state[data-state="loading"]{background:#fbf5e9;border-color:#ead9b9;color:#765b2d}.flight-live-state[data-state="error"]{background:#fbf0ee;border-color:#efd6d2;color:#8e3f38}.flight-data-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;padding:0 18px 12px}.flight-data-grid>div{border:1px solid #e1e6e4;background:#fafbfa;border-radius:4px;padding:8px}.flight-data-grid span{font-size:6.5px;text-transform:uppercase;letter-spacing:.05em;color:#7d898d}.flight-data-grid b{display:block;font-size:9px;margin-top:4px;color:#33464b}.flight-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #e7eae9;padding:10px 18px 14px}.flight-card-foot>span{font-size:7.5px;line-height:1.45;color:#758287;max-width:55%}.flight-card-foot>div{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.technical-error{text-align:center;padding:36px 24px;max-width:680px;margin:30px auto}.technical-error-icon{width:46px;height:46px;margin:0 auto 12px;border:1px solid #ead2ce;background:#fbefed;color:#98483f;border-radius:50%;display:grid;place-items:center}.technical-error-icon svg{width:19px;height:19px}.technical-error h3{font-size:15px;color:#34454a;margin:0}.technical-error p{font-size:9px;line-height:1.65;color:#748287;max-width:500px;margin:8px auto 12px}.technical-error-code{font-size:7.5px;color:#8a9598;background:#f6f8f7;border:1px solid #e4e8e7;border-radius:4px;padding:7px 9px;margin:0 auto 13px;max-width:500px;overflow-wrap:anywhere}

@media(max-width:1180px){.transfer-filter-grid{grid-template-columns:minmax(220px,1.4fr) repeat(2,minmax(145px,1fr))}.filter-search{grid-column:span 1}}
@media(max-width:980px){.data-table-wrap{display:none}.transfer-list-mobile{display:grid!important;gap:9px}.transfer-filter-grid{grid-template-columns:1fr 1fr}.filter-search{grid-column:1/-1}.date-filter-row{align-items:stretch}.list-control-foot{align-items:flex-start}.detail-action-row .btn{flex:1;min-width:140px}}
@media(max-width:640px){.transfer-view-tabs{padding:0 8px}.transfer-view-tabs button{flex:1;padding:11px 5px 9px;font-size:7.5px}.transfer-filter-grid{grid-template-columns:1fr;padding:10px}.filter-search{grid-column:auto}.date-filter-row{padding:8px 10px;display:grid;grid-template-columns:1fr 1fr}.date-filter-title,.quick-date-filters{grid-column:1/-1}.quick-date-filters{display:grid;grid-template-columns:1fr 1fr}.quick-date-filters button{width:100%}.date-filter-row .field{width:100%;min-width:0}.list-control-foot{display:grid;grid-template-columns:1fr;padding:9px 10px}.list-actions{display:grid;grid-template-columns:1fr 1fr}.page-size-label{grid-column:1/-1;justify-content:space-between}.list-actions .btn{width:100%;justify-content:center}.pagination{justify-content:center}.mobile-price-grid{margin-left:12px;margin-right:12px}.detail-action-row{display:grid;grid-template-columns:1fr;padding:0 14px 12px}.detail-action-row .btn{width:100%}.action-requirement,.closed-lock-banner{margin-left:14px;margin-right:14px}.assign-vehicle-info{grid-template-columns:1fr}.flight-data-grid{grid-template-columns:1fr 1fr;padding-left:14px;padding-right:14px}.flight-card-foot{display:grid;padding-left:14px;padding-right:14px}.flight-card-foot>span{max-width:none}.flight-card-foot>div{justify-content:stretch}.flight-card-foot .btn{flex:1}.empty-actions{display:grid}.empty-actions .btn{width:100%}}

/* ================================================================
   LD-3 / LD-4 — Transfer Market & Operasyon Takibi
   Existing Corporate Color system preserved; additions are scoped.
   ================================================================ */
.status-expired{background:#f9ece9;border-color:#e8c9c3;color:#91463e}
.market-filter-panel,.assigned-filter-panel{overflow:hidden;margin-bottom:11px}
.market-filter-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:11px 13px}
.market-filter-grid .filter-field,.assigned-filter-grid .filter-field{display:grid;gap:5px;min-width:0}
.market-filter-grid .filter-field>span,.assigned-filter-grid .filter-field>span{font-size:7px;font-weight:800;letter-spacing:.055em;text-transform:uppercase;color:#718085}
.market-filter-grid .field,.market-filter-grid select,.assigned-filter-grid .field,.assigned-filter-grid select{width:100%;min-width:0;height:32px;border:1px solid #d7dfdf;background:#fff;border-radius:4px;padding:0 8px;font-size:8.5px;color:#43565b;outline:none}
.market-filter-grid .field:focus,.market-filter-grid select:focus,.assigned-filter-grid .field:focus,.assigned-filter-grid select:focus{border-color:#91b3b7;box-shadow:0 0 0 2px rgba(47,116,123,.08)}
.market-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}
.market-card-actions .btn{width:100%;min-width:0;min-height:34px;justify-content:center}
.market-card-actions .btn:only-child{grid-column:1/-1}
.market-airport-chip{background:#edf5f6;border-color:#cfe1e3;color:#2d6970}
.transfer-fee-card{border-left:3px solid #3b7e85}
.assigned-filter-grid{display:grid;grid-template-columns:minmax(180px,1.5fr) repeat(6,minmax(115px,1fr));gap:8px;padding:11px 13px}
.assigned-search{grid-column:auto}
.assigned-table{min-width:1180px}
.vehicle-cell{display:grid;gap:2px}.vehicle-cell b{font-size:8.5px;color:#35474c}.vehicle-cell span{font-size:7px;color:#758287;line-height:1.35}
.cancel-reason{margin-top:5px;font-size:7px;color:#9a4d43;line-height:1.4}
.operation-exception-mini{display:inline-flex;margin-top:4px;padding:3px 5px;border:1px solid #ead9b9;background:#fbf5e9;color:#74582c;border-radius:3px;font-size:6.5px;font-weight:800}
.assigned-mobile-grid{display:none;gap:9px}
.assigned-mobile-card{border-left:3px solid #5c8287}
.assigned-mobile-card.is-overdue{border-left-color:#b85a50;background:#fffaf8}
.assigned-mobile-card.is-cancelled{border-left-color:#a6afb1;background:#fbfbfb}
.cancelled-summary{margin:10px 13px 0;padding:8px;border:1px solid #ead2ce;background:#fbefed;border-radius:4px;font-size:7.5px;color:#8e4940;line-height:1.5}
.operation-exception{margin:0 14px 10px;padding:9px 10px;border:1px solid #ead9b9;background:#fbf5e9;border-radius:4px;color:#73592f}
.operation-exception>div{display:flex;align-items:flex-start;gap:7px}.operation-exception svg{width:14px;height:14px;flex:0 0 auto}.operation-exception span{display:grid;gap:2px}.operation-exception b{font-size:8.5px}.operation-exception small{font-size:7px;line-height:1.45;color:#7e6b47}
.operation-action-stack{display:grid;gap:6px;padding:0 14px 14px}
.vehicle-assignment-summary{display:grid;gap:3px;padding:9px 14px;border-top:1px solid #edf0ef;border-bottom:1px solid #edf0ef;background:#fafcfc}
.vehicle-assignment-summary>span{font-size:7px;text-transform:uppercase;letter-spacing:.05em;color:#7a878b}.vehicle-assignment-summary>b{font-size:9px;color:#32474c}.vehicle-assignment-summary>small{font-size:7.5px;color:#6e7c80;line-height:1.45}
.emergency-support{padding:14px;border-left:3px solid #b66b58}.emergency-support h3{font-size:16px;margin:7px 0 4px;color:#33464b}.emergency-support p{font-size:8px;line-height:1.55;color:#6e7b80;margin:0 0 10px}

@media(max-width:1180px){
  .market-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .assigned-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .assigned-search{grid-column:span 2}
}
@media(max-width:980px){
  .market-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .assigned-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .assigned-search{grid-column:1/-1}
  .assigned-mobile-grid{display:grid!important}
  .assigned-filter-panel .data-table-wrap{display:none}
}
@media(max-width:640px){
  .market-filter-grid,.assigned-filter-grid{grid-template-columns:1fr;padding:10px}
  .assigned-search{grid-column:auto}
  .market-grid{width:100%;min-width:0}
  .market-card{width:100%;min-width:0;overflow:hidden}
  .market-card-actions{grid-template-columns:1fr 1fr;gap:6px}
  .market-card-actions .btn{padding-left:7px;padding-right:7px;font-size:8px;min-height:36px}
  .market-card-actions .btn svg{width:12px;height:12px}
  .market-price{align-items:flex-start}.market-price small{max-width:48%;text-align:right;line-height:1.35}
  .operation-action-stack{padding-left:12px;padding-right:12px}
  .vehicle-assignment-summary{padding-left:12px;padding-right:12px}
  .emergency-support{padding:12px}
}
.row-upcoming{background:#fbfdfd}.row-upcoming td:first-child{box-shadow:inset 3px 0 0 #5e9298}.upcoming-flag{display:inline-flex;margin-top:6px;padding:3px 5px;border-radius:3px;background:#edf6f6;color:#2f6d73;border:1px solid #cfe2e4;font-size:7px;font-weight:800;white-space:nowrap}.upcoming-card{border-left-color:#5e9298}.mobile-upcoming{margin:0 14px 10px;padding:7px 8px;border:1px solid #cfe2e4;background:#edf6f6;color:#2f6d73;border-radius:4px;font-size:8px;font-weight:750}
.assigned-mobile{gap:9px}
.assigned-mobile .transfer-card{padding:13px;overflow:hidden}
.assigned-mobile .assigned-mobile-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:11px}
.assigned-mobile .assigned-mobile-grid>div{min-width:0;border:1px solid #e1e7e6;background:#f8faf9;border-radius:4px;padding:8px}
.assigned-mobile .assigned-mobile-grid span{display:block;font-size:6.5px;text-transform:uppercase;letter-spacing:.055em;color:#7b898d;font-weight:750}
.assigned-mobile .assigned-mobile-grid b{display:block;margin-top:3px;font-size:8.5px;line-height:1.35;color:#34484d;overflow-wrap:anywhere}
.assigned-mobile .assigned-mobile-grid small{display:block;margin-top:2px;font-size:7px;line-height:1.35;color:#758287;overflow-wrap:anywhere}
.assigned-mobile .transfer-card>a.btn{margin-top:10px}
.cancelled-summary{display:grid;gap:3px}.cancelled-summary b{font-size:7px;text-transform:uppercase;letter-spacing:.04em}.cancelled-summary span{font-size:8px}
@media(max-width:640px){
  .assigned-mobile .assigned-mobile-grid{grid-template-columns:1fr 1fr}
  .assigned-mobile .assigned-mobile-grid>div:last-child{grid-column:1/-1}
  .assigned-mobile .mobile-overdue,.assigned-mobile .mobile-upcoming{margin-left:0;margin-right:0;margin-top:9px;margin-bottom:0}
}

/* ================================================================
   LD-6 / LD-7–LD-12 — yönetim, finans, rapor, bildirim ve yetki katmanı
   ================================================================ */
.vehicle-filter-grid,.finance-filter-panel,.notification-filters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:12px 14px;border-bottom:1px solid var(--line);background:#fbfcfb}
.vehicle-filter-grid .field,.finance-filter-panel .field,.notification-filters .field{width:100%;min-width:0;height:34px;font-size:8.5px}
.finance-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}
.finance-summary .card{padding:13px}.finance-summary b{display:block;font-size:14px;color:var(--ink);margin-top:4px}.finance-summary span{font-size:7.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.045em}
.permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.permission-mini{display:flex;gap:4px;flex-wrap:wrap}.permission-mini span{display:inline-flex;padding:3px 5px;border:1px solid #dbe4e4;border-radius:3px;background:#f5f8f8;color:#53686d;font-size:6.5px;font-weight:750}
.compact-section{padding:10px 12px}.compact-audit{max-height:320px;overflow:auto}.fixed-route-list{display:grid;gap:7px}.fixed-route-row{display:grid;grid-template-columns:1.25fr 1.25fr .7fr .7fr auto;gap:6px;align-items:end;border:1px solid #e0e6e5;background:#fafbfb;padding:8px;border-radius:4px}.fixed-route-row .field{height:32px;font-size:8px}.fixed-route-remove{height:32px;align-self:end}
.real-bars{display:grid;gap:8px;padding:4px 0}.real-bar-row{display:grid;grid-template-columns:90px minmax(80px,1fr) 44px;gap:8px;align-items:center}.real-bar-row>span{font-size:8px;color:#5f7075}.real-bar-track{height:8px;background:#edf1f1;border-radius:2px;overflow:hidden}.real-bar{height:100%;min-width:2px;background:#3e7c82}.real-bar-row>b{font-size:8px;text-align:right;color:#34484d}
.report-source-list{display:grid;gap:6px}.report-source-list a{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 9px;border:1px solid #e0e6e5;background:#fafbfb;border-radius:4px;color:#42575c;text-decoration:none;font-size:8px}.report-source-list a:hover{border-color:#a9c5c8;background:#f2f8f8}.report-source-list b{font-size:9px}
.notification-filters{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end}.notice-content{min-width:0;flex:1}.notice-title-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.severity-badge{display:inline-flex;padding:3px 5px;border-radius:3px;border:1px solid #dbe3e3;background:#f5f7f7;color:#617177;font-size:6.5px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.severity-badge.warning{background:#fbf5e9;border-color:#ead9b9;color:#755a2f}.severity-badge.critical{background:#fbefed;border-color:#ead2ce;color:#944840}.notice-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.notice-exact{font-size:7px;color:#839094;margin-top:3px}.notice-channels{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.notice-channels span{font-size:6.5px;padding:2px 4px;border-radius:3px;background:#f1f5f5;color:#687a7e}
.flight-test-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:10px}.flight-test-row>span{font-size:8px;color:#65757a}.switch-control{display:flex;align-items:center;gap:8px}.setting-state{display:inline-flex;min-width:42px;justify-content:center;padding:3px 6px;border-radius:3px;border:1px solid #dfe5e5;background:#f5f7f7;color:#748185;font-size:7px;font-weight:850}.setting-state.on{background:#edf7f2;border-color:#cee5d9;color:#356b55}
.carrier-vehicle-count{display:inline-flex;padding:3px 6px;border-radius:3px;background:#edf5f6;border:1px solid #d0e1e3;color:#376d73;font-size:7px;font-weight:800}.approval-pending{background:#fbf5e9;border-color:#ead9b9;color:#765b2d}.approval-rejected{background:#fbefed;border-color:#ead2ce;color:#93483f}
.billing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.history-link{font-size:7px;font-weight:800;color:#2f747b;text-decoration:none}.history-link:hover{text-decoration:underline}
@media(max-width:1100px){.vehicle-filter-grid,.finance-filter-panel{grid-template-columns:repeat(3,minmax(0,1fr))}.notification-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-summary{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.vehicle-filter-grid,.finance-filter-panel,.notification-filters{grid-template-columns:1fr 1fr;padding:10px}.notification-filters>*:last-child{grid-column:1/-1}.permission-grid,.billing-grid,.finance-summary{grid-template-columns:1fr}.fixed-route-row{grid-template-columns:1fr 1fr}.fixed-route-row .fixed-route-remove{grid-column:1/-1;width:100%}.real-bar-row{grid-template-columns:72px 1fr 34px}.notice-actions{width:100%;justify-content:flex-start}.flight-test-row{display:grid;grid-template-columns:1fr}.flight-test-row .btn{width:100%}}
@media(max-width:480px){.vehicle-filter-grid,.finance-filter-panel,.notification-filters{grid-template-columns:1fr}.fixed-route-row{grid-template-columns:1fr}.real-bar-row{grid-template-columns:62px 1fr 30px}}
/* LD-12 report/notification polish */
.real-bar-row{color:inherit;text-decoration:none}.real-bar-row>b{font-size:8px;text-align:left;color:#4b6065}.real-bar-row>div{height:8px;background:#edf1f1;border-radius:2px;overflow:hidden}.real-bar-row>div>i{display:block;height:100%;min-width:2px;background:#3e7c82}.real-bar-row>span{font-size:8px;text-align:right;color:#34484d;font-weight:800}.severity-uyari .severity-badge{background:#fbf5e9;border-color:#ead9b9;color:#755a2f}.severity-acil .severity-badge{background:#fbefed;border-color:#ead2ce;color:#944840}.severity-bilgi .severity-badge{background:#edf5f6;border-color:#cee0e2;color:#356d74}

/* FINAL SYSTEM CONTROL — 06.09.2026 */
.grid-5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.metric-link{display:block;color:inherit;text-decoration:none;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}
.metric-link:hover{transform:translateY(-1px);border-color:#bfcbd7;box-shadow:0 8px 22px rgba(16,24,40,.08)}
.login-page{grid-template-columns:minmax(0,1.05fr) minmax(480px,.72fr)}
.login-panel{padding:48px 56px}
.login-card{width:min(100%,470px);max-width:470px}
.login-card h2{font-size:30px;margin:34px 0 9px}
.login-card>p{font-size:14px;margin-bottom:28px;line-height:1.65}
.login-card .field{min-height:52px;font-size:15px;padding:0 15px}
.login-card .field-label{font-size:13px;margin-bottom:8px}
.login-card .btn[style*="min-height:46px"]{min-height:52px!important;font-size:14px!important}
.login-card .link-btn{font-size:12px}
.security-note{font-size:10px;line-height:1.6;color:var(--muted)}
@media(max-width:1180px){.grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}.login-page{grid-template-columns:minmax(0,1fr) minmax(460px,.7fr)}}
@media(max-width:880px){.grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}.login-panel{padding:28px 22px}.login-card{width:100%;max-width:480px}.login-card .field{min-height:50px;font-size:15px}.login-card .btn[style*="min-height:46px"]{min-height:50px!important}}
@media(max-width:580px){.grid-5{grid-template-columns:1fr 1fr}.login-panel{padding:24px 20px}.login-card h2{font-size:27px}.login-card>p{font-size:14px}}
@media(max-width:390px){.grid-5{grid-template-columns:1fr}.login-panel{padding:22px 20px}}

/* 15 EYLÜL — son kontrol + canlı sistem */
.linked-filter-chip{display:inline-flex;align-items:center;gap:8px;margin:10px 14px 0;padding:7px 9px;border:1px solid #bed5d7;background:#f0f7f7;border-radius:5px;color:#355f64;font-size:9px;font-weight:700}
.linked-filter-chip.hidden{display:none}.linked-filter-chip button{border:0;background:transparent;color:#56777b;font-size:16px;line-height:1;cursor:pointer;padding:0 2px}
.entity-stat small{display:block;margin-top:2px;color:var(--muted);font-size:6.5px;font-weight:600}
.btn[disabled]{cursor:not-allowed;opacity:.48;filter:saturate(.55)}
.setup-required{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f3f5f4}.setup-card{width:min(680px,100%);padding:30px;border:1px solid #d9e0df;border-radius:8px;background:#fff;box-shadow:0 18px 50px rgba(17,31,35,.08)}.setup-card h1{font-size:25px;margin:26px 0 10px}.setup-card p{font-size:13px;line-height:1.65;color:#5f7075}.setup-steps{display:grid;gap:6px;margin:18px 0;padding:14px;border:1px solid #dce5e4;background:#f8faf9;border-radius:5px}.setup-steps span{font-size:11px;color:#617277;word-break:break-word}
@media(max-width:640px){.linked-filter-chip{margin:9px 10px 0}.setup-card{padding:22px}.setup-card h1{font-size:22px}}
