@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--primary:#4f46e5;--primary-hover:#4338ca;--secondary:#059669;--secondary-hover:#047857;--danger:#e11d48;--danger-hover:#be123c;--warning:#d97706;--background:#f8fafc;--surface:#fffc;--surface-hover:#fff;--surface-light:#f1f5f9cc;--text-main:#0f172a;--text-muted:#64748b;--border:#0f172a14;--radius:16px;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--glass-bg:#ffffffa6;--glass-border:#0f172a0d;--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 4px 6px -1px #0000000d, 0 2px 4px -1px #00000008;--shadow-lg:0 10px 25px -5px #00000014, 0 8px 10px -6px #0000000a;--shadow-glow:0 0 20px #4f46e51a}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--background);color:var(--text-main);-webkit-font-smoothing:antialiased;background-image:radial-gradient(at 0 0,#6366f114 0,#0000 50%),radial-gradient(at 100% 100%,#10b9810d 0,#0000 50%);background-attachment:fixed;min-height:100vh;line-height:1.6}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.glass-panel{background:var(--surface);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg)}.btn{border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn:active{transform:scale(.96)}.btn-primary{background:linear-gradient(135deg, var(--primary), var(--primary-hover));color:#fff;box-shadow:0 4px 14px #6366f140}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #6366f159}.btn-secondary{background:linear-gradient(135deg, var(--secondary), var(--secondary-hover));color:#fff;box-shadow:0 4px 14px #10b98140}.btn-secondary:hover{transform:translateY(-1px)}.btn-danger{background:linear-gradient(135deg, var(--danger), var(--danger-hover));color:#fff;box-shadow:0 4px 14px #f43f5e40}.btn-danger:hover{transform:translateY(-1px)}.btn-outline{border:1px solid var(--border);color:var(--text-main);box-shadow:var(--shadow-sm);background-color:#fff}.btn-outline:hover{background-color:var(--surface-light);border-color:#cbd5e1}.app-container{min-height:100vh;display:flex;position:relative}.sidebar{-webkit-backdrop-filter:blur(20px);border-right:1px solid var(--border);z-index:10;background:#ffffffe6;flex-direction:column;flex-shrink:0;width:280px;height:100vh;display:flex;box-shadow:4px 0 24px #00000005}.main-content{flex-direction:column;flex:1;min-width:0;height:100vh;display:flex;overflow:hidden}.page-content{flex:1;padding:2.5rem;overflow-y:auto}h1,h2,h3,h4,h5,h6{color:var(--text-main);letter-spacing:-.025em;font-weight:700;line-height:1.2}h1{margin-bottom:1.5rem;font-size:2.25rem}h2{margin-bottom:1rem;font-size:1.5rem}h3{margin-bottom:.75rem;font-size:1.25rem}.text-muted{color:var(--text-muted)}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.form-group{margin-bottom:1.5rem}.form-label{color:var(--text-muted);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.form-input,.form-select,.form-textarea{width:100%;color:var(--text-main);background-color:#fff;border:1px solid #cbd5e1;border-radius:12px;padding:.75rem 1rem;font-family:inherit;font-size:1rem;transition:all .25s;box-shadow:inset 0 1px 2px #00000005}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);background-color:#fff;outline:none;box-shadow:0 0 0 3px #6366f126,inset 0 1px 2px #00000005}.search-bar{align-items:center;width:100%;display:flex;position:relative}.search-bar .search-icon{color:#94a3b8;pointer-events:none;transition:color .2s;position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.search-bar .search-input{width:100%;color:var(--text-main);background-color:#fff;border:1px solid #cbd5e1;border-radius:12px;padding:.65rem 1rem .65rem 2.5rem;font-family:inherit;font-size:.875rem;transition:all .2s;box-shadow:0 1px 2px #00000008}.search-bar .search-input:focus{border-color:var(--primary);background-color:#fff;outline:none;box-shadow:0 0 0 3px #6366f126}.search-bar:focus-within .search-icon{color:var(--primary)}.badge{text-transform:uppercase;letter-spacing:.05em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:9999px;padding:.35rem .85rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-success{color:#059669;background:#10b9811a;border:1px solid #10b98133}.badge-warning{color:#d97706;background:#f59e0b1a;border:1px solid #f59e0b33}.badge-danger{color:#e11d48;background:#f43f5e1a;border:1px solid #f43f5e33}.badge-primary{color:#4f46e5;background:#6366f11a;border:1px solid #6366f133}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.card{border-radius:var(--radius);border:1px solid var(--border);background:#fff;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 4px 6px -1px #00000008,0 2px 4px -1px #00000005}.card:before{content:"";opacity:0;background:linear-gradient(90deg,#0000,#6366f133,#0000);height:1px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.card:hover{box-shadow:var(--shadow-lg);border-color:#6366f133;transform:translateY(-2px)}.card:hover:before{opacity:1}.card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:1.25rem;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.5s cubic-bezier(.4,0,.2,1) forwards fadeIn}@keyframes pulse-subtle{0%,to{opacity:1}50%{opacity:.8}}.animate-pulse-subtle{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse-subtle}@media (width<=1024px){.grid-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}.org-tree{justify-content:center;padding:20px;display:flex;overflow-x:auto}.org-tree ul{justify-content:center;padding-top:20px;padding-left:0;list-style:none;transition:all .5s;display:flex;position:relative}.org-tree li{text-align:center;padding:20px 5px 0;list-style-type:none;transition:all .5s;position:relative}.org-tree li:before,.org-tree li:after{content:"";border-top:2px solid #cbd5e1;width:50%;height:20px;position:absolute;top:0;right:50%}.org-tree li:after{border-left:2px solid #cbd5e1;left:50%;right:auto}.org-tree li:only-child:after,.org-tree li:only-child:before{display:none}.org-tree li:only-child{padding-top:0}.org-tree li:first-child:before,.org-tree li:last-child:after{border:0}.org-tree li:last-child:before{border-right:2px solid #cbd5e1;border-radius:0 5px 0 0}.org-tree li:first-child:after{border-radius:5px 0 0}.org-tree ul ul:before{content:"";border-left:2px solid #cbd5e1;width:0;height:20px;position:absolute;top:0;left:50%;transform:translate(-1px)}.org-tree .node-box{color:#0f172a;border:2px solid #1e293b;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-width:140px;padding:10px 15px;font-weight:600;display:inline-flex;box-shadow:0 2px 4px #0000000d}@media print{@page{margin:1cm;size:A4 portrait}body{color:#000!important;background-color:#fff!important;background-image:none!important;margin:0!important;padding:0!important}.sidebar,.nav-bar,header,footer{display:none!important}.app-container{margin:0!important;padding:0!important;display:block!important}.main-content{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}.page-content{max-width:100%!important;margin:0!important;padding:0!important}#print-area{width:100%!important}.card{break-inside:avoid;box-shadow:none!important;background:#fff!important;border:none!important;margin-bottom:2rem!important;padding:0!important}table{border-collapse:collapse!important;width:100%!important}th,td{color:#000!important;border:1px solid #ccc!important}.no-print{display:none!important}}.mobile-header,.mobile-bottom-nav,.sidebar-close-btn,.sidebar-backdrop{display:none}@media screen and (width<=768px){.app-container{min-height:100dvh;position:relative;overflow-x:hidden;flex-direction:column!important}.mobile-header{-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);z-index:50;background:#fffffff2;justify-content:space-between;align-items:center;height:58px;padding:.75rem 1rem;display:flex;position:sticky;top:0;box-shadow:0 1px 3px #0000000a}.mobile-header-left{align-items:center;gap:.75rem;display:flex}.mobile-header-btn{cursor:pointer;background:#6366f114;border:none;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;transition:background .2s;display:flex}.mobile-header-btn:active{background:#6366f133;transform:scale(.95)}.mobile-brand{align-items:center;gap:.4rem;display:flex}.mobile-brand-title{color:var(--text-main);letter-spacing:-.02em;font-size:1.15rem;font-weight:700}.mobile-header-right{align-items:center;gap:.5rem;display:flex}.mobile-company-tag{color:var(--text-muted);background:var(--surface-light);white-space:nowrap;text-overflow:ellipsis;border:1px solid #0000000d;border-radius:6px;max-width:110px;padding:.25rem .5rem;font-size:.7rem;font-weight:600;overflow:hidden}.mobile-user-badge{cursor:pointer;background:#6366f10f;border:1px solid #6366f126;border-radius:20px;align-items:center;gap:.4rem;padding:.25rem .45rem;display:flex}.mobile-avatar{background:linear-gradient(135deg, var(--primary), var(--primary-hover));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:700;display:flex}.mobile-role-text{color:var(--primary);text-transform:uppercase;letter-spacing:.03em;font-size:.68rem;font-weight:700}.mobile-bottom-nav{-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border);padding:.4rem .5rem calc(.4rem + env(safe-area-inset-bottom,0px));height:calc(62px + env(safe-area-inset-bottom,0px));z-index:80;background:#fffffff5;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #0000000a}.mobile-nav-item{color:var(--text-muted);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.15rem;padding:.35rem .2rem;font-size:.7rem;font-weight:500;text-decoration:none;transition:color .15s;display:flex;position:relative}.mobile-nav-item.active{color:var(--primary);font-weight:700}.mobile-nav-icon{justify-content:center;align-items:center;transition:transform .2s cubic-bezier(.34,1.56,.64,1);display:flex}.mobile-nav-item.active .mobile-nav-icon{transform:translateY(-2px)scale(1.08)}.mobile-nav-label{letter-spacing:-.01em;font-size:.68rem}.mobile-nav-indicator{background:var(--primary);border-radius:3px;width:18px;height:3px;position:absolute;bottom:2px}.sidebar{transition:transform .28s cubic-bezier(.4,0,.2,1);top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:4px 0 24px #00000026;z-index:1000!important;background:#fffffffa!important;flex-direction:column!important;width:82vw!important;max-width:320px!important;height:100dvh!important;display:flex!important;position:fixed!important}.sidebar.open{transform:translate(0)}.sidebar nav{box-sizing:border-box!important;flex-direction:column!important;gap:.35rem!important;width:100%!important;padding:.75rem .65rem!important;display:flex!important;overflow:hidden auto!important}.sidebar nav a{box-sizing:border-box!important;white-space:normal!important;width:100%!important}.sidebar-backdrop{-webkit-backdrop-filter:blur(4px);z-index:999;opacity:0;pointer-events:none;background:#0f172a66;transition:opacity .28s;display:block;position:fixed;inset:0}.sidebar-backdrop.open{opacity:1;pointer-events:auto}.sidebar-close-btn{background:var(--surface-light);border:1px solid var(--border);width:32px;height:32px;color:var(--text-muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:flex}.main-content{flex:1;width:100%!important;height:auto!important;overflow-y:visible!important}.page-content{padding:1rem .85rem calc(5.5rem + env(safe-area-inset-bottom,0px))!important;overflow-y:visible!important}h1{margin-bottom:1rem!important;font-size:1.5rem!important}h2{margin-bottom:.75rem!important;font-size:1.25rem!important}h3{margin-bottom:.5rem!important;font-size:1.1rem!important}.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(1,minmax(0,1fr))!important}.form-input,.form-select,.form-textarea{border-radius:10px!important;padding:.75rem .85rem!important;font-size:16px!important}.btn{-webkit-tap-highlight-color:transparent;min-height:44px;padding:.65rem 1.1rem;font-size:.9rem}.table-responsive,table{-webkit-overflow-scrolling:touch;width:100%;display:block;overflow-x:auto}.card,.glass-panel{border-radius:12px!important;padding:1rem!important}.desktop-table-view{display:none!important}.mobile-card-list{flex-direction:column;gap:.85rem;display:flex!important}.dashboard-kpi-grid{grid-template-columns:repeat(2,1fr)!important;gap:.65rem!important;margin-bottom:1.25rem!important;display:grid!important}.dashboard-kpi-card{border-radius:12px!important;gap:.4rem!important;padding:.85rem!important}.dashboard-kpi-card .kpi-number{font-size:1.5rem!important}.dashboard-kpi-card .kpi-title{font-size:.76rem!important}.dashboard-kpi-card .kpi-icon{border-radius:10px!important;width:38px!important;height:38px!important}.dashboard-kpi-card .kpi-trend{padding:.15rem .4rem!important;font-size:.65rem!important}.modal-card-responsive{border-radius:0!important;flex-direction:column!important;width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100vh!important;margin:0!important;display:flex!important}.modal-responsive-body{padding:.75rem!important}.modal-responsive-footer{border-top:1px solid var(--border)!important;padding:.65rem .85rem calc(.65rem + env(safe-area-inset-bottom,0px))!important;z-index:20!important;background:#fff!important;justify-content:stretch!important;align-items:center!important;gap:.5rem!important;display:flex!important;position:sticky!important;bottom:0!important;box-shadow:0 -2px 10px #0000000a!important}.modal-responsive-footer .footer-info{display:none!important}.modal-responsive-footer .footer-actions{gap:.5rem!important;width:100%!important;display:flex!important}.modal-responsive-footer .btn{white-space:nowrap!important;flex:1!important;justify-content:center!important;min-height:44px!important;padding:.55rem .75rem!important;font-size:.88rem!important;font-weight:600!important}.dynamic-header-grid{grid-template-columns:1fr!important;gap:.85rem!important}.viewer-desktop-actions,.desktop-findings-view{display:none!important}.mobile-findings-view{flex-direction:column;gap:1rem;display:flex!important}.linea-base-grid-layout{grid-template-columns:1fr!important;gap:.85rem!important}.desktop-lineamiento-sidebar,.desktop-score-definitions{display:none!important}.mobile-evaluator-bottom-bar{display:flex!important}}.mobile-card-list{display:none}.desktop-table-view{display:block}.modal-card-responsive{border-radius:var(--radius);background:#f8fafc;flex-direction:column;width:90vw;max-width:860px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 40px -15px #00000040}.modal-responsive-body{flex:1;padding:1.5rem;overflow-y:auto}.modal-responsive-footer{border-top:1px solid var(--border);background:#fff;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.dynamic-header-grid{grid-template-columns:1.2fr 1.3fr 1.5fr;gap:1.5rem;display:grid}.viewer-desktop-actions{align-items:center;gap:.5rem;display:flex}.linea-base-grid-layout{grid-template-columns:minmax(230px,280px) 1fr minmax(220px,260px);align-items:start;gap:1rem;display:grid}@media (width<=1100px){.linea-base-grid-layout{grid-template-columns:240px 1fr!important}.desktop-score-definitions{display:none!important}}.desktop-findings-view{display:block}.mobile-findings-view{display:none}.dashboard-kpi-grid{grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-bottom:2rem;display:grid}.dashboard-kpi-card{border:1px solid var(--border);background:#fff;border-radius:14px;flex-direction:column;gap:1rem;padding:1.25rem;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 3px #0000000a}.dashboard-kpi-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000000f}.dashboard-kpi-card .kpi-number{color:var(--text-main);font-size:2rem;font-weight:800;line-height:1}.dashboard-kpi-card .kpi-title{color:var(--text-muted);margin-top:.4rem;font-size:.88rem;font-weight:600}.dashboard-kpi-card .kpi-icon{border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.dashboard-kpi-card .kpi-trend{border-radius:20px;align-items:center;gap:.25rem;padding:.2rem .5rem;font-size:.72rem;font-weight:600;display:flex}
