:root{font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#1b2228;background:#f7f8f9;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}.dot{color:#3e78e8}.top{height:74px;padding:0 max(24px,calc((100vw - 1120px)/2));background:#fff;border-bottom:1px solid #e6e9ed;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-weight:850;letter-spacing:-.8px;font-size:21px}.right{display:flex;gap:24px;align-items:center;font-size:13px;color:#52616d}.right a:hover{color:#2464d5}.shell{max-width:1120px;margin:0 auto;padding:68px 24px}.eyebrow{font-size:11px;font-weight:750;letter-spacing:2px;color:#6480a1}h1{font-size:clamp(35px,5vw,57px);letter-spacing:-2.5px;margin:12px 0 12px;font-weight:800}.lead{color:#7a8591;margin-bottom:44px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.app,.panel{background:#fff;border:1px solid #e5e9ed;border-radius:13px;padding:26px}.app{min-height:195px;transition:transform .15s,box-shadow .15s}.app:hover{transform:translateY(-3px);box-shadow:0 12px 26px #1b2c4410}.appmark{height:43px;width:43px;border-radius:11px;background:#edf3ff;color:#3773e6;display:grid;place-items:center;font-size:20px;font-weight:800}.app h2{font-size:17px;letter-spacing:-.4px;margin:22px 0 7px}.app p,.future p{font-size:13px;color:#84909b;line-height:1.5;margin:0}.arrow{float:right;color:#a4b0bb}.future{border-top:1px solid #e1e5e9;margin-top:65px;padding-top:25px}.future h2,.shell>h2{font-size:19px;margin:24px 0}.future-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.future-grid strong{font-size:12px;letter-spacing:1px}.future-grid p{margin-top:9px}footer{margin:65px 0 20px;font-size:12px;color:#9ca6af}.login{width:min(420px,calc(100% - 36px));margin:13vh auto}.login h1{font-size:58px}.login>p{color:#7a8591;margin-bottom:30px}form label{display:block;font-size:13px;font-weight:650;color:#56626f;margin-bottom:16px}input,select{display:block;width:100%;margin-top:8px;padding:12px 13px;border:1px solid #dce2e8;border-radius:8px;background:#fff;font:inherit;font-size:14px}input:focus,select:focus{outline:2px solid #a8c3ff;border-color:#5b8deb}button{border:0;background:#2469dd;color:white;border-radius:8px;padding:12px 19px;font-size:13px;font-weight:700;cursor:pointer}button:hover{background:#1858c5}.login button{width:100%}.error{color:#ba2738!important}.note{font-size:12px;color:#89939c}.notice{background:#eaf2ff;padding:13px;border-radius:8px}.panel{margin:12px 0 16px}.formgrid{display:flex;flex-wrap:wrap;gap:15px;align-items:end}.formgrid label{flex:1;min-width:180px}.formgrid button{margin-bottom:16px}.check{display:flex!important;align-items:center;gap:8px}.check input{width:auto;margin:0}.permissiongrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.appedit{display:flex;align-items:center;gap:20px}.appedit input[type=url]{flex:1;margin:0}.appedit .check{margin:0}summary{cursor:pointer;padding-bottom:12px}details form{margin-top:15px}@media(max-width:720px){.cards,.future-grid,.permissiongrid{grid-template-columns:1fr}.shell{padding-top:40px}.top{padding:0 20px}.right{gap:10px}.appedit{flex-wrap:wrap}.appedit input[type=url]{flex-basis:100%}}
.filters{display:flex;flex-wrap:wrap;gap:14px;align-items:end;margin:25px 0}.filters label{display:grid;gap:6px;font-size:13px}.filters select,.assistant-form textarea{background:#fff;border:1px solid #d9dce3;border-radius:10px;padding:12px;font:inherit;min-width:190px}.filters button,.assistant-form button{background:#1d2638;color:#fff;border:0;border-radius:10px;padding:13px 20px;cursor:pointer}.news-list{display:grid;gap:10px}.news{background:#fff;border:1px solid #e6e8ee;border-radius:12px;padding:18px}.news h2{font-size:16px;margin:0 0 8px}.news h2 a{color:inherit;text-decoration:none}.news p,.small{font-size:12px;color:#6b7280}.notice{padding:14px;border:1px solid #f3d8a8;border-radius:10px;background:#fff9ee}.assistant-form{display:grid;gap:12px;max-width:850px}.assistant-form textarea{width:100%;box-sizing:border-box}.assistant-form button{justify-self:start}.answer{background:white;padding:20px;border-radius:12px;margin-top:20px;white-space:normal}

/* BACKSTAGE Flightcase — escritorio */
body{background:#eef0f2;color:#14233c}
.flight-top{background:linear-gradient(180deg,#242a31,#11171d);border-bottom:5px solid #aeb5bd;box-shadow:0 5px 0 #454b51;color:white}
.flight-top .brand{color:#fff;letter-spacing:.16em;font-weight:900}
.flight-top .right{color:#d2d6db}.flight-top .right a{color:#f3f4f5}
.flight-shell{max-width:1180px;padding-top:32px}
.case{background:linear-gradient(145deg,#252c34,#111820);border:5px solid #adb5bd;border-radius:18px;padding:30px;box-shadow:0 8px 0 #4c555f,0 20px 38px #17233124;color:#f8fafc;position:relative}
.case:before,.case:after{content:"";position:absolute;top:10px;width:18px;height:18px;background:radial-gradient(circle at 45% 40%,#e5e8eb 0 2px,#717b85 3px 7px,#313840 8px);border-radius:50%}
.case:before{left:12px}.case:after{right:12px}
.case-head{padding:15px 16px 27px;border-bottom:1px solid #414a54;margin-bottom:25px}
.case-kicker{font-size:10px;letter-spacing:.25em;color:#a7b5c6;font-weight:800}
.case-title{color:#fff;font-size:clamp(29px,4vw,47px);letter-spacing:-.06em;margin:8px 0 5px}
.case-sub{color:#adb8c6;font-size:13px;margin:0}
.case-section{font-size:11px;letter-spacing:.18em;color:#aebccc;font-weight:800;margin:27px 0 14px}
.flight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.flight-app{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;min-height:148px;padding:17px 12px;background:linear-gradient(145deg,#313a44,#202831);border:1px solid #52606d;border-radius:12px;color:#fff;transition:transform .18s,border-color .18s,background .18s}
.flight-app:hover{transform:translateY(-3px);border-color:#c9d4e0;background:#34404b}
.flight-app img{width:62px;height:62px;object-fit:contain;border-radius:15px}
.flight-app strong{font-size:13px;letter-spacing:.055em}.flight-app small{font-size:11px;color:#a9b7c6}
.flight-icon{font-size:29px;display:grid;place-items:center;width:62px;height:62px;border-radius:15px;background:#414c58}
.flight-external{min-height:106px}.flight-external .flight-icon{width:40px;height:40px;font-size:21px;border-radius:10px}
.flight-external strong{font-size:11px}
.case-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;border-top:1px solid #414a54;margin-top:28px;padding-top:17px;font-size:11px;color:#a4b0bc}
@media(max-width:850px){.flight-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.flight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case{padding:16px;border-width:3px}.flight-shell{padding:20px 12px}.flight-app{min-height:130px}}

/* v0.8: Flightcase únicamente en la cabecera, escritorio blanco */
body{background:#f7f8fa;color:#1b2538}
.flight-top{height:96px;background:linear-gradient(180deg,#30363d 0%,#161c22 100%);border-top:5px solid #c4cbd2;border-bottom:6px solid #aab3bc;box-shadow:0 3px 0 #59626b,0 9px 20px #0d172421;position:relative}
.flight-top:before,.flight-top:after{content:"";position:absolute;top:12px;width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 40% 40%,#fff 0 2px,#9aa4ae 3px 6px,#424b54 7px)}
.flight-top:before{left:10px}.flight-top:after{right:10px}
.flight-top .brand{color:white;letter-spacing:.1em;font-weight:850;font-size:19px}
.flight-top .right,.flight-top .right a{color:#f1f4f6}
.backstage-light{max-width:1120px;padding-top:60px}
.backstage-light .lead{margin-bottom:45px}
.backstage-light .section-heading{font-size:19px;letter-spacing:-.4px;margin:42px 0 17px}
.backstage-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.backstage-card{min-height:192px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;background:white;border:1px solid #e2e7ed;box-shadow:0 2px 7px #14223808}
.backstage-card:hover{box-shadow:0 13px 25px #14223813;border-color:#c9d4e0}
.backstage-logo{width:67px;height:67px;object-fit:contain;border-radius:15px}
.backstage-card h2{font-size:16px;margin:14px 0 7px}
.backstage-card p{font-size:12px;line-height:1.5}
.backstage-utility{min-height:155px}
.backstage-utility .appmark{width:49px;height:49px;font-size:25px}
@media(max-width:900px){.backstage-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.backstage-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.backstage-card{min-height:160px;padding:17px}.flight-top{height:84px}.flight-top .brand{font-size:15px}.backstage-light{padding-top:36px}}

/* v0.9: Imagen original como cabecera, contenido blanco */
.backstage-banner{position:relative;background:#fff;border-bottom:1px solid #e7ebf0;padding:12px 22px 14px}
.banner-content{max-width:1230px;margin:auto}
.banner-content a{display:block}
.banner-content img{display:block;width:100%;height:auto;max-height:290px;object-fit:contain;object-position:center}
.banner-account{display:flex;align-items:center;justify-content:flex-end;gap:20px;max-width:1150px;margin:0 auto;color:#66748a;font-size:12px}
.banner-account a{color:#142d54;text-decoration:none;font-weight:650}
.backstage-light{padding-top:32px}
.mss-heading{border-top:1px solid #e4eaf1;padding-top:35px;margin-top:44px!important}
.mss-mark{background:#eff8fb;color:#007da9}
@media(max-width:620px){.backstage-banner{padding:7px 8px 11px}.banner-account{padding:6px 12px 0;gap:12px;font-size:11px}.backstage-light{padding-top:24px}}

/* v1.0 — Flightcase hero as a physical object, on a white canvas */
.backstage-banner{background:linear-gradient(#fff,#f8fafc);padding:18px 24px 8px;border-bottom:0}
.banner-content{max-width:1190px;filter:drop-shadow(0 11px 13px rgba(17,31,54,.13));transition:transform .25s ease,filter .25s ease}
.banner-content:hover{transform:translateY(-2px);filter:drop-shadow(0 15px 16px rgba(17,31,54,.18))}
.banner-content img{max-height:275px}
.banner-account{margin-top:4px;padding:8px 14px;border-bottom:1px solid #e8ecf0}
.presentation-directory-card{border-color:#bcd9e9;background:linear-gradient(145deg,#fff,#f2faff)}
.presentation-toolbar{display:flex;justify-content:space-between;align-items:end;gap:15px;margin:25px 0 18px}
.presentation-toolbar label{margin:0;flex:1;max-width:460px}.presentation-toolbar input{width:100%}
.presentation-toolbar span{font-size:12px;color:#758498;white-space:nowrap;padding-bottom:12px}
.presentation-list{display:grid;gap:9px}.presentation-item{display:flex;align-items:center;gap:16px;background:white;border:1px solid #e2e7ed;border-radius:12px;padding:15px 18px}
.presentation-item[hidden]{display:none}.presentation-folder{background:#e9f7fc;color:#0498bc;border-radius:9px;width:43px;height:43px;display:grid;place-items:center;font-size:23px;flex-shrink:0}
.presentation-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0;overflow-wrap:anywhere}.presentation-info strong{font-size:14px}.presentation-info small{font-size:11px;color:#7c8794}
.presentation-item>a{border-radius:8px;background:#edf4fb;color:#1c5c95;padding:9px 13px;font-size:12px;font-weight:700;white-space:nowrap}
.presentation-muted{font-size:11px;color:#9ba5b2}.presentation-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.presentation-actions a{padding:11px 15px;background:#eaf1f7;border-radius:9px;font-size:12px;font-weight:700;color:#17406a}
@media(max-width:620px){.backstage-banner{padding:10px 8px 4px}.presentation-item{gap:10px;padding:12px}.presentation-item>a{padding:8px}.presentation-toolbar{align-items:center}}

/* v1.1: Flight case más compacto y centrado, sin bloque pesado */
.backstage-banner{background:#fff;padding:8px 16px 0;border-bottom:1px solid #edf0f4}
.banner-content{max-width:910px;margin:0 auto;filter:none;transition:none}
.banner-content:hover{transform:none;filter:none}
.banner-content img{width:100%;max-height:none;object-fit:contain;display:block}
.banner-account{max-width:1120px;margin:0 auto;padding:4px 14px 10px;border-bottom:0}
.backstage-light{padding-top:25px}
@media(max-width:620px){.backstage-banner{padding:8px 5px 0}.banner-content{max-width:100%}.banner-account{padding:4px 12px 9px}.backstage-light{padding-top:20px}}

/* v1.2 — Agrupación por marca, identidad y pictogramas */
.grouped-dashboard .brand-section{margin-top:38px}
.grouped-dashboard .brand-section .section-heading{font-size:25px;font-weight:850;letter-spacing:-.8px;margin:0 0 23px}
.grouped-dashboard .zipzap-section>.section-heading{color:#0879cb}
.grouped-dashboard .mss-section>.section-heading{color:#c52e46}
.grouped-dashboard .group-subtitle{font-size:14px;color:#738398;font-weight:750;margin:32px 0 15px;letter-spacing:.015em}
.grouped-dashboard .backstage-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
.grouped-dashboard .backstage-card{min-height:166px;padding:22px}
.grouped-dashboard .backstage-logo{width:64px;height:64px}
.grouped-dashboard .vector-logo{object-fit:contain;padding:11px;background:#f0f5ff;border-radius:15px}
.grouped-dashboard .mss-section .vector-logo{background:#fff0f2}
.grouped-dashboard .mss-section{border-top:2px solid #f0d7db;margin-top:70px;padding-top:36px}
.grouped-dashboard .zipzap-section{padding-bottom:4px}
.grouped-dashboard .backstage-card h2{font-size:16px}
@media(max-width:930px){.grouped-dashboard .backstage-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.grouped-dashboard .backstage-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.grouped-dashboard .backstage-card{min-height:150px;padding:16px}.grouped-dashboard .backstage-logo{width:54px;height:54px}}

/* v1.3: Identidad corporativa real por unidad de negocio */
.grouped-dashboard .brand-heading{display:flex;align-items:center;gap:18px;margin:0 0 24px}
.grouped-dashboard .brand-heading .section-heading{margin:0;flex-shrink:0;line-height:1.12}
.grouped-dashboard .brand-line{height:1px;flex:1;min-width:12px;background:#1688d4;opacity:.75}
.grouped-dashboard .mss-heading-v13 .brand-line{background:#dc2444}
.grouped-dashboard .brand-identity{display:block;object-fit:contain;flex-shrink:0}
.grouped-dashboard .zipzap-identity{width:170px;height:52px;object-position:left center}
.grouped-dashboard .mss-identity{width:98px;height:98px}
.grouped-dashboard .mss-section{margin-top:58px;padding-top:30px}
.grouped-dashboard .mss-section .section-heading{color:#dc2444}
.grouped-dashboard .zipzap-section .section-heading{color:#0879cb}
@media(max-width:650px){.grouped-dashboard .brand-heading{gap:10px;flex-wrap:wrap}.grouped-dashboard .zipzap-identity{width:115px;height:39px}.grouped-dashboard .mss-identity{width:65px;height:65px}.grouped-dashboard .brand-heading .section-heading{font-size:19px}.grouped-dashboard .brand-line{flex-basis:100%;height:1px}}

/* v1.4: ZIP ZAP isotipo oficial */
.grouped-dashboard .zipzap-identity{width:78px;height:90px;object-fit:contain;object-position:center}
@media(max-width:650px){.grouped-dashboard .zipzap-identity{width:54px;height:65px}}

/* v1.5 Radar */
.radar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0}
.radar-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;box-shadow:0 5px 22px #14253d0b}
.radar-image{display:block;aspect-ratio:16/9;background:#edf4fb;overflow:hidden}
.radar-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}.radar-image:hover img{transform:scale(1.035)}
.radar-body{padding:18px}.radar-body h2{font-size:17px;line-height:1.35;margin:13px 0}.radar-body h2 a{color:#182740;text-decoration:none}.radar-body h2 a:hover{color:#0879cb}
.radar-body p{font-size:12px;color:#7b8999;margin:0}.radar-meta{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:#3775bd;font-weight:700}
@media(max-width:900px){.radar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.radar-grid{grid-template-columns:1fr}}

/* v1.7 */
.grouped-dashboard .mss-section{border-top:0!important}
.grouped-dashboard .mss-section:before{display:none!important}
.grouped-dashboard .mss-section{padding-top:12px!important}
.backstage-card .vector-logo{padding:0!important;background:transparent!important;object-fit:contain}
.source-status{border-radius:12px;padding:13px 16px;margin:12px 0;background:#edf4ff;color:#1c3760}
.source-status.bad{background:#fff5e8;color:#6c471a}
.radar-body .relevance{display:inline-block;background:#e9f3ff;color:#125fa8;padding:5px 9px;border-radius:8px;font-size:12px;font-weight:700;margin:8px 0}

/* Corporate navy adjustment */
/* ZIP ZAP corporate navy — title and divider */
.grouped-dashboard .zipzap-section .section-heading,
.grouped-dashboard .zipzap-section > .section-heading { color: #092F78 !important; }
.grouped-dashboard .zipzap-heading .brand-line { background: #092F78 !important; opacity: 1; }
