/* ORN / Orion Meridian theme: navy sidebar with gold accents, matching the Orion letterhead. */
:root {
  --orn-navy: #14284b;
  --orn-navy-2: #1b3360;
  --orn-gold: #b8862b;
  --orn-gold-soft: #d9b46a;
}

/* ---------- sidebar ---------- */
#nav-sidebar { background: var(--orn-navy) !important; border-color: var(--orn-navy) !important; }
#nav-sidebar-inner {
  background: var(--orn-navy) !important;
  color: #d6deea !important;
}
#nav-sidebar-inner > div:first-child {
  border-bottom: 2px solid var(--orn-gold) !important;
}
#nav-sidebar-inner .text-important,
#nav-sidebar-inner .text-font-important-light {
  color: #ffffff !important;
}
#nav-sidebar-inner .text-subtle {
  color: var(--orn-gold-soft) !important;
}
/* the square symbol / logo tile */
#nav-sidebar-inner a.bg-primary-600,
#nav-sidebar-inner span.bg-primary-600 {
  background: var(--orn-gold) !important;
  color: var(--orn-navy) !important;
}
/* group titles */
#nav-sidebar-inner h2 {
  color: var(--orn-gold-soft) !important;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-size: .72rem !important;
}
#nav-sidebar-inner h2:hover,
#nav-sidebar-inner h2:hover .material-symbols-outlined {
  color: #ffffff !important;
}
/* items */
#nav-sidebar-inner ol a {
  color: #d6deea !important;
}
#nav-sidebar-inner ol a:hover {
  color: #ffffff !important;
  background: rgba(255, 255, 255, .06);
}
#nav-sidebar-inner ol a.active {
  background: rgba(255, 255, 255, .10) !important;
  color: #ffffff !important;
  box-shadow: inset 3px 0 0 var(--orn-gold);
}
#nav-sidebar-inner ol a.active .material-symbols-outlined {
  color: var(--orn-gold-soft) !important;
}
/* search box and user block */
#nav-sidebar-inner input,
#nav-sidebar-inner button,
#nav-sidebar-inner .border {
  background-color: rgba(255, 255, 255, .06) !important;
  border-color: rgba(255, 255, 255, .14) !important;
  color: #e5ebf3 !important;
}
#nav-sidebar-inner input::placeholder { color: #9fb0c9 !important; }
#nav-sidebar-inner hr,
#nav-sidebar-inner .border-t,
#nav-sidebar-inner .border-b { border-color: rgba(255, 255, 255, .12) !important; }

/* ---------- top bar and page ---------- */
#main > div:first-child > div:first-child { border-bottom: 2px solid var(--orn-gold); }
h1, .text-primary-600.font-semibold { letter-spacing: -.005em; }

/* login and two-factor pages */
.login #page { background: linear-gradient(180deg, #f7f4ec 0, #ffffff 220px); }
.login .text-primary-600 { color: var(--orn-navy) !important; }
.login h1 { border-bottom: 2px solid var(--orn-gold); padding-bottom: .5rem; }

/* gold accent helpers used in CTRM templates */
.orn-gold { color: var(--orn-gold) !important; }
.orn-rule { border-bottom: 2px solid var(--orn-gold); }

/* ---------- compact layout ---------- */
/* Cards: tighter padding everywhere */
#content .rounded-default.p-6 { padding: 14px 16px !important; }
#content .rounded-default.p-6 > .-mt-6.-mx-6 { margin: -14px -16px 12px !important; padding: 10px 16px !important; }
#content .rounded-default.p-6 .-m-6 { margin: -14px -16px !important; }
#content .rounded-default.p-6 > .-mb-6.-mx-6 { margin: 12px -16px -14px !important; }
#content .rounded-default h2.text-\[15px\] { font-size: 14px; }

/* Info tables (not editable lists or inline forms): wrap instead of scrolling sideways */
#content table:not(#result_list):not(:has(input, select, textarea)) { width: 100%; }
#content table:not(#result_list):not(:has(input, select, textarea)) th,
#content table:not(#result_list):not(:has(input, select, textarea)) td {
  white-space: normal !important;
  overflow-wrap: break-word;
  word-break: normal;
  height: auto !important;
  padding-top: 6px !important;
  padding-bottom: 6px !important;
  font-size: 13px;
  line-height: 1.35;
}
#content table:not(#result_list):not(:has(input, select, textarea)) th { font-size: 12px; }
#content table:not(#result_list):not(:has(input, select, textarea)) th,
#content table:not(#result_list):not(:has(input, select, textarea)) td { padding-left: 8px !important; padding-right: 8px !important; }
#content table:not(#result_list):not(:has(input, select, textarea)) th:first-child,
#content table:not(#result_list):not(:has(input, select, textarea)) td:first-child { padding-left: 14px !important; }
#content table:not(#result_list):not(:has(input, select, textarea)) th:last-child,
#content table:not(#result_list):not(:has(input, select, textarea)) td:last-child { padding-right: 14px !important; }

/* ---------- dashboard ---------- */
.orn-dash { display: flex; flex-direction: column; gap: 14px; }
.orn-kpis { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.orn-kpi { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border: 1px solid var(--color-base-200); border-radius: 8px; background: #fff; min-width: 0; border-top: 2px solid var(--orn-gold); }
.orn-kpi:hover { box-shadow: 0 2px 8px rgba(20, 40, 75, .08); }
.orn-kpi-title { font-size: 12px; color: var(--color-base-500); }
.orn-kpi-value { font-size: 19px; font-weight: 600; color: var(--orn-navy); letter-spacing: -.01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.orn-kpi-value.orn-alert { color: #dc2626; }
.orn-kpi-foot { font-size: 11px; color: var(--color-base-500); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.orn-panels { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr)); }
.orn-panel { border: 1px solid var(--color-base-200); border-radius: 8px; background: #fff; min-width: 0; overflow: hidden; display: flex; flex-direction: column; }
.orn-panel-head { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; padding: 8px 12px; border-bottom: 1px solid var(--color-base-200); }
.orn-panel-head h2 { font-size: 13px; font-weight: 600; color: var(--orn-navy); text-transform: uppercase; letter-spacing: .05em; margin-right: auto; }
.orn-tabs { display: flex; flex-wrap: wrap; gap: 4px; }
.orn-tabs button { font-size: 12px; padding: 3px 8px; border-radius: 6px; color: var(--color-base-600); }
.orn-tabs button:hover { background: var(--color-base-100); }
.orn-tabs button.orn-tab-on { background: var(--orn-navy); color: #fff; }
.orn-count { display: inline-block; min-width: 16px; padding: 0 4px; margin-left: 2px; border-radius: 8px; background: rgba(184, 134, 43, .2); font-size: 11px; text-align: center; }
.orn-tab-on .orn-count { background: var(--orn-gold); color: #fff; }
#content table.orn-table { width: 100%; border-collapse: collapse; table-layout: auto; }
#content table.orn-table th { text-align: left; font-weight: 600; color: var(--color-base-500); padding: 6px 12px !important; border-bottom: 1px solid var(--color-base-200); background: var(--color-base-50); }
#content table.orn-table td { padding: 6px 12px !important; border-bottom: 1px solid var(--color-base-100); vertical-align: top; }
#content table.orn-table .r { text-align: right; }
.orn-sub { font-size: 11.5px; color: var(--color-base-500); line-height: 1.3; }
.orn-num { white-space: nowrap; font-variant-numeric: tabular-nums; }
.orn-empty { padding: 14px 12px; font-size: 13px; color: var(--color-base-500); }
.orn-more { display: block; padding: 6px 12px 8px; font-size: 12px; color: var(--orn-navy); font-weight: 500; }
.orn-more:hover { text-decoration: underline; }
.dark .orn-kpi, .dark .orn-panel { background: var(--color-base-900); border-color: var(--color-base-800); }
.dark .orn-kpi-value, .dark .orn-panel-head h2, .dark .orn-more { color: #e5ebf3; }
.orn-subhead { font-size: 12px; font-weight: 600; color: var(--orn-navy); text-transform: uppercase; letter-spacing: .05em; padding: 10px 12px 4px; }
.orn-note { font-size: 12px; color: var(--color-base-500); padding: 8px 12px 0; }
/* tables inside a panel sit flush, no inner border box */
.orn-panel > div > .flex > div, .orn-panel > div > div > .flex > div { border: 0 !important; box-shadow: none !important; border-radius: 0 !important; }

/* narrower screens: smaller table type so info boxes still fit without sideways scrolling */
@media (max-width: 1100px) {
  #content table:not(#result_list):not(:has(input, select, textarea)) th,
  #content table:not(#result_list):not(:has(input, select, textarea)) td { font-size: 11.5px !important; padding-left: 5px !important; padding-right: 5px !important; }
  #content table:not(#result_list):not(:has(input, select, textarea)) th:first-child,
  #content table:not(#result_list):not(:has(input, select, textarea)) td:first-child { padding-left: 10px !important; }
  #content table:not(#result_list):not(:has(input, select, textarea)) th:last-child,
  #content table:not(#result_list):not(:has(input, select, textarea)) td:last-child { padding-right: 10px !important; }
}
#content table.orn-fit th, #content table.orn-fit td { padding: 6px 8px !important; font-size: 13px; }
#content table.orn-fit td.text-right { white-space: nowrap; font-variant-numeric: tabular-nums; }
#content th.orn-r, #content td.orn-r { text-align: right !important; }
#content td.orn-r > div { justify-content: flex-end; }
#content .rounded-default .text-2xl, #content .rounded-default .text-3xl { font-size: 20px !important; line-height: 1.3 !important; }
#content .gap-6 { gap: 1rem; }
