/* Gold visual tokens; system fonts only: no unlicensed font assets. */
.nav,.row { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin-bottom:20px; }
.nav { padding:16px; background:white; }
.nav span { color:#62686e; }
.grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:16px; }
.filters { margin-top:24px; }
fieldset { border:1px solid #ddd; padding:20px; min-width:0; }
legend { font-weight:600; }
.table-wrap { overflow-x:auto; }
table { border-collapse:collapse; width:100%; }
th,td { text-align:left; padding:12px; border-bottom:1px solid #ddd; overflow-wrap:anywhere; min-width:110px; }
dt { font-weight:600; } dd { margin:0 0 12px; overflow-wrap:anywhere; }
.plain { white-space:pre-wrap; overflow-wrap:anywhere; }
a:focus-visible,select:focus-visible,textarea:focus-visible,input:focus-visible { outline:3px solid #2279c4; outline-offset:2px; }

:root { --yellow:#ffce00; --text:#212529; --bg:#f5f5f5; --radius:4px; --touch:48px; --shadow:0 4px 24px rgba(79,105,118,.08); }
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; background:var(--bg); color:var(--text); font:400 17px/1.45 system-ui,-apple-system,"Segoe UI",Arial,sans-serif; }
h1 { margin:0 0 18px; font-size:28px; font-weight:400; }
.topbar { background:#fff; border-bottom:1px solid #e8e8e8; }
.topbar__inner { display:flex; justify-content:space-between; align-items:center; gap:10px; min-height:44px; max-width:1366px; margin:auto; padding:0 16px; }
.brand { color:var(--text); text-decoration:none; border-bottom:3px solid var(--yellow); padding:8px 0; }
.topbar form { margin:0; }
.topbar .btn { min-height:44px; text-transform:none; }
.page { max-width:1366px; margin:auto; padding:16px 20px 40px; }
.card { background:#fff; box-shadow:var(--shadow); border-radius:var(--radius); padding:24px; margin-bottom:20px; }
.login { width:100%; max-width:420px; margin:64px auto 0; }
.form,.field { display:flex; flex-direction:column; }
.form { gap:18px; }
.field { gap:6px; min-width:0; font-size:14px; }
.input { width:100%; min-width:0; min-height:var(--touch); padding:10px 14px; border:1px solid #cfcfcf; border-radius:var(--radius); font:inherit; font-size:18px; }
.btn { display:inline-flex; justify-content:center; align-items:center; min-height:var(--touch); padding:0 22px; border:1px solid #b9bfc7; border-radius:var(--radius); background:#fff; color:var(--text); font:inherit; font-size:15px; cursor:pointer; text-transform:uppercase; touch-action:manipulation; }
.btn--primary { background:var(--yellow); border-color:var(--yellow); }
.btn--primary:active { background:#e6b900; }
.btn:focus-visible,.input:focus-visible,.brand:focus-visible { outline:3px solid #2279c4; outline-offset:2px; }
.muted { color:#62686e; }
.alert { color:#a3161b; overflow-wrap:anywhere; }
@media(max-width:480px) { .page { padding:16px 12px; } .login { margin-top:24px; } .card { padding:20px; } }