/* Shared workspace finish. Page styles continue to own layout and interaction. */
body.dk-workspace {
  background-color: var(--dk-page-bg);
  color: var(--dk-text);
  font-family: var(--dk-font);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  --bs-body-color: var(--dk-text);
  --bs-body-bg: var(--dk-page-bg);
  --bs-border-color: var(--dk-border);
  --bs-primary: var(--dk-blue);
  --bs-link-color: var(--dk-blue);
  --bs-link-hover-color: var(--dk-blue-hover);
}

.dk-workspace ::selection { background-color: rgba(11, 107, 203, .16); }
html:has(> body.dk-workspace--embed),
body.dk-workspace--embed { height: auto !important; min-height: 0 !important; background-color: #fff; }
.dk-workspace--embed #dk-main-content { min-width: 0; }

/* Keep the existing navigation structure, keyboard handling and stacking. */
.dk-workspace #navigation_bar_home { border-bottom-color: var(--line); }
.dk-workspace #navigation_bar_home .navbar-brand { flex-shrink: 0; }
.dk-workspace #navigation_bar_home .dropdown-menu { border-radius: 12px; box-shadow: 0 12px 40px -12px rgba(21, 40, 63, .2); }
.dk-workspace #navigation_bar_home .dropdown-item { border-radius: 7px; }

/* Native Bootstrap controls on legacy and administrative screens. Do not
   restyle Tom Select wrappers, checkboxes, status borders or icon-only tools. */
.dk-workspace :is(input, textarea).form-control,
.dk-workspace select.form-select,
.dk-workspace select.custom-select {
  color: var(--dk-text);
  background-color: var(--card);
  border-radius: var(--dk-radius-sm);
  font-family: var(--dk-font);
  font-size: .875rem;
  line-height: 1.5;
}
.dk-workspace input.form-control:not([type="range"]):not([type="color"]),
.dk-workspace :is(select.form-select, select.custom-select) { min-height: 40px; }
.dk-workspace :is(input, textarea).form-control:not(.is-invalid):not(.is-valid):not(.was-validated *),
.dk-workspace select.form-select:not(.is-invalid):not(.is-valid):not(.was-validated *) { border-color: var(--line-2); }
.dk-workspace :is(input, textarea).form-control::placeholder { color: var(--ink-3); opacity: 1; }
.dk-workspace :is(input, textarea).form-control:disabled,
.dk-workspace :is(input, textarea).form-control[readonly] { background-color: var(--paper-2); }
.dk-workspace :is(input, textarea).form-control:focus:not(.is-invalid):not(.is-valid):not(.was-validated *),
.dk-workspace select.form-select:focus:not(.is-invalid):not(.is-valid):not(.was-validated *) { border-color: var(--dk-blue); box-shadow: 0 0 0 3px var(--dk-blue-tint); }
.dk-workspace .form-label { color: var(--ink-2); font-size: .78rem; font-weight: 600; }

.dk-workspace .btn {
  --bs-btn-border-radius: 10px;
  font-family: var(--dk-font);
  font-weight: 600;
}
.dk-workspace .btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--dk-blue);
  --bs-btn-border-color: var(--dk-blue);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--dk-blue-hover);
  --bs-btn-hover-border-color: var(--dk-blue-hover);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--dk-blue-hover);
  --bs-btn-active-border-color: var(--dk-blue-hover);
  --bs-btn-disabled-bg: var(--dk-blue);
  --bs-btn-disabled-border-color: var(--dk-blue);
}
.dk-workspace .btn-outline-primary {
  --bs-btn-color: var(--dk-blue);
  --bs-btn-border-color: #b9cfe8;
  --bs-btn-hover-bg: var(--dk-blue);
  --bs-btn-hover-border-color: var(--dk-blue);
  --bs-btn-active-bg: var(--dk-blue-hover);
  --bs-btn-active-border-color: var(--dk-blue-hover);
}
.dk-workspace #dk-main-content .btn:not(.btn-sm):not(.btn-link) { min-height: 40px; padding: .6rem 1rem; font-size: .84rem; }
.dk-workspace #dk-main-content .btn-sm { min-height: 32px; font-size: .76rem; }

.dk-workspace .table:not(.table-primary, .table-secondary, .table-success, .table-danger, .table-warning, .table-info, .table-light, .table-dark) {
  --bs-table-bg: var(--card);
  --bs-table-color: var(--dk-text);
  --bs-table-border-color: var(--line);
  --bs-table-hover-bg: var(--paper-2);
  --bs-table-hover-color: var(--dk-text);
}
.dk-workspace #dk-main-content .table:not(.table-primary, .table-secondary, .table-success, .table-danger, .table-warning, .table-info, .table-light, .table-dark)
  > thead:not(.table-primary, .table-secondary, .table-success, .table-danger, .table-warning, .table-info, .table-light, .table-dark)
  > tr:not(.table-primary, .table-secondary, .table-success, .table-danger, .table-warning, .table-info, .table-light, .table-dark)
  > th:not(.table-primary, .table-secondary, .table-success, .table-danger, .table-warning, .table-info, .table-light, .table-dark) {
  color: var(--ink-2);
  background-color: var(--paper-2);
  border-bottom-color: var(--line-2);
  font-size: .72rem;
  font-weight: 650;
  letter-spacing: .025em;
  vertical-align: middle;
}
.dk-workspace #dk-main-content .table > tbody > tr > td { border-bottom-color: var(--line); }
.dk-workspace #dk-main-content .table-responsive { border: 1px solid var(--line); border-radius: 12px; background-color: var(--card); }
.dk-workspace #dk-main-content .table-responsive > .table { margin-bottom: 0; }
.dk-workspace #dk-main-content .card { --bs-card-bg: var(--card); --bs-card-border-color: var(--line); --bs-card-border-radius: 16px; box-shadow: var(--e1); }
.dk-workspace .modal-content { border-color: var(--line); border-radius: 16px; }
.dk-workspace .modal-header, .dk-workspace .modal-footer { border-color: var(--line); }
.dk-workspace .modal-title { color: var(--ink); font-weight: 650; letter-spacing: -.02em; }

/* Legacy screens keep their purposeful widths and table scroll containers. */
.dk-workspace #dk-main-content > .container { margin-bottom: 64px; }
.dk-workspace--embed #dk-main-content > .container { margin-bottom: 0; }
.dk-workspace #dk-main-content > .container > :is(h1, h2, h3, h4):first-child {
  color: var(--ink);
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  font-weight: 650;
  letter-spacing: -.035em;
  line-height: 1.2;
  margin-bottom: 24px;
}
.dk-workspace .mh-shell { max-width: 1384px; margin-inline: auto; padding-top: 30px; }
.dk-workspace .mh-topbar { margin-bottom: 24px; align-items: flex-start; }
.dk-workspace .mh-title { flex-wrap: wrap; }
.dk-workspace .mh-title h1 { color: var(--ink); font-size: clamp(1.8rem, 3vw, 2.55rem); font-weight: 650; letter-spacing: -.04em; line-height: 1.15; }
.dk-workspace .mh-title span { font-size: .78rem; }
.dk-workspace .mh-btn { border-radius: 10px; min-height: 40px; font-weight: 600; }
.dk-workspace .mh-filters { padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: var(--card); gap: 12px; margin-bottom: 22px; }
.dk-workspace :is(.mh-panel, .mh-stat) { border-color: var(--line); border-radius: 16px; box-shadow: var(--e1); }
.dk-workspace .ecd { padding-top: 30px; }
.dk-workspace .ecd-card { border-color: var(--line); border-radius: 16px; box-shadow: var(--e1); }
.dk-workspace .ecd-card-hdr { padding-block: 18px; }
.dk-workspace :is(.ap-page, .ea, .em-page, .bcu-page) { padding-top: 30px; }
.dk-workspace :is(.ap-head h1, .ea h1, .bcu-header h1, .em-page-header__title) { color: var(--ink); font-size: clamp(1.8rem, 3vw, 2.55rem); font-weight: 650; letter-spacing: -.04em; line-height: 1.15; white-space: normal; }
.dk-workspace :is(.ap-head, .ea-top, .em-page-header) { margin-bottom: 24px; }
.dk-workspace .em-page-header { gap: 10px 18px; }
.dk-workspace .em-page-header__sub { font-size: .84rem; line-height: 1.5; }
.dk-workspace :is(.ap-card, .ea-card, .ea-panel, .bcu-panel, .em-card) { border-color: var(--line); border-radius: 16px; box-shadow: var(--e1); }
.dk-workspace .ea-card:first-child { border-color: var(--dk-navy); background-color: var(--dk-navy); }
.dk-workspace .ea-card:first-child :is(.ea-card__lbl, .ea-card__icon, .ea-card__sub) { color: var(--dk-on-navy-muted); }
.dk-workspace .ea-card:first-child .ea-card__val { color: var(--dk-on-navy); }
.dk-workspace .bcu-hero { border: 0; background: transparent; padding-inline: 0; margin-bottom: 24px; }
.dk-workspace .shareholder-upload { color: var(--ink); border-color: var(--line); border-radius: 16px; box-shadow: var(--e1); }
.dk-workspace .shareholder-upload h1 { color: var(--ink); font-weight: 650; letter-spacing: -.035em; }
.dk-workspace .home-container { padding: 28px clamp(16px, 3vw, 36px) 64px; max-width: 1440px; margin-inline: auto; }
.dk-workspace .home-container > .form-row > :first-child > h1 { color: var(--ink); font-size: clamp(1.8rem, 3vw, 2.55rem); font-weight: 650; letter-spacing: -.04em; margin-bottom: 24px; }
.dk-workspace #calendar { padding: 20px; border: 1px solid var(--line); border-radius: 16px; background: var(--card); box-shadow: var(--e1); }
.dk-workspace #calendar .fc-toolbar h2 { color: var(--ink); font-size: 1.25rem; font-weight: 650; letter-spacing: -.025em; }
.dk-workspace #calendar .fc-button-primary { background-color: var(--paper-2); border-color: var(--line-2); color: var(--ink-2); font-weight: 600; font-size: .82rem; text-transform: capitalize; box-shadow: none; }
.dk-workspace #calendar .fc-button-primary:hover { background-color: var(--card); border-color: var(--dk-blue); color: var(--dk-blue); }
.dk-workspace #calendar .fc-button-primary:not(:disabled).fc-button-active { background-color: var(--dk-blue); border-color: var(--dk-blue); color: #fff; }
.dk-workspace #calendar th.fc-day-header { padding: 8px 4px; background: var(--paper-2); color: var(--ink-2); font-size: .75rem; font-weight: 650; text-transform: uppercase; letter-spacing: .04em; }
.dk-workspace #event_panel { border: 1px solid var(--line); border-radius: 16px; background-color: var(--card) !important; box-shadow: var(--e1); min-height: 220px; }

.dk-workspace :is(a, button, summary, input, select, textarea, [tabindex]):focus-visible { outline: 2px solid var(--dk-blue); outline-offset: 3px; }

@media (max-width: 760px) {
  .dk-workspace .mh-shell { padding-top: 24px; }
  .dk-workspace .mh-topbar { flex-wrap: wrap; gap: 16px; }
  .dk-workspace .mh-actions { justify-content: flex-start; }
  .dk-workspace .mh-filters { padding: 14px; }
  .dk-workspace .home-container { padding-inline: 16px; }
  .dk-workspace .modal-dialog { margin: 12px; }
}

@media (pointer: coarse) {
  .dk-workspace #dk-main-content .btn:not(.btn-link),
  .dk-workspace #dk-main-content .btn:not(.btn-sm):not(.btn-link),
  .dk-workspace input.form-control:not([type="range"]):not([type="color"]),
  .dk-workspace :is(input, textarea).form-control,
  .dk-workspace :is(select.form-select, select.custom-select) { min-height: 44px; }
  .dk-workspace :is(input, textarea).form-control,
  .dk-workspace select.form-select { font-size: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .dk-workspace { scroll-behavior: auto; }
}

@media print {
  body.dk-workspace { background: #fff; }
  .dk-workspace #dk-main-content > .container { margin-bottom: 0; }
}
