.role-switcher{position:relative;display:inline-block}.role-switcher-trigger{white-space:nowrap}.role-switcher-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:220px;background:var(--brand-bg-secondary);border:1px solid var(--brand-border);border-radius:var(--brand-radius);box-shadow:0 8px 24px #00000059;padding:6px;z-index:1000}.role-switcher-menu-header{padding:6px 10px 4px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--brand-text-secondary)}.role-switcher-option{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:8px 10px;background:transparent;border:none;border-radius:calc(var(--brand-radius) - 2px);cursor:pointer;text-align:left;color:var(--brand-text)}.role-switcher-option:hover,.role-switcher-option:focus-visible{background:#ffffff0f;outline:none}.role-switcher-option-label{font-size:13px;font-weight:500}.role-switcher-option-hint{font-size:11px;color:var(--brand-text-secondary);margin-top:2px}.header{display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 24px;background:var(--brand-bg-secondary);border-bottom:1px solid var(--brand-border);flex-shrink:0}.header-title{font-size:15px;font-weight:600;color:var(--brand-text);letter-spacing:-.01em}.header-right{display:flex;align-items:center;gap:12px}.header-user{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;background:#ffffff08;border:1px solid var(--brand-border);border-radius:999px}.header-user-info{display:flex;align-items:center;gap:8px;padding-left:6px}.header-username{font-size:13px;color:var(--brand-text);font-weight:500;line-height:1}.header-role{font-size:10px;text-transform:uppercase;letter-spacing:.04em;font-weight:600;padding:3px 8px}.header-actions{display:flex;align-items:center;gap:8px}.header-left{display:flex;align-items:center;gap:12px}.header-hamburger{display:none;flex-direction:column;justify-content:center;gap:4px;padding:6px;background:none;border:none;cursor:pointer;border-radius:var(--brand-radius)}.header-hamburger:hover{background:#ffffff14}.header-hamburger-bar{display:block;width:18px;height:2px;background:var(--brand-text);border-radius:1px}.btn-sm{padding:6px 12px;font-size:12px}@media(max-width:768px){.header-hamburger{display:flex}.header-title{display:none}.header-username{max-width:88px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.sidebar{width:244px;background:var(--brand-bg-secondary);border-right:1px solid var(--brand-border);display:flex;flex-direction:column;flex-shrink:0}.sidebar-brand{display:flex;align-items:center;justify-content:center;gap:10px;height:60px;padding:0 16px;border-bottom:1px solid var(--brand-border);box-sizing:border-box}.sidebar-logo{height:28px;max-width:160px;width:auto;object-fit:contain}.sidebar-brand-name{font-size:16px;font-weight:700;color:var(--brand-text);text-transform:capitalize}.sidebar-nav{flex:1;padding:12px 10px;display:flex;flex-direction:column;gap:14px;overflow-y:auto}.sidebar-section{display:flex;flex-direction:column;gap:2px}.sidebar-section[data-domain=ops]{--_dom: var(--dom-ops)}.sidebar-section[data-domain=service]{--_dom: var(--dom-service)}.sidebar-section[data-domain=records]{--_dom: var(--dom-records)}.sidebar-section[data-domain=system]{--_dom: var(--brand-text-muted)}.sidebar-section-label{display:flex;align-items:center;gap:8px;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-text-muted);padding:2px 14px 4px;opacity:.75}.sidebar-section-label:before{content:"";width:12px;height:2px;border-radius:1px;flex:none;background:var(--_dom, var(--brand-primary))}.sidebar-link{display:flex;align-items:center;gap:11px;padding:9px 14px;border-radius:var(--brand-radius);color:var(--brand-text-secondary);font-size:13.5px;font-weight:500;text-decoration:none;position:relative;transition:background-color .15s,color .15s}.sidebar-link:hover{background:#ffffff0d;color:var(--brand-text);text-decoration:none}.sidebar-link-active{background:color-mix(in srgb,var(--_dom, var(--brand-primary)) 14%,transparent);color:var(--brand-text)}.sidebar-link-active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);height:18px;width:3px;border-radius:0 3px 3px 0;background:var(--_dom, var(--brand-primary))}.sidebar-link-active .sidebar-icon{color:var(--_dom, var(--brand-primary))}.sidebar-icon{display:grid;place-items:center;width:20px;height:20px;color:var(--brand-text-muted)}.sidebar-label{flex:1}.sidebar-footer{padding:12px 20px;border-top:1px solid var(--brand-border)}.sidebar-powered{font-size:11px;color:var(--brand-text-muted);opacity:.6}@media(max-width:768px){.sidebar{position:fixed;left:0;top:0;bottom:0;width:220px;z-index:1000;transform:translate(-100%);transition:transform .25s ease}.sidebar--mobile-open{transform:translate(0)}}.sidebar-overlay{display:none}@media(max-width:768px){.sidebar-overlay{display:block;position:fixed;inset:0;z-index:999;background:#00000080}}.impersonation-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 24px;background:linear-gradient(90deg,#4a3a14,#5a4818);border-bottom:1px solid #806220;color:#f7e9c0;font-size:13px;flex-wrap:wrap}.impersonation-banner-content{display:flex;flex-direction:column;gap:2px;min-width:0}.impersonation-banner-label{font-size:13px}.impersonation-banner-label strong{color:#ffe9a8;margin-right:4px}.impersonation-banner-hint{color:#d8c084}.impersonation-banner-origin{font-size:11px;color:#c9b27a}.impersonation-banner-origin code{background:#00000040;padding:1px 5px;border-radius:3px;font-family:var(--brand-font-mono, ui-monospace, monospace);font-size:11px}.impersonation-banner-actions{position:relative;display:flex;align-items:center;gap:8px;flex-shrink:0}.impersonation-banner-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:220px;background:var(--brand-bg-secondary);border:1px solid var(--brand-border);border-radius:var(--brand-radius);box-shadow:0 8px 24px #00000073;padding:6px;z-index:1000;color:var(--brand-text)}.impersonation-banner-option{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:8px 10px;background:transparent;border:none;border-radius:calc(var(--brand-radius) - 2px);cursor:pointer;text-align:left;color:var(--brand-text)}.impersonation-banner-option:hover,.impersonation-banner-option:focus-visible{background:#ffffff0f;outline:none}.impersonation-banner-option-label{font-size:13px;font-weight:500}.impersonation-banner-option-hint{font-size:11px;color:var(--brand-text-secondary);margin-top:2px}@media(max-width:768px){.impersonation-banner{padding:8px 16px;font-size:12px}.impersonation-banner-origin{display:none}}.app-shell{display:flex;height:100vh;overflow:hidden}.app-main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.app-content{flex:1;overflow-y:auto;padding:24px}@media(max-width:768px){.app-content{padding:16px}}.app-route-loading{padding:32px 4px;color:var(--brand-text-muted);font-size:14px}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px;background:linear-gradient(135deg,var(--brand-bg) 0%,var(--brand-primary-dark) 100%)}.login-card{width:100%;max-width:420px;padding:40px 32px;background:var(--brand-bg-secondary);border:1px solid var(--brand-border-medium);box-shadow:var(--shadow-lg)}.login-header{text-align:center;margin-bottom:32px}.login-logo{height:48px;margin-bottom:16px;object-fit:contain}.login-header h1{font-size:24px;font-weight:700;color:var(--brand-text);margin-bottom:4px}.login-subtitle{color:var(--brand-text-muted);font-size:14px}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:600;color:var(--brand-text-secondary);text-transform:uppercase;letter-spacing:.5px}.form-group input{padding:10px 14px;border:1px solid var(--brand-border-medium);border-radius:var(--brand-radius);background:var(--brand-bg);color:var(--brand-text);font-size:14px;font-family:var(--brand-font);transition:border-color .2s}.form-group input:focus{outline:none;border-color:var(--brand-primary-light);box-shadow:0 0 0 2px #3b82f633}.form-group input::placeholder{color:var(--brand-text-muted)}.login-error{padding:10px 14px;border-radius:var(--brand-radius);background:#dc262626;color:var(--brand-danger);font-size:13px;border:1px solid rgba(220,38,38,.3)}.login-btn{width:100%;padding:12px;font-size:16px;margin-top:4px}.forgot-password-link{display:block;text-align:center;color:var(--brand-text-muted);font-size:13px;text-decoration:none;transition:color .2s}.forgot-password-link:hover{color:var(--brand-text)}.login-success{padding:10px 14px;border-radius:var(--brand-radius);background:#05966926;color:var(--brand-success);font-size:13px;border:1px solid rgba(5,150,105,.3);line-height:1.5}.dash{max-width:var(--content-max);margin:0 auto;padding:4px 4px 40px}.dash-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:15px 20px;margin-bottom:14px;border:1px solid var(--brand-card-border);border-radius:var(--brand-radius-lg);background:linear-gradient(180deg,color-mix(in srgb,var(--brand-primary) 5%,transparent),transparent 70%),var(--brand-surface);background-image:linear-gradient(var(--vinova-graticule, color-mix(in srgb, var(--brand-border-medium) 5%, transparent)) 1px,transparent 1px),linear-gradient(90deg,var(--vinova-graticule, color-mix(in srgb, var(--brand-border-medium) 5%, transparent)) 1px,transparent 1px);background-size:100% 100%,28px 28px,28px 28px;position:relative;overflow:hidden}.dash-eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-primary);margin-bottom:6px}.dash-title{font-size:24px;font-weight:800;letter-spacing:-.02em;color:var(--brand-text);margin:0}.dash-head-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.dash-date{font-size:13px;color:var(--brand-text-muted);font-family:var(--brand-font-mono)}.dash-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:14px}.v-stat{display:flex;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--brand-card-border);border-radius:var(--brand-radius-lg);background:var(--brand-surface);position:relative;overflow:hidden}.v-stat:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--_tone, var(--brand-primary))}.v-stat--ops{--_tone: var(--dom-ops)}.v-stat--service{--_tone: var(--dom-service)}.v-stat--money{--_tone: var(--dom-money)}.v-stat--records{--_tone: var(--dom-records)}.v-stat--ok{--_tone: var(--sev-ok)}.v-stat--warning{--_tone: var(--sev-warn)}.v-stat--danger{--_tone: var(--sev-critical)}.v-stat--quiet{--_tone: var(--brand-text-muted)}button.v-stat{cursor:pointer;text-align:left;width:100%;font-family:inherit}button.v-stat:hover{border-color:color-mix(in srgb,var(--_tone, var(--brand-primary)) 45%,transparent)}button.v-stat:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.v-stat--active{border-color:color-mix(in srgb,var(--_tone, var(--brand-primary)) 60%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--_tone, var(--brand-primary)) 30%,transparent)}.v-stat--active:before{width:4px}.v-stat-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;color:var(--_tone, var(--brand-primary));background:color-mix(in srgb,var(--_tone, var(--brand-primary)) 14%,transparent);flex-shrink:0}.v-stat-value{font-size:23px;font-weight:800;line-height:1.05;color:var(--brand-text);font-family:var(--brand-font-mono);letter-spacing:-.02em}.v-stat-label{font-size:12.5px;font-weight:600;color:var(--brand-text-secondary);margin-top:3px}.v-stat-sub{font-size:11.5px;color:var(--brand-text-muted);margin-top:1px}.dash-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:16px;align-items:start}.dash-col-main,.dash-col-side{display:flex;flex-direction:column;gap:16px}.v-panel{border:1px solid var(--brand-card-border);border-radius:var(--brand-radius-lg);background:var(--brand-surface);box-shadow:var(--shadow-sm)}.v-panel-head{display:flex;align-items:center;justify-content:space-between;padding:11px 15px;border-bottom:1px solid var(--brand-card-border)}.v-panel-title{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--brand-text);margin:0}.v-panel-title svg{color:var(--brand-primary)}.v-link{display:inline-flex;align-items:center;gap:2px;background:none;border:none;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--brand-primary);padding:4px 6px;border-radius:6px}.v-link:hover{background:color-mix(in srgb,var(--brand-primary) 8%,transparent)}.v-table{display:flex;flex-direction:column}.v-tr{display:grid;grid-template-columns:minmax(0,2fr) 130px 1.2fr 1.4fr 76px;align-items:center;gap:12px;padding:11px 18px;text-align:left}.v-tr--head{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-text-muted);border-bottom:1px solid var(--brand-card-border)}.v-tr--row{width:100%;background:none;border:none;border-bottom:1px solid var(--brand-card-border);cursor:pointer;transition:background .12s}.v-tr--row:last-child{border-bottom:none}.v-tr--row:hover{background:#ffffff06}.v-vessel{display:flex;flex-direction:column;gap:2px;min-width:0}.v-vessel-name{font-weight:600;color:var(--brand-text);font-size:13.5px}.v-vessel-sub{font-size:11.5px;color:var(--brand-text-muted)}.v-mono{font-family:var(--brand-font-mono);font-size:11.5px;color:var(--brand-text-secondary)}.v-service{color:var(--brand-text-secondary)}.v-service--over{color:var(--brand-danger);font-weight:600}.v-list{list-style:none;margin:0;padding:6px;display:flex;flex-direction:column}.v-item{display:flex;align-items:center;gap:12px;padding:8px 11px;border-radius:var(--brand-radius);cursor:pointer;transition:background .12s}.v-item:hover{background:#ffffff08}.v-item-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.v-item-title{font-size:13.5px;font-weight:600;color:var(--brand-text)}.v-item-sub{font-size:11.5px;color:var(--brand-text-muted)}.v-prio{width:8px;height:8px;border-radius:50%;flex-shrink:0}.v-prio--high{background:var(--brand-danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-danger) 18%,transparent)}.v-prio--medium{background:var(--brand-warning)}.v-prio--low{background:var(--brand-text-muted)}.v-tag{font-size:11px;font-weight:600;padding:3px 9px;border-radius:9999px;white-space:nowrap}.v-tag--new{color:var(--brand-info);background:color-mix(in srgb,var(--brand-info) 12%,transparent)}.v-tag--in_progress{color:var(--brand-primary);background:color-mix(in srgb,var(--brand-primary) 12%,transparent)}.v-tag--awaiting_parts{color:var(--brand-warning);background:color-mix(in srgb,var(--brand-warning) 12%,transparent)}.v-tag--completed{color:var(--brand-success);background:color-mix(in srgb,var(--brand-success) 12%,transparent)}.v-tag--assigned{color:var(--brand-info);background:color-mix(in srgb,var(--brand-info) 12%,transparent)}.v-due{font-family:var(--brand-font-mono);font-size:12px;color:var(--brand-text-secondary);white-space:nowrap}.v-due--soon{color:var(--brand-warning)}.v-due--over{color:var(--brand-danger);font-weight:600}.v-feed{list-style:none;margin:0;padding:6px 6px 10px;display:flex;flex-direction:column}.v-feed-item{display:flex;gap:11px;padding:9px 12px}.v-feed-dot{width:8px;height:8px;border-radius:50%;margin-top:5px;flex-shrink:0}.v-feed-body{display:flex;flex-direction:column;gap:2px}.v-feed-msg{font-size:13px;color:var(--brand-text);line-height:1.35}.v-feed-sub{font-size:11.5px;color:var(--brand-text-muted);font-family:var(--brand-font-mono)}.dash-foot{text-align:center;font-size:11.5px;color:var(--brand-text-muted);margin-top:22px}.dash-head-main{min-width:0}.dash-title{text-wrap:balance;max-width:30ch}.dash-title:first-letter{text-transform:uppercase}.dash-title--critical{color:var(--sev-critical)}.dash-title--warn,.dash-title--ok,.dash-title--quiet{color:var(--brand-text)}.dash-readiness{display:flex;flex-direction:column;gap:8px;margin-top:12px;max-width:420px}.dash-rbar{display:flex;gap:2px;height:6px;border-radius:3px;overflow:hidden;background:var(--brand-bg-secondary)}.dash-rbar-seg{display:block;min-width:4px;border-radius:2px}.dash-rbar-seg--ok{background:var(--sev-ok)}.dash-rbar-seg--warn{background:var(--sev-warn)}.dash-rbar-seg--crit{background:var(--sev-critical)}.dash-rlegend{display:flex;flex-wrap:wrap;gap:6px}.blk-list{list-style:none;margin:0;padding:6px;display:flex;flex-direction:column;gap:4px}.blk-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--brand-radius);border-left:3px solid var(--brand-border-medium);background:var(--brand-bg-secondary);transition:background-color .15s ease}.blk-row--critical{border-left-color:var(--sev-critical)}.blk-row--warn{border-left-color:var(--sev-warn)}.blk-row--ok{border-left-color:var(--sev-ok)}.blk-row:hover{background:var(--brand-surface-hover)}.blk-main{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.blk-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.blk-vessel{font-size:13.5px;font-weight:700;color:var(--brand-text);text-decoration:none}.blk-vessel:hover{color:var(--brand-primary);text-decoration:underline}.blk-reason{font-size:12.5px;color:var(--brand-text-secondary);line-height:1.4;overflow-wrap:anywhere}.blk-act{flex:none;white-space:nowrap;text-decoration:none}.blk-act:hover{text-decoration:none;border-color:var(--brand-primary)}.blk-empty{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 12px;font-size:13px;color:var(--brand-text-muted);line-height:1.45}@media(max-width:1100px){.dash-grid{grid-template-columns:1fr}}@media(max-width:720px){.v-hide-sm{display:none}.v-tr{grid-template-columns:minmax(0,2fr) 110px 1fr 64px}.dash-title{font-size:24px}}@media(max-width:640px){.dash{padding:2px 2px 32px}.dash-head{padding:16px}.dash-head-meta{align-items:flex-start}.dash-title{font-size:21px}.v-stat{padding:13px 14px;gap:12px}.v-stat-value{font-size:24px}.v-stat-icon{width:36px;height:36px}.blk-row{flex-wrap:wrap;row-gap:10px}.blk-main{flex-basis:100%}.blk-act{width:100%;justify-content:center}.dash-readiness{max-width:none}.v-item{flex-wrap:wrap;row-gap:8px;padding:12px}.v-item-body{flex-basis:100%;order:1}.v-item>.rec-vessel,.v-item>.v-prio,.v-item>.mod-doc-icon,.v-item>.mod-cat{order:0}.v-item>.v-tag,.v-item>.v-due,.v-item>.cmp-row-actions{order:2}}@media(max-width:420px){.dash-kpis{grid-template-columns:1fr}}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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{--brand-primary: #191f40;--brand-primary-dark: #0e1226;--brand-primary-light: #2a3366;--brand-secondary: #8c8f9f;--brand-secondary-dark: #6b6e7e;--brand-secondary-light: #aaaaaa;--brand-accent: #d19e29;--brand-accent-dark: #b8891f;--brand-accent-light: #e0b84a;--sev-critical: #cc2d3f;--sev-warn: #D97706;--sev-ok: #059669;--sev-info: #3B82F6;--sev-critical-bg: rgba(204, 45, 63, .14);--sev-warn-bg: rgba(217, 119, 6, .14);--sev-ok-bg: rgba(5, 150, 105, .14);--sev-info-bg: rgba(59, 130, 246, .14);--dom-ops: #3B82F6;--dom-service: #7C8FE8;--dom-money: #9B7BD4;--dom-records: #2FA8A0;--focus-ring: #6FD0FF;--brand-success: var(--sev-ok);--brand-warning: var(--sev-warn);--brand-danger: var(--sev-critical);--brand-danger-dark: #a91f30;--brand-info: var(--sev-info);--brand-bg: #16161D;--brand-bg-secondary: #1c1c26;--brand-surface: #1c1c26;--brand-surface-hover: #2a2a38;--brand-card-bg: rgba(255, 255, 255, .05);--brand-card-border: rgba(255, 255, 255, .1);--brand-text: #e0e0e3;--brand-text-secondary: #CBD5E1;--brand-text-muted: #8c8f9f;--brand-text-inverse: #16161D;--brand-border: rgba(255, 255, 255, .1);--brand-border-medium: rgba(255, 255, 255, .2);--content-max: 1320px;--brand-radius-sm: 4px;--brand-radius: 8px;--brand-radius-lg: 12px;--brand-radius-xl: 16px;--brand-font: "Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--brand-font-mono: "Aldrich", "Courier New", Courier, monospace;--gauge-safe: var(--sev-ok);--gauge-warn: var(--sev-warn);--gauge-crit: var(--sev-critical);--gauge-inactive: #8c8f9f;--gauge-bg: #0e1226;--gauge-border: rgba(255, 255, 255, .1);--gauge-text: #e0e0e3;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 2px 8px rgba(0, 0, 0, .3);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .4)}:root[data-brand=vinova]{--brand-primary: #22D3EE;--brand-primary-dark: #0E7490;--brand-primary-light: #67E8F9;--brand-secondary: #34D399;--brand-secondary-dark: #059669;--brand-secondary-light: #6EE7B7;--brand-accent: #8AA4FF;--brand-accent-dark: #6B86E8;--brand-accent-light: #AFC0FF;--sev-critical: #FF7A8A;--sev-warn: #FFC14D;--sev-ok: #4FE0A6;--sev-info: #6FD0FF;--sev-critical-bg: rgba(255, 122, 138, .13);--sev-warn-bg: rgba(255, 193, 77, .13);--sev-ok-bg: rgba(79, 224, 166, .13);--sev-info-bg: rgba(111, 208, 255, .13);--dom-ops: #4FC3FF;--dom-service: #8AA4FF;--dom-money: #C49BFF;--dom-records: #4FD9C4;--focus-ring: #6FD0FF;--brand-danger-dark: #BE123C;--brand-bg: #06101F;--brand-bg-secondary: #0A1628;--brand-surface: #0C1A30;--brand-surface-hover: #13284A;--brand-card-bg: rgba(34, 211, 238, .035);--brand-card-border: rgba(120, 180, 220, .12);--brand-text: #E6EEF6;--brand-text-secondary: #A9C2D6;--brand-text-muted: #6E8BA3;--brand-text-inverse: #06101F;--brand-border: rgba(120, 180, 220, .12);--brand-border-medium: rgba(120, 180, 220, .22);--brand-radius-sm: 5px;--brand-radius: 9px;--brand-radius-lg: 14px;--brand-radius-xl: 20px;--brand-font: "Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--brand-font-mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--gauge-safe: var(--sev-ok);--gauge-warn: var(--sev-warn);--gauge-crit: var(--sev-critical);--gauge-inactive: #6E8BA3;--gauge-bg: #0A1628;--gauge-border: rgba(120, 180, 220, .14);--gauge-text: #E6EEF6;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 14px rgba(0, 0, 0, .45);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .55);--vinova-glow: 0 0 0 1px rgba(34, 211, 238, .25), 0 10px 34px rgba(34, 211, 238, .1);--vinova-grad-health: linear-gradient(135deg, #0E7490 0%, #34D399 100%);--vinova-grad-cyan: linear-gradient(135deg, #0E7490 0%, #22D3EE 100%);--vinova-graticule: rgba(120, 180, 220, .05)}:root[data-brand=vinova] body{background-image:radial-gradient(1200px 600px at 78% -10%,rgba(34,211,238,.06),transparent 60%),radial-gradient(900px 500px at 0% 100%,rgba(52,211,153,.05),transparent 55%);background-attachment:fixed}:root[data-brand=vinova] .btn-primary{background:var(--brand-primary);color:#06101f;font-weight:600}:root[data-brand=vinova] .btn-primary:hover:not(:disabled){background:var(--brand-primary-light)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%}body{font-family:var(--brand-font);background-color:var(--brand-bg);color:var(--brand-text);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--brand-primary-light);text-decoration:none}a:hover{text-decoration:underline}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--brand-bg)}::-webkit-scrollbar-thumb{background:var(--brand-surface-hover);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#2a2a38}.card{background:var(--brand-card-bg);border:1px solid var(--brand-card-border);border-radius:var(--brand-radius-lg);padding:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 14px;background:#ffffff0a;border:1px solid var(--brand-border-medium);color:var(--brand-text);border-radius:var(--brand-radius-sm);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .15s,border-color .15s,opacity .15s}.btn:hover:not(:disabled){background:#ffffff14}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--brand-primary-light);border-color:transparent;color:#fff}.btn-primary:hover:not(:disabled){background:var(--brand-primary)}.btn-accent{background:var(--brand-accent);border-color:transparent;color:var(--brand-text-inverse)}.btn-accent:hover:not(:disabled){background:var(--brand-accent-dark)}.btn-secondary{background:var(--brand-surface-hover);border-color:transparent;color:var(--brand-text)}.btn-secondary:hover:not(:disabled){background:#353545}.btn-danger{background:var(--brand-danger);border-color:transparent;color:#fff}.btn-danger:hover:not(:disabled){background:var(--brand-danger-dark)}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:9999px;font-size:12px;font-weight:600}.badge-success{background:var(--sev-ok-bg);color:var(--sev-ok)}.badge-warning{background:var(--sev-warn-bg);color:var(--sev-warn)}.badge-danger{background:var(--sev-critical-bg);color:var(--sev-critical)}.badge-info{background:var(--sev-info-bg);color:var(--sev-info)}.badge-success:before,.badge-warning:before,.badge-danger:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;margin-right:6px;flex:none}.statchip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 8px;border-radius:9999px;border:1px solid transparent;font-size:12px;font-weight:600;line-height:1.35;white-space:nowrap;width:fit-content}.statchip-dot{width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}.statchip svg{flex:none}.statchip--critical{color:var(--sev-critical);background:var(--sev-critical-bg);border-color:color-mix(in srgb,var(--sev-critical) 34%,transparent)}.statchip--warn{color:var(--sev-warn);background:var(--sev-warn-bg);border-color:color-mix(in srgb,var(--sev-warn) 34%,transparent)}.statchip--ok{color:var(--sev-ok);background:var(--sev-ok-bg);border-color:color-mix(in srgb,var(--sev-ok) 34%,transparent)}.statchip--info{color:var(--sev-info);background:var(--sev-info-bg);border-color:color-mix(in srgb,var(--sev-info) 34%,transparent)}.statchip--unknown{color:var(--brand-text-muted);background:#ffffff0d;border-color:var(--brand-border-medium)}.statchip--sm{padding:1px 8px 1px 6px;font-size:11px}.statchip--sm .statchip-dot{width:6px;height:6px}.rec-vessel{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--brand-text);background:color-mix(in srgb,var(--brand-primary) 10%,transparent);border:1px solid color-mix(in srgb,var(--brand-primary) 22%,transparent);padding:3px 10px;border-radius:9999px;width:fit-content;white-space:nowrap}.rec-vessel svg{color:var(--brand-primary);flex-shrink:0}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.dash-data-warning{margin:0 0 14px;padding:10px 14px;border:1px solid color-mix(in srgb,var(--brand-warning) 30%,transparent);border-radius:var(--brand-radius-lg);background:color-mix(in srgb,var(--brand-warning) 8%,transparent);color:var(--brand-warning);font-size:12.5px;line-height:1.4}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.switch{position:relative;display:inline-flex;flex:none;width:34px;height:20px}.switch input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}.switch-track{pointer-events:none;width:100%;height:100%;border-radius:999px;background:var(--brand-surface-hover);border:1px solid var(--brand-border-medium);transition:background .15s ease,border-color .15s ease}.switch-track:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:var(--brand-text-muted);transition:transform .15s ease,background .15s ease}.switch input:checked+.switch-track{background:color-mix(in srgb,var(--brand-primary) 32%,transparent);border-color:var(--brand-primary)}.switch input:checked+.switch-track:after{transform:translate(14px);background:var(--brand-primary)}.switch input:focus-visible+.switch-track{outline:2px solid var(--focus-ring);outline-offset:2px}@media(prefers-reduced-motion:reduce){.switch-track,.switch-track:after{transition:none}}.btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;box-shadow:0 0 0 4px color-mix(in srgb,var(--focus-ring) 25%,transparent)}select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--focus-ring);outline-offset:0;border-color:var(--focus-ring)}:root[data-brand=vinova] .v-panel{background:linear-gradient(180deg,rgba(255,255,255,.018),transparent 42%),var(--brand-surface)}:root[data-brand=vinova] .v-stat{background:linear-gradient(155deg,color-mix(in srgb,var(--_tone, var(--brand-primary)) 9%,var(--brand-surface)),var(--brand-surface) 62%);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}:root[data-brand=vinova] button.v-stat{cursor:pointer}:root[data-brand=vinova] button.v-stat:hover{border-color:color-mix(in srgb,var(--_tone, var(--brand-primary)) 45%,transparent);box-shadow:var(--shadow-md);transform:translateY(-1px)}:root[data-brand=vinova] .btn-primary:hover:not(:disabled){box-shadow:0 6px 20px #22d3ee42}:root[data-brand=vinova] .mod-card:hover{transform:translateY(-2px)}@media(max-width:640px){input,select,textarea{font-size:16px}.mod-icon-btn{width:38px;height:38px}.btn{padding:9px 15px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}.gauge-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;padding:8px;justify-items:center;align-items:start}.gauge-grid svg{max-width:100%;height:auto}@media(max-width:640px){.gauge-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}}
