/* CSS EXACTO del mockup original (BancoDesafios (12).html) — no se renombra ni se reestructura
   ninguna clase. Portado literal para que el sitio construido con Razor Pages/MVC se vea
   idéntico a la maqueta. Las únicas variables C.* del mockup (usadas en JS inline) se vuelcan
   aquí como los mismos valores hex, sin introducir custom properties nuevas. */
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Montserrat',sans-serif;color:#1a1a2e;background:#f7f8fa;min-height:100vh}
button,input,select,textarea{font-family:'Montserrat',sans-serif}
input:focus,select:focus,textarea:focus{outline:none;border-color:#31006f!important;box-shadow:0 0 0 3px rgba(49,0,111,0.1)}
select{-webkit-appearance:none;appearance:none}
.inp{width:100%;border:1px solid #e8eaed;border-radius:8px;padding:.55rem .85rem;font-size:.84rem;color:#1a1a2e;background:#fff;outline:none;box-sizing:border-box}
.sel{width:100%;border:1px solid #e8eaed;border-radius:8px;padding:.55rem 2rem .55rem .85rem;font-size:.84rem;color:#1a1a2e;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239ca3af' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right .75rem center;outline:none;-webkit-appearance:none;appearance:none;box-sizing:border-box}
.card{background:#fff;border-radius:12px;border:1px solid #e8eaed;padding:1.5rem}
.lbl{font-size:.72rem;font-weight:600;color:#4a5568;margin-bottom:.3rem;display:block;text-transform:uppercase;letter-spacing:.04em}
.btn-p{background:#31006f;color:#fff;border:none;border-radius:8px;padding:.65rem 1.5rem;font-weight:700;font-size:.85rem;cursor:pointer}
.btn-o{background:transparent;color:#31006f;border:1px solid #31006f;border-radius:8px;padding:.65rem 1.5rem;font-weight:600;font-size:.85rem;cursor:pointer}
.challenge-card{cursor:pointer;transition:all .18s;box-shadow:0 2px 6px rgba(0,0,0,.05)}
.challenge-card:hover{box-shadow:0 8px 24px rgba(49,0,111,.14)!important;transform:translateY(-2px)}
.clamp3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
nav{background:#31006f;height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;position:sticky;top:0;z-index:100}
footer{background:#31006f;color:rgba(255,255,255,.6);padding:2rem;text-align:center;font-size:.78rem;margin-top:3rem}
table{width:100%;border-collapse:collapse}
th{padding:.8rem 1rem;text-align:left;font-size:.68rem;font-weight:700;color:#4a5568;text-transform:uppercase;letter-spacing:.05em;background:#f7f8fa;border-bottom:1px solid #e8eaed}
td{padding:.9rem 1rem;font-size:.8rem;color:#1a1a2e;vertical-align:top}
textarea{resize:vertical}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:200;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:2rem}
.modal-box{background:#fff;border-radius:14px;padding:2rem;max-width:600px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,.25);margin-top:2rem}
.confirm-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:200;display:flex;align-items:center;justify-content:center}
.confirm-box{background:#fff;border-radius:12px;padding:2rem;max-width:380px;width:90%;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.uv-cell{transition:all .15s;cursor:pointer;height:52px;border-radius:8px;border-width:2px;border-style:solid;display:flex;flex-direction:column;align-items:center;justify-content:center}
.uv-cell:hover{opacity:.85}
@media(max-width:640px){.g3{grid-template-columns:1fr!important}.g2{grid-template-columns:1fr!important}.g4{grid-template-columns:1fr 1fr!important}nav{padding:0 1rem}}

/* Ganchos de validación de ASP.NET (asp-validation-summary/asp-validation-for): no son clases de
   Bootstrap, son las que genera el propio framework. Se colorean con la misma paleta de error que
   ya usa el mockup para "Devuelto"/"Descartada"/"no es solución" (#991b1b sobre #fee2e2). */
.validation-summary-errors{background:#fee2e2;color:#991b1b;border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem;font-size:.82rem;line-height:1.6}
.validation-summary-errors ul{list-style:none}
.field-validation-error{color:#991b1b;font-size:.72rem;margin-top:.3rem;display:block}
