.toast-stack{z-index:2000;flex-direction:column;gap:8px;max-width:min(420px,100vw - 32px);display:flex;position:fixed;bottom:20px;right:20px}.toast{color:#fff;border-radius:8px;align-items:flex-start;gap:12px;padding:12px 14px;font-size:14px;display:flex;box-shadow:0 6px 20px #0000002e}.toast span{flex:1;line-height:1.4}.toast button{color:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:18px;line-height:1}.toast-success{background:#1f7a4d}.toast-error{background:#b3261e}.modal-overlay{z-index:1000;background:#1a253b5c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-panel{border:1px solid var(--border);border-radius:var(--r-dialog);background:#fff;width:min(760px,100vw - 32px);max-width:100%;max-height:calc(100vh - 32px);padding:24px;overflow:auto;box-shadow:0 20px 55px #1a253b33}.modal-panel:focus,dialog:focus{outline:none}.modal-title{margin:0 0 12px;font-size:17px;line-height:1.35}.confirm-dialog{width:420px;padding:22px 24px}.confirm-dialog p{color:#374151;margin:0 0 20px;line-height:1.5}.confirm-actions{justify-content:flex-end;gap:10px;display:flex}:where(dialog[open]){width:auto;max-width:none;height:auto;max-height:none;color:inherit;border:0;margin:0;padding:0;position:static;inset:auto}.modal-panel>.form-card{width:100%;max-width:none;box-shadow:none;background:0 0;border:0;border-radius:0;gap:16px;margin:0;padding:0}.modal-client-form{width:min(600px,100vw - 32px)}.modal-panel>.form-card .form-actions{border-top:1px solid var(--border);flex-wrap:wrap;margin-top:4px;padding-top:16px}.modal-overlay dialog{box-sizing:border-box;overscroll-behavior:contain}.modal-overlay dialog input:not([type=file]):not([type=checkbox]):not([type=radio]),.modal-overlay dialog select,.modal-overlay dialog textarea{box-sizing:border-box;border-radius:var(--r-control);width:100%;min-width:0;font-size:13px;line-height:1.5}.modal-overlay dialog textarea{overflow-wrap:anywhere}@media (width<=600px){.modal-overlay dialog{padding:18px}.modal-panel .form-row{grid-template-columns:1fr}}.modal-overlay dialog input[type=file]{box-sizing:border-box;max-width:100%;font-size:12px}.modal-overlay dialog input::file-selector-button{border:1px solid var(--border);border-radius:var(--r-control);color:var(--text-primary);font:inherit;cursor:pointer;background:#fff;margin-right:10px;padding:7px 10px}.modal-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.modal-heading .modal-title{overflow-wrap:anywhere;min-width:0;margin:0}.modal-close{border:1px solid var(--border);border-radius:var(--r-control);width:32px;height:32px;color:var(--text-secondary);background:#fff;flex:none;place-items:center;padding:0;display:grid}.modal-close:hover{color:var(--text-primary);border-color:var(--border-strong)}.modal-close:focus-visible{outline:2px solid var(--teal);outline-offset:2px}html:has(.login-page){min-width:320px}.login-page{background:#fff;grid-template-columns:minmax(0,1.1fr) minmax(400px,1fr);min-height:100dvh;display:grid}.login-story{border-right:1px solid var(--border);background:#f0f4fa;flex-direction:column;justify-content:space-between;gap:60px;padding:44px clamp(28px,5vw,84px);display:flex;position:relative}.login-story:before{content:"";background:linear-gradient(to bottom, var(--teal) 0 25%, var(--red) 25% 50%, var(--orange) 50% 75%, var(--navy) 75%);width:4px;height:100%;position:absolute;top:0;left:0}.login-brand{aspect-ratio:2.94;object-fit:contain;width:280px;max-width:100%}.login-eyebrow{letter-spacing:0;color:var(--navy);margin:0 0 20px;font-size:10px;font-weight:700}.login-intro h1{letter-spacing:0;color:var(--navy);overflow-wrap:break-word;font-size:44px;font-weight:600;line-height:1.18}.login-subtitle{max-width:470px;color:var(--teal);margin:22px 0 0;font-size:17px;line-height:1.6}.login-description{max-width:470px;color:var(--text-secondary);margin:16px 0 36px;font-size:15px;line-height:1.8}.login-flow{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:16px;max-width:470px;display:grid}.login-flow>div{flex-direction:column;align-items:center;gap:12px;min-width:0;display:flex}.login-flow img{object-fit:contain;width:34px;height:34px}.login-flow div strong{color:var(--navy);font-size:13px;font-weight:600}.login-story-foot{justify-content:flex-end;align-items:center;display:flex}.login-story-foot .login-stefanini{aspect-ratio:3.95;object-fit:contain;width:125px;margin-left:auto}.login-access{place-items:center;padding:48px 36px;display:grid}.login-card{width:100%;min-width:0;max-width:360px}.login-card h2{letter-spacing:0;font-size:29px;font-weight:600;line-height:1.25}.login-card .sub{color:var(--text-secondary);margin:12px 0 34px;font-size:13px;line-height:1.7}.login-card form{gap:20px;display:grid}.login-card label{color:var(--text-primary);gap:9px;font-size:12px;font-weight:600;display:grid}.login-card input{border:1px solid var(--border);width:100%;min-height:48px;color:var(--text-primary);background:#fff;border-radius:9px;padding:13px 15px;font-size:14px}.login-card input:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.login-card button{background:var(--navy);color:#fff;border:0;border-radius:9px;min-height:48px;margin-top:8px;padding:13px 18px;font-size:13px;font-weight:600}.login-card button:hover:not(:disabled){box-shadow:0 4px 12px #01236a25}.login-card button:disabled{opacity:.6;cursor:wait}.login-card .error{color:var(--risk-alta-text);background:var(--risk-alta-bg);border-radius:8px;padding:12px;font-size:13px;line-height:1.5}.login-access-note{border-top:1px solid var(--border);color:var(--text-secondary);margin:28px 0 0;padding-top:22px;font-size:11px;line-height:1.8}@media (width<=850px){.login-page{grid-template-columns:minmax(0,1fr)}.login-story{border-right:0;border-bottom:1px solid var(--border);gap:12px;padding:20px}.login-brand{width:175px}.login-eyebrow{margin-bottom:8px}.login-intro h1{font-size:28px}.login-subtitle{margin-top:8px;font-size:13px}.login-description{margin:10px 0 14px;font-size:12px;line-height:1.5}.login-flow{gap:8px}.login-flow>div{gap:6px}.login-flow img{width:24px;height:24px}.login-flow div strong{font-size:11px}.login-story-foot{margin-top:4px}.login-story-foot .login-stefanini{width:100px}.login-access{padding:24px 20px}.login-card h2{font-size:26px}.login-card .sub{margin-bottom:24px}}@media (width<=380px){.login-intro h1{font-size:28px}}.nb-wrap{position:relative}.nb-bell{background:var(--paper);border:1px solid var(--border);border-radius:var(--r-control);cursor:pointer;color:#647287;place-items:center;width:36px;height:36px;padding:0;display:grid;position:relative}.nb-bell:hover,.nb-bell[aria-expanded=true]{color:#17685e;background:#f0f5f0;border-color:#c7d7ce}.nb-bell-icon{width:17px;height:17px}.nb-badge{color:#fff;text-align:center;background:#c94f59;border-radius:99px;min-width:16px;padding:1px 5px;font-size:10px;font-weight:700;position:absolute;top:0;right:0}.nb-panel{border-radius:var(--r-card);border:1px solid var(--border);z-index:200;background:#fff;width:340px;max-width:88vw;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 16px 40px #1e2b4321}.nb-panel-head{border-bottom:1px solid var(--border);padding:12px 16px;font-size:13.5px;font-weight:700}.nb-empty{color:var(--text-muted);text-align:center;padding:24px 16px;font-size:12.5px}.nb-list{max-height:360px;overflow-y:auto}.nb-item{border-bottom:1px solid var(--bg);cursor:pointer;align-items:flex-start;gap:10px;padding:12px 16px;display:flex}.nb-item:hover{background:var(--bg)}.nb-item.unread{background:#edf5f3}.nb-icon{margin-top:1px;font-size:15px}.nb-body{flex:1;min-width:0}.nb-message{color:var(--text-primary);font-size:12.5px;line-height:1.4}.nb-meta{color:var(--text-muted);gap:8px;margin-top:4px;font-size:10.5px;display:flex}.nb-service{font-weight:600}.nb-dot{background:var(--teal);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:4px}button.nb-item{width:100%;font:inherit;color:inherit;text-align:left;border:0;border-bottom:1px solid var(--border);background:#fff;border-radius:0}button.nb-item:hover{background:#f5f8f7}@media (width<=600px){.nb-panel{width:auto;max-width:none;position:fixed;top:60px;left:14px;right:14px}.nb-list{max-height:min(360px,100dvh - 150px)}}.shell{background:var(--bg);min-height:100vh;display:flex}.shell.hub-open{height:100dvh;min-height:100dvh;overflow:hidden}.shell.hub-open .workspace-scope{display:none}.shell.hub-open .main{height:100dvh;min-height:0;overflow:hidden}.shell .sidebar{background:var(--paper);width:242px;color:var(--text-primary);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:22px;height:100dvh;padding:23px 15px 16px;transition:width .22s,padding .22s;display:flex;position:sticky;top:0;overflow-y:auto}.shell .logo{align-items:center;min-height:50px;padding:0 10px;display:flex}.shell .side-logo{object-fit:contain;object-position:left center;width:100%;max-width:184px;max-height:48px;display:block}.shell .sidebar nav{flex-direction:column;gap:22px;display:flex}.shell .nav-group{gap:3px;display:grid}.shell .nav-group-label{color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;margin:0 12px 7px;font-size:10px;font-weight:700}.shell .sidebar nav a{color:#59657a;border-radius:11px;align-items:center;gap:11px;min-height:40px;padding:9px 12px;font-size:12.5px;font-weight:550;text-decoration:none;transition:background .15s,color .15s;display:flex}.shell .sidebar nav a svg{color:#8290a0;flex-shrink:0}.shell .sidebar nav a:hover{color:var(--navy);background:#f3f5f0}.shell .sidebar nav a:hover svg{color:var(--teal)}.shell .sidebar nav a.active{background:var(--mint);color:#185e57;font-weight:700}.shell .sidebar nav a.active svg{color:#247d72}.shell .side-foot{margin-top:auto;padding-top:18px}.shell .journey-link{color:var(--text-secondary);border-top:1px solid var(--border);justify-content:space-between;padding:12px;font-size:12px;display:flex}.shell .journey-link:hover{color:var(--navy)}.shell .side-stef{border-radius:6px;width:88px;margin:15px 12px 0;padding:4px;display:block}.shell .main{flex-direction:column;flex:1;min-width:0;display:flex}.shell .workspace-header{z-index:30;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffefaf0;justify-content:space-between;align-items:center;gap:20px;min-height:66px;padding:12px 29px;display:flex;position:relative}.shell .workspace-context{min-width:0;color:var(--text-secondary);align-items:center;gap:11px;font-size:12px;display:flex}.shell .workspace-context strong{color:var(--text-primary);font-weight:650}.shell .user-box{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;min-width:0;margin-left:auto;display:flex}.shell .user-info{overflow-wrap:anywhere;min-width:0;max-width:160px}.shell .hub-trigger{border-radius:var(--r-control);color:#17685e;white-space:nowrap;background:#edf6f1;border:1px solid #d4e5dd;align-items:center;gap:8px;min-height:36px;padding:7px 11px;font-size:11px;font-weight:700;transition:background .15s,border-color .15s;display:flex}.shell .hub-trigger:hover,.shell .hub-trigger[aria-expanded=true]{background:#e3f1e9;border-color:#a4cabc}.shell .hub-trigger svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.shell .workspace-scope{background:var(--sky);color:var(--navy);border-radius:99px;padding:7px 10px;font-size:11px}.shell .user-avatar{background:var(--lilac);width:33px;height:33px;color:var(--plum);border-radius:50%;place-items:center;font-size:11px;font-weight:750;display:grid}.shell .user-name{font-size:12px;font-weight:650}.shell .user-role{color:var(--text-secondary);margin-top:3px;font-size:10px}.shell .logout-btn{color:var(--text-secondary);border-radius:var(--r-control);background:0 0;border:0;align-items:center;gap:7px;padding:9px;font-size:12px;display:flex}.shell .logout-btn:hover{color:var(--navy);background:#f0f2ed}.shell #workspace-content{z-index:0;flex:1;width:100%;padding:29px;position:relative}.shell.hub-open #workspace-content{min-height:0;padding:0;display:flex;overflow:hidden}.shell .side-monogram{display:none}.shell.hub-open .workspace-header{background:#fff;flex-shrink:0}.shell .menu-toggle{background:var(--paper);border:1px solid var(--border);border-radius:var(--r-control);width:38px;height:38px;color:var(--navy);display:none}.shell .sidebar-backdrop{display:none}.skip-navigation{z-index:100;border-radius:var(--r-control);background:#fff;padding:14px;position:fixed;top:-80px;left:254px}.skip-navigation:focus{top:8px}@media (width<=1200px){.shell .workspace-scope{display:none}.shell .workspace-header{padding:12px 22px}.shell #workspace-content{padding:25px 22px}}@media (width<=900px){.shell .sidebar{z-index:50;width:260px;max-width:85vw;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%);box-shadow:10px 0 28px #14263314}.shell.menu-open .sidebar{transform:translate(0)}.shell .menu-toggle{flex-shrink:0;place-items:center;display:grid}.shell.menu-open .sidebar-backdrop{z-index:40;background:#1e2b4342;display:block;position:fixed;inset:0}.shell .workspace-context>span,.shell .user-info,.shell .user-avatar,.shell .logout-btn span{display:none}.shell .hub-trigger{flex-shrink:0;justify-content:center;width:38px;padding:8px}.shell .hub-trigger span{display:none}.shell #workspace-content{padding:22px}.skip-navigation{left:12px}}@media (width<=600px){.shell .workspace-context,.shell .user-info,.shell .logout-btn span,.shell .user-avatar{display:none}.shell .workspace-header{gap:9px;padding:10px 14px}.shell .user-box{gap:5px}.shell .hub-trigger{justify-content:center;width:38px;padding:8px}.shell .hub-trigger span{display:none}.shell #workspace-content{padding:20px 14px}}@media (prefers-reduced-motion:reduce){.shell .sidebar,.shell .sidebar nav a{transition:none}}@media (width>=901px){.shell.hub-open .sidebar{gap:22px;width:52px;padding:20px 6px 16px}.shell.hub-open .logo{justify-content:center;padding:0}.shell.hub-open .side-monogram{justify-content:center;align-items:center;width:32px;height:32px;display:flex}.shell .side-monogram img{object-fit:contain;width:32px;height:32px;display:block}.shell.hub-open .side-logo,.shell.hub-open .side-stef,.shell.hub-open .nav-group-label,.shell.hub-open .journey-label{display:none}.shell .sidebar nav a{overflow:hidden}.shell .sidebar nav a>span{white-space:nowrap;opacity:1;max-width:190px;transition:max-width .22s,opacity .15s}.shell.hub-open .sidebar nav a>span{opacity:0;max-width:0}.shell.hub-open .sidebar nav a{gap:0}.shell.hub-open .sidebar nav{gap:16px}.shell.hub-open .nav-group+.nav-group{border-top:1px solid var(--border);padding-top:12px}.shell.hub-open .sidebar nav a{justify-content:center;height:40px;padding:10px}.shell.hub-open .sidebar nav a svg{width:20px;height:20px}.shell.hub-open .journey-link{justify-content:center;font-size:18px}.shell.hub-open .skip-navigation{left:64px}}.hub-loading{color:var(--text-secondary);padding:24px 18px;font-size:15px}@media (prefers-reduced-motion:reduce){.shell .sidebar nav a>span{transition:none}}.hub-route-content{flex:1;min-width:0;min-height:0;display:flex}.hub-route-content[hidden]{display:none}@media (width>=901px){.shell.hub-open .sidebar{gap:12px;padding-top:0}.shell.hub-open .logo{flex-shrink:0;height:66px;min-height:66px}}.cp-page{background:linear-gradient(135deg,#01236a 0%,#013a8f 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.cp-card{text-align:center;background:#fff;border-radius:18px;width:400px;max-width:90vw;padding:40px;box-shadow:0 20px 60px #00000059}.cp-logo{width:100%;max-width:260px;margin:0 auto 18px;display:block}.cp-card h1{font-size:18px;font-weight:800}.cp-sub{color:var(--text-secondary);margin:8px 0 24px;font-size:12.5px;line-height:1.5}.cp-card form{text-align:left;flex-direction:column;gap:14px;display:flex}.cp-card label{color:var(--text-secondary);flex-direction:column;gap:6px;font-size:12.5px;font-weight:600;display:flex}.cp-card input{border:1px solid var(--border);border-radius:9px;outline:none;padding:10px 12px;font-size:14px}.cp-card input:focus{border-color:var(--teal)}.cp-card button[type=submit]{background:var(--navy);color:#fff;border:none;border-radius:9px;margin-top:6px;padding:12px;font-size:14px;font-weight:600}.cp-card button[type=submit]:disabled{opacity:.6}.cp-error{color:var(--red);background:var(--risk-alta-bg);border-radius:7px;padding:9px 11px;font-size:12.5px}.cp-logout{color:var(--text-muted);background:0 0;border:none;margin-top:18px;font-size:12px;text-decoration:underline}:root{--navy:#01236a;--navy-2:#173b7a;--red:#fc2231;--teal:#019fb6;--teal-text:#17685e;--orange:#fd6800;--green:#34765d;--plum:#6b5aa7;--bg:#f7f7f2;--card:#fffefa;--border:#e6e8e2;--border-strong:#d7dcd5;--text-primary:#1a253b;--text-secondary:#626e83;--text-muted:#626e83;--ink:var(--text-primary);--muted:var(--text-secondary);--quiet:var(--text-muted);--paper:var(--card);--canvas:var(--bg);--mint:#e6f4ef;--aqua:#e8f6f7;--sky:#edf2ff;--lilac:#f0edfa;--butter:#fff3cf;--peach:#fff0e6;--rose:#fdebed;--shadow-card:0 5px 18px #1e2b430d;--r-control:9px;--r-card:15px;--r-dialog:20px;--risk-critica-bg:#b42318;--risk-critica-text:#fff;--risk-alta-bg:#fdebed;--risk-alta-text:#8c1620;--risk-alta-dot:#e45360;--risk-media-bg:#fff3dc;--risk-media-text:#7a4b04;--risk-media-dot:#d79b32;--risk-baja-bg:#e6f4ef;--risk-baja-text:#1d6b4b;--risk-baja-dot:#4e9977}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0;padding:0}html{min-width:0}body{background:var(--bg);min-height:100vh;color:var(--text-primary);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}h1,h2,h3,h4{margin:0;font-family:Manrope,Inter,sans-serif}button,input,select,textarea{font:inherit}label{color:var(--text-secondary);flex-direction:column;gap:6px;font-size:12.5px;font-weight:600;display:flex}input,select,textarea{border:1px solid var(--border);border-radius:var(--r-control);color:var(--text-primary);background:#fff;padding:9px 11px;font-size:13.5px;font-weight:400}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #248b881a}textarea{resize:vertical;min-height:60px}button{cursor:pointer}a{color:var(--navy);text-decoration:none}a:hover{color:#176d75}.risk-pill{border-radius:99px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:650;display:inline-flex}.risk-pill.critica{background:var(--risk-critica-bg);color:var(--risk-critica-text)}.risk-pill.alta{background:var(--risk-alta-bg);color:var(--risk-alta-text)}.risk-pill.media{background:var(--risk-media-bg);color:var(--risk-media-text)}.risk-pill.baja{background:var(--risk-baja-bg);color:var(--risk-baja-text)}[role=button]:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:2px solid #248b88}[role=button]{cursor:pointer}.btn-primary,.btn-secondary,.btn-danger{border-radius:var(--r-control);justify-content:center;align-items:center;gap:7px;min-height:38px;padding:8px 14px;font-size:13px;font-weight:650;transition:background .15s,border-color .15s,transform .12s;display:inline-flex}.btn-primary{background:var(--navy);color:#fff;border:1px solid var(--navy)}.btn-primary:hover{background:#254a8b}.btn-secondary{background:var(--paper);border:1px solid var(--border-strong);color:var(--text-primary)}.btn-secondary:hover{background:#f3f6f2;border-color:#bbc9c3}.btn-danger{color:#fff;background:#c91e2c;border:1px solid #c91e2c}.btn-danger:hover{background:#ad3945}.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled{opacity:.55;cursor:not-allowed}.state-error{background:var(--risk-alta-bg);color:var(--risk-alta-text);border-radius:var(--r-card);justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;font-size:13px;display:flex}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;top:0;left:0;overflow:hidden}@media (width<=900px){main table{-webkit-overflow-scrolling:touch;max-width:100%;display:block;overflow-x:auto}.page-header{flex-wrap:wrap;gap:12px}.bottom-grid{grid-template-columns:1fr}.roadmap-scroll{overflow-x:auto}}@media (width<=600px){.form-row{grid-template-columns:1fr}.form-card,.form-card.wide{max-width:100%;padding:16px}.kpi-row{grid-template-columns:1fr 1fr}.page-header h1{font-size:21px}.confirm-dialog{width:100%}.filters{flex-wrap:wrap}}select:not([multiple]):not([size]),select[size="1"]{appearance:none!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23526174' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-position:right 12px center!important;background-repeat:no-repeat!important;background-size:14px 14px!important;padding-right:38px!important}@media (forced-colors:active){select:not([multiple]):not([size]),select[size="1"]{appearance:auto!important;background-image:none!important}}
