.product-portline{color-scheme:light;font-synthesis:none}.product-portline *{box-sizing:border-box}.product-portline{scroll-behavior:smooth}.product-portline{margin:0;-webkit-font-smoothing:antialiased}.product-portline button,.product-portline input,.product-portline select{font:inherit}.product-portline button,.product-portline a{touch-action:manipulation}.product-portline button{cursor:pointer}.product-portline a{text-decoration:none;color:inherit}.product-portline button:focus-visible,.product-portline a:focus-visible,.product-portline input:focus-visible,.product-portline select:focus-visible{outline:3px solid #f28e38;outline-offset:4px}.product-portline p,.product-portline h1,.product-portline h2,.product-portline h3,.product-portline h4{margin-top:0}.product-portline svg{display:block;max-width:100%}.product-portline img{max-width:100%;display:block}.product-portline .sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.product-portline .skip{position:absolute;top:-70px;left:15px;z-index:1000;background:white;color:black;padding:10px 16px}.product-portline .skip:focus{top:12px}.product-portline .concept-disclosure{font-size:10px;letter-spacing:.09em;text-transform:uppercase;opacity:.72}.product-portline .visually-muted{opacity:.66}.product-portline .interactive-note{font-size:11px;opacity:.75}.product-portline nav a:hover,.product-portline button:hover{filter:brightness(1.12)}@media(prefers-reduced-motion:reduce){.product-portline *,.product-portline *::before,.product-portline *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.product-portline{--bg:#091922;--panel:#10242d;--panel2:#152b36;--text:#e6eef0;--muted:#7d98a3;--line:#26404a;--hi:#ff8855;--mint:#a6d8cc}.product-portline{background:var(--bg);color:var(--text);font-family:'Inter',sans-serif}.product-portline .shell{display:grid;grid-template-columns:82px minmax(0,1fr);min-height:100vh}.product-portline .rail{border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:25px;padding:26px 0;background:#08151d}.product-portline .rail .emblem{font-size:27px;font-weight:900;color:var(--hi);margin-bottom:30px}.product-portline .rail a{display:grid;place-items:center;width:40px;height:40px;color:#819ba4;font-size:20px;border-radius:5px}.product-portline .rail a.active{background:var(--panel2);color:var(--mint);border-left:2px solid var(--hi)}.product-portline .rail .push{margin-top:auto;font-size:12px;transform:rotate(-90deg);white-space:nowrap;letter-spacing:.13em;color:#627e89}.product-portline .workspace{min-width:0}.product-portline .nav{height:89px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;border-bottom:1px solid var(--line)}.product-portline .logo{font-size:22px;letter-spacing:-.065em;font-weight:900}.product-portline .logo span{color:var(--hi);font-style:italic;margin-left:4px}.product-portline .topmiddle{font-family:monospace;color:var(--muted);letter-spacing:.09em;font-size:11px}.product-portline .status{display:flex;align-items:center;gap:10px;padding:10px 13px;background:#102d2a;border:1px solid #356658;color:#b4e8ce;font:600 10px monospace}.product-portline .status i{height:7px;width:7px;background:#b5f1d8;border-radius:50%;box-shadow:0 0 0 5px #86d3a41b}.product-portline .content{padding:36px 4% 55px}.product-portline .upper{display:flex;justify-content:space-between;gap:20px;align-items:flex-end}.product-portline .micro{color:var(--muted);font:600 10px monospace;letter-spacing:.16em}.product-portline .upper h1{font-size:clamp(37px,3.7vw,67px);letter-spacing:-.065em;line-height:1.02;margin:15px 0 8px}.product-portline .upper h1 em{font-weight:480;color:var(--hi);font-style:normal}.product-portline .upper p{color:#8da7af;font-size:13px;margin:0}.product-portline .upper button{background:var(--hi);color:#1c2225;font-size:12px;font-weight:800;border:0;padding:15px 20px}.product-portline .kpi{margin:34px 0 21px;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.product-portline .kpi>div{background:var(--panel);padding:19px 22px 17px;min-height:125px}.product-portline .kpi label{font:600 10px monospace;color:#8299a1;letter-spacing:.05em}.product-portline .kpi strong{display:block;font-size:38px;letter-spacing:-.065em;margin:12px 0 4px;font-weight:650}.product-portline .kpi small{color:#9bb4b5;font-size:11px}.product-portline .kpi .attention strong{color:var(--hi)}.product-portline .kpi .good strong{color:var(--mint)}.product-portline .board{display:grid;grid-template-columns:minmax(0,1.48fr) minmax(300px,.8fr);gap:20px}.product-portline .routes,.product-portline .dispatch{background:var(--panel);border:1px solid var(--line);min-width:0}.product-portline .panelhead{height:60px;padding:0 22px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);font:650 11px monospace;letter-spacing:.05em}.product-portline .panelhead small{color:var(--muted)}.product-portline .route-map{height:410px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 44% 62%,#19444c 0,transparent 45%),repeating-linear-gradient(0deg,transparent 0 53px,#e2ffff0b 54px),repeating-linear-gradient(90deg,transparent 0 53px,#e2ffff0b 54px),#0d252e}.product-portline .route-map svg{height:100%;width:100%;position:absolute;inset:0}.product-portline .mapkey{position:absolute;bottom:18px;left:20px;font:11px monospace;color:#7fcab9}.product-portline .map-overlay{position:absolute;top:22px;right:20px;background:#0e2027dd;border:1px solid var(--line);padding:13px;font:10px monospace;line-height:1.8}.product-portline .map-overlay b{display:block;color:var(--hi);margin-bottom:5px}.product-portline .dispatch-list{padding:0 18px}.product-portline .vessel{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:13px;border-bottom:1px solid var(--line);padding:17px 0}.product-portline .vessel .number{font:600 11px monospace;color:#73919d}.product-portline .vessel strong{display:block;font-size:13px;font-weight:600;margin-bottom:5px}.product-portline .vessel small{color:var(--muted);font-size:10px}.product-portline .chip{font:650 9px monospace;padding:8px;border:1px solid #426156;color:#b3dccb}.product-portline .chip.warn{border-color:#89533f;color:#f9a17a}.product-portline .alert{margin:20px 18px;background:#2c2524;border:1px solid #6b3c2b;padding:17px}.product-portline .alert b{font-size:11px;color:#ffab81}.product-portline .alert p{font-size:12px;line-height:1.6;color:#c5bab4}.product-portline .alert button{background:#e77d50;border:0;padding:12px 16px;font:700 11px monospace;color:#172129;width:100%}.product-portline .bottom{margin-top:20px;display:flex;gap:24px;font:10px monospace;color:#72919c;letter-spacing:.07em}.product-portline .toast{position:fixed;bottom:20px;right:20px;background:#c6edda;color:#14372b;padding:14px 20px;font-size:12px;box-shadow:0 15px 55px #0009;max-width:320px;z-index:30}.product-portline .disclosure{padding:16px 4%;border-top:1px solid var(--line);font-size:9px;letter-spacing:.08em;color:#6f8b96}@media(max-width:950px){.product-portline .shell{grid-template-columns:60px 1fr}.product-portline .rail{padding-top:20px}.product-portline .board{grid-template-columns:1fr}.product-portline .kpi{grid-template-columns:repeat(2,1fr)}.product-portline .topmiddle{display:none}.product-portline .route-map{height:370px}}@media(max-width:600px){.product-portline .shell{display:block}.product-portline .rail{display:none}.product-portline .nav{height:70px;padding:0 18px}.product-portline .content{padding:35px 18px}.product-portline .upper{display:block}.product-portline .upper button{margin-top:24px}.product-portline .upper h1{font-size:38px}.product-portline .kpi{gap:1px}.product-portline .kpi>div{padding:14px;min-height:100px}.product-portline .kpi strong{font-size:30px}.product-portline .board{gap:14px}.product-portline .route-map{height:320px}.product-portline .bottom{flex-wrap:wrap}.product-portline .disclosure{padding:18px}.product-portline .status{font-size:9px}}
.v2-product{isolation:isolate;overflow-x:clip}.v2-product button{min-height:44px}.v2-product [role=status]{line-height:1.6}
