/**
 * Bridge styles: legacy Bootstrap-ish markup → Lineone look.
 * Keeps DataTables / Select2 / form pages usable under the new shell.
 */

/* Page shell leftovers from old Able Pro layout */
.pc-content { width: 100%; }
.page-header { margin-bottom: 1.25rem; }
.page-header-title h5,
.page-header-title h2 {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 500;
  color: rgb(30 41 59);
}
.dark .page-header-title h5,
.dark .page-header-title h2 { color: rgb(226 232 240); }
.breadcrumb {
  display: flex; flex-wrap: wrap; gap: .5rem;
  list-style: none; margin: 0; padding: 0;
  font-size: .75rem; color: rgb(148 163 184);
}
.breadcrumb a { color: inherit; text-decoration: none; }
.breadcrumb a:hover { color: rgb(79 70 229); }

/* Grid */
.row { display: flex; flex-wrap: wrap; margin: 0 -.5rem; }
.row > [class*="col-"] { padding: 0 .5rem; width: 100%; }
.col, .col-auto { flex: 1 0 0%; padding: 0 .5rem; }
.col-auto { flex: 0 0 auto; width: auto; }
.col-4 { flex: 0 0 33.333%; max-width: 33.333%; }
.col-8 { flex: 0 0 66.666%; max-width: 66.666%; }
.col-sm-4 { flex: 0 0 100%; max-width: 100%; }
.col-sm-6 { flex: 0 0 100%; max-width: 100%; }
.col-sm-12 { flex: 0 0 100%; max-width: 100%; }
.col-md-3, .col-md-4, .col-md-6, .col-md-8, .col-md-9, .col-md-12,
.col-lg-3, .col-lg-4, .col-lg-6, .col-lg-8, .col-lg-9, .col-lg-12,
.col-xl-6, .col-xxl-6 { flex: 0 0 100%; max-width: 100%; }
@media (min-width: 640px) {
  .col-sm-4 { flex: 0 0 33.333%; max-width: 33.333%; }
  .col-sm-6 { flex: 0 0 50%; max-width: 50%; }
}
@media (min-width: 768px) {
  .col-md-3 { flex: 0 0 25%; max-width: 25%; }
  .col-md-4 { flex: 0 0 33.333%; max-width: 33.333%; }
  .col-md-6 { flex: 0 0 50%; max-width: 50%; }
  .col-md-8 { flex: 0 0 66.666%; max-width: 66.666%; }
  .col-md-9 { flex: 0 0 75%; max-width: 75%; }
}
@media (min-width: 1024px) {
  .col-lg-3 { flex: 0 0 25%; max-width: 25%; }
  .col-lg-4 { flex: 0 0 33.333%; max-width: 33.333%; }
  .col-lg-6 { flex: 0 0 50%; max-width: 50%; }
  .col-lg-8 { flex: 0 0 66.666%; max-width: 66.666%; }
  .col-lg-9 { flex: 0 0 75%; max-width: 75%; }
  .col-xl-6, .col-xxl-6 { flex: 0 0 50%; max-width: 50%; }
}

.align-items-center { align-items: center; }
.justify-content-between { justify-content: space-between; }
.text-end, .text-right { text-align: right; }
.text-center { text-align: center; }
.text-start { text-align: left; }
.d-flex { display: flex; }
.d-inline, .d-inline-flex { display: inline-flex; }
.d-none { display: none !important; }
.d-grid { display: grid; }
.flex-wrap { flex-wrap: wrap; }
.gap-1 { gap: .25rem; }
.gap-2 { gap: .5rem; }
/* Bootstrap-style vertical gutters for legacy form grids. Use row-gap so
   fixed-width columns keep their intended horizontal layout. */
.row.g-2 { row-gap: .5rem; }
.row.g-3 { row-gap: 1rem; }
.row.g-4 { row-gap: 1.5rem; }
.row.g-5 { row-gap: 3rem; }
.mb-0, .m-b-0 { margin-bottom: 0 !important; }
.mb-1 { margin-bottom: .25rem !important; }
.mb-2 { margin-bottom: .5rem !important; }
.mb-3, .m-b-5 { margin-bottom: .75rem !important; }
.mb-4 { margin-bottom: 1rem !important; }
.mt-1 { margin-top: .25rem !important; }
.mt-2 { margin-top: .5rem !important; }
.mt-3 { margin-top: .75rem !important; }
.mt-4 { margin-top: 1rem !important; }
.me-1 { margin-right: .25rem !important; }
.me-0 { margin-right: 0 !important; }
.ms-2 { margin-left: .5rem !important; }
.my-1 { margin-top: .25rem; margin-bottom: .25rem; }
.my-3 { margin-top: .75rem; margin-bottom: .75rem; }
.mx-3 { margin-left: .75rem; margin-right: .75rem; }
.p-b-30 { padding-bottom: 1.5rem; }
.w-50 { width: 50%; }
.w-100 { width: 100%; }
.img-fluid { max-width: 100%; height: auto; }
.rounded-circle { border-radius: 9999px; }
.border { border: 1px solid rgb(226 232 240); }
.small, small { font-size: .8125rem; }
.text-muted, .text-white-50 { color: rgb(148 163 184) !important; }
.text-white { color: #fff !important; }
.text-primary { color: rgb(79 70 229) !important; }
.text-success { color: rgb(16 185 129) !important; }
.text-danger, .text-error { color: rgb(244 63 94) !important; }
.text-warning { color: rgb(245 158 11) !important; }
.text-dark { color: rgb(30 41 59) !important; }
.bg-dark { background: rgb(30 41 59) !important; }
.bg-white { background: #fff !important; }
/* Legacy !important di atas mengalahkan utility dark:bg-* Tailwind — pulihkan untuk dark mode */
html.dark .dark\:bg-navy-600 { background-color: #313e59 !important; }
html.dark .dark\:bg-navy-700 { background-color: #26334d !important; }
html.dark .dark\:bg-navy-750 { background-color: #222e45 !important; }
html.dark .dark\:bg-navy-800 { background-color: #202b40 !important; }
html.dark .dark\:bg-navy-900 { background-color: #192132 !important; }
.bg-success { background: rgb(16 185 129) !important; }
.bg-secondary { background: rgb(100 116 139) !important; }
.bg-primary { background: rgb(79 70 229) !important; }
.bg-info { background: rgb(14 165 233) !important; }
.bg-warning { background: rgb(245 158 11) !important; }
.dark .border { border-color: rgb(51 65 85); }
.dark .text-muted { color: rgb(148 163 184) !important; }

/* Cards — extend Lineone .card */
.card-header {
  padding: 1rem 1.25rem .25rem;
  border-bottom: 0;
}
.card-header h5, .card-header h6 {
  margin: 0;
  font-weight: 500;
  color: rgb(51 65 85);
}
.dark .card-header h5, .dark .card-header h6 { color: rgb(226 232 240); }
.card-body { padding: 1rem 1.25rem 1.25rem; }
.card.flat-card, .card.prod-p-card, .card.latest-update-card,
.card.card-border-none { overflow: hidden; }
.row-table { display: flex; flex-wrap: wrap; border-top: 1px solid rgb(226 232 240); }
.dark .row-table { border-color: rgb(51 65 85); }
.row-table .card-body { flex: 1 1 50%; }
.row-table .br { border-right: 1px solid rgb(226 232 240); }
.dark .row-table .br { border-color: rgb(51 65 85); }
.prod-p-card { transition: transform .15s ease, box-shadow .15s ease; }
.prod-p-card:hover { transform: translateY(-2px); }
a .prod-p-card { color: inherit; text-decoration: none; }

/* Forms */
.form-group { margin-bottom: 1rem; }
.form-label, label.form-label {
  display: block;
  margin-bottom: .35rem;
  font-size: .8125rem;
  font-weight: 500;
  color: rgb(71 85 105);
}
.dark .form-label, .dark label.form-label { color: rgb(203 213 225); }
.form-control, .form-select,
input.form-control, select.form-select, select.form-control, textarea.form-control {
  display: block;
  width: 100%;
  border-radius: .5rem;
  border: 1px solid rgb(203 213 225);
  /* Use background-color only — shorthand `background` resets repeat/image and can tile select arrows. */
  background-color: transparent;
  padding: .5rem .75rem;
  font-size: .875rem;
  color: rgb(30 41 59);
  outline: none;
  transition: border-color .15s ease;
}
select.form-select:not([multiple]),
select.form-control:not([multiple]) {
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  padding-right: 2.5rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%2364758b' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right .75rem center;
  background-size: 1rem;
}
.form-control:focus, .form-select:focus {
  border-color: rgb(79 70 229);
  box-shadow: 0 0 0 3px rgb(79 70 229 / .15);
}
.dark .form-control, .dark .form-select {
  border-color: rgb(71 85 105);
  color: rgb(226 232 240);
  background-color: rgb(30 41 59);
  color-scheme: dark;
}
.dark select.form-select:not([multiple]),
.dark select.form-control:not([multiple]) {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%23cbd5e1' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right .75rem center;
  background-size: 1rem;
}
.dark .form-select option,
.dark .form-control option {
  background-color: rgb(30 41 59);
  color: rgb(226 232 240);
}
.dark .form-control:focus, .dark .form-select:focus {
  border-color: rgb(129 140 248);
}
.is-invalid { border-color: rgb(244 63 94) !important; }
.invalid-feedback { display: block; margin-top: .25rem; font-size: .75rem; color: rgb(244 63 94); }
.form-check {
  display: flex;
  align-items: flex-start;
  gap: .625rem;
  min-height: 1.5rem;
  padding-left: 0;
}
.form-check-input {
  width: 1.125rem;
  height: 1.125rem;
  margin-top: .125rem;
  flex-shrink: 0;
  cursor: pointer;
  accent-color: rgb(79 70 229);
}
.form-check-label {
  cursor: pointer;
  user-select: none;
  flex: 1;
  line-height: 1.45;
  padding-top: .0625rem;
}
label:has(> .form-checkbox),
label:has(> .form-radio),
label:has(> .form-check-input),
label:has(> input[type="checkbox"]),
label:has(> input[type="radio"]) {
  cursor: pointer;
}
label > .form-checkbox,
label > .form-radio,
label > .form-check-input,
label > input[type="checkbox"],
label > input[type="radio"] {
  flex-shrink: 0;
}
label > input[type="checkbox"]:not([class]),
label > input[type="radio"]:not([class]) {
  width: 1.125rem;
  height: 1.125rem;
  margin-top: .125rem;
  cursor: pointer;
  accent-color: rgb(79 70 229);
}
.form-checkbox,
.form-radio,
.form-switch {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
}
/* Lineone decor pseudo-elements can steal clicks when scaled/transformed */
.form-checkbox::before,
.form-radio::before,
.form-switch::before {
  pointer-events: none !important;
}
/* Bootstrap switch markup without Bootstrap CSS */
.form-check.form-switch .form-check-input {
  width: 2.75rem;
  height: 1.5rem;
  margin-top: .125rem;
  border: none;
  border-radius: 9999px;
  background-color: rgb(203 213 225);
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left .2rem center;
  background-size: 1.25rem 1.25rem;
  transition: background-color .15s ease-in-out, background-position .15s ease-in-out;
}
.form-check.form-switch .form-check-input:checked {
  background-color: rgb(79 70 229);
  background-position: right .2rem center;
}
.form-check.form-switch .form-check-input:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgb(79 70 229 / .25);
}
.form-check.form-switch .form-check-input:disabled {
  opacity: .5;
  cursor: not-allowed;
}
.dark .form-check.form-switch .form-check-input {
  background-color: rgb(71 85 105);
}
.dark .form-check.form-switch .form-check-input:checked {
  background-color: rgb(129 140 248);
}

/* Buttons — map Bootstrap variants onto Lineone .btn */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  border-radius: .5rem;
  padding: .5rem 1rem;
  font-size: .8125rem;
  font-weight: 500;
  line-height: 1.25;
  border: 1px solid transparent;
  cursor: pointer;
  text-decoration: none;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.btn-sm { padding: .3rem .65rem; font-size: .75rem; }
.btn-primary, .btn-shadow.btn-info, .btn-info {
  background: rgb(79 70 229);
  color: #fff;
}
.btn-primary:hover, .btn-info:hover { background: rgb(67 56 202); color: #fff; }
.btn-success, .btn-shadow.btn-success {
  background: rgb(16 185 129);
  color: #fff;
}
.btn-success:hover { background: rgb(5 150 105); color: #fff; }
.btn-danger { background: rgb(244 63 94); color: #fff; }
.btn-danger:hover { background: rgb(225 29 72); color: #fff; }
.btn-warning { background: rgb(245 158 11); color: #fff; }
.btn-warning:hover { background: rgb(217 119 6); color: #fff; }
.btn-dark { background: rgb(30 41 59); color: #fff; }
.btn-secondary { background: rgb(100 116 139); color: #fff; }
.btn-outline-primary {
  background: transparent;
  border-color: rgb(79 70 229);
  color: rgb(79 70 229);
}
.btn-outline-primary:hover { background: rgb(79 70 229 / .1); }
.btn-outline-success {
  background: transparent;
  border-color: rgb(16 185 129);
  color: rgb(16 185 129);
}
.btn-outline-success:hover { background: rgb(16 185 129 / .1); }
.btn-outline-info {
  background: transparent;
  border-color: rgb(14 165 233);
  color: rgb(14 165 233);
}
.btn-outline-info:hover { background: rgb(14 165 233 / .1); }
.btn-outline-warning {
  background: transparent;
  border-color: rgb(245 158 11);
  color: rgb(245 158 11);
}
.btn-outline-warning:hover { background: rgb(245 158 11 / .1); }
.btn-outline-danger {
  background: transparent;
  border-color: rgb(244 63 94);
  color: rgb(244 63 94);
}
.btn-outline-secondary {
  background: transparent;
  border-color: rgb(148 163 184);
  color: rgb(71 85 105);
}
.btn-close {
  width: 1rem; height: 1rem; border: 0; background: transparent;
  opacity: .5; cursor: pointer; font-size: 1.1rem; line-height: 1;
}
.btn-close::before { content: "×"; }

/* Alerts / badges */
.alert {
  position: relative;
  border-radius: .75rem;
  padding: .85rem 1rem;
  margin-bottom: 1rem;
  font-size: .875rem;
}
.alert-success { background: rgb(16 185 129 / .12); color: rgb(4 120 87); }
.alert-warning { background: rgb(245 158 11 / .15); color: rgb(180 83 9); }
.alert-danger { background: rgb(244 63 94 / .12); color: rgb(190 18 60); }
.alert-info { background: rgb(14 165 233 / .12); color: rgb(3 105 161); }
.alert-dismissible { padding-right: 2.5rem; }
.alert-dismissible .btn-close {
  position: absolute; top: .75rem; right: .85rem;
}
.badge {
  display: inline-flex;
  align-items: center;
  border-radius: 9999px;
  padding: .15rem .55rem;
  font-size: .7rem;
  font-weight: 600;
  color: #fff;
}
.badge.bg-success { background: rgb(16 185 129) !important; }
.badge.bg-secondary { background: rgb(100 116 139) !important; }
.rounded-pill { border-radius: 9999px; }

/* Tables */
.table-responsive, .dt-responsive { overflow-x: auto; }
table.table {
  width: 100%;
  border-collapse: collapse;
  font-size: .8125rem;
  text-align: left;
}
table.table thead tr {
  border-bottom: 1px solid rgb(226 232 240);
}
.dark table.table thead tr { border-color: rgb(51 65 85); }
table.table th {
  padding: .75rem 1rem;
  font-weight: 600;
  text-transform: uppercase;
  font-size: .7rem;
  letter-spacing: .04em;
  color: rgb(30 41 59);
  white-space: nowrap;
}
.dark table.table th { color: rgb(226 232 240); }
table.table td {
  padding: .75rem 1rem;
  border-bottom: 1px solid rgb(226 232 240);
  color: rgb(71 85 105);
  vertical-align: middle;
}
.dark table.table td {
  border-color: rgb(51 65 85);
  color: rgb(203 213 225);
}
table.table-striped tbody tr:nth-child(odd) { background: rgb(248 250 252 / .7); }
.dark table.table-striped tbody tr:nth-child(odd) { background: rgb(30 41 59 / .35); }
table.table-hover tbody tr:hover { background: rgb(241 245 249); }
.dark table.table-hover tbody tr:hover { background: rgb(30 41 59 / .55); }
table.table-bordered th, table.table-bordered td {
  border: 1px solid rgb(226 232 240);
}
.dark table.table-bordered th, .dark table.table-bordered td {
  border-color: rgb(51 65 85);
}
code {
  font-size: .8em;
  background: rgb(241 245 249);
  padding: .1rem .35rem;
  border-radius: .25rem;
}
.dark code { background: rgb(30 41 59); }

/* Dropdown (Bootstrap JS used by DataTables action menus) */
.dropdown { position: relative; display: inline-block; }
.dropdown-menu {
  display: none;
  position: absolute;
  z-index: 50;
  min-width: 10rem;
  margin-top: .25rem;
  padding: .35rem;
  border-radius: .75rem;
  border: 1px solid rgb(226 232 240);
  background: #fff;
  box-shadow: 0 10px 25px rgb(15 23 42 / .08);
}
.dark .dropdown-menu {
  background: rgb(30 41 59);
  border-color: rgb(51 65 85);
}
.dropdown-menu.show { display: block; }
.dropdown-item {
  display: block;
  width: 100%;
  padding: .45rem .75rem;
  border-radius: .5rem;
  font-size: .8125rem;
  color: rgb(71 85 105);
  text-decoration: none;
  background: transparent;
  border: 0;
  text-align: left;
  cursor: pointer;
}
.dropdown-item:hover { background: rgb(241 245 249); color: rgb(30 41 59); }
.dark .dropdown-item { color: rgb(203 213 225); }
.dark .dropdown-item:hover { background: rgb(51 65 85); color: #fff; }
.dropdown-divider { height: 0; margin: .35rem 0; border-top: 1px solid rgb(226 232 240); }
.dropdown-header { padding: .5rem .75rem; }
.btn-group { position: relative; display: inline-flex; }
.btn-group .dropdown-menu { right: 0; left: auto; }
.btn-group-dropdown .dropdown-menu { right: 0; left: auto; }

/* DataTables */
.dataTables_wrapper { font-size: .8125rem; }
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate {
  margin: .75rem 0;
  color: rgb(100 116 139);
}
.dataTables_wrapper .dataTables_filter input {
  border: 1px solid rgb(203 213 225);
  border-radius: .5rem;
  padding: .35rem .6rem;
  background-color: transparent;
  color: inherit;
}
/* Length "Show entries" select — DataTables uses form-select; keep a single arrow (no tiling). */
.dataTables_wrapper .dataTables_length select {
  display: inline-block;
  width: auto;
  min-width: 3.5rem;
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid rgb(203 213 225);
  border-radius: .5rem;
  padding: .35rem 2rem .35rem .6rem;
  color: inherit;
  cursor: pointer;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%2364758b' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right .5rem center;
  background-size: 1rem;
}
.dark .dataTables_wrapper .dataTables_length select {
  border-color: rgb(71 85 105);
  background-color: rgb(30 41 59);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%23cbd5e1' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right .5rem center;
  background-size: 1rem;
}
/* One sort icon per column (hide DataTables :before / :after double glyphs). */
table.dataTable thead > tr > th.sorting:before,
table.dataTable thead > tr > th.sorting_asc:before,
table.dataTable thead > tr > th.sorting_desc:before,
table.dataTable thead > tr > td.sorting:before,
table.dataTable thead > tr > td.sorting_asc:before,
table.dataTable thead > tr > td.sorting_desc:before {
  display: none !important;
  content: none !important;
}
table.dataTable thead > tr > th.sorting:after,
table.dataTable thead > tr > th.sorting_asc:after,
table.dataTable thead > tr > th.sorting_desc:after,
table.dataTable thead > tr > td.sorting:after,
table.dataTable thead > tr > td.sorting_asc:after,
table.dataTable thead > tr > td.sorting_desc:after {
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%);
  opacity: .5;
  content: "▼" !important;
}
table.dataTable thead > tr > th.sorting_asc:after,
table.dataTable thead > tr > td.sorting_asc:after {
  content: "▲" !important;
  opacity: .85;
}
table.dataTable thead > tr > th.sorting_desc:after,
table.dataTable thead > tr > td.sorting_desc:after {
  content: "▼" !important;
  opacity: .85;
}
.dataTables_wrapper .paginate_button {
  display: inline-block;
  padding: .3rem .65rem;
  margin: 0 .15rem;
  border-radius: .5rem;
  cursor: pointer;
}
.dataTables_wrapper .paginate_button.current {
  background: rgb(79 70 229);
  color: #fff !important;
}
.dataTables_wrapper .paginate_button:hover {
  background: rgb(79 70 229 / .12);
}

/* Select2 */
.select2-container .select2-selection--single {
  height: 2.5rem !important;
  border-radius: .5rem !important;
  border: 1px solid rgb(203 213 225) !important;
  background: transparent !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 2.4rem !important;
  color: inherit !important;
  padding-left: .75rem !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 2.4rem !important;
}
.select2-container--default .select2-selection--single .select2-selection__clear {
  position: absolute !important;
  top: 50% !important;
  right: 2rem !important;
  margin: 0 !important;
  line-height: 1 !important;
  transform: translateY(-50%);
}
.select2-dropdown {
  border-radius: .5rem !important;
  border-color: rgb(203 213 225) !important;
}
.dark .select2-container .select2-selection--single,
.dark .select2-dropdown {
  border-color: rgb(71 85 105) !important;
  background: rgb(30 41 59) !important;
  color: rgb(226 232 240) !important;
}

/* Misc legacy helpers */
.latest-update-box .update-meta { min-width: 5rem; }
.b-b-primary { border-bottom: 1px solid rgb(79 70 229); }
.text-opacity-75 { opacity: .75; }
.list-unstyled { list-style: none; padding: 0; margin: 0; }
.list-inline { list-style: none; padding: 0; margin: 0; display: flex; gap: .75rem; }
.list-inline-item { display: inline-block; }

/* Navbar: satukindo mark + wordmark (teks ikut tema; app.css tidak punya dark:text util lengkap di sini) */
.nav-brand-logo {
  text-decoration: none;
}
.nav-brand-wordmark {
  font-family: Poppins, ui-sans-serif, system-ui, sans-serif;
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1;
  color: #0a1935;
}
html.dark .nav-brand-wordmark {
  color: #f8fafc;
}

.theme-toggle-btn {
  flex-shrink: 0;
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  color: #fbbf24;
}
.theme-toggle-btn svg {
  width: 1.5rem;
  height: 1.5rem;
  display: block;
}
.theme-toggle-moon { display: none !important; }
.theme-toggle-sun { display: block !important; }
html.dark .theme-toggle-moon { display: block !important; }
html.dark .theme-toggle-sun { display: none !important; }
