:root{--bg:#f6f7f9;--fg:#1d2330;--mut:#6b7385;--line:#dfe3ea;--acc:#2456d6;--ok:#1f8a4c;--warn:#b7791f;--err:#c0392b;--card:#fff}
@media (prefers-color-scheme:dark){:root{--bg:#12151c;--fg:#e6e9f0;--mut:#98a0b3;--line:#2a3140;--acc:#6f96ff;--ok:#4cc38a;--warn:#e0b04c;--err:#ff7a6b;--card:#1a1f2b}}
body.consa-portal{margin:0;background:var(--bg);color:var(--fg);font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}
.cs-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 20px;background:var(--card);border-bottom:1px solid var(--line);flex-wrap:wrap}
.cs-top nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.cs-top a{color:var(--fg);text-decoration:none}.cs-top a:hover{color:var(--acc)}
.cs-brand{font-weight:700;letter-spacing:.06em}.cs-user{color:var(--mut)}
.cs-main{max-width:1200px;margin:0 auto;padding:20px 16px 60px}
h1{font-size:1.5rem;margin:.2em 0 .6em}h2{font-size:1.15rem}h3{font-size:1rem;margin:14px 0 6px}
.cs-muted{color:var(--mut);font-weight:400;font-size:.9em}
.cs-table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.cs-table th,.cs-table td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.cs-table th{color:var(--mut);font-weight:600;font-size:.85em}
.cs-btn{display:inline-block;padding:6px 14px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--fg);text-decoration:none;cursor:pointer;font:inherit}
.cs-btn.cs-primary{background:var(--acc);border-color:var(--acc);color:#fff}
.cs-notice{padding:10px 14px;border-radius:6px;margin-bottom:14px;border:1px solid var(--line);background:var(--card)}.cs-success{border-color:var(--ok)}.cs-error{border-color:var(--err);color:var(--err)}
.cs-steps{list-style:none;display:flex;gap:6px;flex-wrap:wrap;padding:0;margin:12px 0}
.cs-steps li{padding:4px 10px;border-radius:999px;font-size:.8em;border:1px solid var(--line);color:var(--mut);background:var(--card)}
.cs-steps li.cs-done{color:var(--ok);border-color:var(--ok)}.cs-steps li.cs-now{background:var(--acc);border-color:var(--acc);color:#fff;font-weight:600}
.cs-panel{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:8px 18px 16px;margin:14px 0}
.cs-form{border-top:1px solid var(--line);margin-top:12px;padding-top:4px}.cs-form input[type=text],.cs-form select{padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--fg);margin:4px 6px 4px 0}
.cs-ai{margin:4px 0}.cs-ai input[type=text]{width:260px;margin-left:8px}
.cs-lvl{font-size:.75em;font-style:normal;padding:1px 6px;border-radius:4px;border:1px solid var(--line)}.cs-lvl-required{color:var(--err);border-color:var(--err)}.cs-lvl-recommended{color:var(--warn);border-color:var(--warn)}
.cs-check{color:var(--mut)}.cs-ok{color:var(--ok);font-weight:600}
.cs-board{display:flex;gap:12px;overflow-x:auto;align-items:flex-start;padding-bottom:10px}
.cs-col{min-width:200px;flex:1;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:8px 10px}.cs-col h3{font-size:.85rem;margin:2px 0 8px}
.cs-count{color:var(--mut);font-weight:400}
.cs-card{display:block;padding:8px 10px;border:1px solid var(--line);border-radius:6px;margin-bottom:6px;color:var(--fg);text-decoration:none;background:var(--bg)}.cs-card:hover{border-color:var(--acc)}.cs-card span{display:block}
.cs-badge{color:var(--warn);font-size:.8em}

.cs-filters{margin:0 0 16px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.cs-filters select{padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--fg)}
.cs-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:18px}
.cs-kpi{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:12px 16px}.cs-kpi-v{display:block;font-size:1.9rem;font-weight:650;line-height:1.1}
.cs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:16px}
.cs-chart{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:8px 18px 14px}.cs-chart h3{margin-top:10px}
.cs-bar{display:grid;grid-template-columns:minmax(120px,38%) 1fr 48px;gap:10px;align-items:center;margin:6px 0}
.cs-bar-l{font-size:.88em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cs-bar-t{height:14px;background:transparent}
.cs-bar-f{display:block;height:14px;background:var(--acc);border-radius:0 4px 4px 0}
.cs-bar-v{font-variant-numeric:tabular-nums;text-align:right;font-size:.88em}
.cs-bar:hover .cs-bar-f{filter:brightness(1.15)}
.cs-chart details{margin-top:8px}.cs-chart summary{cursor:pointer;color:var(--mut);font-size:.85em}
@media (max-width:520px){.cs-grid{grid-template-columns:1fr}.cs-bar{grid-template-columns:90px 1fr 44px}}

.cs-seg{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}.cs-seg a{padding:5px 14px;color:var(--fg);text-decoration:none;background:var(--card)}.cs-seg a.on{background:var(--acc);color:#fff}
.cs-inline{display:inline-flex;gap:12px;align-items:center;flex-wrap:wrap}.cs-inline select{padding:5px 8px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--fg)}
.cs-plist{table-layout:fixed;width:100%}.cs-plist th a{color:inherit;text-decoration:none}.cs-plist th a:hover{color:var(--acc)}
.cs-plist td,.cs-plist th{overflow-wrap:anywhere}.cs-plist td{font-size:.9em}
.cs-plist .c-code{width:7%}.cs-plist .c-title{width:23%}.cs-plist .c-phase{width:16%}.cs-plist .c-prog{width:10%}.cs-plist .c-pend{width:17%}.cs-plist .c-days{width:7%}.cs-plist .c-total{width:7%}.cs-plist .c-ret{width:5%}.cs-plist .c-last{width:8%}
.cs-prog{display:block;height:6px;background:var(--line);border-radius:3px;overflow:hidden;margin-bottom:3px}.cs-prog span{display:block;height:100%;background:var(--acc)}
.cs-slow{color:var(--err);font-weight:600}
@media (max-width:1000px){.cs-plist .c-total,.cs-plist .c-last,.cs-plist .c-code{display:none}.cs-plist .c-title{width:30%}.cs-plist .c-pend{width:22%}}
@media (max-width:640px){.cs-plist .c-prog,.cs-plist .c-ret{display:none}.cs-plist .c-title{width:38%}.cs-plist .c-phase{width:24%}.cs-plist .c-pend{width:24%}.cs-plist .c-days{width:14%}}
.cs-plist .cs-badge{font-size:1em;font-weight:600}

/* Tablero: una fila por fase, tarjetas en rejilla que se ajusta al ancho (sin scroll horizontal) */
.cs-board{display:block;overflow:visible}
.cs-board .cs-col{display:grid;grid-template-columns:200px 1fr;gap:12px;min-width:0;margin-bottom:10px;align-items:start}
.cs-board .cs-col h3{margin:6px 0}
.cs-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}
.cs-cards .cs-card{margin:0;min-width:0;overflow-wrap:anywhere}
@media (max-width:640px){.cs-board .cs-col{grid-template-columns:1fr}}
.cs-plist .c-vis{width:6%;font-variant-numeric:tabular-nums}.cs-plist .c-title{width:20%}.cs-plist .c-phase{width:15%}.cs-plist .c-prog{width:11%}.cs-plist .c-pend{width:15%}.cs-plist .c-last{width:7%}
.cs-iter{color:var(--warn);font-weight:600}.cs-over{color:var(--err);font-weight:700}
.cs-rep{margin-left:4px;font-size:.9em}
@media (max-width:640px){.cs-plist .c-vis{width:12%}}
.cs-plist{overflow:visible}
.cs-tip{position:relative;display:inline-block;cursor:help;border-bottom:1px dotted currentColor;outline:none}
.cs-tipbox{display:none;position:absolute;left:-10px;top:1.6em;z-index:20;width:300px;background:var(--card);color:var(--fg);border:1px solid var(--line);border-radius:8px;padding:10px 12px;box-shadow:0 6px 24px rgba(0,0,0,.18);font-weight:400;text-align:left}
.cs-tip:hover .cs-tipbox,.cs-tip:focus .cs-tipbox,.cs-tip:focus-within .cs-tipbox{display:block}
.cs-tipbox strong{display:block;margin-bottom:6px;font-size:.9em}
.cs-tipbox table{width:100%;border-collapse:collapse;font-size:.85em}
.cs-tipbox td{padding:2px 0;border:0;font-size:1em}.cs-tipbox td:last-child{text-align:right;font-variant-numeric:tabular-nums}
.cs-tipbox tr.none{color:var(--mut)}.cs-tipbox tr.rep{color:var(--warn);font-weight:600}
.cs-tipbox em{font-style:normal;color:var(--acc);font-size:.9em}
@media (max-width:640px){.cs-tipbox{left:auto;right:-10px;width:260px}}

.cs-lead{font-size:1.05rem;max-width:80ch}
.cs-linkcard{color:var(--fg);text-decoration:none;display:block}.cs-linkcard:hover{border-color:var(--acc)}.cs-linkcard p{margin:6px 0}
.cs-soon{opacity:.75}
.cs-grid.cs-tight{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));margin-bottom:8px}
.cs-why{margin:6px 0 4px;padding-left:1.1em}.cs-why li{margin:4px 0}
.cs-wiki{table-layout:fixed;width:100%;overflow:visible}.cs-wiki td,.cs-wiki th{overflow-wrap:anywhere;font-size:.9em}
.cs-wiki .w-n{width:4%}.cs-wiki .w-f{width:16%}.cs-wiki .w-q{width:22%}.cs-wiki .w-i{width:22%}.cs-wiki .w-r{width:14%}.cs-wiki .w-p{width:22%}
@media (max-width:860px){.cs-wiki,.cs-wiki tbody,.cs-wiki tr,.cs-wiki td{display:block;width:auto}.cs-wiki thead{display:none}.cs-wiki tr{border-bottom:2px solid var(--line);padding:8px 0}.cs-wiki td{border:0;padding:3px 12px}.cs-wiki td::before{content:attr(data-l) ': ';color:var(--mut);font-weight:600}.cs-wiki .w-n{display:none}}

/* Wiki: circuitos con identidad visual (color fijo por circuito) */
:root{--s1:#2a78d6;--s2:#eb6834;--s3:#1baf7a;--s4:#d55181}
@media (prefers-color-scheme:dark){:root{--s1:#3987e5;--s2:#d95926;--s3:#199e70;--s4:#d55181}}
.cs-hero{background:linear-gradient(135deg,color-mix(in srgb,var(--fc,var(--acc)) 16%,var(--card)),var(--card) 70%);border:1px solid var(--line);border-left:6px solid var(--fc,var(--acc));border-radius:12px;padding:18px 24px 20px;margin:4px 0 22px}
.cs-hero h1{color:var(--fc,var(--acc));font-size:2rem;margin:.15em 0 .3em;letter-spacing:-.01em}
.cs-hero .cs-lead{margin:.2em 0 .4em}
.cs-back{color:var(--mut);text-decoration:none;font-size:.9em}.cs-back:hover{color:var(--fc,var(--acc))}
.cs-fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}
.cs-fcard{position:relative;display:flex;flex-direction:column;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px 22px 16px;color:var(--fg);text-decoration:none;overflow:hidden;transition:transform .15s,box-shadow .15s,border-color .15s}
.cs-fcard:hover{transform:translateY(-3px);box-shadow:0 10px 28px color-mix(in srgb,var(--fc) 22%,transparent);border-color:var(--fc)}
.cs-fbar{position:absolute;inset:0 0 auto 0;height:6px;background:var(--fc)}
.cs-fcard h2{margin:6px 0 0;font-size:1.2rem;color:var(--fc)}
.cs-fsum{margin:0}.cs-fwhen{margin:0;color:var(--mut);font-size:.9em}.cs-fwhen b{color:var(--fg);margin-right:4px}
.cs-strip{list-style:none;display:flex;flex-wrap:wrap;gap:5px;padding:0;margin:6px 0 2px}
.cs-strip li{display:inline-flex;align-items:center;gap:6px}
.cs-strip i{font-style:normal;display:inline-grid;place-items:center;min-width:24px;height:24px;border-radius:999px;background:color-mix(in srgb,var(--fc) 16%,var(--card));color:var(--fc);border:1px solid color-mix(in srgb,var(--fc) 45%,transparent);font-size:.75rem;font-weight:700}
.cs-strip-l{gap:8px}.cs-strip-l li{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:3px 12px 3px 4px;font-size:.82rem}.cs-strip-l i{background:var(--fc);color:#fff;border-color:var(--fc)}
.cs-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.cs-chips span{background:color-mix(in srgb,var(--fc,var(--acc)) 12%,var(--card));color:var(--fg);border:1px solid color-mix(in srgb,var(--fc,var(--acc)) 30%,transparent);border-radius:999px;padding:2px 11px;font-size:.8rem}
.cs-go{margin-top:auto;padding-top:6px;color:var(--fc);font-weight:600;font-size:.9rem}
.cs-cflow .cs-chart{border-top:4px solid var(--fc)}.cs-cflow .cs-chart h3{color:var(--fc)}
.cs-cflow h2{color:var(--fc);border-bottom:2px solid color-mix(in srgb,var(--fc) 30%,transparent);padding-bottom:4px}
.cs-cflow .cs-wiki thead th{background:color-mix(in srgb,var(--fc) 12%,var(--card));color:var(--fg)}
.cs-cflow .cs-wiki td.w-n{color:var(--fc);font-weight:700}
.cs-cflow .cs-why li::marker{color:var(--fc)}
.cs-hero h1,.cs-fcard h2{font-weight:700}
.cs-hero .cs-chips{margin:8px 0 10px}

.cs-cats{margin:4px 0 12px}.cs-catline{margin-top:4px;display:flex;flex-wrap:wrap;gap:4px}
.cs-cat{display:inline-block;background:color-mix(in srgb,var(--acc) 10%,var(--card));border:1px solid color-mix(in srgb,var(--acc) 28%,transparent);border-radius:6px;padding:1px 8px;font-size:.78rem;color:var(--fg)}
.cs-cat em{font-style:normal;color:var(--acc);font-weight:600;margin-right:3px}
.cs-clear{font-size:.85rem;color:var(--mut)}
.cs-inline label{white-space:nowrap}
.cs-inline select[data-lv]{max-width:210px}
.cs-path{font-size:.78rem;color:var(--mut);margin-top:3px;line-height:1.35}.cs-path span:last-child{color:var(--fg)}

/* Wiki IA */
.cs-segw{display:flex;flex-wrap:wrap}
.cs-fmeta{display:flex;gap:10px;align-items:center;margin-top:8px}
.cs-st{display:inline-block;border-radius:999px;padding:2px 11px;font-size:.78rem;font-weight:600;border:1px solid var(--line);background:var(--card)}
.cs-st-draft{color:var(--mut)}.cs-st-testing{color:var(--warn);border-color:var(--warn)}.cs-st-in_use{color:var(--ok);border-color:var(--ok)}.cs-st-discarded{color:var(--err);border-color:var(--err);text-decoration:line-through}
.cs-pre{white-space:pre-wrap;font:.9rem/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:12px 14px}
.cs-copy{float:right;padding:2px 10px;font-size:.8rem}
.cs-noteform textarea{width:100%;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--fg);font:inherit}
.cs-noteform select{padding:5px 8px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--fg);margin:6px 8px 0 0}
.cs-timeline{list-style:none;padding:0;margin:14px 0}.cs-timeline li{border-left:3px solid var(--fc,var(--acc));padding:2px 0 2px 14px;margin:0 0 14px}.cs-timeline p{margin:4px 0}
.cs-out{font-size:.75rem;border-radius:999px;padding:1px 9px;border:1px solid var(--line)}.cs-out-ok{color:var(--ok);border-color:var(--ok)}.cs-out-partial{color:var(--warn);border-color:var(--warn)}.cs-out-fail{color:var(--err);border-color:var(--err)}
.cs-aihelp{font-size:.8rem;margin-left:8px}
.cs-noteform textarea{box-sizing:border-box}

/* Manuales */
.cs-mcat{margin:22px 0 10px}
.cs-editlink{margin-left:8px;vertical-align:middle}
.cs-help{margin:-6px 0 12px;font-size:.88rem}
.cs-doc{display:grid;grid-template-columns:230px minmax(0,1fr);gap:28px;align-items:start}
.cs-toc{position:sticky;top:14px;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--fc,var(--acc));border-radius:8px;padding:12px 14px;font-size:.88rem}
.cs-toc ol{list-style:none;margin:8px 0 0;padding:0}.cs-toc li{margin:5px 0}.cs-toc li.l3{padding-left:14px;font-size:.84rem}.cs-toc a{color:var(--fg);text-decoration:none}.cs-toc a:hover{color:var(--fc,var(--acc))}
.cs-article{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 26px 24px;min-width:0;line-height:1.65}
.cs-article h2{color:var(--fc,var(--acc));border-bottom:2px solid color-mix(in srgb,var(--fc,var(--acc)) 30%,transparent);padding-bottom:4px;margin-top:1.8em}
.cs-article h3{margin-top:1.4em}
.cs-article ul,.cs-article ol{padding-left:1.3em}.cs-article li{margin:4px 0}.cs-article li::marker{color:var(--fc,var(--acc))}
.cs-article table{border-collapse:collapse;width:100%}.cs-article td,.cs-article th{border:1px solid var(--line);padding:6px 10px}
.cs-anat{background:var(--bg);border:1px dashed var(--line);border-radius:10px;padding:14px;display:grid;gap:8px;margin:12px 0 18px}
.cs-a{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:8px 12px;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.cs-a-big{display:block}.cs-a-big>strong{margin-left:6px}.cs-a-in{margin:8px 0 2px 26px;background:var(--bg)}
.cs-n{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--fc,var(--acc));color:#fff;font-size:.78rem;font-weight:700;flex:none}
.cs-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-left:6px;border:1px solid var(--line)}.cs-d-done{background:var(--ok);border-color:var(--ok)}.cs-d-now{background:var(--acc);border-color:var(--acc)}.cs-d-todo{background:var(--line)}
@media (max-width:900px){.cs-doc{grid-template-columns:1fr}.cs-toc{position:static}}

.cs-toc{max-height:calc(100vh - 28px);overflow:auto}
.cs-flowline{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:10px 0}
.cs-flowline span{background:color-mix(in srgb,var(--fc,var(--acc)) 12%,var(--card));border:1px solid color-mix(in srgb,var(--fc,var(--acc)) 35%,transparent);border-radius:999px;padding:3px 12px;font-size:.85rem}
.cs-flowline span.cs-end{background:var(--fc,var(--acc));color:#fff}
.cs-flowline i{font-style:normal;color:var(--mut);font-size:.85rem}
.cs-article code{background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:0 5px;font-size:.88em}

/* Editor de notas */
.cs-rte{margin:10px 0 8px;max-width:820px}
.cs-rte-label{display:block;font-size:.85rem;color:var(--mut);margin-bottom:4px}
.cs-rte-bar{display:flex;flex-wrap:wrap;gap:4px;align-items:center;background:var(--bg);border:1px solid var(--line);border-bottom:0;border-radius:8px 8px 0 0;padding:5px 6px}
.cs-rte-bar button{background:var(--card);color:var(--fg);border:1px solid var(--line);border-radius:5px;padding:3px 10px;font:inherit;font-size:.82rem;cursor:pointer}
.cs-rte-bar button:hover{border-color:var(--acc);color:var(--acc)}
.cs-rte-sep{width:1px;height:20px;background:var(--line);margin:0 4px}
.cs-rte-area{min-height:170px;max-height:520px;overflow:auto;resize:vertical;background:var(--card);color:var(--fg);border:1px solid var(--line);border-radius:0 0 8px 8px;padding:10px 12px;line-height:1.55;outline:none}
.cs-rte-area:focus{border-color:var(--acc);box-shadow:0 0 0 2px color-mix(in srgb,var(--acc) 22%,transparent)}
.cs-rte-area:empty::before{content:attr(data-ph);color:var(--mut)}
.cs-rte-area p,.cs-rte-area ul,.cs-rte-area ol{margin:.4em 0}
.cs-notehtml{margin-top:6px;padding:6px 10px;background:var(--bg);border-left:3px solid var(--line);border-radius:0 6px 6px 0;font-size:.92em}
.cs-notehtml p,.cs-notehtml ul,.cs-notehtml ol{margin:.3em 0}.cs-notehtml a{color:var(--acc)}

/* Página de inicio */
.cs-navbtn{padding:5px 16px}
.cs-home-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:32px;align-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--acc) 14%,var(--card)),var(--card) 65%);border:1px solid var(--line);border-radius:16px;padding:34px 38px;margin-bottom:34px}
.cs-eyebrow{margin:0;color:var(--mut);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem}
.cs-home-hero h1{font-size:3.4rem;line-height:1;margin:.15em 0 .1em;letter-spacing:.04em;color:var(--acc)}
.cs-tagline{font-size:1.35rem;margin:0 0 .6em;font-weight:600}
.cs-home-hero .cs-lead{max-width:56ch}
.cs-cta{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 8px}.cs-big{padding:10px 22px;font-size:1rem}
.cs-home-mock{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px;box-shadow:0 10px 30px color-mix(in srgb,var(--acc) 14%,transparent)}
.cs-mock-title{font-size:.8rem;color:var(--mut);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}
.cs-mock{list-style:none;margin:0;padding:0;position:relative}
.cs-mock li{display:flex;gap:12px;align-items:flex-start;padding:7px 0;position:relative}
.cs-mock li::before{content:"";position:absolute;left:8px;top:28px;bottom:-8px;width:2px;background:var(--line)}.cs-mock li:last-child::before{display:none}
.cs-mock i{flex:none;width:18px;height:18px;border-radius:50%;border:2px solid var(--line);background:var(--card);margin-top:2px}
.cs-mock .cs-mk-done i{background:var(--ok);border-color:var(--ok)}.cs-mock .cs-mk-now i{border-color:var(--acc);box-shadow:0 0 0 4px color-mix(in srgb,var(--acc) 25%,transparent);background:var(--acc)}
.cs-mock span{display:flex;flex-direction:column}.cs-mock em{font-style:normal;color:var(--mut);font-size:.82rem}.cs-mock .cs-mk-todo{color:var(--mut)}
.cs-mock-note{margin-top:8px;padding:7px 10px;background:color-mix(in srgb,var(--warn) 12%,var(--card));border:1px solid color-mix(in srgb,var(--warn) 40%,transparent);border-radius:8px;font-size:.82rem}
.cs-home-sec{margin:0 0 38px}.cs-home-sec>h2{font-size:1.5rem;margin:0 0 14px}
.cs-pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.cs-pillar{background:var(--card);border:1px solid var(--line);border-top:5px solid var(--fc);border-radius:12px;padding:16px 20px}.cs-pillar h3{color:var(--fc);margin:2px 0 6px}.cs-pillar p{margin:0}
.cs-how{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;counter-reset:x}
.cs-how li{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px}.cs-how p{margin:6px 0 0;color:var(--mut);font-size:.9rem}
.cs-hn{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--acc);color:#fff;font-weight:700;margin-right:8px}
.cs-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.cs-tile{display:flex;flex-direction:column;gap:4px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 18px;color:var(--fg);text-decoration:none}
a.cs-tile:hover{border-color:var(--acc);transform:translateY(-2px)}.cs-tile strong{color:var(--acc)}.cs-tile span{color:var(--mut);font-size:.9rem}
.cs-rolechips span{font-size:.9rem;padding:4px 14px}
.cs-home-end{text-align:center;padding:26px 0 10px;border-top:1px solid var(--line)}
@media (max-width:820px){.cs-home-hero{grid-template-columns:1fr;padding:24px 22px}.cs-home-hero h1{font-size:2.6rem}}

/* Home: conocimiento del departamento */
.cs-kband{background:linear-gradient(180deg,color-mix(in srgb,var(--acc) 7%,var(--card)),var(--card));border:1px solid var(--line);border-radius:16px;padding:28px 30px 26px}
.cs-kband-head h2{margin:0 0 6px;font-size:1.7rem}.cs-kband-head .cs-lead{max-width:78ch;margin:0 0 18px}
.cs-kgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:18px}
.cs-kcard{position:relative;display:flex;flex-direction:column;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px 24px 18px;color:var(--fg);text-decoration:none;overflow:hidden;transition:transform .15s,box-shadow .15s,border-color .15s}
a.cs-kcard:hover{transform:translateY(-3px);box-shadow:0 12px 30px color-mix(in srgb,var(--fc) 22%,transparent);border-color:var(--fc)}
.cs-khead{display:flex;align-items:center;gap:14px;margin-top:4px}.cs-khead h3{margin:0;font-size:1.25rem;color:var(--fc)}
.cs-kn{display:inline-grid;place-items:center;min-width:52px;height:52px;border-radius:14px;background:var(--fc);color:#fff;font-size:1.6rem;font-weight:700;padding:0 8px}
.cs-kcard p{margin:4px 0}.cs-kstates{display:flex;flex-wrap:wrap;gap:6px}
.cs-klist{list-style:none;margin:6px 0 4px;padding:0}.cs-klist li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-top:1px solid var(--line);font-size:.92rem}
.cs-klist li em{font-style:normal;color:var(--mut);font-size:.82rem;white-space:nowrap}
.cs-kuse{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:20px}
.cs-kuse div{border-left:4px solid var(--acc);padding:2px 0 2px 14px}.cs-kuse p{margin:4px 0 0;color:var(--mut);font-size:.92rem}
@media (max-width:520px){.cs-kband{padding:20px 16px}.cs-kgrid{grid-template-columns:1fr}}

/* Acceso */
.cs-loginpage{min-height:100vh;background:radial-gradient(1200px 500px at 50% -10%,color-mix(in srgb,var(--acc) 16%,transparent),transparent),var(--bg)}
.cs-login{max-width:420px;margin:0 auto;padding:9vh 18px 40px;display:flex;flex-direction:column;align-items:center;gap:18px}
.cs-login-brand{font-size:1.6rem;letter-spacing:.14em;color:var(--acc);text-decoration:none;font-weight:800}
.cs-login-card{width:100%;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:26px 28px 22px;box-shadow:0 14px 40px color-mix(in srgb,var(--acc) 12%,transparent)}
.cs-login-card h1{margin:0 0 2px;font-size:1.5rem}
.cs-loginform{display:grid;gap:14px;margin-top:16px}
.cs-loginform label{display:grid;gap:5px;font-size:.9rem;color:var(--mut)}
.cs-loginform input[type=text],.cs-loginform input[type=password]{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--fg);font:inherit;font-size:1rem}
.cs-loginform input:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 22%,transparent)}
.cs-pw{position:relative;display:block}.cs-pw input{padding-right:84px!important}
.cs-pwtoggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--acc);cursor:pointer;font:inherit;font-size:.85rem;padding:4px 8px}
.cs-checkline{display:flex!important;grid-auto-flow:column;align-items:center;gap:8px!important;color:var(--fg)!important}
.cs-block{width:100%;text-align:center}
.cs-loginlinks{text-align:center;font-size:.88rem;margin:14px 0 0;color:var(--mut)}.cs-loginlinks a{color:var(--mut)}.cs-loginlinks a:hover{color:var(--acc)}

/* Menú de usuario y perfil */
.cs-usermenu{position:relative}.cs-usermenu summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:3px 10px 3px 4px;border:1px solid var(--line);border-radius:999px;background:var(--card);user-select:none}
.cs-usermenu summary::-webkit-details-marker{display:none}.cs-usermenu[open] summary,.cs-usermenu summary:hover{border-color:var(--acc)}
.cs-avatar{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--acc);color:#fff;font-weight:700;font-size:.85rem}
.cs-uname{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.cs-caret{font-size:.7rem;color:var(--mut)}
.cs-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 36px rgba(0,0,0,.16);padding:6px;z-index:50}
.cs-menu-head{padding:8px 10px 10px;border-bottom:1px solid var(--line);margin-bottom:4px}.cs-menu-head strong{display:block}.cs-menu-head span{color:var(--mut);font-size:.82rem}
.cs-menu a{display:block;padding:8px 10px;border-radius:8px;color:var(--fg);text-decoration:none}.cs-menu a:hover{background:color-mix(in srgb,var(--acc) 10%,var(--card));color:var(--acc)}
.cs-pform{display:grid;gap:12px;margin-top:8px}.cs-pform label{display:grid;gap:4px;font-size:.9rem;color:var(--mut)}
.cs-pform input{padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--fg);font:inherit;font-size:1rem}
.cs-pform input:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 22%,transparent)}
.cs-pform .cs-btn{justify-self:start}
@media (max-width:640px){.cs-uname{display:none}}

/* Notas y subrayado (libreta-core) con los colores del portal */
.consa-portal{--surface:var(--card);--ink:var(--fg);--paper:var(--bg);--rule:var(--line);--rule-strong:var(--line);--accent:var(--acc);--ink-soft:var(--mut)}
.cs-libreta{margin-top:20px}.cs-libreta h3{margin-top:8px}
.cs-libreta-analisis{border-top:4px solid var(--s2)}.cs-libreta-equipo{border-top:4px solid var(--s1)}
.libreta-notas-form textarea,.libreta-editor-respuesta textarea{font:inherit;color:var(--fg);width:100%;box-sizing:border-box}
.libreta-notas-form-footer .cs-btn{padding:6px 16px}
.libreta-nota{background:var(--bg)}.libreta-nota-tutor{border-left:3px solid var(--acc)}
.libreta-hl{cursor:pointer}
.cs-ui-page{min-width:0}
.libreta-subrayados-panel{margin-top:8px}
