/* Neutral black surfaces; preserve semantic badge and action colors. */
body.dark{--bg:#090909;--panel:#151515;--ink:#f1f1f1;--muted:#b0b0b0;--line:#363636;--soft:#232323;--zebra:#1c1c1c;--row-hover:#292929;--header-bg:#242424;--glow:#ffffff10}
body.dark .sidebar,body.dark .topbar,body.dark dialog,body.dark .notification-panel{background:#151515}
body.dark .table-wrap table thead th{background:linear-gradient(#292929,#202020);border-color:#3b3b3b}
body.dark .freight-table th input,body.dark .freight-table th select,body.dark .freight-table th input:focus,body.dark .freight-table th select:focus{background:#141414;border-color:#454545}
body.dark input,body.dark select,body.dark textarea{background:#101010;color:var(--ink)}
body:has(.login-shell){background:radial-gradient(ellipse at 20% 0%,#14284488,transparent 45%),radial-gradient(ellipse at 90% 20%,#203a3144,transparent 35%),#080b11;color:#eef2f8;min-height:100vh}
.login-shell{width:min(900px,calc(100% - 40px));min-height:100vh;margin:auto;display:grid;grid-template-columns:1.35fr 1fr;gap:16px;align-content:center;padding:40px 0}
.login-welcome,.login-panel{border:1px solid #ffffff15;border-radius:18px;padding:26px;background:linear-gradient(135deg,#1c273a,#181a21 60%,#162024);box-shadow:0 24px 60px #0005}
.login-welcome{display:flex;flex-direction:column;min-height:410px}.login-welcome>small{color:#aab1bf;font-size:11px}.login-intro{margin:auto 0;padding:26px 0}.login-intro img{width:180px;max-height:85px;object-fit:contain;display:block;margin:0 0 22px;filter:drop-shadow(0 0 1px #fff)}
.login-intro h1{font-size:28px;line-height:1.2;margin:0 0 10px}.login-intro p,.login-panel p{font-size:12px;color:#bdc4d2}.login-chips{display:flex;flex-wrap:wrap;gap:8px}.login-chips span{font-size:10px;padding:6px 9px;border:1px solid #ffffff12;background:#ffffff06;border-radius:30px}.login-chips span:before{content:'●';color:#4285ff;margin-right:6px}
.login-panel{background:linear-gradient(#191c24,#10141e);display:flex;flex-direction:column;gap:14px;margin:0;min-width:0}.login-panel h2{font-size:17px;margin:0}.login-panel p{margin:0}.login-panel label{display:flex;flex-direction:column;gap:6px;color:#ccd2dd;font-size:12px}.login-panel input{width:100%;background:#0e141f!important;border:1px solid #ffffff20;color:#fff!important;border-radius:12px;padding:11px}.login-password{position:relative}.login-password input{padding-right:75px}.login-password button{position:absolute;right:6px;top:6px;padding:5px 8px;font-size:11px;background:#252d3b;color:#fff;border:1px solid #ffffff15;border-radius:8px}.login-panel>.primary{width:100%;padding:12px}.login-panel>small{font-size:10px;color:#aab1bf}.login-panel .error{color:#ff8c8c;min-height:16px}
.file-queue{padding-left:20px}.file-queue li{padding:5px 0;overflow-wrap:anywhere}#freight-inline-history{margin-top:20px}
@media(max-width:700px){.login-shell{grid-template-columns:1fr;width:calc(100% - 24px);padding:24px 0}.login-welcome{min-height:0}.login-intro{padding:20px 0}.login-intro h1{font-size:24px}.login-welcome,.login-panel{padding:22px}}
