:root{--teal:#0a625b;--teal2:#168f86;--cyan:#00f3ef;--ink:#0a3035;--muted:#64777a;--line:#dbe7e7;--paper:#f4f8f8;--nav:320px;--top:74px}
*{box-sizing:border-box}
html,body{min-height:100%;margin:0}
body{font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper)}
a{color:var(--teal)}
.topbar{position:fixed;z-index:1040;inset:0 0 auto 0;height:var(--top);display:grid;grid-template-columns:var(--nav) minmax(0,1fr) auto;align-items:center;color:#fff;background:linear-gradient(100deg,#08645c,#1b968c);box-shadow:0 4px 20px rgba(0,53,50,.18)}
.brand{height:100%;display:flex;align-items:center;gap:14px;padding:0 24px;color:#fff;text-decoration:none;background:rgba(0,44,42,.22)}
.brand-mark{width:46px;height:46px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:14px;font-size:1.25rem;font-weight:800;background:#075b55}
.brand-copy strong,.brand-copy small{display:block}.brand-copy strong{font-size:1.05rem}.brand-copy small{opacity:.86}
.topbar-title{text-align:center;font-size:1.12rem;font-weight:800}.topbar-user{margin-right:20px;display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid rgba(255,255,255,.25);border-radius:16px;background:rgba(255,255,255,.1)}
.topbar-user-avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:rgba(255,255,255,.24);font-weight:800}.topbar-user-name{font-weight:700}.topbar-user .btn{color:#fff;border-color:rgba(255,255,255,.35);background:rgba(4,62,58,.35)}
.mobile-nav-toggle{display:none;border:0;color:#fff;background:transparent}.mobile-nav-toggle svg,.nav-icon svg,.sidebar-collapse-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.app-shell{display:grid;grid-template-columns:var(--nav) minmax(0,1fr);min-height:100vh;padding-top:var(--top)}
.app-shell>aside{position:fixed;z-index:1030;top:var(--top);bottom:0;left:0;width:var(--nav);overflow-y:auto;padding:20px 16px;background:linear-gradient(180deg,#087a72,#07524e);transition:width .2s,transform .2s}
.sidebar-collapse-toggle{width:100%;min-height:54px;display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:16px;border:1px solid #073b38;border-radius:16px;color:#071f21;background:linear-gradient(#8fc4c2,#559090);font-weight:800;box-shadow:0 5px 12px rgba(0,0,0,.2)}
.sidebar-label{padding:8px 12px;text-align:center;color:rgba(255,255,255,.72);font-size:.75rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
#bhSidebar>a{min-height:64px;display:flex;align-items:center;justify-content:center;gap:12px;margin:9px 0;padding:12px 48px;position:relative;border:1px solid #082e2e;border-radius:16px;color:#071f21;text-align:center;text-decoration:none;font-size:1.02rem;font-weight:800;background:linear-gradient(#79b4b2,#4b8585);box-shadow:0 4px 12px rgba(0,0,0,.22)}
#bhSidebar>a .nav-icon{position:absolute;left:20px;display:grid;place-items:center}
#bhSidebar>a:hover,#bhSidebar>a.active{color:var(--cyan);border-color:var(--cyan);background:linear-gradient(#24494a,#163637);box-shadow:0 0 10px rgba(0,243,239,.9),0 0 24px rgba(0,243,239,.35)}
.sidebar-footer{margin-top:28px;padding:16px;color:rgba(255,255,255,.7);text-align:center;font-size:.8rem}.sidebar-footer strong{display:block;color:#fff;margin-bottom:4px}
.app-shell>main{grid-column:2;min-width:0;width:auto;max-width:none;padding:32px clamp(22px,3vw,52px) 60px}
.page-title{margin-bottom:24px;border-bottom:1px solid var(--line)}.page-title h1{margin:0 0 16px;font-size:clamp(1.8rem,3vw,2.5rem)}
.card{border:1px solid #e0e9e9;border-radius:18px;box-shadow:0 10px 28px rgba(17,58,60,.07)}
.card-header{border:0;border-radius:18px 18px 0 0!important;background:#fff}.btn{border-radius:12px;font-weight:700}.btn-primary{border-color:var(--teal);background:var(--teal)}.btn-primary:hover{border-color:#074d48;background:#074d48}
.form-control,.form-select{min-height:45px;border-color:#c8dcdc;border-radius:12px}.form-control:focus,.form-select:focus{border-color:var(--teal2);box-shadow:0 0 0 .2rem rgba(22,143,134,.14)}
.prod-ribbon,.test-ribbon{padding:16px 20px;border:1px solid #9bd6cf;border-left:5px solid #149c8f;border-radius:14px;background:#e8f7f4;color:#0b5e57}.test-ribbon{border-color:#e7bd70;border-left-color:#d7961e;background:#fff5df;color:#674714}
.welcome-card{margin:0 0 24px;padding:28px 30px;border-radius:20px;color:#fff;background:linear-gradient(120deg,#075d56,#13958a);box-shadow:0 14px 32px rgba(7,93,86,.2)}.welcome-eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;opacity:.8}.welcome-card h2{margin:7px 0 5px;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:800}.welcome-card p{margin:0;color:rgba(255,255,255,.86)}
.vehicle-picker-card .list-group-item{padding:18px 20px}.vehicle-picker-card .list-group-item strong,.vehicle-picker-card .list-group-item small,.vehicle-counts,.vehicle-ledger-table td small{display:block}.vehicle-picker-card .list-group-item.active{border-color:var(--teal2);background:var(--teal2)}.vehicle-counts{margin-top:8px;font-size:.76rem;font-weight:700}.vehicle-kicker{color:var(--teal);font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.vehicle-tabs{padding:8px;border:1px solid var(--line);border-radius:16px;background:#f7fbfb}.vehicle-tabs .nav-link{border-radius:12px;color:#315d60;font-weight:800}.vehicle-tabs .nav-link.active{background:var(--teal)}.vehicle-ledger-table td small{margin-top:4px;color:var(--muted)}.vehicle-inline-editor{min-width:600px;margin-top:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#f8fbfb}
.login-page{display:grid;grid-template-rows:auto 1fr auto;background:#eef5f4}.login-topbar{min-height:74px;display:flex;align-items:center;justify-content:space-between;padding:10px 28px;color:#fff;background:linear-gradient(100deg,#08645c,#1b968c)}.login-topbar .brand{padding:0;background:transparent}.topbar-note{font-size:.9rem;opacity:.9}.login-shell{width:min(1120px,calc(100% - 40px));min-height:620px;display:grid;grid-template-columns:1.08fr .92fr;margin:42px auto;border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 24px 70px rgba(9,68,64,.18)}
.login-visual{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:64px;color:#fff;background:linear-gradient(145deg,rgba(3,72,67,.96),rgba(17,151,140,.92)),url('logo.png') center/55% no-repeat}.portal-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:rgba(255,255,255,.1);font-size:.78rem;font-weight:800;text-transform:uppercase}.portal-chip span{width:8px;height:8px;border-radius:50%;background:var(--cyan)}.login-visual h1{margin:28px 0 18px;font-size:clamp(2.5rem,5vw,4.6rem);font-weight:900;line-height:.96}.login-visual p{max-width:520px;font-size:1.05rem;line-height:1.7;color:rgba(255,255,255,.86)}.visual-footer{display:flex;flex-wrap:wrap;gap:18px;font-size:.82rem}.visual-footer b{color:var(--cyan)}
.login-panel{display:flex;align-items:center;padding:clamp(34px,5vw,68px)}.login-panel-inner{width:100%;max-width:430px;margin:auto}.login-brand-logo{display:block;max-width:180px;max-height:80px;margin-bottom:28px}.login-panel h2{font-size:2rem;font-weight:900}.login-panel .intro{margin-bottom:28px;color:var(--muted)}.login-panel .form-control{min-height:54px}.login-btn{width:100%;min-height:54px}.login-footer{padding:18px;text-align:center;color:var(--muted);font-size:.82rem}
body.bh-sidebar-collapsed{--nav:92px}body.bh-sidebar-collapsed .sidebar-collapse-label,body.bh-sidebar-collapsed #bhSidebar>a>span:not(.nav-icon),body.bh-sidebar-collapsed .sidebar-label,body.bh-sidebar-collapsed .sidebar-footer{display:none}body.bh-sidebar-collapsed #bhSidebar>a{padding:0}body.bh-sidebar-collapsed #bhSidebar>a .nav-icon{position:static}
.nav-shade{display:none}
@media(max-width:991.98px){:root{--top:64px}.topbar{grid-template-columns:auto minmax(0,1fr) auto;padding:0 10px}.mobile-nav-toggle{display:grid;place-items:center}.topbar .brand{padding:0 8px}.topbar .brand-copy small,.topbar-title,.topbar-user-name,.topbar-user-avatar{display:none}.topbar-user{margin:0;padding:0;border:0;background:transparent}.app-shell{display:block}.app-shell>aside{width:min(340px,88vw);transform:translateX(-105%)}body.nav-open .app-shell>aside{transform:translateX(0)}.app-shell>main{width:100%;padding:24px 16px 44px}.nav-shade{position:fixed;z-index:1020;inset:var(--top) 0 0;background:rgba(0,25,24,.5)}body.nav-open .nav-shade{display:block}.login-shell{grid-template-columns:1fr;width:min(560px,calc(100% - 28px));min-height:auto}.login-visual{display:none}.login-panel{padding:38px 28px}.topbar-note{display:none}body.bh-sidebar-collapsed{--nav:320px}body.bh-sidebar-collapsed .sidebar-collapse-label,body.bh-sidebar-collapsed #bhSidebar>a>span:not(.nav-icon),body.bh-sidebar-collapsed .sidebar-label,body.bh-sidebar-collapsed .sidebar-footer{display:initial}body.bh-sidebar-collapsed #bhSidebar>a{padding:12px 48px}body.bh-sidebar-collapsed #bhSidebar>a .nav-icon{position:absolute}}
