/* CyberLibrary AI v2.1 — unified professional visual system */
:root{--ink:var(--ds-text);--muted:var(--ds-text-muted);--line:var(--ds-line);--paper:var(--ds-surface);--canvas:var(--ds-canvas);--blue:var(--ds-accent);--navy:var(--ds-navy);--soft:var(--ds-surface-blue);--shadow:var(--ds-shadow-md);}
body{background:var(--canvas);color:var(--ink);}
body:not(.home-dashboard) .top{height:68px;background:var(--navy);border-bottom:1px solid #17263a;padding:0 26px;box-shadow:0 3px 14px rgba(4,14,28,.12);}
body:not(.home-dashboard) .top .brand{color:#fff;font-size:20px;}body:not(.home-dashboard) .top .brand img{width:40px;}body:not(.home-dashboard) .top .brand small{color:#aebed0;font-size:10px;}
body:not(.home-dashboard) .top nav{gap:21px;color:#eaf1f8;}body:not(.home-dashboard) .top nav a{font-size:11px;opacity:.88;}body:not(.home-dashboard) .top nav a:hover{opacity:1;color:#70bcff;}

body:not(.home-dashboard) .side .sl,body:not(.home-dashboard) .side .ps{transition:.15s;}body:not(.home-dashboard) .side .sl:hover,body:not(.home-dashboard) .side .ps:hover,body:not(.home-dashboard) .side .active{background:#edf4ff;color:#1267d6;}
body:not(.home-dashboard) .mh{position:relative;overflow:hidden;padding:52px 6vw 42px;background:linear-gradient(115deg,#f9fbfe 0,#f1f6fc 68%,#eaf3ff 100%);border-bottom:1px solid var(--line);}body:not(.home-dashboard) .mh:after{content:"";position:absolute;width:340px;height:340px;border-radius:50%;right:6%;top:-210px;background:radial-gradient(circle,#1477e81c,transparent 68%);}body:not(.home-dashboard) .mh span{color:var(--blue);font-size:10px;letter-spacing:.12em;text-transform:uppercase;}body:not(.home-dashboard) .mh h1{max-width:850px;margin:10px 0 11px;color:var(--ink);font-size:42px;letter-spacing:-.04em;}body:not(.home-dashboard) .mh p{max-width:820px;color:#586d82;font-size:14px;line-height:1.65;}
/* generic module indexes: editorial tiles instead of heavy boxes */
body:not(.home-dashboard) .mc{border-top:2px solid #dce5ef;transition:.18s;}body:not(.home-dashboard) .mc:hover{border-top-color:var(--module,var(--blue));}body:not(.home-dashboard) .mc span{display:inline-block;padding:4px 8px;background:#eaf3ff;color:var(--module,var(--blue));font-size:9px;letter-spacing:.08em;}body:not(.home-dashboard) .mc h2{margin:16px 0 8px;color:#172b42;font-size:19px;letter-spacing:-.02em;}body:not(.home-dashboard) .mc p{color:#64788b;font-size:12.5px;line-height:1.58;}
/* pillar landing pages */
.pillar-page{background:var(--canvas)!important;}.pillar-showcase{border:0!important;}.pillar-facts{background:var(--ds-surface)!important;}.pillar-fact{border-color:#e8edf3!important;}.pillar-fact b{color:#152b43!important;}.pillar-fact span{color:#6c7f92!important;}
.guide-card{transition:.16s!important;}.guide-card-top{align-items:flex-start!important;}.guide-icon{border:0!important;box-shadow:none!important;}.guide-card h2{color:#172b42!important;}.guide-card p{color:#64778a!important;font-size:12px!important;}.guide-card-foot{border-top:0!important;color:#8190a0!important;}.guide-card-foot:after{margin-left:auto;color:var(--module,var(--blue));font-weight:800;}.pillar-flow{overflow:hidden;border:1px solid var(--line)!important;border-radius:14px!important;background:var(--ds-surface)!important;}
/* long-form articles */
.article-wrap{max-width:1240px!important;padding:34px 4vw 80px!important;}.breadcrumbs{color:#8796a6!important;}.article-hero{gap:38px!important;padding:38px 40px!important;border:0!important;border-radius:18px!important;background:linear-gradient(118deg,#f8fbff,#eef5fc)!important;box-shadow:0 16px 44px rgba(20,45,75,.07)!important;}.article-hero h1{color:#10243b!important;font-size:43px!important;}.article-hero p{color:#536a80!important;}.article-hero img{border-radius:14px!important;box-shadow:0 14px 30px rgba(20,45,75,.08);}.article-grid{margin-top:34px!important;}.article-body{background:var(--ds-surface);border-radius:16px;padding:12px 38px 34px;box-shadow:0 12px 36px rgba(20,45,75,.045);}.article-body section{border-top:1px solid #e8edf2!important;}.article-body section:first-child{border-top:0!important;}.article-body h2{color:#142a42!important;letter-spacing:-.02em;}.article-body h3{color:#20364e!important;}.article-body p,.article-body li{color:#4f6377!important;font-size:14px!important;line-height:1.78!important;}.article-body strong{color:#132940!important;}.plain-box{margin:8px -10px!important;padding:22px 24px!important;border:0!important;border-left:4px solid var(--module,var(--blue))!important;border-radius:10px!important;}.step{border:0!important;border-left:3px solid #d8e6f4!important;border-radius:0!important;background:transparent!important;padding:13px 18px!important;}.checklist{gap:0!important;border-top:1px solid #e2e8ef!important;}.checklist li{border:0!important;border-bottom:1px solid #e2e8ef!important;border-radius:0!important;background:transparent!important;padding:13px 8px!important;}.control-table{border:1px solid var(--ds-line);border-radius:10px;overflow:hidden;}.control-table th{background:#f1f5f9!important;color:#263b51!important;font-size:11px!important;text-transform:uppercase;letter-spacing:.04em;}.control-table td{background:var(--ds-surface);color:#52667a!important;}.article-side{top:86px!important;border:0!important;}.article-side h3{font-size:11px!important;text-transform:uppercase;letter-spacing:.08em;}.article-side a{padding:8px 0!important;border-bottom:1px solid #edf1f5!important;}.article-side a:hover{color:var(--blue)!important;}.ref-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}.ref-list a{margin:0!important;border:0!important;border-radius:9px!important;background:#f5f8fb!important;color:#24394f!important;padding:14px 16px!important;}.notice{background:#f8fafc!important;border:1px solid #dfe6ed!important;}.related-grid a{border:0!important;box-shadow:none!important;}.author-signoff{border:0!important;border-top:1px solid #e2e8ef!important;background:transparent!important;}
/* utility/catalog pages: soften repeated cards globally */
.resource-card,.model-card,.tool-card,.comparison-card,.route-card,.template-card,.obs-card,.framework-card{border-color:#e1e8ef!important;border-radius:12px!important;background:var(--ds-surface)!important;box-shadow:0 8px 24px rgba(20,45,75,.045)!important;}
/* footer */
body:not(.home-dashboard) .footer{background:#081321;border-top:1px solid #17263a;color:#dce7f2;}body:not(.home-dashboard) .footer p,body:not(.home-dashboard) .footer a{color:#8fa3b8;}body:not(.home-dashboard) .footer h4{color:#dbe7f2;}body:not(.home-dashboard) .footer .fb{border-color:#1b2d42;color:#71869b;}
@media(max-width:1050px){body:not(.home-dashboard) .mg{grid-template-columns:repeat(2,1fr);}.guide-grid{grid-template-columns:1fr!important;}.article-grid{grid-template-columns:1fr!important;}.article-side{position:static!important;}.ref-list{grid-template-columns:1fr;}}
@media(max-width:900px){body:not(.home-dashboard) .layout{grid-template-columns:1fr;}.article-body{padding:8px 22px 28px;}.article-hero{grid-template-columns:1fr!important;}.article-hero h1{font-size:35px!important;}}
@media(max-width:620px){body:not(.home-dashboard) .mg{grid-template-columns:1fr;padding:28px 20px 55px;}body:not(.home-dashboard) .mh{padding:36px 22px 30px;}body:not(.home-dashboard) .mh h1{font-size:34px;}.article-wrap{padding:22px 14px 50px!important;}.article-hero{padding:26px 22px!important;}.article-body{padding:6px 18px 24px;}.article-body p,.article-body li{font-size:13.5px!important;}.checklist{grid-template-columns:1fr!important;}}

/* ========================================================================== */
/* CyberLibrary AI v2.2 — DESIGN B / clean professional list system           */
/* ========================================================================== */
:root{--b-row:#fff;--b-hover:#f8fbff;--b-border:#e3eaf2;--b-icon:#edf5ff;--b-accent:#176fe5;}

/* Module/catalog landing pages: dense two-column list, never floating cards */
body:not(.home-dashboard) .mg{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 34px!important;padding:32px 6vw 72px!important;background:var(--canvas)!important;}
body:not(.home-dashboard) .mc{min-height:118px!important;margin:0!important;padding:20px 6px!important;border:0!important;border-bottom:1px solid var(--b-border)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;transform:none!important;}
body:not(.home-dashboard) .mc:hover{background:var(--b-hover)!important;transform:none!important;padding-left:10px!important;}
body:not(.home-dashboard) .mc span{border-radius:5px!important;}.mc h2{margin:10px 0 5px!important;}.mc p{margin:0!important;}

/* Pillars: exactly one action per guide and aligned B rows */
.guide-grid{display:grid!important;margin-top:28px!important;}
.guide-card{display:grid!important;grid-template-columns:minmax(0,1fr) 50px!important;grid-template-rows:auto auto auto!important;column-gap:16px!important;min-height:150px!important;padding:20px 0!important;border:0!important;border-bottom:1px solid var(--b-border)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;transform:none!important;}
.guide-card:hover{background:var(--b-hover)!important;transform:none!important;}
.guide-card-top{display:contents!important;}.guide-code{grid-column:1;grid-row:1;}.guide-icon{grid-column:2;grid-row:1/3;width:48px!important;height:48px!important;margin:0!important;border-radius:11px!important;background:var(--b-icon)!important;}
.guide-card h2{grid-column:1;grid-row:2;margin:5px 0 5px!important;font-size:17px!important;}.guide-card p{grid-column:1;grid-row:3;margin:0 0 12px!important;max-width:520px!important;}
.guide-card-foot{grid-column:1/3;grid-row:4;display:flex!important;align-items:center!important;margin:0!important;padding:10px 0 0!important;border:0!important;}
.guide-card-foot:after{content:none!important;}.guide-open{margin-left:auto!important;color:var(--module,var(--b-accent))!important;font-weight:800!important;}

/* Resources / templates / routes: B two-column rows */

.resource-hero.compact{padding:26px 30px!important;border-radius:14px!important;box-shadow:none!important;background:#f5f8fc!important;}
.template-difference-strip{gap:8px!important;}.template-difference-strip>div{box-shadow:none!important;border-color:var(--b-border)!important;}
.resource-grid,.compact-templates,.evidence-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 32px!important;border-top:1px solid var(--b-border)!important;}
.resource-card,.resource-card.compact-card,.compact-templates .resource-card{column-gap:18px!important;transform:none!important;}
.resource-card:hover{transform:none!important;}
.resource-card .tag{border-radius:0!important;}
.resource-card h2,.resource-card h3,.compact-templates .resource-card h2{line-height:1.3!important;}
.resource-card p,.compact-templates .resource-card p{max-width:650px!important;}
.resource-card .actions,.compact-templates .resource-card .actions{grid-column:2;grid-row:1/4;align-self:center;display:flex!important;flex-wrap:nowrap!important;margin:0!important;padding:0!important;gap:7px!important;}
.resource-btn,.compact-templates .resource-btn{padding:7px 10px!important;border-radius:6px!important;font-size:10px!important;white-space:nowrap!important;}
.evidence-grid .resource-card{border-top:0!important;}
.resource-section-heading{padding-top:8px!important;}

/* Model catalog: rows instead of a wall of cards */
.model-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 30px!important;border-top:1px solid var(--b-border)!important;}
.model-card{min-height:0!important;padding:17px 4px!important;border:0!important;border-bottom:1px solid var(--b-border)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;transform:none!important;}
.model-card:hover{background:var(--b-hover)!important;transform:none!important;box-shadow:none!important;}.model-desc{min-height:0!important;margin:7px 0!important;}.model-facts{margin-top:8px!important;}.model-card h3{font-size:15px!important;}

/* AI security tools: same B grammar */
.tools-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 30px!important;border-top:1px solid var(--b-border)!important;}
.tool-card{min-height:0!important;padding:18px 4px!important;border:0!important;border-bottom:1px solid var(--b-border)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;transform:none!important;}
.tool-card:hover{background:var(--b-hover)!important;transform:none!important;box-shadow:none!important;}.tool-card h2{font-size:16px!important;}.tool-card p{margin:7px 0!important;font-size:12px!important;}.tool-badges{margin-top:7px!important;}.tool-link{margin-top:8px!important;}

/* Comparison / route / other repeated collections */
.vs-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 30px!important;}.vs-card{border:0!important;border-bottom:1px solid var(--b-border)!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;}
.route-list{gap:0!important;}.route-step{padding:15px 4px!important;border-top:0!important;border-bottom:1px solid var(--b-border)!important;}

/* Keep articles editorial; only repeated related cards become B rows */
.related-grid{gap:0!important;border-top:1px solid var(--b-border)!important;}.related-grid a{border-radius:0!important;border-bottom:1px solid var(--b-border)!important;background:transparent!important;}

@media(max-width:1050px){
 body:not(.home-dashboard) .mg,.guide-grid,.resource-grid,.compact-templates,.evidence-grid,.model-grid,.tools-grid,.vs-grid{grid-template-columns:1fr!important;}
}
@media(max-width:620px){
 .resource-wrap{padding:22px 16px 48px!important;}.resource-card,.resource-card.compact-card,.compact-templates .resource-card{grid-template-columns:1fr!important;}.resource-card .actions,.compact-templates .resource-card .actions{grid-column:1!important;grid-row:auto!important;margin-top:10px!important;justify-self:start;}.guide-card{grid-template-columns:minmax(0,1fr) 44px!important;}.guide-icon{width:42px!important;height:42px!important;}
}

/* ========================================================================== */
/* v2 FINAL — Design B applied structurally across the product                */
/* ========================================================================== */
:root{--sidebar:#071a2e;--sidebar-2:#0a2745;--sidebar-text:#dce8f4;--sidebar-muted:#8299b1;--cyan:#23a8ff;}
body:not(.home-dashboard) .layout{grid-template-columns:248px minmax(0,1fr)!important;}
body:not(.home-dashboard) .side{background:linear-gradient(180deg,var(--sidebar),#061526)!important;border-right:1px solid #153654!important;padding:20px 12px!important;color:var(--sidebar-text)!important;}
body:not(.home-dashboard) .side .st{color:#6f8aa5!important;font-size:9px!important;font-weight:800!important;letter-spacing:.12em!important;margin:12px 10px 7px!important;}
body:not(.home-dashboard) .side .sl,body:not(.home-dashboard) .side .ps{color:#c7d7e7!important;border-radius:7px!important;font-size:11px!important;padding:8px 9px!important;margin:1px 0!important;}
body:not(.home-dashboard) .side .sl b,body:not(.home-dashboard) .side .ps b{min-width:22px!important;}
body:not(.home-dashboard) .side .sl:hover,body:not(.home-dashboard) .side .ps:hover{background:#0d3154!important;color:#fff!important;}
body:not(.home-dashboard) .side .active{background:#176fe5!important;color:#fff!important;box-shadow:0 5px 14px rgba(23,111,229,.24)!important;}
body:not(.home-dashboard) .side .sep{background:#173653!important;margin:14px 7px!important;}.nav-new{background:#22a7ff!important;color:#fff!important;}

/* Pillar hero becomes a compact page heading, as in B */
.pillar-main{padding-top:0!important;}.pillar-showcase{margin:0!important;padding:30px 34px 24px!important;border-radius:0!important;background:var(--ds-surface)!important;box-shadow:none!important;border-bottom:1px solid var(--b-border)!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;}
.pillar-showcase h1,.pillar-showcase h2{color:#10243b!important;}.pillar-showcase p{color:#607487!important;}.pillar-showcase .pillar-number{color:var(--module,var(--b-accent))!important;}.pillar-hero-art{width:120px!important;max-height:100px!important;opacity:.9;}.pillar-facts{grid-column:1/3!important;margin-top:18px!important;box-shadow:none!important;border:1px solid var(--b-border)!important;border-radius:9px!important;}.pillar-fact{padding:11px 14px!important;}.pillar-fact svg{width:18px!important;height:18px!important;}

/* True B guide rows: compact, icon left, content center, one action right */
.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:0 34px!important;margin:20px 0 0!important;border-top:1px solid var(--b-border)!important;}
.guide-card.b-row{display:grid!important;grid-template-columns:34px minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;gap:2px 12px!important;align-items:center!important;}
.guide-card.b-row .b-guide-icon{grid-column:1;grid-row:1/3;width:30px;height:30px;border-radius:7px;background:#eaf4ff;padding:6px;object-fit:contain;}
.guide-card.b-row .b-guide-main{grid-column:2;grid-row:1/3;min-width:0;}.guide-card.b-row .guide-code{display:inline!important;font-size:8px!important;letter-spacing:.07em!important;}.guide-card.b-row h2{margin:2px 0!important;line-height:1.25!important;}.guide-card.b-row p{margin:0!important;line-height:1.35!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:none!important;}
.guide-card.b-row .b-guide-action{grid-column:3;grid-row:1/3;align-self:center;padding:7px 10px;border-radius:6px;background:#092746;color:#fff;font-weight:800;white-space:nowrap;}.guide-card.b-row:hover .b-guide-action{background:#176fe5;}.guide-card.b-row .guide-card-foot,.guide-card.b-row .guide-card-top{display:none!important;}
.pillar-flow{margin:24px 34px!important;box-shadow:none!important;}.pillar-note{margin:14px 34px 50px!important;}

/* Shared B page headers */
.resource-hero,.skills-head,.models-hero,.tools-hero,.obs-hero,.route-hero,.comparison-hero{border:0!important;border-bottom:1px solid var(--b-border)!important;border-radius:0!important;background:var(--ds-surface)!important;box-shadow:none!important;}

/* CyberSkills are operational rows, not promo cards */
.skills-page{max-width:1440px!important;margin:0 auto!important;padding:0 34px 70px!important;}.skills-head{margin:0 -34px 18px!important;padding:30px 34px 24px!important;}.skills-head h1{font-size:30px!important;}.skills-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px;border-top:1px solid var(--b-border);}
.skill-detail{display:grid!important;grid-template-columns:38px minmax(0,1fr) auto!important;gap:10px!important;margin:0!important;padding:15px 4px!important;border:0!important;border-bottom:1px solid var(--b-border)!important;border-radius:0!important;background:transparent!important;}.skill-detail:hover{background:var(--b-hover)!important;}.skill-detail .skill-mark{width:32px;height:32px;border-radius:8px;background:#eaf4ff;display:grid;place-items:center;color:#176fe5;font-weight:900;}.skill-detail header{display:block!important;}.skill-detail h2{font-size:14px!important;margin:2px 0 3px!important;}.skill-detail p{font-size:10.5px!important;margin:0!important;}.skill-detail .version{font-size:9px!important;}.skill-detail .skill-cols{display:none!important;}.skill-detail .skill-action{align-self:center;padding:7px 10px;border-radius:6px;background:#092746;color:#fff;font-size:9px;font-weight:800;text-decoration:none;white-space:nowrap;}.skill-detail:hover .skill-action{background:#176fe5;}.skill-note{grid-column:1/-1;}

/* Generic legacy grids: neutralise card walls */
.cards,.grid,.cards-grid,.framework-grid,.templates-grid{gap:0!important;}.cards>a,.grid>a,.cards-grid>a,.framework-grid>a,.templates-grid>a{box-shadow:none!important;}

@media(max-width:1050px){.skills-catalog{grid-template-columns:1fr;}.guide-grid{grid-template-columns:1fr!important;}}
@media(max-width:900px){body:not(.home-dashboard) .side{background:linear-gradient(180deg,var(--sidebar),#061526)!important;}.pillar-showcase{grid-template-columns:1fr!important;}.pillar-hero-art{display:none!important;}.pillar-facts{grid-column:1!important;}.guide-grid{padding:0 20px!important;}.pillar-flow,.pillar-note{margin-left:20px!important;margin-right:20px!important;}}
@media(max-width:620px){.guide-card.b-row{grid-template-columns:32px minmax(0,1fr)!important;}.guide-card.b-row .b-guide-action{display:none;}.guide-card.b-row p{white-space:normal;}.skills-page{padding-left:18px!important;padding-right:18px!important;}.skills-head{margin-left:-18px!important;margin-right:-18px!important;}}

/* ========================================================================== */
/* CyberLibrary AI v2.3 — PROFESSIONAL ARTICLE READER                         */
/* ========================================================================== */

body:not(.home-dashboard) .article-wrap .breadcrumbs{margin:0 0 20px!important;font-size:10.5px!important;color:#75879a!important;}
body:not(.home-dashboard) .article-wrap .back-top{display:none!important;}

body:not(.home-dashboard) .article-hero>div{max-width:900px!important;}

body:not(.home-dashboard) .article-kicker{display:inline-flex!important;align-items:center!important;padding:5px 9px!important;border-radius:6px!important;font-size:9px!important;font-weight:850!important;letter-spacing:.06em!important;text-transform:uppercase;}
body:not(.home-dashboard) .article-hero h1{margin:12px 0 10px!important;color:#0d1d31!important;line-height:1.08!important;letter-spacing:-.045em!important;}
body:not(.home-dashboard) .article-hero p{max-width:850px!important;margin:0!important;font-size:14px!important;line-height:1.7!important;}
body:not(.home-dashboard) .article-hero .reviewed{margin-top:8px!important;color:#8191a2!important;font-size:11px!important;}
body:not(.home-dashboard) .article-meta-strip{margin:14px 0 8px!important;border:0!important;border-radius:0!important;background:none!important;overflow:visible!important;}
body:not(.home-dashboard) .article-meta-strip .meta-item{padding:6px 18px 6px 0!important;margin-right:18px!important;border:0!important;color:#5f7387!important;font-size:11px!important;}
body:not(.home-dashboard) .article-meta-strip svg{width:14px!important;height:14px!important;color:#6c84a0!important;}
body:not(.home-dashboard) .article-taxonomy{margin:8px 0 20px!important;gap:6px!important;}
body:not(.home-dashboard) .taxonomy-chip{padding:5px 9px!important;border-radius:6px!important;color:#52687e!important;font-size:9.5px!important;}
body:not(.home-dashboard) .article-grid{grid-template-columns:minmax(0,1fr) 250px!important;gap:32px!important;margin-top:0!important;align-items:start!important;}
body:not(.home-dashboard) .article-body{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;max-width:940px!important;}
body:not(.home-dashboard) .article-body section{padding:27px 0!important;border-top:1px solid #e3eaf1!important;}
body:not(.home-dashboard) .article-body section:first-child{border-top:0!important;}
body:not(.home-dashboard) .article-body h2{display:flex!important;align-items:center!important;gap:9px!important;margin:0 0 14px!important;color:#11253b!important;font-size:21px!important;line-height:1.25!important;letter-spacing:-.025em!important;}
body:not(.home-dashboard) .article-body h2:before{content:"";width:7px;height:7px;border:2px solid var(--module,#176fe5);border-radius:2px;flex:none;transform:rotate(45deg);}
body:not(.home-dashboard) .article-body h3{margin:22px 0 9px!important;color:#20364d!important;font-size:15px!important;}
body:not(.home-dashboard) .article-body p,body:not(.home-dashboard) .article-body li{color:#465d73!important;font-size:13.5px!important;line-height:1.78!important;}
body:not(.home-dashboard) .article-body ul,body:not(.home-dashboard) .article-body ol{padding-left:22px!important;}
body:not(.home-dashboard) .plain-box{margin:4px 0 10px!important;padding:18px 20px!important;border:1px solid #dbe8f5!important;border-left:3px solid var(--module,#176fe5)!important;border-radius:9px!important;}
body:not(.home-dashboard) .article-body>section.plain-box#en-pocas-palabras{padding:18px 20px!important;border-top:1px solid #dbe8f5!important;}
body:not(.home-dashboard) .article-body>section.plain-box h2{font-size:17px!important;}
body:not(.home-dashboard) .article-visual{margin:22px 0!important;border:1px solid #dfe7ef!important;border-radius:10px!important;background:var(--ds-surface)!important;}
body:not(.home-dashboard) .article-visual figcaption{padding:9px 12px!important;background:#f8fafc!important;color:#718397!important;font-size:10.5px!important;}
body:not(.home-dashboard) .step{padding:13px 16px!important;border:0!important;border-left:2px solid #d7e4f2!important;background:transparent!important;}
body:not(.home-dashboard) .checklist{grid-template-columns:1fr!important;border-top:1px solid #e3eaf1!important;}
body:not(.home-dashboard) .checklist li{padding:11px 4px!important;}
body:not(.home-dashboard) .control-table{border:1px solid #dfe7ef!important;border-radius:9px!important;background:var(--ds-surface)!important;}
body:not(.home-dashboard) .control-table th,body:not(.home-dashboard) .control-table td{padding:10px 12px!important;font-size:11.5px!important;}
body:not(.home-dashboard) .article-side{position:sticky!important;top:84px!important;padding:0!important;border-radius:0!important;}
body:not(.home-dashboard) .article-side h3{margin:0 0 7px!important;padding:0 0 9px!important;border-bottom:1px solid #dfe7ef!important;font-size:10px!important;letter-spacing:.07em!important;}
body:not(.home-dashboard) .article-side a{position:relative!important;padding:7px 9px!important;border:0!important;border-radius:5px!important;font-size:10.5px!important;line-height:1.35!important;}
body:not(.home-dashboard) .article-side a:hover{background:#edf5ff!important;color:#176fe5!important;}
body:not(.home-dashboard) .article-side a.article-toc-active{background:#eaf3ff!important;color:#176fe5!important;font-weight:750!important;}
body:not(.home-dashboard) .reader-panel{margin-top:18px;padding:14px;border:1px solid #dfe7ef;border-radius:9px;background:var(--ds-surface);}
body:not(.home-dashboard) .reader-panel h4{margin:0 0 10px;color:#21384f;font-size:10px;text-transform:uppercase;letter-spacing:.07em;}
body:not(.home-dashboard) .reader-panel .reader-chip{display:inline-flex;margin:0 4px 5px 0;padding:4px 7px;border-radius:5px;background:#f0f4f8;color:#5b7187;font-size:9px;font-weight:700;}
body:not(.home-dashboard) .reader-panel p{margin:0;color:#718397;font-size:10px;line-height:1.55;}
body:not(.home-dashboard) .ref-list{grid-template-columns:1fr 1fr!important;gap:8px!important;}
body:not(.home-dashboard) .ref-list a{padding:12px 14px!important;border:1px solid #e1e8ef!important;border-radius:8px!important;background:var(--ds-surface)!important;}
body:not(.home-dashboard) .related-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;}
body:not(.home-dashboard) .related-grid a{min-height:78px!important;padding:12px!important;border:1px solid #e1e8ef!important;border-radius:8px!important;background:var(--ds-surface)!important;}
body:not(.home-dashboard) .author-signoff{grid-template-columns:70px 1fr!important;gap:14px!important;padding:20px 0 0!important;margin-top:26px!important;}
body:not(.home-dashboard) .author-signoff-media img{width:64px!important;height:64px!important;}
body:not(.home-dashboard) .author-signoff h3{font-size:16px!important;}
body:not(.home-dashboard) .author-signoff p{font-size:11.5px!important;}
/* Native architecture comparison blocks */
.arch-triad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0;}.arch-card{padding:16px;border:1px solid #dfe7ef;border-radius:9px;background:var(--ds-surface);}.arch-card b{display:block;margin-bottom:5px;color:#18334e;font-size:14px;}.arch-card small{display:block;color:#73869a;font-size:10px;line-height:1.5;}.arch-flow{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:14px 0;padding:14px;border:1px solid #dfe7ef;border-radius:9px;background:var(--ds-surface);}.arch-node{padding:9px 11px;border-radius:7px;background:#edf5ff;color:#1a4f86;font-size:10.5px;font-weight:750;}.arch-arrow{color:#7f94aa;font-weight:800;}.comparison-mini{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid #dfe7ef;border-radius:9px;background:var(--ds-surface);}.comparison-mini th,.comparison-mini td{padding:10px 11px;border-right:1px solid #e5ebf1;border-bottom:1px solid #e5ebf1;font-size:10.5px;text-align:left;}.comparison-mini th{background:#f5f8fb;color:#24405b;}.comparison-mini td{color:#536a80;}.comparison-mini tr:last-child td{border-bottom:0;}.comparison-mini th:last-child,.comparison-mini td:last-child{border-right:0;}
@media(max-width:1050px){body:not(.home-dashboard) .article-grid{grid-template-columns:1fr!important;}.article-side{position:static!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;margin-bottom:20px!important;}.article-side h3{grid-column:1/-1;}.reader-panel{grid-column:1/-1;}.arch-triad{grid-template-columns:1fr;}.related-grid{grid-template-columns:1fr!important;}}
@media(max-width:620px){body:not(.home-dashboard) .article-hero h1{font-size:31px!important;}.article-side{grid-template-columns:1fr!important;}.ref-list{grid-template-columns:1fr!important;}.arch-flow{align-items:stretch;}.arch-node{width:100%;}.arch-arrow{transform:rotate(90deg);align-self:center;}}

/* ========================================================================== */
/* CyberLibrary AI v2.4 — final editorial visual direction                    */
/* ========================================================================== */
:root{--side-bg:#071525;--side-bg-2:#06111e;--side-line:#18304a;--side-text:#d9e6f3;--side-muted:#7691ac;--violet:#6046e8;}
/* One dark navigation language everywhere, including home */
.side,.home-dashboard .side,body:not(.home-dashboard) .side{padding:22px 12px!important;color:var(--side-text)!important;}
.side .st,.home-dashboard .side .st,body:not(.home-dashboard) .side .st{color:#6f8eab!important;font-size:9px!important;font-weight:800!important;letter-spacing:.12em!important;text-transform:uppercase!important;margin:10px 8px 8px!important;}
.side .sl,.side .ps,.home-dashboard .side .sl,.home-dashboard .side .ps,body:not(.home-dashboard) .side .sl,body:not(.home-dashboard) .side .ps{color:#d7e4f1!important;border-radius:7px!important;font-size:11px!important;min-height:34px!important;}
.side .sl b,.side .ps b{opacity:.95;}.side .sl:hover,.side .ps:hover,.side .active,.home-dashboard .side .sl:hover,.home-dashboard .side .ps:hover,.home-dashboard .side .active,body:not(.home-dashboard) .side .sl:hover,body:not(.home-dashboard) .side .ps:hover,body:not(.home-dashboard) .side .active{background:#102c49!important;color:#fff!important;box-shadow:inset 2px 0 0 #4c9cff!important;}
.side .sep,.home-dashboard .side .sep,body:not(.home-dashboard) .side .sep{background:var(--side-line)!important;margin:14px 6px!important;}.side .nav-new{background:#1fcf8a!important;color:#042519!important;}
/* Resource hubs: editorial header + clean list, no wall of cards */
.resource-wrap{max-width:1440px!important;padding:30px 38px 78px!important;}.resource-hero,.resource-hero.compact{grid-template-columns:minmax(0,1fr) 230px!important;gap:28px!important;align-items:center!important;margin:0 0 24px!important;padding:28px 0 30px!important;border:0!important;border-bottom:1px solid #dfe7ef!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;}.resource-hero h1,.resource-hero.compact h1{margin:7px 0 9px!important;font-size:38px!important;letter-spacing:-.035em!important;}.resource-hero p{max-width:760px!important;margin:0!important;font-size:13px!important;}.resource-hero img{max-width:180px!important;max-height:145px!important;}.resource-grid,.compact-grid,.compact-templates{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 34px!important;border-top:1px solid #dfe7ef!important;}.resource-card,.resource-card.compact-card,.compact-templates .resource-card{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto auto auto!important;min-height:0!important;margin:0!important;padding:18px 4px!important;border:0!important;border-bottom:1px solid #dfe7ef!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;}.resource-card:hover{background:#f8fbff!important;}.resource-card .tag{grid-column:1;grid-row:1;width:max-content!important;margin:0 0 5px!important;padding:0!important;background:transparent!important;color:#246fd3!important;font-size:8px!important;}.resource-card h2,.resource-card h3,.compact-templates .resource-card h2{grid-column:1;grid-row:2;margin:0 0 4px!important;font-size:15px!important;}.resource-card p,.compact-templates .resource-card p{grid-column:1;grid-row:3;margin:0!important;max-width:600px;color:#66798d!important;font-size:11.5px!important;line-height:1.45!important;}.resource-card .actions{grid-column:2;grid-row:1/4;align-self:center!important;display:flex!important;gap:6px!important;margin:0!important;padding:0 0 0 16px!important;}.resource-btn{padding:7px 10px!important;border-radius:6px!important;font-size:10px!important;}.resource-btn.secondary{background:#f0f4f8!important;}.resource-card .compact-icon{display:none!important;}
/* Routes: one horizontal reading lane per persona; avoids broken sparse cards */
.resource-grid:has(.route-list){display:block!important;border-top:0!important;}.resource-grid:has(.route-list) .resource-card{display:grid!important;grid-template-columns:210px minmax(0,1fr)!important;grid-template-rows:auto auto!important;gap:2px 28px!important;padding:24px 0!important;border-top:1px solid #dfe7ef!important;}.resource-grid:has(.route-list) .resource-card .tag{grid-column:1;grid-row:1;}.resource-grid:has(.route-list) .resource-card h2{grid-column:1;grid-row:2;font-size:17px!important;}.resource-grid:has(.route-list) .resource-card>p{grid-column:1;grid-row:3;font-size:11px!important;}.resource-grid:has(.route-list) .route-list{grid-column:2;grid-row:1/5;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;margin:0!important;border:1px solid #e1e8ef!important;border-radius:10px!important;overflow:hidden;background:var(--ds-surface);}.resource-grid:has(.route-list) .route-step{grid-template-columns:28px 1fr!important;gap:8px!important;margin:0!important;padding:13px!important;border:0!important;border-right:1px solid #e7edf3!important;}.resource-grid:has(.route-list) .route-step:last-child{border-right:0!important;}.resource-grid:has(.route-list) .route-step b{width:24px!important;height:24px!important;font-size:9px!important;}.resource-grid:has(.route-list) .route-step a{font-size:11px!important;}.resource-grid:has(.route-list) .route-step small{font-size:9px!important;}
/* Article reader: closer to magazine/documentation layout, fewer containers */
body:not(.home-dashboard) .article-wrap{padding:22px 3.2vw 90px!important;}.article-hero{padding-top:20px!important;}.article-grid{grid-template-columns:minmax(0,920px) 260px!important;gap:46px!important;justify-content:start!important;}.article-body{max-width:920px!important;}.article-body section{padding:30px 0!important;}.article-body h2{font-size:22px!important;}.article-body h2:before{width:22px!important;height:22px!important;display:grid!important;place-items:center!important;border:0!important;border-radius:5px!important;background:linear-gradient(135deg,#4169f5,#6b3fe5)!important;transform:none!important;box-shadow:0 4px 12px rgba(79,70,220,.18)!important;}.article-side{padding:14px!important;border-radius:10px!important;background:linear-gradient(180deg,#0b1b2d,#071523)!important;box-shadow:0 10px 28px rgba(10,30,50,.12)!important;}.article-side h3{color:#fff!important;border-bottom-color:#1e3851!important;}.article-side a{color:#bfd0e1!important;border-radius:6px!important;}.article-side a:hover,.article-side a.article-toc-active{background:linear-gradient(90deg,#4e42d8,#6842d8)!important;color:#fff!important;}.reader-panel{border-color:#1d3953!important;background:#0b2034!important;}.reader-panel h4{color:#fff!important;}.reader-panel .reader-chip{background:#173451!important;color:#c8dbed!important;}.reader-panel p{color:#8fa8bf!important;}.plain-box{background:linear-gradient(90deg,#f6f8ff,#f8fbff)!important;border-color:#dfe5fb!important;}.related-grid a,.ref-list a{box-shadow:none!important;}.article-body .arch-card{box-shadow:none!important;border-color:#e0e7ef!important;}.article-body .arch-triad{gap:12px!important;}
/* Pillar listings become compact editorial rows */
.guide-grid{gap:0 38px!important;}.guide-card.b-row{min-height:104px!important;padding:16px 4px!important;}.guide-card.b-row .b-guide-icon,.guide-card.b-row .skill-mark{width:36px!important;height:36px!important;}.guide-card.b-row h2{font-size:15px!important;}.guide-card.b-row p{font-size:11px!important;}.guide-card.b-row .b-guide-action{font-size:10px!important;}
@media(max-width:1100px){.resource-grid:has(.route-list) .resource-card{grid-template-columns:1fr!important;}.resource-grid:has(.route-list) .route-list{grid-column:1!important;grid-row:auto!important;margin-top:12px!important;}.resource-grid:has(.route-list) .route-step{grid-template-columns:25px 1fr!important;}.article-grid{grid-template-columns:1fr!important;}.article-side{position:static!important;}}
@media(max-width:760px){.resource-grid,.compact-grid,.compact-templates{grid-template-columns:1fr!important;}.resource-hero,.resource-hero.compact{grid-template-columns:1fr!important;}.resource-hero img{display:none;}.resource-grid:has(.route-list) .route-list{grid-template-columns:1fr 1fr!important;}.resource-grid:has(.route-list) .route-step:nth-child(2){border-right:0!important;}.resource-grid:has(.route-list) .route-step{border-bottom:1px solid #e7edf3!important;}.resource-card .actions{grid-column:1;grid-row:auto;padding:10px 0 0!important;}.article-side{display:block!important;}}

/* ========================================================================== */
/* P9 · CONCEPTO VISUAL Y DIRECCIÓN DE ARTE                                   */
/* Idea rectora: "Atlas operativo de IA" — precisión editorial + plano técnico */
/* ========================================================================== */
:root{--art-ink:#0b1728;--art-navy:#071423;--art-navy-2:#0b1d32;--art-blue:#176fe5;--art-cyan:#22c9ee;--art-violet:#6657e8;--art-green:#19a974;--art-paper:#f6f8fb;--art-paper-2:#fbfcfe;--art-line:#dce5ee;--art-line-strong:#cbd8e5;--art-muted:#667a8e;--art-radius:12px;--art-shadow:0 16px 44px rgba(22,47,76,.08);--art-shadow-soft:0 8px 26px rgba(22,47,76,.055);}

/* Base editorial: claro, técnico y sin apariencia de plantilla SaaS. */
body:not(.home-dashboard){background:var(--art-paper)!important;color:var(--art-ink)!important;}
body:not(.home-dashboard) .content-column{background:
  linear-gradient(90deg,rgba(24,73,116,.025) 1px,transparent 1px),
  linear-gradient(rgba(24,73,116,.02) 1px,transparent 1px),
  var(--art-paper)!important;background-size:32px 32px!important;}

/* Header: una franja institucional única para todo el producto. */
.top{height:70px!important;background:linear-gradient(90deg,#06111e 0%,#081a2d 58%,#0a2140 100%)!important;border-bottom:1px solid #1b3650!important;box-shadow:0 8px 28px rgba(2,11,20,.18)!important;}
.top:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--art-cyan),#4f78ff 52%,var(--art-violet));opacity:.9;}
.top .brand{color:#fff!important;letter-spacing:-.02em!important;}
.top .brand b{background:linear-gradient(90deg,#50ddff,#73a8ff);-webkit-background-clip:text;background-clip:text;color:transparent!important;}
.top .brand small{color:#8ea8bf!important;letter-spacing:.01em;}
.top nav{gap:20px!important;color:#c3d1df!important;}
.top nav a{position:relative;padding:26px 0 23px;font-size:11px!important;font-weight:650;transition:color .18s ease;}
.top nav a:after{content:"";position:absolute;left:0;right:100%;bottom:16px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--art-cyan),var(--art-violet));transition:right .18s ease;}
.top nav a:hover,.top nav a:focus-visible{color:#fff!important;}
.top nav a:hover:after,.top nav a:focus-visible:after{right:0;}
.top nav .top-legal-highlight{padding:8px 11px!important;margin:auto 0;border:1px solid #2d506e;border-radius:7px;background:#0b2943;color:#d8e9f8!important;}
.top nav .top-legal-highlight:after{display:none;}

/* Sidebar: atlas oscuro, con niveles discretos y lectura rápida. */
.side,.home-dashboard .side,body:not(.home-dashboard) .side{background:
    radial-gradient(circle at 15% 0%,rgba(34,201,238,.08),transparent 25%),
    linear-gradient(180deg,#071625 0%,#06111e 100%)!important;border-right:1px solid #193550!important;box-shadow:8px 0 28px rgba(8,25,42,.04)!important;}
.side .st{color:#6f90ad!important;letter-spacing:.14em!important;}
.side .sl,.side .ps{border:1px solid transparent!important;transition:background .16s ease,border-color .16s ease,transform .16s ease!important;}
.side .sl:hover,.side .ps:hover,.side .active{background:linear-gradient(90deg,#0c2a45,#0c2239)!important;border-color:#173e5e!important;box-shadow:inset 2px 0 0 #55ccef!important;transform:translateX(1px)
;}
.side .sep{background:linear-gradient(90deg,transparent,#1a3a56,transparent)!important;}

/* Footer: cierre editorial, no bloque corporativo pesado. */
.footer{background:#06111e!important;border-top:1px solid #17324a!important;color:#9db0c2!important;}
.footer:before{content:"";display:block;height:1px;margin:-28px -5vw 26px;background:linear-gradient(90deg,transparent,#2e668e,transparent);opacity:.55;}
.footer h4{color:#d7e3ed!important;letter-spacing:.09em!important;}
.footer a{transition:color .16s ease,transform .16s ease;}
.footer a:hover{color:#fff!important;transform:translateX(2px);}
.site-domain{color:#59d8f4!important;}

/* HOME · identidad memorable sin perder densidad profesional. */
.home-dashboard{background:#f2f5f9!important;color:var(--art-ink)!important;}
.home-dashboard .content-column{background:
  linear-gradient(90deg,rgba(24,73,116,.026) 1px,transparent 1px),
  linear-gradient(rgba(24,73,116,.022) 1px,transparent 1px),#f2f5f9!important;background-size:34px 34px!important;}
.home-dashboard .dashboard-home{background:transparent!important;padding-top:30px!important;}
.home-dashboard .dash-hero{position:relative;isolation:isolate;min-height:350px!important;border:1px solid #183c65!important;border-radius:18px!important;background:
    radial-gradient(circle at 84% 18%,rgba(41,181,255,.25),transparent 27%),
    radial-gradient(circle at 63% 115%,rgba(106,77,232,.20),transparent 34%),
    linear-gradient(118deg,#061225 0%,#0a1d42 57%,#113a7c 100%)!important;box-shadow:0 22px 60px rgba(10,35,77,.16)!important;}
.home-dashboard .dash-hero:before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(119,181,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(119,181,255,.055) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(90deg,#000 0%,#000 48%,transparent 92%);}
.home-dashboard .dash-hero:after{content:"CYBERLIBRARY / AI";position:absolute;right:26px;bottom:18px;color:rgba(181,221,255,.16);font-size:9px;font-weight:850;letter-spacing:.23em;pointer-events:none;}
.home-dashboard .hero-eyebrow{display:inline-flex;align-items:center;gap:8px;color:#84dbf1!important;font-size:9px!important;letter-spacing:.16em!important;}
.home-dashboard .hero-eyebrow:before{content:"";width:22px;height:2px;background:linear-gradient(90deg,var(--art-cyan),var(--art-violet));border-radius:2px;}
.home-dashboard .dash-hero h1{max-width:850px!important;font-size:42px!important;line-height:1.04!important;letter-spacing:-.046em!important;text-wrap:balance;}
.home-dashboard .dash-hero p{max-width:800px!important;color:#c9d8e8!important;}
.home-dashboard .hero-search input{height:50px!important;border:1px solid rgba(135,184,232,.4)!important;border-radius:9px!important;box-shadow:0 11px 32px rgba(0,0,0,.15)!important;}
.home-dashboard .ask-ai{background:linear-gradient(135deg,#1a73e8,#5b58e7)!important;box-shadow:0 7px 18px rgba(28,94,213,.25)!important;}
.home-dashboard .hero-tags a{border-color:#31577e!important;background:#0d2b50!important;color:#dbeaff!important;}
.home-dashboard .hero-tags a:hover{border-color:#56c8e8!important;background:#10375f!important;}
.home-dashboard .dash-hero-art:before{background-image:radial-gradient(#82cfff 1px,transparent 1px)!important;background-size:24px 24px!important;opacity:.22!important;}
.home-dashboard .dash-hero-art img{filter:drop-shadow(0 22px 38px rgba(38,116,255,.34)) saturate(1.08)!important;}

/* Home: las categorías funcionan como puertas, no como tarjetas promocionales. */
.home-dashboard .dash-title h2{font-size:21px!important;letter-spacing:-.025em!important;}
.home-dashboard .dash-title h2:after{content:"";display:block;width:32px;height:2px;margin-top:8px;background:linear-gradient(90deg,var(--art-blue),var(--art-cyan));border-radius:3px;}
.home-dashboard .category-grid{gap:11px!important;}
.home-dashboard .category-grid a{position:relative;overflow:hidden;align-items:flex-start!important;text-align:left!important;justify-content:flex-end!important;min-height:132px!important;padding:18px!important;border:1px solid #d9e3ed!important;border-radius:12px!important;background:linear-gradient(155deg,#fff 0%,#f9fbfd 100%)!important;box-shadow:none!important;}
.home-dashboard .category-grid a:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--cat,#176fe5);}
.home-dashboard .category-grid a:nth-child(1){--cat:#2e82ed;}.home-dashboard .category-grid a:nth-child(2){--cat:#8c5cf6;}.home-dashboard .category-grid a:nth-child(3){--cat:#1eb8d0;}.home-dashboard .category-grid a:nth-child(4){--cat:#18a978;}.home-dashboard .category-grid a:nth-child(5){--cat:#dc7d29;}.home-dashboard .category-grid a:nth-child(6){--cat:#5867df;}
.home-dashboard .category-grid i{position:absolute;right:16px;top:14px;margin:0!important;color:var(--cat)!important;font-size:24px!important;opacity:.9;}
.home-dashboard .category-grid b{font-size:13.5px!important;}.home-dashboard .category-grid span{margin-top:4px!important;}
.home-dashboard .category-grid a:hover{transform:translateY(-3px)!important;border-color:#b9cce0!important;box-shadow:var(--art-shadow-soft)!important;}

/* CyberSkills: una familia visual operativa, con acento técnico superior. */
.home-dashboard .featured-grid>a{overflow:hidden;border:1px solid #d9e3ed!important;border-radius:12px!important;box-shadow:none!important;}
.home-dashboard .featured-grid>a:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--art-blue),var(--art-violet));}
.home-dashboard .featured-grid>a:hover{transform:translateY(-3px)!important;box-shadow:var(--art-shadow-soft)!important;}
.home-dashboard .featured-grid em{top:16px!important;background:#eef4ff!important;color:#355fd5!important;}
.home-dashboard .featured-grid i{color:#416bdf!important;}
.home-dashboard .featured-grid footer{border-top-color:#e6edf4!important;}
.home-dashboard .how{border-color:#d8e2ec!important;border-radius:12px!important;background:linear-gradient(90deg,#fff,#f9fbfe)!important;box-shadow:none!important;}
.home-dashboard .how i{background:#edf4ff!important;color:#365fd7!important;}
.home-dashboard .rail-card{border-color:#d8e2ec!important;border-radius:12px!important;box-shadow:none!important;background:var(--ds-surface)!important;}
.home-dashboard .rail-card:first-child{position:relative;overflow:hidden;}
.home-dashboard .rail-card:first-child:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(var(--art-cyan),var(--art-violet));}
.home-dashboard .pillars-compact a{position:relative;overflow:hidden;border-color:#d9e3ed!important;border-radius:9px!important;background:var(--ds-surface)!important;}
.home-dashboard .pillars-compact b{display:grid;place-items:center;width:27px;height:27px;border-radius:6px;background:#eef4fb;color:#315f92!important;font-size:9px!important;}
.home-dashboard .pillars-compact a:hover{border-color:#b7cde1!important;background:#f9fbfd!important;}

/* Pilares: cabecera tipo ficha de atlas; el color del módulo manda, sin decorar de más. */
body:not(.home-dashboard) .pillar-page{max-width:1480px!important;margin:0 auto!important;padding-bottom:70px!important;}
body:not(.home-dashboard) .pillar-showcase{position:relative;overflow:hidden;margin:0 34px 22px!important;padding:34px 36px!important;border:1px solid #d6e1eb!important;border-radius:14px!important;background:
    linear-gradient(90deg,rgba(255,255,255,.97),rgba(248,251,254,.96)),
    var(--art-paper-2)!important;box-shadow:var(--art-shadow-soft)!important;}
body:not(.home-dashboard) .pillar-showcase:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--module,#176fe5);}
body:not(.home-dashboard) .pillar-showcase:after{content:"";position:absolute;right:0;top:0;width:40%;height:100%;background-image:linear-gradient(rgba(31,91,145,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(31,91,145,.04) 1px,transparent 1px);background-size:26px 26px;mask-image:linear-gradient(90deg,transparent,#000);pointer-events:none;}
body:not(.home-dashboard) .pillar-kicker{letter-spacing:.16em!important;}
body:not(.home-dashboard) .pillar-showcase h1{letter-spacing:-.045em!important;text-wrap:balance;}
body:not(.home-dashboard) .pillar-fact{border-color:#dfe7ef!important;background:var(--ds-surface)!important;box-shadow:0 5px 14px rgba(31,59,88,.035)!important;}
body:not(.home-dashboard) .guide-card.b-row{position:relative!important;transition:background .15s ease,transform .15s ease!important;}
body:not(.home-dashboard) .guide-card.b-row:before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:2px;background:var(--module,#176fe5);opacity:.42;}
body:not(.home-dashboard) .guide-card.b-row:hover{transform:translateX(3px)!important;background:#fbfdff!important;}
body:not(.home-dashboard) .pillar-flow{border:1px solid #dce5ee!important;border-radius:12px!important;background:var(--ds-surface)!important;overflow:hidden;}

/* Artículos: revista técnica, con módulo visible y menos cajas. */
body:not(.home-dashboard) .article-wrap{max-width:1450px!important;}
body:not(.home-dashboard) .article-hero{position:relative!important;border-bottom:1px solid #d7e2ec!important;}
body:not(.home-dashboard) .article-hero:before{content:"";position:absolute;left:0;top:30px;bottom:30px;width:3px;border-radius:4px;background:var(--module,#176fe5);}
body:not(.home-dashboard) .article-kicker{background:#eef4fb!important;color:#355b83!important;border:1px solid #dce6ef!important;}
body:not(.home-dashboard) .article-hero h1{max-width:900px!important;font-size:44px!important;text-wrap:balance;}
body:not(.home-dashboard) .article-hero p{color:#4c6278!important;}
body:not(.home-dashboard) .article-meta-strip{padding-left:22px!important;}
body:not(.home-dashboard) .article-taxonomy{padding-left:22px!important;}
body:not(.home-dashboard) .taxonomy-chip{border:1px solid #dfe6ee!important;background:var(--ds-surface)!important;}
body:not(.home-dashboard) .article-body h2:before{background:var(--module,#176fe5)!important;box-shadow:none!important;}
body:not(.home-dashboard) .plain-box{background:linear-gradient(90deg,#f5f9ff,#fbfdff)!important;border-color:#d8e5f1!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)!important;}

body:not(.home-dashboard) .article-side:before{content:"CONTENIDO";display:block;margin:0 0 10px;padding:0 0 9px;border-bottom:1px solid #1c3b55;color:#6f93af;font-size:8px;font-weight:850;letter-spacing:.16em;}
body:not(.home-dashboard) .article-side h3{display:none!important;}
body:not(.home-dashboard) .article-side a:hover,body:not(.home-dashboard) .article-side a.article-toc-active{background:linear-gradient(90deg,#164c72,#4c46c7)!important;}
body:not(.home-dashboard) .article-visual{box-shadow:0 7px 22px rgba(31,55,80,.045)!important;}
body:not(.home-dashboard) .ref-list a,body:not(.home-dashboard) .related-grid a{transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease!important;}
body:not(.home-dashboard) .ref-list a:hover,body:not(.home-dashboard) .related-grid a:hover{transform:translateY(-2px);border-color:#bdcfe0!important;box-shadow:var(--art-shadow-soft)!important;}

/* Recursos, búsqueda y páginas institucionales comparten una misma "lámina" editorial. */
body:not(.home-dashboard) :is(.resource-hero,.authority-hero,.legal-hero,.about-hero,.skills-head,.model-hero,.detail-hero){position:relative;overflow:hidden;}
body:not(.home-dashboard) :is(.resource-hero,.authority-hero,.legal-hero,.about-hero,.skills-head,.model-hero,.detail-hero):before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--art-blue),var(--art-cyan) 48%,var(--art-violet));opacity:.9;}
body:not(.home-dashboard) :is(.resource-card,.authority-card,.catalog-panel,.legal-item,.area-card){border-color:#d9e3ec!important;box-shadow:none!important;}
body:not(.home-dashboard) :is(.resource-card,.authority-card,.catalog-panel,.legal-item,.area-card):hover{border-color:#bacfe0!important;}

/* Modelos: inteligencia de catálogo, no e-commerce. */
body:not(.home-dashboard) .model-page{background:transparent!important;}
body:not(.home-dashboard) .model-hero,body:not(.home-dashboard) .detail-hero{border:1px solid #d6e1eb!important;border-radius:14px!important;background:linear-gradient(135deg,#fff,#f5f9fd)!important;box-shadow:var(--art-shadow-soft)!important;}
body:not(.home-dashboard) .model-card{border-color:#d9e3ec!important;border-radius:10px!important;box-shadow:none!important;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease!important;}
body:not(.home-dashboard) .model-card:hover{transform:translateY(-2px);border-color:#b5cde2!important;box-shadow:var(--art-shadow-soft)!important;}
body:not(.home-dashboard) .detail-link,body:not(.home-dashboard) .primary-button{background:linear-gradient(135deg,#176fe5,#5c55df)!important;border-color:transparent!important;}
body:not(.home-dashboard) .status-pill.ok{background:#e8f8f1!important;color:#16714f!important;}

/* Observatorio: apariencia de mesa normativa, con lectura por encima del adorno. */
body:not(.home-dashboard) .legal-shell{background:transparent!important;}
body:not(.home-dashboard) .legal-shell .legal-hero{border:1px solid #d5e1eb!important;border-radius:14px!important;background:linear-gradient(135deg,#fff,#f6f9fc)!important;box-shadow:var(--art-shadow-soft)!important;}
body:not(.home-dashboard) .legal-status-card{border-color:#d8e3ec!important;box-shadow:none!important;}
body:not(.home-dashboard) .legal-workspace{border-color:#d8e3ec!important;box-shadow:var(--art-shadow-soft)!important;}

/* Estados de interacción coherentes y accesibles. */
@media (hover:hover){
  body:not(.home-dashboard) a:not(.sl):not(.ps):not(.top-legal-highlight){text-underline-offset:3px;}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;}
}

@media(max-width:900px){
  .top:before{height:2px;}
  .home-dashboard .dash-hero h1{font-size:36px!important;}
  body:not(.home-dashboard) .pillar-showcase{margin-left:20px!important;margin-right:20px!important;padding:28px 24px!important;}
  body:not(.home-dashboard) .article-hero{padding-left:18px!important;}
  body:not(.home-dashboard) .article-meta-strip,body:not(.home-dashboard) .article-taxonomy{padding-left:18px!important;}
}
@media(max-width:620px){
  .home-dashboard .dash-hero{border-radius:14px!important;}
  .home-dashboard .dash-hero h1{font-size:31px!important;}
  .home-dashboard .category-grid a{min-height:118px!important;padding:15px!important;}
  body:not(.home-dashboard) .pillar-showcase{margin-left:14px!important;margin-right:14px!important;padding:24px 19px!important;}
  body:not(.home-dashboard) .article-hero h1{font-size:32px!important;}
  body:not(.home-dashboard) .article-hero{padding-left:14px!important;}
  body:not(.home-dashboard) .article-meta-strip,body:not(.home-dashboard) .article-taxonomy{padding-left:14px!important;}
}


/* P10.1a — correctivo artículos: hero visual + TOC editorial claro */
body:not(.home-dashboard) .article-hero{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr)!important;gap:34px!important;align-items:center!important;padding:32px 34px!important;border:1px solid #dbe4ed!important;border-radius:16px!important;background:linear-gradient(118deg,#f8fbff,#f1f6fb)!important;box-shadow:none!important;}
body:not(.home-dashboard) .article-hero img{display:block!important;width:100%!important;height:auto!important;max-height:280px!important;object-fit:contain!important;border:0!important;border-radius:12px!important;box-shadow:none!important;}
body:not(.home-dashboard) .article-side{border:1px solid #dce5ee!important;background:var(--ds-surface)!important;box-shadow:0 8px 24px rgba(20,45,75,.045)!important;}
body:not(.home-dashboard) .article-side h3{color:#20354b!important;border-bottom-color:#e5ebf1!important;}
body:not(.home-dashboard) .article-side a{color:#61758a!important;border-bottom-color:#edf1f5!important;}
body:not(.home-dashboard) .article-side a:hover,
body:not(.home-dashboard) .article-side a.article-toc-active{background:#edf4ff!important;color:var(--ds-accent-strong)!important;}
body:not(.home-dashboard) .article-side .reader-panel{border-color:#dce5ee!important;background:#f7fafd!important;}
body:not(.home-dashboard) .article-side .reader-panel h4{color:#20354b!important;}
body:not(.home-dashboard) .article-side .reader-panel .reader-chip{background:#eaf3ff!important;color:#315f92!important;}
body:not(.home-dashboard) .article-side .reader-panel p{color:#61758a!important;}
@media(max-width:900px){
  body:not(.home-dashboard) .article-hero{grid-template-columns:1fr!important;}
  body:not(.home-dashboard) .article-hero img{max-height:320px!important;}
}

/* =========================================================
   P15.2 · DOCUMENT REFINEMENT
   Scope: technical article/document pages only.
   Editorial alignment with P15.1 pillar fronts.
   ========================================================= */
body:not(.home-dashboard) .article-wrap{
  max-width:1260px!important;
  padding-top:18px!important;
}
body:not(.home-dashboard) .article-wrap .breadcrumbs{
  margin-bottom:10px!important;
  font-size:10.5px!important;
  letter-spacing:.01em!important;
}
body:not(.home-dashboard) .article-wrap .back-top{
  margin-bottom:12px!important;
  min-height:30px!important;
  padding:6px 10px!important;
  border:1px solid #dbe5ee!important;
  border-radius:6px!important;
  background:#fff!important;
  box-shadow:none!important;
  font-size:10.5px!important;
}
body:not(.home-dashboard) .article-wrap .article-hero{
  grid-template-columns:minmax(0,1fr) minmax(240px,330px)!important;
  gap:32px!important;
  align-items:center!important;
  margin:0!important;
  padding:20px 0 24px!important;
  border:0!important;
  border-top:1px solid #e2e9f0!important;
  border-bottom:1px solid #d8e2eb!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body:not(.home-dashboard) .article-wrap .article-kicker{
  margin-bottom:7px!important;
  font-size:10px!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
}
body:not(.home-dashboard) .article-wrap .article-hero h1{
  max-width:820px!important;
  margin:5px 0 9px!important;
  font-size:clamp(32px,3vw,42px)!important;
  line-height:1.04!important;
}
body:not(.home-dashboard) .article-wrap .article-hero p{
  max-width:790px!important;
  font-size:13.5px!important;
  line-height:1.62!important;
}
body:not(.home-dashboard) .article-wrap .article-hero .reviewed{
  margin-top:9px!important;
  font-size:10px!important;
}
body:not(.home-dashboard) .article-wrap .article-hero>img{
  width:100%!important;
  max-height:225px!important;
  object-fit:contain!important;
  padding:8px!important;
  border:1px solid #e2e9f0!important;
  border-radius:8px!important;
  background:#fbfdff!important;
  box-shadow:none!important;
}
body:not(.home-dashboard) .article-wrap .article-meta-strip{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-bottom:1px solid #e4ebf2!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body:not(.home-dashboard) .article-wrap .article-meta-strip .meta-item{
  min-height:38px!important;
  padding:8px 18px 8px 0!important;
  margin-right:18px!important;
  border-right:1px solid #e4ebf2!important;
  color:#65798c!important;
  font-size:10.5px!important;
}
body:not(.home-dashboard) .article-wrap .article-meta-strip .meta-item:last-child{
  border-right:0!important;
}
body:not(.home-dashboard) .article-wrap .article-meta-strip svg{
  width:14px!important;
  height:14px!important;
}
body:not(.home-dashboard) .article-wrap .article-taxonomy{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  margin:9px 0 0!important;
}
body:not(.home-dashboard) .article-wrap .taxonomy-chip{
  padding:4px 7px!important;
  border:1px solid #dfe7ef!important;
  border-radius:4px!important;
  background:#f8fafc!important;
  color:#617589!important;
  font-size:9px!important;
  font-weight:700!important;
  letter-spacing:.02em!important;
}
body:not(.home-dashboard) .article-wrap .article-grid{
  grid-template-columns:minmax(0,930px) 250px!important;
  gap:40px!important;
  margin-top:24px!important;
}
body:not(.home-dashboard) .article-wrap .article-body{
  max-width:930px!important;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body:not(.home-dashboard) .article-wrap .article-body section{
  padding:26px 0!important;
  border-top:1px solid #e5ebf1!important;
}
body:not(.home-dashboard) .article-wrap .article-body section:first-child{
  padding-top:20px!important;
}
body:not(.home-dashboard) .article-wrap .article-body h2{
  margin-bottom:12px!important;
  font-size:21px!important;
  line-height:1.2!important;
}
body:not(.home-dashboard) .article-wrap .article-body h2:before{
  width:18px!important;
  height:18px!important;
  border-radius:4px!important;
  background:var(--module,var(--ds-accent-strong))!important;
  box-shadow:none!important;
}
body:not(.home-dashboard) .article-wrap .article-body p,
body:not(.home-dashboard) .article-wrap .article-body li{
  font-size:13.7px!important;
  line-height:1.75!important;
}
body:not(.home-dashboard) .article-wrap .plain-box{
  margin:0!important;
  padding:18px 20px!important;
  border:1px solid #dde7ef!important;
  border-left:3px solid var(--module,var(--ds-accent-strong))!important;
  border-radius:4px!important;
  background:#f8fbfd!important;
  box-shadow:none!important;
}
body:not(.home-dashboard) .article-wrap .steps{
  gap:0!important;
  border-top:1px solid #dfe7ee!important;
}
body:not(.home-dashboard) .article-wrap .step{
  padding:13px 10px!important;
  border:0!important;
  border-bottom:1px solid #e5ebf1!important;
  border-left:0!important;
  background:transparent!important;
}
body:not(.home-dashboard) .article-wrap .checklist{
  grid-template-columns:1fr!important;
  border-top:1px solid #dfe7ee!important;
}
body:not(.home-dashboard) .article-wrap .checklist li{
  display:grid!important;
  grid-template-columns:18px minmax(0,1fr)!important;
  gap:7px!important;
  align-items:start!important;
  padding:10px 4px!important;
}
body:not(.home-dashboard) .article-wrap .checklist li:before{
  margin:0!important;
}
body:not(.home-dashboard) .article-wrap .article-visual{
  margin:24px 0!important;
  padding:12px!important;
  border:1px solid #e0e8ef!important;
  border-radius:6px!important;
  background:#fbfdff!important;
  box-shadow:none!important;
}
body:not(.home-dashboard) .article-wrap .article-visual img{
  border-radius:3px!important;
}
body:not(.home-dashboard) .article-wrap .article-visual figcaption{
  padding-top:8px!important;
  color:#778a9c!important;
  font-size:10px!important;
}
body:not(.home-dashboard) .article-wrap .article-side{
  top:78px!important;
  padding:12px 0 12px 14px!important;
  border:0!important;
  border-left:1px solid #dce5ed!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body:not(.home-dashboard) .article-wrap .article-side:before{
  content:"EN ESTA GUÍA"!important;
  margin:0 0 7px!important;
  padding:0 0 8px!important;
  border-bottom:1px solid #e1e8ef!important;
  color:#7a8da0!important;
  font-size:8.5px!important;
  letter-spacing:.14em!important;
}
body:not(.home-dashboard) .article-wrap .article-side a{
  padding:6px 8px!important;
  border:0!important;
  border-radius:4px!important;
  color:#617589!important;
  font-size:10.5px!important;
  line-height:1.35!important;
}
body:not(.home-dashboard) .article-wrap .article-side a:hover,
body:not(.home-dashboard) .article-wrap .article-side a.article-toc-active{
  background:#eef5fb!important;
  color:#183f66!important;
  font-weight:750!important;
}
body:not(.home-dashboard) .article-wrap .ref-list,
body:not(.home-dashboard) .article-wrap .related-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  border-top:1px solid #dfe7ee!important;
}
body:not(.home-dashboard) .article-wrap .ref-list a,
body:not(.home-dashboard) .article-wrap .related-grid a{
  position:relative!important;
  margin:0!important;
  padding:12px 30px 12px 4px!important;
  border:0!important;
  border-bottom:1px solid #e5ebf1!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body:not(.home-dashboard) .article-wrap .ref-list a:after,
body:not(.home-dashboard) .article-wrap .related-grid a:after{
  content:"→"!important;
  position:absolute!important;
  top:50%!important;
  right:6px!important;
  transform:translateY(-50%)!important;
  color:var(--module,var(--ds-accent-strong))!important;
  font-weight:800!important;
}
body:not(.home-dashboard) .article-wrap .ref-list small,
body:not(.home-dashboard) .article-wrap .related-grid small{
  color:#778b9d!important;
  font-size:10px!important;
}
body:not(.home-dashboard) .article-wrap .notice{
  margin-top:12px!important;
  padding:10px 12px!important;
  border:1px solid #e0e7ee!important;
  border-radius:4px!important;
  background:#f8fafc!important;
  color:#6c7f91!important;
}
body:not(.home-dashboard) .article-wrap .author-signoff{
  display:grid!important;
  grid-template-columns:56px minmax(0,1fr)!important;
  gap:14px!important;
  align-items:center!important;
  margin-top:8px!important;
  padding:18px 0 0!important;
  border:0!important;
  border-top:1px solid #dfe7ee!important;
  background:transparent!important;
}
body:not(.home-dashboard) .article-wrap .author-signoff-media img{
  width:52px!important;
  height:52px!important;
}
body:not(.home-dashboard) .article-wrap .author-signoff-text h3{
  margin:2px 0 4px!important;
  font-size:15px!important;
}
body:not(.home-dashboard) .article-wrap .author-signoff-text p{
  margin:0!important;
  font-size:11px!important;
  line-height:1.5!important;
}
@media(max-width:1050px){
  body:not(.home-dashboard) .article-wrap .article-grid{grid-template-columns:1fr!important;gap:20px!important;}
  body:not(.home-dashboard) .article-wrap .article-side{position:static!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:3px 10px!important;padding:12px 0!important;border-left:0!important;border-top:1px solid #dce5ed!important;border-bottom:1px solid #dce5ed!important;}
  body:not(.home-dashboard) .article-wrap .article-side:before{grid-column:1/-1!important;}
}
@media(max-width:760px){
  body:not(.home-dashboard) .article-wrap .article-hero{grid-template-columns:1fr!important;gap:16px!important;padding:16px 0 20px!important;}
  body:not(.home-dashboard) .article-wrap .article-hero>img{max-height:190px!important;}
  body:not(.home-dashboard) .article-wrap .article-meta-strip .meta-item{border-right:0!important;}
}
@media(max-width:620px){
  body:not(.home-dashboard) .article-wrap{padding-top:14px!important;}
  body:not(.home-dashboard) .article-wrap .article-hero h1{font-size:30px!important;}
  body:not(.home-dashboard) .article-wrap .article-side{grid-template-columns:1fr!important;}
}
