.ilson-admin-brand { display:inline-flex; align-items:center; gap:10px; }
.ilson-admin-brand img { display:block; flex:none; box-sizing:border-box; width:32px; height:32px; }
.ilson-admin-brand small { display:block; font-size:12px; line-height:1.4; }
.ilson-admin-links { display:flex; flex-wrap:wrap; gap:8px 16px; }
.ilson-admin-links a { display:inline-flex; align-items:center; min-height:44px; text-underline-offset:4px; }

.ilson-opening-guide { padding: 16px 20px; margin-bottom: 24px; border: 1px solid var(--hairline-color); border-radius: 8px; background: var(--darkened-bg); }
.ilson-opening-guide h2 { background: transparent; padding: 0; color: var(--body-fg); }
.ilson-opening-guide li { margin: 12px 0; line-height: 1.7; }
.ilson-opening-guide p { margin-bottom: 0; }

/* The internal ledger uses the same type and controls as the console. */
html[data-theme="light"], :root {
  --primary:#317266; --secondary:#1d2935; --accent:#f5f4f0;
  --body-fg:#17202a; --body-bg:#fff; --body-quiet-color:#596575;
  --body-medium-color:#344451; --body-loud-color:#17202a;
  --header-color:#fff; --header-branding-color:#fff; --header-bg:#1d2935;
  --header-link-color:#fff; --breadcrumbs-fg:#c4d0d7;
  --breadcrumbs-bg:#263743; --breadcrumbs-link-fg:#fff;
  --link-fg:#317266; --link-hover-color:#245b51; --link-selected-fg:#245b51;
  --hairline-color:#d8dfe3; --border-color:#81909e;
  --darkened-bg:#f5f4f0; --selected-bg:#eaf3ef; --selected-row:#eaf3ef;
  --button-bg:#317266; --button-hover-bg:#245b51;
  --default-button-bg:#317266; --default-button-hover-bg:#245b51;
  --object-tools-bg:#317266; --object-tools-hover-bg:#245b51;
  --ilson-focus:#245fbc;
}
@media (prefers-color-scheme:dark) {
  html:not([data-theme="light"]) {
    --body-fg:#e5eaf0; --body-bg:#1b2531; --body-quiet-color:#aeb9c7;
    --body-medium-color:#d3dce5; --body-loud-color:#fff;
    --link-fg:#93d6b0; --link-hover-color:#bce8cd; --link-selected-fg:#bce8cd;
    --hairline-color:#394553; --border-color:#708191;
    --darkened-bg:#121a23; --selected-bg:#243d33; --selected-row:#243d33;
    --ilson-focus:#9ac0ff;
  }
}
html[data-theme="dark"] {
  --body-fg:#e5eaf0; --body-bg:#1b2531; --body-quiet-color:#aeb9c7;
  --body-medium-color:#d3dce5; --body-loud-color:#fff;
  --link-fg:#93d6b0; --link-hover-color:#bce8cd; --link-selected-fg:#bce8cd;
  --hairline-color:#394553; --border-color:#708191;
  --darkened-bg:#121a23; --selected-bg:#243d33; --selected-row:#243d33;
  --ilson-focus:#9ac0ff;
}
body { font-size:15px; line-height:1.65; }
body :focus-visible { outline:3px solid var(--ilson-focus); outline-offset:3px; }
body h1 { color:var(--body-fg); font-size:28px; line-height:1.35; font-weight:700; letter-spacing:-.035em; }
body #header { gap:16px 28px; padding:20px 32px; }
body #site-name { margin:0; font-size:25px; font-weight:700; letter-spacing:-.035em; }
body #site-name small { margin-top:4px; font-size:13px; font-weight:500; letter-spacing:0; color:#d2dce3; }
body .ilson-admin-links { gap:8px 20px; }
body .ilson-admin-links a { color:var(--header-link-color); font-size:14px; font-weight:600; }
body #user-tools { font-size:13px; line-height:1.6; }
body #user-tools a, body #logout-form button { display:inline-flex; align-items:center; min-height:44px; }
body .theme-toggle { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; }
body div.breadcrumbs { font-size:13px; line-height:1.65; padding:12px 32px; }
body #content { padding:32px; }
body .help, body p.help, body form p.help, body div.help, body form div.help, body div.help li { font-size:13px; line-height:1.65; }
body input, body textarea, body select, body button { font-family:inherit; font-size:15px; }
body input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), body select, body textarea {
  box-sizing:border-box; min-height:44px; max-width:100%; padding:10px 12px;
  border-radius:7px; line-height:1.5;
}
body .form-row select, body .form-row textarea { min-height:44px; padding:10px 12px; font-size:15px; }
body select { height:auto; }
body label { font-size:14px; line-height:1.6; }
body .form-row { padding:18px 16px; }
body .aligned label { padding-top:10px; }
body .aligned .help { margin-top:8px; }
body .vTextField, body .vLargeTextField { width: min(100%, 36rem); }
body .submit-row { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:16px; border:1px solid var(--hairline-color); border-radius:10px; }
body .submit-row input { float:none; margin:0; font-size:14px; font-weight:600; border:1px solid var(--border-color); background:var(--body-bg); color:var(--body-fg); }
body .submit-row input:hover { background:var(--selected-bg); }
body .submit-row input.default { float:none; background:var(--default-button-bg); border-color:var(--default-button-bg); color:#fff; }
body .submit-row input.default:hover { background:var(--default-button-hover-bg); }
body .object-tools a { box-sizing:border-box; display:inline-flex; align-items:center; min-height:44px; padding:10px 16px; font-size:13px; border-radius:7px; }
body .ilson-opening-guide { padding:24px; background:var(--darkened-bg); }
body .ilson-opening-guide h2 { margin:0 0 16px; font-size:18px; line-height:1.5; }
body .ilson-opening-guide ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding-left:22px; margin:0 0 18px; }
body .ilson-opening-guide li { margin:0; padding-right:12px; font-size:14px; line-height:1.7; }
body .ilson-opening-guide li::marker { color:var(--link-fg); font-weight:700; }
body .ilson-opening-guide strong { display:block; margin-bottom:6px; color:var(--body-fg); }
body .ilson-opening-guide p { padding-top:16px; border-top:1px solid var(--hairline-color); color:var(--body-quiet-color); font-size:13px; line-height:1.7; }
body.login #container { box-sizing:border-box; width:min(440px,calc(100% - 32px)); min-width:0; margin:clamp(24px,10vh,100px) auto; border-radius:14px; border:1px solid var(--hairline-color); box-shadow:0 16px 48px #17202a12; }
body.login #header { padding:24px; }
body.login #content { padding:28px; }
body.login #content h1 { margin-bottom:24px; font-size:24px; }
body.login .form-row { padding:0 0 18px; }
body.login .form-row label { margin-bottom:6px; font-weight:600; }
body.login .form-row #id_username, body.login .form-row #id_password { padding:11px 12px; min-height:46px; font-size:16px; }
body.login .submit-row { display:block; padding:4px 0 0; border:0; }
body.login .submit-row input { width:100%; min-height:46px; background:var(--button-bg); border-color:var(--button-bg); color:#fff; font-size:15px; }
body.login .submit-row input:hover { background:var(--button-hover-bg); }
@media (max-width:1024px) {
  body .ilson-opening-guide ol { grid-template-columns:1fr; gap:16px; }
}
@media (max-width:767px) {
  body #header { padding:18px; }
  body #content { padding:24px 18px; }
  body h1 { font-size:25px; }
  body div.breadcrumbs { padding:12px 18px; }
  body .form-row { padding:18px 0; }
  body .aligned label { padding:0; margin-bottom:6px; }
  body .aligned .form-row input:not([type="checkbox"]):not([type="radio"]), body .aligned .form-row select, body .aligned .form-row textarea { width:100%; min-height:46px; font-size:16px; }
  body .aligned .help { margin-left:0; padding-left:0; }
  body .ilson-opening-guide { padding:18px; }
  body .submit-row input, body .submit-row input.default { width:100%; margin:0; }
  body.login #content { padding:24px; }
}
