/* Customer portal only: shared components must not change the public tracker. */
.portal-body{color:#183252}
.portal-body .admin-main{width:calc(100% - 240px);min-width:0}
.portal-body .admin-content{min-width:0;width:100%;box-sizing:border-box}
.portal-body .page-head{gap:12px}
.portal-body .page-head .subtitle{color:#536681}
.portal-body .admin-content details>summary{color:#174a98!important}
.portal-body :is(.card-pane,.form-grid>div,.acc-item,.kv-item){min-width:0}
.portal-body :is(h1,h2,h3,h4){color:#17355d;overflow-wrap:anywhere}
.portal-body .card-pane{background:#fff;border-color:#d7e3f3}
.portal-body .card-pane>h2{padding-bottom:14px;border-bottom:1px solid #dce6f3}
.portal-body .metric-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:14px}
html body.portal-body .admin-content .metric-card :is(.m-label,.m-value){color:#fff!important;opacity:1;overflow-wrap:anywhere}
.portal-body .metric-card .m-label{font-size:.8rem;line-height:1.5;letter-spacing:.025em}
.portal-body .metric-card .m-value{line-height:1.2;font-variant-numeric:tabular-nums}
.portal-body :is(.metric-card,.journey-card){animation:none}
.portal-body .journey-step .dot{transition:none}
.portal-body .welcome-banner :is(h2,p){color:#fff}
html body.portal-body .welcome-banner .quick-actions .btn{background:#e8f1ff!important;color:#174a98!important;border-color:#b6cff3!important}
.portal-body .table-responsive,.portal-body .table-scroll{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.portal-body .table{width:100%;border-collapse:collapse}
.portal-body .admin-content :is(.table-responsive,.table-scroll)>.table{display:table;overflow:visible;max-width:none}
.portal-body .table :is(th,td){padding:13px 16px;vertical-align:middle;border-bottom:1px solid #e0e8f3}
.portal-body .table th{background:#edf3fc;color:#24466d;font-weight:700;text-align:left}
.portal-body .table td{color:#183252;background:#fff}
.portal-body .table :is(td,th):last-child{padding-right:20px}
.portal-body .table td:has(.btn){text-align:right;white-space:nowrap}
.portal-body .table td .btn{margin:0;min-height:40px}
.portal-body .input{max-width:100%;min-width:0;box-sizing:border-box}
.portal-body .form-row{margin-bottom:18px}
.portal-body :is(label,small){line-height:1.55}
.portal-body .form-grid{gap:18px}
.portal-body .portal-account-form{max-width:640px}
.portal-body .portal-verification-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px;padding:16px 20px}
.portal-body .portal-verification-notice>div{flex:1 1 260px}
.portal-body .portal-verification-notice p{margin:5px 0 0;line-height:1.6;color:inherit}
.portal-body .portal-verification-notice .btn{flex:0 0 auto;min-height:42px;font-weight:700}
.portal-body .portal-email-address{font-weight:700;overflow-wrap:anywhere}
.portal-body .portal-message{overflow-wrap:anywhere;min-width:0}
.portal-body .topbar-user>span{overflow-wrap:anywhere}
.portal-body .btn{min-height:40px;gap:8px}
.portal-body .acc-head{gap:12px;align-items:center;padding:16px 18px;min-height:60px}
.portal-body .acc-title{min-width:0;overflow-wrap:anywhere;flex:1;text-align:left}
.portal-body .acc-meta{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.portal-body .acc-body{padding:20px;background:#fff}
.portal-body .journey-card{padding:20px;margin:0 0 22px;box-shadow:none;background:#fff}
.portal-body .journey-card h3{margin:0 0 24px}
.portal-body .journey-step{--step-color:var(--freight-main,#2464cf);--step-soft:var(--freight-soft,#e8f1ff);--step-line:var(--freight-line,#b6cff3);--step-halo:transparent;min-width:0}
.portal-body .journey-step .dot{animation:none}
.portal-body .journey-step .label{color:var(--freight-ink,#174a98);font-size:.72rem;line-height:1.5}
.portal-body .journey-steps .progress-fill{background:var(--freight-main,#2464cf);animation:none}
.portal-body .kv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:12px}
.portal-body .kv-item{padding:16px;background:var(--freight-soft,#edf4ff);border:1px solid var(--freight-line,#b6cff3);border-radius:12px}
.portal-body .kv-label{color:var(--freight-ink,#174a98);font-size:.75rem;font-weight:600;line-height:1.5}
.portal-body .kv-value{color:#17355d;font-weight:700;overflow-wrap:anywhere;line-height:1.6}
.portal-body .portal-shipment-facts{margin-bottom:24px}
.portal-body .shipment-event-timeline{padding:0;margin:24px 0}
.portal-body .branded-event-spine{display:grid;gap:20px;padding-left:20px;border-left:2px solid var(--freight-line,#b6cff3)}
html body.admin-body.portal-body .admin-content .acc-item .status-history-group{background:#fff!important;padding:0;position:relative;border:0;border-radius:0;min-width:0}
.portal-body .status-history-group>h3{font-size:1rem;line-height:1.5;margin:0 0 10px}
.portal-body .status-history-group::before{content:'';position:absolute;left:-28px;top:5px;width:12px;height:12px;border:2px solid var(--freight-main,#2464cf);border-radius:50%;background:white}
.portal-body .status-history-event{padding:16px 18px;border:1px solid var(--freight-line,#b6cff3);border-radius:12px;margin:10px 0;background:#fff}
.portal-body .event-time-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--freight-ink,#174a98);font-size:.8rem;margin-bottom:8px}
.portal-body .latest-update-pill{padding:4px 8px;border-radius:20px;font-size:.72rem;font-weight:700}
.portal-body .status-history-event p{font-weight:700;margin:8px 0 0;color:#17355d;overflow-wrap:anywhere;line-height:1.65}
.portal-body .status-history-group summary{padding:12px 14px;cursor:pointer;border-radius:10px;font-weight:600}
.portal-body .portal-qr{padding:12px 0;margin-top:20px}
.portal-body .portal-qr img{max-width:100%;height:auto}
.portal-auth{box-sizing:border-box;padding:24px 16px;color:#183252}
.portal-auth .login-card{box-sizing:border-box;padding:28px;min-width:0;margin:auto}
.portal-auth .logo-wrap img{max-width:100%;height:auto;object-fit:contain}
.portal-auth .input{min-width:0;max-width:100%}
.portal-auth .form-grid{gap:16px}
.portal-auth .form-row{margin-bottom:16px;min-width:0}
.portal-auth .btn{min-height:44px}
.portal-auth .alert{overflow-wrap:anywhere}
.portal-invoice .inv-head img{max-width:100%;height:auto;object-fit:contain}
.portal-invoice .inv{box-sizing:border-box;overflow-wrap:anywhere}
.portal-invoice .inv-tot{max-width:100%}
.portal-invoice .inv-tot .row{gap:14px;flex-wrap:wrap}
.portal-invoice .inv-actions{flex-wrap:wrap}
.portal-invoice-table{overflow-x:auto;max-width:100%}
@media screen and (max-width:600px){.portal-invoice{padding:16px 10px}.portal-invoice .inv{padding:18px 14px}.portal-invoice .inv-tbl{min-width:440px}.portal-invoice .inv-head>div{min-width:0;width:100%}.portal-invoice .inv-meta{text-align:left}.portal-invoice .inv-actions .btn{min-height:44px;white-space:normal;justify-content:center}}
@media print{.portal-invoice-table{overflow:visible}.portal-invoice .inv-actions{display:none!important}}
.portal-body [hidden],.portal-auth [hidden]{display:none!important}
@media(max-width:991.98px){
 .portal-body .admin-main{width:100%;margin-left:0}
 .portal-body .admin-topbar{flex-wrap:wrap;gap:10px}
 .portal-body .sidebar{max-width:calc(100vw - 48px)}
}
@media(max-width:720px){
 .portal-body .admin-content{padding:16px 12px 24px}
 .portal-body .card-pane{padding:18px 14px}
 .portal-body .admin-topbar .topbar-title{flex:1}
 .portal-body .topbar-user{width:100%;justify-content:flex-end;gap:10px;font-size:.8rem}
 .portal-body .topbar-user>span{flex:1;min-width:0}
 .portal-body .acc-head{flex-wrap:wrap;padding:14px 12px}
 .portal-body .acc-meta{width:100%;justify-content:flex-start;margin-left:26px}
 .portal-body .acc-body{padding:14px 10px}
 .portal-body .journey-card{padding:16px 12px}
 .portal-body .journey-steps{display:flex;flex-direction:column;gap:18px}
 .portal-body .journey-steps :is(.progress-track,.progress-fill){display:none}
 .portal-body .journey-step{flex-direction:row;text-align:left;align-items:center;padding:0;gap:14px;width:100%;min-height:48px}
 .portal-body .journey-step::before,.portal-body .journey-step::after{display:none}
 .portal-body .journey-step .dot{width:42px;height:42px;margin:0;font-size:1.1rem}
 .portal-body .journey-step .step-text{border:0;box-shadow:none;background:transparent;padding:0;min-height:0;max-width:none;flex:1}
 .portal-body .journey-step .label{font-size:.8rem;text-align:left}
 .portal-body .branded-event-spine{padding-left:14px;margin-left:4px}
 .portal-body .status-history-group::before{left:-22px}
 .portal-body .status-history-event{padding:14px 12px}
 .portal-body .portal-verification-notice{padding:14px}
 .portal-body .portal-verification-notice .btn{width:100%;justify-content:center}
 .portal-body .table{min-width:620px}
 .portal-auth .login-card{padding:24px 18px}
 .portal-auth .form-grid{grid-template-columns:minmax(0,1fr)}
}
