.module-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.module-tabs button{background:white;border:1px solid var(--line);border-radius:6px;font-size:11px;padding:9px 12px;color:#53627d}.module-tabs button.active{background:var(--navy);border-color:var(--navy);color:white}.module-tabs span{margin-left:8px;opacity:.6}.grid-panel{padding:20px;min-width:0}.grid-panel .panel-head{margin-bottom:17px}.grid-panel h2{font-size:18px}.grid-panel .module-toggle{margin:0;font-size:12px}.assignments{display:flex;align-items:center;gap:16px;padding:13px;background:#f5f8fc;border:1px solid var(--line);border-radius:7px}.assignments>span{font-size:12px;color:var(--muted);max-width:95px}.assignments label{flex:1;margin:0;font-size:11px;min-width:0}.assignments select{margin-top:5px;font-size:12px;padding:8px}.grid-help{display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:11px;margin:17px 0 9px}.sheet-scroll{overflow:auto;max-height:65vh;border:1px solid var(--line);border-radius:7px;max-width:100%}.entry-sheet{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}.entry-sheet th{position:sticky;top:0;z-index:2;background:#edf2f9;color:#344766;text-transform:none;letter-spacing:0;padding:12px;font-size:12px;white-space:nowrap;border-right:1px solid var(--line)}.entry-sheet td{padding:4px;border-right:1px solid var(--line);vertical-align:top;background:white}.entry-sheet input,.entry-sheet select,.entry-sheet textarea{width:175px;margin:0;border:1px solid transparent;border-radius:3px;padding:9px;font-size:13px;min-height:38px;background:transparent}.entry-sheet select[data-pick]{width:235px}.entry-sheet input[type=number]{width:90px}.entry-sheet textarea{min-height:38px;width:210px;resize:vertical}.entry-sheet tr:hover td{background:#f8fbff}.entry-sheet input:focus,.entry-sheet select:focus,.entry-sheet textarea:focus{background:white;outline:2px solid #00b0f0;outline-offset:-2px}.entry-sheet .row-number{position:sticky;left:0;z-index:3;width:40px;text-align:center;min-width:40px;font-size:11px;background:#f2f5fa}.entry-sheet thead .row-number{z-index:4}.cell-detail{border:0;background:#f1f5fa;padding:9px 12px;color:#006992;border-radius:4px;font-size:12px;white-space:nowrap;max-width:250px;overflow:hidden;text-overflow:ellipsis}.sheet-bottom{display:flex;align-items:center;gap:18px;margin-top:17px}.sheet-bottom>span{font-size:12px;color:var(--muted)}.sheet-bottom>a{margin-left:auto}.catalog-dialog{width:650px;max-width:calc(100vw - 30px)}.catalog-dialog h2{margin:0}.catalog-dialog>p{font-size:13px}.catalog-dialog .fields{margin-top:20px}.catalog-section{margin-top:25px}.catalog-list{border:1px solid var(--line);border-radius:6px;max-height:180px;overflow:auto;padding:10px;font-size:13px}.catalog-list>div{padding:8px;border-bottom:1px solid var(--line)}.catalog-list small{display:block;font-size:11px}.master-tools{display:flex;justify-content:space-between;gap:20px;margin-bottom:15px}.master-tools label{font-size:13px}.master-module{background:white;border:1px solid var(--line);box-shadow:0 5px 20px #17213c08;margin-bottom:30px;padding:30px}.document-brand{background:var(--navy);color:white;padding:16px 22px;display:flex;align-items:center;gap:18px;margin:-30px -30px 28px;border-bottom:3px solid var(--cyan)}.document-brand img{width:65px;height:55px;object-fit:contain}.document-brand>div{font-size:22px;font-weight:600}.document-brand small{display:block;font-size:9px;letter-spacing:1.6px;color:#b8c7e4}.document-brand>span{margin-left:auto;color:#96aecb;font-size:13px}.document-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.document-heading h2{font-size:26px;margin:0 0 7px}.document-heading p{margin-bottom:5px;font-size:13px}.document-block{margin-bottom:22px}.document-block h3{font-size:12px;color:var(--muted)}.master-table{table-layout:fixed;font-size:12px;min-width:650px}.master-table th{font-size:10px;background:#edf2f8;color:#34425d;overflow-wrap:anywhere;text-transform:none}.master-table td{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;vertical-align:top}.master-table td,.master-table th{padding:10px 8px;border:1px solid var(--line)}.master-table th:first-child{width:30px}.master-table th:nth-child(2){width:155px}.master-table tbody tr:nth-child(even){background:#f9fbfd}.authorization{display:grid;grid-template-columns:2fr 1fr 2fr;gap:25px;margin-top:35px;font-size:11px;color:#65718a}.authorization span{display:block;border-bottom:1px solid #b5c1d2;height:30px}.document-foot{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:15px;margin-top:20px;color:var(--muted);font-size:10px}@media(max-width:760px){.assignments{flex-wrap:wrap}.assignments>span{max-width:none;width:100%}.assignments label{flex-basis:100%}.sheet-bottom{flex-wrap:wrap;gap:10px}.sheet-bottom>a{margin-left:0}.grid-panel{padding:14px}.grid-panel>.panel-head{flex-wrap:wrap}.grid-help{flex-direction:column;gap:4px}.module-tabs{flex-wrap:nowrap;overflow:auto;padding-bottom:7px}.module-tabs button{white-space:nowrap}.master-tools{flex-wrap:wrap}.master-module{padding:15px}.document-brand{margin:-15px -15px 20px}.document-heading{flex-wrap:wrap}.authorization{gap:12px}.master-table{min-width:650px}}@media print{@page{size:A4 landscape;margin:12mm}body{background:white;font-size:10pt}.shell{margin:0}main{padding:0;max-width:none}.pagehead,.master-tools,.notice,#toast,dialog,.shell>footer{display:none!important}.master-module{border:0;box-shadow:none;margin:0;padding:0;break-before:page}.master-module:first-child{break-before:auto}.document-brand{margin:0 0 7mm;padding:4mm 6mm;print-color-adjust:exact;-webkit-print-color-adjust:exact}.document-heading{margin-bottom:5mm}.master-table{min-width:0;width:100%;table-layout:fixed}.master-table td,.master-table th{font-size:9pt;padding:2mm;print-color-adjust:exact;-webkit-print-color-adjust:exact}.master-table thead{display:table-header-group}.master-table tr{break-inside:avoid}.document-block{break-inside:auto}.table-wrap{overflow:visible!important}.authorization{break-inside:avoid}.document-foot{break-inside:avoid}.master-table th:nth-child(2){width:40mm}.master-table th:first-child{width:8mm}}

/* Persistent worksheet navigation in workbook sheet order. */
.requirements-view .module-tabs{position:fixed;bottom:0;left:250px;right:0;z-index:25;display:flex;flex-wrap:nowrap;gap:6px;margin:0;padding:14px 20px 12px;background:#07112c;border-top:2px solid transparent;border-image:linear-gradient(90deg,#00b0f0,#490e6f,#c90087) 1;overflow-x:auto;box-shadow:0 -5px 20px #01082220;scrollbar-color:#557294 #07112c;scrollbar-width:thin;align-items:stretch}.requirements-view .module-tabs button{flex:0 0 auto;white-space:nowrap;border:1px solid #314264;border-radius:7px 7px 3px 3px;background:#15213d;color:#d8e3f7;padding:12px 15px;font-size:12px;position:relative;transition:background .15s}.requirements-view .module-tabs button:nth-child(3n+1){border-top:3px solid #00b0f0}.requirements-view .module-tabs button:nth-child(3n+2){border-top:3px solid #c90087}.requirements-view .module-tabs button:nth-child(3n){border-top:3px solid #9b66cf}.requirements-view .module-tabs button:hover{background:#273454}.requirements-view .module-tabs button.active{background:#e9f8ff;color:#003a58;border-color:#00b0f0;box-shadow:0 0 12px #00b0f025;font-weight:700}.requirements-view .module-tabs span{opacity:1;background:#ffffff12;border-radius:4px;padding:2px 5px;font-size:10px}.requirements-view .module-tabs .active span{background:#caecfa;color:#005276}.requirements-view main{padding-bottom:110px}.requirements-view .shell>footer{padding-bottom:110px}@media(max-width:1100px){.requirements-view .module-tabs{left:220px}}@media(max-width:760px){.requirements-view .module-tabs{left:0;padding:10px 12px max(12px,env(safe-area-inset-bottom))}.requirements-view .module-tabs button{font-size:11px;padding:11px 12px}}@media print{.module-tabs{display:none!important}}
/* Pestañas con contraste sobre la barra fija. */
.requirements-view .module-tabs button{background:#f3eef9;color:#39234f;border-color:#d8c8e8;box-shadow:none}
.requirements-view .module-tabs button:hover{background:#fff;color:#490e6f}
.requirements-view .module-tabs button.active{background:#6c278e;color:#fff;border-color:#d695ef;box-shadow:inset 0 -3px 0 #ef80cb;font-weight:700}
.requirements-view .module-tabs span{background:#e1d5ee;color:#503464}
.requirements-view .module-tabs .active span{background:#ffffff;color:#490e6f}
.requirements-view .module-tabs button:focus-visible{outline:2px solid #fff;outline-offset:2px}
/* Selector superior de módulos: dos filas, sin barra inferior. */
.requirements-view .module-tabs{position:static;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;padding:0;margin:0 0 18px;background:transparent;border:0;box-shadow:none;overflow:visible}
.requirements-view .module-tabs button{--module-accent:#007da5;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:7px;min-width:0;min-height:79px;white-space:normal;text-align:left;border:1px solid #c6dfeb;border-top:3px solid var(--module-accent);border-radius:10px;background:linear-gradient(135deg,#f0fbff,#e1f3fa);color:#16415a;padding:10px 9px;font-size:10px;line-height:1.35;font-weight:600;box-shadow:0 2px 5px #17213c05;transition:background .15s,box-shadow .15s}
.requirements-view .module-tabs button:nth-child(3n+2){--module-accent:#b6007c;border-color:#ecd0e4;border-top-color:var(--module-accent);background:linear-gradient(135deg,#fff4fb,#f6e0ef);color:#742252}
.requirements-view .module-tabs button:nth-child(3n){--module-accent:#6e3693;border-color:#dfd1ed;border-top-color:var(--module-accent);background:linear-gradient(135deg,#faf5ff,#eadff5);color:#512974}
.requirements-view .module-tabs button:hover{box-shadow:0 3px 10px #490e6f20;border-color:var(--module-accent)}
.requirements-view .module-tabs button.active{background:linear-gradient(120deg,#602582,#490e6f);color:white;border-color:#74319a;border-top-color:#ec63bc;box-shadow:0 3px 10px #490e6f25}
.requirements-view .module-tabs span{margin:0;background:#ffffffb3;color:inherit;font-size:9px;min-width:20px;text-align:center;border-radius:5px;padding:1px 5px}
.requirements-view .module-tabs .active span{background:#ffffff24;color:white}
.requirements-view .module-tabs button:focus-visible{outline:2px solid var(--pink);outline-offset:2px}
.requirements-view main{padding-bottom:24px}.requirements-view .shell>footer{padding-bottom:20px}
@media(max-width:760px){.requirements-view .module-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.requirements-view .module-tabs button{font-size:10px;min-height:74px;padding:8px}}
@media print{.requirements-view .module-tabs{display:none!important}}
.requirements-view .sheet-scroll{overflow:visible;max-height:none;min-width:0}.requirements-view .entry-sheet{display:block;width:100%;min-width:0;table-layout:fixed}.requirements-view .entry-sheet thead{display:none}.requirements-view .entry-sheet tbody{display:block;width:100%}.requirements-view .entry-sheet tr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px;border-bottom:2px solid #e5dfef}.requirements-view .entry-sheet td,.requirements-view .entry-sheet .row-number{display:block;position:static;width:auto;min-width:0;border:0;padding:0;background:transparent;text-align:left}.requirements-view .entry-sheet .row-number{grid-column:1/-1;color:var(--purple);font-weight:700}.requirements-view .entry-sheet .row-number:before{content:'REGISTRO ';font-size:10px}.requirements-view .entry-sheet td:before{content:attr(data-label);display:block;font-size:10px;font-weight:600;color:#53627d;margin:0 0 4px;overflow-wrap:anywhere}.requirements-view .entry-sheet input,.requirements-view .entry-sheet select,.requirements-view .entry-sheet textarea,.requirements-view .entry-sheet select[data-pick],.requirements-view .entry-sheet input[type=number],.requirements-view .cell-detail{width:100%;max-width:100%;min-width:0;background:#f7f9fc;border:1px solid var(--line);font-size:12px;padding:7px;white-space:normal;overflow-wrap:anywhere}.requirements-view .entry-sheet textarea{resize:vertical}.requirements-view .sheet-scroll .empty{padding:24px 12px;font-size:13px}@media(max-width:760px){.requirements-view .entry-sheet tr{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Una sola familia de color para todos los módulos. */
.requirements-view .module-tabs button:nth-child(n){--module-accent:#6e3693;background:linear-gradient(135deg,#faf5ff,#eadff5);color:#512974;border-color:#dfd1ed;border-top-color:#6e3693}
.requirements-view .module-tabs button:nth-child(n):hover{background:#e5d5f1;border-color:#9a70b6}
.requirements-view .module-tabs button:nth-child(n).active{background:linear-gradient(120deg,#602582,#490e6f);color:#fff;border-color:#74319a;border-top-color:#74319a;box-shadow:0 3px 10px #490e6f25}
