@import url(//fonts.googleapis.com/css?family=Open+Sans:300,400);
@import url(//fonts.googleapis.com/css?family=Port+Lligat+Slab);

*, html, body, h1, h2, h3, h4, div, p, span, a, button {
    font-family: 'Open Sans', sans-serif;
}

/* BODY: Fondo azul como tu web principal */
body {
    background-color: #0f172a; /* Azul oscuro */
    background-image: none; /* Ya no usamos cubes.png */
    color: #fff; /* Letras blancas */
}

/* RANDOM STUFF */
#frontPages {
    padding-top: 20px;
}

/* TARJETAS / CARDS estilo web principal */
.card, .register-card {
    background: rgba(17,24,39,0.95); /* Fondo semi-transparente */
    padding: 25px;
    border-radius: 14px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.25);
    backdrop-filter: blur(8px);
    border:1px solid rgba(255,255,255,0.08);
}

/* TITULOS */
h1.form-signin-heading, h1 {
    text-align: center;
    font-size: 20px;
    margin: 10px 0 15px;
}

/* INPUTS */
.form-control, .register-card input, .register-card select {
    height: 36px !important;
    font-size: 13px;
    border-radius: 6px !important;
    padding: 10px;
    background: #1f2937;
    color: #fff;
    border: none;
}

/* BOTONES */
.btn-warning, .register-card button {
    border-radius: 6px;
    background-color: #00c3ff;
    color: #000;
    font-weight: bold;
    cursor: pointer;
}

/* ESPACIADO ENTRE FILAS */
.row-space {
    margin-bottom: 10px;
}

/* FOOTER */
.footer {
    margin-top: 15px;
    font-size: 12px;
    color: #ccc;
}

/* NAVBAR */
.navbar, .well {
    background-color: white;
}

.navbar {
    -webkit-box-shadow: 0 8px 6px -8px black;
    -moz-box-shadow: 0 8px 6px -8px black;
    box-shadow: 0 8px 6px -8px black;
}

.navbar-brand {
    font-size: 25px;
}
.navbar-brand, .navbar-brand small {
    font-family: 'Port Lligat Slab', serif;
}

.navbar-default .nav {
    margin-bottom: -1px;
}

.navbar-default .nav > li > a {
    color: #428BCA;
}
.navbar-default .nav > li > a:hover, 
.navbar-default .nav > li > a:focus {
    color: #428BCA;
    border-top: 3px solid #0082D9;
    margin-top: -3px;
}
.navbar-default .nav > li.active > a, 
.navbar-default .nav > li.active > a:hover, 
.navbar-default .nav > li.active > a:focus {
    color: #428BCA;
    background-color: rgba(66, 139, 202, 0.1);
}
/* ===================================== */
/* FIX TEXTOS BLANCOS EN PANELES ANOPE */
/* ===================================== */

.panel,
.panel-body,
.panel-default,
.well,
.table,
.table td,
.table th,
.form-horizontal,
.form-group,
.control-label,
.help-block,
.text-muted,
.list-group-item,
.register-card,
.card {
    color: #1f2937 !important;
}

/* TITULOS INTERNOS */
.panel h1,
.panel h2,
.panel h3,
.panel h4,
.panel h5,
.panel h6,
.well h1,
.well h2,
.well h3,
.well h4 {
    color: #111827 !important;
}

/* LABELS */
label {
    color: #374151 !important;
}

/* LINKS */
.panel a,
.well a,
.table a {
    color: #2563eb !important;
}

/* INPUTS OSCUROS */
.form-control,
input,
select,
textarea {
    background: #1f2937 !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
}

/* PLACEHOLDERS */
input::placeholder,
textarea::placeholder {
    color: #9ca3af !important;
}

/* TABLAS */
.table-striped > tbody > tr:nth-of-type(odd) {
    background-color: rgba(0,0,0,0.02);
}

/* NAV TABS */
.nav-tabs > li > a {
    color: #374151 !important;
}

/* TEXTO GENERAL INTERNO */
.panel-body p,
.panel-body span,
.panel-body div,
.well p,
.well span {
    color: #1f2937 !important;
}

/* CHECKBOX Y RADIO */
input[type="checkbox"],
input[type="radio"] {
    width: auto;
    height: auto;
}

/* ALERTAS */
.alert {
    color: #111 !important;
}

/* TABLAS RESPONSIVE */
.table-responsive {
    border: none !important;
}