
/* Fleet Integrity V4 Workspace */
:root{
  --v4-bg:#f4f7fb;--v4-surface:#fff;--v4-surface-2:#f8fbff;--v4-text:#0b1f35;
  --v4-muted:#65778a;--v4-line:#dbe5ef;--v4-blue:#1769e0;--v4-blue-2:#0e55bd;
  --v4-navy:#061a30;--v4-danger:#b42318;--v4-warn:#b54708;--v4-ok:#087a55;
  --v4-shadow:0 18px 50px rgba(6,26,48,.14);--v4-radius:16px;--v4-drawer:480px;
}
html[data-theme="dark"]{
  --v4-bg:#07111e;--v4-surface:#0d1b2a;--v4-surface-2:#102235;--v4-text:#f3f7fb;
  --v4-muted:#9eb0c2;--v4-line:#21364c;--v4-blue:#4f9cff;--v4-blue-2:#78b2ff;
  --v4-navy:#020913;--v4-danger:#ff7f73;--v4-warn:#ffb45d;--v4-ok:#5fd4a8;
  --v4-shadow:0 22px 60px rgba(0,0,0,.38);
}
body.v4-ready{background:var(--v4-bg);color:var(--v4-text)}
body.v4-ready .app{min-height:100dvh;background:var(--v4-bg)}
body.v4-ready main{min-width:0;background:var(--v4-bg)}
body.v4-ready aside{background:var(--v4-navy)}
#nav.v4-legacy-nav{display:none!important}
#v4Nav{display:grid;gap:5px;padding:8px 10px 12px}
#v4Nav button{
  display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:10px 12px;
  border:0;border-radius:12px;background:transparent;color:#cbd9e7;text-align:left;font:inherit;
  font-weight:700;cursor:pointer
}
#v4Nav button:hover,#v4Nav button.active{background:rgba(255,255,255,.1);color:#fff}
#v4Nav .v4-nav-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:rgba(255,255,255,.08)}
.v4-subnav{
  display:flex;align-items:center;gap:8px;overflow:auto;padding:0 0 14px;margin:-2px 0 14px;
  scrollbar-width:none
}
.v4-subnav::-webkit-scrollbar{display:none}
.v4-subnav button{
  flex:0 0 auto;min-height:38px;padding:8px 12px;border:1px solid var(--v4-line);border-radius:999px;
  background:var(--v4-surface);color:var(--v4-muted);font:inherit;font-weight:750;cursor:pointer
}
.v4-subnav button.active{border-color:var(--v4-blue);background:color-mix(in srgb,var(--v4-blue) 10%,var(--v4-surface));color:var(--v4-blue)}
.v4-header-tools{display:flex;align-items:center;gap:8px;margin-left:auto}
.v4-search-trigger,.v4-create-trigger{
  min-height:42px;border:1px solid var(--v4-line);border-radius:12px;background:var(--v4-surface);color:var(--v4-text);
  font:inherit;font-weight:750;padding:9px 12px;cursor:pointer
}
.v4-create-trigger{background:var(--v4-blue);border-color:var(--v4-blue);color:#fff}
.v4-search-trigger kbd{margin-left:8px;padding:2px 6px;border:1px solid var(--v4-line);border-radius:6px;color:var(--v4-muted);background:var(--v4-surface-2)}
.v4-drawer-backdrop{
  position:fixed;inset:0;z-index:900;background:rgba(2,9,19,.36);backdrop-filter:blur(2px);
  opacity:0;pointer-events:none;transition:opacity .2s ease
}
.v4-drawer-backdrop.open{opacity:1;pointer-events:auto}
.v4-record-drawer{
  position:fixed;z-index:910;right:0;top:0;width:min(var(--v4-drawer),100vw);height:100dvh;
  background:var(--v4-surface);color:var(--v4-text);border-left:1px solid var(--v4-line);
  box-shadow:var(--v4-shadow);transform:translateX(102%);transition:transform .24s ease;
  display:grid;grid-template-rows:auto 1fr auto
}
.v4-record-drawer.open{transform:translateX(0)}
.v4-drawer-head{display:flex;align-items:flex-start;gap:12px;padding:20px;border-bottom:1px solid var(--v4-line)}
.v4-drawer-head>div{min-width:0;flex:1}
.v4-drawer-kicker{margin:0 0 4px;color:var(--v4-blue);font-size:11px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.v4-drawer-head h2{margin:0;font-size:23px;line-height:1.12;overflow-wrap:anywhere}
.v4-drawer-head p{margin:5px 0 0;color:var(--v4-muted)}
.v4-icon-button{
  width:42px;height:42px;border:1px solid var(--v4-line);border-radius:12px;background:var(--v4-surface-2);
  color:var(--v4-text);font-size:24px;cursor:pointer
}
.v4-drawer-body{overflow:auto;padding:18px 20px 28px;overscroll-behavior:contain}
.v4-drawer-actions{display:flex;gap:10px;padding:14px 20px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--v4-line);background:var(--v4-surface)}
.v4-drawer-actions button{flex:1;min-height:44px;border-radius:11px;border:1px solid var(--v4-line);font:inherit;font-weight:800;cursor:pointer}
.v4-drawer-actions .primary{background:var(--v4-blue);border-color:var(--v4-blue);color:#fff}
.v4-drawer-actions .secondary{background:var(--v4-surface-2);color:var(--v4-text)}
.v4-record-hero{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid var(--v4-line);border-radius:14px;background:var(--v4-surface-2);margin-bottom:14px}
.v4-record-hero strong{font-size:16px}.v4-record-hero small{display:block;margin-top:4px;color:var(--v4-muted)}
.v4-pill{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:850;text-transform:capitalize;background:color-mix(in srgb,var(--v4-blue) 12%,var(--v4-surface));color:var(--v4-blue)}
.v4-pill.ok{background:color-mix(in srgb,var(--v4-ok) 14%,var(--v4-surface));color:var(--v4-ok)}
.v4-pill.warn{background:color-mix(in srgb,var(--v4-warn) 14%,var(--v4-surface));color:var(--v4-warn)}
.v4-pill.bad{background:color-mix(in srgb,var(--v4-danger) 12%,var(--v4-surface));color:var(--v4-danger)}
.v4-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}
.v4-detail{
  min-width:0;padding:12px;border:1px solid var(--v4-line);border-radius:12px;background:var(--v4-surface)
}
.v4-detail span{display:block;color:var(--v4-muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.v4-detail strong{display:block;margin-top:5px;font-size:14px;overflow-wrap:anywhere}
.v4-section{margin-top:18px}
.v4-section-head{display:flex;align-items:end;justify-content:space-between;gap:10px;margin:0 0 8px}
.v4-section-head h3{margin:0;font-size:15px}.v4-section-head small{color:var(--v4-muted)}
.v4-mini-list{display:grid;gap:7px}
.v4-mini-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border:1px solid var(--v4-line);border-radius:11px;background:var(--v4-surface-2)}
.v4-mini-row>div{min-width:0}.v4-mini-row strong{display:block;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v4-mini-row small{display:block;margin-top:3px;color:var(--v4-muted)}
.v4-full-workspace{display:none}
.v4-full-workspace.active{display:block}
.v4-workspace-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 0 16px;border-bottom:1px solid var(--v4-line);margin-bottom:14px
}
.v4-workspace-head h1{margin:4px 0 0;font-size:28px}.v4-workspace-head p{margin:5px 0 0;color:var(--v4-muted)}
.v4-back-button{min-height:40px;padding:8px 12px;border:1px solid var(--v4-line);border-radius:10px;background:var(--v4-surface);color:var(--v4-text);font:inherit;font-weight:800;cursor:pointer}
.v4-workspace-tabs{display:flex;gap:7px;overflow:auto;padding:0 0 12px;scrollbar-width:none}
.v4-workspace-tabs button{flex:0 0 auto;min-height:38px;padding:8px 11px;border:1px solid var(--v4-line);border-radius:10px;background:var(--v4-surface);color:var(--v4-muted);font:inherit;font-weight:800;cursor:pointer}
.v4-workspace-tabs button.active{background:var(--v4-blue);border-color:var(--v4-blue);color:#fff}
.v4-workspace-panel{display:grid;gap:14px}
.v4-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.v4-stat{padding:15px;border:1px solid var(--v4-line);border-radius:14px;background:var(--v4-surface)}
.v4-stat span{display:block;color:var(--v4-muted);font-size:12px;font-weight:700}.v4-stat strong{display:block;margin-top:6px;font-size:24px}
.v4-panel{padding:16px;border:1px solid var(--v4-line);border-radius:var(--v4-radius);background:var(--v4-surface)}
.v4-panel h3{margin:0 0 10px}
#v4Command{
  position:fixed;z-index:1100;inset:0;display:none;align-items:flex-start;justify-content:center;padding:9vh 16px;background:rgba(2,9,19,.5);backdrop-filter:blur(5px)
}
#v4Command.open{display:flex}
.v4-command-box{width:min(720px,100%);max-height:78vh;overflow:hidden;border:1px solid var(--v4-line);border-radius:18px;background:var(--v4-surface);box-shadow:var(--v4-shadow)}
.v4-command-input{display:flex;align-items:center;gap:10px;padding:14px;border-bottom:1px solid var(--v4-line)}
.v4-command-input input{flex:1;min-width:0;min-height:44px;border:0!important;box-shadow:none!important;background:transparent!important;color:var(--v4-text)!important;font:inherit;font-size:16px;outline:none}
.v4-command-results{max-height:60vh;overflow:auto;padding:8px}
.v4-command-result{display:grid;grid-template-columns:90px 1fr auto;gap:12px;align-items:center;width:100%;padding:11px;border:0;border-radius:11px;background:transparent;color:var(--v4-text);font:inherit;text-align:left;cursor:pointer}
.v4-command-result:hover,.v4-command-result:focus{background:var(--v4-surface-2);outline:none}
.v4-command-result .type{color:var(--v4-blue);font-size:11px;font-weight:850;text-transform:uppercase}
.v4-command-result strong,.v4-command-result small{display:block}.v4-command-result small{margin-top:3px;color:var(--v4-muted)}
.v4-command-empty{padding:28px;color:var(--v4-muted);text-align:center}
#v4QuickMenu{
  position:fixed;z-index:1050;right:22px;bottom:82px;display:none;min-width:210px;padding:8px;border:1px solid var(--v4-line);border-radius:14px;background:var(--v4-surface);box-shadow:var(--v4-shadow)
}
#v4QuickMenu.open{display:grid;gap:4px}
#v4QuickMenu button{min-height:40px;padding:8px 10px;border:0;border-radius:9px;background:transparent;color:var(--v4-text);font:inherit;font-weight:750;text-align:left;cursor:pointer}
#v4QuickMenu button:hover{background:var(--v4-surface-2)}
.v4-filter-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.v4-filter-row select,.v4-filter-row input{min-height:40px;margin:0!important;padding:8px 10px!important;border:1px solid var(--v4-line)!important;border-radius:10px!important;background:var(--v4-surface)!important;color:var(--v4-text)!important;font:inherit}
.v4-filter-row button{min-height:40px;padding:8px 10px;border:1px solid var(--v4-line);border-radius:10px;background:var(--v4-surface);color:var(--v4-text);font:inherit;font-weight:750;cursor:pointer}
.v4-skeleton{position:relative;overflow:hidden;background:var(--v4-surface-2);border-radius:10px;min-height:18px}
.v4-skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(127,150,175,.16),transparent);animation:v4sh 1.2s infinite}
@keyframes v4sh{to{transform:translateX(100%)}}
.v4-bottom-nav{display:none}
.v4-toast{
  position:fixed;z-index:1200;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);opacity:0;
  max-width:min(520px,calc(100vw - 30px));padding:11px 14px;border:1px solid var(--v4-line);border-radius:12px;background:var(--v4-surface);color:var(--v4-text);box-shadow:var(--v4-shadow);transition:.2s ease;pointer-events:none
}
.v4-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
body.v4-drawer-open{overflow:hidden}
@media(min-width:901px){
  body.v4-drawer-open main{padding-right:min(var(--v4-drawer),40vw);transition:padding-right .24s ease}
}
@media(max-width:1050px){.v4-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){
  #v4Nav{display:none}
  body.v4-ready .app > aside{display:none!important}
  body.v4-ready main{padding-bottom:78px}
  .v4-bottom-nav{
    position:fixed;z-index:850;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);
    padding:7px 6px calc(7px + env(safe-area-inset-bottom));border-top:1px solid var(--v4-line);
    background:color-mix(in srgb,var(--v4-surface) 92%,transparent);backdrop-filter:blur(14px)
  }
  .v4-bottom-nav button{display:grid;place-items:center;gap:2px;min-height:49px;border:0;background:transparent;color:var(--v4-muted);font:inherit;font-size:10px;font-weight:800}
  .v4-bottom-nav button span:first-child{font-size:20px;line-height:1}.v4-bottom-nav button.active{color:var(--v4-blue)}
  .v4-record-drawer{width:100vw;border-left:0}
  .v4-drawer-head{padding-top:calc(14px + env(safe-area-inset-top))}
  #v4QuickMenu{left:12px;right:12px;bottom:78px}
  .v4-grid-4{grid-template-columns:1fr 1fr}
  .v4-header-tools .v4-create-trigger{display:none}
  .v4-search-trigger .label,.v4-search-trigger kbd{display:none}
}
@media(max-width:600px){
  .v4-detail-grid{grid-template-columns:1fr}
  .v4-grid-4{grid-template-columns:1fr 1fr}
  .v4-workspace-head{align-items:flex-start;flex-direction:column}
  .v4-command-result{grid-template-columns:72px 1fr}
  .v4-command-result>span:last-child{display:none}
  body.v4-ready main>header{gap:8px}
}

/* V4 table polish */
.table-wrap{overflow:auto}
.v4-data-table{width:100%;border-collapse:separate;border-spacing:0}
.v4-data-table thead th{position:sticky;top:0;z-index:3;background:var(--v4-surface);color:var(--v4-muted);box-shadow:0 1px 0 var(--v4-line)}
.v4-data-table thead th[role="button"]{cursor:pointer;user-select:none}
.v4-data-table thead th[role="button"]:after{content:" ↕";font-size:10px;opacity:.45}
.v4-data-table thead th[aria-sort="ascending"]:after{content:" ↑";opacity:1;color:var(--v4-blue)}
.v4-data-table thead th[aria-sort="descending"]:after{content:" ↓";opacity:1;color:var(--v4-blue)}
.v4-data-table tbody tr{transition:background .12s ease}
.v4-data-table tbody tr[role="button"]:hover,.v4-data-table tbody tr[tabindex="0"]:hover{background:color-mix(in srgb,var(--v4-blue) 6%,var(--v4-surface))}
.v4-data-table tbody tr:focus-visible{outline:2px solid var(--v4-blue);outline-offset:-2px}
@media(max-width:700px){.table-wrap{border-radius:14px}.v4-data-table{min-width:720px}.v4-data-table th,.v4-data-table td{white-space:nowrap}}

/* V4 mobile navigation sheet + iPhone ergonomics */
.v4-mobile-more-backdrop{position:fixed;z-index:1035;inset:0;background:rgba(2,9,19,.35);opacity:0;pointer-events:none;transition:opacity .2s ease}
.v4-mobile-more-backdrop.open{opacity:1;pointer-events:auto}
.v4-mobile-more{
  position:fixed;z-index:1045;left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));display:none;
  max-height:min(70dvh,620px);overflow:auto;border:1px solid var(--v4-line);border-radius:18px;background:var(--v4-surface);
  box-shadow:var(--v4-shadow);padding:10px
}
.v4-mobile-more.open{display:block}
.v4-mobile-more-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 4px 10px}
.v4-mobile-more-head strong{font-size:16px}
.v4-mobile-more-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.v4-mobile-more-grid button{
  min-width:0;min-height:86px;padding:12px;border:1px solid var(--v4-line);border-radius:13px;background:var(--v4-surface-2);
  color:var(--v4-text);text-align:left;font:inherit;cursor:pointer
}
.v4-mobile-more-grid button>span{display:block;color:var(--v4-blue);font-size:21px;margin-bottom:6px}
.v4-mobile-more-grid strong,.v4-mobile-more-grid small{display:block}
.v4-mobile-more-grid strong{font-size:13px}.v4-mobile-more-grid small{margin-top:3px;color:var(--v4-muted);font-size:10px;line-height:1.35}
@media(max-width:900px){
  body.v4-ready main{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));padding-bottom:calc(88px + env(safe-area-inset-bottom))}
  body.v4-ready main>header{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--v4-bg) 92%,transparent);backdrop-filter:blur(12px);padding-top:max(10px,env(safe-area-inset-top))}
  .v4-record-drawer{display:grid!important}
  .v4-drawer-head{position:sticky;top:0;z-index:2;background:var(--v4-surface)}
  .v4-drawer-actions{position:sticky;bottom:0;z-index:2}
  .v4-drawer-actions button,.v4-icon-button,.v4-back-button,.v4-subnav button,.v4-filter-row button,.v4-filter-row select,.v4-filter-row input{min-height:44px}
  #v4QuickMenu{bottom:calc(78px + env(safe-area-inset-bottom));max-height:62dvh;overflow:auto}
  #v4QuickMenu button{min-height:46px}
  .v4-command-box{max-height:84dvh}
  .v4-command-results{max-height:70dvh}
}
@media(max-width:480px){
  .v4-mobile-more-grid{grid-template-columns:1fr}
  .v4-mobile-more-grid button{min-height:70px}
  .v4-grid-4{grid-template-columns:1fr}
  .v4-record-drawer{border-radius:0}
  .v4-drawer-head h2{font-size:21px}
  .v4-drawer-body{padding-left:14px;padding-right:14px}
  .v4-drawer-actions{padding-left:14px;padding-right:14px}
  .v4-workspace-head h1{font-size:24px}
}

/* V4 reduced motion */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important}
  .v4-record-drawer,.v4-drawer-backdrop,.v4-mobile-more-backdrop,.v4-toast{transition:none!important}
  .v4-skeleton:after{animation:none!important}
}

/* V4 single evidence workflow */
body.v4-ready #clientWorkspace [data-upload-client-doc],
body.v4-ready #recordWorkspace [data-upload-record-doc]{display:none!important}
.action-attention-row{align-items:flex-start}
.action-attention-row .row-note{margin-top:5px;color:var(--muted);font-size:12px;line-height:1.4}


.action-attention-row{gap:16px}
.action-attention-main{min-width:0;flex:1}
.action-attention-row .row-title{font-weight:800;line-height:1.25}
.action-attention-row .row-note{margin-top:6px;color:var(--text);opacity:.78;font-size:12.5px;line-height:1.45}
.action-meta{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:8px;color:var(--muted);font-size:11.5px}
.action-meta span+span:before{content:"•";margin-right:12px;opacity:.55}
.action-attention-row .fi-action-buttons{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.v4-inline-empty{padding:12px 0;color:var(--muted);font-size:13px}
.v4-evidence-picker{display:grid!important;gap:6px;padding:12px;border:1px dashed var(--v4-border);border-radius:12px;background:var(--v4-surface-2)}
.v4-evidence-picker input[type="file"]{margin-top:4px;max-width:100%}
@media(max-width:720px){
  .action-attention-row{display:grid!important;grid-template-columns:1fr}
  .action-attention-row .fi-action-buttons{justify-content:space-between;width:100%}
  .action-meta{gap:5px 9px}
  .action-meta span+span:before{margin-right:9px}
}
