:root {
  --primary: #0b6f78;
  --secondary: #134a5b;
  --accent: #f1c84b;
  --header-color: #fff;
  --header-branding-color: #fff;
  --header-bg: #0b6f78;
  --header-link-color: #fff;
  --breadcrumbs-bg: #083f4c;
  --breadcrumbs-link-fg: #d8f2ef;
  --link-fg: #08717a;
  --link-hover-color: #064f56;
  --button-bg: #0b6f78;
  --button-hover-bg: #075b63;
  --default-button-bg: #0b6f78;
  --default-button-hover-bg: #075b63;
  --hairline-color: #dde6e3;
  --border-color: #d5dfdc;
  --body-bg: #f6f5f0;
}

html { scroll-behavior: smooth; }
body { font-family: Inter, "Segoe UI", Arial, sans-serif; }
#header { position: sticky; top: 0; z-index: 1000; min-height: 64px; padding: 10px 28px; box-shadow: 0 4px 18px rgb(18 55 61 / 12%); }
#branding #site-name { font-size: 22px; font-weight: 650; letter-spacing: -.02em; }
#user-tools { font-size: 12px; }
.breadcrumbs { position: sticky; top: 64px; z-index: 900; padding: 12px 28px; }
#container > .main { background: var(--body-bg); }
#content { padding: 28px 34px 40px; }
#content h1 { color: #163438; font-size: 29px; font-weight: 650; letter-spacing: -.025em; }
#content h2 { color: #19383d; }

.admin-language-switcher { display: flex; gap: 6px; align-items: center; }
.admin-language-switcher form { margin: 0; }
.admin-language-switcher button { border: 1px solid rgba(255,255,255,.5); border-radius: 999px; min-width: 38px; padding: 6px 9px; background: transparent; color: var(--header-link-color); cursor: pointer; font-weight: 750; }
.admin-language-switcher button:hover { background: rgba(255,255,255,.12); }
.admin-language-switcher button.active { background: #fff; color: #075f68; }

.module, .inline-group, fieldset.module { border: 1px solid var(--border-color); border-radius: 15px; overflow: hidden; background: var(--body-bg, #fff); box-shadow: 0 8px 24px rgb(24 67 70 / 5%); }
.module h2, .module caption, .inline-group h2, fieldset.module > h2, fieldset.module > .fieldset-heading { padding: 14px 18px; background: #e7f2ef; color: #17484e; font-size: 14px; font-weight: 750; letter-spacing: .01em; }
.change-form fieldset.module { margin-bottom: 20px; overflow: visible; background: var(--body-bg, #fff); }
.change-form fieldset.module > h2, .change-form fieldset.module > .fieldset-heading { border-radius: 14px 14px 0 0; }
.form-row { padding: 14px 18px; }
.form-row .flex-container { gap: 14px; align-items: flex-start; }
.form-row .fieldBox { flex: 1 1 280px; margin: 0; min-width: 0; }
.form-row label { display: block; width: auto; margin: 0 0 6px; color: #436267; font-weight: 650; }
.aligned label { width: 180px; }
.aligned .form-row > div { display: flex; gap: 14px; align-items: flex-start; }
.aligned .form-row > div > .flex-container { flex: 1; }
.aligned input:not([type="checkbox"]):not([type="radio"]), .aligned select, .aligned textarea { box-sizing: border-box; width: min(100%, 760px); max-width: 100%; border: 1px solid #cbd8d5; border-radius: 9px; padding: 9px 11px; background: #fff; }
.aligned textarea { min-height: 110px; resize: vertical; }
.aligned input:focus, .aligned select:focus, .aligned textarea:focus { border-color: #0b7c84; outline: 3px solid rgb(11 124 132 / 12%); }
.admin-checklist { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 !important; padding: 0 !important; }
.admin-checklist > div { margin: 0; }
.admin-checklist label { display: flex; gap: 7px; align-items: center; margin: 0; border: 1px solid #cad9d5; border-radius: 999px; padding: 7px 11px; background: #fff; color: #31575c; cursor: pointer; font-weight: 650; }
.admin-checklist label:has(input:checked) { border-color: #0b717a; background: #e5f4f1; color: #075d65; }
.admin-checklist input { width: auto !important; margin: 0; }
.help { margin-top: 7px !important; color: #708487 !important; font-size: 12px !important; }
.readonly { line-height: 1.5; }
.selector { width: 100%; }
.submit-row { position: sticky; bottom: 0; z-index: 800; display: flex; gap: 10px; align-items: center; margin: 24px 0 0; border: 1px solid #cddbd7; border-radius: 14px; padding: 12px 16px; background: rgb(255 255 255 / 94%); box-shadow: 0 -8px 25px rgb(25 59 62 / 10%); backdrop-filter: blur(12px); }
.submit-row input { border-radius: 9px; padding: 11px 18px; font-weight: 750; }
.object-tools a { border-radius: 999px; background: #ecf5f2; color: #0a656d; font-weight: 700; }

.admin-workspace { position: sticky; top: 105px; z-index: 850; display: grid; grid-template-columns: minmax(230px, .7fr) minmax(400px, 1.5fr); gap: 18px; align-items: center; margin: 0 0 22px; border: 1px solid #cbded9; border-radius: 16px; padding: 16px 18px; background: rgb(250 252 249 / 96%); box-shadow: 0 10px 28px rgb(19 62 66 / 9%); backdrop-filter: blur(14px); }
.admin-workspace strong { display: block; overflow: hidden; color: #173b40; font-size: 16px; text-overflow: ellipsis; white-space: nowrap; }
.admin-workspace p { margin: 5px 0 0; color: #657a7d; font-size: 12px; line-height: 1.35; }
.admin-workspace__eyebrow { display: block; margin-bottom: 4px; color: #0b727b; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.admin-section-nav { display: flex; gap: 7px; overflow-x: auto; padding: 2px 0 6px; scrollbar-width: thin; }
.admin-section-nav button { flex: 0 0 auto; border: 1px solid #cddbd8; border-radius: 999px; padding: 7px 11px; background: #fff; color: #32575c; cursor: pointer; font-size: 12px; font-weight: 700; }
.admin-section-nav button:hover, .admin-section-nav button.active { border-color: #0b717a; background: #0b717a; color: #fff; }
.admin-section-anchor { scroll-margin-top: 190px; }
.admin-action-link { display: inline-block; border-radius: 8px; padding: 7px 10px; background: #e7f3f0; color: #08666f !important; font-weight: 750; }
.admin-badge { display: inline-flex; align-items: center; border-radius: 999px; padding: 4px 8px; font-size: 11px; font-weight: 800; white-space: nowrap; }
.admin-badge.good { background: #dff3e7; color: #17663a; }
.admin-badge.warn { background: #fff2cc; color: #765800; }
.admin-badge.low { background: #fde4df; color: #9a3024; }
.admin-badge.neutral { background: #e9efee; color: #526765; }

#nav-sidebar { border-right: 1px solid #d5dfdc; background: #fff; }
#nav-sidebar .current-model { background: #e3f2ef; }
#nav-filter { margin: 10px; width: calc(100% - 20px); border-radius: 8px; }
.dashboard #content-main { max-width: 1200px; }
.dashboard .module table th, .dashboard .module table td { padding: 11px 16px; }
#changelist .actions { border-radius: 12px; padding: 12px; background: #edf4f2; }
#changelist-filter { border-radius: 14px; overflow: hidden; }
.results { border-radius: 14px; overflow: auto; box-shadow: 0 7px 22px rgb(24 67 70 / 5%); }
#result_list { border: 1px solid var(--border-color); }
#result_list thead th { padding: 12px 9px; background: #e8f2ef; }
#result_list tbody td, #result_list tbody th { padding: 11px 9px; }

@media (max-width: 1100px) {
  #content { padding: 22px 20px 34px; }
  .admin-workspace { grid-template-columns: 1fr; top: 103px; }
  .admin-workspace p { display: none; }
  .admin-section-anchor { scroll-margin-top: 225px; }
}
@media (max-width: 767px) {
  #header { position: relative; min-height: auto; padding: 12px 16px; }
  .breadcrumbs { position: relative; top: 0; padding: 10px 16px; }
  #content { padding: 18px 12px 30px; }
  .admin-workspace { position: relative; top: 0; padding: 13px; }
  .form-row .flex-container, .aligned .form-row > div { flex-direction: column; }
  .aligned label { width: auto; }
  .form-row .fieldBox { width: 100%; }
  .submit-row { flex-wrap: wrap; }
}
