/* ════════════════════════════════════════════════════════════════
   AION · Sistema de documentos imprimibles (carta 816×1056)
   Compartido por todos los manuales. Tema "papel" claro + portada navy.
   ════════════════════════════════════════════════════════════════ */
:root{
  --navy-900:#0a1626;--navy-700:#0f2032;--red:#11a7bd;--red-bright:#3dc3d6;--gold:#d4a017;--gold-d:#b8870f;
  --ink:#13202e;--ink-2:#3b4d5e;--ink-3:#6a7c8c;--ink-4:#9aa9b6;
  --paper:#fff;--paper-2:#f4f6f9;--paper-3:#eaeef3;--line:#dde3ea;
  --ok:#1f9d63;--warn:#c4880c;--crit:#cf2f2f;--info:#2f72c4;--viol:#6d5fc4;
  --f-head:'Montserrat',sans-serif;--f-body:'Inter',sans-serif;--f-mono:'JetBrains Mono',monospace;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{background:#5a6675;font-family:var(--f-body);color:var(--ink);-webkit-font-smoothing:antialiased;padding:40px 0;}
.mono{font-family:var(--f-mono);}.head{font-family:var(--f-head);}.up{text-transform:uppercase;letter-spacing:.13em;}
.page{width:816px;min-height:1056px;background:var(--paper);margin:0 auto 40px;position:relative;padding:60px 64px 84px;box-shadow:0 16px 50px rgba(0,0,0,.35);overflow:hidden;}
.doc-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;border-bottom:2px solid var(--navy-900);margin-bottom:30px;}
.brand{display:flex;align-items:center;gap:13px;}
.brand .nm{font-family:var(--f-head);font-weight:900;font-size:24px;letter-spacing:.05em;color:var(--navy-900);}
.brand .tl{font-family:var(--f-mono);font-size:10px;color:var(--ink-3);margin-top:2px;}
.doc-kind{font-family:var(--f-mono);font-size:11px;color:var(--red);text-transform:uppercase;letter-spacing:.14em;text-align:right;}
.doc-kind .v{color:var(--ink-3);display:block;margin-top:3px;letter-spacing:.05em;}
.foot{position:absolute;bottom:38px;left:64px;right:64px;display:flex;justify-content:space-between;padding-top:13px;border-top:1px solid var(--line);font-family:var(--f-mono);font-size:9.5px;color:var(--ink-4);}
.classif{position:absolute;top:18px;right:64px;font-family:var(--f-mono);font-size:8.5px;letter-spacing:.14em;color:var(--ink-4);text-transform:uppercase;}

/* cover */
.cover{display:flex;flex-direction:column;justify-content:center;min-height:932px;}
.cover .hero{background:var(--navy-900);border-radius:18px;padding:54px 50px;position:relative;overflow:hidden;color:#eef3f9;}
.cover .hero .grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:28px 28px;}
.cover .hero .k{position:relative;font-family:var(--f-mono);font-size:12px;color:var(--gold);letter-spacing:.12em;}
.cover .hero h1{position:relative;font-family:var(--f-head);font-weight:900;font-size:52px;line-height:1.04;margin-top:14px;}
.cover .hero h1 .em{color:var(--red-bright);}
.cover .hero p{position:relative;font-size:16px;color:#a8b6c6;margin-top:18px;max-width:520px;line-height:1.5;}
.toc{margin-top:34px;display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.toc .it{display:flex;align-items:center;gap:13px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--paper-2);}
.toc .it .n{font-family:var(--f-head);font-weight:800;font-size:20px;color:var(--red);width:30px;}
.toc .it .t{font-size:14px;font-weight:600;}
.toc .it .d{font-size:11.5px;color:var(--ink-3);margin-top:2px;}
.cover .meta{margin-top:30px;display:flex;gap:30px;font-family:var(--f-mono);font-size:11px;color:var(--ink-3);}
.cover .meta b{color:var(--ink);font-weight:600;display:block;font-family:var(--f-body);margin-top:3px;}

h1.dt{font-family:var(--f-head);font-weight:800;font-size:34px;color:var(--navy-900);letter-spacing:-.01em;}
.dlead{font-size:15px;color:var(--ink-2);line-height:1.5;margin-top:12px;max-width:580px;}
h2.sh{font-family:var(--f-head);font-weight:700;font-size:18px;color:var(--navy-900);margin:28px 0 14px;display:flex;align-items:center;gap:10px;}
h2.sh::before{content:'';width:18px;height:3px;background:var(--red);border-radius:2px;}
h3.ssh{font-family:var(--f-head);font-weight:700;font-size:14.5px;color:var(--navy-900);margin:18px 0 9px;}
p.par{font-size:13px;color:var(--ink-2);line-height:1.6;margin:8px 0;}
.pill-sec{display:inline-block;font-family:var(--f-mono);font-size:10.5px;color:#fff;background:var(--navy-900);padding:5px 12px;border-radius:999px;letter-spacing:.08em;white-space:nowrap;}

.steps{counter-reset:s;}
.istep{display:flex;gap:16px;padding:15px 0;border-bottom:1px solid var(--line);}
.istep .n{flex-shrink:0;width:34px;height:34px;border-radius:9px;background:var(--navy-900);color:#fff;font-family:var(--f-head);font-weight:800;font-size:15px;display:grid;place-items:center;}
.istep .ct h3{font-family:var(--f-head);font-size:15.5px;color:var(--navy-900);margin-bottom:5px;}
.istep .ct p{font-size:13px;color:var(--ink-3);line-height:1.5;}
.kbd{font-family:var(--f-mono);font-size:11px;background:var(--paper-3);border:1px solid var(--line);border-radius:5px;padding:1px 7px;color:var(--ink-2);}

.tiles{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.tiles.three{grid-template-columns:1fr 1fr 1fr;}
.tile{border:1px solid var(--line);border-radius:12px;padding:18px;}
.tile .ic{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;margin-bottom:12px;}
.tile .ic svg{width:21px;height:21px;}
.tile h3{font-family:var(--f-head);font-size:16px;color:var(--navy-900);margin-bottom:6px;}
.tile h3 .tag{font-family:var(--f-mono);font-size:9px;font-weight:600;color:var(--red);display:block;letter-spacing:.06em;margin-bottom:2px;}
.tile p{font-size:12.5px;color:var(--ink-3);line-height:1.45;}

.note{border-radius:10px;padding:14px 16px;font-size:12.5px;line-height:1.5;display:flex;gap:11px;margin-top:8px;}
.note.gold{background:rgba(212,160,23,.08);border:1px solid rgba(212,160,23,.3);color:var(--ink-2);}
.note.red{background:rgba(207,47,47,.07);border:1px solid rgba(207,47,47,.25);color:var(--ink-2);}
.note.info{background:rgba(47,114,196,.07);border:1px solid rgba(47,114,196,.25);color:var(--ink-2);}
.note.ok{background:rgba(31,157,99,.08);border:1px solid rgba(31,157,99,.28);color:var(--ink-2);}
.note .ic{flex-shrink:0;}
.note.gold .ic{color:var(--gold-d);}.note.red .ic{color:var(--crit);}.note.info .ic{color:var(--info);}.note.ok .ic{color:var(--ok);}

.faq{border-bottom:1px solid var(--line);padding:14px 0;}
.faq .q{font-size:14px;font-weight:600;color:var(--navy-900);display:flex;gap:9px;}
.faq .q::before{content:'P';font-family:var(--f-mono);color:var(--red);font-weight:700;}
.faq .a{font-size:13px;color:var(--ink-3);line-height:1.5;margin-top:6px;padding-left:20px;}

/* tables */
table.doc{width:100%;border-collapse:collapse;margin:12px 0;font-size:12.5px;}
table.doc th{text-align:left;font-family:var(--f-mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);padding:9px 11px;border-bottom:2px solid var(--navy-900);}
table.doc td{padding:10px 11px;border-bottom:1px solid var(--line);color:var(--ink-2);vertical-align:top;}
table.doc tr:nth-child(even) td{background:var(--paper-2);}
table.doc .nm{font-weight:600;color:var(--ink);}
table.doc code{font-family:var(--f-mono);font-size:11px;color:var(--navy-700);background:var(--paper-3);padding:1px 5px;border-radius:4px;}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;vertical-align:middle;margin-right:5px;}
.yes{color:var(--ok);font-weight:700;}.no{color:var(--ink-4);}.opt{color:var(--gold-d);font-weight:700;}

/* code block */
.code{background:var(--navy-900);border-radius:11px;padding:16px 18px;font-family:var(--f-mono);font-size:11.5px;line-height:1.75;color:#c4d0de;overflow:hidden;margin:10px 0;}
.code .c{color:#5e7088;}.code .k{color:#e0b53d;}.code .s{color:#7fd1a8;}.code .p{color:#7fb0e8;}
.code .h{display:block;color:#5e7088;font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;}

/* architecture diagram */
.arch{display:flex;flex-direction:column;gap:10px;margin:14px 0;}
.archrow{display:flex;gap:10px;align-items:stretch;}
.archbox{flex:1;border:1px solid var(--line);border-radius:11px;padding:13px 15px;background:var(--paper-2);}
.archbox.navy{background:var(--navy-900);color:#eef3f9;border-color:var(--navy-900);}
.archbox.navy .t{color:#fff;}.archbox.navy .s{color:#8a9cb0;}
.archbox .t{font-family:var(--f-head);font-weight:700;font-size:13px;color:var(--navy-900);}
.archbox .s{font-family:var(--f-mono);font-size:10px;color:var(--ink-3);margin-top:3px;}
.archlink{text-align:center;font-family:var(--f-mono);font-size:10px;color:var(--ink-4);}

/* key-value spec list */
.kv{display:grid;grid-template-columns:160px 1fr;gap:0;margin:10px 0;border:1px solid var(--line);border-radius:11px;overflow:hidden;}
.kv .k{padding:10px 14px;font-family:var(--f-mono);font-size:11px;color:var(--ink-3);background:var(--paper-2);border-bottom:1px solid var(--line);}
.kv .v{padding:10px 14px;font-size:12.5px;color:var(--ink-2);border-bottom:1px solid var(--line);}
.kv .k:last-of-type,.kv .v:last-of-type{border-bottom:none;}

/* device frame (mobile screenshots placeholder) */
.phone{width:200px;height:412px;border-radius:30px;background:var(--navy-900);padding:11px;flex-shrink:0;box-shadow:0 10px 30px rgba(0,0,0,.2);}
.phone .scr{width:100%;height:100%;border-radius:22px;background:var(--paper-2);overflow:hidden;position:relative;border:1px solid var(--line);}
.placeholder{background:repeating-linear-gradient(45deg,var(--paper-2),var(--paper-2) 9px,var(--paper-3) 9px,var(--paper-3) 18px);border:1px dashed var(--ink-4);border-radius:10px;display:flex;align-items:center;justify-content:center;font-family:var(--f-mono);font-size:10px;color:var(--ink-3);text-align:center;padding:10px;}

.two{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start;}

@media print{body{background:#fff;padding:0;}.page{box-shadow:none;margin:0;page-break-after:always;width:100%;min-height:100vh;}.page:last-child{page-break-after:auto;}}
@page{size:letter;margin:0;}
