@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/atkinson-hyperlegible-next-latin-ext-wght-normal.d3778a9b.woff2) format("woff2-variations");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:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/atkinson-hyperlegible-next-latin-wght-normal.adf766f3.woff2) format("woff2-variations");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:Big Shoulders Stencil Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/big-shoulders-stencil-vietnamese-wght-normal.0ddb43d7.woff2) format("woff2-variations");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:Big Shoulders Stencil Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/big-shoulders-stencil-latin-ext-wght-normal.47ed8a20.woff2) format("woff2-variations");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:Big Shoulders Stencil Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/big-shoulders-stencil-latin-wght-normal.42ba078e.woff2) format("woff2-variations");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}:root{--hull:#0e4d41;--hull-deep:#0a3a31;--deep-water:#0a3442;--oxide:#8c2a22;--hazard:#f2b705;--draft:#f6f8f3;--fog:#dce6e2;--ink:#0f2a2a;--ink-soft:#3d5553;--line:#b9c9c4;--stencil:"Big Shoulders Stencil Variable","Arial Narrow",sans-serif;--read:"Atkinson Hyperlegible Next Variable","Segoe UI",sans-serif;--ease:cubic-bezier(0.22,0.8,0.26,1)}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--fog);color:var(--ink);font-family:var(--read);font-size:1.0625rem;line-height:1.5}dd,dl,h1,h2,h3,ol,p,ul{margin:0;padding:0}ol,ul{list-style:none}h1{font-family:var(--stencil);font-size:clamp(2.3rem,5vw,3.6rem);line-height:1.02;letter-spacing:.005em}h1,h2{font-weight:700}h2{font-size:1.2rem;line-height:1.3}h3{font-size:1.05rem;font-weight:700}a{color:inherit}:focus-visible{outline:3px solid var(--ink);outline-offset:2px;box-shadow:0 0 0 2px var(--hazard)}main:focus{outline:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip{position:fixed;left:12px;top:-60px;z-index:40;background:var(--hazard);color:var(--ink);padding:8px 14px}.skip:focus{top:12px}.chip,.ghost,.primary,.secondary{font:inherit;font-weight:650;min-height:44px;padding:8px 18px;border-radius:4px;border:2px solid transparent;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:background-color .16s,color .16s,border-color .16s,transform .12s var(--ease)}.primary{background:var(--hull);color:var(--draft)}.primary:hover{background:var(--hull-deep)}.secondary{background:transparent;color:var(--hull);border-color:var(--hull)}.secondary:hover{background:var(--hull);color:var(--draft)}.ghost{background:transparent;color:var(--ink);text-decoration:underline;text-underline-offset:3px;padding-inline:10px}.ghost:hover{background:rgb(14 77 65/.1)}.small{min-height:38px;padding:4px 10px;font-size:.95rem}button:active{transform:translateY(1px)}button:disabled,fieldset:disabled input,input:disabled{opacity:.6;cursor:not-allowed}.primary.on-hull{background:var(--hazard);color:var(--ink)}.primary.on-hull:hover{background:#ffcd2b}.secondary.on-hull{color:var(--draft);border-color:var(--draft)}.secondary.on-hull:hover{background:var(--draft);color:var(--hull)}.on-hull:focus-visible{outline-color:var(--draft);box-shadow:0 0 0 2px var(--ink)}.row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.stack{display:grid;gap:20px}.narrow{max-width:760px}.lede{max-width:62ch;margin-top:4px}.hint,.lede,.quiet{color:var(--ink-soft)}.hint,.quiet{font-size:.95rem}.sub{color:var(--ink-soft);font-size:.92rem}.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}.plain-panel{background:var(--draft);padding:22px;border-radius:6px;display:grid;gap:12px}.alert{background:var(--oxide);color:var(--draft);padding:10px 16px}.alert.soft{background:#fbeec0;color:var(--ink);border-left:5px solid var(--hazard);border-radius:4px}.frame{display:grid;grid-template-columns:228px minmax(0,1fr);min-height:100dvh}.rail{background:var(--deep-water);color:var(--draft);padding:22px 16px;display:flex;flex-direction:column;gap:26px;position:sticky;top:0;height:100dvh}.brand{display:flex;align-items:center;gap:10px;color:var(--hazard);text-decoration:none;font-family:var(--stencil);font-size:1.32rem;line-height:1.05;font-weight:700}.rail nav{display:grid;gap:4px}.dock a,.rail nav a{text-decoration:none;padding:10px 12px;border-radius:4px;font-weight:600}.rail nav a:hover{background:rgb(246 248 243/.1)}.rail nav a[aria-current=page]{background:var(--draft);color:var(--deep-water)}.rail :focus-visible{outline-color:var(--draft)}.rail-foot{margin-top:auto;display:grid;gap:16px}.rail .hint{color:#bcd2d2}.whats-real{color:var(--draft);font-size:.95rem}.stage{min-width:0;display:flex;flex-direction:column}.demo-strip{background:var(--hazard);color:var(--ink);padding:6px 24px;font-size:.93rem;font-weight:600}main{padding:28px clamp(16px,3vw,36px) 56px;flex:1 1}.dock{display:none}.toast-slot{position:fixed;right:20px;bottom:20px;z-index:30;pointer-events:none}.toast{background:var(--ink);color:var(--draft);padding:12px 16px;border-radius:4px;max-width:38ch;animation:toast .26s var(--ease)}@keyframes toast{0%{transform:translateY(14px);opacity:0}}.field{display:grid;gap:4px;align-content:start;min-width:0}.field label{font-weight:650;font-size:.97rem}input:not([type=range],[type=checkbox]),select,textarea{font:inherit;color:var(--ink);background:#fff;border:2px solid #6d8682;border-radius:4px;padding:9px 10px;min-height:44px;width:100%}fieldset{border:0;margin:0;padding:0;min-width:0}.rail select{background:var(--draft)}.form,.form-pair{display:grid;gap:16px}.form-pair{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.form-error{background:#f8ddd8;color:#6b160d;border-left:5px solid var(--oxide);padding:8px 12px;border-radius:4px}.check{display:flex;gap:8px;font-size:.95rem}.check,.tag{align-items:center}.tag{display:inline-flex;gap:6px;font-weight:700;font-size:.92rem;padding:2px 9px;border-radius:3px;white-space:nowrap;width:fit-content}.tag-current{background:#cfe6dc;color:#0a3a31}.tag-near_expiry{background:var(--hazard);color:var(--ink)}.tag-expired{background:var(--oxide);color:var(--draft)}.tag-unknown{background:#d5dbdb;color:var(--ink)}.tag-no_expiry{background:#dfe7f2;color:var(--ink)}.tag-archived{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px #6d8682}.fleet{display:grid;gap:20px}.fleet-head{justify-content:space-between;align-items:flex-end;gap:18px 32px}.fleet-head,.totals{display:flex;flex-wrap:wrap}.totals{gap:6px 26px}.total{display:flex;flex-direction:column-reverse}.total dt{font-size:.93rem}.total dt a{text-underline-offset:3px}.total dd{font-size:2.3rem;line-height:1.05;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.total-expired dd{color:var(--oxide)}.fleet-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start}.hull-column{display:grid;gap:10px;min-width:0}.hull-scroll{overflow-x:auto;border-radius:6px;scrollbar-color:var(--hull) transparent}.hull{position:relative;height:clamp(500px,68vh,680px);min-width:calc(62px + var(--vessels) * 164px);display:grid;grid-template-columns:62px repeat(var(--vessels),minmax(0,1fr));background:var(--hull);overflow:clip}.band{position:absolute;left:0;right:0;background:repeating-linear-gradient(-45deg,rgb(242 183 5/.3) 0 14px,rgb(242 183 5/.14) 14px 28px);border-top:3px solid var(--hazard)}.scale{grid-column:1;position:sticky;left:0;z-index:6;background:linear-gradient(90deg,rgb(10 58 49/.92) 70%,transparent)}.scale span{position:absolute;left:10px;transform:translateY(-50%);font-family:var(--stencil);font-size:1.2rem;color:var(--draft);font-weight:700}.plating{position:relative;z-index:5;border-left:2px solid rgb(246 248 243/.2);min-width:0}.vessel-name{position:absolute;left:12px;top:10px;z-index:3;font-family:var(--stencil);font-size:clamp(1.25rem,1.8vw,1.6rem);font-weight:700;color:var(--draft);line-height:1}.vessel-alias{display:block;font-family:var(--read);font-size:.8rem;font-weight:600;margin-top:3px}.plate{position:absolute;left:8px;right:8px;z-index:5;transform:translateY(-50%);display:grid;grid-template-columns:15px minmax(0,1fr) auto;align-items:center;gap:6px;min-height:36px;padding:3px 8px;background:var(--draft);color:var(--ink);text-decoration:none;font-size:.87rem;font-weight:650;border-radius:2px;box-shadow:0 2px 0 rgb(0 0 0/.28);transition:top .62s var(--ease),background-color .3s,color .3s}.plate:hover{background:#fff;outline:2px solid var(--hazard)}.plate:focus-visible{z-index:6;outline-color:var(--draft);box-shadow:0 0 0 2px var(--ink),0 0 0 5px var(--hazard)}.plate-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plate-days{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.plate-near_expiry{background:var(--hazard)}.plate-near_expiry:hover{background:#ffcd2b}.plate-expired{background:var(--oxide);color:var(--draft)}.plate-expired:hover{background:#a3352b}.ripple{position:absolute;inset:-6px;border:2px solid var(--draft);border-radius:50%/40%;pointer-events:none;opacity:0;animation:ripple .8s var(--ease)}@keyframes ripple{0%{opacity:.9;transform:scale(.8)}to{opacity:0;transform:scale(1.4,1.7)}}.water{position:absolute;left:0;right:0;bottom:0;z-index:4;pointer-events:none}.water.rise{animation:rise 1.5s var(--ease) both}@keyframes rise{0%{transform:translateY(100%)}}.crest{position:absolute;left:0;bottom:100%;width:200%;height:24px;display:block;margin-bottom:-1px;animation:drift 16s linear infinite}.crest path{fill:rgb(15 110 128/.62)}.crest-back{animation-duration:25s;animation-direction:reverse;height:30px}.crest-back path{fill:rgb(15 110 128/.34)}.still .crest{animation-play-state:paused}@keyframes drift{to{transform:translateX(-50%)}}.water-body{position:absolute;inset:0;background:linear-gradient(rgb(15 110 128/.62),rgb(10 52 66/.72))}.ahead{display:grid;grid-template-columns:auto minmax(120px,1fr) auto auto auto;gap:12px;align-items:center;background:var(--draft);padding:8px 14px;border-radius:6px}.ahead label,.ahead output{font-weight:700}.ahead output{font-family:var(--stencil);font-size:1.3rem;min-width:4.4em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}input[type=range]{accent-color:var(--hull);width:100%;height:30px;margin:0}.attention{background:var(--draft);padding:18px;border-radius:6px;display:grid;gap:10px}.flag{display:block;background:var(--oxide);color:var(--draft);padding:8px 12px;border-radius:4px;font-weight:650}.flag.soft{background:#fbeec0;color:var(--ink);border-left:5px solid var(--hazard)}.urgent,.urgent a{display:grid}.urgent a{gap:2px;padding:10px 4px;border-top:1px solid var(--line);text-decoration:none;transition:padding-left .18s var(--ease)}.urgent a:hover{padding-left:10px}.urgent-title{font-weight:700}.urgent-sub{color:var(--ink-soft);font-size:.92rem}.urgent-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.93rem;font-weight:600}.filters{display:grid;gap:12px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{background:var(--draft);color:var(--ink);min-height:40px;padding:4px 13px;border-color:var(--line)}.chip[aria-pressed=true]{background:var(--hull);color:var(--draft);border-color:var(--hull)}.filters .field{min-width:210px}.register{display:grid;gap:6px}.register-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.1fr) 150px minmax(0,1.2fr);gap:14px;align-items:center;background:var(--draft);padding:11px 16px;border-left:7px solid var(--hull);border-radius:3px;text-decoration:none;transition:transform .18s var(--ease)}.register-row:hover{transform:translateX(4px)}.register-date,.register-main{display:grid;min-width:0}.register-main span{color:var(--ink-soft);font-size:.93rem}.register-person{font-size:.95rem}.edge-near_expiry{border-left-color:var(--hazard)}.edge-expired{border-left-color:var(--oxide)}.edge-unknown{border-left-color:#8a9a99}.edge-no_expiry{border-left-color:#6f86a6}.edge-archived{border-left-color:transparent;background:#eef2ef}.detail-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px;background:var(--draft);padding:22px;border-left:10px solid var(--hull);border-radius:4px}.detail-head h1{margin-top:6px}.detail-head .tag{margin-top:10px}.back{font-size:.95rem}.big-count{display:grid;text-align:right;align-content:end}.big-count>span:first-child{font-size:clamp(3rem,8vw,4.8rem);line-height:1;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.voyages{display:grid;gap:0}.voyage{position:relative;display:grid;gap:10px;padding:4px 0 22px 26px;border-left:3px solid var(--line);margin-left:8px}.voyage:before{content:"";position:absolute;left:-9px;top:6px;width:15px;height:15px;border-radius:50%;background:var(--draft);border:3px solid var(--line)}.voyage.latest:before{background:var(--hull);border-color:var(--hull)}.voyage:last-child{border-left-color:transparent;padding-bottom:0}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px 18px}.facts dt{color:var(--ink-soft);font-size:.9rem}.facts dd{font-weight:650;overflow-wrap:anywhere}.evidence{display:grid;gap:12px}.evidence li{display:flex;flex-wrap:wrap;gap:12px;font-size:.92rem}.evidence img{width:200px;max-width:100%;height:auto;border:2px solid var(--line);background:#fff}.simple{display:grid;gap:6px;font-size:.97rem}.more summary{cursor:pointer;font-weight:650}.more ol{margin-top:8px;display:grid;gap:6px;font-size:.93rem}.sheet{border:0;padding:22px;margin:0 0 0 auto;height:100dvh;max-height:100dvh;width:min(560px,100vw);max-width:100vw;background:var(--draft);color:var(--ink);overflow-y:auto}.sheet[open]{animation:sheet .3s var(--ease)}.sheet::backdrop{background:rgb(10 52 66/.55)}@keyframes sheet{0%{transform:translateX(40px);opacity:0}}.sheet-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.sim{grid-template-columns:minmax(0,1fr)}.sim .field{max-width:360px}.outbox-group{display:grid;gap:8px}.count{font-family:var(--stencil);font-size:1.3rem;margin-left:4px}.outbox{display:grid;gap:6px}.outbox li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;background:var(--draft);padding:12px 16px;border-left:7px solid var(--hull);border-radius:3px}.group-danger .outbox li{border-left-color:var(--oxide)}.group-warn .outbox li{border-left-color:var(--hazard)}.group-quiet .outbox li{border-left-color:#8a9a99}.outbox-main{display:grid;gap:2px;min-width:0;max-width:72ch}.retry{display:grid;gap:6px;justify-items:start}.table-scroll{overflow-x:auto;background:var(--draft);border-radius:6px}.plain-table{border-collapse:collapse;width:100%;min-width:560px}.plain-table td,.plain-table th{text-align:left;vertical-align:top;padding:12px 16px;border-bottom:1px solid var(--line)}.plain-table tbody tr:last-child>*{border-bottom:0}.entry-form{display:grid;gap:12px;max-width:380px}.entry-form label{color:var(--draft)}.rail-name{font-weight:700}.rail-out{color:var(--draft);justify-self:start;padding-inline:0}.rail-out:hover{background:transparent}.entry{position:relative;min-height:100dvh;padding:clamp(28px,7vw,84px);background:var(--hull);color:var(--draft);overflow:hidden;display:flex;align-items:flex-start}.entry-copy{position:relative;z-index:3;display:grid;gap:20px;max-width:760px;animation:entry-in .9s var(--ease) both}@keyframes entry-in{0%{opacity:0;transform:translateY(14px)}}.entry-brand{display:flex;align-items:center;gap:12px;color:var(--hazard);font-family:var(--stencil);font-size:1.6rem;font-weight:700}.entry h1{font-size:clamp(2.8rem,min(9.4vw,13vh),7.6rem);line-height:.96}.entry-lede{font-size:1.22rem;max-width:48ch}.entry-note{max-width:56ch;color:#cfe3dc;font-size:.97rem}.entry-marks{position:absolute;right:clamp(16px,5vw,70px);top:8%;bottom:26%;z-index:1;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;font-family:var(--stencil);font-weight:700;font-size:clamp(2.6rem,7vw,6rem);line-height:1;color:rgb(246 248 243/.3)}.entry-water{position:absolute;left:0;right:0;bottom:0;height:22%;z-index:2;pointer-events:none;animation:rise 1.5s var(--ease) both}@media (max-width:1140px){.fleet-grid{grid-template-columns:minmax(0,1fr)}.attention{order:-1}}@media (max-width:860px){.frame{grid-template-columns:minmax(0,1fr);padding-bottom:64px}.rail{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px}.rail nav{display:none}.rail-foot{margin:0;display:flex;align-items:center;gap:14px}.rail .field{grid-template-columns:auto auto;align-items:center;gap:8px}.rail .hint{display:none}.rail select{min-height:40px;padding:4px 8px}.whats-real{display:none}.demo-strip{padding-inline:16px}.dock{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(4,1fr);background:var(--deep-water);color:var(--draft)}.dock a{text-align:center;padding:14px 2px;font-size:.92rem;border-radius:0}.dock a[aria-current=page]{background:var(--draft);color:var(--deep-water)}.dock :focus-visible{outline-color:var(--draft);outline-offset:-3px}.toast-slot{left:12px;right:12px;bottom:72px}.hull{min-width:calc(var(--vessels) * (100vw - 94px) + 62px)}.hull-scroll{scroll-snap-type:x proximity;scroll-padding-left:62px}.plating{scroll-snap-align:start}.ahead{grid-template-columns:auto minmax(0,1fr) auto}.ahead .ghost{grid-row:2}.register-row{grid-template-columns:minmax(0,1fr) auto}.register-person{grid-column:1/-1}.register-date{grid-column:1;grid-row:2}.big-count{text-align:left}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}.crest{animation:none!important}.ripple{display:none}}