/* Modo Disciplina — sistema de diseño (v2, alineado al logo)
   Oro = identidad/victoria/lo que se gana · Plata = precisión/dato medible/disciplina fría */
#md-app, #md-app *{ box-sizing:border-box; }
#md-app{
  --night:#050505; --surface:#131313; --surface-2:#1c1c1c;
  --cyan:#c9ccd6; --amber:#c9a227; --amber-soft:#e6c65c;
  --sage:#c9ccd6; --bone:#f2f0ec; --muted:#7a7d87; --line:#2a2a2a;
  font-family:'Work Sans', -apple-system, sans-serif;
  background:var(--night); color:var(--bone);
  border-radius:20px; padding:22px 18px; max-width:480px; margin:0 auto;
  background-image:linear-gradient(rgba(201,204,214,.03) 1px, transparent 1px), linear-gradient(90deg, rgba(201,204,214,.03) 1px, transparent 1px);
  background-size:26px 26px;
}
/* Nota de mapeo: --cyan y --sage ahora apuntan a plata (dato/precisión y estado "completado").
   --amber sigue siendo oro (identidad/victoria/racha). Se conservan los nombres de variable
   para no reescribir cada regla, pero el resultado visual ya es 100% plata/oro/negro. */
#md-app h1,#md-app h2,#md-app h3{ font-family:'Georgia', serif; font-style:italic; font-weight:500; margin:0; }
.md-top{ display:flex; justify-content:space-between; align-items:center; margin-bottom:4px; }
.md-wordmark{ font-size:20px; color:var(--bone); }
.md-badge{ font-family:monospace; font-size:11px; font-weight:700; color:var(--cyan); background:rgba(95,216,255,.08); border:1px solid rgba(95,216,255,.4); padding:4px 10px; border-radius:6px; }
.md-streak{ font-size:12px; color:var(--amber-soft); background:rgba(232,147,90,.12); border:1px solid rgba(232,147,90,.35); padding:4px 10px; border-radius:20px; }
.md-manifesto{ background:linear-gradient(135deg, rgba(232,147,90,.10), rgba(95,216,255,.05)); border:1px solid rgba(232,147,90,.3); border-radius:14px; padding:12px 14px; margin:14px 0; font-style:italic; color:var(--amber-soft); font-size:13.5px; line-height:1.4; }

.md-tabs{ display:flex; justify-content:space-around; background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:6px; margin-bottom:18px; }
.md-tab{ flex:1; text-align:center; padding:8px 4px; border-radius:10px; font-size:12px; color:var(--muted); cursor:pointer; user-select:none; }
.md-tab.active{ background:var(--surface-2); color:var(--cyan); }

.md-path{ position:relative; padding-left:32px; }
.md-path::before{ content:""; position:absolute; left:11px; top:6px; bottom:6px; width:2px; background:var(--line); border-radius:2px; }
.md-block{ position:relative; padding-bottom:14px; }
.md-node{ position:absolute; left:-32px; top:4px; width:22px; height:22px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:11px; background:var(--night); border:2px solid var(--line); }
.md-block.done .md-node{ background:var(--sage); border-color:var(--sage); }
.md-block.done .md-node::after{ content:"✓"; color:#14181f; font-weight:700; }
.md-card{ background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:12px 14px; display:flex; align-items:center; gap:12px; cursor:pointer; }
.md-block.done .md-card{ opacity:.55; }
.md-icon{ font-size:18px; width:26px; text-align:center; }
.md-block-title{ font-weight:600; font-size:14px; }
.md-block-frase{ font-style:italic; font-size:11.5px; color:var(--amber-soft); }
.md-block-time{ margin-left:auto; font-size:11px; color:var(--muted); font-family:monospace; }

.md-ring-wrap{ display:flex; align-items:center; gap:16px; background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:16px; margin-bottom:16px; }
.md-ring-big{ font-family:monospace; font-weight:700; font-size:24px; }
.md-lbl{ font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:1.5px; }

.md-btn-add{ display:flex; align-items:center; justify-content:center; gap:8px; border:1px dashed var(--line); border-radius:14px; padding:12px; margin-top:10px; color:var(--muted); font-size:13px; font-weight:600; cursor:pointer; background:none; width:100%; }
.md-btn-add:hover{ border-color:var(--cyan); color:var(--cyan); }

.md-form input, .md-form select{ width:100%; background:var(--surface-2); border:1px solid var(--line); color:var(--bone); padding:9px 12px; border-radius:10px; margin-bottom:8px; font-size:13px; }
.md-form button{ background:var(--cyan); color:#0b0d18; border:none; padding:10px 16px; border-radius:10px; font-weight:700; cursor:pointer; }

.md-login-aviso{ padding:20px; text-align:center; color:#8b8fa8; }

.md-login-wrap{
  max-width:360px; margin:15vh auto 0; padding:32px 26px; text-align:center;
  background:#131313; border:1px solid #282828; border-radius:2px;
}
.md-login-logo-img{ max-width:180px; width:60%; margin:0 auto 14px; display:block; }
.md-login-tagline{ font-style:italic; color:#e6c65c; font-size:13px; line-height:1.5; margin-bottom:24px; }
.md-login-wrap form{ text-align:left; }
.md-login-wrap p{ margin-bottom:14px; }
.md-login-wrap label{ display:block; font-size:11px; color:#7a7d87; text-transform:uppercase; letter-spacing:.5px; margin-bottom:5px; }
.md-login-wrap input[type="text"], .md-login-wrap input[type="password"], .md-login-wrap input[type="email"]{
  width:100%; background:#1c1c1c; border:1px solid #282828; color:#f2f0ec;
  padding:11px 13px; border-radius:2px; font-size:14px; box-sizing:border-box;
}
.md-login-wrap .login-remember{ font-size:12px; color:#7a7d87; display:flex; align-items:center; gap:6px; }
.md-login-error{ color:#e07a5f; font-size:12.5px; margin-bottom:14px; background:rgba(224,122,95,.08); border:1px solid rgba(224,122,95,.3); padding:9px 12px; border-radius:2px; }
.md-login-switch{ text-align:center; margin-top:16px; font-size:12.5px; }
.md-login-switch a{ color:#7a7d87; text-decoration:underline; }
.md-login-switch a:hover{ color:#e6c65c; }
.md-login-wrap .button, .md-login-wrap input[type="submit"]{
  width:100%; background:#c9a227; color:#050505; border:none; padding:12px;
  border-radius:2px; font-weight:700; font-size:14px; margin-top:6px; cursor:pointer;
  text-transform:uppercase; letter-spacing:.5px;
}
.md-login-wrap .button:hover, .md-login-wrap input[type="submit"]:hover{ background:#e6c65c; }
.md-toast{ position:fixed; bottom:24px; left:50%; transform:translateX(-50%); background:var(--surface-2); border:1px solid var(--cyan); color:var(--bone); padding:10px 18px; border-radius:10px; font-size:13px; z-index:999; }
