/*
 * ============================================================
 * BRILL VAULT DESKTOP OS V2
 * Assets Workspace
 * Desktop-only split-view application
 * ============================================================
 */


/* Legacy Assets remains fallback.
   Hide only after V2 has successfully mounted. */

#view-assets.bv-assets-workspace-ready
.bv-assets-page > .bv-assets-hero,

#view-assets.bv-assets-workspace-ready
.bv-assets-page > .bv-assets-summary,

#view-assets.bv-assets-workspace-ready
.bv-assets-page > .bv-assets-section {
  display: none !important;
}


/* ============================================================
   WORKSPACE ROOT
   ============================================================ */

#bvAssetsWorkspace {
  --aw-bg:
    rgba(8, 13, 22, .82);

  --aw-panel:
    rgba(12, 20, 32, .90);

  --aw-panel-2:
    rgba(15, 24, 39, .92);

  --aw-border:
    rgba(132, 155, 191, .105);

  --aw-border-strong:
    rgba(72, 130, 224, .27);

  --aw-text:
    #eef2f8;

  --aw-muted:
    #738198;

  --aw-dim:
    #56647a;

  --aw-blue:
    #4a87e9;

  --aw-green:
    #54d6a6;

  --aw-red:
    #e26d77;

  --aw-gold:
    #d4ac59;

  display: grid;

  gap: 17px;

  color: var(--aw-text);
}


/* ============================================================
   APPLICATION HEADER
   ============================================================ */

.bvaw-header {
  display: flex;

  align-items: flex-end;

  justify-content: space-between;

  gap: 24px;

  min-height: 78px;
}

.bvaw-heading {
  display: grid;

  gap: 4px;
}

.bvaw-kicker {
  margin: 0;

  color: #6e91c4;

  font-size: 8px;

  font-weight: 850;

  letter-spacing: .19em;

  text-transform: uppercase;
}

.bvaw-heading h1 {
  margin: 0;

  color: #f2f5fa;

  font-size: 31px;

  font-weight: 780;

  letter-spacing: -.035em;
}

.bvaw-heading p:last-child {
  margin: 2px 0 0;

  color: var(--aw-muted);

  font-size: 11px;
}

.bvaw-header-right {
  display: flex;

  align-items: center;

  gap: 9px;
}

.bvaw-live {
  display: inline-flex;

  align-items: center;

  gap: 7px;

  min-height: 34px;

  padding: 0 11px;

  border: 1px solid
    rgba(81, 201, 155, .15);

  border-radius: 9px;

  background:
    rgba(46, 128, 96, .06);

  color: #8cc5ae;

  font-size: 8px;

  font-weight: 800;

  letter-spacing: .08em;
}

.bvaw-live::before {
  content: "";

  width: 6px;

  height: 6px;

  border-radius: 50%;

  background: var(--aw-green);

  box-shadow:
    0 0 11px
    rgba(84, 214, 166, .5);
}

.bvaw-refresh {
  min-height: 34px !important;

  padding: 0 13px !important;

  border-radius: 9px !important;

  font-size: 9px !important;
}


/* ============================================================
   SUMMARY STRIP
   ============================================================ */

.bvaw-summary {
  display: grid;

  grid-template-columns:
    repeat(5, minmax(0, 1fr));

  overflow: hidden;

  border:
    1px solid var(--aw-border);

  border-radius:
    15px;

  background:
    linear-gradient(
      145deg,
      rgba(13, 21, 34, .90),
      rgba(8, 14, 23, .91)
    );
}

.bvaw-stat {
  position: relative;

  display: grid;

  gap: 5px;

  min-height: 77px;

  padding: 15px 17px;

  border-right:
    1px solid var(--aw-border);
}

.bvaw-stat:last-child {
  border-right: 0;
}

.bvaw-stat span {
  color: #617087;

  font-size: 8px;

  font-weight: 750;

  letter-spacing: .08em;

  text-transform: uppercase;
}

.bvaw-stat strong {
  color: #edf1f7;

  font-size: 20px;

  font-weight: 760;
}

.bvaw-stat.is-alert strong {
  color: #e6bc71;
}


/* ============================================================
   TOOLBAR
   ============================================================ */

.bvaw-toolbar {
  display: grid;

  grid-template-columns:
    minmax(0, 1fr)
    270px;

  align-items: center;

  gap: 14px;
}

.bvaw-filters {
  display: flex;

  align-items: center;

  gap: 6px;
}

.bvaw-filter {
  min-height: 34px;

  padding: 0 13px;

  border:
    1px solid transparent;

  border-radius: 9px;

  background:
    transparent;

  color: #77859a;

  cursor: pointer;

  font: inherit;

  font-size: 9px;

  font-weight: 750;

  transition: .16s ease;
}

.bvaw-filter:hover {
  color: #dce3ed;

  background:
    rgba(50, 73, 108, .075);
}

.bvaw-filter.active {
  border-color:
    rgba(73, 128, 220, .23);

  background:
    rgba(47, 89, 157, .13);

  color: #dfe9fa;
}

.bvaw-search-wrap {
  position: relative;
}

.bvaw-search {
  width: 100%;

  min-height: 36px !important;

  padding:
    0
    12px
    0
    33px !important;

  border:
    1px solid
    rgba(128, 151, 187, .12) !important;

  border-radius:
    10px !important;

  background:
    rgba(8, 14, 23, .72) !important;

  color:
    #e6ebf3 !important;

  font-size:
    10px !important;
}

.bvaw-search-wrap::before {
  content: "⌕";

  position: absolute;

  top: 50%;

  left: 12px;

  z-index: 2;

  transform:
    translateY(-50%);

  color: #6683ad;

  font-size: 14px;
}


/* ============================================================
   SPLIT WORKSPACE
   ============================================================ */

.bvaw-split {
  display: grid;

  grid-template-columns:
    minmax(520px, 1fr)
    390px;

  align-items: start;

  gap: 14px;
}


/* LEFT */

.bvaw-browser {
  min-height: 590px;

  overflow: hidden;

  border:
    1px solid var(--aw-border);

  border-radius:
    17px;

  background:
    linear-gradient(
      145deg,
      rgba(12, 19, 31, .90),
      rgba(8, 14, 23, .92)
    );
}

.bvaw-browser-head {
  display: flex;

  align-items: center;

  justify-content: space-between;

  min-height: 50px;

  padding:
    0
    16px;

  border-bottom:
    1px solid var(--aw-border);
}

.bvaw-browser-head strong {
  color: #dce3ed;

  font-size: 10px;

  font-weight: 780;
}

.bvaw-browser-head span {
  color: #58667c;

  font-size: 8px;
}

.bvaw-list {
  max-height:
    calc(100vh - 345px);

  min-height:
    530px;

  overflow-y: auto;

  padding: 9px;
}

.bvaw-group {
  margin-bottom: 12px;
}

.bvaw-group-title {
  padding:
    8px
    10px
    7px;

  color: #4f5f76;

  font-size: 8px;

  font-weight: 850;

  letter-spacing: .15em;

  text-transform: uppercase;
}

.bvaw-item {
  position: relative;

  display: grid;

  grid-template-columns:
    40px
    minmax(0, 1fr)
    auto;

  align-items: center;

  width: 100%;

  min-height: 76px;

  gap: 12px;

  margin-bottom: 5px;

  padding:
    10px
    12px;

  border:
    1px solid transparent;

  border-radius:
    12px;

  background:
    transparent;

  color: inherit;

  cursor: pointer;

  font: inherit;

  text-align: left;

  transition:
    background .15s ease,
    border-color .15s ease,
    transform .15s ease;
}

.bvaw-item:hover {
  border-color:
    rgba(125, 151, 193, .09);

  background:
    rgba(42, 62, 94, .075);
}

.bvaw-item.selected {
  border-color:
    rgba(70, 130, 225, .27);

  background:
    linear-gradient(
      90deg,
      rgba(43, 84, 151, .18),
      rgba(27, 43, 68, .07)
    );

  box-shadow:
    inset 3px 0 0
    var(--aw-blue);
}

.bvaw-item-icon {
  display: grid;

  width: 38px;

  height: 38px;

  place-items: center;

  border:
    1px solid
    rgba(77, 123, 198, .16);

  border-radius:
    10px;

  background:
    rgba(44, 83, 145, .085);

  color:
    #7ca3df;

  font-size:
    14px;
}

.bvaw-item-copy {
  min-width: 0;

  display: grid;

  gap: 3px;
}

.bvaw-item-copy strong {
  overflow: hidden;

  color:
    #e6ebf3;

  font-size:
    11px;

  font-weight:
    760;

  text-overflow:
    ellipsis;

  white-space:
    nowrap;
}

.bvaw-item-copy small {
  overflow: hidden;

  color:
    #647289;

  font-size:
    8px;

  text-overflow:
    ellipsis;

  white-space:
    nowrap;
}

.bvaw-item-meta {
  display: grid;

  justify-items: end;

  gap: 5px;
}

.bvaw-status {
  display: inline-flex;

  align-items: center;

  min-height: 23px;

  padding:
    0
    8px;

  border:
    1px solid
    rgba(80, 188, 147, .14);

  border-radius:
    999px;

  background:
    rgba(55, 136, 103, .055);

  color:
    #82bda5;

  font-size:
    7px;

  font-weight:
    800;

  letter-spacing:
    .05em;
}

.bvaw-status.warn {
  border-color:
    rgba(216, 169, 84, .16);

  background:
    rgba(156, 111, 38, .07);

  color:
    #d7ae67;
}

.bvaw-status.danger {
  border-color:
    rgba(222, 102, 113, .17);

  background:
    rgba(153, 53, 62, .07);

  color:
    #dc8890;
}

.bvaw-item-meta small {
  color:
    #526077;

  font-size:
    7px;
}


/* empty/error */

.bvaw-empty {
  display: grid;

  place-items: center;

  min-height: 260px;

  padding: 30px;

  color: #66758b;

  font-size: 10px;

  text-align: center;
}

.bvaw-empty.error {
  color: #cb7c84;
}


/* ============================================================
   INSPECTOR
   ============================================================ */

.bvaw-inspector {
  position: sticky;

  top: 83px;

  min-height: 590px;

  overflow: hidden;

  border:
    1px solid var(--aw-border);

  border-radius:
    17px;

  background:
    linear-gradient(
      150deg,
      rgba(15, 24, 39, .96),
      rgba(8, 14, 23, .98)
    );

  box-shadow:
    0 22px 55px
    rgba(0, 0, 0, .15);
}

.bvaw-inspector-empty {
  display: grid;

  min-height: 590px;

  place-items: center;

  padding: 35px;

  color:
    #617086;

  font-size:
    10px;

  text-align: center;
}

.bvaw-inspector-body {
  display: grid;

  gap: 0;
}

.bvaw-inspector-head {
  display: grid;

  gap: 6px;

  padding:
    19px
    19px
    17px;

  border-bottom:
    1px solid var(--aw-border);
}

.bvaw-inspector-type {
  color:
    #6686b7;

  font-size:
    8px;

  font-weight:
    850;

  letter-spacing:
    .15em;

  text-transform:
    uppercase;
}

.bvaw-inspector-head h2 {
  margin: 0;

  color:
    #f1f4f9;

  font-size:
    21px;

  font-weight:
    770;

  letter-spacing:
    -.03em;
}

.bvaw-inspector-sub {
  color:
    #6d7b91;

  font-size:
    9px;
}

.bvaw-inspector-status {
  margin-top: 5px;
}

.bvaw-inspector-section {
  display: grid;

  gap: 11px;

  padding:
    16px
    19px;

  border-bottom:
    1px solid var(--aw-border);
}

.bvaw-inspector-section:last-child {
  border-bottom: 0;
}

.bvaw-inspector-section-title {
  color:
    #53647d;

  font-size:
    8px;

  font-weight:
    850;

  letter-spacing:
    .15em;

  text-transform:
    uppercase;
}

.bvaw-info-row {
  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 16px;

  min-height: 26px;
}

.bvaw-info-row span {
  color:
    #68768c;

  font-size:
    9px;
}

.bvaw-info-row strong {
  max-width: 220px;

  overflow: hidden;

  color:
    #dce3ed;

  font-size:
    9px;

  font-weight:
    720;

  text-align: right;

  text-overflow:
    ellipsis;

  white-space:
    nowrap;
}


/* Condition */

.bvaw-health {
  display: grid;

  gap: 10px;
}

.bvaw-health-row {
  display: grid;

  grid-template-columns:
    67px
    minmax(0, 1fr)
    34px;

  align-items: center;

  gap: 8px;
}

.bvaw-health-row span,
.bvaw-health-row strong {
  font-size: 8px;
}

.bvaw-health-row span {
  color: #69778d;
}

.bvaw-health-row strong {
  color: #cbd4e1;

  text-align: right;
}

.bvaw-health-track {
  height: 5px;

  overflow: hidden;

  border-radius:
    999px;

  background:
    rgba(116, 137, 168, .10);
}

.bvaw-health-fill {
  width:
    calc(var(--health) * 1%);

  height: 100%;

  border-radius:
    inherit;

  background:
    linear-gradient(
      90deg,
      #3879d9,
      #69a2f4
    );
}


/* Inspector action */

.bvaw-inspector-actions {
  display: grid;

  gap: 8px;

  padding:
    16px
    19px
    19px;
}

.bvaw-action {
  min-height: 39px;

  border:
    1px solid
    rgba(77, 132, 223, .21);

  border-radius:
    10px;

  background:
    rgba(44, 83, 147, .10);

  color:
    #a7c3ef;

  cursor:
    pointer;

  font:
    inherit;

  font-size:
    9px;

  font-weight:
    760;

  transition: .15s ease;
}

.bvaw-action:hover {
  border-color:
    rgba(77, 132, 223, .36);

  background:
    rgba(48, 91, 161, .17);

  color:
    #dceaff;
}


/* ============================================================
   FOOTER / APP STATUS
   ============================================================ */

.bvaw-footer {
  display: flex;

  align-items: center;

  justify-content: space-between;

  min-height: 34px;

  padding:
    0
    3px;

  color:
    #4f5e73;

  font-size:
    8px;
}

.bvaw-footer-left,
.bvaw-footer-right {
  display: flex;

  align-items: center;

  gap: 11px;
}

.bvaw-footer-dot {
  width: 5px;

  height: 5px;

  border-radius: 50%;

  background:
    var(--aw-green);
}


/* Desktop resolution tuning */

@media (max-width: 1450px) {
  .bvaw-split {
    grid-template-columns:
      minmax(480px, 1fr)
      350px;
  }

  .bvaw-summary {
    grid-template-columns:
      repeat(5, minmax(90px, 1fr));
  }
}

@media (max-width: 1250px) {
  .bvaw-split {
    grid-template-columns:
      minmax(450px, 1fr)
      320px;
  }

  .bvaw-toolbar {
    grid-template-columns:
      minmax(0, 1fr)
      220px;
  }
}
