:root{--green:#39A900;--green-dark:#257900;--green-soft:#edf7e9;--bg:#f4f7f4;--surface:#fff;--text:#1f2d24;--muted:#68766d;--line:#dce5de;--blue:#1565c0;--purple:#6a42a0;--orange:#d36b00;--red:#b42318;--shadow:0 14px 40px rgba(25,55,35,.09);--radius:16px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.45 Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.hidden{display:none!important}.modal-open{overflow:hidden}.muted{color:var(--muted)}.tiny{font-size:11px}.num{text-align:right;font-variant-numeric:tabular-nums}.center{text-align:center}.full{grid-column:1/-1}.clamp{max-width:420px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.code{font-family:Consolas,monospace}.app-shell{min-height:100vh}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 28px;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-logo{width:54px;height:45px;object-fit:contain;display:block;flex:none}.hero-logo{width:96px;height:auto;display:block;margin:0 auto 12px;filter:drop-shadow(0 5px 12px rgba(57,169,0,.12))}.brand-copy{min-width:0}.brand-copy strong{display:block;font-size:16px}.brand-copy span{display:block;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn{border:0;border-radius:10px;background:var(--green);color:#fff;padding:10px 15px;font-weight:700;box-shadow:0 3px 0 rgba(0,0,0,.06)}.btn:hover{background:var(--green-dark)}.btn.secondary{background:#fff;color:var(--text);border:1px solid var(--line);box-shadow:none}.btn.secondary:hover{background:#f7faf7}.btn.danger{background:#fff1f0;color:var(--red);border:1px solid #f3c6c1}.load-shell{max-width:1020px;margin:0 auto;padding:46px 24px 80px}.hero{text-align:center;margin:12px auto 30px;max-width:760px}.hero-badge{display:inline-block;padding:6px 10px;border-radius:999px;background:var(--green-soft);color:var(--green-dark);font-weight:800;font-size:12px}.hero h1{font-size:34px;line-height:1.15;margin:14px 0 10px}.hero p{font-size:16px;color:var(--muted);margin:0}.dropzone{background:#fff;border:2px dashed #a8c8aa;border-radius:20px;padding:46px 24px;text-align:center;box-shadow:var(--shadow);transition:.2s}.dropzone.drag{border-color:var(--green);background:#f2faef;transform:translateY(-1px)}.drop-icon{width:66px;height:66px;border-radius:18px;background:var(--green-soft);color:var(--green-dark);display:grid;place-items:center;margin:0 auto 16px;font-size:28px;font-weight:900}.dropzone h2{margin:0 0 8px;font-size:22px}.dropzone p{color:var(--muted);margin:0 0 18px}.privacy-strip{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin:20px 0;color:var(--muted);font-size:12px}.privacy-strip span:before{content:'✓';color:var(--green);font-weight:900;margin-right:5px}.selected-files{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}.file-row{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px}.file-icon{width:42px;height:42px;border-radius:8px;display:grid;place-items:center;background:#fff0ef;color:#b42318;font-weight:900;font-size:11px}.file-info{min-width:0;flex:1}.file-info strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-info span{font-size:11px;color:var(--muted)}.icon-btn{border:0;background:transparent;color:var(--muted);font-size:22px;padding:4px 8px}.file-actions{margin-top:12px;display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px}.file-actions>div{display:flex;gap:8px}.library-callout{margin-top:24px;text-align:center}.nav{display:flex;gap:4px;overflow:auto;padding:10px 24px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:68px;z-index:15}.nav-btn{border:0;background:transparent;color:var(--muted);padding:9px 12px;border-radius:9px;white-space:nowrap;font-weight:700}.nav-btn:hover{background:#f2f6f2}.nav-btn.active{background:var(--green-soft);color:var(--green-dark)}.workspace{max-width:1480px;margin:0 auto;padding:24px 24px 70px}.page-head{display:flex;justify-content:space-between;align-items:end;gap:14px;margin:0 0 16px}.page-head h2{margin:0;font-size:23px}.page-head p{margin:4px 0 0;color:var(--muted)}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;min-height:96px;display:flex;flex-direction:column;justify-content:space-between}.stat-card span{color:var(--muted);font-weight:700}.stat-card strong{font-size:27px}.stat-card.tech{border-left:4px solid var(--green)}.stat-card.trans{border-left:4px solid var(--purple)}.stat-card.english{border-left:4px solid var(--blue)}.stat-card.practice{border-left:4px solid var(--orange)}.section-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-top:18px}.section-card h3{margin:0 0 12px}.recent-list{display:grid;gap:8px}.recent-card{width:100%;border:1px solid var(--line);background:#fff;border-radius:11px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;text-align:left}.recent-card:hover{border-color:#a8c8aa;background:#fbfdfb}.recent-card strong,.recent-card span{display:block}.recent-card span{font-size:12px;color:var(--muted);margin-top:2px}.recent-card .arrow{font-size:20px;color:var(--green);margin:0}.filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.filters input,.filters select,.search-wide{height:39px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 11px;color:var(--text)}.filters input{min-width:260px;flex:1}.filters select{min-width:180px}.count-badge{display:inline-grid;place-items:center;min-width:28px;height:25px;padding:0 7px;border-radius:999px;background:#eef2ef;color:#455249;font-size:12px;font-weight:800}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff}table{width:100%;border-collapse:collapse}th,td{padding:10px 11px;border-bottom:1px solid #e7ece8;vertical-align:top;text-align:left}th{background:#f4f6f4;color:#47534b;font-size:12px;position:sticky;top:0;z-index:1}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfdfb}.actions{white-space:nowrap}.mini-btn{border:1px solid var(--line);background:#fff;border-radius:7px;padding:5px 8px;color:#344238;margin:1px}.mini-btn:hover{border-color:#99bd9d}.mini-btn.danger{color:var(--red)}.pill{display:inline-block;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;white-space:nowrap}.pill.green{background:#eaf7e6;color:#277400}.pill.blue{background:#e9f2ff;color:#135cae}.pill.purple{background:#f1ebf9;color:#694099}.pill.orange{background:#fff1e4;color:#b25700}.pill.gray{background:#eef1ef;color:#58625c}.ra-badge{display:inline-grid;place-items:center;min-width:34px;height:24px;padding:0 7px;border-radius:7px;background:#edf4ff;color:#1c5da8;font-weight:800;font-size:11px;flex:none}.empty{padding:28px;text-align:center;color:var(--muted)}.profiles-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.profile-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px}.profile-card header{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:10px}.profile-card header span,.profile-card header strong{display:block}.profile-card header>div>span{color:var(--muted);font-size:11px}.profile-program-title{font-size:12px;font-weight:800;color:var(--green-dark);margin:0 0 3px;line-height:1.25}.profile-section{border-left:3px solid #c9d7cb;padding:6px 0 6px 10px;margin:9px 0}.profile-section p{margin:4px 0 0;color:#475249}.compare-selectors{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.compare-selectors select{height:42px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 10px}.compare-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:14px}.compare-kpis>div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px;text-align:center}.compare-kpis span{display:block;color:var(--muted);font-size:11px}.compare-kpis strong{font-size:20px}.compare-columns{display:grid;grid-template-columns:1.2fr .8fr;gap:12px}.compare-columns section{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px}.compare-columns h3{margin-top:0}.exclusive-box h4{margin:16px 0 6px}.exclusive-box p{margin:5px 0;padding:6px 0;border-bottom:1px dotted var(--line)}.search-box{display:flex;gap:8px;margin-bottom:12px}.search-box input{height:44px;flex:1;border:1px solid var(--line);border-radius:10px;padding:0 13px;font-size:15px}.search-result{background:#fff;border:1px solid var(--line);border-radius:11px;padding:12px 14px;margin-bottom:8px}.search-result-top{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:12px}.search-result p{margin:8px 0 4px}.search-result small{color:var(--muted)}mark{background:#fff19b;border-radius:3px;padding:0 2px}.export-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.export-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:10px}.export-card h3{margin:0}.export-card p{margin:0;color:var(--muted);min-height:42px}.export-card.primary{border:2px solid #9ac99c;background:#fbfefb}.export-card .btn{align-self:flex-start}.danger-zone{border-color:#f0cbc7}.danger-zone h3{color:var(--red)}.progress-overlay{position:fixed;inset:0;background:rgba(15,30,20,.58);z-index:100;display:grid;place-items:center;padding:20px}.progress-card{width:min(520px,95vw);background:#fff;border-radius:18px;padding:24px;box-shadow:0 24px 80px rgba(0,0,0,.2)}.progress-card h3{margin:0 0 5px}.progress-card p{margin:0 0 16px;color:var(--muted)}.bar{height:10px;background:#e7ece8;border-radius:999px;overflow:hidden}.bar>div{height:100%;background:var(--green);width:2%;transition:.15s}.bar-meta{display:flex;justify-content:flex-end;margin-top:6px;font-weight:800;color:var(--green-dark)}.modal{position:fixed;inset:0;background:rgba(15,30,20,.58);z-index:80;display:grid;place-items:center;padding:20px}.modal-card{width:min(1120px,96vw);max-height:92vh;background:#fff;border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.2);display:flex;flex-direction:column;overflow:hidden}.modal-card.review{width:min(1280px,97vw)}.modal-head{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px}.modal-head h2{margin:0;font-size:19px}.modal-head p{margin:2px 0 0;color:var(--muted);font-size:12px}.modal-body{padding:18px 20px;overflow:auto}.modal-foot{padding:12px 20px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}.modal-foot>div{display:flex;gap:8px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0 18px}.review-grid label{font-size:11px;color:var(--muted);font-weight:700}.review-grid input,.review-grid select{display:block;width:100%;height:39px;border:1px solid var(--line);border-radius:8px;padding:0 9px;margin-top:4px;color:var(--text);background:#fff}.review-warning,.review-ok{border-radius:9px;padding:10px 12px}.review-warning{background:#fff6e9;border:1px solid #f0c88f;color:#7a4700}.review-ok{background:#eef8ea;border:1px solid #b9d9b0;color:#276c12}.review-section-title{display:flex;justify-content:space-between;align-items:end;margin:12px 0 8px}.review-section-title span{font-weight:800;font-size:15px}.review-section-title small{color:var(--muted)}.table-input{width:100%;border:1px solid #d8e0da;border-radius:6px;padding:6px;background:#fff;color:var(--text);resize:vertical}.table-input.hours{min-width:78px}.raw-details{margin-top:14px;border:1px solid var(--line);border-radius:9px}.raw-details summary{padding:10px;font-weight:700;cursor:pointer}.raw-details pre{white-space:pre-wrap;max-height:340px;overflow:auto;background:#18211b;color:#dce9df;padding:12px;margin:0;font:11px/1.45 Consolas,monospace}.detail-meta{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:12px}.detail-meta>div{background:#f5f7f5;border-radius:9px;padding:10px}.detail-meta span,.detail-meta b{display:block}.detail-meta span{font-size:10px;color:var(--muted);text-transform:uppercase}.detail-actions{display:flex;justify-content:flex-end;margin-bottom:12px}.section-heading{margin:20px 0 8px;border-bottom:1px solid var(--line);padding-bottom:7px}.comp-detail{border:1px solid var(--line);border-radius:10px;margin-bottom:8px;overflow:hidden}.comp-detail summary{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:11px 12px;cursor:pointer;background:#fbfcfb}.comp-detail summary>div:first-child{min-width:0}.comp-detail summary span{display:block}.comp-detail summary>div:last-child{display:flex;gap:8px;align-items:center;white-space:nowrap}.detail-tabs{padding:12px 16px}.detail-tabs h4{margin:15px 0 7px}.detail-tabs p{margin:6px 0}.text-section{border:1px solid var(--line);border-radius:9px;padding:10px}.text-section summary{font-weight:800;cursor:pointer}.rap-line{display:flex;align-items:flex-start;gap:9px;border-bottom:1px solid #edf0ed;padding:7px 0}.rap-line p{margin:0}.long-list{padding-left:22px}.long-list li{margin:6px 0}.toasts{position:fixed;right:18px;bottom:18px;z-index:200;display:grid;gap:8px;max-width:380px}.toast{background:#243129;color:#fff;padding:11px 14px;border-radius:9px;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);transition:.2s}.toast.show{opacity:1;transform:none}.toast.warn{background:#825000}.toast.error{background:#9f2d25}#printArea{display:none}
@media(max-width:1000px){.selected-files{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-grid{grid-template-columns:repeat(2,1fr)}.profiles-grid,.compare-columns{grid-template-columns:1fr}.compare-kpis{grid-template-columns:repeat(3,1fr)}.export-grid{grid-template-columns:1fr 1fr}.detail-meta{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.selected-files{grid-template-columns:1fr}.topbar{height:auto;min-height:64px;padding:10px 14px;position:relative}.top-actions{justify-content:flex-end}.load-shell,.workspace{padding-left:12px;padding-right:12px}.hero h1{font-size:28px}.nav{top:0;padding-left:10px;padding-right:10px}.summary-grid{grid-template-columns:1fr 1fr}.review-grid,.compare-selectors,.export-grid{grid-template-columns:1fr}.compare-kpis{grid-template-columns:1fr 1fr}.profiles-grid{grid-template-columns:1fr}.filters input,.filters select{min-width:100%;width:100%}.detail-meta{grid-template-columns:1fr 1fr}.modal{padding:6px}.modal-card{max-height:98vh;border-radius:12px}.modal-foot{flex-direction:column;align-items:stretch}.modal-foot>div{justify-content:space-between}.file-actions{flex-direction:column;align-items:stretch}.file-actions>div{justify-content:flex-end}}

/* V1.7.0 · Pantalla principal contenida en el viewport, sin scroll vertical global. */
body.load-screen{height:100vh;height:100dvh;overflow:hidden}
body.load-screen .app-shell{height:100vh;height:100dvh;min-height:0;overflow:hidden}
body.load-screen #loadView{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}
body.load-screen #loadView>.topbar{position:relative;top:auto;flex:0 0 auto}
body.load-screen .load-shell{width:100%;max-width:1180px;flex:1;min-height:0;margin:0 auto;padding:18px 28px 16px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;overflow:hidden}
body.load-screen .hero,body.load-screen .startup-source-route,body.load-screen .dropzone,body.load-screen .file-actions,body.load-screen .selected-files,body.load-screen .privacy-strip,body.load-screen .library-callout{width:100%;max-width:1040px}
body.load-screen .hero{flex:0 0 auto;margin:0 auto 2px;max-width:860px;text-align:center}
body.load-screen .hero-logo{width:88px;margin:0 auto 8px}
body.load-screen .hero-badge{padding:5px 10px;font-size:11px}
body.load-screen .hero h1{font-size:28px;margin:7px 0 4px}
body.load-screen .hero p{font-size:14px;line-height:1.35;margin:0 auto;max-width:840px}
body.load-screen .startup-source-route{flex:0 0 auto;margin:0 auto;padding:11px 16px;border-radius:14px}
body.load-screen .startup-source-route strong{margin-bottom:3px}
body.load-screen .startup-source-route p{font-size:12px}
body.load-screen .startup-source-route .route-line{margin-top:4px;font-size:12px;line-height:1.4}
body.load-screen .startup-source-route .route-note{margin-top:3px;font-size:10.5px}
body.load-screen .dropzone{flex:0 0 auto;padding:24px 34px;border-radius:18px;min-height:162px;display:flex;flex-direction:column;justify-content:center;align-items:center}
body.load-screen .drop-icon{width:48px;height:48px;border-radius:14px;margin:0 auto 8px;font-size:24px}
body.load-screen .dropzone h2{font-size:20px;margin:0 0 5px}
body.load-screen .dropzone p{font-size:13px;margin:0 0 12px;line-height:1.35;max-width:820px}
body.load-screen .dropzone .btn{padding:10px 18px}
body.load-screen .file-actions{flex:0 0 auto;margin-top:2px;padding:10px 12px}
body.load-screen .privacy-strip{flex:0 0 auto;margin:2px 0 0;font-size:11px;gap:16px;justify-content:center}
body.load-screen .selected-files{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;align-content:start;margin-top:0;padding:2px 4px 2px 0;scrollbar-gutter:stable}
body.load-screen .selected-files:empty{display:none}
body.load-screen .file-row{padding:8px 10px}
body.load-screen .file-icon{width:34px;height:34px}
body.load-screen .library-callout{flex:0 0 auto;margin-top:2px;text-align:center}
body.load-screen .library-callout p{margin:0;font-size:10px}
@media(max-height:720px){body.load-screen .load-shell{justify-content:flex-start;padding-top:12px}body.load-screen .hero-logo{display:none}body.load-screen .hero h1{font-size:23px;margin-top:2px}body.load-screen .hero p{font-size:12px}body.load-screen .startup-source-route .route-note{display:none}body.load-screen .drop-icon{display:none}body.load-screen .dropzone{padding:14px 18px;min-height:132px}body.load-screen .privacy-strip{margin:4px 0 0}}
@media(max-width:650px){body.load-screen .load-shell{padding:10px 12px 9px;justify-content:flex-start}body.load-screen .hero h1{font-size:22px}body.load-screen .startup-source-route{padding:8px 10px}body.load-screen .startup-source-route .route-line{font-size:10px}body.load-screen .dropzone{padding:16px 14px;min-height:146px}body.load-screen .privacy-strip{gap:6px;margin:4px 0 0}.selected-files{grid-template-columns:1fr}}
@media print{.topbar,.nav,.workspace,.load-shell,.modal,.progress-overlay,.toasts,#printArea{display:none!important}}

/* V1.3: interfaz más ligera y comparador sin desplazamiento horizontal */
:root{--line:#e8eeea;--radius:13px}
.section-card,.stat-card,.profile-card,.export-card,.compare-columns section,.compare-kpis>div,.search-result,.recent-card,.file-row,.file-actions{border-color:#edf2ee;box-shadow:0 1px 3px rgba(28,52,35,.035)}
.section-card,.profile-card,.export-card,.compare-columns section{border-width:1px}
.table-wrap{border:0;box-shadow:0 0 0 1px #edf2ee;border-radius:10px}
th,td{border-bottom-color:#f0f3f1}.mini-btn{border-color:#e5ebe7}.comp-detail,.text-section,.raw-details{border-color:#edf1ee}
#compareResult{max-width:100%;overflow:hidden}#compareResult .compare-columns{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);width:100%;max-width:100%}#compareResult .compare-columns>*{min-width:0;max-width:100%}#compareResult .table-wrap{overflow-x:hidden;max-width:100%}#compareResult table{table-layout:fixed;width:100%;max-width:100%}#compareResult th,#compareResult td{white-space:normal;overflow-wrap:anywhere;word-break:normal;padding:9px 8px}#compareResult th:nth-child(1),#compareResult td:nth-child(1){width:17%}#compareResult th:nth-child(2),#compareResult td:nth-child(2){width:55%}#compareResult th:nth-child(3),#compareResult td:nth-child(3),#compareResult th:nth-child(4),#compareResult td:nth-child(4){width:14%}.compare-kpis{grid-template-columns:repeat(auto-fit,minmax(115px,1fr))}
@media(max-width:1100px){#compareResult .compare-columns{grid-template-columns:1fr}}


.source-page{display:inline-flex;align-items:center;gap:4px;margin-left:6px;padding:2px 7px;border-radius:999px;background:#f1f5f2;color:#5c6b61;font-size:10px;font-weight:800;white-space:nowrap}.source-page:before{content:'⌖';color:var(--green-dark)}
.format-pill{display:inline-block;margin-top:4px;padding:3px 7px;border-radius:999px;background:#f2f5f3;color:#506057;font-size:10px;font-weight:800}.quality-card{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;margin:10px 0 14px;padding:13px 14px;border-radius:11px;background:#f8faf8;border:1px solid #edf2ee}.quality-score{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green) calc(var(--score)*1%),#e9efea 0);position:relative}.quality-score:after{content:'';position:absolute;inset:7px;background:#fff;border-radius:50%}.quality-score strong{position:relative;z-index:1;font-size:19px}.quality-copy b{display:block}.quality-copy p{margin:3px 0;color:var(--muted);font-size:12px}.validation-list{margin:7px 0 0;padding-left:18px}.validation-list li{margin:3px 0}.quality-good{color:#267300}.quality-mid{color:#9a5b00}.quality-low{color:var(--red)}
.matrix-wrap{margin:12px 0 18px}.matrix-table{width:100%;max-width:720px}.matrix-table td,.matrix-table th{padding:8px 10px}.matrix-total td{font-weight:900;border-top:2px solid #dfe7e1}.matrix-note{margin-top:6px;font-size:11px;color:var(--muted)}
#duplicateModal{z-index:95}.duplicate-card{width:min(620px,94vw)}.duplicate-info{background:#f7faf7;border:1px solid #edf2ee;border-radius:10px;padding:12px;margin:10px 0}.duplicate-info strong{display:block;margin-bottom:4px}.duplicate-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.test-result{margin-top:8px;padding:8px 10px;border-radius:8px;background:#f6f8f6;color:var(--muted)}.test-result.ok{background:#eef8ea;color:#286d13}.test-result.bad{background:#fff0ee;color:#9f2d25}.summary-badges{display:flex;gap:6px;flex-wrap:wrap;margin:5px 0}.summary-quality{font-weight:900}.origin-inline{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.origin-inline>span:first-child,.origin-inline>div:first-child{min-width:0}.profile-source{margin-top:4px}.quick-summary-actions{display:flex;gap:8px;flex-wrap:wrap}.selftest-details{margin-top:7px}.selftest-details summary{cursor:pointer;font-weight:700}


/* V1.4.2 · controles de programa buscables y perfiles menos ovalados */
.program-select-wrap{display:grid;gap:5px;min-width:210px;flex:1}.program-select-wrap>input{width:100%;min-width:0!important;height:34px!important;border-radius:7px!important;background:#f8faf8}.program-select-wrap>select{width:100%;min-width:0!important}.compare-selectors .program-select-wrap{min-width:0}.compare-selectors .program-select-wrap>input{height:36px!important}.profile-card{border-radius:8px}.profile-card .pill,.profile-card .source-page{border-radius:6px}.profile-card details{border:1px solid #e3e9e4;border-radius:7px;padding:8px 10px;margin-top:9px;background:#fbfcfb}.profile-card details summary{cursor:pointer;font-weight:800}.profile-card .profile-section{border-radius:0}.document-rejected{background:#fff4f2;border:1px solid #f3c7c1;color:#8a271f;border-radius:8px;padding:9px 11px}.filter-note{font-size:10px;color:var(--muted);margin-top:-1px}


/* V1.4.4 · controles, selector buscable integrado y salida PDF */
.file-actions{margin-top:12px;position:sticky;top:0;z-index:3}.selected-files{margin-top:16px}
.top-actions .btn.danger{white-space:nowrap}
.program-select-wrap{position:relative;min-width:220px;flex:1}.program-select-wrap>select.native-program-select{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important}
.program-combo{position:relative;width:100%}.program-combo-button{width:100%;min-height:39px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:8px 36px 8px 11px;text-align:left;color:var(--text);position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.program-combo-button:after{content:'⌄';position:absolute;right:12px;top:50%;transform:translateY(-54%);color:#647168;font-size:16px}.program-combo.open .program-combo-button{border-color:#83b987;box-shadow:0 0 0 2px rgba(57,169,0,.10)}
.program-combo-menu{position:absolute;left:0;right:0;top:calc(100% + 5px);z-index:80;background:#fff;border:1px solid #cfd9d1;border-radius:10px;box-shadow:0 14px 35px rgba(20,45,27,.16);padding:7px;max-height:340px;overflow:hidden}.program-combo-search{width:100%!important;min-width:0!important;height:36px!important;margin:0 0 6px!important;border:1px solid #d5ded7!important;border-radius:7px!important;padding:0 10px!important;background:#f8faf8!important}.program-combo-options{max-height:280px;overflow:auto}.program-combo-option{width:100%;display:block;border:0;background:#fff;color:var(--text);padding:8px 9px;border-radius:7px;text-align:left;line-height:1.25}.program-combo-option:hover,.program-combo-option.active{background:var(--green-soft);color:var(--green-dark)}.program-combo-empty{padding:12px;color:var(--muted);text-align:center}.compare-selectors .program-select-wrap{min-width:0}

.help-btn{position:relative;width:38px;height:38px;min-width:38px;border:1px solid #b9d7b9;border-radius:50%;background:#f1faee;color:var(--green-dark);display:grid;place-items:center;font-size:20px;font-weight:900;line-height:1;box-shadow:none;transition:.18s}.help-btn:hover,.help-btn:focus-visible{background:var(--green);color:#fff;border-color:var(--green);transform:translateY(-1px);outline:none}.help-btn:after{content:attr(data-tip);position:absolute;right:0;top:calc(100% + 10px);width:260px;padding:9px 11px;border-radius:9px;background:#223128;color:#fff;font-size:12px;font-weight:600;line-height:1.35;text-align:left;box-shadow:0 12px 30px rgba(15,35,20,.18);opacity:0;visibility:hidden;transform:translateY(-4px);transition:.16s;pointer-events:none;z-index:120}.help-btn:before{content:'';position:absolute;right:12px;top:calc(100% + 4px);border:6px solid transparent;border-bottom-color:#223128;opacity:0;visibility:hidden;transition:.16s;z-index:121}.help-btn:hover:after,.help-btn:hover:before,.help-btn:focus-visible:after,.help-btn:focus-visible:before{opacity:1;visibility:visible;transform:none}
.help-modal-card{width:min(980px,96vw);max-height:92vh;border-radius:20px}.help-modal-head{background:linear-gradient(135deg,#f8fcf6 0%,#eef9e9 58%,#dff2d7 100%);padding:20px 24px;border-bottom:1px solid #dbe9d8}.help-modal-title-row{display:flex;align-items:center;gap:14px}.help-mark{width:50px;height:50px;border-radius:15px;background:var(--green);color:#fff;display:grid;place-items:center;font-size:28px;font-weight:900;box-shadow:0 8px 20px rgba(57,169,0,.2)}.help-modal-head h2{margin:0;font-size:22px}.help-modal-head p{margin:3px 0 0;color:var(--muted)}.help-hero{display:grid;grid-template-columns:1.25fr .75fr;gap:14px;margin-bottom:18px}.help-intro{border:1px solid #dce8da;background:#fbfefb;border-radius:14px;padding:16px}.help-intro h3{margin:0 0 7px;font-size:18px}.help-intro p{margin:0;color:#536158}.help-local{border-radius:14px;padding:16px;background:var(--green);color:#fff;position:relative;overflow:hidden}.help-local:after{content:'✓';position:absolute;right:9px;bottom:-28px;font-size:100px;font-weight:900;color:rgba(255,255,255,.12)}.help-local strong{font-size:16px;display:block;margin-bottom:7px}.help-local p{margin:0;opacity:.94}.help-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:8px 0 20px}.help-step{border:1px solid #e0e7e1;border-radius:12px;padding:12px;background:#fff;min-height:132px}.help-step-num{width:28px;height:28px;border-radius:8px;background:var(--green-soft);color:var(--green-dark);display:grid;place-items:center;font-weight:900;margin-bottom:9px}.help-step b{display:block;margin-bottom:4px}.help-step p{margin:0;color:var(--muted);font-size:12px}.help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.help-card{border:1px solid #e0e7e1;border-radius:13px;padding:14px;background:#fff}.help-card h4{margin:0 0 7px;font-size:14px;display:flex;align-items:center;gap:7px}.help-card h4 span{width:25px;height:25px;border-radius:7px;background:#eef7ea;color:var(--green-dark);display:grid;place-items:center;font-size:13px}.help-card p{margin:0;color:#59675e}.help-card ul{margin:7px 0 0;padding-left:18px;color:#59675e}.help-card li{margin:3px 0}.help-card.help-download{grid-column:1/-1;background:linear-gradient(135deg,#fbfef9,#f0faeb);border-color:#cfe5c8}.help-route{margin-top:9px;padding:10px 12px;border-radius:9px;background:#fff;border:1px solid #dce9d8;font-weight:700;color:#33423a;line-height:1.55}.help-route .route-arrow{color:var(--green);font-weight:900;padding:0 4px}.help-note{margin-top:14px;border-left:4px solid var(--green);background:#f4faf1;border-radius:9px;padding:11px 13px;color:#405047}.help-modal-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 20px;border-top:1px solid var(--line);background:#fbfcfb}.help-modal-foot small{color:var(--muted)}
@media(max-width:900px){.help-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.help-hero,.help-grid{grid-template-columns:1fr}.help-btn:after{right:-8px;width:230px}}
@media(max-width:560px){.help-steps{grid-template-columns:1fr}.help-modal-body{padding:14px}.help-modal-head{padding:16px}.help-btn{width:34px;height:34px;min-width:34px}.help-btn:after{display:none}.help-btn:before{display:none}}

.startup-source-route{margin:-8px auto 18px;max-width:930px;background:linear-gradient(135deg,#f8fcf6,#edf8e8);border:1px solid #cfe4c9;border-left:5px solid var(--green);border-radius:14px;padding:13px 16px;box-shadow:0 5px 16px rgba(35,70,40,.04)}.startup-source-route strong{display:block;color:#257900;margin-bottom:5px}.startup-source-route p{margin:0;color:#526158;font-size:12px}.startup-source-route .route-line{margin-top:7px;font-weight:800;color:#2e3c33;line-height:1.55}.startup-source-route .route-line span{color:var(--green);padding:0 4px}.startup-source-route .route-note{margin-top:5px;color:#68766d;font-size:11px}
@media(max-width:900px){.topbar{height:auto;min-height:68px;padding-top:8px;padding-bottom:8px}.top-actions{justify-content:flex-end}.top-actions .btn{padding:8px 10px;font-size:12px}}

/* v1.7.1 - exportaciones agrupadas, adaptables a pantallas pequenas */
.export-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;align-items:center}.export-actions .btn{max-width:100%}.export-note{font-size:11px;color:var(--muted);line-height:1.45;margin:9px 0 0!important}

/* v1.7.3 - mejora visual del menú principal de la biblioteca */
.workspace-topbar{height:auto;min-height:78px;align-items:center;gap:16px 22px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px;background:linear-gradient(180deg,#ffffff 0%,#fbfcfb 100%)}
.workspace-topbar .brand{flex:1 1 280px}
.top-actions-toolbar{flex:1 1 620px;justify-content:flex-end;gap:10px;row-gap:8px}
.action-cluster{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;border:1px solid #e4ebe5;border-radius:14px;background:#f8faf8;box-shadow:0 2px 10px rgba(28,52,35,.04)}
.action-cluster-neutral{background:#f7faf7}
.action-cluster-primary{background:linear-gradient(180deg,#f7fcf4 0%,#eef8e9 100%);border-color:#d7e7d2}
.action-cluster-danger{background:#fff8f7;border-color:#f2d5d1}
.workspace-topbar .btn{min-height:40px;border-radius:11px}
.workspace-topbar .btn.secondary{background:#fff}
.workspace-topbar .btn.danger{background:#fff;color:var(--red);border:1px solid #efc4bf;box-shadow:none}
.workspace-topbar .btn.danger:hover{background:#fff3f1}
.workspace-topbar .help-btn{box-shadow:none;background:#fff}
.workspace-topbar .help-btn:hover,.workspace-topbar .help-btn:focus-visible{background:var(--green);color:#fff}
@media(max-width:1180px){
  .workspace-topbar{align-items:flex-start}
  .top-actions-toolbar{justify-content:flex-start}
}
@media(max-width:860px){
  .workspace-topbar{padding-left:16px;padding-right:16px}
  .top-actions-toolbar{flex-direction:column;align-items:stretch}
  .action-cluster{width:100%;justify-content:flex-start}
  .action-cluster .btn:not(.help-btn){flex:1 1 180px}
  .action-cluster-danger .btn{flex:1 1 100%}
}
@media(max-width:560px){
  .workspace-topbar .brand{width:100%}
  .workspace-topbar .brand-copy span{white-space:normal}
  .action-cluster{padding:8px}
  .action-cluster .btn,.workspace-topbar .help-btn{width:100%}
  .action-cluster-neutral{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .action-cluster-neutral .help-btn{grid-column:1/-1;justify-self:start;width:38px}
  .action-cluster-primary,.action-cluster-danger{display:grid;grid-template-columns:1fr}
}
.workspace-topbar + .nav{top:104px}
@media(max-width:860px){.workspace-topbar + .nav{top:164px}}
@media(max-width:560px){.workspace-topbar + .nav{top:228px}}


/* v1.7.4 - iconos accesibles de eliminacion de biblioteca */
.top-actions .btn.icon-trash{
  width:42px; min-width:42px; height:42px; min-height:42px;
  padding:0; flex:0 0 42px; display:inline-flex; align-items:center;
  justify-content:center; border-radius:11px;
  background:#fff7f6; color:#b42318; border:1px solid #edc7c3;
  box-shadow:none; transition:background .15s,color .15s,border-color .15s;
}
.top-actions .btn.icon-trash:hover,.top-actions .btn.icon-trash:focus-visible{
  background:#b42318;color:#fff;border-color:#b42318;
}
.top-actions .btn.icon-trash:focus-visible{outline:3px solid rgba(180,35,24,.23);outline-offset:2px}
.btn.icon-trash .trash-icon{display:block;pointer-events:none;flex:none}
.action-cluster-danger{width:max-content}
.action-cluster-danger .btn.icon-trash{flex:0 0 42px;width:42px!important;min-width:42px!important}
@media(max-width:860px){.action-cluster-danger{width:max-content;align-self:flex-end}}
@media(max-width:560px){.action-cluster-danger{display:flex;grid-template-columns:none;width:max-content}}
