@font-face{font-family:"Bricolage Grotesque";src:url("/bricolage-grotesque.413e7357809ddd12.ttf") format("truetype");font-style:normal;font-weight:800;font-display:swap}
/* ABRACAX shared design foundation. Contract: ../DESIGN-SYSTEM.md. */
:root {
  --ink:#101010; --paper:#fff; --muted:#626262; --line:#d6d6d6;
  --inverse:#111; --inverse-ink:#fff; --inverse-muted:#c7c7c7;
  --inverse-line:#707070; --inverse-detail:#dedede; --inverse-body:#d4d4d4;
  --subtle:#666; --symbol-muted:#777;
  color-scheme:light;
  --max:1280px;
  --font-body:Arial,Helvetica,sans-serif;
  --font-label:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  --font-brand:"Bricolage Grotesque",Arial,sans-serif;
  --brand-header-size:28px; --brand-footer-size:38px;
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px;
  --space-5:24px; --space-6:32px; --space-7:48px; --space-8:64px;
  --border:1px solid var(--line);
  --focus:2px solid currentColor;
  font-family:var(--font-body); color:var(--ink); background:var(--paper); font-synthesis:none;
}
.dashboard-shell { max-width:calc(var(--max) + 96px); min-height:60vh; padding:64px 48px 96px; margin:auto; }
.access-card { max-width:520px; margin:0 auto; border-top:1px solid var(--ink); padding-top:32px; }
.access-card h1 { font-size:clamp(38px,6vw,58px); margin:0 0 24px; }
.access-card p { font-size:16px; line-height:1.65; }
.access-card .eyebrow { font-size:11px; }
.action { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:44px; padding:12px 20px; border:1px solid var(--ink); border-radius:0; background:var(--ink); color:var(--paper); font:600 14px/1.4 var(--font-body); text-decoration:none; cursor:pointer; }
.action:hover:not(:disabled) { background:var(--paper); color:var(--ink); }
.action:focus-visible { outline:var(--focus); outline-color:var(--ink); outline-offset:6px; }
.action:disabled { background:var(--line); color:var(--ink); border-color:var(--line); cursor:not-allowed; }
.field { display:grid; gap:8px; margin:24px 0; font-size:14px; }
.field input,.field select,.field textarea { width:100%; min-height:44px; border:1px solid var(--muted); border-radius:0; padding:12px; background:var(--paper); color:var(--ink); font:16px/1.5 var(--font-body); }
.field :focus-visible { outline:var(--focus); outline-offset:3px; }
.status-note { margin-top:16px; border-left:2px solid var(--ink); padding-left:16px; color:var(--muted); }
.data-table { width:100%; border-collapse:collapse; font-size:14px; line-height:1.5; text-align:left; }
.data-table th,.data-table td { border-bottom:var(--border); padding:16px 12px; vertical-align:top; }
.data-table th { font-weight:700; }
.data-table caption { text-align:left; margin-bottom:16px; font-weight:700; }
@media(max-width:720px) { .dashboard-shell { padding:45px 22px 64px; } .access-card { margin:0; } }

/* Temporary Light default (MDA29); Device remains an explicit preference. */
@media(prefers-color-scheme:dark){
  :root[data-theme="system"]{--paper:#111;--ink:#f5f5f5;--muted:#b8b8b8;--line:#444;
    --inverse:#ededed;--inverse-ink:#111;--inverse-muted:#454545;
    --inverse-line:#757575;--inverse-detail:#333;--inverse-body:#333;
    --subtle:#b8b8b8;--symbol-muted:#aaa;color-scheme:dark}
  :root[data-theme="system"] .brand img,:root[data-theme="system"] .hero-art img{filter:invert(1) contrast(1.1);mix-blend-mode:screen}
}
:root[data-theme="light"]{color-scheme:light}
:root[data-theme="dark"]{--paper:#111;--ink:#f5f5f5;--muted:#b8b8b8;--line:#444;
  --inverse:#ededed;--inverse-ink:#111;--inverse-muted:#454545;
  --inverse-line:#757575;--inverse-detail:#333;--inverse-body:#333;
  --subtle:#b8b8b8;--symbol-muted:#aaa;color-scheme:dark}
:root[data-theme="dark"] .brand img,:root[data-theme="dark"] .hero-art img{filter:invert(1) contrast(1.1);mix-blend-mode:screen}
.theme-control{display:inline-flex;align-items:center;gap:8px;font:12px/1.5 var(--font-body);color:var(--muted)}
.theme-control select{min-height:44px;padding:8px 28px 8px 10px;border:1px solid var(--line);border-radius:0;color:var(--ink);background:var(--paper);font:inherit;cursor:pointer}
.theme-control select:focus-visible{outline:var(--focus);outline-offset:4px}
footer>.theme-control{margin-top:16px}

/* Rendered ABRACAX words keep the surrounding size and spacing. */
.brand-word{font-family:var(--font-brand);font-weight:800;font-size:inherit;line-height:inherit;font-variation-settings:"wdth" 100,"opsz" 96;font-synthesis:none}
