:root{--btp-blue:#0B4A91;--btp-blue-dark:#07366f;--btp-blue-deep:#052a57;--btp-yellow:#FFCA05;--btp-yellow-soft:#fff8d6;--bg:#f4f7fb;--ink:#17324d;--muted:#708397;--line:#e3ebf3;--good:#178a5b;--danger:#c33d49}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}.app-header{background:linear-gradient(135deg,var(--btp-blue-deep),var(--btp-blue) 70%);color:#fff;position:relative;overflow:hidden;border-bottom:5px solid var(--btp-yellow)}.app-header:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:rgba(255,255,255,.055);right:-160px;top:-230px}.brand{display:flex;align-items:center;gap:12px}.brand-logo-img{width:48px;height:48px;border-radius:13px;background:#fff;display:grid;place-items:center;padding:6px;box-shadow:0 8px 24px rgba(0,0,0,.13)}.brand-logo-img img{max-width:100%;max-height:100%;object-fit:contain}.glass{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:18px;backdrop-filter:blur(10px)}.panel{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 10px 30px rgba(8,58,93,.05)}.kpi{padding:18px;height:100%;position:relative;overflow:hidden}.kpi:after{content:"";position:absolute;right:-25px;bottom:-30px;width:80px;height:80px;border-radius:50%;background:rgba(255,202,5,.13)}.kpi-icon{width:44px;height:44px;border-radius:13px;background:#edf4fb;color:var(--btp-blue);display:grid;place-items:center;font-size:1.15rem}.kpi-value{font-size:1.62rem;font-weight:850;letter-spacing:-.03em}.kpi-label{font-size:.79rem;color:var(--muted)}.tiny{font-size:.74rem}.muted{color:var(--muted)}.section-title{font-weight:800;letter-spacing:-.015em}.chart{height:300px;position:relative}.chart.sm{height:260px}.metric-row{display:flex;justify-content:space-between;align-items:center;padding:.74rem 0;border-bottom:1px dashed var(--line)}.metric-row:last-child{border-bottom:0}.pill{background:#edf4fb;color:var(--btp-blue);border:1px solid #d8e5f2}.source-strip{border-left:4px solid var(--btp-yellow)}.mobile-nav{display:none}.footer-note{font-size:.76rem;color:var(--muted)}.btn-btp{background:var(--btp-blue);border-color:var(--btp-blue);color:#fff;font-weight:700}.btn-btp:hover,.btn-btp:focus{background:var(--btp-blue-dark);border-color:var(--btp-blue-dark);color:#fff}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.12em;color:var(--btp-blue)}a{color:var(--btp-blue)}
/* AUTH */.auth-body{min-height:100vh;background:#eef3f8}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,43%) 1fr}.auth-brand-panel{background:linear-gradient(155deg,var(--btp-blue-deep),var(--btp-blue));color:#fff;padding:7vw;display:flex;align-items:center;position:relative;overflow:hidden}.auth-brand-panel:after{content:"";position:absolute;width:420px;height:420px;border:70px solid rgba(255,202,5,.95);transform:rotate(30deg);right:-260px;bottom:-280px}.auth-logo{width:min(390px,82%);height:auto;background:#fff;border-radius:16px;padding:12px 16px;margin-bottom:3.5rem}.auth-eyebrow{display:block;color:var(--btp-yellow);font-size:.75rem;font-weight:800;letter-spacing:.14em;margin-bottom:1rem}.auth-brand-panel h1{font-weight:850;font-size:clamp(2.4rem,4vw,4.4rem);letter-spacing:-.045em;line-height:.96}.auth-brand-panel p{max-width:560px;opacity:.83;font-size:1.05rem;margin:1.4rem 0 2rem}.auth-feature{display:flex;gap:.8rem;align-items:center;margin:.75rem 0}.auth-feature i{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.12);display:grid;place-items:center;color:var(--btp-yellow)}.auth-form-panel{display:flex;align-items:center;justify-content:center;padding:2rem}.auth-card{width:min(480px,100%);background:#fff;padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--line);border-radius:26px;box-shadow:0 24px 70px rgba(7,54,111,.09)}.auth-card-wide{width:min(760px,100%)}.auth-card h2{font-weight:850;letter-spacing:-.03em}.auth-card .input-group-text{background:#f6f9fc;color:var(--btp-blue);border-right:0}.auth-card .input-group .form-control{border-left:0}.approval-note{background:var(--btp-yellow-soft);border:1px solid #f3df83;color:#735b00;border-radius:14px;padding:.85rem;font-size:.82rem}.auth-logo-mobile{width:230px;max-width:80%}
/* ADMIN */.admin-top{background:linear-gradient(135deg,var(--btp-blue-deep),var(--btp-blue));border-bottom:4px solid var(--btp-yellow)}.admin-logo{width:42px;height:42px;object-fit:contain;background:#fff;border-radius:10px;padding:5px}.admin-kpi{padding:1rem;display:flex;align-items:center;gap:1rem;height:100%}.admin-kpi>i{width:44px;height:44px;border-radius:12px;background:#edf4fb;color:var(--btp-blue);display:grid;place-items:center;font-size:1.2rem}.admin-kpi strong{font-size:1.35rem;display:block}.admin-kpi span{font-size:.75rem;color:var(--muted)}.admin-tabs{gap:.35rem}.admin-tabs .nav-link{color:var(--btp-blue);font-weight:700;border-radius:12px}.admin-tabs .nav-link.active{background:var(--btp-blue)}.admin-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);white-space:nowrap}.admin-table td{font-size:.86rem}.status-pending{background:#fff3cd;color:#7a5b00}.status-active,.status-success{background:#dff5e9;color:#11663f}.status-rejected,.status-failed{background:#fde5e8;color:#a12734}.status-suspended{background:#eceff3;color:#586677}.status-running{background:#e8f2ff;color:var(--btp-blue)}.admin-rule{display:flex;gap:.9rem;padding:1rem 0;border-bottom:1px dashed var(--line)}.admin-rule:last-child{border:0}.admin-rule i{color:var(--btp-blue);font-size:1.3rem}.admin-rule strong,.admin-rule span{display:block}.admin-rule span{font-size:.78rem;color:var(--muted);margin-top:.15rem}.data-group{border-top:1px solid var(--line);padding:1.4rem 0}.data-group h6{font-weight:800;color:var(--btp-blue)}.sticky-form-actions{position:sticky;bottom:0;background:rgba(255,255,255,.96);border-top:1px solid var(--line);padding:1rem 0;margin-top:1rem;display:flex;justify-content:flex-end;gap:.5rem;z-index:10;backdrop-filter:blur(8px)}
@media(max-width:991.98px){.auth-shell{grid-template-columns:1fr}.auth-brand-panel{display:none}.auth-form-panel{min-height:100vh}.auth-card{border-radius:22px}.auth-body{background:linear-gradient(180deg,#eaf1f8,#fff)}}
@media(max-width:767.98px){body{padding-bottom:86px}.app-header .subtitle{display:none}.chart{height:255px}.chart.sm{height:230px}.kpi{padding:15px}.kpi-value{font-size:1.38rem}.mobile-nav{display:flex;position:fixed;left:10px;right:10px;bottom:10px;z-index:1045;background:#fff;border:1px solid var(--line);box-shadow:0 14px 34px rgba(7,59,102,.18);border-radius:20px;padding:7px 5px;justify-content:space-around}.mobile-nav a{font-size:.67rem;text-decoration:none;color:var(--muted);text-align:center;min-width:65px}.mobile-nav i{display:block;font-size:1.2rem}.mobile-nav a.active{color:var(--btp-blue)}.admin-mobile-nav{display:flex}.admin-table{min-width:760px}.auth-form-panel{padding:1rem}.auth-card{padding:1.4rem}.sticky-form-actions{bottom:78px}.brand-logo-img{width:42px;height:42px}.app-header .fs-5{font-size:1rem!important}}

/* PWA network state */
.btp-network-badge{position:fixed;left:50%;bottom:88px;transform:translateX(-50%);z-index:2200;background:#17324d;color:#fff;border:1px solid rgba(255,255,255,.16);box-shadow:0 12px 34px rgba(7,59,102,.24);padding:10px 15px;border-radius:999px;font-size:.78rem;font-weight:700;white-space:nowrap}.btp-network-badge .dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#ffca05;margin-right:5px}.btp-network-badge.is-online{background:#18794e}.btp-network-badge.is-online .dot{background:#fff}@media(min-width:768px){.btp-network-badge{bottom:24px}}

/* =========================================================
   V5 Enterprise Admin Modal / Mobile UX
   ========================================================= */
.admin-main{padding-bottom:96px!important}.enterprise-modal{border:0;border-radius:22px;overflow:hidden;box-shadow:0 28px 80px rgba(8,50,87,.22)}.enterprise-modal .modal-header{padding:20px 22px;border-bottom:1px solid #e8eef5;background:linear-gradient(180deg,#fff,#fbfdff)}.enterprise-modal .modal-body{padding:22px;max-height:calc(100vh - 190px);overflow-y:auto;overscroll-behavior:contain}.enterprise-modal .modal-footer{padding:14px 22px;border-top:1px solid #e8eef5;background:#fff}.modal-eyebrow{display:block;color:#0b4a91;font-size:10px;letter-spacing:.13em;font-weight:800;margin-bottom:3px}.sticky-modal-footer{position:sticky;bottom:0;z-index:3}.user-profile-box{display:flex;flex-direction:column;padding:16px;border-radius:16px;background:#f3f8fc;border:1px solid #e2ebf3}.user-profile-box strong{font-size:16px;color:#123c61}.user-profile-box span{font-size:12px;color:#718497;margin-top:2px}.confirm-modal{max-width:500px;margin:auto}.confirm-icon{width:68px;height:68px;border-radius:22px;margin:auto;display:grid;place-items:center;font-size:28px}.confirm-icon.danger{background:#fff0f0;color:#dc3545}.admin-table .btn{white-space:nowrap}.admin-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px;scrollbar-width:none}.admin-tabs::-webkit-scrollbar{display:none}.admin-tabs .nav-link{white-space:nowrap}.modal .data-group{background:#f8fbfe;border:1px solid #e5edf5;border-radius:16px;padding:16px;margin-bottom:14px}.modal .data-group h6{color:#0b4a91;font-weight:800;margin-bottom:12px}.modal-backdrop{--bs-backdrop-opacity:.44}.btn-btp:disabled{opacity:.72;cursor:wait}
@media(max-width:575.98px){.enterprise-modal{border-radius:0;min-height:100%}.enterprise-modal .modal-header{padding:16px}.enterprise-modal .modal-body{padding:16px;max-height:none}.enterprise-modal .modal-footer{padding:12px 16px;gap:8px}.enterprise-modal .modal-footer .btn{min-height:44px;flex:1}.modal-fullscreen-sm-down .modal-content{height:100dvh}.modal-fullscreen-sm-down .modal-body{max-height:none;min-height:0;overflow-y:auto;padding-bottom:88px}.admin-kpi{min-height:102px}.admin-table{min-width:760px}.toast-container{left:10px!important;right:10px!important;width:auto!important;padding:0!important;top:10px!important}.toast{width:100%!important;max-width:none!important}.mobile-nav{padding-bottom:max(8px,env(safe-area-inset-bottom))}}
.chart-unavailable{height:100%;min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;border:1px dashed #cddbe8;border-radius:16px;background:#f8fbfe;color:#0b4a91}.chart-unavailable span{max-width:360px;color:#738597;font-size:12px;margin-top:6px;line-height:1.5}

/* =========================================================
   V7 TV / Laptop Executive Dashboard
   ========================================================= */
.min-w-0{min-width:0}.dashboard-screen{margin:0;background:#eef3f8;overflow:hidden;height:100dvh}.tv-header{height:78px;background:linear-gradient(135deg,var(--btp-blue-deep),var(--btp-blue) 72%);color:#fff;border-bottom:4px solid var(--btp-yellow);box-shadow:0 8px 24px rgba(5,42,87,.16);position:relative;z-index:1030}.tv-header-row{display:flex;align-items:center;gap:18px}.tv-brand-title{font-size:clamp(1rem,1.3vw,1.35rem);line-height:1.1}.tv-header .brand-logo-img{width:44px;height:44px;border-radius:12px;box-shadow:none}.tv-header-center{align-items:center;gap:9px;margin-left:auto;margin-right:8px;padding:8px 14px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.08);border-radius:14px;white-space:nowrap}.tv-live-dot{width:8px;height:8px;border-radius:50%;background:#58d68d;box-shadow:0 0 0 5px rgba(88,214,141,.12)}.is-offline-data .tv-live-dot{background:var(--btp-yellow)}.tv-year{width:92px;min-width:92px;border:0;font-weight:800;background:#fff;color:var(--btp-blue);height:42px}.tv-icon-btn{width:42px;height:42px;display:grid;place-items:center;padding:0;border:0}.account-button{height:42px;display:flex;align-items:center;gap:7px;max-width:230px;border:0}.account-name{max-width:145px}.account-menu{min-width:285px;border:0;border-radius:18px;padding:8px;box-shadow:0 18px 50px rgba(3,31,65,.18)!important}.account-menu .dropdown-item{border-radius:11px;padding:10px 12px;font-size:.88rem}.account-summary{display:flex;flex-direction:column;padding:10px 12px}.account-summary strong{color:var(--ink)}.account-summary span,.account-summary small{color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis}.tv-main{height:calc(100dvh - 78px);position:relative;padding:12px 16px 48px;max-width:1920px;margin:0 auto}.dashboard-carousel{height:100%;position:relative}.dashboard-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transform:translateX(28px);transition:opacity .55s ease,transform .55s ease;pointer-events:none;display:flex;flex-direction:column;gap:10px}.dashboard-slide.active{opacity:1;visibility:visible;transform:none;pointer-events:auto}.slide-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:48px}.slide-eyebrow{display:block;color:var(--btp-blue);font-size:.64rem;font-weight:900;letter-spacing:.15em}.slide-heading h1{font-size:clamp(1.18rem,1.5vw,1.65rem);font-weight:850;letter-spacing:-.03em;margin:1px 0 0}.muted-year{color:var(--muted);font-size:.75em}.slide-source{align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:7px 11px;color:var(--btp-blue)}.slide-source span{font-size:.75rem;font-weight:800}.slide-source small{font-size:.66rem;color:var(--muted);border-left:1px solid var(--line);padding-left:8px}.kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;min-height:86px}.tv-kpi{padding:11px 12px;display:flex;align-items:center;gap:10px;position:relative;overflow:hidden;min-width:0}.tv-kpi .kpi-icon{width:36px;height:36px;min-width:36px;border-radius:11px;font-size:1rem}.tv-kpi .kpi-value{font-size:clamp(1.18rem,1.65vw,1.7rem);line-height:1;font-weight:900;margin:0}.tv-kpi .kpi-label{font-size:.69rem;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-unit{position:absolute;right:9px;top:8px;font-size:.52rem;font-weight:900;color:#91a1b1;letter-spacing:.08em}.slide1-grid{flex:1;min-height:0;display:grid;grid-template-columns:2fr 1fr;grid-template-rows:minmax(0,.92fr) minmax(0,1fr);gap:10px;grid-template-areas:'vessel mix' 'move move'}.vessel-main{grid-area:vessel}.vessel-mix{grid-area:mix}.movement-main{grid-area:move}.tv-panel{padding:10px 13px;min-height:0;overflow:hidden;display:flex;flex-direction:column;border-radius:17px}.tv-panel-head{display:flex;justify-content:space-between;align-items:start;gap:8px;min-height:35px}.tv-panel-head h2{font-size:clamp(.78rem,.95vw,1rem);font-weight:850;margin:0;color:#193955}.tv-panel-head p{font-size:.61rem;color:var(--muted);margin:2px 0 0}.panel-badge{font-size:.52rem;font-weight:900;color:var(--btp-blue);background:#edf4fb;border:1px solid #dce9f4;border-radius:999px;padding:5px 7px;white-space:nowrap}.tv-chart{flex:1;min-height:0;position:relative}.slide2-grid{flex:1;min-height:0;display:grid;gap:9px;grid-template-columns:1.25fr .95fr .9fr;grid-template-rows:repeat(3,minmax(0,1fr));grid-template-areas:'full full status' 'size teus snapshot' 'trade trade arrival'}.area-full-empty{grid-area:full}.area-status{grid-area:status}.area-size{grid-area:size}.area-teus{grid-area:teus}.area-snapshot{grid-area:snapshot}.area-trade{grid-area:trade}.area-arrival{grid-area:arrival}.tv-snapshot{display:grid;grid-template-columns:1fr 1fr;column-gap:10px;overflow:auto;min-height:0}.tv-snapshot .metric-row{padding:.22rem 0;font-size:.59rem}.tv-snapshot .metric-row strong{font-size:.62rem;color:#123c61}.slider-controller{position:absolute;left:50%;bottom:7px;transform:translateX(-50%);z-index:1020;display:flex;align-items:center;gap:7px;background:rgba(5,42,87,.92);border:1px solid rgba(255,255,255,.13);box-shadow:0 9px 28px rgba(5,42,87,.2);border-radius:999px;padding:5px 7px;color:#fff;backdrop-filter:blur(10px)}.slider-btn{border:0;background:transparent;color:#fff;min-width:31px;height:28px;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:5px;font-size:.67rem;font-weight:800;padding:0 8px}.slider-btn:hover{background:rgba(255,255,255,.12)}.slider-btn.paused{color:var(--btp-yellow)}.slider-dots{display:flex;gap:5px;padding:0 3px}.slide-dot{width:8px;height:8px;border-radius:999px;border:0;background:rgba(255,255,255,.35);padding:0;transition:.3s}.slide-dot.active{width:23px;background:var(--btp-yellow)}.account-avatar{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);background:#f6f9fc;border-radius:15px;margin-bottom:18px}.account-avatar>i{font-size:2.2rem;color:var(--btp-blue)}.account-avatar div{display:flex;flex-direction:column}.account-avatar span{font-size:.72rem;color:var(--muted);font-weight:800;letter-spacing:.08em}.is-fullscreen .tv-header{height:72px}.is-fullscreen .tv-main{height:calc(100dvh - 72px)}

@media(min-width:1600px){.tv-main{padding:16px 24px 54px}.tv-header{height:86px}.tv-main{height:calc(100dvh - 86px)}.kpi-grid{min-height:100px}.tv-kpi{padding:15px}.tv-kpi .kpi-icon{width:44px;height:44px;min-width:44px}.tv-panel{padding:14px 17px}.tv-panel-head{min-height:43px}.tv-panel-head h2{font-size:1.02rem}.tv-panel-head p{font-size:.72rem}.tv-snapshot .metric-row{font-size:.7rem;padding:.32rem 0}.tv-snapshot .metric-row strong{font-size:.74rem}}
@media(max-width:1199.98px) and (min-width:768px){.tv-main{padding-left:10px;padding-right:10px}.kpi-grid{gap:7px}.tv-kpi{padding:9px 8px;gap:7px}.tv-kpi .kpi-icon{width:30px;height:30px;min-width:30px}.tv-kpi .kpi-label{font-size:.6rem}.slide1-grid,.slide2-grid{gap:7px}.tv-panel{padding:8px 10px}}
@media(max-height:720px) and (min-width:768px){.tv-header{height:68px}.tv-main{height:calc(100dvh - 68px);padding-top:7px}.slide-heading{min-height:38px}.kpi-grid{min-height:72px}.tv-kpi .kpi-icon{width:30px;height:30px;min-width:30px}.tv-panel-head{min-height:28px}.tv-panel-head p{display:none}.slider-controller{bottom:5px}}
@media(max-width:767.98px){body.dashboard-screen{padding-bottom:78px;height:auto;min-height:100dvh;overflow:auto}.tv-header{height:70px;position:sticky;top:0}.tv-main{height:auto;min-height:calc(100dvh - 70px);padding:12px 10px 64px}.tv-header-row{gap:8px}.tv-header .brand-logo-img{width:39px;height:39px}.tv-brand-title{font-size:.9rem}.tv-year{width:72px;min-width:72px;height:38px;font-size:.85rem}.tv-icon-btn{display:none}.account-button{width:38px;height:38px;padding:0;justify-content:center}.account-button:after{display:none}.dashboard-carousel{height:auto}.dashboard-slide{position:relative;inset:auto;display:none;opacity:1;visibility:visible;transform:none;pointer-events:auto}.dashboard-slide.active{display:flex}.slide-heading{min-height:50px}.slide-heading h1{font-size:1.15rem}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));min-height:0}.tv-kpi{min-height:82px}.slide1-grid,.slide2-grid{display:flex;flex-direction:column}.tv-panel{min-height:285px}.vessel-mix,.area-status{min-height:260px}.area-snapshot{min-height:360px}.tv-chart{height:220px;flex:none}.tv-snapshot{font-size:.75rem}.tv-snapshot .metric-row{font-size:.72rem;padding:.48rem 0}.tv-snapshot .metric-row strong{font-size:.76rem}.slider-controller{display:none}.account-menu{position:fixed!important;left:12px!important;right:12px!important;top:68px!important;transform:none!important;width:auto!important;min-width:0}.enterprise-modal .modal-body{max-height:calc(100dvh - 180px)}.mobile-nav{display:flex}.slide-source{display:none!important}}

/* =========================================================
   V8 AUTH SECURITY / CAPTCHA / PASSWORD UI
   ========================================================= */
.auth-step{display:flex;align-items:center;width:96px;margin:0 0 18px}.step-dot{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#e9eef5;color:#718096;font-size:.78rem;font-weight:800}.step-dot.active{background:#0B4A91;color:#fff;box-shadow:0 0 0 5px rgba(11,74,145,.09)}.step-line{height:3px;flex:1;background:#e9eef5}.step-line.active{background:#0B4A91}.captcha-wrap{display:flex;align-items:center;gap:8px}.captcha-wrap img{display:block;max-width:100%;height:58px;border:1px solid #dbe6f2;border-radius:12px;background:#eef5fc;user-select:none}.captcha-refresh{height:58px;min-width:52px;border:1px solid #dbe6f2;border-radius:12px;color:#0B4A91}.captcha-spin{animation:captchaSpin .45s ease}.captcha-register-row{display:flex;align-items:center;gap:14px}.password-toggle{min-width:52px;border-color:#ced4da;color:#516174;background:#fff}.password-toggle:hover,.password-toggle:focus{background:#f5f8fb;color:#0B4A91;border-color:#9fb6cf}.verified-email{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:14px;background:#eef8f3;border:1px solid #d8eee2}.verified-email>i{font-size:1.35rem;color:#198754}.verified-email div{display:flex;flex-direction:column;min-width:0;flex:1}.verified-email small{color:#667085}.verified-email strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#16324f}.verified-email a{font-size:.82rem;font-weight:700;text-decoration:none}.security-note{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:#f7f9fc;color:#5d6b7a;font-size:.82rem}.security-note i{color:#0B4A91;margin-top:1px}@keyframes captchaSpin{to{transform:rotate(360deg)}}

#btpSecurityOverlay{position:fixed;inset:0;z-index:2147483647;background:rgba(5,24,46,.96);display:grid;place-items:center;padding:24px;backdrop-filter:blur(12px)}#btpSecurityOverlay[hidden]{display:none!important}.security-lock-card{width:min(520px,100%);background:#fff;border-radius:22px;padding:34px;text-align:center;box-shadow:0 30px 90px rgba(0,0,0,.35)}.security-lock-icon{width:68px;height:68px;border-radius:20px;background:#eef5fc;color:#0B4A91;display:grid;place-items:center;margin:0 auto 18px;font-size:2rem}.security-lock-card h2{font-size:1.35rem;color:#15324f}.security-lock-card p{color:#5d6b7a;margin:10px 0}.security-lock-card small{color:#8795a5}.btp-devtools-lock body>*:not(#btpSecurityOverlay){pointer-events:none!important;user-select:none!important}

@media(max-width:767.98px){.captcha-register-row{align-items:stretch;flex-direction:column}.captcha-register-row>div{width:100%}.captcha-wrap img{flex:1;object-fit:cover}.auth-card{padding-bottom:max(24px,env(safe-area-inset-bottom))}.password-toggle{min-width:48px}}

/* =========================================================
   AUTH BRAND PANEL
   ========================================================= */

.auth-brand-panel {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 100vh;
}

.auth-brand-content {
    width: 100%;
}

/* =========================================================
   AUTH BRAND FOOTER
   ========================================================= */

.auth-brand-footer {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 40px;
    padding-top: 20px;

    font-size: 12px;
    font-weight: 500;
    letter-spacing: .02em;

    color: rgba(255,255,255,.72);

    border-top: 1px solid rgba(255,255,255,.14);
}

.auth-brand-footer > span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.auth-brand-footer i {
    font-size: 14px;
    color: #FFCA05;
}

.auth-brand-dot {
    width: 4px;
    height: 4px;
    padding: 0 !important;
    border-radius: 50%;
    background: rgba(255,255,255,.45);
}
/* =========================================================
   V9 • GLOBAL DASHBOARD DATA SOURCE
   ========================================================= */
.dashboard-source-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.source-option{position:relative;display:flex;align-items:flex-start;gap:14px;padding:18px;border:1px solid #dbe5ef;border-radius:16px;background:#fff;cursor:pointer;transition:.2s ease}
.source-option:hover{border-color:#9bb9d7;box-shadow:0 8px 24px rgba(11,74,145,.08)}
.source-option.active{border-color:#0B4A91;background:#f5f9fd;box-shadow:0 0 0 2px rgba(11,74,145,.08)}
.source-option input{position:absolute;opacity:0;pointer-events:none}
.source-option-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;background:#edf4fb;color:#0B4A91;font-size:20px}
.source-option.active .source-option-icon{background:#0B4A91;color:#fff}
.source-option strong{display:block;color:#17324d;margin-bottom:4px}
.source-option small{display:block;color:#6d7f91;line-height:1.55}
@media(max-width:767.98px){.dashboard-source-options{grid-template-columns:1fr}.source-option{padding:15px}.admin-mobile-nav a{min-width:0}}

/* =========================================================
   V11 • Executive Operational Analytics
   Empty inventory is a live CY stock metric, intentionally
   separated from historical Empty Movement throughput.
   ========================================================= */
.yard-snapshot{display:flex;flex-direction:column;gap:6px;margin:2px 0 7px;padding:7px 8px;border:1px solid #dce9f4;border-radius:12px;background:linear-gradient(135deg,#f7fbff,#eef5fb)}
.yard-primary{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.yard-primary>div{display:flex;flex-direction:column}.yard-primary span{font-size:.57rem;font-weight:800;color:#58738c;text-transform:uppercase;letter-spacing:.06em}.yard-primary strong{font-size:1.1rem;line-height:1.05;color:#0b4a91;font-weight:900}.yard-primary strong small{font-size:.5rem;color:#7b91a5;letter-spacing:.08em}.yard-primary em{font-size:.52rem;font-style:normal;font-weight:800;color:#0b4a91;background:#fff;border:1px solid #dce9f4;border-radius:999px;padding:3px 6px;white-space:nowrap}.yard-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.yard-breakdown>span{display:grid;grid-template-columns:auto 1fr;column-gap:4px;align-items:center;padding:4px 5px;background:#fff;border:1px solid #e4edf5;border-radius:8px;font-size:.5rem;color:#687f93}.yard-breakdown strong{justify-self:end;color:#183e60;font-size:.58rem}.yard-breakdown small{grid-column:1/-1;font-size:.46rem;color:#8195a7}.yard-sync{display:flex;align-items:center;gap:5px;font-size:.48rem;color:#73899b}.yard-sync i{color:#31a36c}.yard-unavailable{display:flex;align-items:center;gap:8px;padding:4px}.yard-unavailable>i{font-size:1.1rem;color:#d89215}.yard-unavailable span{display:flex;flex-direction:column}.yard-unavailable strong{font-size:.58rem;color:#5b6f81}.yard-unavailable small{font-size:.49rem;color:#8b9aa8}.area-snapshot .tv-snapshot{border-top:1px solid #e6edf4;padding-top:3px}.area-snapshot .metric-row strong{white-space:nowrap}
@media(min-width:1600px){.yard-snapshot{padding:9px 10px;gap:8px}.yard-primary strong{font-size:1.3rem}.yard-primary span,.yard-primary em{font-size:.61rem}.yard-breakdown>span{font-size:.56rem}.yard-breakdown strong{font-size:.65rem}.yard-breakdown small,.yard-sync{font-size:.52rem}}
@media(max-width:767.98px){.yard-snapshot{padding:12px;margin:4px 0 10px}.yard-primary strong{font-size:1.6rem}.yard-primary span{font-size:.68rem}.yard-primary em{font-size:.6rem}.yard-breakdown{gap:7px}.yard-breakdown>span{padding:8px;font-size:.62rem}.yard-breakdown strong{font-size:.75rem}.yard-breakdown small,.yard-sync{font-size:.58rem}.area-snapshot{min-height:430px}}

/* V13 Enterprise Audit Trail */
.audit-table{min-width:1080px}.audit-table td{vertical-align:top}.audit-table td:nth-child(3){min-width:220px}.audit-table td:nth-child(4){min-width:230px}.audit-table td:nth-child(5){min-width:300px}
@media(max-width:767.98px){.audit-table{font-size:.82rem}}

/* =========================================================
   V14 • Enterprise Admin UX / Audit Activity Stream
   ========================================================= */
.audit-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.audit-kpi-card{padding:18px;display:flex;align-items:center;gap:14px;min-height:104px}
.audit-kpi-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:#eef5fb;color:#0b4a91;font-size:1.1rem;flex:0 0 auto}
.audit-kpi-card strong{display:block;font-size:1.45rem;line-height:1;color:#0c3155}.audit-kpi-card span:not(.audit-kpi-icon){display:block;font-weight:800;color:#274967;margin-top:6px}.audit-kpi-card small{display:block;color:#8494a4;margin-top:2px}
.audit-enterprise{padding:22px;overflow:hidden}.audit-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}.audit-live{display:inline-flex;align-items:center;gap:7px;font-size:.72rem;font-weight:800;color:#35715a;background:#edf9f3;border:1px solid #d3efdf;padding:7px 10px;border-radius:999px;white-space:nowrap}.audit-live i{width:7px;height:7px;border-radius:50%;background:#36b876;box-shadow:0 0 0 4px rgba(54,184,118,.12)}
.audit-toolbar{display:grid;grid-template-columns:minmax(280px,1.8fr) minmax(145px,.7fr) minmax(145px,.75fr) minmax(145px,.75fr) minmax(130px,.65fr) 44px;gap:9px;padding:12px;border:1px solid #e2eaf2;background:#f8fbfd;border-radius:15px}.audit-search-wrap{position:relative}.audit-search-wrap>i{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#7890a5;z-index:2}.audit-search-wrap .form-control{padding-left:38px;padding-right:38px}.audit-search-wrap .spinner-border{position:absolute;right:13px;top:14px;color:#0b4a91}.audit-filter-note{font-size:.7rem;color:#7890a5;padding:8px 3px 12px}.audit-filter-note i{color:#e6a800;margin-right:5px}
.audit-list{border-top:1px solid #e8eef4}.audit-event{display:grid;grid-template-columns:155px minmax(180px,.9fr) minmax(270px,1.35fr) minmax(220px,1fr) 42px;gap:18px;align-items:center;padding:15px 8px;border-bottom:1px solid #edf1f5;transition:.18s ease;cursor:pointer}.audit-event:hover{background:#f8fbfe}.audit-time strong{display:block;color:#173b5d;font-size:.82rem}.audit-time span{display:block;color:#8a9aaa;font-size:.69rem;margin-top:3px}.audit-user strong,.audit-action strong{display:block;color:#173b5d;font-size:.84rem}.audit-user span,.audit-action span,.audit-context span{display:block;color:#7c8fa0;font-size:.71rem;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.audit-action-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem!important;color:#9aa8b5!important}.audit-context strong{font-size:.75rem;color:#3d5d78;font-weight:700}.audit-open{width:34px;height:34px;border:0;border-radius:10px;background:#f0f5fa;color:#0b4a91}.audit-status{display:inline-flex!important;width:max-content;padding:4px 8px;border-radius:999px;font-size:.62rem!important;font-weight:900!important;letter-spacing:.03em}.audit-status.success{background:#e9f8f0;color:#16824c}.audit-status.failed{background:#fff0f0;color:#c13d3d}.audit-status.denied{background:#fff3e6;color:#b76300}.audit-status.info{background:#edf4ff;color:#2167ad}
.audit-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:16px}.audit-empty{text-align:center;padding:55px 20px;color:#8193a4}.audit-empty i{display:block;font-size:2rem;color:#b4c2cf;margin-bottom:8px}.audit-empty strong,.audit-empty span{display:block}.audit-empty strong{color:#45627c}.audit-empty span{font-size:.78rem;margin-top:4px}
.audit-skeleton>div{display:grid;grid-template-columns:155px 1fr 1.4fr 1fr;gap:18px;padding:18px 8px;border-bottom:1px solid #edf1f5}.audit-skeleton span{height:14px;border-radius:7px;background:linear-gradient(90deg,#eef2f6,#f8fafc,#eef2f6);background-size:200% 100%;animation:auditShimmer 1.2s infinite}@keyframes auditShimmer{to{background-position:-200% 0}}
.audit-drawer{width:min(520px,100vw)!important}.audit-drawer .offcanvas-header{border-bottom:1px solid #e6edf4;padding:22px}.audit-drawer .offcanvas-body{padding:22px}.audit-detail-hero{padding:16px;border-radius:16px;background:#f5f9fc;border:1px solid #e1eaf2;margin-bottom:18px}.audit-detail-hero h5{margin:7px 0 3px;color:#123b60}.audit-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.audit-detail-item{padding:12px;border:1px solid #e5edf4;border-radius:12px}.audit-detail-item span{display:block;font-size:.64rem;text-transform:uppercase;letter-spacing:.05em;color:#8a9aa9;font-weight:800}.audit-detail-item strong{display:block;margin-top:4px;font-size:.8rem;color:#294b68;word-break:break-word}.audit-meta{margin-top:18px}.audit-meta h6{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#6d8295}.audit-meta-row{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px dashed #e4ebf1;font-size:.76rem}.audit-meta-row span{color:#8191a0}.audit-meta-row strong{text-align:right;color:#38546d;word-break:break-word}
.enterprise-table-search{position:relative;max-width:360px;margin:0 0 12px auto}.enterprise-table-search i{position:absolute;left:12px;top:10px;color:#8395a6}.enterprise-table-search input{padding-left:36px}.enterprise-search-empty td{text-align:center!important;padding:30px!important;color:#8192a1!important}
@media(max-width:1199.98px){.audit-kpi-grid{grid-template-columns:repeat(2,1fr)}.audit-toolbar{grid-template-columns:1.5fr 1fr 1fr}.audit-event{grid-template-columns:135px 1fr 1.3fr 36px}.audit-context{display:none}}
@media(max-width:767.98px){.audit-kpi-grid{gap:9px}.audit-kpi-card{padding:13px;min-height:90px}.audit-kpi-icon{width:38px;height:38px}.audit-kpi-card strong{font-size:1.15rem}.audit-kpi-card span:not(.audit-kpi-icon){font-size:.72rem}.audit-kpi-card small{display:none}.audit-enterprise{padding:14px}.audit-heading{flex-direction:column}.audit-toolbar{grid-template-columns:1fr 1fr}.audit-search-wrap{grid-column:1/-1}.audit-toolbar #auditPerPage{grid-column:1/2}.audit-event{grid-template-columns:105px minmax(0,1fr) 34px;gap:10px;padding:13px 3px}.audit-user{display:none}.audit-action strong{font-size:.78rem}.audit-time strong{font-size:.72rem}.audit-footer{flex-direction:column;align-items:stretch}.audit-footer nav{overflow:auto}.audit-detail-grid{grid-template-columns:1fr}.enterprise-table-search{max-width:none;margin:0 0 12px}}

/* =========================================================
   V14.1 • Audit Visual Hierarchy Correction
   ========================================================= */
#adminTabs{margin-bottom:18px!important}
#adminTabContent{margin-top:0!important}
#adminTabContent>.tab-pane{padding-top:0!important}
#audit{margin-top:0!important;padding-top:0!important}
#audit .audit-kpi-grid{max-width:1080px;margin:0 auto 14px!important;gap:12px}
#audit .audit-kpi-card{min-height:88px;padding:14px 16px;border-radius:16px;box-shadow:0 8px 22px rgba(12,49,85,.055)}
#audit .audit-kpi-icon{width:40px;height:40px;border-radius:12px}
#audit .audit-kpi-card strong{font-size:1.25rem}
#audit .audit-kpi-card span:not(.audit-kpi-icon){font-size:.76rem;margin-top:4px}
#audit .audit-kpi-card small{font-size:.65rem}
#audit .audit-enterprise{max-width:1320px;margin:0 auto;padding:20px 22px 12px;border-radius:18px;box-shadow:0 10px 28px rgba(12,49,85,.055)}
#audit .audit-heading{margin-bottom:14px}
#audit .audit-toolbar{padding:10px;border-radius:13px}
#audit .audit-filter-note{padding:7px 3px 9px}
#audit .audit-event{position:relative;grid-template-columns:130px minmax(170px,.82fr) minmax(260px,1.25fr) minmax(235px,1fr) 38px;gap:16px;padding:13px 7px 13px 18px}
#audit .audit-event:before{content:"";position:absolute;left:3px;top:18px;width:7px;height:7px;border-radius:50%;background:#8da3b6;box-shadow:0 0 0 4px #eef4f8}
#audit .audit-event:has(.audit-status.success):before{background:#2fac72}
#audit .audit-event:has(.audit-status.failed):before{background:#d55252}
#audit .audit-event:has(.audit-status.denied):before{background:#d9841d}
#audit .audit-event:has(.audit-status.info):before{background:#4386c5}
#audit .audit-event:hover{background:#f7fafc;border-radius:12px}
#audit .audit-time strong{font-size:.76rem}
#audit .audit-user strong,#audit .audit-action strong{font-size:.79rem}
#audit .audit-context strong{font-size:.72rem}
#audit .audit-action-code{font-size:.58rem!important}
#audit .audit-open{width:32px;height:32px}
#audit .audit-footer{padding:12px 4px 2px}
.audit-category{display:inline-flex!important;width:max-content;margin-top:5px!important;padding:3px 7px;border-radius:6px;background:#f0f4f8;color:#597187!important;font-size:.59rem!important;font-weight:800;letter-spacing:.035em;text-transform:uppercase}
.audit-legacy{color:#9aa8b5!important;font-style:italic}
@media(min-width:1400px){
  .admin-shell,.admin-main,.admin-container{max-width:1320px!important;margin-left:auto!important;margin-right:auto!important}
}
@media(max-width:1199.98px){
 #audit .audit-event{grid-template-columns:120px 1fr 1.25fr 36px}
}
@media(max-width:767.98px){
 #audit .audit-kpi-grid{grid-template-columns:1fr 1fr}
 #audit .audit-enterprise{padding:14px}
 #audit .audit-event{grid-template-columns:95px minmax(0,1fr) 32px;padding-left:16px}
}

/* =========================================================
   V15 • Slide restructuring + Empty Container Intelligence
   ========================================================= */
.slide1-grid{
  grid-template-columns:1.25fr .72fr .95fr;
  grid-template-rows:minmax(0,.9fr) minmax(0,1fr);
  grid-template-areas:
    'vessel vessel mix'
    'move move arrival';
}
.arrival-main{grid-area:arrival}
.slide2-grid{
  grid-template-columns:1.15fr .9fr .95fr;
  grid-template-rows:repeat(3,minmax(0,1fr));
  grid-template-areas:
    'full full status'
    'size teus snapshot'
    'trade trade emptyflow';
}
.area-empty-flow{grid-area:emptyflow}

.empty-intel-fab{
  position:fixed;right:12px;top:50%;transform:translateY(-50%);
  z-index:1060;border:1px solid rgba(255,255,255,.24);background:#073b66;color:#fff;
  border-radius:16px 0 0 16px;padding:9px 10px;display:flex;align-items:center;gap:9px;
  box-shadow:0 10px 30px rgba(7,59,102,.25);transition:.2s ease
}
.empty-intel-fab:hover{background:#0b4a91;transform:translateY(-50%) translateX(-2px)}
.empty-fab-icon{width:34px;height:34px;border-radius:11px;background:#ffca05;color:#073b66;display:grid;place-items:center;font-size:1rem}
.empty-fab-copy{display:flex;flex-direction:column;text-align:left;line-height:1.15}
.empty-fab-copy strong{font-size:.72rem}.empty-fab-copy small{font-size:.58rem;opacity:.72;margin-top:3px}
.empty-intel-drawer{width:min(660px,100vw)!important}
.empty-intel-drawer .offcanvas-header{padding:20px 22px;border-bottom:1px solid #e6edf4}
.empty-intel-drawer .offcanvas-body{padding:18px 20px;background:#f6f9fc}
.empty-intel-filter{background:#fff;border:1px solid #dde8f1;border-radius:16px;padding:12px;box-shadow:0 7px 20px rgba(12,49,85,.04)}
.empty-search{position:relative}.empty-search i{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#71879a;z-index:2}.empty-search input{padding-left:38px}
.empty-filter-note{font-size:.66rem;color:#7890a3;margin-top:8px}.empty-filter-note i{color:#e0a800}
.empty-intel-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}
.empty-intel-summary>div{background:#fff;border:1px solid #e1e9f0;border-radius:13px;padding:11px}
.empty-intel-summary span{display:block;font-size:.61rem;color:#7c90a3}.empty-intel-summary strong{display:block;font-size:1.08rem;color:#123f67;margin-top:4px}
.empty-intel-loading,.empty-intel-empty{text-align:center;padding:28px;color:#72889b;font-size:.75rem}
.empty-intel-empty i{display:block;font-size:1.6rem;margin-bottom:6px}.empty-intel-empty strong,.empty-intel-empty span{display:block}.empty-intel-empty span{font-size:.68rem;margin-top:3px}
.empty-intel-list{display:grid;gap:9px}
.empty-history-card{background:#fff;border:1px solid #dfe8f0;border-radius:15px;padding:13px 14px;box-shadow:0 7px 20px rgba(12,49,85,.035)}
.empty-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.empty-history-head>div{display:flex;flex-direction:column}.empty-history-head strong{font-size:.9rem;color:#0b3e69;letter-spacing:.035em}.empty-history-head span:not(.empty-state){font-size:.64rem;color:#8293a2;margin-top:2px}
.empty-state{font-size:.6rem;font-weight:900;padding:5px 8px;border-radius:999px;white-space:nowrap}.empty-state.in_cy{background:#fff5d8;color:#8c6500}.empty-state.out{background:#eaf8f1;color:#187d4d}
.empty-history-timeline{display:grid;grid-template-columns:1fr 24px 1fr;align-items:center;margin-top:12px}
.empty-event{display:flex;align-items:flex-start;gap:8px}.empty-event>i{font-size:1rem;color:#0b4a91}.empty-event.out>i{color:#2c9a66}.empty-event.pending>i{color:#d09a00}
.empty-event>div{display:flex;flex-direction:column}.empty-event span{font-size:.56rem;font-weight:900;letter-spacing:.07em;color:#8194a5}.empty-event strong{font-size:.72rem;color:#264c6b;margin-top:2px}.empty-event small{font-size:.61rem;color:#8295a6;margin-top:2px}
.empty-history-line{height:2px;background:linear-gradient(90deg,#0b4a91,#d6e2eb,#ffca05);margin:0 5px}
.empty-intel-sync{font-size:.63rem;color:#8092a2;text-align:center;padding:12px 0 2px}
@media(max-width:991.98px){
 .slide1-grid,.slide2-grid{display:flex!important;flex-direction:column}
 .empty-intel-fab{top:auto;bottom:78px;right:10px;transform:none;border-radius:15px;padding:8px}
 .empty-intel-fab:hover{transform:none}.empty-fab-copy{display:none}
 .empty-fab-icon{width:38px;height:38px}
}
@media(max-width:575.98px){
 .empty-intel-summary{grid-template-columns:1fr 1fr}
 .empty-history-timeline{grid-template-columns:1fr;gap:8px}.empty-history-line{width:2px;height:16px;margin-left:8px}
 .empty-intel-drawer .offcanvas-body{padding:12px}
}


/* V16.4 • Movement ledger / accordion history */
.empty-history-card{padding:0;overflow:hidden}
.empty-history-card summary{list-style:none;cursor:pointer;padding:13px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.empty-history-card summary::-webkit-details-marker{display:none}
.empty-history-card[open] summary{border-bottom:1px solid #e6edf4;background:#fbfdff}
.empty-card-main{min-width:0;display:flex;flex-direction:column;gap:3px}
.empty-card-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.empty-card-title strong{font-size:.9rem;color:#0b3e69;letter-spacing:.035em}
.empty-card-meta{font-size:.64rem;color:#8293a2;display:flex;gap:6px;flex-wrap:wrap}
.empty-card-right{display:flex;align-items:center;gap:8px}.empty-card-chevron{color:#7f93a5;transition:.2s}.empty-history-card[open] .empty-card-chevron{transform:rotate(180deg)}
.movement-history{padding:10px 14px 14px}.movement-history-title{font-size:.62rem;font-weight:900;letter-spacing:.08em;color:#6f8799;margin:2px 0 10px}
.movement-ledger{position:relative;padding-left:23px}.movement-ledger:before{content:"";position:absolute;left:7px;top:5px;bottom:5px;width:2px;background:#dce7ef}
.movement-item{position:relative;display:grid;grid-template-columns:120px 1fr;gap:10px;padding:0 0 13px}.movement-item:last-child{padding-bottom:0}
.movement-dot{position:absolute;left:-22px;top:4px;width:15px;height:15px;border-radius:50%;background:#0b4a91;border:3px solid #e7f1fb}.movement-item.out .movement-dot{background:#2c9a66;border-color:#e6f6ef}
.movement-time{font-size:.66rem;font-weight:800;color:#355b78}.movement-info{display:flex;flex-direction:column;gap:2px}.movement-info strong{font-size:.68rem;color:#173f61}.movement-info small{font-size:.61rem;color:#8396a6}
.movement-seq{font-size:.55rem;font-weight:900;letter-spacing:.06em;color:#fff;background:#0b4a91;border-radius:999px;padding:3px 6px;margin-left:5px}.movement-item.out .movement-seq{background:#2c9a66}

/* V16.4 • Container tracking search */
.tracking-search-panel{background:#fff;border:1px solid #dde8f1;border-radius:16px;padding:14px;box-shadow:0 7px 20px rgba(12,49,85,.04)}
.tracking-privacy-note{font-size:.65rem;color:#7890a3;margin-top:9px;line-height:1.45}.tracking-privacy-note i{color:#0b4a91;margin-right:4px}
.tracking-empty-state{text-align:center;padding:44px 20px;color:#71879a;display:flex;flex-direction:column;align-items:center;gap:7px}.tracking-empty-state>i{font-size:2rem;color:#0b4a91}.tracking-empty-state strong{font-size:.82rem;color:#355b78}.tracking-empty-state span{font-size:.68rem;max-width:360px}
.tracking-result-card{background:#fff;border:1px solid #dfe8f0;border-radius:16px;overflow:hidden;margin-top:12px;box-shadow:0 8px 22px rgba(12,49,85,.045)}
.tracking-result-head{padding:15px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid #e7eef4}.tracking-result-head h6{font-size:1rem;color:#0b3e69;letter-spacing:.04em;margin:0}.tracking-result-head .meta{font-size:.65rem;color:#8193a2;margin-top:4px;display:flex;gap:6px;flex-wrap:wrap}
.tracking-result-body{padding:14px}.tracking-current{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.tracking-current>div{background:#f7fafc;border:1px solid #e3ebf2;border-radius:12px;padding:10px}.tracking-current span{display:block;font-size:.58rem;color:#8395a4}.tracking-current strong{display:block;font-size:.76rem;color:#244d6e;margin-top:3px}
@media(max-width:767.98px){.mobile-nav a{min-width:0;flex:1}.empty-intel-fab{display:none}.container-tracking-drawer{width:100vw!important}.tracking-result-card{margin-bottom:10px}}
@media(max-width:575.98px){.movement-item{grid-template-columns:1fr;gap:3px}.movement-time{font-size:.63rem}.tracking-current{grid-template-columns:1fr 1fr}}

/* V16.5 */
.empty-intel-summary-3{grid-template-columns:repeat(3,1fr)}
.tracking-found-label{display:inline-flex;align-items:center;gap:5px;font-size:.62rem;font-weight:800;letter-spacing:.08em;color:#16834a;margin-bottom:7px}
.tracking-result-minimal .tracking-result-head{padding:18px}
.tracking-result-minimal h6{font-size:1.15rem;margin:0 0 5px;color:#0b477c}
.tracking-result-minimal .meta{font-size:.75rem;color:#6f8497}
@media(max-width:767.98px){.empty-intel-summary-3{grid-template-columns:repeat(3,1fr)}.empty-intel-summary-3>div{padding:10px 8px}.empty-intel-summary-3 span{font-size:.57rem}.empty-intel-summary-3 strong{font-size:1rem}}

/* V16.6 */
.tracking-attribute-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px}
.tracking-attribute-grid>div{background:#f7fafc;border:1px solid #e3ebf3;border-radius:11px;padding:10px 12px;min-width:0}
.tracking-attribute-grid small{display:block;font-size:.6rem;color:#74879a;text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}
.tracking-attribute-grid strong{display:block;font-size:.83rem;color:#123c61;overflow:hidden;text-overflow:ellipsis}
.empty-history-card>summary .empty-card-right{min-width:26px;justify-content:flex-end}
@media(max-width:575.98px){.tracking-attribute-grid{grid-template-columns:repeat(3,1fr);gap:6px}.tracking-attribute-grid>div{padding:9px 7px}.tracking-attribute-grid strong{font-size:.76rem}}

/* V16.7 */
.yard-breakdown-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.yard-breakdown-2>span{justify-content:center}

/* V17 • Granular dashboard source switches */
.source-year-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.source-year-card{display:grid;grid-template-columns:1fr auto;gap:8px 14px;align-items:center;border:1px solid #dbe6ef;border-radius:15px;padding:14px;background:#fbfdff}.source-year-card>div:first-child{display:flex;flex-direction:column}.source-year-card>div:first-child strong{font-size:1rem;color:#0b477c}.source-year-card>div:first-child small,.source-state small{font-size:.64rem;color:#7e91a2}.source-state{grid-column:1/-1;display:flex;justify-content:space-between;gap:8px;border-top:1px dashed #dce7ef;padding-top:8px}.source-state b,.month-source-status b{font-size:.66rem;letter-spacing:.06em;color:#0b4a91}
.source-switch{position:relative;display:inline-block;width:48px;height:26px;flex:none}.source-switch input{opacity:0;width:0;height:0}.source-slider{position:absolute;cursor:pointer;inset:0;background:#b9c8d5;border-radius:999px;transition:.2s;box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.source-slider:before{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 2px 5px rgba(0,0,0,.18)}.source-switch input:checked+.source-slider{background:#0b4a91}.source-switch input:checked+.source-slider:before{transform:translateX(22px)}
.source-2026{border-top:1px solid #e3ebf2;padding-top:14px}.month-source-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.month-source-card{border:1px solid #dce7ef;border-radius:13px;padding:10px;text-align:center;background:#fff;min-width:0}.month-source-card.cutover{border-color:#ffca05;background:#fffdf5}.month-source-head{display:flex;align-items:center;justify-content:center;gap:5px;margin-bottom:8px}.month-source-head strong{font-size:.75rem;color:#204b6d}.month-source-head span{font-size:.47rem;font-weight:900;background:#ffca05;color:#473900;padding:2px 4px;border-radius:999px}.month-source-status{display:flex;flex-direction:column;margin-top:6px}.month-source-status small{font-size:.56rem;color:#8294a3}.cutover-note{font-size:.52rem;line-height:1.35;color:#756524;margin-top:5px}.month-source-card .source-switch{transform:scale(.88)}
@media(max-width:991.98px){.month-source-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:575.98px){.source-year-grid{grid-template-columns:1fr}.month-source-grid{grid-template-columns:repeat(3,1fr)}.month-source-card{padding:9px 6px}}
