/* =========================================================
   281 — OBJECT MANAGEMENT WORKSPACE
   Atosy ERP
   ========================================================= */

#object-full-page {
  display: none;
  width: 100%;
  min-height: calc(100vh - 90px);
  padding: 28px 28px 48px;
  box-sizing: border-box;
}

#object-full-page.is-active {
  display: block;
}

.object-workspace-shell {
  width: min(1500px, 100%);
  margin: 0 auto;
}

.object-workspace-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;

  padding: 22px 24px;
  margin-bottom: 16px;

  border: 1px solid rgba(255,255,255,.11);
  border-radius: 26px;

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.10),
      rgba(255,255,255,.035)
    );

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 20px 44px rgba(0,0,0,.13);

  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

.object-workspace-title {
  min-width: 0;
}

.object-workspace-eyebrow {
  display: block;
  margin-bottom: 5px;

  font-size: 12px;
  font-weight: 740;
  letter-spacing: .04em;

  color: rgba(255,255,255,.58);
}

.object-workspace-title h1 {
  margin: 0;

  font-size: 28px;
  line-height: 1.15;
  font-weight: 790;
  letter-spacing: -.035em;
}

.object-workspace-title p {
  margin: 8px 0 0;

  font-size: 13px;
  line-height: 1.5;

  color: rgba(255,255,255,.62);
}

.object-workspace-actions {
  display: flex;
  gap: 9px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.object-workspace-button {
  appearance: none;

  min-height: 38px;
  padding: 0 14px;

  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.12),
      rgba(255,255,255,.045)
    );

  color: inherit;

  font: inherit;
  font-size: 12px;
  font-weight: 720;

  cursor: pointer;

  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.object-workspace-button:hover {
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.17),
      rgba(255,255,255,.065)
    );
}

.object-workspace-company {
  display: inline-flex;
  align-items: center;

  min-height: 34px;
  padding: 0 13px;

  border-radius: 999px;
  border: 1px solid rgba(33,212,155,.24);

  background: rgba(33,212,155,.10);

  color: #8ff4d3;

  font-size: 12px;
  font-weight: 760;
}

.object-workspace-kpis {
  display: grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap: 12px;
}

.object-workspace-kpi {
  min-height: 118px;
  padding: 17px;

  border: 1px solid rgba(255,255,255,.10);
  border-radius: 22px;

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.09),
      rgba(255,255,255,.03)
    );

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    0 16px 34px rgba(0,0,0,.11);

  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

.object-workspace-kpi span {
  display: block;

  font-size: 12px;
  font-weight: 650;

  color: rgba(255,255,255,.60);
}

.object-workspace-kpi strong {
  display: block;

  margin-top: 11px;

  font-size: 31px;
  line-height: 1;
  font-weight: 790;
  letter-spacing: -.04em;
}

.object-workspace-kpi small {
  display: block;

  margin-top: 9px;

  font-size: 11px;
  color: rgba(255,255,255,.50);
}

.object-workspace-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 14px;

  margin-top: 14px;
}

.object-workspace-panel {
  padding: 18px;

  border: 1px solid rgba(255,255,255,.10);
  border-radius: 22px;

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.08),
      rgba(255,255,255,.028)
    );

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.065),
    0 14px 30px rgba(0,0,0,.10);

  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.object-workspace-panel h2 {
  margin: 0 0 13px;

  font-size: 15px;
  font-weight: 750;
}

.object-dashboard-row {
  display: grid;
  grid-template-columns: minmax(125px,1fr) 2fr auto;
  gap: 10px;
  align-items: center;

  min-height: 33px;
}

.object-dashboard-row + .object-dashboard-row {
  border-top: 1px solid rgba(255,255,255,.055);
}

.object-dashboard-row-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;

  font-size: 12px;
}

.object-dashboard-bar {
  height: 6px;

  overflow: hidden;

  border-radius: 999px;

  background: rgba(255,255,255,.07);
}

.object-dashboard-bar i {
  display: block;

  height: 100%;
  min-width: 2px;

  border-radius: inherit;

  background:
    linear-gradient(
      90deg,
      rgba(33,212,155,.88),
      rgba(70,148,255,.86)
    );
}

.object-dashboard-row-value {
  min-width: 36px;

  text-align: right;

  font-size: 12px;
  font-weight: 730;
}

.object-dashboard-alert-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 9px;
}

.object-dashboard-alert {
  min-height: 66px;
  padding: 11px 12px;

  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.065);

  background: rgba(255,255,255,.042);
}

.object-dashboard-alert span {
  display: block;

  font-size: 11px;

  color: rgba(255,255,255,.57);
}

.object-dashboard-alert strong {
  display: block;

  margin-top: 6px;

  font-size: 21px;
  line-height: 1;
}

.object-workspace-loading,
.object-workspace-error {
  padding: 20px;

  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.09);

  background: rgba(255,255,255,.04);

  font-size: 13px;
}

.object-workspace-error {
  color: #ffb6b6;
}

body.atosy-view-object #atosy-dashboard-v2,
body.atosy-view-object #subject-full-page,
body.atosy-view-object #information-full-page {
  display: none !important;
}

@media (max-width: 1180px) {
  .object-workspace-kpis {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
}

@media (max-width: 820px) {
  #object-full-page {
    padding: 18px 14px 36px;
  }

  .object-workspace-hero {
    flex-direction: column;
  }

  .object-workspace-actions {
    justify-content: flex-start;
  }

  .object-workspace-kpis,
  .object-workspace-grid {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   281B — OBJECT WORKSPACE CONTRAST FIX
   ========================================================= */

#object-full-page,
#object-full-page * {
  color: #f7fbff;
}


/* HERO */

#object-full-page .object-workspace-eyebrow {
  color: rgba(235, 247, 255, .78);
}

#object-full-page .object-workspace-title h1 {
  color: #ffffff;
  text-shadow:
    0 1px 2px rgba(0,0,0,.22);
}

#object-full-page .object-workspace-title p {
  color: rgba(239, 247, 255, .82);
}


/* COMPANY CHIP */

#object-full-page .object-workspace-company {
  color: #d9fff2;

  border-color:
    rgba(78, 255, 199, .30);

  background:
    rgba(18, 110, 82, .32);

  box-shadow:
    inset 0 1px 0
    rgba(255,255,255,.08);
}


/* BUTTON */

#object-full-page .object-workspace-button {
  color: #f6faff;

  border-color:
    rgba(255,255,255,.20);

  background:
    rgba(9, 45, 96, .34);
}

#object-full-page .object-workspace-button:hover {
  color: #ffffff;

  border-color:
    rgba(255,255,255,.30);

  background:
    rgba(20, 70, 142, .48);
}


/* KPI CARDS */

#object-full-page .object-workspace-kpi {
  background:
    linear-gradient(
      145deg,
      rgba(11, 45, 98, .52),
      rgba(14, 42, 88, .34)
    );

  border-color:
    rgba(255,255,255,.15);

  box-shadow:
    inset 0 1px 0
      rgba(255,255,255,.10),
    0 16px 34px
      rgba(0,0,0,.18);
}

#object-full-page .object-workspace-kpi span {
  color: rgba(236, 245, 255, .82);
}

#object-full-page .object-workspace-kpi strong {
  color: #ffffff;

  text-shadow:
    0 1px 2px
    rgba(0,0,0,.24);
}

#object-full-page .object-workspace-kpi small {
  color: rgba(225, 238, 255, .72);
}


/* LARGE PANELS */

#object-full-page .object-workspace-panel {
  background:
    linear-gradient(
      145deg,
      rgba(8, 38, 82, .52),
      rgba(11, 34, 72, .38)
    );

  border-color:
    rgba(255,255,255,.14);

  box-shadow:
    inset 0 1px 0
      rgba(255,255,255,.08),
    0 16px 34px
      rgba(0,0,0,.16);
}

#object-full-page .object-workspace-panel h2 {
  color: #ffffff;
}


/* DISTRIBUTION ROWS */

#object-full-page .object-dashboard-row-name {
  color: rgba(240, 248, 255, .88);
}

#object-full-page .object-dashboard-row-value {
  color: #ffffff;
}

#object-full-page .object-dashboard-row +
.object-dashboard-row {
  border-top-color:
    rgba(255,255,255,.09);
}

#object-full-page .object-dashboard-bar {
  background:
    rgba(255,255,255,.13);
}

#object-full-page .object-dashboard-bar i {
  background:
    linear-gradient(
      90deg,
      #39e1b0,
      #62a8ff
    );

  box-shadow:
    0 0 8px
      rgba(62, 210, 190, .20);
}


/* ATTENTION / DATA QUALITY */

#object-full-page .object-dashboard-alert {
  background:
    rgba(11, 44, 91, .44);

  border-color:
    rgba(255,255,255,.13);
}

#object-full-page .object-dashboard-alert span {
  color: rgba(235, 244, 255, .80);
}

#object-full-page .object-dashboard-alert strong {
  color: #ffffff;
}


/* LOADING / ERROR */

#object-full-page .object-workspace-loading {
  color: rgba(240, 248, 255, .88);

  background:
    rgba(8, 38, 82, .45);

  border-color:
    rgba(255,255,255,.12);
}

#object-full-page .object-workspace-error {
  color: #ffd4d4;

  background:
    rgba(101, 21, 36, .38);

  border-color:
    rgba(255, 140, 155, .25);
}


/* PREVENT LEGACY GLOBAL DARK TEXT OVERRIDES */

body.atosy-view-object
#object-full-page
button,

body.atosy-view-object
#object-full-page
span,

body.atosy-view-object
#object-full-page
strong,

body.atosy-view-object
#object-full-page
small,

body.atosy-view-object
#object-full-page
h1,

body.atosy-view-object
#object-full-page
h2,

body.atosy-view-object
#object-full-page
p {
  opacity: 1;
}


/* =========================================================
   281C — OBJECT WORKSPACE FOOTER BOTTOM
   ========================================================= */

/*
 * Khi Object workspace mở:
 * giữ vùng nội dung đủ cao để footer nằm dưới cùng,
 * không chen ngay dưới top navigation.
 */

body.atosy-view-object .app-main {
  min-height: calc(100vh - 84px);
  display: flex;
  flex-direction: column;
}

body.atosy-view-object #object-full-page {
  flex: 1 0 auto;
  min-height: calc(100vh - 170px);
}

/*
 * Footer hiện có của app nằm sau main content.
 * Đẩy nó xuống đáy nếu viewport còn dư khoảng trống.
 */

body.atosy-view-object footer,
body.atosy-view-object .app-footer,
body.atosy-view-object #app-footer {
  margin-top: auto;
}

/*
 * Nếu footer đang nằm bên trong app-main,
 * giữ nguyên bố cục ngang của footer nhưng không nổi lên giữa trang.
 */

body.atosy-view-object .app-main > footer,
body.atosy-view-object .app-main > .app-footer,
body.atosy-view-object .app-main > #app-footer {
  flex: 0 0 auto;
}

/* =========================================================
   281F — OBJECT WORKSPACE ISOLATION GUARD
   Object workspace must NEVER leak into another workspace.
   ========================================================= */

/*
 * Canonical rule:
 * Object workspace is visible only in Object view.
 */

body:not(.atosy-view-object) #object-full-page {
  display: none !important;
}

body.atosy-view-dashboard #object-full-page,
body.atosy-view-subject #object-full-page,
body.atosy-view-information #object-full-page,
body.atosy-view-bpmn #object-full-page {
  display: none !important;
}

body[data-atosy-view="dashboard"] #object-full-page,
body[data-atosy-view="subject"] #object-full-page,
body[data-atosy-view="subjects"] #object-full-page,
body[data-atosy-view="information"] #object-full-page,
body[data-atosy-view="bpmn"] #object-full-page {
  display: none !important;
}

body.atosy-view-object[data-atosy-view="object"]
#object-full-page.is-active {
  display: block;
}

/* =========================================================
   281c — OBJECT LOOKUP UI
   Clone visual structure of Information Management
   ========================================================= */

.object-lookup-section {
  margin-top: 18px;
}

.object-lookup-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;

  padding: 18px 20px;
  margin-bottom: 12px;

  border: 1px solid rgba(255,255,255,.12);
  border-radius: 22px;

  background:
    linear-gradient(
      145deg,
      rgba(10, 40, 86, .52),
      rgba(10, 34, 72, .36)
    );

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 16px 34px rgba(0,0,0,.13);

  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.object-lookup-hero h2 {
  margin: 0;

  font-size: 19px;
  font-weight: 770;
  letter-spacing: -.02em;

  color: #fff;
}

.object-lookup-total {
  display: flex;
  align-items: center;
  gap: 7px;

  color: rgba(239,247,255,.82);

  font-size: 12px;
  font-weight: 650;
}

.object-lookup-total strong {
  color: #fff;
}

.object-lookup-toolbar {
  display: flex;
  align-items: center;
  gap: 12px;

  margin-bottom: 12px;
}

.object-lookup-search {
  flex: 1 1 auto;

  display: flex;
  align-items: center;

  min-height: 56px;
  padding: 0 17px;

  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;

  background:
    rgba(8, 34, 73, .42);

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07);

  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.object-lookup-search input {
  width: 100%;

  border: 0;
  outline: 0;

  background: transparent;

  color: #fff;

  font: inherit;
  font-size: 13px;
}

.object-lookup-search input::placeholder {
  color: rgba(233,242,255,.55);
}

.object-lookup-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 14px;
  align-items: start;
}

.object-lookup-main,
.object-classification-panel {
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 22px;

  background:
    linear-gradient(
      145deg,
      rgba(8, 37, 80, .50),
      rgba(8, 31, 67, .34)
    );

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    0 15px 32px rgba(0,0,0,.11);

  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);

  overflow: hidden;
}

.object-lookup-table-wrap {
  overflow-x: auto;
}

.object-lookup-table {
  width: 100%;
  border-collapse: collapse;
}

.object-lookup-table th,
.object-lookup-table td {
  padding: 12px 14px;

  border-bottom:
    1px solid rgba(255,255,255,.07);

  text-align: left;
  vertical-align: middle;

  font-size: 12px;
}

.object-lookup-table th {
  position: sticky;
  top: 0;

  z-index: 1;

  background:
    rgba(7, 31, 68, .92);

  color:
    rgba(237,246,255,.78);

  font-size: 11px;
  font-weight: 730;
}

.object-lookup-table td {
  color:
    rgba(245,249,255,.90);
}

.object-lookup-table tbody tr {
  cursor: pointer;
}

.object-lookup-table tbody tr:hover {
  background:
    rgba(69, 143, 255, .10);
}

.object-lookup-table tbody tr.is-selected {
  background:
    rgba(33, 212, 155, .12);
}

.object-lookup-name {
  font-weight: 700;
  color: #fff;
}

.object-lookup-muted {
  color:
    rgba(231,240,255,.58);
}

.object-lookup-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;

  padding: 13px 14px;
}

.object-lookup-page-info {
  color:
    rgba(232,241,255,.64);

  font-size: 11px;
}

.object-lookup-page-controls {
  display: flex;
  gap: 7px;
}

.object-lookup-page-button {
  min-width: 32px;
  height: 32px;

  padding: 0 9px;

  border: 1px solid rgba(255,255,255,.12);
  border-radius: 10px;

  background:
    rgba(255,255,255,.045);

  color: #fff;

  cursor: pointer;
}

.object-lookup-page-button:disabled {
  opacity: .35;
  cursor: default;
}

.object-classification-panel {
  padding: 0;
}

.object-classification-head {
  padding: 17px 18px;

  border-bottom:
    1px solid rgba(255,255,255,.08);
}

.object-classification-head h2 {
  margin: 0;

  font-size: 17px;
  font-weight: 760;

  color: #fff;
}

.object-classification-head p {
  margin: 5px 0 0;

  color:
    rgba(231,241,255,.60);

  font-size: 11px;
}

.object-category-tree {
  max-height: 620px;
  overflow: auto;

  padding: 10px 8px 14px;
}

.object-category-item {
  display: flex;
  align-items: center;
  gap: 7px;

  min-height: 34px;

  padding: 6px 9px;

  border-radius: 10px;

  cursor: pointer;

  color:
    rgba(240,247,255,.85);

  font-size: 12px;
}

.object-category-item:hover {
  background:
    rgba(255,255,255,.06);
}

.object-category-item.is-active {
  background:
    rgba(33,212,155,.14);

  color: #fff;
}

.object-category-item[data-level="1"] {
  font-weight: 730;
}

.object-category-item-count {
  margin-left: auto;

  color:
    rgba(229,240,255,.48);

  font-size: 10px;
}

.object-category-indent-1 { padding-left: 9px; }
.object-category-indent-2 { padding-left: 25px; }
.object-category-indent-3 { padding-left: 41px; }
.object-category-indent-4 { padding-left: 57px; }
.object-category-indent-5 { padding-left: 73px; }
.object-category-indent-6 { padding-left: 89px; }

.object-lookup-empty {
  padding: 26px;

  color:
    rgba(234,243,255,.64);

  font-size: 12px;
  text-align: center;
}

@media (max-width: 1040px) {
  .object-lookup-layout {
    grid-template-columns: 1fr;
  }

  .object-category-tree {
    max-height: 420px;
  }
}

/* =========================================================
   281i — OBJECT LOOKUP SEARCHBOX + SORT FIX
   Remove inner input rectangle.
   ========================================================= */

body.atosy-view-object
#object-full-page
#object-lookup-search-input {
  -webkit-appearance: none !important;
  appearance: none !important;

  display: block !important;
  width: 100% !important;
  min-width: 0 !important;

  padding: 0 !important;
  margin: 0 !important;

  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;

  border: 0 !important;
  border-width: 0 !important;
  border-style: none !important;
  border-color: transparent !important;

  border-radius: 0 !important;

  outline: 0 !important;
  outline-offset: 0 !important;

  box-shadow: none !important;
  -webkit-box-shadow: none !important;

  color: #ffffff !important;
}

body.atosy-view-object
#object-full-page
#object-lookup-search-input:focus,
body.atosy-view-object
#object-full-page
#object-lookup-search-input:active {
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

body.atosy-view-object
#object-full-page
#object-lookup-search-input::-webkit-search-decoration,
body.atosy-view-object
#object-full-page
#object-lookup-search-input::-webkit-search-cancel-button,
body.atosy-view-object
#object-full-page
#object-lookup-search-input::-webkit-search-results-button,
body.atosy-view-object
#object-full-page
#object-lookup-search-input::-webkit-search-results-decoration {
  -webkit-appearance: none;
}

body.atosy-view-object
#object-full-page
#object-lookup-search-input::placeholder {
  color: rgba(220, 232, 255, 0.58) !important;
  opacity: 1 !important;
}

/* =========================================================
   281k — OBJECT LOOKUP SEARCH INSIDE HEADER
   ========================================================= */

body.atosy-view-object
#object-full-page
.object-lookup-hero {
  display: grid !important;

  grid-template-columns:
    max-content
    minmax(260px, 1fr)
    max-content !important;

  align-items: center !important;

  gap: 18px !important;

  padding:
    12px
    16px !important;
}


body.atosy-view-object
#object-full-page
.object-lookup-hero h2 {
  white-space: nowrap;
}


body.atosy-view-object
#object-full-page
.object-lookup-search-inline {
  min-height: 42px !important;

  height: 42px !important;

  margin: 0 !important;

  padding:
    0
    14px !important;

  display: flex !important;

  align-items: center !important;

  gap: 9px !important;

  border:
    1px solid
    rgba(255, 255, 255, 0.12) !important;

  border-radius:
    14px !important;

  background:
    rgba(3, 35, 78, 0.34) !important;

  box-shadow:
    inset
    0
    1px
    0
    rgba(255, 255, 255, 0.06) !important;

  overflow: hidden !important;
}


body.atosy-view-object
#object-full-page
.object-lookup-search-icon {
  flex: 0 0 auto;

  color:
    rgba(230, 240, 255, 0.72);

  font-size: 16px;

  line-height: 1;
}


body.atosy-view-object
#object-full-page
.object-lookup-search-inline
#object-lookup-search-input {
  flex: 1 1 auto !important;

  width: 100% !important;

  min-width: 0 !important;

  height: 100% !important;

  padding: 0 !important;

  margin: 0 !important;

  background: transparent !important;

  border: 0 !important;

  outline: 0 !important;

  box-shadow: none !important;

  font-size: 12px !important;
}


body.atosy-view-object
#object-full-page
.object-lookup-total {
  white-space: nowrap;

  justify-self: end;
}


/*
 * Old standalone toolbar must not consume space
 * if any stale DOM survives during hot reload.
 */

body.atosy-view-object
#object-full-page
.object-lookup-toolbar {
  display: none !important;
}


@media (max-width: 900px) {

  body.atosy-view-object
  #object-full-page
  .object-lookup-hero {
    grid-template-columns:
      1fr
      max-content !important;
  }

  body.atosy-view-object
  #object-full-page
  .object-lookup-search-inline {
    grid-column:
      1 / -1;
  }
}

/* =========================================================
   282a — OBJECT CATEGORY MANAGER
   ========================================================= */

body.atosy-view-object
#object-full-page
.object-classification-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

body.atosy-view-object
#object-full-page
.object-classification-head-copy {
  min-width: 0;
}

body.atosy-view-object
#object-full-page
.object-category-manage-button {
  flex: 0 0 auto;

  border:
    1px solid
    rgba(255,255,255,.14);

  border-radius: 11px;

  padding:
    8px
    10px;

  background:
    rgba(255,255,255,.055);

  color: #fff;

  font-size: 10px;
  font-weight: 700;

  cursor: pointer;
}

body.atosy-view-object
#object-full-page
.object-category-manage-button:hover {
  background:
    rgba(255,255,255,.10);
}


/* Backdrop */

.object-category-manager-backdrop {
  position: fixed;
  inset: 0;

  z-index: 20000;

  display: grid;
  place-items: center;

  padding: 28px;

  background:
    rgba(0, 14, 38, .68);

  backdrop-filter:
    blur(15px);

  -webkit-backdrop-filter:
    blur(15px);
}


/* Dialog */

.object-category-manager-dialog {
  width:
    min(
      1080px,
      calc(100vw - 56px)
    );

  height:
    min(
      760px,
      calc(100vh - 56px)
    );

  display: flex;
  flex-direction: column;

  overflow: hidden;

  border:
    1px solid
    rgba(255,255,255,.14);

  border-radius: 26px;

  background:
    linear-gradient(
      145deg,
      rgba(10, 52, 108, .97),
      rgba(5, 27, 66, .98)
    );

  box-shadow:
    0 28px 90px
    rgba(0,0,0,.42),
    inset 0 1px 0
    rgba(255,255,255,.09);
}


/* Header */

.object-category-manager-header {
  flex: 0 0 auto;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;

  padding:
    18px
    22px;

  border-bottom:
    1px solid
    rgba(255,255,255,.09);
}

.object-category-manager-eyebrow {
  display: block;

  margin-bottom: 4px;

  color:
    rgba(154, 206, 255, .78);

  font-size: 9px;
  font-weight: 800;
  letter-spacing: .13em;
}

.object-category-manager-header h2 {
  margin: 0;

  color: #fff;

  font-size: 20px;
  line-height: 1.1;
}

.object-category-manager-close {
  width: 36px;
  height: 36px;

  border:
    1px solid
    rgba(255,255,255,.13);

  border-radius: 12px;

  background:
    rgba(255,255,255,.055);

  color: #fff;

  font-size: 22px;

  cursor: pointer;
}


/* Body */

.object-category-manager-body {
  min-height: 0;
  flex: 1 1 auto;

  display: grid;

  grid-template-columns:
    minmax(300px, .95fr)
    minmax(390px, 1.25fr);
}


/* Browser */

.object-category-manager-browser {
  min-height: 0;

  display: flex;
  flex-direction: column;

  border-right:
    1px solid
    rgba(255,255,255,.08);
}

.object-category-manager-browser-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;

  padding:
    15px
    16px;

  border-bottom:
    1px solid
    rgba(255,255,255,.07);
}

.object-category-manager-browser-head strong,
.object-category-manager-browser-head small {
  display: block;
}

.object-category-manager-browser-head strong {
  color: #fff;

  font-size: 13px;
}

.object-category-manager-browser-head small {
  margin-top: 3px;

  color:
    rgba(224,238,255,.55);

  font-size: 10px;
}

.object-category-manager-add {
  border:
    1px solid
    rgba(74, 232, 185, .28);

  border-radius: 10px;

  padding:
    8px
    12px;

  background:
    rgba(30, 194, 144, .15);

  color:
    #ddfff5;

  font-size: 11px;
  font-weight: 750;

  cursor: pointer;
}

.object-category-manager-list {
  min-height: 0;
  flex: 1 1 auto;

  overflow: auto;

  padding:
    8px;
}

.object-category-manager-row {
  width: 100%;

  display: flex;
  align-items: center;

  border: 0;
  border-radius: 10px;

  padding:
    8px
    9px;

  background:
    transparent;

  text-align: left;

  cursor: pointer;
}

.object-category-manager-row:hover {
  background:
    rgba(255,255,255,.055);
}

.object-category-manager-row.is-selected {
  background:
    rgba(52, 202, 165, .14);
}

.object-category-manager-indent {
  flex: 0 0 auto;

  width:
    calc(
      var(--object-category-depth)
      * 13px
    );
}

.object-category-manager-row-main {
  min-width: 0;
}

.object-category-manager-row-main strong,
.object-category-manager-row-main small {
  display: block;
}

.object-category-manager-row-main strong {
  overflow: hidden;

  color:
    rgba(246,250,255,.92);

  font-size: 11px;

  text-overflow: ellipsis;
  white-space: nowrap;
}

.object-category-manager-row-main small {
  margin-top: 2px;

  color:
    rgba(213,230,251,.47);

  font-size: 9px;
}


/* Editor */

.object-category-manager-editor {
  min-width: 0;

  overflow: auto;

  padding:
    22px;
}

.object-category-manager-editor-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;

  margin-bottom: 20px;
}

.object-category-manager-editor-head span {
  color:
    rgba(145, 202, 255, .70);

  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
}

.object-category-manager-editor-head h3 {
  margin:
    5px
    0
    0;

  color: #fff;

  font-size: 20px;
}

.object-category-manager-level {
  padding:
    7px
    10px;

  border:
    1px solid
    rgba(255,255,255,.10);

  border-radius: 10px;

  background:
    rgba(255,255,255,.04);

  color:
    rgba(235,245,255,.72);

  font-size: 10px;
}


/* Form */

.object-category-manager-form {
  display: grid;
  gap: 17px;
}

.object-category-manager-form label {
  display: grid;
  gap: 7px;
}

.object-category-manager-form label > span {
  color:
    rgba(233,243,255,.78);

  font-size: 11px;
  font-weight: 700;
}

.object-category-manager-form input,
.object-category-manager-form select {
  width: 100%;

  min-height: 44px;

  padding:
    0
    12px;

  border:
    1px solid
    rgba(255,255,255,.13);

  border-radius: 12px;

  outline: 0;

  background:
    rgba(1, 25, 60, .45);

  color: #fff;

  box-shadow:
    inset 0 1px 0
    rgba(255,255,255,.05);

  font: inherit;
  font-size: 12px;
}

.object-category-manager-form select option {
  color: #111;
}

.object-category-manager-form label > small {
  color:
    rgba(216,231,249,.46);

  font-size: 9px;
}

.object-category-manager-readonly {
  padding:
    13px
    14px;

  border:
    1px solid
    rgba(255,255,255,.08);

  border-radius: 12px;

  background:
    rgba(255,255,255,.035);
}

.object-category-manager-readonly span,
.object-category-manager-readonly strong {
  display: block;
}

.object-category-manager-readonly span {
  color:
    rgba(214,231,250,.52);

  font-size: 9px;
}

.object-category-manager-readonly strong {
  margin-top: 5px;

  color:
    rgba(246,250,255,.88);

  font-size: 11px;
}


/* Error */

.object-category-manager-error {
  margin-bottom: 16px;

  padding:
    11px
    13px;

  border:
    1px solid
    rgba(255, 110, 124, .25);

  border-radius: 11px;

  background:
    rgba(255, 70, 90, .10);

  color:
    #ffdfe3;

  font-size: 11px;
}


/* Actions */

.object-category-manager-actions {
  display: flex;
  justify-content: flex-end;
  gap: 9px;

  margin-top: 4px;
}

.object-category-manager-actions button {
  min-height: 40px;

  border-radius: 11px;

  padding:
    0
    15px;

  font-size: 11px;
  font-weight: 750;

  cursor: pointer;
}

.object-category-manager-secondary {
  border:
    1px solid
    rgba(255,255,255,.12);

  background:
    rgba(255,255,255,.04);

  color: #fff;
}

.object-category-manager-primary {
  border:
    1px solid
    rgba(96, 239, 195, .28);

  background:
    linear-gradient(
      135deg,
      rgba(36, 197, 151, .85),
      rgba(27, 151, 199, .85)
    );

  color: #fff;
}

.object-category-manager-primary:disabled {
  opacity: .55;
  cursor: wait;
}

.object-category-manager-empty {
  padding: 22px;

  color:
    rgba(220,235,252,.55);

  text-align: center;

  font-size: 11px;
}


@media (max-width: 850px) {

  .object-category-manager-body {
    grid-template-columns: 1fr;
  }

  .object-category-manager-browser {
    max-height: 290px;

    border-right: 0;

    border-bottom:
      1px solid
      rgba(255,255,255,.08);
  }

}

/* =========================================================
   282e — OBJECT CATEGORY MANAGER
   HIGH CONTRAST + SEARCH
   ========================================================= */


/* ---------------------------------------------------------
   Search
   --------------------------------------------------------- */

body.atosy-view-object
#object-full-page
.object-category-manager-search {
  flex: 0 0 auto;

  display: flex;
  align-items: center;
  gap: 8px;

  min-height: 42px;

  margin:
    10px
    10px
    5px;

  padding:
    0
    12px;

  border:
    1px solid
    rgba(132, 190, 255, .28);

  border-radius: 12px;

  background:
    rgba(0, 23, 61, .62);

  box-shadow:
    inset 0 1px 0
    rgba(255,255,255,.07);

  overflow: hidden;
}


body.atosy-view-object
#object-full-page
.object-category-manager-search-icon {
  flex: 0 0 auto;

  color:
    rgba(214, 235, 255, .78);

  font-size: 15px;
}


body.atosy-view-object
#object-full-page
#object-category-manager-search-input {
  -webkit-appearance: none;
  appearance: none;

  flex: 1 1 auto;

  width: 100%;
  min-width: 0;

  padding: 0 !important;
  margin: 0 !important;

  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;

  background:
    transparent !important;

  background-color:
    transparent !important;

  box-shadow:
    none !important;

  color:
    #ffffff !important;

  -webkit-text-fill-color:
    #ffffff !important;

  caret-color:
    #ffffff;

  font-size: 11px;
  font-weight: 600;
}


body.atosy-view-object
#object-full-page
#object-category-manager-search-input::placeholder {
  color:
    rgba(220, 235, 255, .55) !important;

  -webkit-text-fill-color:
    rgba(220, 235, 255, .55) !important;

  opacity: 1;
}


body.atosy-view-object
#object-full-page
.object-category-manager-search-clear {
  flex: 0 0 auto;

  width: 26px;
  height: 26px;

  padding: 0;

  border: 0;
  border-radius: 8px;

  background:
    rgba(255,255,255,.07);

  color:
    rgba(240,248,255,.82);

  cursor: pointer;
}


body.atosy-view-object
#object-full-page
.object-category-manager-search-summary {
  flex: 0 0 auto;

  padding:
    2px
    13px
    8px;

  color:
    rgba(217, 233, 252, .62);

  font-size: 9px;
}


body.atosy-view-object
#object-full-page
.object-category-manager-search-summary strong {
  color:
    #ffffff;
}


/* ---------------------------------------------------------
   Stronger editor contrast
   --------------------------------------------------------- */

body.atosy-view-object
#object-full-page
.object-category-manager-editor {
  color:
    #ffffff;
}


body.atosy-view-object
#object-full-page
.object-category-manager-form label > span {
  color:
    #f3f8ff !important;

  font-weight:
    750 !important;
}


body.atosy-view-object
#object-full-page
.object-category-manager-form input,
body.atosy-view-object
#object-full-page
.object-category-manager-form select {
  opacity:
    1 !important;

  background:
    rgba(5, 34, 77, .90) !important;

  background-color:
    rgba(5, 34, 77, .90) !important;

  border:
    1px solid
    rgba(154, 201, 255, .30) !important;

  color:
    #ffffff !important;

  -webkit-text-fill-color:
    #ffffff !important;

  caret-color:
    #ffffff !important;

  box-shadow:
    inset 0 1px 0
      rgba(255,255,255,.08),
    0 0 0 1px
      rgba(0,0,0,.08) !important;

  font-weight:
    650 !important;
}


body.atosy-view-object
#object-full-page
.object-category-manager-form input:focus,
body.atosy-view-object
#object-full-page
.object-category-manager-form select:focus {
  border-color:
    rgba(100, 181, 255, .82) !important;

  box-shadow:
    0 0 0 3px
      rgba(44, 139, 255, .15),
    inset 0 1px 0
      rgba(255,255,255,.09) !important;
}


/* Chrome autofill / inherited form styles */

body.atosy-view-object
#object-full-page
.object-category-manager-form input:-webkit-autofill,
body.atosy-view-object
#object-full-page
.object-category-manager-form input:-webkit-autofill:hover,
body.atosy-view-object
#object-full-page
.object-category-manager-form input:-webkit-autofill:focus {
  -webkit-text-fill-color:
    #ffffff !important;

  -webkit-box-shadow:
    0 0 0 1000px
    rgb(9, 42, 87)
    inset !important;

  transition:
    background-color
    9999s
    ease-out
    0s;
}


body.atosy-view-object
#object-full-page
.object-category-manager-form select option {
  background:
    #ffffff !important;

  color:
    #102446 !important;

  -webkit-text-fill-color:
    #102446 !important;
}


/* explanatory helper */

body.atosy-view-object
#object-full-page
.object-category-manager-form label > small {
  color:
    rgba(224, 238, 255, .70) !important;
}


/* current path */

body.atosy-view-object
#object-full-page
.object-category-manager-readonly {
  background:
    rgba(10, 45, 94, .70) !important;

  border-color:
    rgba(142, 191, 255, .20) !important;
}

body.atosy-view-object
#object-full-page
.object-category-manager-readonly span {
  color:
    rgba(222, 238, 255, .72) !important;
}

body.atosy-view-object
#object-full-page
.object-category-manager-readonly strong {
  color:
    #ffffff !important;
}


/* left tree stronger contrast */

body.atosy-view-object
#object-full-page
.object-category-manager-row-main strong {
  color:
    #ffffff !important;

  font-weight:
    750 !important;
}

body.atosy-view-object
#object-full-page
.object-category-manager-row-main small {
  color:
    rgba(219, 235, 253, .72) !important;
}

body.atosy-view-object
#object-full-page
.object-category-manager-row.is-selected {
  background:
    linear-gradient(
      90deg,
      rgba(35, 188, 168, .26),
      rgba(51, 132, 220, .16)
    ) !important;
}

/* =========================================================
   282g — OBJECT LOOKUP
   ABC CATEGORY TREE + LOCAL STICKY REGION
   ========================================================= */

:root {
  --object-lookup-sticky-top: 10px;
  --object-lookup-sticky-hero-height: 58px;
}


/*
 * The whole title + search + total bar becomes sticky
 * only after its natural position reaches the viewport.
 *
 * Because this is position: sticky rather than fixed,
 * it remains normal while the Object Dashboard above
 * is being viewed.
 */

body.atosy-view-object
#object-full-page
.object-lookup-hero {
  position: sticky !important;

  top:
    var(
      --object-lookup-sticky-top
    ) !important;

  z-index: 80 !important;

  isolation: isolate;

  background:
    linear-gradient(
      135deg,
      rgba(8, 55, 113, .97),
      rgba(18, 67, 142, .97)
    ) !important;

  box-shadow:
    0 12px 30px
      rgba(0, 15, 45, .24),
    inset 0 1px 0
      rgba(255,255,255,.10) !important;

  backdrop-filter:
    blur(22px) !important;

  -webkit-backdrop-filter:
    blur(22px) !important;
}


/*
 * Category filter sticks directly underneath
 * the sticky Tra cứu Vật thể header.
 *
 * It is still constrained by .object-lookup-layout,
 * therefore it releases automatically when the
 * lookup section ends.
 */

body.atosy-view-object
#object-full-page
.object-classification-panel {
  position: sticky !important;

  top:
    calc(
      var(
        --object-lookup-sticky-top
      )
      +
      var(
        --object-lookup-sticky-hero-height
      )
      +
      12px
    ) !important;

  align-self: start !important;

  z-index: 65 !important;

  display: flex !important;
  flex-direction: column !important;

  max-height:
    calc(
      100vh
      -
      var(
        --object-lookup-sticky-top
      )
      -
      var(
        --object-lookup-sticky-hero-height
      )
      -
      24px
    ) !important;

  overflow: hidden !important;

  background:
    linear-gradient(
      150deg,
      rgba(9, 52, 110, .98),
      rgba(9, 42, 96, .98)
    ) !important;

  box-shadow:
    0 14px 32px
      rgba(0, 17, 49, .22),
    inset 0 1px 0
      rgba(255,255,255,.08) !important;

  backdrop-filter:
    blur(22px) !important;

  -webkit-backdrop-filter:
    blur(22px) !important;
}


/*
 * The tree itself scrolls inside its frozen panel.
 */

body.atosy-view-object
#object-full-page
.object-classification-panel
.object-category-tree {
  flex:
    1 1 auto !important;

  min-height:
    0 !important;

  max-height:
    none !important;

  overflow-y:
    auto !important;

  overscroll-behavior:
    contain;
}


/*
 * Keep the filter heading visible while the
 * category tree itself scrolls.
 */

body.atosy-view-object
#object-full-page
.object-classification-head {
  flex:
    0 0 auto !important;

  position:
    relative;

  z-index:
    2;

  background:
    rgba(10, 55, 115, .94);
}


/*
 * Stronger visual hierarchy for the ABC tree.
 */

body.atosy-view-object
#object-full-page
.object-category-item[data-level="1"] {
  margin-top:
    5px;

  color:
    #ffffff !important;

  font-weight:
    800 !important;
}


body.atosy-view-object
#object-full-page
.object-category-item[data-level="2"] {
  color:
    rgba(245,249,255,.94) !important;
}


body.atosy-view-object
#object-full-page
.object-category-item[data-level="3"],
body.atosy-view-object
#object-full-page
.object-category-item[data-level="4"],
body.atosy-view-object
#object-full-page
.object-category-item[data-level="5"],
body.atosy-view-object
#object-full-page
.object-category-item[data-level="6"] {
  color:
    rgba(231,241,255,.88) !important;
}


/*
 * Sticky is disabled on narrow layouts where
 * the category panel moves beneath the table.
 */

@media (max-width: 1040px) {

  body.atosy-view-object
  #object-full-page
  .object-classification-panel {
    position:
      relative !important;

    top:
      auto !important;

    max-height:
      none !important;
  }

}

/* =========================================================
   282m — OBJECT LOOKUP TABLE HEADER STICKY

   Stack while inside Tra cứu Vật thể:

   [ Top app header ]
   [ Tra cứu Vật thể + search ]      sticky
   [ Table column header ]           sticky left
   [ Classification panel ]          sticky right

   Because this uses position: sticky,
   everything returns to normal when scrolling
   upward into the Object Dashboard.
   ========================================================= */


/* ---------------------------------------------------------
   Make table header cells sticky directly below lookup hero
   --------------------------------------------------------- */

body.atosy-view-object
#object-full-page
.object-lookup-table thead th {
  position:
    sticky !important;

  top:
    calc(
      var(
        --object-lookup-sticky-top
      )
      +
      var(
        --object-lookup-sticky-hero-height
      )
      +
      12px
    ) !important;

  z-index:
    72 !important;

  background:
    linear-gradient(
      180deg,
      rgba(4, 37, 82, .99),
      rgba(5, 43, 92, .99)
    ) !important;

  background-color:
    rgba(4, 37, 82, .99) !important;

  box-shadow:
    inset 0 -1px 0
      rgba(255,255,255,.09),
    0 8px 16px
      rgba(0, 15, 42, .16) !important;

  backdrop-filter:
    blur(18px) !important;

  -webkit-backdrop-filter:
    blur(18px) !important;
}


/* Keep first/last corners visually correct */

body.atosy-view-object
#object-full-page
.object-lookup-table thead th:first-child {
  border-top-left-radius:
    14px;
}

body.atosy-view-object
#object-full-page
.object-lookup-table thead th:last-child {
  border-top-right-radius:
    14px;
}


/*
 * The category filter panel begins at the same vertical
 * sticky level as the table header.
 */

body.atosy-view-object
#object-full-page
.object-classification-panel {
  top:
    calc(
      var(
        --object-lookup-sticky-top
      )
      +
      var(
        --object-lookup-sticky-hero-height
      )
      +
      12px
    ) !important;
}


/*
 * Safety: the table itself must not clip sticky TH vertically.
 * Preserve horizontal behavior while allowing viewport sticky.
 */

body.atosy-view-object
#object-full-page
.object-lookup-table {
  overflow:
    visible !important;
}


/*
 * On narrow layouts, revert the table header to normal flow
 * together with the classification panel.
 */

@media (max-width: 1040px) {

  body.atosy-view-object
  #object-full-page
  .object-lookup-table thead th {
    position:
      static !important;

    top:
      auto !important;
  }

}

/* =========================================================
   282q — OBJECT TABLE HEADER STICKY BLOCKER FIX

   Sticky <th> was blocked by:
   1. .object-lookup-table-wrap { overflow:auto }
   2. .object-lookup-main       { overflow:hidden }

   Desktop:
   allow viewport/page sticky.

   Narrow layout:
   sticky is already disabled, so horizontal table scrolling
   can safely return.
   ========================================================= */

@media (min-width: 1041px) {

  body.atosy-view-object
  #object-full-page
  .object-lookup-main {
    overflow:
      visible !important;
  }


  body.atosy-view-object
  #object-full-page
  .object-lookup-table-wrap {
    overflow:
      visible !important;

    overflow-x:
      visible !important;

    overflow-y:
      visible !important;
  }

}


/*
 * Narrow layout keeps normal horizontal table scrolling.
 * Table-header sticky is already disabled there by 282m.
 */

@media (max-width: 1040px) {

  body.atosy-view-object
  #object-full-page
  .object-lookup-main {
    overflow:
      hidden !important;
  }


  body.atosy-view-object
  #object-full-page
  .object-lookup-table-wrap {
    overflow-x:
      auto !important;

    overflow-y:
      visible !important;
  }

}


/* =========================================================
   282s — OBJECT TABLE HEADER CONTRAST TUNE

   Goal:
   - frozen table header must stand out more clearly
   - larger text than body rows
   - stronger visual separation from lookup content below
   ========================================================= */

body.atosy-view-object
#object-full-page
.object-lookup-table thead th {
  background:
    linear-gradient(
      180deg,
      rgba(16, 74, 156, .995),
      rgba(9, 48, 108, .995)
    ) !important;

  background-color:
    rgba(9, 48, 108, .995) !important;

  color:
    #ffffff !important;

  font-size:
    13px !important;

  line-height:
    1.25 !important;

  font-weight:
    800 !important;

  letter-spacing:
    0.01em !important;

  padding-top:
    14px !important;

  padding-bottom:
    14px !important;

  border-bottom:
    1px solid rgba(255,255,255,.18) !important;

  box-shadow:
    inset 0 -1px 0 rgba(255,255,255,.16),
    0 10px 22px rgba(0, 16, 48, .30),
    0 0 0 1px rgba(90, 170, 255, .08) !important;

  text-shadow:
    0 1px 0 rgba(0,0,0,.18) !important;
}

/* give the frozen row a cleaner visual boundary */
body.atosy-view-object
#object-full-page
.object-lookup-table thead {
  isolation: isolate;
}

/* body cells stay slightly smaller so header reads clearer */
body.atosy-view-object
#object-full-page
.object-lookup-table tbody td {
  font-size:
    12px !important;
}



/* =========================================================
   282u — OBJECT TABLE HEADER STRONGER CONTRAST

   Make frozen column header darker, more saturated,
   and visually more separated from table body.
   ========================================================= */

body.atosy-view-object
#object-full-page
.object-lookup-table thead th {
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 820 !important;
  letter-spacing: .01em;

  background:
    linear-gradient(
      180deg,
      rgba(3, 31, 76, 0.998),
      rgba(6, 52, 118, 0.998)
    ) !important;

  background-color:
    rgba(4, 39, 96, 0.998) !important;

  border-bottom:
    1px solid rgba(130, 198, 255, 0.38) !important;

  box-shadow:
    inset 0 -1px 0 rgba(255,255,255,.16),
    inset 0 1px 0 rgba(255,255,255,.06),
    0 12px 24px rgba(0,16,48,.34),
    0 0 0 1px rgba(92,167,255,.10) !important;

  text-shadow:
    0 1px 0 rgba(0,0,0,.24) !important;
}

body.atosy-view-object
#object-full-page
.object-lookup-table thead th:first-child {
  box-shadow:
    inset 0 -1px 0 rgba(255,255,255,.16),
    inset 0 1px 0 rgba(255,255,255,.06),
    0 12px 24px rgba(0,16,48,.34),
    0 0 0 1px rgba(92,167,255,.10) !important;
}

body.atosy-view-object
#object-full-page
.object-lookup-table tbody td {
  color: rgba(238,245,255,.90) !important;
}

/* =========================================================
   282w — OBJECT TABLE HEADER DEEP NAVY
   ========================================================= */

body.atosy-view-object
#object-full-page
.object-lookup-table thead th {
  color:
    #ffffff !important;

  font-size:
    14px !important;

  font-weight:
    820 !important;

  background:
    linear-gradient(
      180deg,
      rgba(3, 18, 43, 0.999),
      rgba(4, 31, 72, 0.999)
    ) !important;

  background-color:
    rgb(4, 27, 63) !important;

  border-bottom:
    1px solid
    rgba(92, 157, 224, .42) !important;

  box-shadow:
    inset 0 1px 0
      rgba(255,255,255,.05),
    inset 0 -1px 0
      rgba(129,183,237,.18),
    0 12px 26px
      rgba(0, 9, 28, .42) !important;

  text-shadow:
    0 1px 1px
      rgba(0,0,0,.35) !important;
}

/* =========================================================
   282z — OBJECT LOOKUP HERO MATCH DEEP NAVY

   Match Tra cứu Vật thể bar with the exact navy palette
   used by the frozen table column header.
   ========================================================= */

body.atosy-view-object
#object-full-page
.object-lookup-hero {
  background:
    linear-gradient(
      180deg,
      rgba(3, 18, 43, 0.999),
      rgba(4, 31, 72, 0.999)
    ) !important;

  background-color:
    rgb(4, 27, 63) !important;

  border-color:
    rgba(92, 157, 224, .32) !important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    inset 0 -1px 0 rgba(129,183,237,.16),
    0 12px 26px rgba(0,9,28,.30) !important;
}


/* title */
body.atosy-view-object
#object-full-page
.object-lookup-hero h2 {
  color:
    #ffffff !important;

  text-shadow:
    0 1px 1px rgba(0,0,0,.30);
}


/* search field remains distinct but belongs to same navy family */
body.atosy-view-object
#object-full-page
.object-lookup-hero
.object-lookup-search {
  background:
    rgba(8, 36, 82, .88) !important;

  border-color:
    rgba(117, 173, 235, .20) !important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06) !important;
}


/* total counter */
body.atosy-view-object
#object-full-page
.object-lookup-hero
.object-lookup-total {
  color:
    #ffffff !important;
}
