:root{--bg:#06111f;--panel:rgba(12,28,52,.72);--panel2:rgba(17,45,82,.82);--line:rgba(118,216,255,.22);--text:#eaf8ff;--muted:#9db8c8;--cyan:#67e8f9;--blue:#7c9cff;--green:#7dffb2;--warn:#ffd166;--danger:#ff6b8a;--shadow:0 24px 80px rgba(0,0,0,.42)}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:radial-gradient(circle at top left,#153e72 0,#06111f 35%,#030711 100%);color:var(--text);min-height:100vh}body:before{content:"";position:fixed;inset:0;background:linear-gradient(90deg,rgba(103,232,249,.04) 1px,transparent 1px),linear-gradient(rgba(103,232,249,.035) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 85%);pointer-events:none}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:30px}.orb{position:fixed;width:480px;height:480px;border-radius:50%;filter:blur(70px);opacity:.35;background:conic-gradient(from 90deg,var(--cyan),var(--blue),#9b5cff,var(--cyan));animation:float 9s ease-in-out infinite}@keyframes float{50%{transform:translateY(-30px) translateX(30px) scale(1.07)}}.login-card{position:relative;width:min(1040px,100%);display:grid;grid-template-columns:1.1fr .9fr;gap:0;border:1px solid var(--line);border-radius:30px;overflow:hidden;background:linear-gradient(135deg,rgba(7,18,34,.9),rgba(18,42,76,.78));box-shadow:var(--shadow);backdrop-filter:blur(18px)}.login-hero{padding:55px;background:linear-gradient(135deg,rgba(103,232,249,.12),rgba(124,156,255,.06));position:relative}.badge{display:inline-flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:999px;padding:9px 13px;color:var(--cyan);background:rgba(103,232,249,.08);font-weight:700;font-size:13px}.login-hero h1{font-size:48px;line-height:1;margin:24px 0 14px}.login-hero p{font-size:17px;color:var(--muted);line-height:1.6}.pulse-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:30px}.pulse{border:1px solid var(--line);background:rgba(255,255,255,.04);border-radius:20px;padding:18px}.pulse strong{display:block;font-size:26px;color:var(--green)}.login-form{padding:55px;background:rgba(3,9,20,.45)}label{display:block;font-weight:800;margin:14px 0 7px;color:#d8f5ff}input,select,textarea{width:100%;border:1px solid var(--line);background:rgba(1,8,18,.72);color:var(--text);border-radius:14px;padding:13px 14px;outline:none}textarea{min-height:120px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:14px;padding:12px 16px;font-weight:900;color:#06111f;background:linear-gradient(135deg,var(--cyan),var(--green));text-decoration:none;cursor:pointer;box-shadow:0 10px 30px rgba(103,232,249,.18)}.btn.secondary{background:rgba(255,255,255,.08);color:var(--text);border:1px solid var(--line);box-shadow:none}.btn.danger{background:linear-gradient(135deg,var(--danger),#ffb4c4)}.error{padding:12px;border:1px solid rgba(255,107,138,.35);border-radius:14px;background:rgba(255,107,138,.11);color:#ffd5dd;margin-bottom:15px}.layout{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.sidebar{border-right:1px solid var(--line);background:rgba(3,10,22,.78);backdrop-filter:blur(18px);padding:24px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{font-weight:1000;font-size:20px;margin-bottom:20px}.brand span{display:block;color:var(--cyan);font-size:12px;letter-spacing:2px;text-transform:uppercase}.nav a,.sidebar-bottom a{display:flex;gap:10px;align-items:center;color:#ccecff;text-decoration:none;padding:12px;border-radius:14px;margin:5px 0;border:1px solid transparent}.nav a:hover,.nav a.active,.sidebar-bottom a:hover{background:rgba(103,232,249,.09);border-color:var(--line);color:white}.main{padding:28px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.topbar h1{margin:0;font-size:30px}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.card{grid-column:span 12;background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow);backdrop-filter:blur(14px)}.span3{grid-column:span 3}.span4{grid-column:span 4}.span6{grid-column:span 6}.span8{grid-column:span 8}.span12{grid-column:span 12}.metric{font-size:34px;font-weight:1000;color:var(--cyan)}.muted{color:var(--muted)}.chapter{position:relative;overflow:hidden}.chapter:after{content:"";position:absolute;right:-60px;top:-60px;width:160px;height:160px;border-radius:50%;background:rgba(103,232,249,.1)}.progress{height:12px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;margin:12px 0}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--green));border-radius:999px}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:12px;border-bottom:1px solid rgba(255,255,255,.08)}.table th{color:var(--cyan);font-size:13px;text-transform:uppercase;letter-spacing:1px}.actions{display:flex;gap:10px;flex-wrap:wrap}.pill{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:5px 10px;color:var(--cyan);background:rgba(103,232,249,.08);font-size:12px;font-weight:800}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.notice{border-left:4px solid var(--cyan);background:rgba(103,232,249,.08);padding:14px;border-radius:14px;margin-bottom:15px}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:14px}.logout-link{background:rgba(255,107,138,.08);color:#ffd5dd!important}.policy-link{font-size:13px}.footer-note{margin-top:20px;color:var(--muted);font-size:12px}.sidebar-bottom .footer-note{margin:0 0 10px}@media(max-width:900px){.login-card,.layout{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.span3,.span4,.span6,.span8{grid-column:span 12}.two{grid-template-columns:1fr}.login-hero h1{font-size:36px}}

.policy-page{min-height:100vh;padding:34px}.policy-container{max-width:1050px;margin:0 auto}.policy-header{margin-bottom:22px}.policy-header h1{font-size:38px;margin:14px 0 8px}.policy-card{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--shadow);margin:16px 0}.policy-card h2{margin-top:0}.policy-card li{margin:10px 0;color:var(--muted);line-height:1.55}.policy-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.org-tree{display:grid;gap:14px}.org-node{border:1px solid var(--line);background:rgba(255,255,255,.045);border-radius:18px;padding:15px;position:relative}.org-node:before{content:"";position:absolute;left:14px;top:-14px;width:1px;height:14px;background:var(--line)}.org-node b{display:block;color:var(--text);font-size:17px}.org-node span{display:block;color:var(--cyan);margin-top:4px}.org-node small{display:block;color:var(--muted);margin-top:8px}.doc-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);background:rgba(255,255,255,.04);border-radius:18px;padding:14px;margin:12px 0}.doc-row p{margin:5px 0 0}.module-path{font-family:ui-monospace,Consolas,monospace;color:var(--green);font-size:12px;word-break:break-all}
.library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.library-card{border:1px solid var(--line);background:rgba(255,255,255,.045);border-radius:20px;padding:16px;min-height:210px;display:flex;flex-direction:column}.library-card h3{margin:12px 0 8px}.library-card .actions{margin-top:auto}.table form{margin:0}.table .actions form{display:inline-flex}.danger{color:#06111f}.small-select{max-width:360px}.doc-meta{font-size:12px;color:var(--muted)}
.matrix-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.excel-matrix-wrap{width:100%;max-height:620px;overflow:auto;border:1px solid var(--line);border-radius:18px;background:rgba(1,8,18,.46);position:relative}.excel-matrix-wrap.is-fullscreen{position:fixed;inset:18px;z-index:1000;max-height:none;background:#06111f;border:1px solid rgba(103,232,249,.45);box-shadow:0 0 0 9999px rgba(0,0,0,.66),var(--shadow);padding:0}.excel-matrix{border-collapse:separate;border-spacing:0;min-width:2200px;width:max-content;font-size:12px}.excel-matrix th,.excel-matrix td{border-right:1px solid rgba(255,255,255,.09);border-bottom:1px solid rgba(255,255,255,.09);padding:9px 10px;vertical-align:top;max-width:230px;white-space:normal}.excel-matrix th{position:sticky;top:0;z-index:3;background:linear-gradient(180deg,rgba(17,45,82,.98),rgba(9,24,45,.98));color:var(--cyan);text-transform:uppercase;letter-spacing:.7px;font-size:11px}.excel-matrix td:first-child,.excel-matrix th:first-child{position:sticky;left:0;z-index:2;background:rgba(8,22,42,.98);min-width:120px}.excel-matrix th:first-child{z-index:4}.sticky-actions{position:sticky;right:0;background:rgba(8,22,42,.98);min-width:260px;z-index:2}.excel-matrix th:last-child{position:sticky;right:0;z-index:4}.form-details{margin:14px 0;border:1px solid var(--line);border-radius:16px;padding:12px;background:rgba(255,255,255,.035)}.form-details summary{cursor:pointer;color:var(--cyan);font-weight:900}.alert-danger{border-color:rgba(255,107,138,.55);background:rgba(255,107,138,.12);color:#ffd5dd}.alert-warn{border-color:rgba(255,209,102,.55);background:rgba(255,209,102,.12);color:#ffe4a3}.alert-ok{border-color:rgba(125,255,178,.45);background:rgba(125,255,178,.09);color:#c8ffdc}@media(max-width:900px){.matrix-header{flex-direction:column}.excel-matrix{min-width:1900px}.excel-matrix-wrap.is-fullscreen{inset:8px}}
.question{border:1px solid rgba(100,230,255,.18);border-radius:14px;padding:14px;margin:12px 0;background:rgba(255,255,255,.025)}
.option{display:block;margin:8px 0;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.035)}
.result-box{border-radius:16px;padding:18px;margin:12px 0;border:1px solid rgba(100,230,255,.25);background:rgba(100,230,255,.08);font-size:1.1rem}
.result-box.aprobado{background:rgba(70,255,190,.10);border-color:rgba(70,255,190,.35)}
.result-box.reprobado{background:rgba(255,110,140,.10);border-color:rgba(255,110,140,.35)}
.btn.danger{background:rgba(120,30,60,.55);border-color:rgba(255,110,140,.35)}
.form-details{margin:10px 0;padding:10px;border:1px solid rgba(100,230,255,.16);border-radius:12px;background:rgba(255,255,255,.025)}
.notice{border:1px solid rgba(100,230,255,.22);background:rgba(100,230,255,.07);padding:14px;border-radius:14px;margin:12px 0;color:#d8f7ff}


/* SG-LM · evolución documental */
.brand-prosoltec img{width:150px;max-width:100%;display:block;margin:0 auto 10px auto;filter:drop-shadow(0 6px 16px rgba(0,188,240,.15));}
.iso-pro-logo{height:42px;object-fit:contain;background:#fff;border-radius:8px;padding:4px 10px;}
.iso-builder-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;align-items:start;}
.iso-builder-grid.has-preview{grid-template-columns:280px minmax(0,1fr) 380px;}
.iso-mini-card,.iso-mini-card:visited{color:#eaf6ff;text-decoration:none;}
.iso-mini-card strong{color:#6ff4ff;}
.iso-mini-card:hover{border-color:#6ff4ff;background:rgba(111,244,255,.08)}
.iso-builder-list{position:sticky;top:20px;}
.iso-mini-card{border:1px solid rgba(118,185,230,.25);border-radius:14px;padding:12px;margin-bottom:10px;background:rgba(255,255,255,.035)}
.iso-mini-card.active{border-color:#45d6ff;background:rgba(69,214,255,.08)}
.iso-doc-preview{background:#f6f7fb;color:#111;border-radius:12px;padding:20px;max-height:78vh;overflow:auto;font-family:Arial, sans-serif;}
.iso-a4{background:#fff;width:794px;min-height:1123px;margin:0 auto 20px auto;padding:38px 42px;box-shadow:0 10px 30px rgba(0,0,0,.18);font-size:13px;line-height:1.45;color:#222;}
.iso-header-table,.iso-sign-table,.iso-a4 table{width:100%;border-collapse:collapse;margin:12px 0;}
.iso-header-table td,.iso-sign-table td,.iso-a4 th,.iso-a4 td{border:1px solid #9aa7b2;padding:8px;vertical-align:top;}
.iso-header-table .title{background:#17658f;color:white;font-weight:800;text-align:center;font-size:16px;}
.iso-a4 h1{text-align:center;color:#183a59;font-size:24px;margin:72px 0 26px;}
.iso-a4 h2{font-size:17px;color:#183a59;border-bottom:2px solid #183a59;padding-bottom:5px;margin-top:24px;}
.iso-a4 th{background:#183a59;color:white;}
.iso-firma-img{max-height:58px;max-width:140px;display:block;margin:4px auto;}
.iso-firma-empty{height:58px;border-bottom:1px solid #777;margin:6px 10px;}
.iso-state{display:inline-block;border:1px solid rgba(69,214,255,.35);border-radius:999px;padding:4px 10px;font-size:12px;color:#78eaff;background:rgba(69,214,255,.09);}
.iso-state.ok{color:#7dffb1;border-color:rgba(125,255,177,.45);background:rgba(125,255,177,.09)}
.iso-block-editor{border:1px solid rgba(118,185,230,.22);padding:12px;border-radius:14px;margin:12px 0;background:rgba(255,255,255,.03)}
.approval-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.approval-card{border:1px solid rgba(118,185,230,.25);border-radius:14px;padding:12px;background:rgba(255,255,255,.04)}
.file-versions{border-left:3px solid #45d6ff;padding-left:12px;margin:12px 0;}
@media(max-width:1100px){.iso-builder-grid{grid-template-columns:1fr}.iso-builder-list{position:relative}.iso-doc-preview{max-height:none}.iso-a4{width:auto;min-height:auto}}
@media print{body{background:#fff}.layout,.sidebar,.topbar,.no-print{display:none!important}.iso-print{display:block!important}.iso-a4{box-shadow:none;margin:0;width:auto;min-height:auto;page-break-after:always}.iso-doc-preview{overflow:visible;background:#fff;padding:0}}


.org-node.reserved{opacity:.65;border-style:dashed}.org-compact .org-tree{gap:8px}.org-compact .org-node{padding:9px;border-radius:12px}.org-compact .org-node b{font-size:13px}.org-compact .org-node small{display:none}.notice{border:1px solid rgba(125,255,177,.35);background:rgba(125,255,177,.08);padding:12px;border-radius:14px;margin:12px 0;color:#dfffea}.span3{grid-column:span 3}.span9{grid-column:span 9}

/* Ordenamiento SG-LM · junio 2026 */
html,body{min-height:100%;overflow-x:hidden;}
.layout{align-items:stretch;min-height:100vh;}
.sidebar{height:100vh;max-height:100vh;overflow-y:auto;display:flex;flex-direction:column;}
.main{min-height:100vh;overflow-y:auto;}
.sidebar-bottom{position:sticky;bottom:0;background:linear-gradient(180deg,rgba(6,17,31,.80),rgba(6,17,31,.98));padding-bottom:12px;}
.hero-iso{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;background:linear-gradient(135deg,rgba(0,188,240,.16),rgba(125,255,178,.08));}
.hero-iso h2{font-size:30px;line-height:1.15;margin:12px 0;max-width:900px;}
.hero-iso p{max-width:980px;color:var(--muted);line-height:1.6;}
.doc-status-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin:16px 0 24px;}
.doc-status-grid div{border:1px solid var(--line);border-radius:16px;padding:14px;background:rgba(255,255,255,.04);text-align:center;}
.doc-status-grid b{display:block;font-size:28px;color:var(--cyan);}
.doc-status-grid span{font-size:12px;color:var(--muted);}
.module-map{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px;}
.module-map a{border:1px solid var(--line);border-radius:14px;padding:12px;color:var(--text);text-decoration:none;background:rgba(255,255,255,.035);font-weight:800;}
.module-map a:hover{border-color:var(--cyan);background:rgba(103,232,249,.08);}
.constructor-shell{display:grid;grid-template-columns:250px minmax(0,1fr);gap:18px;align-items:start;}
.constructor-shell:has(.constructor-preview){grid-template-columns:250px minmax(0,1fr) 420px;}
.constructor-menu{position:sticky;top:20px;max-height:calc(100vh - 40px);overflow:auto;}
.constructor-menu h2{font-size:14px;text-transform:uppercase;letter-spacing:1px;color:var(--cyan);margin:10px 0;}
.constructor-menu a{display:flex;justify-content:space-between;gap:8px;align-items:center;text-decoration:none;color:var(--text);border:1px solid transparent;border-radius:12px;padding:10px 12px;margin:6px 0;background:rgba(255,255,255,.03);}
.constructor-menu a.active,.constructor-menu a:hover{border-color:rgba(103,232,249,.45);background:rgba(103,232,249,.09);}
.constructor-menu hr{border:0;border-top:1px solid var(--line);margin:14px 0;}
.badge-mini{background:rgba(255,209,102,.18);border:1px solid rgba(255,209,102,.35);border-radius:999px;padding:2px 7px;font-size:12px;color:#ffe4a3;}
.constructor-main{min-width:0;}
.constructor-preview{position:sticky;top:20px;max-height:calc(100vh - 40px);overflow:auto;}
.form-clean label{margin-top:12px;display:block;}
.doc-list-clear .doc-row{align-items:flex-start;}
.review-preview{max-height:500px;overflow:auto;border:1px solid var(--line);border-radius:16px;padding:12px;background:rgba(255,255,255,.035);}
.review-block{border-left:4px solid rgba(103,232,249,.45);padding:10px 12px;margin:10px 0;border-radius:10px;background:rgba(255,255,255,.035);cursor:text;}
.review-block b{color:var(--cyan);}
.change-card{border:1px solid var(--line);border-left-width:7px;border-radius:16px;padding:14px;margin:14px 0;background:rgba(255,255,255,.04);}
.change-amarillo{border-left-color:#ffd166;}
.change-azul{border-left-color:#67e8f9;}
.change-rojo{border-left-color:#ff6b8a;}
.change-head{display:flex;justify-content:space-between;gap:12px;align-items:center;}
.change-head span{border:1px solid var(--line);border-radius:999px;padding:4px 10px;color:var(--cyan);font-size:12px;}
.btn.danger{background:rgba(255,107,138,.14);border-color:rgba(255,107,138,.38);color:#ffd5dd;}
@media(max-width:1200px){.constructor-shell,.constructor-shell:has(.constructor-preview){grid-template-columns:1fr}.constructor-menu,.constructor-preview{position:relative;top:auto;max-height:none}.module-map{grid-template-columns:repeat(2,1fr)}.doc-status-grid{grid-template-columns:repeat(2,1fr)}.hero-iso{display:block}}

/* Ajustes cliente SG-LM · dashboard y vista documental */
.client-module-map a{min-height:58px;align-items:center;display:flex;}
.policy-card{max-width:1100px;line-height:1.75;font-size:16px;}
.policy-card h2{font-size:34px;margin:18px 0;}
.policy-highlight{margin:22px 0;padding:18px;border:1px solid rgba(103,232,249,.35);border-radius:18px;background:rgba(103,232,249,.08);color:#eaf8ff;font-size:18px;}
.constructor-shell:has(.constructor-preview){grid-template-columns:250px minmax(360px,1fr) minmax(680px,760px);}
.constructor-preview{min-width:680px;}
.constructor-preview .iso-doc-preview{padding:12px;background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:18px;}
.constructor-preview .iso-a4{width:720px;min-height:1018px;}
@media(max-width:1500px){.constructor-shell:has(.constructor-preview){grid-template-columns:230px minmax(320px,1fr) minmax(560px,620px)}.constructor-preview{min-width:560px}.constructor-preview .iso-a4{width:590px;}}
@media(max-width:1200px){.constructor-preview{min-width:0}.constructor-preview .iso-a4{width:auto;}}

/* Actualización: vista previa amplia y en tiempo real del constructor */
.preview-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;color:#b7c8d9;font-weight:800;}
.btn.mini{padding:9px 12px;font-size:12px;border-radius:12px;}
.constructor-shell:has(.constructor-preview){grid-template-columns:240px minmax(320px,.82fr) minmax(760px,1.35fr);}
.constructor-preview{min-width:760px;}
.constructor-preview .iso-doc-preview{max-height:86vh;padding:14px;background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:18px;}
.constructor-preview .iso-a4{width:760px;min-height:1075px;}
.preview-fullscreen .constructor-shell{grid-template-columns:1fr!important;}
.preview-fullscreen .constructor-menu,.preview-fullscreen .constructor-main{display:none!important;}
.preview-fullscreen .constructor-preview{position:relative;top:auto;min-width:0;max-height:none;width:100%;}
.preview-fullscreen .constructor-preview .iso-doc-preview{max-height:none;overflow:auto;}
.preview-fullscreen .constructor-preview .iso-a4{width:920px;max-width:calc(100vw - 80px);}
@media(max-width:1500px){.constructor-shell:has(.constructor-preview){grid-template-columns:220px minmax(310px,.75fr) minmax(700px,1.25fr)}.constructor-preview{min-width:700px}.constructor-preview .iso-a4{width:700px;}}
@media(max-width:1200px){.constructor-preview{min-width:0}.constructor-preview .iso-a4{width:auto}.preview-tools{position:sticky;top:0;z-index:2;background:var(--bg);padding:8px 0}}

/* Paquete documental de cargos - SG-LM */
.cargo-create-panel{background:rgba(255,255,255,.025);border:1px solid rgba(111,231,255,.18);border-radius:18px;padding:18px;margin-top:12px}
.cargo-package-list{display:grid;gap:18px;margin-top:16px}
.cargo-package{border:1px solid rgba(111,231,255,.22);background:rgba(10,24,45,.82);border-radius:22px;padding:18px;box-shadow:0 12px 35px rgba(0,0,0,.18)}
.cargo-package.is-deleted{opacity:.55;border-style:dashed}
.cargo-package-head{display:flex;gap:14px;justify-content:space-between;align-items:flex-start;border-bottom:1px solid rgba(111,231,255,.14);padding-bottom:14px;margin-bottom:14px}
.cargo-package-head h3{margin:.35rem 0 .15rem;color:#fff}
.cargo-editor-form textarea{min-height:84px}
.cargo-documents-panel{margin-top:14px;padding:14px;border-radius:16px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08)}
.cargo-documents-panel h4{margin-top:0;color:#eaf6ff}
.cargo-upload-form{margin-bottom:12px}
.file-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px;margin-top:10px}
.notice.small{padding:10px 12px;font-size:.9rem}
.btn.full{display:block;text-align:center;width:100%;box-sizing:border-box}
@media(max-width:900px){.cargo-package-head{display:block}.cargo-package-head .actions{margin-top:12px}.three{grid-template-columns:1fr!important}}


/* Luva MetaISO v2 · navegación por procesos, usuarios y funciones */
.nav-pro{display:flex;flex-direction:column;gap:6px;padding-bottom:16px;}
.nav-group{position:relative;}
.nav-parent{display:flex!important;align-items:center;justify-content:space-between;gap:10px;}
.nav-parent span{opacity:.75;transition:transform .18s ease;}
.nav-sub{display:none;margin:4px 0 8px 16px;padding:6px;border-left:1px solid rgba(103,232,249,.22);background:rgba(255,255,255,.018);border-radius:0 12px 12px 0;}
.nav-group:hover .nav-sub,.nav-group.active .nav-sub{display:block;}
.nav-group:hover .nav-parent span,.nav-group.active .nav-parent span{transform:rotate(90deg);}
.nav-sub a{font-size:13px;padding:8px 10px;margin:2px 0;background:transparent;border:1px solid transparent;border-radius:10px;color:#cfe9ff;}
.nav-sub a:hover,.nav-sub a.active{background:rgba(103,232,249,.08);border-color:rgba(103,232,249,.26);color:#fff;}
.active-card{border-color:rgba(103,232,249,.65)!important;background:rgba(103,232,249,.08)!important;}
.grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.grid.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
textarea{min-height:90px;}
.table small{font-size:12px;}
@media(max-width:900px){.grid.two,.grid.three{grid-template-columns:1fr}.nav-sub{display:block}.nav-parent span{transform:rotate(90deg)}}


/* Orden modular y responsive · Luva MetaISO */
.brand-prosoltec{display:flex;align-items:center;gap:12px;margin-bottom:18px;min-height:48px}.brand-prosoltec img{width:42px;height:42px;object-fit:contain;border-radius:10px;background:rgba(255,255,255,.06)}.brand-prosoltec strong{display:block;font-size:15px;line-height:1.15;color:#eaf8ff}.nav-pro{display:flex;flex-direction:column;gap:7px;padding:4px 0 16px}.nav-ico{display:inline-flex;align-items:center;justify-content:center;width:20px;min-width:20px;color:var(--cyan)}.nav a,.nav-parent{width:100%;border:1px solid transparent;border-radius:14px;background:rgba(255,255,255,.025);min-height:42px}.nav-parent{color:#ccecff;text-decoration:none;font-weight:900;cursor:pointer;padding:11px 12px;font:inherit;display:flex;align-items:center;justify-content:space-between;text-align:left}.nav-parent>span{display:flex;align-items:center;gap:10px}.nav-parent i{font-style:normal;opacity:.7;transition:transform .18s ease}.nav-parent:hover,.nav a:hover{border-color:rgba(103,232,249,.24);background:rgba(103,232,249,.07)}.nav-group.open>.nav-parent,.nav-group.active>.nav-parent{border-color:rgba(103,232,249,.35);background:rgba(103,232,249,.09);color:#fff}.nav-group.open>.nav-parent i,.nav-group.active>.nav-parent i{transform:rotate(90deg)}.nav-sub{display:grid;grid-template-rows:0fr;overflow:hidden;margin:0 0 0 14px;padding-left:8px;border-left:1px solid rgba(103,232,249,.20);background:transparent;border-radius:0;transition:grid-template-rows .2s ease}.nav-sub::before{content:""}.nav-sub>*{min-height:0}.nav-group.open>.nav-sub,.nav-group.active>.nav-sub{grid-template-rows:1fr;padding-top:6px;padding-bottom:4px}.nav-group:hover .nav-sub{display:grid}.nav-sub a{min-height:34px;font-size:13px;padding:8px 10px;margin:2px 0;background:rgba(255,255,255,.018);border-radius:10px}.nav-sub a.active{background:rgba(103,232,249,.12);border-color:rgba(103,232,249,.38);color:#fff}.sidebar{scrollbar-width:thin;scrollbar-color:rgba(103,232,249,.35) transparent}.sidebar-bottom{margin-top:auto;z-index:4}.mobile-menu-btn{display:none;border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--text);border-radius:12px;width:44px;height:42px;font-size:21px;cursor:pointer}.topbar{display:flex;align-items:flex-start;gap:14px}.sidebar-overlay{display:none}.main{min-width:0}.card,.table-wrap,.excel-matrix-wrap{max-width:100%;overflow-wrap:anywhere}.table-wrap,.excel-matrix-wrap{overflow:auto;-webkit-overflow-scrolling:touch}table{min-width:720px}.actions{flex-wrap:wrap}.logout-link{position:relative;z-index:5}
@media(max-width:1180px){.layout{grid-template-columns:240px 1fr}.sidebar{padding:16px}.nav a,.nav-parent{min-height:40px}.main{padding:18px}.topbar h1{font-size:28px}.grid{grid-template-columns:repeat(6,1fr)}.span12,.span9,.span8{grid-column:span 6}.span6{grid-column:span 6}.span4,.span3{grid-column:span 3}}
@media(max-width:820px){body.sidebar-open{overflow:hidden}.layout{display:block}.mobile-menu-btn{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.sidebar{position:fixed;left:0;top:0;bottom:0;width:min(86vw,330px);height:100dvh;max-height:100dvh;transform:translateX(-105%);transition:transform .22s ease;z-index:50;box-shadow:24px 0 70px rgba(0,0,0,.45)}body.sidebar-open .sidebar{transform:translateX(0)}.sidebar-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:40;display:none}body.sidebar-open .sidebar-overlay{display:block}.main{min-height:100dvh;padding:14px}.topbar{position:sticky;top:0;z-index:20;background:linear-gradient(180deg,rgba(6,17,31,.98),rgba(6,17,31,.84));backdrop-filter:blur(10px);margin:-14px -14px 14px;padding:12px;border-bottom:1px solid rgba(103,232,249,.16)}.topbar h1{font-size:22px;line-height:1.12;margin:6px 0}.badge{font-size:11px;padding:7px 10px}.grid,.grid.two,.grid.three,.pulse-grid,.module-map,.doc-status-grid,.file-list{grid-template-columns:1fr!important}.card{padding:14px;border-radius:18px}.span12,.span9,.span8,.span6,.span4,.span3{grid-column:span 1!important}.login-card{grid-template-columns:1fr}.login-hero,.login-form{padding:28px}.login-hero h1{font-size:34px}.sidebar-bottom{position:sticky;bottom:0}.nav-sub{display:grid}.nav-group:not(.open):not(.active)>.nav-sub{grid-template-rows:0fr;padding-top:0;padding-bottom:0}.nav-group.open>.nav-sub,.nav-group.active>.nav-sub{grid-template-rows:1fr}.constructor-shell,.constructor-shell:has(.constructor-preview){grid-template-columns:1fr!important}.constructor-menu,.constructor-preview{position:relative!important;top:auto!important;min-width:0!important;max-height:none!important}.constructor-preview .iso-a4{width:auto!important;min-width:0!important}.hero-iso h2{font-size:24px}}
@media(max-width:480px){.main{padding:10px}.topbar{margin:-10px -10px 10px;padding:10px}.topbar h1{font-size:19px}.mobile-menu-btn{width:40px;height:38px}.nav a,.nav-parent{font-size:14px}.nav-sub a{font-size:12px}.btn{width:100%;margin-top:6px}.actions .btn{width:auto}.metric{font-size:34px}.doc-status-grid div b{font-size:24px}}

/* FIX v2.1 · submenu lateral: evita texto vertical y despliegue por hover roto */
.nav-group:hover .nav-parent span,
.nav-group.active .nav-parent span,
.nav-parent span{
  transform:none !important;
  writing-mode:horizontal-tb !important;
  text-orientation:mixed !important;
  opacity:1 !important;
}
.nav-parent > span{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  min-width:0 !important;
  white-space:normal !important;
}
.nav-parent i{
  flex:0 0 auto !important;
  transition:transform .18s ease !important;
}
.nav-group.open > .nav-parent i,
.nav-group.active > .nav-parent i{
  transform:rotate(90deg) !important;
}
.nav-sub{
  display:grid !important;
  grid-template-rows:0fr !important;
  overflow:hidden !important;
  margin:0 0 0 14px !important;
  padding:0 0 0 8px !important;
  border-left:1px solid rgba(103,232,249,.20) !important;
  background:transparent !important;
  border-radius:0 !important;
  transition:grid-template-rows .2s ease,padding .2s ease !important;
}
.nav-sub::before{display:none !important;}
.nav-sub a{
  min-height:0 !important;
  max-height:0 !important;
  overflow:hidden !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
  opacity:0 !important;
  transition:opacity .16s ease,padding .16s ease,margin .16s ease,max-height .16s ease !important;
}
.nav-group.open > .nav-sub,
.nav-group.active > .nav-sub{
  grid-template-rows:1fr !important;
  padding-top:6px !important;
  padding-bottom:4px !important;
}
.nav-group.open > .nav-sub a,
.nav-group.active > .nav-sub a{
  min-height:34px !important;
  max-height:80px !important;
  padding:8px 10px !important;
  margin:2px 0 !important;
  opacity:1 !important;
  overflow:visible !important;
}
.nav-group:hover > .nav-sub{
  /* el hover no fuerza apertura completa; se abre por click para no cargar visualmente */
}
@media(max-width:820px){
  .nav-parent span{transform:none !important;writing-mode:horizontal-tb !important;}
  .sidebar{overflow-y:auto !important;-webkit-overflow-scrolling:touch !important;}
  .sidebar-bottom{position:sticky !important;bottom:0 !important;}
}
