/* Professional workspace refinement: density, hierarchy and 100% zoom safety. */
body[data-app-shell="1"]{--ui-control-h:44px;--ui-radius:12px;--ui-space:16px}
body[data-app-shell="1"] main.shell{max-width:1600px;padding-block:24px 72px}
body[data-app-shell="1"] main :where(.panel,.card){border-radius:16px;box-shadow:0 7px 24px rgba(5,38,53,.065)}
body[data-app-shell="1"] main :where(input,select,textarea,button,.button){min-height:var(--ui-control-h);border-radius:10px}
body[data-app-shell="1"] main :where(input,select,textarea){padding-inline:12px}
body[data-app-shell="1"] main label{display:grid;align-content:start;gap:6px;margin-block:0 14px;font-size:12px;font-weight:750}
body[data-app-shell="1"] main .form-grid{gap:14px 16px}
body[data-app-shell="1"] main fieldset{margin:0;padding:18px;border-radius:14px}
body[data-app-shell="1"] main .panel-heading{margin-bottom:16px}
body[data-app-shell="1"] main .panel-heading h2{margin-block:2px 0}
body[data-app-shell="1"] main :where(table){width:100%;border-collapse:separate;border-spacing:0}
body[data-app-shell="1"] main :where(th){position:sticky;top:0;z-index:3}
body[data-app-shell="1"] main :where(th,td){vertical-align:top}
body[data-app-shell="1"] main .data-table-wrap{border:1px solid #d2e1e6;border-radius:13px;background:#fff}

/* The side navigation opens calm and proportionate instead of visually exploding. */
@media(min-width:1101px){body[data-app-shell="1"]{--sidebar-width:286px}body[data-app-shell="1"].sidebar-collapsed{--sidebar-width:82px}body[data-app-shell="1"] .sidebar-group-items{max-height:min(42vh,430px);overflow:auto}body[data-app-shell="1"] .sidebar-item{min-height:56px!important;padding-block:9px!important}body[data-app-shell="1"] .sidebar-item-copy strong{font-size:12px!important;line-height:1.25}body[data-app-shell="1"] .sidebar-item-copy small{font-size:10px!important;line-height:1.35}.sidebar-submenu{margin-left:39px!important}.sidebar-submenu a{min-height:31px!important;padding:6px 8px!important}}

/* Radar: controls stay available; the table remains usable at 100% zoom. */
.radar-search{top:8px!important;padding:16px!important}.radar-search .inline-form{grid-template-columns:minmax(240px,1.7fr) minmax(160px,.8fr) minmax(210px,1fr) auto!important}.radar-search button{min-width:128px}
.vessel-table-toolbar{position:sticky;top:8px;z-index:7;background:#0d3443f5!important;backdrop-filter:blur(12px)}
.vessel-density{display:flex;gap:4px;padding:3px;border:1px solid #527582;border-radius:10px}.vessel-density button{min-height:32px!important;padding:6px 9px!important;border:0!important;background:transparent!important;color:#b8ced4!important;font-size:10px!important}.vessel-density button.is-active{background:#16b9a6!important;color:#062b38!important}
.vessel-operational-table thead th{top:0;z-index:5}.vessel-operational-table tbody td:first-child{position:sticky;left:0;z-index:2;background:#0b3040;box-shadow:1px 0 #315967}.vessel-operational-table tbody tr:nth-child(even) td:first-child{background:#0d3544}.vessel-operational-table td{padding:12px 10px!important}.vessel-operational-table td>span{display:block}.vessel-operational-table .vessel-table-name{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.vessel-operational-table small{display:block;margin-top:5px}
.vessel-table-wrap.is-compact .vessel-operational-table td{padding:8px 7px!important;font-size:10px}.vessel-table-wrap.is-compact .vessel-operational-table td>span{margin-bottom:3px}.vessel-table-wrap.is-compact .vessel-operational-table td>small{display:none}.vessel-table-wrap.is-compact .vessel-operational-table td span:nth-of-type(n+4){display:none}.vessel-table-wrap.is-compact .vessel-table-actions>a{min-height:30px!important;padding:5px!important}
.vessel-table-wrap.is-detailed .vessel-operational-table td{padding-block:14px!important}
[data-acronym]{text-decoration:underline dotted;text-decoration-thickness:1px;text-underline-offset:3px;cursor:help}

/* Clearer interaction states without white hover flashes. */
body[data-app-shell="1"] main :where(a,button,.card,.panel){transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}
body[data-app-shell="1"] main table tbody tr:hover{filter:none!important}
body[data-app-shell="1"].theme-dark main table tbody tr:hover{background:#123f4e!important;color:#edf8fa!important}
body[data-app-shell="1"] main button:disabled{opacity:.55;cursor:not-allowed}

@media(max-width:1180px){.radar-search .inline-form{grid-template-columns:1fr 1fr!important}.radar-search .search-grow{grid-column:1/-1}.vessel-operational-table{min-width:980px!important}.vessel-table-wrap{overflow:auto!important}}
@media(max-width:760px){body[data-app-shell="1"] main.shell{padding-inline:12px}.radar-search{position:static!important}.radar-search .inline-form{grid-template-columns:1fr!important}.radar-search .search-grow{grid-column:auto}.vessel-table-toolbar{position:static}.vessel-table-tools{display:grid!important;grid-template-columns:1fr 1fr}.vessel-density{grid-column:1/-1}.vessel-density button{flex:1}.vessel-operational-table{min-width:880px!important}}
@media(prefers-reduced-motion:reduce){body[data-app-shell="1"] main *{scroll-behavior:auto!important;transition:none!important}}
.journey-stage-list{display:grid;gap:9px}.journey-stage{display:grid;grid-template-columns:48px minmax(240px,1fr) minmax(120px,.28fr) 128px;gap:14px;align-items:center;padding:15px 17px;border:1px solid #d5e3e7;border-left:5px solid #9eb2b9;border-radius:13px;background:#fff;color:#173746;text-decoration:none}.journey-stage:hover,.journey-stage:focus-visible{border-color:#16a998;box-shadow:0 9px 24px rgba(7,83,77,.11);transform:translateY(-1px)}.journey-stage.state-in_progress{border-left-color:#2b9fda}.journey-stage.state-attention{border-left-color:#efb52f;background:#fffdf5}.journey-stage.state-done{border-left-color:#25bc89}.journey-number{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#0b4353;color:#fff;font-weight:900}.journey-copy{display:grid;gap:2px}.journey-copy strong{font-size:14px}.journey-copy small{color:#607985}.journey-copy em{width:max-content;margin-top:4px;padding:3px 7px;border-radius:999px;background:#eaf6f4;color:#087266;font-size:9px;font-style:normal;font-weight:900;text-transform:uppercase}.journey-metrics{display:grid}.journey-metrics b{font-size:22px;color:#0b4353}.journey-metrics small{color:#6b8089}.journey-metrics strong{color:#ad5d00;font-size:10px}.journey-state{justify-self:end;padding:6px 9px;border-radius:999px;background:#edf3f5;color:#49636f;font-size:10px;font-weight:900}.state-attention .journey-state{background:#fff0c8;color:#805600}.state-in_progress .journey-state{background:#e3f2fa;color:#12628a}.state-done .journey-state{background:#e0f7ed;color:#08704d}.journey-guidance{display:flex;align-items:center;justify-content:space-between;gap:24px}.journey-guidance p{margin-bottom:0;color:#617985}
@media(max-width:850px){.journey-stage{grid-template-columns:42px 1fr auto}.journey-metrics{grid-column:2}.journey-state{grid-column:3;grid-row:1}.journey-guidance{align-items:stretch;flex-direction:column}}@media(max-width:560px){.journey-stage{grid-template-columns:38px 1fr;padding:13px}.journey-state{grid-column:2;grid-row:auto;justify-self:start}.journey-metrics{grid-column:2}}
/* Radar rows must remain dark in every interaction state. This overrides legacy zebra/hover rules. */
body[data-app-shell="1"] .vessel-operational-table tbody tr,
body[data-app-shell="1"] .vessel-operational-table tbody tr:nth-child(odd),
body[data-app-shell="1"] .vessel-operational-table tbody tr:nth-child(even),
body[data-app-shell="1"] .vessel-operational-table tbody tr:hover,
body[data-app-shell="1"] .vessel-operational-table tbody tr:focus-within{background:#0b3040!important;color:#edf8fa!important}
body[data-app-shell="1"] .vessel-operational-table tbody tr:nth-child(even){background:#0d3544!important}
body[data-app-shell="1"] .vessel-operational-table tbody tr:hover,
body[data-app-shell="1"] .vessel-operational-table tbody tr:focus-within{background:#124656!important;box-shadow:inset 4px 0 #18b9a6}
body[data-app-shell="1"] .vessel-operational-table tbody tr>td,
body[data-app-shell="1"] .vessel-operational-table tbody tr:hover>td,
body[data-app-shell="1"] .vessel-operational-table tbody tr:focus-within>td{background:transparent!important;color:#edf8fa!important}
body[data-app-shell="1"] .vessel-operational-table tbody tr>td:first-child{background:#0b3040!important}
body[data-app-shell="1"] .vessel-operational-table tbody tr:nth-child(even)>td:first-child{background:#0d3544!important}
body[data-app-shell="1"] .vessel-operational-table tbody tr:hover>td:first-child,
body[data-app-shell="1"] .vessel-operational-table tbody tr:focus-within>td:first-child{background:#124656!important}
body[data-app-shell="1"] .vessel-operational-table tbody :where(a,strong,span,small){color:inherit}
body[data-app-shell="1"] .vessel-operational-table tbody a{color:#55d8c8!important}
body[data-app-shell="1"] .vessel-operational-table tbody .vessel-table-actions :where(button,a){background:#f4f8f9!important;color:#082f40!important;border-color:#b9d0d7!important}
body[data-app-shell="1"] .vessel-operational-table tbody .vessel-table-actions :where(button,a):hover{background:#dff7f2!important;color:#075d55!important;border-color:#16aa99!important}
