.portal-app{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-app)}.portal-nav{height:64px;background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);position:-webkit-sticky;position:sticky;top:0;z-index:40;flex-shrink:0}.portal-nav-inner{height:100%;padding:0 32px;display:flex;align-items:center;gap:0}.portal-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;margin-right:36px;flex-shrink:0}.portal-brand img{width:28px;height:28px;object-fit:contain;flex-shrink:0}.portal-brand-text{display:flex;flex-direction:column;line-height:1;gap:3px}.portal-brand-text .a{font-size:13.5px;font-weight:700;letter-spacing:-.01em;color:var(--fg-primary)}.portal-brand-text .b{font-size:9px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--fg-tertiary)}.portal-nav-links{display:flex;align-items:center;gap:2px;flex:1 1}.portal-nav-link{display:flex;align-items:center;gap:7px;padding:7px 12px;border-radius:var(--radius-sm);font-size:13.5px;font-weight:500;color:var(--fg-secondary);text-decoration:none;transition:background var(--duration-fast),color var(--duration-fast);border:none;background:transparent;cursor:pointer;white-space:nowrap}.portal-nav-link:hover{background:var(--bg-subtle);color:var(--fg-primary)}.portal-nav-link.active{color:var(--brand-700);background:var(--brand-50)}.portal-nav-link .ico{width:15px;height:15px;flex-shrink:0}.portal-nav-right{margin-left:auto}.portal-nav-right,.portal-user-btn{display:flex;align-items:center;gap:8px}.portal-user-btn{padding:5px 10px 5px 6px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:transparent;color:var(--fg-primary);font-size:13px;font-weight:500;cursor:pointer;transition:background var(--duration-fast),border-color var(--duration-fast);font-family:inherit}.portal-user-btn:hover{background:var(--bg-subtle);border-color:var(--border-default)}.portal-user-avatar{width:26px;height:26px;border-radius:999px;background:linear-gradient(135deg,var(--brand-600),#4f46e5);color:#fff;font-size:10.5px;font-weight:700;display:flex;align-items:center;justify-content:center;letter-spacing:.02em;flex-shrink:0}.portal-user-dropdown{position:absolute;top:calc(100% + 6px);right:0;width:220px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:6px;z-index:60}.portal-user-dropdown-head{padding:10px 12px;border-bottom:1px solid var(--border-subtle);margin-bottom:6px}.portal-user-dropdown-head .name{font-size:13px;font-weight:600;color:var(--fg-primary)}.portal-user-dropdown-head .email{font-size:11.5px;color:var(--fg-tertiary);margin-top:2px}.portal-user-dropdown-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;color:var(--fg-secondary);cursor:pointer;background:transparent;border:none;width:100%;text-align:left;font-family:inherit;transition:background var(--duration-fast),color var(--duration-fast)}.portal-user-dropdown-item:hover{background:var(--bg-subtle);color:var(--fg-primary)}.portal-user-dropdown-item.danger:hover{background:var(--danger-50);color:var(--danger-700)}.portal-user-dropdown-item .ico{width:14px;height:14px}.portal-body{flex:1 1}.portal-page{padding:32px 32px 80px}.portal-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.portal-page-head h1{margin:0;font-size:24px;line-height:30px;font-weight:600;letter-spacing:-.02em;color:var(--fg-primary)}.portal-page-head .sub{margin-top:4px;font-size:13.5px;color:var(--fg-tertiary)}.portal-page-head .actions{display:flex;gap:8px;align-items:center}.portal-welcome{margin-bottom:24px}.portal-welcome h2{font-size:21px;font-weight:600;letter-spacing:-.02em;color:var(--fg-primary);margin:0 0 4px}.portal-welcome .sub{font-size:13.5px;color:var(--fg-tertiary)}.portal-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin-bottom:24px}.portal-stat{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:18px 20px 16px;position:relative;overflow:hidden;transition:border-color var(--duration-base),box-shadow var(--duration-base)}.portal-stat:hover{border-color:var(--border-default);box-shadow:var(--shadow-sm)}.portal-stat:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:var(--radius-lg) 0 0 var(--radius-lg)}.portal-stat[data-c=blue]:before{background:var(--brand-500)}.portal-stat[data-c=green]:before{background:var(--success-500)}.portal-stat[data-c=amber]:before{background:var(--warning-500)}.portal-stat[data-c=violet]:before{background:#8b5cf6}.portal-stat-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.portal-stat-label{font-size:12.5px;font-weight:500;color:var(--fg-tertiary);letter-spacing:0}.portal-stat-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.portal-stat[data-c=blue] .portal-stat-icon{background:var(--brand-50);color:var(--brand-700)}.portal-stat[data-c=green] .portal-stat-icon{background:var(--success-50);color:var(--success-700)}.portal-stat[data-c=amber] .portal-stat-icon{background:var(--warning-50);color:var(--warning-700)}.portal-stat[data-c=violet] .portal-stat-icon{background:#f5f3ff;color:#6d28d9}.portal-stat-value{font-size:30px;font-weight:700;letter-spacing:-.03em;color:var(--fg-primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.1}.portal-stat-footer{font-size:12px;color:var(--fg-tertiary);margin-top:4px}.portal-dash-grid{display:grid;grid-template-columns:1.5fr 1fr;grid-gap:14px;gap:14px}.portal-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}.portal-card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-bottom:1px solid var(--border-subtle)}.portal-card-head h3{margin:0;font-size:14px;font-weight:600;letter-spacing:-.005em;color:var(--fg-primary)}.portal-card-head .sub{margin-top:2px;font-size:12px;color:var(--fg-tertiary)}.portal-card-head .link{font-size:12.5px;font-weight:500;color:var(--brand-600);text-decoration:none;display:flex;align-items:center;gap:4px;transition:color var(--duration-fast)}.portal-card-head .link:hover{color:var(--brand-700)}.portal-card-head .link .ico{width:13px;height:13px}.portal-ship-list{display:flex;flex-direction:column;gap:10px}.portal-ship-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:border-color var(--duration-base),box-shadow var(--duration-base);text-decoration:none;color:inherit;display:block}.portal-ship-card:hover{border-color:var(--border-default);box-shadow:var(--shadow-sm)}.portal-ship-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 18px 12px}.portal-ship-card-left{flex:1 1;min-width:0}.portal-ship-card-id{font-family:var(--font-mono);font-size:11.5px;color:var(--fg-tertiary);margin-bottom:3px;display:block}.portal-ship-card-route{font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--fg-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-ship-card-meta{display:flex;align-items:center;gap:7px;margin-top:8px;flex-wrap:wrap}.portal-ship-card-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}.portal-ship-card-eta{font-size:12px;color:var(--fg-tertiary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.portal-ship-card-eta span{color:var(--fg-secondary);font-weight:500}.portal-ship-card-body{padding:10px 18px 14px;border-top:1px solid var(--border-subtle);display:flex;align-items:center;gap:24px}.portal-ship-spec{display:flex;flex-direction:column;gap:1px}.portal-ship-spec .k{font-size:10.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--fg-tertiary)}.portal-ship-spec .v{font-size:13px;font-weight:500;color:var(--fg-primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.portal-ship-progress{flex:1 1;display:flex;flex-direction:column;gap:5px;margin-left:auto}.portal-ship-progress .row{display:flex;justify-content:space-between;font-size:11px;color:var(--fg-tertiary);font-weight:500}.portal-ship-progress .bar{height:4px;border-radius:999px;background:var(--bg-muted);overflow:hidden}.portal-ship-progress .bar .fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--brand-500),var(--brand-700));transition:width .5s var(--ease-out)}.portal-ship-row{display:flex;align-items:center;gap:14px;padding:12px 20px;border-bottom:1px solid var(--border-subtle);cursor:pointer;text-decoration:none;color:inherit;transition:background var(--duration-fast)}.portal-ship-row:last-child{border-bottom:none}.portal-ship-row:hover{background:var(--bg-subtle)}.portal-ship-row .main{flex:1 1;min-width:0}.portal-ship-row .sid{font-family:var(--font-mono);font-size:11.5px;color:var(--fg-tertiary);margin-bottom:2px;display:block}.portal-ship-row .route{font-size:13.5px;font-weight:600;color:var(--fg-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-ship-row .eta-label{font-size:11.5px;color:var(--fg-tertiary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.portal-timeline{position:relative;display:flex;flex-direction:column}.portal-timeline:before{content:"";position:absolute;left:19px;top:28px;bottom:28px;width:2px;background:var(--border-default);z-index:0}.portal-milestone{display:grid;grid-template-columns:40px 1fr;grid-gap:18px;gap:18px;padding:14px 0;position:relative}.portal-milestone-dot{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:1;transition:background var(--duration-base),border-color var(--duration-base)}.portal-milestone[data-s=done] .portal-milestone-dot{background:var(--brand-600);color:#fff;border:2px solid var(--brand-600)}.portal-milestone[data-s=active] .portal-milestone-dot{background:var(--bg-surface);border:2.5px solid var(--brand-500);color:var(--brand-600);box-shadow:0 0 0 5px var(--brand-100)}.portal-milestone[data-s=future] .portal-milestone-dot{background:var(--bg-surface);border:2px solid var(--border-default);color:var(--fg-disabled)}.portal-milestone-body{padding-top:9px}.portal-milestone-label{font-size:14px;font-weight:600;color:var(--fg-primary);margin-bottom:3px}.portal-milestone-meta,.portal-milestone[data-s=future] .portal-milestone-label{color:var(--fg-tertiary)}.portal-milestone-meta{font-size:12.5px}.portal-milestone[data-s=active] .portal-milestone-meta{color:var(--brand-700);font-weight:500}.portal-receipt-list{display:flex;flex-direction:column;gap:10px}.portal-receipt-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:16px 20px;display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:16px;gap:16px;cursor:pointer;text-decoration:none;color:inherit;transition:border-color var(--duration-base),box-shadow var(--duration-base)}.portal-receipt-card:hover{border-color:var(--border-default);box-shadow:var(--shadow-sm)}.portal-receipt-id{font-family:var(--font-mono);font-size:12px;color:var(--fg-tertiary);margin-bottom:3px;display:block}.portal-receipt-desc{font-size:14px;font-weight:500;color:var(--fg-primary);margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-receipt-specs{display:flex;gap:16px;flex-wrap:wrap}.portal-receipt-spec{font-size:12px;color:var(--fg-tertiary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.portal-receipt-spec strong{color:var(--fg-secondary);font-weight:500}.portal-wh-summary{display:flex;flex-direction:column;gap:0}.portal-wh-row{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--border-subtle)}.portal-wh-row:last-child{border-bottom:none}.portal-wh-row .label{font-size:13px;font-weight:500;color:var(--fg-primary)}.portal-wh-row .count{font-size:18px;font-weight:700;letter-spacing:-.02em;color:var(--fg-primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.portal-quote-list{display:flex;flex-direction:column;gap:10px}.portal-quote-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:16px 20px;display:grid;grid-template-columns:1fr auto;align-items:start;grid-gap:16px;gap:16px;cursor:pointer;text-decoration:none;color:inherit;transition:border-color var(--duration-base),box-shadow var(--duration-base)}.portal-quote-card:hover{border-color:var(--border-default);box-shadow:var(--shadow-sm)}.portal-quote-id{font-family:var(--font-mono);font-size:12px;color:var(--fg-tertiary);margin-bottom:3px;display:block}.portal-quote-route{font-size:14px;font-weight:600;color:var(--fg-primary);margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-quote-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.portal-quote-right{text-align:right}.portal-quote-total{font-size:20px;font-weight:700;letter-spacing:-.02em;color:var(--fg-primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-bottom:2px}.portal-quote-currency{font-size:13px;font-weight:400;color:var(--fg-tertiary)}.portal-quote-valid{font-size:12px;color:var(--fg-tertiary)}.portal-invoice-summary{display:flex;align-items:center;background:var(--admin-surface,#fff);border:1px solid var(--border-default);border-radius:var(--radius-lg,12px);padding:16px 24px;margin-bottom:20px;flex-wrap:wrap;gap:0}.portal-inv-stat{display:flex;flex-direction:column;gap:3px;padding:4px 24px 4px 0}.portal-inv-stat .k{font-size:11.5px;color:var(--fg-tertiary);font-weight:500;text-transform:uppercase;letter-spacing:.04em}.portal-inv-stat .v{font-size:18px;font-weight:700;color:var(--fg-primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.portal-inv-stat .v.paid{color:var(--success-600,#16a34a)}.portal-inv-stat .v.overdue{color:var(--danger-600,#dc2626)}.portal-inv-stat-sep{width:1px;align-self:stretch;background:var(--border-default);margin:0 24px 0 0}.portal-invoice-list{display:flex;flex-direction:column;gap:8px}.portal-invoice-row{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--admin-surface,#fff);border:1px solid var(--border-default);border-radius:var(--radius-lg,12px);padding:16px 20px;transition:box-shadow .15s,border-color .15s}.portal-invoice-row:hover{box-shadow:0 4px 16px rgba(15,23,42,.07);border-color:var(--border-strong)}.portal-invoice-left{min-width:0;flex:1 1;display:flex;flex-direction:column;gap:4px}.portal-invoice-ref{font-size:14px;font-weight:700;color:var(--fg-primary);font-family:var(--font-mono,monospace)}.portal-invoice-meta{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--fg-secondary);flex-wrap:wrap}.portal-meta-sep{color:var(--border-strong)}.portal-invoice-right{text-align:right;flex-shrink:0}.portal-invoice-amount{font-size:17px;font-weight:700;color:var(--fg-primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.portal-invoice-amount.paid{color:var(--success-600,#16a34a)}.portal-invoice-amount.overdue{color:var(--danger-600,#dc2626)}.portal-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:20px;flex-wrap:wrap}.portal-filter-chips{display:flex;gap:6px;flex-wrap:wrap}.portal-filter-chip{padding:5px 12px;border-radius:999px;border:1px solid var(--border-default);background:transparent;font-size:13px;font-weight:500;color:var(--fg-secondary);cursor:pointer;font-family:inherit;transition:background var(--duration-fast),border-color var(--duration-fast),color var(--duration-fast)}.portal-filter-chip:hover{border-color:var(--border-strong);color:var(--fg-primary)}.portal-filter-chip.active{background:var(--brand-600);border-color:var(--brand-600);color:#fff}.portal-search{display:flex;align-items:center;gap:8px;padding:7px 12px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:border-color var(--duration-fast),box-shadow var(--duration-fast);flex:0 0 260px}.portal-search:focus-within{border-color:var(--brand-400);box-shadow:0 0 0 3px var(--brand-100)}.portal-search input{border:none;outline:none;background:transparent;font-size:13px;color:var(--fg-primary);flex:1 1;min-width:0}.portal-search input::placeholder{color:var(--fg-tertiary)}.portal-search .ico{width:14px;height:14px;color:var(--fg-tertiary);flex-shrink:0}.portal-input{width:100%;padding:8px 11px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:13px;color:var(--fg-primary);font-family:inherit;outline:none;transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.portal-input:focus{border-color:var(--brand-400);box-shadow:0 0 0 3px var(--brand-100)}.portal-input::placeholder{color:var(--fg-tertiary)}textarea.portal-input{resize:vertical;min-height:64px}.portal-cargo-table{width:100%;border-collapse:collapse;font-size:13px}.portal-cargo-table th{text-align:left;font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--fg-tertiary);padding:6px 10px;border-bottom:1px solid var(--border-default);white-space:nowrap}.portal-cargo-table td{padding:8px 10px;border-bottom:1px solid var(--border-subtle,var(--border-default));color:var(--fg-primary);vertical-align:top}.portal-cargo-table tbody tr:last-child td{border-bottom:none}.portal-skel-card,.portal-skel-list{display:flex;flex-direction:column;gap:10px}.portal-skel-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:20px}.portal-skel-line{height:14px;border-radius:6px;background:var(--bg-muted);animation:portal-skel-pulse 1.4s ease-in-out infinite}.portal-skel-line.sm{height:10px}.portal-skel-line.w40{width:40%}.portal-skel-line.w60{width:60%}.portal-skel-line.w80{width:80%}.portal-skel-line.w100{width:100%}@keyframes portal-skel-pulse{0%,to{opacity:1}50%{opacity:.45}}.portal-empty{flex-direction:column;padding:56px 24px;text-align:center;gap:12px}.portal-empty,.portal-empty-icon{display:flex;align-items:center;justify-content:center}.portal-empty-icon{width:48px;height:48px;border-radius:50%;background:var(--bg-subtle);color:var(--fg-disabled)}.portal-empty h4{margin:0;font-size:15px;font-weight:600;color:var(--fg-secondary)}.portal-empty p{margin:0;font-size:13px;line-height:1.55;max-width:280px;color:var(--fg-tertiary)}.portal-detail-back{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:500;color:var(--fg-tertiary);background:transparent;border:none;padding:4px 2px;margin-bottom:16px;cursor:pointer;font-family:inherit;text-decoration:none}.portal-detail-back:hover{color:var(--fg-primary)}.portal-detail-back .ico{width:14px;height:14px;transform:rotate(180deg)}.portal-detail-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.portal-detail-id{font-family:var(--font-mono);font-size:13px;color:var(--fg-tertiary);margin-bottom:5px}.portal-detail-head h1{margin:0;font-size:22px;font-weight:600;letter-spacing:-.02em}.portal-detail-grid{display:grid;grid-template-columns:1fr 320px;grid-gap:16px;gap:16px;align-items:start}.portal-route-strip{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:20px;gap:20px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:20px 28px;margin-bottom:20px}.portal-route-end .k{font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--fg-tertiary);margin-bottom:4px}.portal-route-end .city{font-size:18px;font-weight:700;letter-spacing:-.02em;color:var(--fg-primary)}.portal-route-end .code{font-family:var(--font-mono);font-size:12px;color:var(--fg-tertiary);margin-top:2px}.portal-route-end.dest{text-align:right}.portal-route-mid{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:140px}.portal-route-mid .mode-ico{color:var(--brand-600)}.portal-route-mid .bar-wrap{width:100%;height:4px;border-radius:999px;background:var(--bg-muted);position:relative;overflow:hidden}.portal-route-mid .bar-fill{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:linear-gradient(90deg,var(--brand-500),var(--brand-700))}.portal-route-mid .eta-label{font-size:11.5px;color:var(--fg-tertiary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.portal-exc-banner{display:flex;align-items:flex-start;gap:12px;padding:14px 18px;border-radius:var(--radius-md);background:var(--danger-50);border:1px solid rgba(240,68,56,.24);margin-bottom:16px;font-size:13.5px;color:var(--danger-700);line-height:1.5}.portal-exc-banner.amber{background:var(--warning-50);border-color:rgba(247,144,9,.24);color:var(--warning-700)}.portal-exc-banner .ico{width:16px;height:16px;flex-shrink:0;margin-top:2px}.portal-login-screen{min-height:100vh;background:var(--bg-app);display:flex;align-items:center;justify-content:center;padding:24px}.portal-login-card{width:100%;max-width:400px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:36px 32px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:20px}.portal-login-brand{display:flex;align-items:center;gap:12px;margin-bottom:2px}.portal-login-brand img{width:40px;height:40px;object-fit:contain;border-radius:10px}.portal-login-brand-text .a{font-size:15px;font-weight:700;color:var(--fg-primary);letter-spacing:-.01em}.portal-login-brand-text .b{font-size:11px;color:var(--fg-tertiary);margin-top:1px}.portal-login-title{font-size:20px;font-weight:600;letter-spacing:-.02em;color:var(--fg-primary);margin:0}.portal-login-sub{font-size:13.5px;color:var(--fg-tertiary);line-height:1.55;margin:-10px 0 0}@media (max-width:1024px){.portal-dash-grid,.portal-detail-grid{grid-template-columns:1fr}}@media (max-width:900px){.portal-stat-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.portal-page{padding:20px 16px 60px}.portal-nav-inner{padding:0 16px}.portal-nav-links .portal-nav-label{display:none}.portal-stat-grid{grid-template-columns:1fr 1fr}.portal-search{flex:1 1;min-width:0}.portal-detail-head{flex-direction:column;align-items:flex-start}.portal-ship-card-body{flex-wrap:wrap;gap:14px}.portal-route-strip{grid-template-columns:1fr;gap:12px}.portal-route-end.dest{text-align:left}}@media (max-width:400px){.portal-stat-grid{grid-template-columns:1fr}}