/* FORJA v1.0 | Base visual. Cargar después del reset de la aplicación. */
:root {
  color-scheme: light;
  --forja-navy:#142B45; --forja-ember:#F36B32; --forja-teal:#168C8C;
  --forja-bg:#F5F3EF; --forja-surface:#FFFFFF; --forja-raised:#F5F3EF;
  --forja-text:#142B45; --forja-muted:#526174; --forja-line:#CCD4DC;
  --forja-control-line:#748390; --forja-primary:#B94718; --forja-primary-hover:#983910;
  --forja-on-primary:#FFFFFF; --forja-link:#116F73; --forja-focus:#245BA8;
  --forja-success:#157347; --forja-warning:#8A5100; --forja-danger:#B42318; --forja-info:#245BA8;
  --forja-success-bg:#EAF5EE; --forja-warning-bg:#FFF3D9; --forja-danger-bg:#FDECE9; --forja-info-bg:#ECF2FC;
  --forja-heading:'Manrope',Arial,sans-serif; --forja-body:'Inter',Arial,sans-serif;
  --forja-radius:8px; --forja-card-radius:12px;
  --forja-shadow:0 8px 28px rgb(20 43 69 / .08);
}
[data-theme="dark"] {
  color-scheme:dark;
  --forja-bg:#0D1C2D; --forja-surface:#142B45; --forja-raised:#203B56;
  --forja-text:#F5F3EF; --forja-muted:#BBC8D5; --forja-line:#8294A6;
  --forja-control-line:#8294A6; --forja-primary:#F36B32; --forja-primary-hover:#FF8958;
  --forja-on-primary:#142B45; --forja-link:#77D2D1; --forja-focus:#77D2D1;
  --forja-success:#8DDBAE; --forja-warning:#FFD48B; --forja-danger:#FFB1A8; --forja-info:#A8CAFF;
  --forja-success-bg:#143B31; --forja-warning-bg:#403019; --forja-danger-bg:#422727; --forja-info-bg:#173452;
}
.forja-root { margin:0; background:var(--forja-bg); color:var(--forja-text); font:400 16px/1.5 var(--forja-body); }
.forja-root *, .forja-root *::before, .forja-root *::after {box-sizing:border-box}
.forja-root h1,.forja-root h2,.forja-root h3 {font-family:var(--forja-heading);line-height:1.25;margin:0 0 16px;font-weight:700}
.forja-root h1 {font-size:32px} .forja-root h2 {font-size:24px} .forja-root h3 {font-size:20px}
.forja-root p {margin:0 0 16px}
.forja-root a {color:var(--forja-link);text-underline-offset:3px}
.forja-root :focus-visible {outline:3px solid var(--forja-focus);outline-offset:3px}
.forja-muted {color:var(--forja-muted)} .forja-small {font-size:14px;line-height:20px}
.forja-shell {display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}
.forja-sidebar {background:var(--forja-navy);color:#FFFFFF;padding:32px 24px}
.forja-logo {display:block;width:200px;max-width:100%;height:auto}
.forja-logo-compact {width:180px}
.forja-brand-light {display:block} .forja-brand-dark {display:none}
[data-theme="dark"] .forja-brand-light {display:none} [data-theme="dark"] .forja-brand-dark {display:block}
.forja-nav {display:grid;gap:8px;margin-top:32px}
.forja-nav a {display:flex;align-items:center;gap:12px;min-height:44px;padding:10px 12px;color:#FFFFFF;text-decoration:none;border-radius:8px}
.forja-nav a:hover {background:#29425C}
.forja-nav a[aria-current="page"] {background:#29425C;box-shadow:inset 4px 0 0 var(--forja-ember);font-weight:700}
.forja-sidebar :focus-visible {outline-color:#77D2D1}
.forja-icon {width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.forja-main {min-width:0}
.forja-topbar {min-height:72px;background:var(--forja-surface);border-bottom:1px solid var(--forja-line);padding:16px 32px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.forja-content {padding:32px;max-width:1264px;margin:auto}
.forja-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.forja-card {min-width:0;background:var(--forja-surface);border:1px solid var(--forja-line);border-radius:12px;overflow:hidden}
.forja-card-body {padding:24px}
.forja-card-cover {height:104px;background:var(--forja-navy) url('../brand/forja/forja-patron.svg')}
.forja-card-cover.orange {background-color:var(--forja-ember)}
.forja-card-cover.teal {background-color:var(--forja-teal)}
.forja-section {margin-top:32px}
.forja-actions {display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.forja-button {display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border:1px solid transparent;border-radius:8px;font:600 14px/20px var(--forja-body);text-decoration:none!important;cursor:pointer;background:var(--forja-primary);color:var(--forja-on-primary)!important}
.forja-button:hover {background:var(--forja-primary-hover)}
.forja-button.secondary {background:var(--forja-surface);border-color:var(--forja-control-line);color:var(--forja-text)!important}
.forja-button.secondary:hover {background:var(--forja-raised)}
.forja-button:disabled,.forja-button[aria-disabled="true"] {opacity:.55;cursor:not-allowed}
.forja-button[aria-busy="true"] {cursor:progress}
.forja-field {display:grid;gap:8px;margin-bottom:20px}
.forja-field label {font-weight:600;font-size:14px}
.forja-input {width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--forja-control-line);border-radius:8px;background:var(--forja-surface);color:var(--forja-text);font:400 16px/24px var(--forja-body)}
.forja-input::placeholder {color:var(--forja-muted);opacity:1}
.forja-input[aria-invalid="true"] {border-color:var(--forja-danger)}
.forja-error {font-size:14px;color:var(--forja-danger)}
.forja-badge {display:inline-flex;padding:4px 10px;font-size:12px;font-weight:600;border-radius:999px;background:var(--forja-raised);color:var(--forja-text)}
.forja-badge.success {background:var(--forja-success-bg);color:var(--forja-success)}
.forja-badge.warning {background:var(--forja-warning-bg);color:var(--forja-warning)}
.forja-alert {padding:16px 20px;border:1px solid currentColor;border-radius:8px;background:var(--forja-info-bg);color:var(--forja-info)}
.forja-alert.error {background:var(--forja-danger-bg);color:var(--forja-danger)}
.forja-alert.success {background:var(--forja-success-bg);color:var(--forja-success)}
.forja-alert.warning {background:var(--forja-warning-bg);color:var(--forja-warning)}
.forja-progress {width:100%;height:12px;display:block;margin:12px 0 8px;accent-color:var(--forja-teal)}
.forja-progress::-webkit-progress-bar {background:var(--forja-raised);border-radius:999px}
.forja-progress::-webkit-progress-value {background:var(--forja-teal);border-radius:999px}
.forja-progress::-moz-progress-bar {background:var(--forja-teal);border-radius:999px}
.forja-table-scroll {overflow-x:auto;border:1px solid var(--forja-line);border-radius:12px}
.forja-table {width:100%;border-collapse:collapse;background:var(--forja-surface);text-align:left;min-width:560px}
.forja-table caption {text-align:left;padding:16px;font-weight:700}
.forja-table th,.forja-table td {padding:16px;border-top:1px solid var(--forja-line);vertical-align:top}
.forja-table th {background:var(--forja-raised);font-size:14px}
.forja-numeric {font-variant-numeric:tabular-nums}
.forja-reading {max-width:65ch}
.forja-skip {position:absolute;left:16px;top:-100px;z-index:99;background:var(--forja-surface);padding:12px;border-radius:8px}
.forja-skip:focus {top:16px}
.forja-footer {padding:24px 32px;color:var(--forja-muted);font-size:14px}
@media(max-width:959px) {
  .forja-shell {grid-template-columns:1fr}
  .forja-sidebar {padding:16px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
  .forja-nav {display:flex;flex-wrap:wrap;margin:0;gap:8px}
  .forja-nav a {padding:8px 12px}
  .forja-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:639px) {
  .forja-content,.forja-topbar,.forja-footer {padding:16px}
  .forja-grid {grid-template-columns:1fr;gap:16px}
  .forja-root h1 {font-size:28px}
  .forja-card-body {padding:20px}
  .forja-actions .forja-button {flex-grow:1}
}
@media(prefers-reduced-motion:reduce) {
  .forja-root *, .forja-root *::before, .forja-root *::after {scroll-behavior:auto!important;animation:none!important;transition:none!important}
}
