/* Academia granloop: base del blog + componentes de cursos. Paleta y radios del design system v1.1. */
*{margin:0;padding:0;box-sizing:border-box}
html{overflow-x:hidden}
body{font-family:'Sora',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;line-height:1.6;color:#13327A;background:#F4F7FE;overflow-x:hidden}
h1,h2,h3,h4{word-break:break-word;overflow-wrap:break-word}
a{color:#1E50C8}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:none;box-shadow:0 0 0 3px #E0E9FF,0 0 0 1px #1E50C8;border-radius:8px}

header{background:#fff;box-shadow:0 1px 2px rgba(19,50,122,.06),0 8px 24px rgba(19,50,122,.06);position:sticky;top:0;z-index:1000}
nav{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 5%;max-width:1400px;margin:0 auto;gap:1rem}
.nav-logo{display:flex;align-items:center;text-decoration:none;gap:.6rem}
.nav-logo img{height:27px;display:block}
.nav-logo span{font-size:.8rem;font-weight:600;color:#5C6B8A;border-left:1px solid #E3E9F5;padding-left:.6rem}
.nav-buttons{display:flex;gap:1rem;align-items:center}
.btn{padding:.75rem 1.5rem;border-radius:8px;text-decoration:none;font-weight:600;font-size:.95rem;transition:all .2s ease;display:inline-block;cursor:pointer;border:none;font-family:inherit;line-height:1.3}
.btn-outline{border:1px solid #C7D4F2;color:#1E50C8;background:#fff}
.btn-outline:hover{background:#1E50C8;color:#fff}
.btn-primary{background:#1E50C8;color:#fff}
.btn-primary:hover{filter:brightness(1.07);color:#fff}
.btn-ghost{background:transparent;color:#1E50C8;padding-left:0;padding-right:0}

.breadcrumb{padding:1.5rem 5% 1.25rem;max-width:1400px;margin:0 auto;font-size:.9rem;color:#5C6B8A}
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:.25rem}
.breadcrumb li+li::before{content:'›';color:#9AA6C0;margin:0 .5rem}
.breadcrumb a{color:#5C6B8A;text-decoration:none}
.breadcrumb a:hover{color:#1E50C8}
.breadcrumb [aria-current]{color:#13327A}

.ac-container{max-width:1400px;margin:0 auto;padding:0 5% 4rem;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:3rem}
.ac-wide{max-width:1200px;margin:0 auto;padding:0 5% 4rem}
article,.ac-panel{background:#fff;border-radius:14px;padding:clamp(1.25rem,4vw,3rem);box-shadow:0 1px 2px rgba(19,50,122,.06),0 8px 24px rgba(19,50,122,.06);min-width:0}
.ac-panel+.ac-panel{margin-top:2rem}

.ac-kicker{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#5C6B8A;margin-bottom:.75rem}
h1{font-size:clamp(1.6rem,4vw,2.5rem);font-weight:800;line-height:1.2;margin-bottom:1rem;color:#13327A;letter-spacing:-.02em}
.ac-lead{font-size:1.15rem;color:#5C6B8A;line-height:1.7}
.ac-pills{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.25rem 0 0;list-style:none}
.ac-pills li{font-size:.82rem;font-weight:600;color:#13327A;background:#F4F7FE;border:1px solid #E3E9F5;border-radius:999px;padding:.35rem .8rem}
.ac-pills li.ac-pill-free{color:#0F7A4E;background:#E9F8F0;border-color:#E9F8F0}

.ac-content h2{font-size:clamp(1.3rem,3vw,1.75rem);font-weight:700;margin:2.5rem 0 1rem;color:#13327A;letter-spacing:-.01em}
.ac-content h3{font-size:1.2rem;font-weight:600;margin:1.75rem 0 .6rem;color:#13327A}
.ac-content p{margin-bottom:1.25rem;color:#5C6B8A;font-size:1.05rem}
.ac-content strong{color:#13327A;font-weight:600}
.ac-content ul,.ac-content ol{margin:0 0 1.5rem 1.5rem;color:#5C6B8A}
.ac-content li{margin-bottom:.6rem;line-height:1.7}
.ac-content a{color:#1E50C8;font-weight:500}
.ac-content a.btn{font-weight:600;text-decoration:none}
.ac-content a.btn-primary,.ac-content a.btn-primary:hover,.ac-content a.btn-outline:hover{color:#fff}
.ac-formula{background:#F4F7FE;border:1px solid #E3E9F5;border-radius:14px;padding:1.1rem 1.4rem;margin:1.5rem 0;font-weight:600;color:#13327A;font-size:1.05rem}
.ac-formula small{display:block;font-weight:400;color:#5C6B8A;font-size:.9rem;margin-top:.35rem}
.mono{font-variant-numeric:tabular-nums}

.table-wrap{overflow-x:auto;margin:1.5rem 0;-webkit-overflow-scrolling:touch}
.data-table{width:100%;border-collapse:collapse;border-radius:14px;overflow:hidden;font-variant-numeric:tabular-nums}
.data-table:has(th:nth-child(4)){min-width:520px}
.data-table thead{background:#0C1B3A;color:#fff}
.data-table th{padding:.8rem 1rem;text-align:left;font-size:.85rem;font-weight:600}
.data-table td{padding:.75rem 1rem;font-size:.92rem;color:#5C6B8A;border-bottom:1px solid #E3E9F5;vertical-align:top}
.data-table tr:nth-child(even) td{background:#F4F7FE}
.data-table td:first-child{font-weight:600;color:#13327A}
.data-table .total-row td{background:#EAF0FE;font-weight:700;color:#13327A}

.ac-box{border-radius:14px;padding:1.4rem 1.6rem;margin:2rem 0;border:1px solid #E3E9F5}
.ac-box>h2,.ac-box>h3{margin-top:0 !important;font-size:1.15rem !important}
.ac-box p:last-child,.ac-box ul:last-child,.ac-box ol:last-child{margin-bottom:0}
.ac-objective{background:#E6F6FE;border-color:#E6F6FE}
.ac-objective h2{color:#0E76B0 !important;font-size:.8rem !important;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.4rem !important}
.ac-objective p{color:#13327A !important;font-weight:500}
.ac-example{background:#F4F7FE}
.ac-mistakes{background:#FFF9EC;border-color:#FFF9EC}
.ac-mistakes h2{color:#8A6510 !important}
.ac-mistakes li strong{color:#8A6510}
.ac-exercise{background:#fff;border:2px solid #1E50C8}
.ac-exercise h2{color:#1E50C8 !important}
details.ac-answer{margin-top:1rem;border-top:1px solid #E3E9F5;padding-top:1rem}
details.ac-answer summary{cursor:pointer;font-weight:600;color:#1E50C8;list-style:none;display:inline-block}
details.ac-answer summary::-webkit-details-marker{display:none}
details.ac-answer summary::before{content:'+ '}
details.ac-answer[open] summary::before{content:'− '}
details.ac-answer>div{margin-top:.9rem}

.ac-steps{list-style:none;margin:1.5rem 0 !important;display:flex;flex-direction:column;gap:1rem;counter-reset:st}
.ac-steps li{display:flex;gap:1rem;align-items:flex-start;background:#F4F7FE;border:1px solid #E3E9F5;border-radius:14px;padding:1.1rem 1.25rem;margin:0 !important;counter-increment:st}
.ac-steps li::before{content:counter(st);background:#1E50C8;color:#fff;font-weight:700;min-width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.95rem}
.ac-steps strong{display:block;margin-bottom:.2rem}
.ac-steps p{margin:0 !important;font-size:.98rem !important}

.checklist{list-style:none;margin:1rem 0 1.5rem !important}
.checklist li{padding:.7rem .25rem;border-bottom:1px solid #E3E9F5;color:#5C6B8A;font-size:.98rem;display:flex;align-items:flex-start;gap:.75rem;margin:0 !important}
.checklist li:last-child{border-bottom:none}
.checklist li::before{content:'☐';font-size:1.1rem;color:#1E50C8;flex-shrink:0;line-height:1.5}

.ac-print{border:1px solid #E3E9F5;border-radius:14px;padding:1.4rem 1.6rem;margin:2rem 0}
.ac-print-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.ac-print-head h2{margin:0 !important;font-size:1.2rem !important}
.ac-print-only{display:none}

.ac-download{display:flex;gap:1.25rem;align-items:center;background:#F4F7FE;border:1px solid #E3E9F5;border-radius:14px;padding:1.25rem 1.4rem;margin:2rem 0;flex-wrap:wrap}
.ac-download-icon{width:48px;height:48px;border-radius:14px;background:#E9F8F0;color:#0F7A4E;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;flex-shrink:0}
.ac-download-body{flex:1 1 240px}
.ac-download-body h3{margin:0 0 .25rem !important;font-size:1.05rem !important}
.ac-download-body p{margin:0 !important;font-size:.92rem !important}

.ac-deeper{background:#F4F7FE;border-radius:14px;padding:1.25rem 1.5rem;margin:2rem 0}
.ac-deeper h2{font-size:1rem !important;margin:0 0 .6rem !important}
.ac-deeper ul{margin:0 0 0 1.2rem !important}
.ac-deeper li{margin-bottom:.35rem !important}

.ac-role{background:#fff;border:1px solid #E3E9F5;border-radius:14px;padding:1.25rem 1.4rem;margin:2.5rem 0 1rem}
.ac-role-q{font-weight:600;color:#13327A;margin-bottom:.8rem !important;font-size:1rem !important}
.ac-role-opts{display:flex;flex-wrap:wrap;gap:.5rem}
.ac-role-opts button{font-family:inherit;font-size:.88rem;font-weight:500;color:#13327A;background:#F4F7FE;border:1px solid #E3E9F5;border-radius:999px;padding:.5rem .95rem;cursor:pointer}
.ac-role-opts button:hover{border-color:#1E50C8}
.ac-role-opts button[aria-pressed="true"]{background:#1E50C8;border-color:#1E50C8;color:#fff}
.ac-role-note{font-size:.82rem !important;color:#5C6B8A;margin:.7rem 0 0 !important}

.ac-cta{background:#EAF0FE;border:1px solid #E3E9F5;border-radius:14px;padding:1.75rem;margin:1rem 0 2rem}
.ac-cta h2,.ac-cta h3{color:#13327A;margin:0 0 .6rem !important;font-size:1.3rem !important}
.ac-cta p{margin-bottom:1.1rem !important;color:#5C6B8A}
.ac-cta .btn{margin:.25rem .5rem .25rem 0}
.ac-share{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;border-top:1px solid #E3E9F5;padding-top:1.25rem;margin-top:1.5rem}
.ac-share p{margin:0 !important;font-size:.95rem !important;flex:1 1 240px}
.ac-share-btns{display:flex;gap:.5rem;flex-wrap:wrap}
.ac-share-btns button,.ac-share-btns a{font-family:inherit;font-size:.88rem;font-weight:600;color:#1E50C8;background:#fff;border:1px solid #C7D4F2;border-radius:8px;padding:.55rem .9rem;cursor:pointer;text-decoration:none}

.ac-complete{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;background:#F4F7FE;border-radius:14px;padding:1.1rem 1.4rem;margin:2rem 0}
.ac-complete p{margin:0 !important;flex:1 1 220px;font-size:.95rem !important}
.ac-complete button[aria-pressed="true"]{background:#E9F8F0;color:#0F7A4E;border-color:#E9F8F0}
.ac-done-msg{background:#E9F8F0;color:#0F7A4E;border-radius:14px;padding:1rem 1.25rem;margin:0 0 2rem;font-weight:600}
.ac-done-msg a{color:#0F7A4E}

.ac-pager{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2.5rem}
.ac-pager a{display:block;border:1px solid #E3E9F5;border-radius:14px;padding:1rem 1.2rem;text-decoration:none;color:#13327A}
.ac-pager a:hover{border-color:#1E50C8}
.ac-pager small{display:block;color:#5C6B8A;font-size:.8rem;margin-bottom:.2rem}
.ac-pager span{font-weight:600;font-size:.95rem}
.ac-pager .next{text-align:right;grid-column:2}

.sidebar{position:sticky;top:96px;align-self:start}
.sidebar-section{background:#fff;border-radius:14px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 2px rgba(19,50,122,.06),0 8px 24px rgba(19,50,122,.06)}
.sidebar-section h2{font-size:1rem;font-weight:700;margin-bottom:.25rem;color:#13327A}
.sidebar-section h2 a{color:inherit;text-decoration:none}
.sidebar-section .ac-sub{font-size:.82rem;color:#5C6B8A;margin-bottom:1rem}
.ac-progress{height:6px;background:#E3E9F5;border-radius:999px;overflow:hidden;margin:.5rem 0 1rem}
.ac-progress span{display:block;height:100%;width:0;background:#1E50C8;transition:width .3s}
.ac-modules{list-style:none;counter-reset:md}
.ac-modules li{counter-increment:md}
.ac-modules a,.ac-modules .cur{display:flex;gap:.6rem;padding:.5rem .4rem;border-radius:8px;text-decoration:none;font-size:.87rem;color:#5C6B8A;line-height:1.4}
.ac-modules a:hover{background:#F4F7FE;color:#13327A}
.ac-modules a::before,.ac-modules .cur::before{content:counter(md);min-width:22px;height:22px;border-radius:50%;border:1px solid #C7D4F2;font-size:.72rem;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#1E50C8;background:#fff}
.ac-modules .cur{background:#F4F7FE;color:#13327A;font-weight:600}
.ac-modules .cur::before{background:#1E50C8;border-color:#1E50C8;color:#fff}
.ac-modules .done::before{content:'✓';background:#E9F8F0;border-color:#E9F8F0;color:#0F7A4E}

/* Home y páginas de curso */
.ac-hero{padding:1rem 5% 2.5rem;max-width:1200px;margin:0 auto}
.ac-hero h1{max-width:820px}
.ac-hero .ac-lead{max-width:760px}
.ac-hero-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}
.ac-section-title{font-size:clamp(1.3rem,3vw,1.75rem);font-weight:700;margin:0 0 .5rem;color:#13327A}
.ac-section-sub{color:#5C6B8A;margin-bottom:1.5rem}
.ac-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem}
.ac-card{background:#fff;border:1px solid #E3E9F5;border-radius:14px;padding:1.5rem;display:flex;flex-direction:column;gap:.6rem;text-decoration:none;color:#13327A;transition:border-color .2s,box-shadow .2s}
a.ac-card:hover{border-color:#1E50C8;box-shadow:0 1px 2px rgba(19,50,122,.06),0 8px 24px rgba(19,50,122,.06)}
.ac-card .ac-tag{align-self:flex-start;font-size:.72rem;font-weight:600;padding:.3rem .65rem;border-radius:999px;background:#E6F6FE;color:#0E76B0}
.ac-card h3{font-size:1.1rem;font-weight:700;line-height:1.35;margin:0}
.ac-card p{color:#5C6B8A;font-size:.93rem;margin:0}
.ac-card .ac-card-meta{font-size:.82rem;color:#5C6B8A;margin-top:auto;padding-top:.5rem;border-top:1px solid #E3E9F5}
.ac-card .ac-card-go{font-weight:600;color:#1E50C8;font-size:.92rem}
.ac-card-progress{font-size:.8rem;font-weight:600;color:#0F7A4E}
.ac-lessons{list-style:none;display:flex;flex-direction:column;gap:.75rem;margin:0 !important}
.ac-lessons li{margin:0 !important}
.ac-lessons a{display:flex;gap:1rem;align-items:flex-start;border:1px solid #E3E9F5;border-radius:14px;padding:1rem 1.2rem;text-decoration:none;background:#fff}
.ac-lessons a:hover{border-color:#1E50C8}
.ac-lessons .n{min-width:34px;height:34px;border-radius:50%;background:#EAF0FE;color:#1E50C8;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.9rem}
.ac-lessons .done .n{background:#E9F8F0;color:#0F7A4E}
.ac-lessons .t{display:block;font-weight:600;color:#13327A;line-height:1.4}
.ac-lessons .d{display:block;color:#5C6B8A;font-size:.9rem;margin-top:.15rem}
.ac-lessons .m{display:block;color:#5C6B8A;font-size:.8rem;margin-top:.3rem}
.ac-two{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.ac-note{font-size:.88rem;color:#5C6B8A}

/* Calculadora de arqueo */
.ac-calc{border:1px solid #E3E9F5;border-radius:14px;padding:1.4rem 1.6rem;margin:2rem 0;background:#fff}
.ac-calc h2{margin-top:0 !important;font-size:1.2rem !important}
.ac-calc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;margin:1rem 0}
.ac-calc label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;font-weight:600;color:#13327A}
.ac-calc input{font-family:inherit;font-size:1rem;padding:.6rem .7rem;border:1px solid #C7D4F2;border-radius:8px;color:#13327A;width:100%;font-variant-numeric:tabular-nums}
.ac-calc-out{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;margin-top:1rem}
.ac-calc-out div{background:#F4F7FE;border-radius:14px;padding:.85rem 1rem}
.ac-calc-out small{display:block;font-size:.78rem;color:#5C6B8A}
.ac-calc-out b{font-size:1.2rem;font-variant-numeric:tabular-nums}
.ac-calc-out .ok{background:#E9F8F0;color:#0F7A4E}
.ac-calc-out .bad{background:#FBECEE;color:#B23A48}
.ac-calc-out .warn{background:#FFF9EC;color:#8A6510}

footer{background:#0C1B3A;color:#fff;padding:4rem 5% 2rem}
.footer-content{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.footer-section h4{font-size:1.05rem;font-weight:700;margin-bottom:1.25rem;color:#fff}
.footer-section p{color:rgba(255,255,255,.75);line-height:1.6;font-size:.95rem}
.footer-section ul{list-style:none}
.footer-section li{margin-bottom:.7rem}
.footer-section a{color:rgba(255,255,255,.75);text-decoration:none}
.footer-section a:hover{color:#fff}
.footer-bottom{max-width:1400px;margin:0 auto;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);text-align:center;color:rgba(255,255,255,.75);font-size:.9rem}

@media (max-width:900px){.ac-container{grid-template-columns:1fr}.sidebar{position:static}.footer-content{grid-template-columns:1fr 1fr}.ac-two{grid-template-columns:1fr}}
@media (max-width:560px){nav{padding:1rem 16px}.nav-buttons{gap:.5rem}.nav-buttons .btn{padding:.55rem .8rem;font-size:.8rem}.nav-buttons .btn-outline{display:none}.nav-logo span{display:none}
.breadcrumb,.ac-hero{padding-left:16px;padding-right:16px}.ac-container,.ac-wide{padding-left:16px;padding-right:16px}
.footer-content{grid-template-columns:1fr}.ac-pager{grid-template-columns:1fr}.ac-pager .next{grid-column:1}.ac-grid{grid-template-columns:1fr}
.ac-box,.ac-print,.ac-calc,.ac-cta{padding:1.15rem}.ac-content ul,.ac-content ol{margin-left:1.1rem}}

@media print{
  header,footer,.breadcrumb,.sidebar,.ac-no-print,#catiOpen,[id^="cata"]{display:none !important}
  body{background:#fff}
  body.ac-printing *{visibility:hidden}
  body.ac-printing .ac-printing-target,body.ac-printing .ac-printing-target *{visibility:visible}
  body.ac-printing .ac-printing-target{position:absolute;left:0;top:0;width:100%;border:none !important;margin:0 !important;padding:0 !important}
  body.ac-printing article{box-shadow:none}
  .ac-printing-target .ac-print-only{display:block}
  .ac-printing-target button{display:none !important}
  .checklist li{color:#13327A;font-size:12pt;padding:.45rem 0}
}
