:root, html[data-theme="light"] {
  --primary: #4b6b8a;
  --secondary: #17212b;
  --accent: #f3b24d;
  --link-fg: #2f6f9f;
  --link-selected-fg: #174766;
  --header-bg: #17212b;
  --header-color: #fff;
  --header-link-color: #fff;
  --breadcrumbs-bg: #e8edf1;
  --breadcrumbs-fg: #52616d;
  --breadcrumbs-link-fg: #2f6f9f;
  --button-bg: #2f6f9f;
  --default-button-bg: #2f6f9f;
  --button-hover-bg: #245779;
  --default-button-hover-bg: #245779;
}
body { background: #f1f4f6; color: #17212b; }
#header { min-height: 64px; padding: 0 28px; border-bottom: 4px solid #f3b24d; background: #17212b; }
#branding h1, #site-name a { display: flex; align-items: center; gap: 10px; color: #fff; font-size: 19px; font-weight: 700; }
#site-name img { object-fit: contain; }
#user-tools { color: #dbe5eb; }
#user-tools a { color: #fff; }
#content { max-width: 1440px; margin: 0 auto; padding: 28px 32px 52px; }
#content-main { min-width: 0; }
#nav-sidebar { border-right: 1px solid #d6dfe5; background: #f7f9fa; }
#nav-sidebar .current-app .section:link, #nav-sidebar .current-app .section:visited { color: #174766; }
.module, .inline-group, .dashboard .module { border: 1px solid #d6dfe5; border-radius: 6px; overflow: hidden; box-shadow: 0 8px 20px #17212b0d; }
.module h2, .module caption, .inline-group h2 { background: #e7edf1; color: #243746; }
.dashboard .module table { background: #fff; }
.as-admin-form { max-width: 900px; padding: 26px 28px; border: 1px solid #d6dfe5; border-radius: 6px; background: #fff; box-shadow: 0 8px 20px #17212b0d; line-height: 1.7; }
.as-admin-form > p:first-child { margin-top: 0; font-size: 15px; font-weight: 600; }
.as-admin-form form > p { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.as-admin-form input, .as-admin-form select, .as-admin-form textarea { max-width: 100%; box-sizing: border-box; border-color: #c5d0d8; border-radius: 4px; }
.as-admin-form textarea { width: 100%; }
.as-admin-form button { padding: 11px 18px; border: 0; border-radius: 4px; background: var(--button-bg); color: #fff; cursor: pointer; font-weight: 700; }
.as-admin-form button:hover { background: var(--button-hover-bg); }
.as-admin-form :focus-visible { outline: 3px solid #f3b24d; outline-offset: 3px; }
.as-admin-form .submit-row { display: flex; flex-wrap: wrap; gap: 12px; padding: 18px 0 0; border-top: 1px solid #e0e6ea; }
.as-admin-form #id_free_keys { display: grid; gap: 12px; padding: 14px 0; }
.as-notice { padding: 13px 16px; border-left: 4px solid #c47b19; background: #fff7e8; color: #62420f; }
@media (max-width: 700px) {
  #header { padding: 0 16px; }
  #content { padding: 20px 16px 36px; }
  .as-admin-form { padding: 20px 16px; }
}
