@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_Fallback_f367f3;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_f367f3{font-family:__Inter_f367f3,__Inter_Fallback_f367f3;font-style:normal}.__variable_f367f3{--font-sans:"__Inter_f367f3","__Inter_Fallback_f367f3"}:root{color-scheme:dark;--ink:#e8eaf0;--ink-soft:#b4b9c6;--muted:#7b8294;--line:#262b3a;--line-soft:#1b1f2b;--bg:#0b0d12;--surface:#12151c;--surface-2:#171b25;--on-ink:#0b0d12;--status-prenotice:#94a3b8;--status-prenotice-tint:rgba(148,163,184,.14);--status-appointment:#f59e0b;--status-appointment-tint:rgba(245,158,11,.14);--status-customs:#a78bfa;--status-customs-tint:rgba(167,139,250,.16);--status-loading:#60a5fa;--status-loading-tint:rgba(96,165,250,.16);--status-delivered:#4ade80;--status-delivered-tint:rgba(74,222,128,.13);--status-closed:#9ca3af;--status-closed-tint:rgba(156,163,175,.12);--critical:#f87171;--critical-solid:#dc2626;--critical-tint:hsla(0,91%,71%,.14);--eta-soon:#f59e0b;--eta-soon-tint:rgba(245,158,11,.14);--eta-later:#60a5fa;--eta-later-tint:rgba(96,165,250,.16);--eta-past:#9ca3af;--eta-past-tint:rgba(156,163,175,.12);--brand-orange:#f69522;--brand-orange-light:#f5cf26;--brand-blue:#0476b4;--brand-blue-light:#1ba7dc;--shadow-sm:0 1px 2px rgba(0,0,0,.4);--shadow-md:0 8px 24px rgba(0,0,0,.45);--highlight:inset 0 1px 0 hsla(0,0%,100%,.04)}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans),-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-feature-settings:"cv11","ss01","tnum";background:radial-gradient(900px 340px at 12% -8%,rgba(246,149,34,.09),transparent 70%),radial-gradient(900px 340px at 88% -8%,rgba(27,167,220,.09),transparent 70%),var(--bg);background-attachment:fixed;color:var(--ink)}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:transparent}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:32px;width:320px;box-shadow:var(--shadow-md),var(--highlight)}.login-logo{height:92px;width:auto;display:block;margin:0 auto 14px;background:#fff;border-radius:14px;padding:8px 12px}.login-card h1{font-size:19px;margin:0 0 4px;letter-spacing:-.01em;text-align:center}.login-card .sub{font-size:13px;color:var(--muted);margin:0 0 18px;text-align:center}.login-card input{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-size:14px;margin-bottom:10px;background:var(--bg);color:var(--ink)}.login-card input:focus{outline:none;border-color:var(--status-loading);box-shadow:0 0 0 3px var(--status-loading-tint)}.login-card button{width:100%;padding:10px 12px;border:none;border-radius:8px;background:var(--ink);color:var(--on-ink);font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s ease}.login-card button:hover:not(:disabled){opacity:.88}.login-card button:disabled{opacity:.5;cursor:default}.login-card .error{color:var(--critical);background:var(--critical-tint);border-radius:6px;padding:8px 10px;font-size:13px;margin-bottom:10px}.top-nav{max-width:1280px;margin:0 auto;padding:18px 24px 0;justify-content:space-between;gap:12px;flex-wrap:wrap}.top-nav,.top-nav-brand{display:flex;align-items:center}.top-nav-brand{gap:8px;font-size:13px;font-weight:700;color:var(--muted);letter-spacing:.02em}.top-nav-logo{height:30px;width:auto;display:block;background:#fff;border-radius:8px;padding:2px 5px}.status-bar-banner{max-width:1280px;margin:10px auto 0;padding:8px 24px;font-size:12.5px;font-weight:600;border-radius:8px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.status-bar-banner.status-delivered{background:var(--status-delivered-tint);color:var(--status-delivered)}.status-bar-banner.status-appointment{background:var(--status-appointment-tint);color:var(--status-appointment)}.status-bar-banner.critical{background:var(--critical-tint);color:var(--critical)}.status-bar-banner.status-closed{background:var(--line-soft);color:var(--muted)}.status-bar-banner span{font-weight:500}.status-bar-source{flex:none;font-weight:700;padding:2px 8px;border-radius:999px;background:hsla(0,0%,100%,.06);border:1px solid}.brand-title{background:linear-gradient(100deg,var(--brand-orange) 0,var(--brand-blue-light) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:800;letter-spacing:.01em}.brand-title,.top-nav-brand span{text-transform:uppercase}.top-nav-links{display:flex;gap:4px;background:var(--line-soft);padding:3px;border-radius:9px}.top-nav-link{font-size:13px;font-weight:600;color:var(--ink-soft);text-decoration:none;padding:6px 14px;border-radius:7px;transition:background .15s ease,color .15s ease}.top-nav-link:hover{color:var(--ink)}.top-nav-link.active{background:var(--line);color:var(--ink);box-shadow:var(--shadow-sm)}.page{max-width:1280px;margin:0 auto;padding:12px 24px 60px}.page-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px;flex-wrap:wrap;gap:12px}.page-header h1{font-size:21px;margin:0 0 2px}.page-header .sub{font-size:13px;color:var(--muted)}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.toolbar input[type=text],.toolbar select{font-size:13px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}.toolbar input[type=text]:focus,.toolbar select:focus{outline:none;border-color:var(--status-loading)}.btn{font-size:13px;padding:8px 16px;border-radius:8px;border:1px solid var(--ink);background:var(--ink);color:var(--on-ink);cursor:pointer;font-weight:600;transition:opacity .15s ease,box-shadow .15s ease,transform .15s ease}.btn:hover{opacity:.88;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn.secondary{background:var(--surface);color:var(--ink);border-color:var(--line)}.btn.secondary:hover{border-color:var(--muted);opacity:1}.btn.small{padding:5px 11px;font-size:12px;text-decoration:none;display:inline-flex;align-items:center}.btn:disabled{opacity:.5;cursor:default}.tracking-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tracking-hint{font-size:12px;color:var(--muted)}.tracking-hint.error{color:var(--critical)}.tracking-result{font-size:12.5px;color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.error-banner{background:var(--critical-tint);border:1px solid hsla(0,91%,71%,.35);color:var(--critical);border-radius:10px;padding:14px;font-size:13px;margin-bottom:16px}.loading{font-size:13px;color:var(--muted);padding:40px 0;text-align:center}.cards{display:flex;flex-direction:column;gap:12px}.card{background:var(--surface);border:1px solid var(--line-soft);border-left:5px solid var(--status-prenotice);border-radius:12px;padding:16px 18px;box-shadow:var(--shadow-sm),var(--highlight);transition:box-shadow .15s ease,transform .15s ease}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.card.status-prenotice{border-left-color:var(--status-prenotice)}.card.status-appointment{border-left-color:var(--status-appointment)}.card.status-customs{border-left-color:var(--status-customs)}.card.status-loading{border-left-color:var(--status-loading)}.card.status-delivered{border-left-color:var(--status-delivered)}.card.status-closed{border-left-color:var(--status-closed);opacity:.7}.card.critical{border-left-color:var(--critical);box-shadow:0 0 0 1px hsla(0,91%,71%,.55),var(--shadow-sm)}.card.critical:hover{box-shadow:0 0 0 1px var(--critical),0 8px 24px hsla(0,91%,71%,.14)}.card.highlight{animation:card-highlight-glow 2s ease}@keyframes card-highlight-glow{0%{box-shadow:0 0 0 3px var(--status-loading)}70%{box-shadow:0 0 0 3px var(--status-loading)}to{box-shadow:var(--shadow-sm)}}.card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}.card-title-group{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}.card-title{font-weight:700;font-size:16px;letter-spacing:-.01em}.card-title .vid{color:var(--muted);font-weight:500;font-size:11.5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--line-soft);padding:2px 6px;border-radius:5px}.pill-row{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.card-top-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.save-indicator{font-size:11px;color:var(--muted)}.pill{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:2px 8px;border-radius:6px;border:1px solid transparent;background:var(--surface);white-space:nowrap}.pill.status-prenotice{border-color:color-mix(in srgb,var(--status-prenotice) 35%,transparent);color:var(--status-prenotice)}.pill.status-appointment{border-color:color-mix(in srgb,var(--status-appointment) 35%,transparent);color:var(--status-appointment)}.pill.status-customs{border-color:color-mix(in srgb,var(--status-customs) 35%,transparent);color:var(--status-customs)}.pill.status-loading{border-color:color-mix(in srgb,var(--status-loading) 35%,transparent);color:var(--status-loading)}.pill.status-delivered{border-color:color-mix(in srgb,var(--status-delivered) 35%,transparent);color:var(--status-delivered)}.pill.status-closed{border-color:color-mix(in srgb,var(--status-closed) 35%,transparent);color:var(--status-closed)}.pill.critical{background:var(--critical-solid);color:#fff;border-color:var(--critical-solid)}.pill.eta-soon{border-color:color-mix(in srgb,var(--eta-soon) 35%,transparent);color:var(--eta-soon)}.pill.eta-later{border-color:color-mix(in srgb,var(--eta-later) 35%,transparent);color:var(--eta-later)}.pill.eta-past{border-color:color-mix(in srgb,var(--eta-past) 35%,transparent);color:var(--eta-past)}.priority-tag{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--ink-soft);font-weight:600}.priority-dot{width:6px;height:6px;border-radius:999px;flex:none}.priority-dot.high{background:var(--critical)}.priority-dot.medium{background:var(--status-appointment)}.priority-dot.low{background:var(--muted)}.section{margin-top:14px}.section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 8px;padding-top:12px;border-top:1px solid var(--line-soft)}.section:first-of-type .section-label{border-top:none;padding-top:0}.field-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:10px;gap:10px}.field label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin-bottom:3px}.field input,.field select,.field textarea{width:100%;font-size:13px;padding:7px 9px;border:1px solid var(--line);border-radius:7px;background:var(--bg);font-family:inherit;color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--status-loading);box-shadow:0 0 0 3px var(--status-loading-tint)}.field textarea{resize:vertical;min-height:40px}.field.full{grid-column:1/-1}.owners-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-gap:8px;gap:8px}.trucks-field{grid-column:span 1}.trucks-inputs{display:flex;gap:6px;align-items:center;margin-bottom:6px}.trucks-inputs input{width:100%}.trucks-inputs span{color:var(--muted);font-size:12px;flex:none}.progress-bar{height:5px;border-radius:999px;background:var(--line-soft);overflow:hidden}.progress-bar-fill{height:100%;background:var(--status-loading);border-radius:999px;transition:width .2s ease}.notes-stack{display:flex;flex-direction:column;gap:10px}.meta-line{font-size:11px;color:var(--muted);margin-top:12px;padding-top:10px;border-top:1px solid var(--line-soft);display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.meta-line .source{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:640px}.saved-flash{color:var(--status-delivered);font-weight:600}.new-vessel-form{background:var(--surface);border:1px dashed var(--line);border-radius:12px;padding:18px;margin-bottom:18px}.new-vessel-form strong{font-size:13px;color:var(--ink-soft)}.new-vessel-form .field-grid{margin-top:10px}.dash-header{margin:20px 0 22px}.dash-header h1{font-size:24px;margin:0 0 4px}.dash-header .sub{font-size:13px;color:var(--muted)}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:12px;gap:12px;margin-bottom:28px}.stat-tile{background:var(--surface);border:1px solid var(--line-soft);border-top:3px solid transparent;border-radius:12px;padding:16px 18px;box-shadow:var(--shadow-sm),var(--highlight)}.stat-value{font-size:30px;font-weight:700;letter-spacing:-.02em;line-height:1.1;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-label{font-size:12px;color:var(--muted);margin-top:4px;font-weight:600}.stat-tile.critical{border-top-color:var(--critical)}.stat-tile.critical .stat-value{color:var(--critical)}.stat-tile.warn{border-top-color:var(--status-appointment)}.stat-tile.warn .stat-value{color:var(--status-appointment)}.stat-tile.info{border-top-color:var(--status-loading)}.stat-tile.info .stat-value{color:var(--status-loading)}.dash-section{margin-bottom:28px}.dash-section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);margin-bottom:12px}.status-bar{display:flex;height:12px;border-radius:999px;overflow:hidden;background:var(--line-soft);margin-bottom:12px}.status-bar-seg{min-width:3px}.status-bar-seg.status-prenotice{background:var(--status-prenotice)}.status-bar-seg.status-appointment{background:var(--status-appointment)}.status-bar-seg.status-customs{background:var(--status-customs)}.status-bar-seg.status-loading{background:var(--status-loading)}.status-bar-seg.status-delivered{background:var(--status-delivered)}.status-bar-seg.status-closed{background:var(--status-closed)}.status-legend{display:flex;flex-wrap:wrap;gap:14px}.legend-item{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-soft)}.legend-item strong{color:var(--ink)}.legend-dot{width:8px;height:8px;border-radius:999px;flex:none}.legend-dot.status-prenotice{background:var(--status-prenotice)}.legend-dot.status-appointment{background:var(--status-appointment)}.legend-dot.status-customs{background:var(--status-customs)}.legend-dot.status-loading{background:var(--status-loading)}.legend-dot.status-delivered{background:var(--status-delivered)}.legend-dot.status-closed{background:var(--status-closed)}.attention-list{background:var(--surface);border:1px solid var(--line-soft);border-radius:12px;overflow:hidden}.attn-row{display:flex;align-items:center;gap:10px;padding:11px 16px;border-bottom:1px solid var(--line-soft);text-decoration:none;color:inherit;cursor:pointer;transition:background .15s ease}.attn-row:last-child{border-bottom:none}.attn-row:hover{background:var(--line-soft)}.attn-name{font-size:13.5px;font-weight:600;color:var(--ink);white-space:nowrap;flex:none}.attn-id{color:var(--muted);font-weight:500;font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;margin-left:6px}.attn-update{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;color:var(--muted)}.dash-cta{display:flex;justify-content:flex-end}@media (max-width:560px){.attn-row{flex-wrap:wrap;row-gap:6px}.attn-update{flex-basis:100%;white-space:normal;order:3}.stat-row{grid-template-columns:repeat(2,1fr)}}.map-container{width:100%;height:70vh;min-height:380px;border-radius:12px;overflow:hidden;border:1px solid var(--line);margin-bottom:16px}.map-loading{display:flex;align-items:center;justify-content:center;color:var(--muted);background:var(--surface)}.port-marker{background:transparent;border:none}.port-marker-dot{display:flex;align-items:center;justify-content:center;border-radius:999px;color:var(--on-ink);font-weight:700;font-size:13px;box-shadow:0 1px 6px rgba(0,0,0,.6);border:2px solid var(--bg)}.map-popup{min-width:220px;max-width:280px}.map-popup-title{font-weight:700;font-size:14px;margin-bottom:8px}.map-popup-row,.map-popup-title{display:flex;align-items:center;gap:8px}.map-popup-row{justify-content:space-between;padding:6px 0;border-top:1px solid var(--line-soft);text-decoration:none;color:inherit}.map-popup-row:first-of-type{border-top:none}.map-popup-row:hover .map-popup-name{color:var(--brand-blue-light)}.map-popup-name{font-weight:600;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-legend{display:flex;flex-wrap:wrap;gap:12px 18px;margin-bottom:24px;font-size:12.5px;color:var(--ink-soft)}.map-legend .legend-item{display:flex;align-items:center;gap:6px}.map-legend .legend-dot{width:9px;height:9px;border-radius:999px;flex:none}.map-legend .legend-dot.critical{background:var(--critical)}.leaflet-container{background:var(--bg);font-family:inherit}.leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.92) contrast(.92) saturate(.55)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--surface-2);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow-md)}.leaflet-popup-content{margin:12px 14px}.leaflet-bar a,.leaflet-bar a:hover{background:var(--surface-2);color:var(--ink);border-bottom-color:var(--line)}.leaflet-bar{border:1px solid var(--line);box-shadow:var(--shadow-sm)}.leaflet-control-attribution{background:rgba(11,13,18,.75)!important;color:var(--muted)!important}.leaflet-control-attribution a{color:var(--ink-soft)!important}select option{background:var(--surface-2);color:var(--ink)}::selection{background:rgba(27,167,220,.35)}.toolbar .search-input{min-width:240px}.chip{font-size:12.5px;font-weight:600;padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.chip:hover{border-color:var(--muted);color:var(--ink)}.chip.active{background:var(--critical-tint);border-color:var(--critical);color:var(--critical)}.updated-dot{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--brand-blue-light)}.updated-dot:before{content:"";width:6px;height:6px;border-radius:999px;background:var(--brand-blue-light);box-shadow:0 0 0 3px rgba(27,167,220,.2)}.dash-section-hint{text-transform:none;letter-spacing:0;font-weight:500;color:var(--muted)}