/* Shared install experience and phone layout. */
[hidden]{display:none!important}
.pwa-install-entry{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-size:12px;font-weight:600;border:1px solid #dce4df;border-radius:9px;background:#fff;color:#355546;padding:12px 16px;cursor:pointer;min-height:44px}
.pwa-install-entry svg{width:18px;height:18px}.pwa-install-entry:hover{background:#f0f6f1}.pwa-login-install{margin:22px auto 0;display:flex}.pwa-landing-strip{display:flex;align-items:center;gap:19px;margin-top:35px;padding:25px 0;border-top:1px solid #e1e6dd}.pwa-landing-strip img{width:48px;height:48px;border-radius:13px}.pwa-landing-strip>div{flex:1}.pwa-landing-strip strong{font-size:15px}.pwa-landing-strip p{margin-top:7px;font-size:12px;line-height:1.7;color:#77817a}.mobile-bottom-nav{display:none}.mobile-menu-shade{display:none}
.pwa-install-dialog{box-sizing:border-box;border:1px solid #e4e9e5;border-radius:22px;background:#fff;color:#223d32;width:min(490px,calc(100% - 30px));max-height:calc(100dvh - 32px);padding:30px;box-shadow:0 25px 100px #142a3440;font-family:"Segoe UI",Arial,sans-serif;line-height:1.6}
.pwa-install-dialog::backdrop{background:#122b3370;backdrop-filter:blur(4px)}.pwa-dialog-close{position:absolute;right:15px;top:12px;display:grid;place-items:center;width:44px;height:44px;border:0;background:#f1f4f2;border-radius:50%;font-size:27px;color:#6b7a72;cursor:pointer}.pwa-dialog-icon{border-radius:17px;display:block;margin-bottom:23px}.pwa-kicker{font-size:9px;letter-spacing:1.6px;font-weight:600;color:#839589;margin:0 0 12px}.pwa-install-dialog h2{font-size:27px;letter-spacing:-.7px;line-height:1.2;margin:0 0 12px}.pwa-dialog-intro{font-size:13px;color:#75837a;margin:0 0 21px}.pwa-platform{padding:17px 0;border-top:1px solid #e8eee9}.pwa-platform h3{font-size:14px;margin:0 0 10px}.pwa-platform ol{padding-left:19px;margin:0;font-size:12px;color:#65746b}.pwa-platform li{padding:4px 0}.pwa-platform strong{color:#3e5949}.pwa-platform-current h3{color:#d86b44}.pwa-install-foot{font-size:11px;color:#839188;margin:15px 0 0}.pwa-install-note{padding:13px 15px;border:1px solid #e3e9dd;background:#f5f7ef;border-radius:9px;font-size:12px;margin:15px 0 20px;color:#67745c}
.pwa-offline-page{margin:0;background:#f6f7f9;color:#203c35;font-family:"Segoe UI",Arial,sans-serif;min-height:100vh;min-height:100dvh;display:grid;place-items:center;box-sizing:border-box;padding:30px max(24px,env(safe-area-inset-right)) 30px max(24px,env(safe-area-inset-left))}.pwa-offline-card{width:100%;max-width:430px;text-align:left;padding:0}.pwa-offline-card>img{border-radius:18px;margin-bottom:34px}.pwa-offline-card h1{font-size:34px;line-height:1.2;letter-spacing:-1.1px;margin:15px 0 22px}.pwa-offline-card>p:not(.pwa-kicker){font-size:14px;line-height:1.85;color:#75847b}.pwa-offline-card .pwa-offline-note{font-size:11px!important;margin-top:23px}.pwa-primary{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:15px 23px;border-radius:11px;background:#ed7148;color:white;font-weight:600;font-size:14px;text-decoration:none;margin-top:14px}
.pwa-update-notice{position:fixed;left:50%;bottom:25px;transform:translateX(-50%);z-index:3100;background:#213b31;color:white;padding:14px 16px;border-radius:12px;box-shadow:0 8px 35px #172a2630;display:flex;align-items:center;gap:15px;font:12px/1.6 "Segoe UI",Arial,sans-serif;max-width:calc(100vw - 30px);width:max-content;box-sizing:border-box}.pwa-update-notice button{font:inherit;border:0;border-radius:6px;background:#eef4ef;color:#234233;padding:8px 12px;font-weight:600;white-space:nowrap;cursor:pointer}.pwa-update-notice .pwa-dismiss-update{background:none;color:#d3e0d8;font-size:22px;padding:4px 7px}.pwa-connection-status{background:#fff1df;border-bottom:1px solid #eedbbc;color:#845c2b;font:12px/1.6 "Segoe UI",Arial,sans-serif;padding:10px 20px;text-align:center}.pwa-is-offline .app-body .topbar{position:relative;top:auto}
button:focus-visible,a:focus-visible{outline:3px solid #ed7148;outline-offset:3px}
@media(max-width:700px){
 .app-body{-webkit-tap-highlight-color:transparent;background:#f4f6f7}.app-body main{padding:20px 17px calc(90px + env(safe-area-inset-bottom));padding-left:max(17px,env(safe-area-inset-left));padding-right:max(17px,env(safe-area-inset-right))}
 .app-body .topbar{position:sticky;top:0;z-index:500;height:auto;min-height:64px;padding-top:env(safe-area-inset-top);padding-left:max(14px,env(safe-area-inset-left));padding-right:max(17px,env(safe-area-inset-right));background:#fffffff5;backdrop-filter:blur(16px)}
 .app-body .breadcrumb{gap:10px}.app-body #breadcrumb-title{font-size:13px;font-weight:600;color:#30433c}.app-body .icon-button{min-width:44px;min-height:44px}.app-body .top-actions{gap:8px}.app-body .top-avatar{width:32px;height:32px}.app-body .demo-indicator{font-size:8px;padding:5px 7px}.app-body .role-row{gap:10px;flex-wrap:wrap}.app-body .role-row>.eyebrow{font-size:8px}.app-body .role-switch{display:flex;padding:4px;border-radius:12px}.app-body .role-switch button{font-size:11px;padding:9px 12px;min-height:36px}.app-body .page-heading{margin-top:23px;gap:17px}.app-body .greeting{font-size:12px;margin-bottom:9px}.app-body h1{font-size:30px;letter-spacing:-.9px}.app-body .page-heading p{font-size:13px;line-height:1.7}.app-body .page-heading .button{font-size:12px;min-height:46px;border-radius:11px;padding:12px 16px}
 .app-body .panel{border-radius:16px}.app-body .stat-card{padding:16px;border-radius:15px;min-height:125px}.app-body .stat-label{font-size:11px}.app-body .stat-value{font-size:31px}.app-body .stat-footer{font-size:9px;line-height:1.6}.app-body .stat-detail{font-size:9px}.app-body .panel-heading h2{font-size:15px}.app-body .panel-heading p{font-size:11px}.app-body .activity-row{padding:17px 14px;gap:10px}.app-body .activity-text strong{font-size:12px}.app-body .activity-text p{font-size:10px}.app-body .activity-meta .status-badge{font-size:8px}.app-body .activity-meta small{font-size:9px}.app-body .panel-foot{font-size:9px;gap:10px;flex-wrap:wrap}.app-body .panel-foot .text-button{font-size:11px}
 .app-body .role-row>.eyebrow{display:none}.app-body:not([data-page="dashboard"]) .greeting{display:none}.app-body:not([data-page="dashboard"]) .page-heading{margin-top:18px}.app-body:not([data-page="dashboard"]) h1{font-size:28px}
 .mobile-bottom-nav{position:fixed;bottom:0;inset-inline:0;z-index:900;display:flex;padding:6px max(8px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border-top:1px solid #e2e8e5;box-shadow:0 -5px 25px #1c3d3105;background:#fffffff5;backdrop-filter:blur(16px)}
 .mobile-bottom-nav button{flex:1;min-width:0;min-height:57px;border:0;background:none;font:10px "Segoe UI",Arial,sans-serif;font-weight:500;color:#85938b;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:5px 2px;border-radius:11px}.mobile-bottom-nav button.active{color:#d9663d;background:#fdf1eb}.mobile-bottom-nav [data-icon]{display:block;height:22px}.mobile-bottom-nav svg{width:21px;height:21px}.mobile-bottom-nav button.active svg{stroke-width:1.9}.mobile-menu-shade.open{display:block;position:fixed;inset:0;background:#15282e65;z-index:950;backdrop-filter:blur(2px);border:0}.app-body .sidebar{width:min(300px,85vw);padding-top:calc(30px + env(safe-area-inset-top));padding-bottom:calc(15px + env(safe-area-inset-bottom));overflow-y:auto}.app-body .sidebar .nav-item{min-height:48px;font-size:13px}.app-body .sidebar-note{display:none}.app-body .sidebar .profile{min-height:58px}.app-body .sidebar .profile strong{font-size:12px}.app-body .sidebar .profile small{font-size:10px}
 .app-body .table-toolbar{padding:0 15px;gap:5px}.app-body .table-toolbar .search-field{width:100%;margin:0 0 7px;min-height:44px}.app-body .search-field input{font-size:16px}.app-body .filter-tabs{overflow-x:auto;white-space:nowrap;justify-content:flex-start;gap:21px}.app-body .filter-tabs button{font-size:11px;min-height:48px}.app-body .table-panel .panel-heading{gap:10px}.app-body #export-btn{font-size:10px;min-height:40px}.app-body .table-scroll{overflow:visible}.app-body #shipment-panel table{min-width:0;width:100%;display:block}.app-body #shipment-panel thead{display:none}.app-body #shipment-rows{display:block;padding:0 14px 8px}.app-body #shipment-rows tr{display:grid;grid-template-columns:1fr auto;position:relative;column-gap:12px;row-gap:13px;border:1px solid #e6ebe8;border-radius:13px;padding:16px;margin-top:13px;background:white;box-shadow:0 3px 10px #1e382604}.app-body #shipment-rows td{padding:0;border:0;font-size:12px;white-space:normal;min-width:0}.app-body #shipment-rows td:nth-child(1){grid-column:1;grid-row:1}.app-body #shipment-rows td:nth-child(2){grid-column:1/-1;grid-row:2;border-top:1px solid #eef1ef;padding-top:13px}.app-body #shipment-rows td:nth-child(3){grid-column:1;grid-row:3}.app-body #shipment-rows td:nth-child(4){grid-column:2;grid-row:3;text-align:right}.app-body #shipment-rows td:nth-child(5){grid-column:1;grid-row:4}.app-body #shipment-rows td:nth-child(6){grid-column:2;grid-row:4;text-align:right;font-size:18px;align-self:center}.app-body #shipment-rows td:nth-child(7){grid-column:2;grid-row:1;text-align:right}.app-body #shipment-rows td[colspan]{grid-column:1/-1;grid-row:auto;text-align:center}.app-body #shipment-rows .row-open{width:44px;height:44px;border-radius:10px;background:#f4f6f5}.app-body #shipment-rows .shipment-id{gap:10px}.app-body #shipment-rows .shipment-id strong{font-size:13px}.app-body #shipment-rows small{font-size:11px;line-height:1.6;margin-top:5px}.app-body #shipment-rows .route-cell{font-size:15px;gap:13px}.app-body #shipment-rows .route-cell strong{font-size:15px}.app-body #shipment-rows .package-mini{width:31px;height:34px}.app-body #shipment-rows .status-badge{font-size:10px}.app-body #shipment-rows .trust-badge{font-size:10px}.app-body .table-footer{font-size:10px;padding:16px}
 .app-body .contacts-intro{padding:19px;gap:13px}.app-body .contacts-intro strong{font-size:16px}.app-body .contacts-intro p{font-size:12px}.app-body .contacts-intro .button{min-height:46px;font-size:12px;border-radius:10px}.app-body .contact-tabs button{font-size:13px;min-height:46px}.app-body .contact-tools select{min-height:44px;font-size:16px}.app-body .contact-tools .search-field{min-height:46px}.app-body .contact-list-description{font-size:12px}.app-body .contacts-table{display:block;min-width:0!important}.app-body .contacts-table thead{display:none}.app-body #contact-rows{display:block;padding:0 14px 8px}.app-body #contact-rows tr{display:grid;grid-template-columns:1fr auto;gap:13px 10px;padding:17px 0;border-bottom:1px solid #edf0ed}.app-body #contact-rows tr:last-child{border-bottom:0}.app-body #contact-rows td{padding:0;border:0;white-space:normal;min-width:0}.app-body #contact-rows td:first-child{grid-column:1/-1}.app-body #contact-rows td:nth-child(2){grid-column:1;grid-row:2}.app-body #contact-rows td:nth-child(3){grid-column:1/-1;grid-row:3}.app-body #contact-rows td:nth-child(4){grid-column:1/-1;grid-row:4}.app-body .contact-person strong{font-size:14px}.app-body .contact-person small{font-size:12px;line-height:1.6}.app-body .contact-kind{font-size:12px}.app-body .contact-actions{justify-content:flex-start}.app-body .contact-actions .button,.app-body .contact-actions button{min-height:44px;font-size:12px}.app-body .contact-notes{max-width:none;font-size:12px}.app-body .contacts-table .empty-state{padding:25px 5px;white-space:normal}
 .app-body .form-group>input,.app-body .form-group>select,.app-body .form-group>textarea{font-size:16px;min-height:46px;border-radius:9px}.app-body .form-group>label{font-size:12px}.app-body .form-group small,.app-body .form-note{font-size:11px}.app-body .form-section-title{font-size:14px}.app-body dialog:not(.pwa-install-dialog){width:calc(100% - 18px);max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:18px}.app-body #dialog-content{padding:19px}.app-body .dialog-top{padding:18px}.app-body .form-actions .button{min-height:46px;font-size:12px;flex:1}.app-body .detail-route p{font-size:12px}.app-body .detail-facts small{font-size:11px}.app-body .detail-facts strong{font-size:15px}.app-body .detail-section p{font-size:12px}.app-body .detail-parties small{font-size:11px}.app-body .detail-parties strong{font-size:14px}.app-body .detail-parties span{font-size:12px}.app-body .detail-parties .trust-badge{font-size:11px}.app-body .detail-actions .button{min-height:46px;font-size:12px}.app-body .notification-row p{font-size:13px;line-height:1.7}.app-body .notification-row small{font-size:11px}.app-body .toast,.app-body .pwa-update-notice{bottom:calc(86px + env(safe-area-inset-bottom));left:50%}.app-body .page-footer{font-size:10px;padding-bottom:15px}.app-body .pwa-connection-status{position:sticky;top:0;z-index:700;font-size:11px}
 .pwa-install-dialog{padding:25px 22px}.pwa-install-dialog h2{font-size:25px}.pwa-landing-strip{flex-wrap:wrap;gap:14px}.pwa-landing-strip>div{min-width:190px}.pwa-landing-strip strong{font-size:14px}.pwa-landing-strip .pwa-install-entry{margin-left:62px}.login-page .form-note{font-size:11px}.login-page input{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.app-body *, .pwa-install-dialog{scroll-behavior:auto!important;transition:none!important}}
