:root{--teal-900:#0b3f4c;--teal-700:#0e5263;--teal-500:#2a7d8f;--teal-100:#e3eef0;--orange:#e07b00;--orange-soft:#fdf1e2;--bg:#f3f6f7;--surface:#fff;--ink:#12232a;--ink-2:#44575e;--muted:#5f7076;--line:#e2e8ea;--grid:#edf1f2;--track:#e4eaec;--radius:12px;--shadow:0 1px 2px #1028300f, 0 1px 1px #1028300a;color:var(--ink);background:var(--bg);font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.45}*{box-sizing:border-box}body{margin:0}h1,h2,h3{color:var(--teal-900);margin:0}h1{font-size:24px;font-weight:700}h2{font-size:18px;font-weight:700}h3{font-size:15px;font-weight:700}p{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}.muted{color:var(--muted)}.small{font-size:13px}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--orange);outline-offset:2px}.app{min-height:100vh}.topbar{background:var(--surface);border-bottom:1px solid var(--line);z-index:30;justify-content:space-between;align-items:center;height:60px;padding:0 20px;display:flex;position:sticky;top:0}.topbar-left{align-items:center;gap:8px;display:flex}.brand{align-items:center;gap:14px;display:flex}.brand img{height:30px}.brand span{color:var(--teal-900);letter-spacing:.02em;border-left:1px solid var(--line);padding-left:14px;font-weight:700}.topbar-right{align-items:center;gap:10px;display:flex}.pill{background:var(--teal-100);color:var(--teal-900);border-radius:999px;align-items:center;gap:8px;padding:5px 12px;font-size:12px;font-weight:600;display:inline-flex}.live-dot{background:#1f9d6b;border-radius:50%;width:7px;height:7px}.icon-btn{color:var(--teal-700);background:0 0;border:0;border-radius:8px;place-items:center;padding:6px;display:grid;position:relative}.icon-btn:hover{background:var(--teal-100)}.dot-badge{background:var(--orange);color:#fff;border-radius:999px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;display:grid;position:absolute;top:0;right:0}.avatar{background:var(--teal-700);color:#fff;border:0;border-radius:50%;width:34px;height:34px;font-size:12px;font-weight:700}.menu-wrap{position:relative}.menu{background:var(--surface);border:1px solid var(--line);z-index:40;border-radius:10px;flex-direction:column;min-width:200px;padding:6px;display:flex;position:absolute;top:42px;right:0;box-shadow:0 10px 30px #10283026}.menu-head{border-bottom:1px solid var(--line);flex-direction:column;margin-bottom:4px;padding:8px 10px;display:flex}.menu a,.menu button{text-align:left;color:var(--ink);background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;font-size:14px;display:flex}.menu a:hover,.menu button:hover{background:#f1f5f6}.mobile-only{display:none}.frame{min-height:calc(100vh - 60px);display:flex}.side{background:var(--teal-900);color:#d7e6ea;z-index:20;flex-direction:column;flex:none;width:248px;height:calc(100vh - 60px);transition:width .15s;display:flex;position:sticky;top:60px}.sidebar{flex-direction:column;flex:1;min-height:0;display:flex}.nav-scroll{flex:1;padding:12px 10px;overflow-y:auto}.nav-context{border-bottom:1px solid #ffffff1a;flex-direction:column;margin-bottom:4px;padding:6px 10px 12px;display:flex}.ctx-client{color:#9fc0c8;letter-spacing:.06em;font-size:12px;font-weight:600}.ctx-job{color:#fff;font-size:18px;font-weight:700}.nav-group{margin-top:6px}.nav-title{letter-spacing:.08em;text-transform:uppercase;color:#8fb2bb;justify-content:space-between;align-items:center;padding:4px 10px;font-size:11px;font-weight:700;display:flex}.nav-note{text-transform:none;letter-spacing:0;color:#f2b45a;text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:11px;font-weight:600;overflow:hidden}.side ul{margin:0;padding:0;list-style:none}.nav-link{color:#d7e6ea;border-radius:8px;align-items:center;gap:10px;padding:7px 10px;font-size:14px;font-weight:500;display:flex;position:relative}.nav-link:hover{color:#fff;background:#ffffff12}.nav-link.active{color:#fff;background:#ffffff1f;font-weight:700}.nav-link.active:before{content:"";background:var(--orange);border-radius:0 3px 3px 0;width:3px;position:absolute;top:6px;bottom:6px;left:-10px}.nav-link.disabled{color:#6f9099;cursor:not-allowed}.nav-link.sub{padding-left:38px;font-size:13px}.nav-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nav-badge{background:var(--orange);color:#fff;border-radius:999px;padding:0 7px;font-size:11px;font-weight:700}.vessel-link .nav-label{flex-direction:column;gap:4px;display:flex}.vessel-name{text-overflow:ellipsis;overflow:hidden}.mini-meter{background:#ffffff26;border-radius:3px;height:3px;overflow:hidden}.mini-meter span{background:#f2b45a;height:100%;display:block}.nav-pct{color:#9fc0c8;font-variant-numeric:tabular-nums;font-size:12px}.nav-footer{border-top:1px solid #ffffff1a;padding:8px 10px}.collapse-btn{color:#9fc0c8;background:#ffffff0f;border:0;place-items:center;height:34px;display:grid}.collapse-btn:hover{color:#fff}.nav-collapsed .side{width:64px}.nav-collapsed .nav-label,.nav-collapsed .nav-title,.nav-collapsed .nav-badge,.nav-collapsed .nav-pct,.nav-collapsed .nav-context,.nav-collapsed .tree ul{display:none}.nav-collapsed .nav-link{justify-content:center}.nav-collapsed .collapse-btn svg{transform:rotate(180deg)}.scrim{display:none}.main-col{flex:1;min-width:0}.crumb-bar{padding:14px 28px 0}.crumbs ol{color:var(--muted);flex-wrap:wrap;gap:8px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.crumbs a:hover{color:var(--teal-700);text-decoration:underline}.crumbs [aria-current]{color:var(--ink);font-weight:600}.crumbs .sep{color:#a6b2b6}.content{flex-direction:column;gap:18px;max-width:1440px;padding:14px 28px 48px;display:flex}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--orange);font-size:12px;font-weight:700}.tag{color:#8a4b00;vertical-align:1px;background:#fdf1e2;border-radius:999px;margin-left:8px;padding:1px 7px;font-size:11px;font-weight:700;display:inline-block}.callout{color:#6b4300;background:#fdf6ea;border:1px solid #f3dcb5;border-radius:10px;padding:10px 14px;font-size:13px}.row-gap{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toolbar{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.foot-note{margin-top:10px}.sub-title{margin:18px 0 8px}.page-head{flex-direction:column;gap:4px;display:flex}.page-head.row{flex-flow:wrap;justify-content:space-between;align-items:flex-end;gap:16px}.section-title{margin-top:6px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px}a.card{transition:border-color .15s,box-shadow .15s;display:block}a.card:hover{border-color:var(--teal-500);box-shadow:0 4px 14px #10283014}.card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.card-head.wrap{flex-wrap:wrap;align-items:center}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:18px;display:grid}.empty{text-align:center;color:var(--muted);padding:32px 16px}.empty.slim{text-align:left;background:#f6f8f9;border-radius:8px;padding:14px}.link{color:var(--teal-700);background:0 0;border:0;padding:0;font-weight:600}.link:hover{text-decoration:underline}.client-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:18px;display:grid}.client-card{flex-direction:column;padding:0;display:flex;overflow:hidden}.client-head{border-bottom:1px solid var(--line);background:linear-gradient(135deg, #fff, var(--teal-100));align-items:center;gap:14px;padding:18px 20px;display:flex}.client-head:hover h2{text-decoration:underline}.client-mark{background:var(--teal-700);color:#fff;letter-spacing:.04em;border-radius:10px;place-items:center;width:44px;height:44px;font-weight:800;display:grid}.client-head h2{letter-spacing:.03em;font-size:22px}.job-list{margin:0;padding:8px;list-style:none}.job-row{border-radius:8px;padding:10px 12px;display:block}.job-row:hover{background:#f4f8f9}.job-row-top{align-items:baseline;gap:10px;margin-bottom:6px;display:flex}.job-id{color:var(--teal-900);font-weight:700}.job-pct{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:700}.vessel-chips{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.chip{color:var(--ink-2);background:#eef3f4;border-radius:999px;padding:2px 9px;font-size:12px}.job-grid,.vessel-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:18px;display:grid}.vessel-card .go{color:var(--orange);font-size:18px;font-weight:700}.tiles{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;display:grid}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:2px;padding:14px 18px;display:flex}.tile-label{color:var(--muted);font-size:13px;font-weight:600}.tile-value{color:var(--teal-900);font-size:24px;font-weight:700}.main-card{flex-direction:column;gap:14px;display:flex}.main-card.compact{gap:10px}.stage-head{justify-content:space-between;align-items:baseline;margin-bottom:5px;display:flex}.stage-label{color:var(--ink-2);font-size:13px;font-weight:600}.stage-pct{color:var(--teal-900);font-variant-numeric:tabular-nums;font-weight:700}.stage-detail{margin-top:3px}.meter{background:var(--track);border-radius:999px;height:10px;overflow:hidden}.meter.thin{height:6px}.meter>span{background:var(--teal-700);border-radius:999px;height:100%;display:block}.meter.accent>span{background:var(--orange)}.statusbar .stack{background:var(--track);border-radius:999px;gap:2px;height:10px;display:flex;overflow:hidden}.statusbar .stack span{flex-basis:0;min-width:3px}.seg-completed{background:var(--teal-700)}.seg-inProgress{background:var(--orange)}.seg-notStarted{background:#c9d3d6}.legend{color:var(--ink-2);flex-wrap:wrap;gap:4px 14px;margin:7px 0 0;padding:0;font-size:12px;list-style:none;display:flex}.legend .dot{vertical-align:-1px;border-radius:3px;width:9px;height:9px;margin-right:5px;display:inline-block}.legend strong{color:var(--ink)}.ip-list{flex-direction:column;gap:12px;max-height:330px;margin:0;padding:0 4px 0 0;list-style:none;display:flex;overflow-y:auto}.ip-top{justify-content:space-between;gap:12px;margin-bottom:4px;font-size:13px;display:flex}.ip-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.ip-val{white-space:nowrap;color:var(--ink-2);font-variant-numeric:tabular-nums}.tabs{background:#e6ecee;border-radius:10px;gap:4px;padding:4px;display:flex}.tabs a{color:var(--ink-2);border-radius:7px;padding:7px 14px;font-weight:600}.tabs a.active{background:var(--surface);color:var(--teal-900);box-shadow:var(--shadow)}.seg{background:#eef2f3;border-radius:8px;flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.seg button{color:var(--ink-2);background:0 0;border:0;border-radius:6px;padding:5px 10px;font-size:12px;font-weight:600}.seg button.on{background:var(--surface);color:var(--teal-900);box-shadow:var(--shadow)}.search,.select select{font:inherit;border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 11px}.search{min-width:240px}.select select{max-width:360px}.chart-wrap{width:100%;position:relative;overflow-x:auto}.chart-wrap svg{display:block}.grid{stroke:var(--grid);stroke-width:1px}.axis{stroke:#c4cfd2;stroke-width:1px}.tick{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.xcode{fill:var(--ink-2);font-size:12px;font-weight:600}.val{fill:var(--ink);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.axis-title{fill:var(--muted);font-size:12px}.bar{fill:var(--teal-700);transition:opacity .12s}.dim .bar,.dim .val,.dim .evt{opacity:.3}.break-band{fill:var(--surface)}.break path{fill:none;stroke:#9aa9ad;stroke-width:1.2px}.tooltip{pointer-events:none;background:var(--teal-900);color:#fff;white-space:nowrap;border-radius:8px;flex-direction:column;gap:1px;padding:8px 10px;font-size:12px;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 6px 18px #0000002e}.tooltip .muted{color:#b9cbd0}.pipe-rest{fill:var(--track)}.pipe-logged{fill:var(--teal-700)}.evt{stroke:var(--teal-700);stroke-width:1.2px;stroke-opacity:.75}.table-scroll{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:13px}.table th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--line);white-space:nowrap;padding:8px 10px;font-size:12px;font-weight:700}.table td{border-bottom:1px solid var(--grid);padding:9px 10px}.table tbody tr:hover{background:#f7fafa}.table.compact td{padding:6px 10px}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.name-cell{min-width:260px;font-weight:600}.bar-col{min-width:150px}.cell-bar{grid-template-columns:minmax(50px,1fr) 48px;align-items:center;gap:8px;display:grid}.code{color:var(--teal-900);font-weight:700}.badge{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600}.badge.completed{background:var(--teal-100);color:var(--teal-900)}.badge.inProgress{background:var(--orange-soft);color:#8a4b00}.badge.notStarted{color:var(--ink-2);background:#eef1f2}.login{background:linear-gradient(160deg, var(--teal-900), var(--teal-700));place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{flex-direction:column;gap:14px;width:360px;padding:32px;display:flex}.login-logo{align-self:flex-start;height:42px}.login label{color:var(--ink-2);flex-direction:column;gap:5px;font-size:13px;font-weight:600;display:flex}.login input{font:inherit;border:1px solid #cdd7da;border-radius:8px;width:100%;padding:9px 11px}.pw{position:relative}.pw button{position:absolute;top:50%;right:10px;transform:translateY(-50%)}.btn{background:var(--teal-700);color:#fff;border:0;border-radius:8px;padding:11px;font-weight:700}.btn:hover{background:var(--teal-900)}.error{color:#b42318;font-size:13px}.th-btn{font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.sort-ind{color:var(--orange);width:8px;font-size:9px}.table tr.clickable{cursor:pointer}.na{color:#9aa8ac}.pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;display:flex}.pager-btns{align-items:center;gap:8px;display:flex}.btn.small{align-items:center;gap:6px;padding:7px 12px;font-size:13px;display:inline-flex}.btn.ghost{color:var(--teal-900);background:#fff;border:1px solid #cdd7da}.btn.ghost:hover{background:#f3f7f8}.btn:disabled{opacity:.5;cursor:not-allowed}.tabs button{color:var(--ink-2);background:0 0;border:0;border-radius:7px;padding:7px 14px;font-weight:600}.tabs button.active{background:var(--surface);color:var(--teal-900);box-shadow:var(--shadow)}.count{color:var(--muted);margin-left:4px;font-size:11px;font-weight:700}.chips{flex-wrap:wrap;flex:1;gap:6px;display:flex}.chip-btn{color:var(--teal-900);background:#fff;border:1px solid #d5dee1;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.chip-btn span{color:var(--muted);font-weight:500}.chip-btn.on{background:var(--teal-700);border-color:var(--teal-700);color:#fff}.chip-btn.on span{color:#cfe3e8}.active-filters{gap:6px;margin-bottom:10px;display:flex}.badge.anomaly{color:#9b1c1c;background:#fdeaea}.badge.pending{background:var(--orange-soft);color:#8a4b00}.badge.approved{background:var(--teal-100);color:var(--teal-900)}.badge.returned{color:#9b1c1c;background:#fdeaea}.badge.cat-report{background:var(--teal-100);color:var(--teal-900)}.badge.cat-anomaly{color:#9b1c1c;background:#fdeaea}.badge.cat-progress{color:#1d6b43;background:#eaf6ef}.brushable{cursor:crosshair;touch-action:none}.brush{fill:var(--orange);fill-opacity:.12;stroke:var(--orange);stroke-width:1px}.evt-fj{stroke:#8fb0b8}.lane-label{paint-order:stroke;stroke:#fff;stroke-width:4px}.num-input{width:90px}.table select,.table input[type=number],.form input,.form select,.form textarea{font:inherit;background:#fff;border:1px solid #cdd7da;border-radius:7px;padding:6px 9px}.form{flex-direction:column;gap:12px;display:flex}.form label{color:var(--ink-2);flex-direction:column;gap:5px;font-size:13px;font-weight:600;display:flex}.form fieldset{border:1px solid var(--line);border-radius:8px;padding:8px 12px}.form legend{color:var(--ink-2);padding:0 4px;font-size:13px;font-weight:600}.check-row{flex-wrap:wrap;gap:14px;display:flex}.form label.check,label.check{flex-direction:row;align-items:center;gap:6px;font-weight:500}.ok{color:#1d6b43;font-size:13px}.overlay{z-index:50;background:#0a1e2459;justify-content:flex-end;display:flex;position:fixed;inset:0}.overlay-panel{background:var(--surface);flex-direction:column;display:flex;box-shadow:-10px 0 30px #00000026}.overlay-panel.drawer{width:min(480px,100vw);height:100%}.overlay-panel.dialog{border-radius:14px;width:min(480px,100vw - 32px);max-height:calc(100vh - 64px);margin:auto}.overlay:has(.dialog){justify-content:center}.overlay-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.overlay-head h2{font-size:17px}.overlay-body{flex:1;padding:18px 20px;overflow-y:auto}.overlay-foot{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.details{grid-template-columns:140px 1fr;gap:8px 12px;margin:0;font-size:14px;display:grid}.details dt{color:var(--muted)}.details dd{margin:0}.media-ph{text-align:center;color:var(--teal-700);background:#f6f9fa;border:1px dashed #c4d1d5;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;margin-bottom:16px;padding:26px 16px;display:flex}.media-ph.tall{min-height:220px;margin:0}.timeline{border-left:2px solid var(--line);flex-direction:column;gap:10px;margin:0;padding:0 0 0 14px;list-style:none;display:flex}.timeline li{flex-direction:column;display:flex}.notif-list{margin:0;padding:0;list-style:none}.notif-list li{border-bottom:1px solid var(--grid);grid-template-columns:90px 1fr auto auto;align-items:center;gap:12px;padding:12px 6px;display:grid}.notif-list li.unread .notif-text{font-weight:700}.notif-list li.unread{background:linear-gradient(90deg, var(--orange-soft), transparent 40%)}.caret{vertical-align:-2px;transition:transform .15s;display:inline-grid}.caret.open{transform:rotate(90deg)}.sub-row td{background:#f8fafb}td.indent{padding-left:34px}.ip-list.tall{max-height:none}.card.empty svg{color:var(--teal-500)}@media (width<=900px){.mobile-only{display:grid}.side{width:272px;height:auto;transition:transform .2s;position:fixed;top:60px;bottom:0;left:0;transform:translate(-100%)}.nav-open .side{transform:none}.nav-open .scrim{z-index:15;background:#0a1e2459;display:block;position:fixed;inset:60px 0 0}.collapse-btn{display:none}.nav-collapsed .side{width:272px}.nav-collapsed .nav-label,.nav-collapsed .nav-title,.nav-collapsed .nav-context{display:revert}}@media (width<=640px){.topbar,.crumb-bar,.content{padding-left:14px;padding-right:14px}.brand span,.pill{display:none}.grid-2{grid-template-columns:1fr}.search{width:100%;min-width:0}.notif-list li{grid-template-columns:1fr;gap:4px}}.section-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.section-heading h2{margin-bottom:4px}.title-divider{color:var(--muted);font-weight:400}.vessel-switcher{flex-direction:column;gap:4px;min-width:180px;display:flex}.vessel-switcher select,.kp-controls input{font:inherit;color:var(--ink);border:1px solid var(--line);background:var(--surface);border-radius:8px;min-height:40px;padding:8px 10px}.vessel-scope{margin:-6px 0 16px}.vessel-card .card-head{margin-bottom:12px}.vessel-card .stage-label{font-size:14px}.vessel-card .stage-head{gap:12px}.vessel-chips{margin:0 12px 14px}a.chip{border:1px solid var(--line);align-items:center;gap:6px;padding:5px 10px;display:inline-flex}a.chip:hover{background:var(--teal-100);border-color:var(--teal-500)}.job-list>li+li{border-top:1px solid var(--line)}.job-row-top{flex-wrap:wrap}.progress-grid{align-items:start}.grid-2>*,.client-grid>*,.vessel-grid>*{min-width:0}.client-grid,.job-grid,.vessel-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}.tile-value{font-variant-numeric:tabular-nums}.tiles .tile:nth-child(-n+2) .tile-value{font-size:30px}.code-legend summary{cursor:pointer;color:var(--teal-900);font-weight:600}.progress-strip{grid-template-columns:2fr repeat(4,1fr);align-items:start;gap:16px 24px;display:grid}.chart-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,530px),1fr))}.chart-hint{color:var(--muted);margin-top:8px;font-size:12px}@media (width>=901px){.vessel-switcher{display:none}}@media (width<=1200px){.progress-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.strip-status{grid-column:1/-1}}.chart-card .card-head{flex-direction:column;gap:12px}.chart-card .seg{flex-wrap:nowrap;flex-shrink:0;align-self:flex-start}.chart-card .seg button{white-space:nowrap;min-height:34px;font-size:13px}.chart-note{background:var(--teal-100);color:var(--teal-900);border-radius:8px;margin-bottom:12px;padding:10px 12px;font-size:13px}.code-legend{border-top:1px solid var(--line);margin-top:12px;padding-top:12px;font-size:13px}.code-legend dl{gap:8px;margin-bottom:0;display:grid}.code-legend dl>div{grid-template-columns:40px minmax(0,1fr);gap:12px;display:grid}.code-legend dt{color:var(--teal-900);font-weight:700}.code-legend dd{color:var(--ink-2);margin:0}.kp-controls{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:12px;padding-top:12px;display:flex}.kp-controls label{color:var(--ink-2);align-items:center;gap:6px;font-size:13px;display:flex}.kp-controls input{width:92px;min-height:34px;padding:4px 8px}.kp-controls .btn{min-height:34px;padding:5px 12px}.range-status{color:var(--teal-900);margin-left:auto;font-size:13px;font-weight:600}.kp-controls .error{flex-basis:100%}.active-filters{flex-wrap:wrap}.nav-scroll{scrollbar-width:thin;scrollbar-color:#6a929c transparent}@media (width<=640px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tile{padding:12px}.tile-value,.tiles .tile:nth-child(-n+2) .tile-value{font-size:23px}.page-head h1{font-size:22px}.vessel-switcher{width:100%;min-width:0}.page-head.row>.row-gap{width:100%}.card{padding:16px}.client-card{padding:0}.card-head.wrap>*{min-width:0;max-width:100%}.card-head .row-gap,.select,.select select{width:100%;min-width:0;max-width:100%}.kp-controls label{flex:1;min-width:100px}.kp-controls input{width:100%;min-width:0}.range-status{flex-basis:100%;margin-left:0}.ip-top{flex-wrap:wrap;gap:4px}.ip-name{white-space:normal;overflow-wrap:anywhere}}.nowrap{white-space:nowrap}
