/* V54 · Coste total de software. Alcance limitado a la guía. */
.tco54{--tco-ink:#183a4f;--tco-accent:#086982;--tco-line:#d5e6ec;color:var(--tco-ink);min-width:0;overflow-wrap:anywhere}
.tco54 *{box-sizing:border-box}.tco54-wrap{width:min(1120px,calc(100% - 36px));min-width:0;margin:0 auto}
.tco54-hero{background:linear-gradient(120deg,#e8f7f9,#fff 56%,#eff4fa);padding:63px 0 56px;border-bottom:1px solid var(--tco-line)}
.tco54-hero-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,.8fr);gap:40px;align-items:center}
.tco54-kicker{font-size:.78rem;letter-spacing:.075em;color:#06728a;text-transform:uppercase;font-weight:800}
.tco54 h1{font-size:clamp(2rem,4.2vw,3.48rem);line-height:1.13;margin:15px 0 19px;letter-spacing:-.035em;color:#103147}
.tco54 h2{font-size:clamp(1.55rem,2.6vw,2.16rem);line-height:1.21;margin:11px 0 18px;color:#15364a}
.tco54 h3{font-size:1.19rem;margin:0 0 10px;color:#183e55}.tco54 p,.tco54 li{line-height:1.65}
.tco54-lead{max-width:700px;font-size:1.15rem}.tco54-note{font-size:.88rem;color:#516c78}.tco54 a{color:#086982}
.tco54-feature{background:white;border:1px solid var(--tco-line);padding:26px;border-radius:19px;box-shadow:0 15px 32px rgba(20,51,72,.07);min-width:0}
.tco54-feature h2{font-size:1.49rem}.tco54-feature p{font-size:.95rem}
.tco54-actions{display:flex;flex-wrap:wrap;gap:11px;margin:22px 0}
.tco54-btn{font:inherit;font-size:.94rem;font-weight:750;border:1px solid #076e8a;border-radius:10px;padding:11px 17px;min-height:45px;text-decoration:none!important;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;line-height:1.3}
.tco54-primary{background:#086e87;color:#fff!important}.tco54-secondary{background:#fff;color:#076982!important}.tco54-btn:hover{filter:brightness(.96)}
.tco54-btn:focus-visible,.tco54 a:focus-visible,.tco54 input:focus-visible,.tco54 select:focus-visible,.tco54 summary:focus-visible{outline:3px solid #e1a841;outline-offset:3px}
.tco54-btn:disabled{opacity:.48;cursor:not-allowed}
.tco54-main{padding-bottom:65px}.tco54-nav{display:flex;flex-wrap:wrap;gap:9px;padding:17px 0 24px;border-bottom:1px solid var(--tco-line)}.tco54-nav a{padding:8px 11px;background:#edf8fa;border-radius:8px;font-weight:750;text-decoration:none;font-size:.89rem}
.tco54-section{padding:45px 0;border-bottom:1px solid #e1ebef;scroll-margin-top:20px}.tco54-section>p{max-width:930px}
.tco54-table-frame{min-width:0;max-width:100%;width:100%;overflow-x:auto;overscroll-behavior-inline:contain;border:1px solid var(--tco-line);border-radius:13px;margin:23px 0;outline-offset:4px}
.tco54-table{min-width:740px;width:100%;border-collapse:collapse;font-size:.92rem}.tco54-table caption{text-align:left;padding:11px 14px;font-size:.84rem;color:#53707d}
.tco54-table th,.tco54-table td{padding:12px 14px;vertical-align:top;border-bottom:1px solid #e4edef;text-align:left;white-space:normal;overflow-wrap:normal}
.tco54-table th{font-weight:750;color:#234c60}.tco54-table thead{background:#e8f5f8}.tco54-table tbody tr:nth-child(even){background:#f7fbfc}.tco54-table tbody tr:last-child td,.tco54-table tbody tr:last-child th{border-bottom:0}
.tco54-source{border-left:4px solid #0c7f9d;border-radius:0 10px 10px 0;background:#ebf8fa;padding:18px 22px;line-height:1.64;margin:22px 0}.tco54-source a{word-break:break-word}
.tco54-two,.tco54-budgets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:22px 0}
.tco54-panel{border:1px solid var(--tco-line);border-radius:14px;padding:22px;min-width:0}.tco54-panel p{margin:10px 0}
.tco54-tool{background:#f2fafb;border:1px solid #cfe6ed;padding:25px;border-radius:17px;margin-top:22px;min-width:0}
.tco54-settings{display:flex;align-items:end;flex-wrap:wrap;gap:14px}.tco54-settings label{width:170px}.tco54-settings p{font-size:.9rem;max-width:660px;margin:0 0 7px}
.tco54-budget{margin:0;min-width:0;border:1px solid #d4e5e9;border-radius:13px;padding:19px;background:#fff}
.tco54-budget legend{padding:0 8px;font-size:1.2rem;font-weight:800;color:#16405a}
.tco54-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.tco54 label{display:flex;flex-direction:column;gap:7px;font-weight:700;font-size:.91rem;line-height:1.38}
.tco54 input,.tco54 select{width:100%;max-width:100%;font:inherit;background:#fff;color:#152f45;border:1px solid #a8c9d4;border-radius:9px;padding:9px 11px;min-height:45px;font-weight:500}
.tco54-output{background:#fff;border:1px solid #cae0e6;border-radius:12px;padding:17px 19px;margin:20px 0 15px;min-width:0}
.tco54-output>p{margin:9px 0}.tco54-output .tco54-table-frame{margin:18px 0 10px}
.tco54-alert{background:#fff5ee;border:1px solid #d49a7a;border-radius:10px;padding:14px 17px;color:#75350e;margin:16px 0}
.tco54-checklist{list-style:none;counter-reset:step;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 19px;margin:23px 0;padding:0}
.tco54-checklist li{counter-increment:step;border:1px solid var(--tco-line);padding:15px 15px 15px 53px;border-radius:11px;position:relative;background:white;min-width:0}
.tco54-checklist li:before{content:counter(step);position:absolute;left:14px;top:15px;width:29px;height:29px;border-radius:7px;background:#e5f5f8;color:#086a86;font-weight:800;display:grid;place-items:center}
.tco54-faq details{border:1px solid var(--tco-line);border-radius:10px;margin:10px 0;background:white}.tco54-faq summary{cursor:pointer;padding:17px 19px;font-weight:750}.tco54-faq details p{padding:0 19px 18px;margin:0}
.tco54-finish{background:#edf8fa;border-radius:16px;padding:29px;border:1px solid var(--tco-line);margin:38px 0 0}
@media(max-width:920px){.tco54-hero-grid{grid-template-columns:minmax(0,1fr)}.tco54-fields{grid-template-columns:minmax(0,1fr)}.tco54-feature{max-width:680px}}
@media(max-width:740px){.tco54-wrap{width:calc(100% - 28px)}.tco54-hero{padding:40px 0 35px}.tco54 h1{font-size:clamp(1.85rem,8.6vw,2.65rem)}.tco54-budgets,.tco54-two,.tco54-checklist{grid-template-columns:minmax(0,1fr)}.tco54-section{padding:32px 0}.tco54-tool{padding:15px}.tco54-budget{padding:15px}.tco54-feature{padding:20px}.tco54-finish{padding:19px}.tco54-table{font-size:.85rem}.tco54-table th,.tco54-table td{padding:10px 12px}}
@media(max-width:355px){.tco54-wrap{width:calc(100% - 24px)}.tco54-actions .tco54-btn{width:100%}.tco54-lead{font-size:1.05rem}.tco54-nav a{font-size:.83rem}}
