:root{
  --ink:#111111;
  --paper:#f5f5f5;
  --card:#ffffff;
  --line:#e2e2e2;
  --muted:#6a6a6a;
  --teal:#c8102e;
  --accent:#c8102e;
  --accent-text:#f4efe4;
  --gold:#c8102e;
  --gold-text:#f4efe4;
  --header:#303030;
  --header-text:#f3f3f3;
  --direction:#303030;
  --direction-text:#f4efe4;
  --realisation:#c8102e;
  --realisation-text:#f4efe4;
  --support:#5a5a5a;
  --support-text:#f4efe4;
  --logo-height:52px;
  --font:"Source Sans 3","Segoe UI",system-ui,sans-serif;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body.smq-tpl{
  font-family:var(--font);
  background:
    radial-gradient(1200px 500px at 10% -10%,color-mix(in srgb, var(--accent) 14%, transparent),transparent 55%),
    radial-gradient(900px 420px at 110% 0,color-mix(in srgb, var(--gold) 18%, transparent),transparent 50%),
    var(--paper);
  color:var(--ink);
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
.smq-skip{position:absolute;left:-999px;top:0}
.smq-skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem .8rem;z-index:20}
.smq-header{
  background:var(--header, #303030);
  border-bottom:1px solid color-mix(in srgb, var(--header, #303030) 70%, #000);
  position:sticky;top:0;z-index:10;
}
.smq-header-inner{
  max-width:1180px;margin:0 auto;padding:.85rem 1.25rem 0;
  display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;
}
.smq-brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--header-text, #f3f3f3)}
.smq-brand img{height:var(--logo-height, 42px);width:auto;background:transparent}
.smq-mark{display:flex;color:var(--ink)}
.smq-brand-text{display:flex;flex-direction:column;line-height:1.1}
.smq-brand-text strong{font-size:1.15rem;letter-spacing:.08em}
.smq-brand-text em{font-style:normal;font-size:.72rem;letter-spacing:.22em;color:var(--teal);font-weight:700}
.smq-nav{display:flex;gap:.35rem;flex:1;flex-wrap:wrap}
.smq-nav a,.smq-nav .mod-menu a{
  text-decoration:none;color:var(--header-text, #f3f3f3);font-weight:600;font-size:.92rem;
  padding:.45rem .75rem;border-radius:999px;
}
.smq-nav a:hover,.smq-nav .mod-menu a:hover{
  background:rgba(255,255,255,.1);color:#fff;
}
.smq-nav a.is-on,.smq-nav .mod-menu .active>a{
  background:var(--accent);color:var(--accent-text);
}
.smq-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:.35rem;flex-wrap:wrap}
.smq-header-actions{margin-left:auto;display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}
.smq-admin-menu{position:relative}
.smq-admin-menu>summary{
  list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;
  font-weight:700;font-size:.88rem;border-radius:999px;padding:.5rem .95rem;
  background:var(--ink);color:#f4efe4;user-select:none;
}
.smq-admin-menu>summary::-webkit-details-marker{display:none}
.smq-admin-menu>summary::after{content:"";width:.45rem;height:.45rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-.2rem}
.smq-admin-menu[open]>summary,
.smq-admin-menu.is-on>summary{background:var(--accent);color:var(--accent-text)}
.smq-admin-menu ul{
  list-style:none;margin:.4rem 0 0;padding:.4rem;position:absolute;right:0;top:100%;
  min-width:220px;background:#fff;border:1px solid var(--line);border-radius:14px;
  box-shadow:0 10px 28px rgba(18,38,58,.14);z-index:30;
}
.smq-admin-menu a{
  display:block;text-decoration:none;color:var(--ink);font-weight:600;font-size:.9rem;
  padding:.5rem .75rem;border-radius:10px;
}
.smq-admin-menu a:hover{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent)}
.smq-login{
  display:inline-flex;align-items:center;text-decoration:none;font-weight:700;
  background:var(--gold);color:var(--gold-text);border-radius:999px;padding:.5rem .95rem;
}
.smq-user-box{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem;line-height:1.15}
.smq-logout-form{margin:0}
.smq-logout{
  display:inline-flex;align-items:center;text-decoration:none;font-weight:700;
  background:transparent;color:var(--header-text, #f3f3f3);border:1px solid rgba(255,255,255,.35);
  border-radius:999px;padding:.5rem .95rem;cursor:pointer;font:inherit;
}
.smq-logout:hover{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.55)}
.smq-user-name{
  max-width:12rem;font-size:.72rem;font-weight:600;color:rgba(255,255,255,.78);
  text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.smq-login:hover{filter:brightness(.96)}
.smq-tagline{
  max-width:1180px;margin:0 auto;padding:.15rem 1.25rem .75rem;
  color:rgba(255,255,255,.72);font-size:.82rem;letter-spacing:.04em;
}
.smq-main{flex:1;max-width:1180px;width:100%;margin:0 auto;padding:1.5rem 1.25rem 2.5rem}
.smq-footer{background:var(--ink);color:#e8e0d2;margin-top:auto}
.smq-footer-inner{max-width:1180px;margin:0 auto;padding:1.4rem 1.25rem 1.6rem}
.smq-footer-brand{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.8rem}
.smq-footer-brand strong{letter-spacing:.12em}
.smq-footer-brand span{color:var(--gold);font-size:.82rem}
.smq-copy{margin:.8rem 0 0;font-size:.8rem;color:#9aa6b2}
.smq-error-box{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:2rem;text-align:center}
.smq-error-code{font-family:var(--serif);font-size:3.2rem;margin:0;color:var(--gold)}
.alert{border-radius:12px;padding:.85rem 1rem;margin:0 0 1rem}
@media print{
  .smq-header,.smq-footer,.smq-tagline{display:none}
  body.smq-tpl{background:#fff}
  .smq-main{max-width:none;padding:0}
}
@page{size:A4;margin:12mm}
