/* PSICOfile: sistema visual compartido */
:root{--pf-navy:#17324d;--pf-teal:#087f8c;--pf-bg:#f3f6fa;--pf-text:#24374b;--pf-muted:#62758a;--pf-border:#dbe4ed;--pf-radius:14px;--pf-shadow:0 8px 28px #17324d0b}
*{box-sizing:border-box}body{margin:0!important;background:var(--pf-bg)!important;background-image:none!important;color:var(--pf-text)!important;font-family:Inter,"Segoe UI",Arial,sans-serif!important;line-height:1.55}h1,h2,h3{color:var(--pf-navy);line-height:1.25}a{color:#076e7a}a:hover{color:#17324d}input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]),select,textarea{max-width:100%;border:1px solid var(--pf-border)!important;border-radius:8px!important;background:#fff;color:var(--pf-text);padding:10px 12px;font:inherit}input:focus,select:focus,textarea:focus{outline:3px solid #087f8c25;border-color:var(--pf-teal)!important}label{color:var(--pf-text)}button,input[type=submit],.btn-abrir-ia,.login-btn{border-radius:8px!important;font:inherit;cursor:pointer}button[type=submit],input[type=submit],.login-btn,.btn-abrir-ia{background:var(--pf-teal)!important;color:#fff!important;border:0!important}button:focus-visible,a:focus-visible{outline:3px solid #32b9c5;outline-offset:3px}.container,.form-container,.login-container,.caja{border-radius:var(--pf-radius)!important;box-shadow:var(--pf-shadow)!important;border:1px solid var(--pf-border)!important;background:#fff!important;color:var(--pf-text)!important}table{border-collapse:collapse;width:100%;background:#fff;color:var(--pf-text)}th{background:var(--pf-navy)!important;color:#fff!important;text-align:left}th,td{padding:12px;border-bottom:1px solid var(--pf-border)}tbody tr:nth-child(even){background:#f7f9fc}tbody tr:hover{background:#edf6f7}.table-scroll{max-width:100%;overflow-x:auto}.footer{background:var(--pf-navy)!important;color:#e5edf5!important;margin-top:40px}.footer h3,.footer a,.footer-bottom{color:#e5edf5!important}
/* Navegación persistente y accesible */
nav.menu{position:relative!important;inset:auto!important;width:100%!important;min-height:72px;background:var(--pf-navy)!important;color:#fff;padding:14px 24px!important;display:flex!important;align-items:center;gap:20px;z-index:1000;box-shadow:0 3px 12px #17324d18;border-radius:0!important}nav.menu .credenciales{margin:0;white-space:nowrap}nav.menu .logo{color:#fff!important;font-size:18px!important;font-weight:700;text-decoration:none}nav.menu>ul{display:flex!important;flex-wrap:wrap;gap:4px;list-style:none;margin:0!important;padding:0!important;flex:1}nav.menu>ul>li{position:relative;margin:0!important;padding:0!important}nav.menu>ul>li>a{background:transparent!important;border-radius:8px!important;color:#eaf1f8!important;padding:10px 12px!important;font-size:14px!important;text-decoration:none;display:block}nav.menu>ul>li>a:hover,nav.menu>ul>li:focus-within>a{background:#ffffff15!important}nav.menu .submenu{position:absolute!important;top:100%!important;left:0!important;width:270px!important;max-height:70vh;overflow-y:auto;background:#fff!important;box-shadow:0 12px 32px #17324d25;border:1px solid var(--pf-border);padding:8px!important;border-radius:10px!important;list-style:none;display:none;z-index:1001}nav.menu li:hover>.submenu,nav.menu li:focus-within>.submenu,nav.menu li.is-open>.submenu{display:block!important}nav.menu .submenu li{display:flex;align-items:center;margin:0!important;padding:0!important}nav.menu .submenu img{width:22px;height:22px;object-fit:contain;margin:8px}nav.menu .submenu a{color:var(--pf-text)!important;background:transparent!important;padding:10px 6px;flex:1;font-size:14px;text-decoration:none}nav.menu .submenu li:hover{background:#edf6f7}.navigation-toggle{display:none;background:#ffffff15;color:#fff;border:1px solid #ffffff40;padding:8px 12px}
/* Inicio: panel institucional */
.contenedor-tres{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important;width:min(1380px,calc(100% - 48px))!important;margin:26px auto!important}.contenedor-tres>.caja{width:auto!important;min-width:0;padding:24px!important;height:auto!important}.caja h2{color:var(--pf-navy)!important;font-size:20px}.valor{color:var(--pf-teal)!important;font-weight:750}.indicador,.campo,.indicador-campo,.indicador-campo2{color:var(--pf-text)!important}.dashboard-intro{width:min(1380px,calc(100% - 48px));margin:30px auto 12px}.dashboard-intro p{color:var(--pf-muted);margin:8px 0}.dashboard-intro h1{font-size:30px;margin:0}.dashboard-intro .eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:2px;color:var(--pf-teal);font-weight:700}
/* Acceso: dos columnas, sin desplazamientos absolutos */
.page{background:var(--pf-bg)!important;padding:40px 24px!important}.frame{width:min(1120px,100%)!important;box-shadow:var(--pf-shadow)!important;border:1px solid var(--pf-border)}.hero{background:linear-gradient(135deg,#17324d,#204b68)!important;grid-template-columns:1.15fr 1fr!important;padding:48px!important;gap:40px;min-height:560px!important;align-items:center!important}.hero:before{display:none}.hero .left,.hero .right{padding:0!important;transform:none!important}.hero .brand{position:static!important;margin-bottom:26px}.hero .brand img{height:64px;max-width:100%;object-fit:contain}.hero h1{color:#fff!important;font-size:clamp(28px,3vw,42px)!important;line-height:1.15}.hero h1 .soft{color:#80d9dc!important}.hero .lead{color:#d9e6ef!important;font-size:16px}.hero .glass-box{width:100%!important;background:#ffffff0a!important;border:1px solid #ffffff25;box-shadow:none}.hero .glass-title{color:#9be0e1!important;font-size:16px}.hero .list{color:#eaf1f8!important;font-size:14px}.hero .portal-card{margin:0!important;background:#fff!important;backdrop-filter:none!important;width:100%!important;padding:28px!important;box-shadow:none!important;border:0}.hero .portal-card h2{color:var(--pf-navy)!important;font-size:24px}.hero .login-form{gap:12px}.hero .login-form label{color:var(--pf-text)!important}.hero .login-btn{padding:13px}.error{color:#912b35!important;background:#fff0f1!important;border:1px solid #f1c8cd;border-radius:8px;padding:12px}
@media(max-width:1100px){nav.menu{flex-wrap:wrap}.contenedor-tres{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:720px){.navigation-toggle{display:block;margin-left:auto}nav.menu{padding:12px 16px!important}nav.menu>ul{display:none!important;flex-basis:100%}nav.menu.navigation-expanded>ul{display:flex!important;flex-direction:column}nav.menu .submenu{position:static!important;width:100%!important;max-height:none}.contenedor-tres{grid-template-columns:1fr!important;width:calc(100% - 24px)!important;gap:14px!important}.dashboard-intro{width:calc(100% - 24px)}.hero{grid-template-columns:1fr!important;padding:28px!important;gap:26px}.page{padding:16px!important}.container,.form-container{max-width:calc(100% - 24px)!important;margin-left:auto!important;margin-right:auto!important}nav.menu .logo{font-size:16px!important}}
@media print{nav.menu,.navigation-toggle,.dashboard-intro{display:none!important}body{background:#fff!important}.caja{box-shadow:none!important}}
/* Corrección de paneles, indicadores y marca (revisión 2). */
.calendar,.panel-informativo-flotante,.modal-info-box,#contenedor-ia{background:#17324d!important;color:#fff!important}
.calendar h2,.calendar .header,.panel-informativo-titulo,.panel-fechas-semana,.modal-info-box h3,.modal-info-box #modalInfoTexto{color:#fff!important}
.panel-informativo-subtitulo,.panel-informativo-cerrar{background:#294c6d!important;color:#fff!important;border-color:#365e80!important}
.panel-informativo-lista li,.panel-informativo-vacio{background:#eef3f8!important;color:#24374b!important;border-color:#dbe4ed!important}
.panel-informativo-lista strong{color:#17324d!important}.panel-informativo-lista li:nth-child(even){background:#e4edf5!important}
nav.menu .credenciales{display:flex;align-items:center;gap:10px}nav.menu .credenciales>img.icono-imagen{width:38px!important;height:38px!important;min-width:38px;object-fit:contain!important;padding:5px!important;border-radius:50%!important;background:#fff!important;margin:0!important;display:block}
.pf-chart,.pf-risk{width:100%;max-width:420px;margin:0 auto;text-align:center}.pf-chart h2{font-size:20px;margin:14px 0 20px}.pf-chart svg,.pf-risk svg{display:block;width:100%;height:auto;overflow:visible}.pf-risk{max-width:340px}.pf-risk-value{font-size:32px!important;font-weight:750;color:#17324d!important;margin:4px 0!important}.pf-widget-caption{font-size:13px;color:#62758a!important;line-height:1.5;margin:12px 0}.widget-page{width:min(500px,calc(100% - 32px));margin:32px auto;padding:24px;background:#fff;border:1px solid #dbe4ed;border-radius:14px}
.dashboard-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.dashboard-actions button{background:#17324d!important;color:#fff!important;border:0!important;padding:10px 16px!important;border-radius:8px!important}.dashboard-actions button:hover{background:#294c6d!important}
/* IA: colores únicamente, conservando distribución y comportamiento. */
#contenedor-ia .ia-header{background:#294c6d!important;color:#fff!important}
#contenedor-ia .ia-body{background:#17324d!important;color:#fff!important}
#contenedor-ia .ia-chat-log{background:#eef3f8!important;border-color:#dbe4ed!important}
#contenedor-ia .ia-assistant .ia-bubble{background:#fff!important;color:#24374b!important;border-color:#dbe4ed!important}
#contenedor-ia .ia-user .ia-bubble{background:#e2eef8!important;color:#17324d!important;border-color:#bfd4e6!important}
#contenedor-ia .ia-assistant .ia-avatar{background:#17324d!important;color:#fff!important}
#contenedor-ia .ia-user .ia-avatar{background:#087f8c!important;color:#fff!important}
#contenedor-ia .ia-separator{color:#62758a!important}#contenedor-ia .ia-separator:before,#contenedor-ia .ia-separator:after{background:#c6d4e0!important}
#contenedor-ia .ia-close,#contenedor-ia .ia-chat-form button{background:#294c6d!important;color:#fff!important}
.pf-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:20px auto;padding:16px 20px;max-width:calc(100% - 32px);border:1px solid #dbe4ed;border-radius:12px;background:#fff;color:#17324d}.pf-create-button{display:inline-block;background:#17324d;color:#fff!important;text-decoration:none;padding:10px 18px;border-radius:8px;font-weight:600}.pf-create-button:hover{background:#294c6d}
