
/* AIFlasher unified document system */
.document-page {
  background:
    radial-gradient(circle at 85% -10%, rgba(78,201,212,.08), transparent 28rem),
    var(--bg-primary);
}
.document-header {
  background: rgba(13,19,28,.96);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid #273444;
}
.document-header .container {
  max-width: 1380px;
}
.brand-lockup {
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--text-primary);
}
.brand-lockup:hover { text-decoration:none; }
.brand-icon {
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border:1px solid #315063;
  border-radius:8px;
  background:#10222c;
  color:#56d5df;
  font-size:1rem;
}
.brand-copy { display:flex; flex-direction:column; line-height:1.04; }
.brand-copy strong { font-size:.98rem; }
.brand-copy small {
  margin-top:4px;
  color:#718198;
  font-size:.62rem;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.document-utility {
  display:flex;
  align-items:center;
  gap:8px;
  margin-left:auto;
}
.document-chip {
  border:1px solid #2b3949;
  background:#101720;
  border-radius:5px;
  padding:6px 9px;
  color:#8292a6;
  font-family:var(--font-mono);
  font-size:.67rem;
}
.document-main {
  max-width:1380px;
  margin:0 auto;
  padding:34px 28px 72px;
}
.document-hero {
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  align-items:end;
  padding:22px 0 26px;
  border-bottom:1px solid #202b38;
}
.document-hero h1 {
  margin:5px 0 10px;
  font-size:2.15rem;
  letter-spacing:-.025em;
}
.document-hero p {
  max-width:760px;
  margin:0;
  color:#8b99ab;
  font-size:1rem;
}
.document-meta {
  display:grid;
  gap:7px;
  min-width:220px;
  padding:13px 15px;
  border:1px solid #273544;
  border-radius:8px;
  background:#0e151e;
}
.document-meta div {
  display:flex;
  justify-content:space-between;
  gap:16px;
  font-size:.7rem;
}
.document-meta dt {
  color:#65758a;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.document-meta dd {
  margin:0;
  color:#d3dde7;
  font-family:var(--font-mono);
}
.document-layout {
  display:grid;
  grid-template-columns:250px minmax(0,1fr) 250px;
  gap:22px;
  margin-top:24px;
  align-items:start;
}
.document-toc,
.document-aside {
  position:sticky;
  top:94px;
}
.document-toc {
  border:1px solid #273442;
  background:#101720;
  border-radius:9px;
  padding:15px;
}
.document-toc h2,
.document-aside h2 {
  font-size:.72rem;
  margin:0 0 11px;
  color:#6f8094;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.document-toc ol {
  list-style:none;
  margin:0;
  padding:0;
  counter-reset:toc;
}
.document-toc li { counter-increment:toc; }
.document-toc a {
  display:grid;
  grid-template-columns:24px 1fr;
  gap:7px;
  padding:8px 7px;
  border-radius:5px;
  color:#95a3b4;
  font-size:.75rem;
}
.document-toc a::before {
  content:counter(toc, decimal-leading-zero);
  color:#4ec9d4;
  font-family:var(--font-mono);
  font-size:.65rem;
  margin-top:1px;
}
.document-toc a:hover,
.document-toc a.active {
  background:#14202b;
  color:#edf4f8;
  text-decoration:none;
}
.document-content { min-width:0; }
.notice-critical,
.notice-info {
  display:grid;
  grid-template-columns:42px 1fr;
  gap:13px;
  margin-bottom:17px;
  padding:15px;
  border-radius:8px;
}
.notice-critical {
  border:1px solid #5c4525;
  background:#1c170f;
}
.notice-info {
  border:1px solid #28505a;
  background:#0e1d22;
}
.notice-icon {
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:8px;
  font-size:1rem;
}
.notice-critical .notice-icon { background:#322413; color:#e4aa5d; }
.notice-info .notice-icon { background:#12313a; color:#58d5df; }
.notice-critical strong,
.notice-info strong { display:block; font-size:.86rem; }
.notice-critical p,
.notice-info p {
  margin:4px 0 0;
  color:#a2947f;
  font-size:.76rem;
}
.notice-info p { color:#7f9ba2; }
.document-section {
  scroll-margin-top:100px;
  margin-bottom:14px;
  border:1px solid #273442;
  border-radius:9px;
  background:#121a24;
  overflow:hidden;
}
.document-section-header {
  display:grid;
  grid-template-columns:42px 1fr;
  gap:13px;
  align-items:center;
  padding:17px 19px;
  border-bottom:1px solid #263341;
  background:#151e29;
}
.document-number {
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:1px solid #315064;
  border-radius:8px;
  color:#58d3df;
  font-family:var(--font-mono);
  font-size:.72rem;
  background:#0e2028;
}
.document-section-header h2 {
  margin:0;
  font-size:1.12rem;
}
.document-section-header p {
  margin:3px 0 0;
  color:#718095;
  font-size:.71rem;
}
.document-section-body {
  padding:19px;
  color:#c0cad5;
  font-size:.88rem;
}
.document-section-body p:first-child { margin-top:0; }
.document-section-body p:last-child { margin-bottom:0; }
.document-section-body ul,
.document-section-body ol { padding-left:20px; }
.document-section-body li { margin:7px 0; }
.document-section-body strong { color:#eef4f8; }
.document-section-body h3 {
  margin:20px 0 7px;
  font-size:.94rem;
  color:#e8eef4;
}
.document-definition {
  display:grid;
  grid-template-columns:180px 1fr;
  gap:10px;
  padding:9px 0;
  border-bottom:1px solid #222e3a;
}
.document-definition:last-child { border-bottom:0; }
.document-definition dt {
  color:#78889c;
  font-size:.73rem;
}
.document-definition dd {
  margin:0;
  color:#d0d9e2;
  font-size:.78rem;
}
.document-aside {
  display:grid;
  gap:12px;
}
.aside-card {
  border:1px solid #273442;
  border-radius:9px;
  background:#101720;
  padding:15px;
}
.aside-card strong {
  display:block;
  font-size:.82rem;
  margin-bottom:7px;
}
.aside-card p,
.aside-card li {
  color:#758498;
  font-size:.7rem;
}
.aside-card p { margin:0; }
.aside-card ul {
  margin:7px 0 0;
  padding-left:17px;
}
.aside-card a { font-size:.72rem; }
.contact-card a {
  display:block;
  margin-top:7px;
}
.document-actions {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:12px;
}
.document-action {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:7px 10px;
  border:1px solid #2b3a4a;
  border-radius:6px;
  color:#b8c4d0;
  background:#111a24;
  font-size:.7rem;
}
.document-action:hover {
  border-color:#3d6675;
  color:#eef7f9;
  text-decoration:none;
}
.document-footer {
  margin-top:26px;
  padding-top:19px;
  border-top:1px solid #202b38;
  display:flex;
  justify-content:space-between;
  gap:16px;
  color:#65748a;
  font-size:.67rem;
}
.method-badge {
  display:inline-flex;
  padding:3px 7px;
  border-radius:4px;
  background:#0f2b32;
  color:#59d0db;
  border:1px solid #28515d;
  font-family:var(--font-mono);
  font-size:.64rem;
}
.verification-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin:12px 0;
}
.verification-stat {
  padding:12px;
  border:1px solid #273746;
  border-radius:7px;
  background:#0d151d;
}
.verification-stat span,
.verification-stat strong {
  display:block;
}
.verification-stat span {
  color:#69798e;
  font-size:.62rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.verification-stat strong {
  margin-top:5px;
  font-family:var(--font-mono);
  font-size:.85rem;
}
@media(max-width:1120px){
  .document-layout{grid-template-columns:220px minmax(0,1fr)}
  .document-aside{grid-column:1/-1;position:static;grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .document-main{padding:20px 14px 48px}
  .document-hero{grid-template-columns:1fr}
  .document-meta{min-width:0}
  .document-layout{grid-template-columns:1fr}
  .document-toc{position:static}
  .document-aside{grid-template-columns:1fr}
  .document-definition{grid-template-columns:1fr}
  .document-footer{flex-direction:column}
  .document-utility{display:none}
}
@media print{
  .site-header,.document-toc,.document-aside,.document-actions,.site-footer{display:none!important}
  .document-main{max-width:none;padding:0}
  .document-layout{display:block}
  .document-section{break-inside:avoid;border:1px solid #bbb;background:white;color:black}
  body,.document-page{background:white;color:black}
}
