/* Shared customer/admin presentation. Business logic and form wiring remain in app.js. */
.portal-modern{--portal-accent:#2674ec;--portal-tint:#edf4ff;--portal-border:#e0e8f1;--portal-muted:#6d8297;background:#f4f7fc}
.portal-modern [hidden]{display:none!important}
.portal-modern #app:focus{outline:none}
.portal-modern.portal-admin{--portal-accent:#167e9a;--portal-tint:#eaf6f8}
.portal-modern .app-shell{background:radial-gradient(ellipse at 100% 0%,#e8f2fb 0,transparent 40%),#f4f7fc;min-height:100dvh}
.portal-modern .app-shell .sidebar{position:sticky;top:0;height:100dvh;width:254px;min-width:254px;padding:26px 16px 19px;background:radial-gradient(ellipse at 100% 0%,#20526888,transparent 55%),linear-gradient(160deg,#13304b,#102a42);border-right:1px solid #19415b;overflow:hidden;z-index:40;box-shadow:7px 0 25px #102a4405}
.portal-modern .sidebar .brand{padding:0 12px;flex-shrink:0;min-height:44px}
.portal-modern .app-shell .sidebar .brand>a{gap:10px;font-size:25px;letter-spacing:-.045em}
.portal-modern .sidebar .brand-mark{width:37px;height:37px;display:block}.portal-modern .sidebar .brand-mark img{width:37px;height:37px}
.portal-modern .user-summary{display:flex;align-items:center;gap:11px;flex-shrink:0;margin:23px 4px 17px;padding:15px 10px;border:1px solid #a5c2d51a;border-radius:13px;background:#ffffff06;min-width:0}
.portal-modern .user-summary>div:last-child{min-width:0}.portal-modern .user-summary strong{display:block;color:#e8f2fa;font-size:13px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}.portal-modern .user-summary small{display:block;font-size:10px;color:#8eafc5;margin-top:3px}
.portal-modern .user-summary .avatar{height:36px;min-width:36px;width:36px;border-radius:11px;background:linear-gradient(140deg,#367db4,#278b96);color:#efffff;font-size:12px;border:1px solid #b9e7f02e;font-weight:650;display:grid;place-items:center}
.portal-modern .app-shell .nav{display:block;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#48687b transparent;padding:0 4px 8px}
.portal-modern .nav-group{margin-bottom:19px}.portal-modern .nav-label{padding:8px 11px 11px;color:#7196af;font-size:9px;font-weight:550;letter-spacing:.17em}
.portal-modern .app-shell .nav a{position:relative;display:flex;justify-content:flex-start;gap:11px;min-height:43px;margin-bottom:4px;padding:11px 12px;border:1px solid transparent;border-radius:11px;color:#a7c0d3;font-size:13px;font-weight:500;line-height:1.4;transition:background .18s,color .18s,border-color .18s,translate .18s}
.portal-modern .app-shell .nav a:hover{background:#ffffff09;color:#fff;translate:2px 0}
.portal-modern .app-shell .nav a.active{background:linear-gradient(100deg,#3776a833,#4eb9c41c);color:#fff;border-color:#8ccee925;box-shadow:0 3px 10px #07182a0a}
.portal-modern .nav a.active:before{content:"";position:absolute;left:-4px;top:13px;bottom:13px;width:3px;border-radius:5px;background:#77dbde;box-shadow:0 0 10px #60d9e344}
.portal-modern .app-shell .nav-icon{width:20px;min-width:20px;display:grid;place-items:center;color:#7da7c6;transition:color .2s,transform .2s}.portal-modern .nav-icon .ui-icon{height:19px;width:19px;stroke-width:1.5}.portal-modern .nav a.active .nav-icon{color:#9cdeea}.portal-modern .nav a:hover .nav-icon{color:#b4f2ed;transform:translateY(-1px)}
.portal-modern .sidebar-foot{display:block;flex-shrink:0;border-top:1px solid #9fb8ca1a;margin:8px 8px 0;padding-top:16px;line-height:1.8}.portal-modern .sidebar-foot a{font-size:11px;color:#c4d8e7}.portal-modern .sidebar-foot small{font-size:9px;color:#688ca6;margin-top:5px}
.portal-modern .app-main{min-width:0}.portal-modern .app-main>.topbar{position:sticky;top:0;z-index:30;min-height:75px;height:75px;padding:0 34px;background:#ffffffed;backdrop-filter:blur(14px);border-bottom:1px solid #e1e9f2;box-shadow:0 3px 15px #12314d03}
.portal-modern .crumbs{display:flex;align-items:center;gap:11px;font-size:13px;min-width:0;color:#90a3b5}.portal-modern .crumbs>span:first-child{font-weight:650;color:#688098}.portal-modern .crumbs strong{font-size:13px;font-weight:600;color:#294a65}.portal-modern .crumbs .sep{font-size:11px;color:#c5d2df}
.portal-modern .top-actions{display:flex;align-items:center;gap:20px;flex-shrink:0}.portal-modern .help-link{font-size:11px;color:#6c859b}.portal-modern .top-user{border:1px solid #dbe5ef;border-radius:10px;background:#f8fafd;min-height:36px;display:inline-flex;align-items:center;padding:9px 13px;color:#49667e;font-size:11px;transition:border-color .18s,background .18s}.portal-modern .top-user:hover{border-color:#abc7df;background:#eff5fc}
.portal-modern .app-main>main{padding:30px 34px 40px;max-width:1570px;width:100%;min-width:0}.portal-modern .app-shell .page{max-width:none;min-width:0;animation:portal-page-in .32s ease-out both}
.portal-modern .page-head{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-wrap:wrap;align-items:center;gap:15px 25px;padding:29px 32px;min-height:165px;margin:0 0 25px;border:1px solid #294c68;border-radius:22px;background:radial-gradient(ellipse at 100% 20%,#1b5966,transparent 65%),linear-gradient(115deg,#173750,#122e47);box-shadow:0 12px 27px #1739550b;color:#fff}
.portal-modern.portal-admin .page-head{background:radial-gradient(ellipse at 100% 10%,#246974,transparent 65%),linear-gradient(115deg,#16374f,#12334a)}
.portal-modern .page-head>div:first-child{position:relative;z-index:1;width:min(100%,730px);padding-right:80px;min-width:0}.portal-modern .page-head .eyebrow{font-size:9px;letter-spacing:.16em;color:#8fd7df;margin:0 0 14px;font-weight:550}
.portal-modern .app-shell .page-head h1{font-size:32px;letter-spacing:-.045em;line-height:1.18;color:#fff;font-weight:650;margin:0 0 11px;text-wrap:balance}
.portal-modern .app-shell .page-subtitle{color:#acc5d7;font-size:13px;line-height:1.8;margin:0;max-width:690px}
.portal-modern .portal-head-art{position:absolute;z-index:0;right:-12px;top:calc(50% - 78px);height:155px;width:310px;pointer-events:none;color:#80cddb;opacity:.7}
.portal-head-art>svg{width:100%;height:100%}.portal-head-art>span{position:absolute;left:150px;top:46px;width:62px;height:62px;display:grid;place-items:center;border:1px solid #95d7e237;border-radius:18px;background:linear-gradient(145deg,#e2ffff20,#9adbe70d);rotate:-9deg;box-shadow:0 10px 30px #071f3412}.portal-head-art .ui-icon{width:30px;height:30px;color:#b3e3e9;stroke-width:1.25}
.portal-modern .portal-dashboard-head{min-height:217px;align-content:center}.portal-modern .portal-dashboard-head>div:first-child{width:calc(100% - 145px);padding-right:0}.portal-modern .portal-dashboard-head .portal-head-art{top:calc(50% - 78px);opacity:1}
.portal-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;position:relative;z-index:2;width:100%;margin-top:5px}
.portal-modern .portal-head-actions .btn{min-height:41px;border-radius:10px;padding:10px 14px;font-size:11px;font-weight:600;gap:9px;box-shadow:none}.portal-modern .portal-head-actions .ui-icon{height:16px;width:16px}.portal-modern .portal-head-actions .btn .ui-icon:last-child{width:14px;margin-left:7px}
.portal-modern .btn-portal-light{background:#ddf6f4;color:#1b4b5c;border:1px solid #d7f6f1}.portal-modern .btn-portal-light:hover{background:#fff;transform:translateY(-2px)}.portal-modern .btn-portal-secondary{background:#ffffff08;color:#d9edf6;border:1px solid #a2c9e036}.portal-modern .btn-portal-secondary:hover{background:#ffffff15;transform:translateY(-2px)}
.portal-modern .dashboard-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 24px}.portal-modern .stat-card{position:relative;display:block;min-width:0;min-height:158px;padding:22px;border:1px solid #dee7f1;border-radius:18px;background:#fff;box-shadow:0 5px 18px #18395704;overflow:hidden;animation:portal-card-in .45s ease-out both;animation-delay:var(--panel-delay,0ms);transition:border-color .2s,box-shadow .2s,transform .2s}
.portal-modern .stat-card:after{content:"";position:absolute;left:22px;right:22px;bottom:0;top:auto;width:auto;height:2px;border:0;border-radius:5px;background:linear-gradient(90deg,#8cbafa,#e9f4ff);opacity:.7}
.portal-modern .stat-card:hover{transform:translateY(-3px);border-color:#bad2ec;box-shadow:0 11px 25px #1a466d0a}
.portal-modern .stat-card .stat-icon{position:absolute;right:19px;top:19px;display:grid;place-items:center;height:32px;width:32px;border:1px solid #e1ebf9;border-radius:10px;background:#edf4ff;color:#3d7bd0}.portal-modern .stat-icon .ui-icon{height:18px;width:18px;stroke-width:1.6}
.portal-modern .stat-card:nth-child(2) .stat-icon{background:#f0f6ff;color:#6481c7}.portal-modern .stat-card:nth-child(3) .stat-icon{background:#eaf8f5;color:#269486;border-color:#dcefea}.portal-modern .stat-card:nth-child(4) .stat-icon{background:#fff6e9;color:#be9656;border-color:#f6ead6}
.portal-modern .stat-card>div:last-child>span{padding-right:35px;min-height:27px;display:block;font-size:11px;line-height:1.5;font-weight:500;color:#657e94}.portal-modern .stat-card strong{display:block;margin:15px 0 6px;font-size:32px;font-weight:650;line-height:1.15;letter-spacing:-.045em;color:#163c59;overflow-wrap:anywhere}.portal-modern .stat-card small{display:block;font-size:10px;line-height:1.6;color:#91a1b0}
.portal-modern .app-shell .card{min-width:0;padding:25px;border:1px solid var(--portal-border);border-radius:19px;background:#fff;box-shadow:0 7px 25px #18375604;animation:portal-card-in .42s ease-out both;animation-delay:var(--panel-delay,0ms)}
.portal-modern .card-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:17px;margin-bottom:19px;border-bottom:1px solid #edf1f6}.portal-modern .card h2,.portal-modern .card-head h2{font-size:18px;letter-spacing:-.025em;font-weight:650;color:#23445e;margin:0;line-height:1.5}.portal-modern .card h3{font-size:16px;line-height:1.6}.portal-modern .app-shell .card p{font-size:13px;line-height:1.8;color:#73899c}.portal-modern .muted{font-size:12px!important;line-height:1.8}
.portal-modern .split-grid,.portal-modern .admin-overview-grid,.portal-modern .profile-layout,.portal-modern .content-grid,.portal-modern .carrier-grid{gap:21px}.portal-modern .split-grid{margin-top:21px}.portal-modern .admin-overview-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
.portal-modern .toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:18px 20px;border:1px solid var(--portal-border);border-radius:16px;background:#fff;margin-bottom:21px;box-shadow:0 3px 12px #17395403}.portal-modern .toolbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.portal-modern .search-field{min-width:220px;gap:9px;background:#f5f8fc;border:1px solid #e1e9f2;border-radius:10px;padding:0 12px;min-height:43px;display:flex;align-items:center}.portal-modern .search-field input{border:0!important;box-shadow:none!important;background:transparent!important;min-width:0;min-height:41px;padding:10px 0;font:inherit;font-size:12px;width:100%}.portal-modern .search-field>span{color:#7a9ab2}.portal-modern .toolbar>span{font-size:12px;color:#7990a5}
.portal-modern .btn{min-height:42px;border-radius:11px;padding:11px 17px;font-size:12px;font-weight:600;line-height:1.4;gap:9px;transition:transform .18s,box-shadow .18s,background .18s,border-color .18s}
.portal-modern .btn-primary{background:linear-gradient(115deg,#2878ef,#2763d6);border:1px solid #2a70e5;box-shadow:0 5px 13px #2874df1a;color:#fff}.portal-modern.portal-admin .btn-primary{background:linear-gradient(115deg,#13899e,#246fb4);border-color:#1b7f9f;box-shadow:0 5px 13px #167f9e1a}
.portal-modern .btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 9px 21px #286fdd29}.portal-modern .btn-primary:active:not(:disabled){transform:translateY(0) scale(.985)}
.portal-modern .btn-ghost,.portal-modern .btn-small{background:#f6f9fd;border:1px solid #d9e5f2;color:#4777a4;box-shadow:none}.portal-modern .btn-ghost:hover,.portal-modern .btn-small:hover{background:#eaf3ff;border-color:#b6d1ec;transform:translateY(-1px)}.portal-modern .btn-small{min-height:35px;padding:8px 12px;border-radius:9px;font-size:11px}.portal-modern .btn-danger{background:#fff4f2;border-color:#f1d8d3;color:#b75b4f}
.portal-modern button:disabled,.portal-modern .btn:disabled{opacity:.65;transform:none!important;box-shadow:none!important;cursor:not-allowed}.portal-modern .icon-btn{height:35px;min-width:35px;border-radius:10px;border:1px solid #deE8f1;background:#f8fafd;color:#607f97;transition:background .18s,border-color .18s}.portal-modern .icon-btn:hover{background:#edf5ff;border-color:#b5cee5}
.portal-modern input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.portal-modern select,.portal-modern textarea{border:1px solid #d9e4ee;border-radius:11px;background:#fbfcfe;color:#264961;font-family:inherit;font-size:14px;min-height:47px;padding:12px 13px;transition:box-shadow .18s,border-color .18s,background .18s;max-width:100%}
.portal-modern input::placeholder,.portal-modern textarea::placeholder{color:#9aaabb;font-size:13px}.portal-modern input:hover:not(:disabled):not([readonly]),.portal-modern select:hover,.portal-modern textarea:hover{border-color:#b7cce0}.portal-modern input:focus,.portal-modern textarea:focus,.portal-modern select:focus{outline:none;border-color:#6aa6e6;box-shadow:0 0 0 4px #3b8bea0e;background:#fff}.portal-modern input[readonly],.portal-modern input:disabled{background:#f0f5f9;color:#6c8599}.portal-modern textarea{resize:vertical;line-height:1.7;min-height:88px}.portal-modern input[type=checkbox],.portal-modern input[type=radio]{accent-color:var(--portal-accent);min-height:0;flex-shrink:0}
.portal-modern .form-grid,.portal-modern .stack-form{gap:19px}.portal-modern .form-grid label,.portal-modern .stack-form label,.portal-modern .field,.portal-modern .track-form label{display:grid;gap:8px;font-size:12px;font-weight:500;color:#56728a;line-height:1.6;min-width:0}.portal-modern .field-row{gap:15px}.portal-modern .checkbox{display:flex!important;align-items:flex-start;gap:10px!important;font-size:12px!important;line-height:1.75!important}.portal-modern .checkbox input{margin-top:4px;width:16px;height:16px;flex-shrink:0}.portal-modern .checkbox a{color:#407cac}
.portal-modern .form-grid:not(.quote-form)>.form-section{padding:22px;border:1px solid #e2eaf3;border-radius:15px;background:linear-gradient(135deg,#f8fafd,#fff);margin:0;display:grid;gap:18px}
.portal-modern .form-section h3[data-panel-step]{display:flex;align-items:center;gap:11px;margin:0 0 2px;font-size:15px}.portal-modern h3[data-panel-step]:before{content:attr(data-panel-step);display:grid;place-items:center;width:29px;height:29px;border:1px solid #dce8f4;border-radius:9px;color:#4b81b0;background:#fff;font-size:10px;font-weight:600}
.portal-modern .form-actions{border-top:1px solid #e7edf4;margin-top:5px;padding-top:20px;gap:13px}.portal-modern .text-link{font-size:12px;color:#4280b8;line-height:1.7}.portal-modern .text-link:hover{text-decoration:underline;text-underline-offset:4px}
.portal-modern .shipment-layout,.portal-modern .service-layout{grid-template-columns:minmax(0,1fr) 260px;gap:22px;align-items:start}.portal-modern .shipment-summary{border:1px solid #d6e6f0;border-radius:18px;background:linear-gradient(145deg,#edf6ff,#f0faf8);box-shadow:0 8px 20px #25466505;padding:24px;color:#315772;animation:portal-card-in .4s ease-out both}.portal-modern .shipment-summary h3{font-size:17px}.portal-modern .shipment-summary p,.portal-modern .shipment-summary li{font-size:12px;line-height:1.8}.portal-modern .shipment-pricing{padding:22px;border-radius:15px}.portal-modern .shipment-pricing .btn{min-height:46px}.portal-modern .shipment-price-choice{border-radius:13px;padding:17px;min-width:0}.portal-modern .shipment-price-choice>span{min-width:0}.portal-modern .shipment-price-choice strong{font-size:13px}.portal-modern .shipment-price-choice small{font-size:11px}.portal-modern .shipment-price-choice b{font-size:22px;white-space:nowrap}.portal-modern .shipment-price-choice input[type=radio]{width:18px;height:18px}
.portal-modern .table-wrap{overflow-x:auto;max-width:100%;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#c4d7e7 transparent}.portal-modern .data-table{overflow:auto}.portal-modern .app-shell table{font-size:12px;line-height:1.65}.portal-modern .app-shell table th{padding:12px 13px;background:#f5f8fc;color:#7b91a5;font-size:10px;font-weight:600;border-bottom:1px solid #e5edf5;letter-spacing:.02em}.portal-modern .app-shell table th:first-child{border-radius:9px 0 0 9px}.portal-modern .app-shell table th:last-child{border-radius:0 9px 9px 0}.portal-modern .app-shell table td{padding:16px 13px;color:#56738b;border-bottom:1px solid #edf2f7;font-size:12px}.portal-modern .app-shell table tr:hover td{background:#f8fbff}.portal-modern .app-shell table select{min-height:36px;padding:7px 10px;font-size:11px;min-width:132px}.portal-modern .table-detail-link{color:#3d7aaa;text-decoration:none;font-weight:600}.portal-modern .table-detail-link:hover{text-decoration:underline}.portal-modern .table-sub{display:block;color:#9aa9b6;font-size:10px}.portal-modern .person b{font-size:12px}.portal-modern .person small{font-size:10px;color:#8b9eae}
.portal-modern .badge{font-size:10px;font-weight:500;padding:6px 10px;border-radius:7px;line-height:1.25}.portal-modern .type-pill{font-size:10px;background:#edf5fd;color:#5783a8;padding:5px 9px;border-radius:7px}.portal-modern .carrier-inline{gap:8px}.portal-modern .carrier-inline .carrier-logo-badge{border:0;background:transparent!important;box-shadow:none}
.portal-modern .empty{padding:37px 20px;text-align:center;border:1px dashed #dce7f1;border-radius:15px;background:radial-gradient(ellipse at top,#f2f8ff,transparent 70%),#fcfdff}.portal-modern .empty-icon{display:grid;place-items:center;width:53px;height:53px;margin:0 auto 16px;border:1px solid #dceaf7;border-radius:17px;background:#fff;color:#93b5cf;rotate:-6deg;box-shadow:0 6px 14px #224d7106}.portal-modern .empty-icon .ui-icon{width:27px;height:27px;stroke-width:1.3}.portal-modern .empty strong{display:block;font-size:15px;color:#52728b;font-weight:600}.portal-modern .app-shell .empty p{font-size:12px;margin:8px auto 0;max-width:410px;color:#91a3b3}
.portal-modern .readiness-list>div{padding:15px 0;gap:12px;border-color:#edf2f7}.portal-modern .readiness-list strong{font-size:12px;font-weight:600;color:#3a5c76}.portal-modern .readiness-list small{font-size:11px;color:#8a9eb0;line-height:1.7;margin-top:5px}.portal-modern .readiness-list .badge{font-size:9px;padding:5px 8px;border-radius:6px}.portal-modern .readiness-icon{width:32px;height:32px;border-radius:10px}.portal-modern .readiness-icon .ui-icon{width:17px;height:17px}.portal-modern .operations-steps li{gap:14px;padding:20px 0;position:relative}.portal-modern .operations-steps li:not(:last-child):after{content:"";position:absolute;left:16px;top:60px;bottom:0;border-left:1px dashed #d7e4f0}.portal-modern .operations-steps li>b{width:34px;height:34px;background:#f5f9fe;border:1px solid #deE9f4;border-radius:11px;font-size:10px}.portal-modern .operations-steps strong{font-size:13px;font-weight:600;color:#44647c}.portal-modern .operations-steps p{font-size:12px!important;line-height:1.7}.portal-modern .operations-steps a{font-size:11px;color:#3a81b8}
.portal-modern .pricing-policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.portal-modern .pricing-policy-card>p{margin:0 0 22px}.portal-modern .pricing-policy-card .stack-form>.muted{border-radius:11px;background:#f5f9fc;border:1px solid #e5edf5;padding:14px 15px;font-size:11px!important}
.portal-modern .content-card{gap:20px}.portal-modern .content-card h3{font-size:16px;line-height:1.6}.portal-modern .content-card p{font-size:12px;line-height:1.8}.portal-modern .content-card .eyebrow{font-size:9px;color:#7b9bb5}.portal-modern .carrier-card{gap:15px}.portal-modern .carrier-card h3{font-size:16px}.portal-modern .carrier-state{font-size:10px}.portal-modern .notification-card{border-color:#e5edf5;border-radius:12px;padding:19px;gap:15px}.portal-modern .notification-card h3{font-size:14px}.portal-modern .notification-card p{font-size:12px}.portal-modern .notification-card small{font-size:10px;color:#8d9eae}.portal-modern .notification-card.unread{background:#f4f9ff;border-color:#cee2f5}.portal-modern .notification-icon{border-radius:10px;background:#e8f3fc;color:#538ebd}
.portal-modern .wallet-head{border-radius:17px;background:linear-gradient(120deg,#173c58,#1d6873);color:#fff;padding:25px}.portal-modern .wallet-head h2,.portal-modern .wallet-head strong{color:#fff}.portal-modern .wallet-head p{color:#accbd9!important}.portal-modern .bank-details{line-height:1.8;border-radius:14px;background:#f5f9fc;padding:20px}.portal-modern .bank-details code{font-size:14px;color:#4d738e}.portal-modern .message-bubble{font-size:13px;border-radius:13px;padding:17px}.portal-modern .reply-form textarea{font-size:13px}.portal-modern .conversation-head h2{font-size:16px}.portal-modern .conversation-head small{font-size:10px}.portal-modern .security-symbol{height:42px;width:42px;border-radius:13px;background:#edf5ff}
.portal-modern .modal-backdrop{background:#0b203960;backdrop-filter:blur(8px);z-index:100}.portal-modern .modal{border-radius:22px;border:1px solid #dce6ef;box-shadow:0 30px 100px #09233b33;animation:portal-dialog-in .25s ease-out both}.portal-modern .modal-head{padding:21px 25px;border-bottom:1px solid #e4edf5;background:#fafdff;border-radius:22px 22px 0 0}.portal-modern .modal-head h2{font-size:19px;letter-spacing:-.025em}.portal-modern .modal .form-grid{padding:23px}.portal-modern .modal .shipment-detail{padding:23px}.portal-modern .modal .form-grid .form-grid{padding:0}.portal-modern .toast{border-radius:12px;font-size:12px;box-shadow:0 12px 35px #0d314721;z-index:200}
.portal-modern .loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:50px;color:#7293ad;font-size:13px}.portal-modern .spinner{border-color:#d8e7f4;border-top-color:#3f8bc9}.portal-modern .error-box,.portal-modern .inline-error{border-radius:12px;font-size:13px;line-height:1.7}
.portal-modern .app-main>.footer{background:#ffffff80;border-top:1px solid #e3eaf2;color:#8fa3b5;font-size:10px;padding:17px 34px}
.portal-modern.portal-auth .sidebar{display:none!important}.portal-modern.portal-auth .mobile-menu{display:none}.portal-modern.portal-auth .app-main>main{max-width:1120px;padding:42px 34px 65px}.portal-modern.portal-auth .page-head{padding:0 0 12px;min-height:0;border:0;background:none;box-shadow:none;margin-bottom:27px;overflow:visible}.portal-modern.portal-auth .page-head>div:first-child{padding-right:0;width:100%}.portal-modern.portal-auth .page-head h1{color:#1b3c58;font-size:34px}.portal-modern.portal-auth .page-subtitle{color:#7c91a4;font-size:14px}.portal-modern.portal-auth .page-head .eyebrow{color:#4989b9}.portal-modern.portal-auth .portal-head-art{display:none}
.portal-modern .auth-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:25px}.portal-modern .auth-layout .card{height:100%;padding:33px}.portal-modern .auth-layout .stack-form{gap:22px}.portal-modern .auth-layout .form-actions{justify-content:space-between}.portal-modern .auth-layout .btn-primary{min-width:145px;min-height:46px}.portal-modern .auth-promise{position:relative;isolation:isolate;overflow:hidden;border:1px solid #275570;border-radius:22px;padding:40px;background:radial-gradient(ellipse at 95% 0%,#216f78,transparent 75%),linear-gradient(140deg,#163a54,#123047);color:#fff;display:flex;flex-direction:column;justify-content:center;max-width:none}
.portal-modern .auth-promise:before,.portal-modern .auth-promise:after{content:"";position:absolute;z-index:-1;right:-120px;bottom:-170px;height:370px;width:370px;border:1px solid #91d4df1b;border-radius:50%;pointer-events:none}.portal-modern .auth-promise:after{right:-80px;bottom:-130px;width:290px;height:290px}.portal-modern .promise-mark{width:58px;height:58px;border-radius:17px;margin:0 0 24px;background:none;box-shadow:0 8px 25px #05203920}.portal-modern .promise-mark img{width:58px;height:58px}.portal-modern .auth-promise h2{font-size:29px;letter-spacing:-.035em;line-height:1.25;font-weight:600;color:#effbff;max-width:330px;margin:0 0 16px}.portal-modern .auth-promise p{font-size:14px;line-height:1.9;color:#a7c8d9;margin:0;max-width:350px}.portal-modern .auth-promise .check-list{font-size:12px;color:#b9d5e3;margin:20px 0 0;line-height:2.3}.portal-modern .auth-promise .check-list li:before{color:#88d9c9}
.portal-nav-backdrop{display:none}
@keyframes portal-page-in{from{opacity:0;translate:0 7px}to{opacity:1;translate:0 0}}
@keyframes portal-card-in{from{opacity:0;translate:0 9px}to{opacity:1;translate:0 0}}
@keyframes portal-dialog-in{from{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:none}}
@media(max-width:1250px){.portal-modern .app-shell .sidebar{width:230px;min-width:230px;padding:23px 12px 18px}.portal-modern .app-main>main{padding:26px}.portal-modern .app-main>.topbar{padding:0 26px}.portal-modern .stat-card{padding:19px}.portal-modern .stat-card .stat-icon{right:14px;top:16px;width:29px;height:29px}.portal-modern .stat-card strong{font-size:28px}.portal-modern .stat-card>div:last-child>span{font-size:10px}.portal-modern .page-head{padding:27px}.portal-modern .app-shell .page-head h1{font-size:29px}.portal-modern .portal-head-art{right:-50px;opacity:.5}.portal-modern .shipment-layout,.portal-modern .service-layout{grid-template-columns:minmax(0,1fr) 230px}.portal-modern .app-shell .card{padding:22px}.portal-modern .readiness-list>div{flex-wrap:wrap}.portal-modern .readiness-list .badge{margin-left:44px}.portal-modern .form-grid:not(.quote-form)>.form-section{padding:19px}.portal-modern .pricing-policy-grid{gap:19px}}
@media(max-width:1050px){.portal-modern .dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.portal-modern .stat-card{min-height:151px;padding:21px}.portal-modern .stat-card strong{font-size:32px}.portal-modern .stat-card>div:last-child>span{font-size:12px}.portal-modern .admin-overview-grid,.portal-modern .profile-layout,.portal-modern .pricing-policy-grid{grid-template-columns:1fr}.portal-modern .shipment-layout,.portal-modern .service-layout{grid-template-columns:1fr}.portal-modern .shipment-summary{position:static}.portal-modern .shipment-layout>.shipment-summary,.portal-modern .service-aside{max-width:none}.portal-modern .content-grid,.portal-modern .carrier-grid{grid-template-columns:1fr}.portal-modern .portal-dashboard-head>div:first-child{width:100%;padding-right:80px}.portal-modern .portal-head-art{right:-75px;opacity:.35}.portal-modern .auth-layout{gap:22px}.portal-modern .auth-promise{padding:31px}.portal-modern .auth-promise h2{font-size:26px}}
@media(min-width:721px) and (max-width:960px){.portal-modern .app-shell .sidebar{width:76px;min-width:76px;padding:22px 10px}.portal-modern .sidebar .brand{padding:0;display:flex;justify-content:center}.portal-modern .sidebar .brand>a>span:last-child,.portal-modern .user-summary,.portal-modern .sidebar .nav-text,.portal-modern .sidebar-foot{display:none!important}.portal-modern .app-shell .nav{padding:15px 0 0}.portal-modern .app-shell .nav a{justify-content:center;padding:12px 10px}.portal-modern .nav-label{font-size:0;padding:9px 0;margin:0 10px 12px;border-bottom:1px solid #a3c6df1a}.portal-modern .nav-group{margin-bottom:20px}.portal-modern .nav a.active:before{left:-3px}.portal-modern .app-main>main{padding:25px}.portal-modern .app-main>.topbar{padding:0 25px}.portal-modern .mobile-menu{display:none}}
@media(max-width:720px){.portal-modern .app-shell .sidebar{position:fixed;left:0;top:0;bottom:0;width:260px;min-width:260px;max-width:calc(100vw - 60px);height:100dvh;padding:24px 15px;z-index:70;display:none;box-shadow:18px 0 50px #071d3c33}.portal-modern .app-shell .sidebar.open{display:flex;animation:portal-dialog-in .23s ease-out}.portal-modern .sidebar .brand>a>span:last-child,.portal-modern .sidebar.open .user-summary,.portal-modern .sidebar .nav-text,.portal-modern .sidebar-foot{display:block!important}.portal-modern .sidebar.open .user-summary{display:flex!important}.portal-modern .sidebar .brand{padding:0 12px}.portal-modern .nav-label{font-size:9px}.portal-modern .app-shell .nav a{justify-content:flex-start}.portal-modern .portal-nav-backdrop:not([hidden]){display:block;position:fixed;inset:0;border:0;background:#09213d66;backdrop-filter:blur(3px);z-index:65;cursor:pointer}
.portal-modern .app-main>.topbar{min-height:66px;height:66px;padding:0 16px;gap:13px}.portal-modern .mobile-menu{display:grid;place-items:center;flex-shrink:0;min-width:35px;height:35px}.portal-modern .crumbs{font-size:11px;gap:7px;flex:1;max-width:none;overflow:hidden;white-space:nowrap}.portal-modern .crumbs strong{font-size:11px;overflow:hidden;text-overflow:ellipsis}.portal-modern .crumbs>span:first-child,.portal-modern .crumbs .sep{display:none}.portal-modern .top-user{font-size:10px;min-height:34px;padding:8px 10px;white-space:nowrap}.portal-modern .help-link{display:none}.portal-modern .top-actions{gap:8px}
.portal-modern .app-main>main{padding:20px 15px 30px}.portal-modern .page-head{min-height:0;padding:25px 22px;margin-bottom:20px;border-radius:18px;gap:16px}.portal-modern .page-head>div:first-child{padding-right:0;width:100%}.portal-modern .app-shell .page-head h1{font-size:27px;line-height:1.2}.portal-modern .page-head .eyebrow{font-size:8px;letter-spacing:.14em;margin-bottom:13px}.portal-modern .app-shell .page-subtitle{font-size:12px;line-height:1.8;max-width:none}.portal-modern .portal-head-art{display:none}.portal-modern .portal-dashboard-head>div:first-child{width:100%;padding:0}.portal-head-actions{gap:9px;margin-top:0}.portal-modern .portal-head-actions .btn{flex:1;min-width:120px;padding:11px 10px;font-size:10px;gap:6px;min-height:42px}.portal-modern .portal-head-actions .ui-icon{width:14px;height:14px}.portal-modern .portal-head-actions .ui-icon:last-child{display:none}
.portal-modern .dashboard-stats{gap:11px;margin-bottom:20px}.portal-modern .stat-card{padding:17px 15px;min-height:150px;border-radius:15px}.portal-modern .stat-card .stat-icon{position:static;width:28px;height:28px;margin-bottom:12px}.portal-modern .stat-card .stat-icon .ui-icon{width:16px;height:16px}.portal-modern .stat-card>div:last-child>span{padding:0;min-height:0;font-size:10px}.portal-modern .stat-card strong{font-size:28px;margin:8px 0 5px}.portal-modern .stat-card small{font-size:9px;line-height:1.6}.portal-modern .stat-card:after{left:15px;right:15px}
.portal-modern .app-shell .card{padding:21px 18px;border-radius:16px}.portal-modern .card-head{padding-bottom:14px;margin-bottom:18px}.portal-modern .card h2{font-size:17px}.portal-modern .card h3{font-size:15px}.portal-modern .app-shell .card p{font-size:12px}.portal-modern .admin-overview-grid,.portal-modern .split-grid,.portal-modern .profile-layout,.portal-modern .content-grid,.portal-modern .carrier-grid{grid-template-columns:1fr;gap:17px}.portal-modern .toolbar{padding:15px;border-radius:14px;gap:12px}.portal-modern .toolbar-actions{width:100%;gap:10px}.portal-modern .toolbar-actions>*{flex:1;min-width:0}.portal-modern .search-field{min-width:0;width:100%}.portal-modern .toolbar>.btn{min-height:40px}.portal-modern .btn{font-size:12px;min-height:43px;padding:12px 15px}.portal-modern .btn-small{min-height:35px;padding:8px 10px;font-size:10px}.portal-modern .form-actions{align-items:stretch;gap:12px;padding-top:17px}.portal-modern .form-actions>.btn{width:100%}
.portal-modern input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.portal-modern select,.portal-modern textarea{font-size:16px;min-height:49px;padding:12px;max-width:100%}.portal-modern .form-grid,.portal-modern .stack-form{gap:17px}.portal-modern .field-row,.portal-modern .field-row.three{grid-template-columns:1fr}.portal-modern .field-row.package-measurements{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-modern .form-grid:not(.quote-form)>.form-section{padding:18px 14px;gap:17px}.portal-modern .form-grid label,.portal-modern .stack-form label{font-size:12px}.portal-modern .form-section h3[data-panel-step]{font-size:14px}.portal-modern .shipment-pricing{padding:17px 13px}.portal-modern .shipment-price-choice{gap:12px!important;flex-wrap:wrap;padding:15px 12px}.portal-modern .shipment-price-choice b{font-size:21px;margin-left:auto}.portal-modern .shipment-price-choice input[type=radio]{min-height:18px}.portal-modern .shipment-summary{padding:21px}.portal-modern .quote-form .field-row.three{grid-template-columns:repeat(2,minmax(0,1fr))}
.portal-modern .app-shell table td{padding:14px 10px;font-size:11px}.portal-modern .app-shell table th{padding:11px 10px;font-size:10px}.portal-modern .empty{padding:30px 15px}.portal-modern .empty strong{font-size:14px}.portal-modern .app-shell .empty p{font-size:11px}.portal-modern .readiness-list .badge{margin-left:44px}.portal-modern .readiness-list small{font-size:11px}.portal-modern .reply-form{flex-direction:column;align-items:stretch}.portal-modern .reply-form textarea{width:100%}.portal-modern .conversation-head{flex-wrap:wrap}.portal-modern .modal-backdrop{padding:12px}.portal-modern .modal{border-radius:18px;max-height:92dvh}.portal-modern .modal-head{padding:18px;border-radius:18px 18px 0 0}.portal-modern .modal-head h2{font-size:17px}.portal-modern .modal .form-grid,.portal-modern .modal .shipment-detail{padding:18px}.portal-modern .app-main>.footer{padding:17px 20px;font-size:9px;gap:6px}
.portal-modern.portal-auth .app-main>main{padding:30px 20px 40px}.portal-modern.portal-auth .page-head h1{font-size:29px}.portal-modern.portal-auth .page-head{padding:0;margin-bottom:24px}.portal-modern.portal-auth .page-subtitle{font-size:13px}.portal-modern .auth-layout{grid-template-columns:1fr;gap:20px}.portal-modern .auth-layout .card{padding:26px 22px}.portal-modern .auth-layout .form-actions{flex-direction:column;align-items:stretch}.portal-modern .auth-layout .text-link{text-align:center;padding:5px}.portal-modern .auth-promise{padding:30px}.portal-modern .auth-promise h2{font-size:26px}.portal-modern .auth-promise p{font-size:13px}.portal-modern .auth-promise .check-list{font-size:12px}}
@media(prefers-reduced-motion:reduce){.portal-modern *,.portal-modern *:before,.portal-modern *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.portal-modern .stat-card:hover,.portal-modern .btn:hover{transform:none}.portal-modern .app-shell .page,.portal-modern .stat-card,.portal-modern .card{opacity:1;translate:none}}

/* Keep quote inputs comfortable inside the narrower portal workspace. */
@media(min-width:721px) and (max-width:1400px){.portal-modern .service-layout{grid-template-columns:1fr}.portal-modern .service-aside{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.portal-modern .service-aside>*{margin:0}.portal-modern .service-aside .card{padding:20px}}
@media(min-width:721px) and (max-width:960px){.portal-modern .quote-form{grid-template-columns:1fr}.portal-modern .service-aside{grid-template-columns:1fr}}
