:root { --bs-primary: #1456d9; --bs-primary-rgb: 20,86,217; } body { background:#f5f7fb; } .app-shell { min-height:100vh; display:flex; } .sidebar { width:260px; flex:0 0 260px; } .sidebar .nav-link { border-radius:.5rem; } .content { flex:1; padding:2rem; min-width:0; } .metric-card { border:0; box-shadow:0 .125rem .5rem rgba(33,37,41,.06); } .table th { white-space:nowrap; font-size:.75rem; text-transform:uppercase; letter-spacing:.04em; color:#6c757d; } @media (max-width:991.98px) { .content { padding:1.25rem; } .sidebar { width:260px; } }
.usa-map-wrap { width:100%; max-width:1080px; margin:auto; } .usa-map-wrap svg { display:block; width:100%; height:auto; max-height:720px; } .usa-map-wrap .state-shape { fill:#dfe7f7 !important; stroke:#fff; stroke-width:1px; cursor:pointer; transition:fill .15s ease; } .usa-map-wrap .visited-state { fill:#a8da61 !important; } .usa-map-wrap .state-shape:hover, .usa-map-wrap .state-shape:focus { fill:#1456d9 !important; outline:none; } .state-label { pointer-events:auto; cursor:pointer; } .map-state-name { fill:rgba(16,36,78,.48); font-family:Arial,sans-serif; font-weight:500; } .map-metric { fill:rgba(0,0,0,.62); font-family:Arial,sans-serif; font-weight:700; } .state-label:hover .map-state-name, .state-label:hover .map-metric { fill:#fff; } .status-picked-up { background:#0000ff; color:#fff; } .status-completed { background:#a8da61; color:#14220b; } .status-late { background:#f60101; color:#fff; } .status-broker-problem { background:transparent; color:#212529; border:1px solid #6c757d; }
.finance-pie{width:290px;height:290px;border-radius:50%;display:grid;place-items:center}.finance-hole{width:135px;height:135px;border-radius:50%;background:#fff;display:grid;place-content:center;color:#172033}.finance-hole strong{font-size:1.2rem}.finance-hole small{color:#6c757d}.legend-dot{width:12px;height:12px;display:inline-block;border-radius:50%;margin-right:5px}.legend-dot.gross{background:#1456d9}.legend-dot.net{background:#a8da61}.legend-dot.expense{background:#f60101}

/* CodePen-inspired RoadLedger login with a small animated semi truck. */
.login-codepen-style{position:relative;isolation:isolate;min-height:100vh;overflow:hidden;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(circle at 18% 17%,#1f71ee 0,transparent 31rem),linear-gradient(135deg,#07182d 0%,#0b3768 52%,#081a33 100%);font-family:Arial,sans-serif}.login-grid{position:absolute;z-index:-1;inset:0;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.13) 1px,transparent 1px);background-size:42px 42px;transform:perspective(470px) rotateX(57deg) scale(1.7) translateY(26%);transform-origin:center bottom}.login-panel{width:min(100%,370px);padding:2.2rem;border:1px solid rgba(255,255,255,.18);border-radius:1.1rem;background:rgba(4,19,40,.72);box-shadow:0 1.4rem 4rem rgba(0,0,0,.38);backdrop-filter:blur(15px);color:#fff}.login-brand{font-size:1.25rem;letter-spacing:.13em;font-weight:800}.login-brand span{color:#a8da61}.login-kicker{margin:.25rem 0 1.75rem;font-size:.63rem;letter-spacing:.17em;color:#9eb2ca}.login-panel h1{font-size:1.65rem;font-weight:700;margin:0 0 .35rem}.login-copy{color:#c4d2e2;font-size:.9rem;margin-bottom:1.45rem}.login-form input{display:block;width:100%;height:46px;margin:0 0 .8rem;padding:.7rem .85rem;border:1px solid rgba(255,255,255,.18);border-radius:.4rem;outline:0;background:rgba(255,255,255,.08);color:#fff;box-shadow:inset 0 1px 1px rgba(0,0,0,.15);transition:border-color .15s,background .15s}.login-form input::placeholder{color:#b9c4d0}.login-form input:focus{border-color:#a8da61;background:rgba(255,255,255,.14)}.login-form .btn{height:46px;background:#a8da61;border-color:#a8da61;color:#14220b;font-weight:800;letter-spacing:.02em}.login-form .btn:hover{background:#b9e67d;border-color:#b9e67d}.truck-loader{position:relative;width:184px;height:54px;margin:0 auto 1.6rem;animation:truck-float 2.6s ease-in-out infinite}.truck-loader__trailer{position:absolute;left:3px;top:10px;width:118px;height:32px;border:3px solid #dcecff;border-radius:4px 2px 2px 4px;background:linear-gradient(145deg,#ffffff,#9fc4eb)}.truck-loader__cab{position:absolute;left:122px;top:17px;width:47px;height:25px;border-radius:4px 9px 4px 3px;background:#a8da61}.truck-loader__cab:before{content:'';position:absolute;top:5px;right:6px;width:14px;height:9px;border-radius:2px;background:#164a78}.truck-loader__wheel{position:absolute;z-index:2;bottom:4px;width:15px;height:15px;border:4px solid #161c25;border-radius:50%;background:#c9d4e1}.truck-loader__wheel--one{left:25px}.truck-loader__wheel--two{left:91px}.truck-loader__wheel--three{left:141px}.truck-loader__smoke{position:absolute;right:-8px;top:17px;width:9px;height:9px;border-radius:50%;background:rgba(215,233,250,.65);animation:truck-smoke 1.8s infinite}.smoke-two{animation-delay:.8s}@keyframes truck-float{50%{transform:translateX(5px)}}@keyframes truck-smoke{0%{transform:translate(0,0) scale(.35);opacity:0}28%{opacity:.65}100%{transform:translate(23px,-16px) scale(1.5);opacity:0}}@media (max-width:420px){.login-panel{padding:1.65rem}.login-codepen-style{padding:1rem}}.pdf-control-working svg{animation:pdf-control-spin .9s linear infinite}@keyframes pdf-control-spin{to{transform:rotate(360deg)}}

/* Public-dashboard navigation and the admin-only prompt. */
.tracking-brand{display:inline-block!important;color:transparent!important;background:linear-gradient(100deg,#d45cff 0%,#8b5cf6 44%,#36a9ff 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-size:1.08rem;font-weight:900;letter-spacing:.045em;line-height:1.1;white-space:nowrap;text-shadow:0 1px 10px rgba(108,92,246,.22)}.main-nav-link{font-size:1.14rem;font-weight:800;letter-spacing:.015em}.tracking-login-brand{color:#a8da61;font-size:1.05rem;letter-spacing:.075em}.admin-required-modal .modal-dialog{max-width:350px;margin:1rem auto}.admin-required-modal .modal-content{border:2px solid rgba(255,255,255,.42)!important;border-radius:.8rem;background:linear-gradient(135deg,#e90404,#b80707)!important}.admin-required-modal .modal-header{padding:.65rem .75rem 0}.admin-required-modal .modal-body{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem 1.25rem 1.35rem!important}.admin-required-icon{display:grid;place-items:center;width:2.35rem;height:2.35rem;margin-bottom:.55rem;border:2px solid rgba(255,255,255,.9);border-radius:50%;font-size:1.4rem;font-weight:900;line-height:1}.admin-required-title{font-size:1.22rem;font-weight:900;letter-spacing:.07em;line-height:1}.admin-required-copy{max-width:17rem;font-size:.93rem;font-weight:800;line-height:1.3}@media(max-width:991.98px){.main-nav-link{font-size:1.05rem}.tracking-brand{margin:.25rem 0;font-size:.92rem;white-space:normal}.navbar-nav{padding:.5rem 0}}
