/* Fransepa · GestFundae 7.8 — presentación */
:root{--navy:#123e67;--navy-2:#102e4c;--red:#b61242;--bg:#f3f5f8;--ink:#17324c;--muted:#617286;--line:#dfe6ed}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.55}
body.fransepa-app{background:radial-gradient(ellipse at 90% 0,#e8eef5,transparent 45%),var(--bg)}
.fransepa-app .topbar{position:fixed;inset:0 auto 0 0;width:248px;min-height:0;padding:22px 16px 14px;display:flex;flex-direction:column;align-items:stretch;gap:18px;background:linear-gradient(170deg,#123e67,#102b47 75%);box-shadow:6px 0 24px #102e4c0d;overflow-y:auto}
.fransepa-app .brand{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:13px;padding:0 10px}
.brand img{width:116px;height:auto;display:block;background:white;border-radius:12px;padding:9px}
.fransepa-app .brand strong{font-size:20px;letter-spacing:-.5px}.fransepa-app .brand small{display:block;color:#b7cada;font-size:11px;margin-top:2px}
.fransepa-app .nav{display:flex;flex-direction:column;align-items:stretch;flex:1;gap:17px;position:static;padding:0;background:none;box-shadow:none}
.nav-group p{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:#a7bed2;margin:0 12px 6px;font-weight:750}
.fransepa-app .nav a{display:flex;justify-content:space-between;align-items:center;border-radius:9px;padding:8px 12px;color:#e3ecf4;font-size:13px;font-weight:550;border:1px solid transparent;line-height:1.4}
.nav a span:last-child{opacity:.4}.fransepa-app .nav a.active{background:#fff;color:#143f66;font-weight:750;box-shadow:0 4px 12px #0001;border-left:4px solid #b61242;padding-left:9px}.fransepa-app .nav a:hover{background:#ffffff16;color:#fff}.fransepa-app .nav a.active:hover{background:#f3f6fa;color:#143f66}
.nav-footer{border-top:1px solid #ffffff24;padding:12px 8px 0;margin:0}.nav-footer .link-button{padding:0;display:flex;justify-content:space-between;width:100%;color:#e3ecf4;font-size:13px}.nav-footer small{display:block;font-size:10px;color:#a7bed2;margin-top:7px}
.fransepa-app .page{max-width:1700px;margin:0 0 0 248px;padding:36px 36px 60px}.page-heading h1{font-size:32px;letter-spacing:-1px}.card{border-radius:18px;box-shadow:0 5px 18px #18364d06;padding:25px}.card h2{letter-spacing:-.35px}.button{border-radius:10px;transition:background .16s,box-shadow .16s;min-height:42px}.button.primary{box-shadow:0 4px 12px #b612421a}.button.primary:hover{background:#97103a;border-color:#97103a}.button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #548dc9;outline-offset:3px}
.dashboard-hero{position:relative;border-radius:22px;background:linear-gradient(115deg,#123d64,#1f547b);color:#fff;padding:34px;min-height:190px;align-items:center;box-shadow:0 12px 28px #15385f15;overflow:hidden}.dashboard-hero:after{content:"";position:absolute;right:-65px;top:-110px;width:260px;height:260px;border:38px solid #ffffff06;border-radius:50%;pointer-events:none}.dashboard-hero>*{position:relative;z-index:1}.dashboard-hero.page-heading p{color:#d2e1ed;max-width:490px}.dashboard-hero.page-heading .eyebrow{color:#f3b6c7;font-size:11px}.dashboard-hero h1{font-size:34px;max-width:490px}.dashboard-hero .work-actions{max-width:260px}.dashboard-hero .button{width:100%}.dashboard-hero .button:not(.primary){background:#ffffff10;border-color:#ffffff4d;color:white}
.fransepa-app .work-kpis{gap:16px;margin:24px 0}.fransepa-app .work-kpis a{border-radius:16px;box-shadow:0 5px 18px #17324c05;border-top:3px solid #b61242;padding:21px}.fransepa-app .work-kpis a:nth-child(2){border-top-color:#174f7d}.fransepa-app .work-kpis a:nth-child(3){border-top-color:#aa761d}.fransepa-app .work-kpis a:nth-child(4){border-top-color:#347970}.fransepa-app .work-kpis strong{font-size:38px;letter-spacing:-1.5px;margin:8px 0 3px}.work-kpis small{color:#617286;font-size:12px}.fransepa-app .work-row{gap:18px}.work-row>div{min-width:0;overflow-wrap:anywhere}.work-row>.button{flex-shrink:0}.table-wrap th{background:#f6f8fa}.table-wrap tbody tr:hover{background:#f8fafc}.catalog-alert{box-shadow:none}.metric{border-radius:16px}input[type=checkbox],input[type=radio]{width:auto;accent-color:#b61242;flex-shrink:0}section[id]{scroll-margin-top:24px}
.fransepa-auth .auth-page{background:radial-gradient(ellipse at 10% 0,#dce8f2,transparent 60%),#f3f5f8;padding:40px 24px;min-height:100vh}.login-shell{width:min(980px,100%);display:grid;grid-template-columns:1fr 1fr;box-shadow:0 25px 80px #15385f1f;border:1px solid white;border-radius:24px;overflow:hidden;background:white}.login-story{padding:42px;display:flex;flex-direction:column;background:linear-gradient(145deg,#174d78,#102d4a);color:white;min-height:570px;position:relative}.login-story img{width:140px;height:auto;background:#fff;padding:12px;border-radius:14px;margin-bottom:48px}.story-label{font-size:10px;letter-spacing:2px;color:#efb0c2;font-weight:800}.login-story h2{font-size:39px;letter-spacing:-1.2px;line-height:1.15;margin:18px 0}.login-story p{color:#c6d9e9;font-size:15px;max-width:315px}.story-foot{margin-top:auto;padding-top:40px;font-size:11px;letter-spacing:2px}.story-foot span{display:block;font-size:10px;letter-spacing:.4px;color:#bbcede;margin-top:4px}.fransepa-auth .login-card{width:auto;border-radius:0;box-shadow:none;align-self:center;padding:44px}.fransepa-auth .login-brand{text-align:left;margin-bottom:30px}.login-brand .eyebrow{font-weight:800;letter-spacing:1.5px;color:#b61242;font-size:11px}.fransepa-auth .login-brand h1{font-size:28px;line-height:1.2;letter-spacing:-.7px;margin:12px 0}.fransepa-auth .login-brand p{font-size:14px}.fransepa-auth .stack{gap:20px}.fransepa-auth .stack label{font-size:13px}.fransepa-auth input{padding:12px}.fransepa-auth .button{min-height:46px}
@media(min-width:1800px){.fransepa-app .page{margin-right:auto}}
@media(max-width:1100px){.fransepa-app .topbar{width:220px}.fransepa-app .page{margin-left:220px;padding:26px 24px}.dashboard-hero{flex-direction:column;align-items:flex-start;padding:26px;gap:20px}.dashboard-hero .work-actions{max-width:none}.dashboard-hero .button{width:auto}.work-row{flex-wrap:wrap}}
@media(max-width:820px){.fransepa-app .topbar{position:sticky;inset:auto;top:0;width:100%;height:auto;max-height:90vh;flex-direction:row;flex-wrap:wrap;align-items:center;padding:12px 18px;overflow-y:auto;gap:12px}.fransepa-app .brand{flex-direction:row;align-items:center;padding:0;gap:12px}.brand img{width:65px;padding:5px;border-radius:7px}.fransepa-app .brand strong{font-size:17px}.fransepa-app .brand small{font-size:10px}.fransepa-app .menu-button{display:block;margin-left:auto}.fransepa-app .nav{display:none;width:100%;flex-basis:100%;gap:12px}.fransepa-app.nav-open .nav{display:flex}.fransepa-app .topbar>.nav-footer{display:none;width:100%}.fransepa-app.nav-open .nav-footer{display:block}.fransepa-app .page{margin:0;padding:22px 16px 40px}.dashboard-hero h1{font-size:29px}.fransepa-app .work-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.login-shell{grid-template-columns:1fr}.login-story{min-height:0;padding:28px}.login-story img{width:95px;margin-bottom:20px}.login-story h2{font-size:28px;margin:12px 0}.login-story p,.story-foot{display:none}.fransepa-auth .login-card{padding:30px}.fransepa-auth .auth-page{padding:24px 16px}.fransepa-auth .auth-page .alert{position:static;transform:none;width:100%}.auth-page:has(.alert){display:flex;flex-direction:column;justify-content:center}.card-heading{flex-wrap:wrap}section[id]{scroll-margin-top:110px}}
@media(max-width:440px){.dashboard-hero{padding:23px}.dashboard-hero .work-actions,.dashboard-hero .button{width:100%}.fransepa-app .work-kpis a{padding:15px;font-size:13px}.fransepa-app .work-kpis strong{font-size:32px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.fransepa-app .topbar{display:none}.fransepa-app .page{margin:0;padding:0}.dashboard-hero{background:white;color:#17324c;box-shadow:none}}