/* FLEVIUM v0.9.60.1: layout stabilization only.
   Always retain valid table-cell display. Header breakpoint is determined
   by content fit; scanner stays mathematically centered on all viewports. */

/* 1) Genuine table layout; a flex TD was the cause of detached grey blocks. */
.cards-table{border-collapse:collapse!important;width:100%;}
.cards-table tbody tr>td.cell-actions,
.cards-table tbody tr>td.cell-actions:empty{display:table-cell!important;vertical-align:middle!important;white-space:nowrap!important;text-align:right!important;min-width:0!important;}
.cards-table tbody tr>td.cell-actions .btn{display:inline-flex!important;vertical-align:middle;}
.cards-table tbody tr.status-good>td{background:#103a2c!important;}
.cards-table tbody tr.status-warn>td{background:#44321b!important;}
.cards-table tbody tr.status-bad>td{background:#49212f!important;}
.cards-table tbody tr.status-check>td{background:#20354c!important;}
.cards-table tbody tr.bulk-row-selected>td{background:#233e60!important;}
.cards-table tbody tr.status-good:hover>td{background:#19513d!important;}
.cards-table tbody tr.status-warn:hover>td{background:#594322!important;}
.cards-table tbody tr.status-bad:hover>td{background:#61293c!important;}
.cards-table tbody tr.status-check:hover>td{background:#2b4a68!important;}
.cards-table tbody tr.bulk-row-selected:hover>td{background:#304c70!important;}
.cards-table td.cell-actions:empty::before{content:"";display:inline-block;width:1px;height:1px;}
.cards-table tbody tr>td.cell-actions{border-bottom:1px solid #2b3b52!important;}
.cards-table .table-wrap{overflow-x:auto;}

/* 2) Do not let responsive navigation overlap the brand or account. */
.fv50-main-header{box-sizing:border-box;width:100%;}
.fv50-main-header .fv50-brand{position:relative;z-index:1;}
.fv601-header-extras{display:flex;align-items:center;justify-self:end;gap:9px;position:relative;z-index:15;}
.fv601-more{display:none;position:relative;}
.fv601-more>button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:7px 11px;color:#d5eaff;border-radius:12px;background:#142440;border:1px solid #344c72;font-size:13px;}
.fv601-more-menu{position:absolute;top:calc(100% + 9px);right:0;min-width:207px;max-width:calc(100vw - 16px);padding:7px;border-radius:15px;border:1px solid #425777;background:#121d33;box-shadow:0 18px 60px #000a;z-index:100;}
.fv601-more-menu[hidden]{display:none!important;}
.fv601-more-menu button{display:block;text-align:left;width:100%;padding:12px;border:0;border-radius:9px;color:#e5efff;background:none;white-space:nowrap;font-size:13px;}
.fv601-more-menu button:hover{background:#213657;}

/* Wide desktop: three columns; scanner is in the exact center of the viewport. */
@media (min-width:1551px){
 .fv50-main-header{display:grid!important;grid-template-columns:minmax(0,1fr) max-content minmax(0,1fr)!important;grid-template-rows:auto!important;column-gap:12px!important;min-height:88px;}
 .fv50-main-header .fv50-brand{grid-column:1!important;grid-row:1!important;width:clamp(178px,15.2vw,245px)!important;max-width:245px!important;justify-self:start!important;}
 .fv50-main-header #nav{grid-column:2!important;grid-row:1!important;display:grid!important;grid-template-columns:minmax(max-content,1fr) auto minmax(max-content,1fr)!important;width:max-content!important;max-width:none!important;overflow:visible!important;justify-self:center!important;gap:5px!important;padding:4px 0!important;position:static!important;}
 .fv50-main-header #nav .fv60-nav-left{justify-content:flex-end!important;}
 .fv50-main-header #nav .fv60-nav-right{justify-content:flex-start!important;}
 .fv50-main-header #nav .fv50-scan-nav{position:static!important;transform:none!important;top:auto!important;left:auto!important;}
 .fv50-main-header .fv601-header-extras{grid-column:3!important;grid-row:1!important;justify-self:end!important;}
}

/* Medium desktop and tablet: brand/account on top, navigation centered on its own row. */
@media (min-width:761px) and (max-width:1550px){
 .fv50-main-header{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;gap:3px 12px!important;padding:7px clamp(10px,2vw,26px) 9px!important;}
 .fv50-main-header .fv50-brand{grid-column:1!important;grid-row:1!important;width:clamp(166px,18vw,214px)!important;max-width:214px!important;}
 .fv50-main-header .fv601-header-extras{grid-column:2!important;grid-row:1!important;justify-self:end!important;}
 .fv50-main-header #nav{grid-column:1/-1!important;grid-row:2!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;justify-self:stretch!important;align-items:center!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow:visible!important;gap:6px!important;position:static!important;padding:4px 0!important;}
 .fv50-main-header #nav .fv60-nav-group{display:flex!important;min-width:0!important;gap:1px!important;}
 .fv50-main-header #nav .fv60-nav-left{justify-content:flex-end!important;}
 .fv50-main-header #nav .fv60-nav-right{justify-content:flex-start!important;}
 .fv50-main-header #nav .fv60-nav-group>button{padding:7px clamp(4px,.7vw,11px)!important;font-size:clamp(10px,.88vw,12px)!important;gap:5px!important;min-height:40px!important;}
 .fv50-main-header #nav .fv50-scan-nav{position:static!important;transform:none!important;top:auto!important;left:auto!important;min-height:42px!important;white-space:nowrap!important;z-index:1!important;}
 .fv50-main-header #nav .fv50-scan-nav small{display:inline!important;}
}
@media (min-width:761px) and (max-width:1020px){
 .fv50-main-header #nav .fv60-nav-group>button{font-size:11px!important;padding:7px 5px!important;gap:4px!important;}
 .fv50-main-header #nav .fv60-nav-group .nav-icon{font-size:16px!important;}
 .fv50-main-header #nav .fv50-scan-nav{font-size:11px!important;padding:7px 9px!important;}
 .fv50-main-header #nav .fv50-scan-nav small{display:none!important;}
}

/* Mobile app navigation. Header remains compact; primary controls are always visible. */
@media (max-width:760px){
 .fv50-main-header{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto!important;gap:8px!important;min-height:67px!important;padding:6px 10px!important;}
 .fv50-main-header .fv50-brand{grid-column:1!important;grid-row:1!important;width:clamp(125px,36vw,170px)!important;max-width:170px!important;justify-self:start!important;}
 .fv50-main-header .fv50-brand img{max-height:56px!important;object-fit:contain!important;}
 .fv50-main-header #nav{display:none!important;}
 .fv50-main-header .fv601-header-extras{grid-column:2!important;grid-row:1!important;justify-self:end!important;}
 .fv601-more{display:block!important;}
 .fv601-more>button span{display:none;}
 #fv50ProfileButton{width:41px;height:41px;}
 #mobileBottomNav.fv601-mobile-nav{position:fixed!important;bottom:0;left:0;right:0;z-index:65;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;align-items:stretch;gap:0!important;margin:0!important;padding:7px max(4px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left));min-height:68px;background:rgba(9,17,34,.97);border-top:1px solid #344767;box-shadow:0 -8px 35px #0009;backdrop-filter:blur(17px);-webkit-backdrop-filter:blur(17px);}
 #mobileBottomNav.fv601-mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:5px 1px;min-width:0;min-height:51px;border-radius:12px;color:#aac4e1;background:transparent;border:1px solid transparent;line-height:1.1;}
 #mobileBottomNav.fv601-mobile-nav button>span{font-size:24px;line-height:1.1;}
 #mobileBottomNav.fv601-mobile-nav button small{font-size:10px;white-space:nowrap;font-weight:650;}
 #mobileBottomNav.fv601-mobile-nav button.selected{color:#fff;background:rgba(77,140,232,.18);border-color:#356a9a;}
 #mobileBottomNav.fv601-mobile-nav .fv601-mobile-scan{color:#86eefe;border-color:#4a7bbb;background:linear-gradient(145deg,#154b6b,#30225c);box-shadow:inset 0 -2px #846cff;}
 .shell{padding-bottom:calc(81px + env(safe-area-inset-bottom))!important;}
 .fv50-site-footer{padding-bottom:calc(80px + env(safe-area-inset-bottom))!important;}
 .fv60-top{bottom:calc(88px + env(safe-area-inset-bottom))!important;}
 .toast{bottom:calc(85px + env(safe-area-inset-bottom))!important;}
}
@media (max-width:360px){
 .fv50-main-header .fv50-brand{width:118px!important;}
 #mobileBottomNav.fv601-mobile-nav button small{font-size:9px!important;}
 .fv601-more>button{padding:6px 9px;}
}
