/* Guía autónoma. Comparte fuentes e iconos locales, sin el panel administrativo. */
.guide-site { color: #254957; background: radial-gradient(ellipse at 0 0,#d5efe7,transparent 60%),#eaf0f5; }
.academy-header { display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px max(24px,calc((100vw - 1300px)/2));background:#173f54;color:#fff;border-bottom:1px solid #497a83; }
.academy-brand { display:flex;align-items:center;gap:12px;color:#f1fbf5;text-decoration:none; }
.academy-brand:hover { color:#fff; }
.academy-brand > span { display:grid;place-items:center;background:#e6c681;color:#315955;border-radius:13px;width:44px;height:46px;box-shadow:0 3px 0 #0e2d40; }
.academy-brand strong { font-size:.96rem;letter-spacing:.075em; }
.academy-brand small { display:block;font-size:.7rem;font-weight:400;letter-spacing:.025em;color:#a6c7cc;margin-top:3px; }
.academy-header .btn { background:#ffffff0e;border-color:#91b3b74d;color:#e9f6f8;font-size:.8rem; }
.academy-main { max-width:1300px;margin:auto;padding:34px 24px 48px; }
.academy-hero { display:flex;align-items:center;justify-content:space-between;gap:32px;padding:50px 52px;border-radius:26px;background:linear-gradient(110deg,#173e59,#1e666b 68%,#47846d);color:#fff;box-shadow:0 7px 0 #aec8ca,0 22px 50px #143e5920;overflow:hidden;position:relative; }
.academy-kicker { display:block;color:#e6c887;font-size:.66rem;letter-spacing:.16em;font-weight:700;margin-bottom:12px; }
.academy-hero h1 { font-size:clamp(2.15rem,4vw,3.6rem);font-weight:720;line-height:1.09;letter-spacing:-.045em;color:#f6fbfa;margin:0 0 22px; }
.academy-hero p { max-width:600px;color:#d0e6e7;font-size:1rem;line-height:1.75; }
.academy-pills { display:flex;flex-wrap:wrap;gap:10px;margin-top:24px; }
.academy-pills span { display:flex;align-items:center;gap:7px;border:1px solid #a7d4c735;background:#194f583b;padding:9px 12px;border-radius:30px;font-size:.7rem;color:#e8f6ee; }
.academy-pills .icon { width:15px;height:15px; }
.academy-emblem { flex-shrink:0;width:232px;height:232px;border:1px solid #b2d5be4d;border-radius:50%;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#27636c66;box-shadow:inset 0 0 0 18px #7aa68b16,0 15px 35px #123f5326; }
.academy-emblem .icon { width:45px;height:45px;color:#e5c784; }
.academy-emblem strong { font-size:3.4rem;font-weight:650;line-height:1;color:#f5ecd8;margin-top:10px; }
.academy-emblem small { display:block;font-size:.7rem;font-weight:400;margin-top:8px;text-align:center;color:#c7dfda; }
.academy-orbit { position:absolute;inset:-18px;border:1px dashed #b3d6c63d;border-radius:50%; }
.academy-intro { display:flex;justify-content:space-between;gap:30px;align-items:center;margin:50px 0 22px; }
.academy-intro h2 { margin:9px 0;font-size:1.65rem;letter-spacing:-.035em; }
.academy-intro p { max-width:700px;color:#5c7583;font-size:.88rem; }
.academy-search { display:flex;align-items:center;gap:9px;min-width:280px;background:#fff;border:1px solid #bdceda;border-radius:12px;padding:0 14px; }
.academy-search input { background:transparent;border:0;outline:none;min-width:0;width:100%;padding:13px 0;font-size:.85rem; }
.academy-search:focus-within { outline:2px solid #528c8b;outline-offset:2px; }
.academy-map { display:flex;flex-wrap:wrap;gap:12px 26px;margin:0 0 28px;color:#557281;font-size:.78rem; }
.academy-map b { display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#d5e5df;color:#337566;margin-right:6px; }
.academy-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px; }
.academy-card { padding:24px;border:1px solid #bdd4da;border-top:3px solid #397c73;border-radius:18px;background:linear-gradient(115deg,#f5faf9,#e3efeb);box-shadow:0 4px 0 #bdcfd755,0 9px 20px #294d5710; }
.academy-card:nth-child(3n+2) { border-top-color:#647dae;background:linear-gradient(115deg,#f3f6fc,#e1e9f5); }
.academy-card:nth-child(3n+3) { border-top-color:#b19a65;background:linear-gradient(115deg,#faf8f0,#eee8d7); }
.academy-card-top { display:flex;align-items:center;justify-content:space-between;gap:12px; }
.academy-card-icon { display:grid;place-items:center;width:42px;height:42px;color:#347969;background:#cfe4da;border-radius:12px; }
.academy-card-count { font-size:.68rem;color:#5f7b83; }
.academy-card h3 { margin:20px 0;font-size:1.09rem;font-weight:650; }
.academy-card .field { font-size:.72rem; }
.academy-card select { width:100%;min-width:0;font-size:.85rem;background-color:#fff;border-color:#c2d3da; }
.academy-card .btn { width:100%;margin-top:18px;justify-content:space-between;font-size:.8rem;background:#2d6f70;border-color:#2d6f70;box-shadow:0 3px 0 #1a4d55; }
.academy-how { margin-top:32px;padding:30px;border:1px solid #c2d2da;border-radius:20px;background:#dfe9f0; }
.academy-how h2 { font-size:1.24rem;margin-bottom:18px; }
.academy-how > div { display:grid;grid-template-columns:repeat(3,1fr);gap:26px; }
.academy-how p { font-size:.84rem;color:#5a7480;line-height:1.7;margin:0; }
.academy-how strong { display:block;color:#315967; }
.academy-footer { padding:24px;text-align:center;color:#67838e;font-size:.73rem;border-top:1px solid #c7d7df; }
.academy-empty { padding:32px;text-align:center;color:#657c87; }
.guide-site [hidden] { display:none !important; }
.academy-dialog { padding:0;border:1px solid #aec6ce;border-radius:22px;width:min(1160px,calc(100vw - 44px));max-width:1160px;height:min(850px,calc(100dvh - 44px));max-height:calc(100dvh - 44px);background:#f0f5f8;color:#294e5c;box-shadow:0 24px 80px #102c5277; }
.academy-dialog::backdrop { background:#12334cc2; }
.academy-dialog-shell { height:100%;display:flex;flex-direction:column;min-height:0; }
.academy-dialog-head { display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 26px;background:linear-gradient(105deg,#204957,#347466);color:#f4faf7;border-bottom:1px solid #77a294;flex-shrink:0; }
.academy-dialog-head h2 { margin:0;font-size:1.2rem;color:#f4fbf8; }
.academy-dialog-head .academy-kicker { margin-bottom:7px; }
.academy-dialog-head .btn { color:#fff;background:#ffffff15;border-color:#ffffff26;font-size:1.5rem; }
.academy-dialog-body { padding:24px;overflow:auto;min-height:0; }
.practice-cases { display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px; }
.practice-case { padding:15px;border:1px solid #c0d4d8;border-radius:12px;background:#e5eef2;color:#395f6d;text-align:left;font-size:.82rem; }
.practice-case small { display:block;color:#6b8490;font-size:.65rem;margin-bottom:5px;text-transform:uppercase;letter-spacing:.1em; }
.practice-case[aria-pressed="true"] { background:#234f61;color:#fff;border-color:#234f61;box-shadow:inset 0 -3px #d7be80; }
.practice-case[aria-pressed="true"] small { color:#b8d6da; }
.practice-progress { display:flex;flex-wrap:wrap;gap:8px;margin:18px 0; }
.practice-progress button { border:1px solid #d1dfe4;border-radius:22px;padding:8px 12px;background:#e9f0f4;color:#597280;font-size:.7rem; }
.practice-progress button[aria-current="step"] { border-color:#6d9e91;background:#daede2;color:#285f4f;font-weight:650; }
.practice-story { border:1px solid #d5d2b3;background:#f5f0df;border-radius:14px;padding:16px 20px;color:#6b6143;font-size:.86rem;line-height:1.65; }
.practice-stage { margin:20px 0;padding:23px;border:1px solid #c6d8df;border-radius:16px;background:#fafdfd; }
.practice-stage h3 { font-size:1.18rem;color:#2b5868; }
.practice-stage > p { color:#5c7783;font-size:.85rem;line-height:1.7; }
.practice-before li { margin:10px 0;color:#526d79;font-size:.87rem; }
.practice-mode { display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border-radius:30px;background:#d8ebe0;color:#2e6955;font-size:.67rem;font-weight:650; }
.practice-fields { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:22px 0; }
.practice-field-wide { grid-column:1/-1; }
.practice-field-heading { font-size:.84rem;font-weight:650;margin-bottom:12px; }
.practice-complex-row { padding:14px;background:#f7fbfc;border:1px solid #cbdde3;border-radius:11px;margin-bottom:12px; }
.practice-complex-fields { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px; }
.practice-complex-fields label { display:flex;flex-direction:column;gap:7px;font-size:.74rem;min-width:0;color:#446979; }
.practice-field { padding:16px;background:#edf4f6;border:1px solid #d2e1e5;border-radius:12px;min-width:0; }
.practice-field > label { display:flex;flex-direction:column;gap:8px;font-size:.82rem;font-weight:650; }
.practice-field input,.practice-field select,.practice-field textarea { background:#fff;border:1px solid #bad0d9;border-radius:8px;padding:10px;color:#2b5365;font-size:.86rem;font-weight:400;width:100%;min-width:0; }
.practice-field textarea { min-height:84px;resize:vertical; }
.practice-field .field-help { color:#587382;font-size:.76rem;line-height:1.6;margin:10px 0 0; }
.practice-field .field-sample { margin-top:9px;font-size:.72rem;color:#37725e;overflow-wrap:anywhere; }
.practice-field:focus-within { border-color:#57978c;box-shadow:0 0 0 2px #91c0af33; }
.practice-field.invalid { border-color:#bd6e65;background:#faf0ec; }
.practice-buttons { display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid #cedee3; }
.practice-buttons .actions { flex-wrap:wrap; }
.practice-buttons .btn { font-size:.8rem; }
.guide-site .btn.primary { background:#2d7470;border-color:#2d7470;box-shadow:0 3px 0 #1e5258; }
.practice-line-table { width:100%;border-collapse:collapse;font-size:.8rem; }
.practice-line-table th { background:#376577;color:#edf7fa;padding:10px;font-size:.72rem; }
.practice-line-table td { padding:10px;border-bottom:1px solid #cfdee3;vertical-align:top; }
.practice-line-table input { width:100%;min-width:65px;padding:9px;border:1px solid #bcd0d8;border-radius:8px; }
.practice-line-table textarea { width:100%;min-width:140px;min-height:64px;padding:9px;border:1px solid #bcd0d8;border-radius:8px;resize:vertical; }
.practice-line-table th,.practice-line-table td { white-space:normal;overflow-wrap:anywhere; }
.practice-total { font-size:1rem;font-weight:700;color:#296357;background:#ddede3;border:1px solid #c2dcca;border-radius:12px;padding:14px 18px;margin:16px 0; }
.practice-field-guide summary { cursor:pointer;color:#356b79;font-size:.83rem;padding:12px 0; }
.practice-field-guide dl { font-size:.76rem;color:#607984; }
.practice-field-guide dt { color:#325d6b;margin-top:10px; }
.practice-review { display:grid;grid-template-columns:repeat(2,1fr);gap:10px;font-size:.78rem; }
.practice-review > div { padding:12px 14px;background:#edf3f6;border:1px solid #d4e1e5;border-radius:10px;overflow-wrap:anywhere; }
.practice-review dt { color:#647d89;font-size:.7rem;margin-bottom:5px; }
.practice-review dd { margin:0;white-space:pre-wrap; }
.practice-result { padding:22px;border:1px solid #bfd8c3;border-left:4px solid #5f9b6d;border-radius:13px;background:#e6f1e5;margin:18px 0;font-size:.86rem;line-height:1.8; }
.practice-next { display:flex;flex-wrap:wrap;gap:9px;margin:18px 0; }
.practice-notice { padding:13px 15px;background:#e5edf6;border:1px solid #c3d4e5;border-radius:10px;color:#4b6d86;font-size:.78rem;line-height:1.65; }
.practice-validation { color:#956052;font-size:.82rem;padding:12px 0; }
@media(max-width:1000px){.academy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.academy-emblem{display:none}.academy-intro{align-items:flex-start;flex-direction:column}.academy-search{width:100%}.academy-hero{padding:40px}.academy-how>div{grid-template-columns:1fr;gap:18px}}
@media(max-width:640px){.academy-header{padding:16px}.academy-brand strong{font-size:.8rem}.academy-header .btn{font-size:.7rem;padding:9px}.academy-main{padding:22px 16px}.academy-hero{padding:29px 24px;border-radius:20px}.academy-hero p{font-size:.88rem}.academy-grid{grid-template-columns:1fr}.academy-pills{gap:7px}.academy-pills span{font-size:.64rem}.academy-intro{margin-top:36px}.academy-map{gap:10px 15px}.academy-dialog{width:calc(100vw - 14px);height:calc(100dvh - 14px);max-height:calc(100dvh - 14px);border-radius:15px}.academy-dialog-head{padding:16px}.academy-dialog-head h2{font-size:1rem}.academy-dialog-body{padding:14px}.practice-cases{gap:6px}.practice-case{padding:10px;font-size:.72rem}.practice-case small{font-size:.6rem}.practice-fields,.practice-review{grid-template-columns:1fr}.practice-stage{padding:16px}.practice-field input,.practice-field select,.practice-field textarea{font-size:16px}.practice-buttons>.btn,.practice-buttons>.actions{width:100%}.practice-buttons .btn{flex:1}.practice-line-table,.practice-line-table tbody{display:block}.practice-line-table thead{display:none}.practice-line-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid #c7dce2;border-radius:12px;margin-bottom:12px;overflow:hidden}.practice-line-table td{display:block;min-width:0;background:#eaf3f5}.practice-line-table td:first-child,.practice-line-table td:last-child{grid-column:1/-1}.practice-line-table td::before{content:attr(data-label);display:block;font-size:.68rem;color:#526f7c;margin-bottom:6px}.practice-line-table textarea{min-width:0}}
@media(prefers-reduced-motion:reduce){.guide-site *{scroll-behavior:auto!important;transition:none!important}}
