/*
 * Lavado de cara moderno sobre Bootstrap 2 / Charisma.
 * Solo estilos, no toca estructura ni comportamiento de ninguna pantalla.
 */

:root{
	--pdv-bg:        #f4f5f7;
	--pdv-surface:   #ffffff;
	--pdv-border:    #e3e6ea;
	--pdv-text:      #2b2f38;
	--pdv-text-soft: #6b7280;
	--pdv-accent:    #2f6fed;
	--pdv-accent-d:  #1f56c9;
	--pdv-radius:    10px;
	--pdv-radius-sm: 6px;
	--pdv-shadow:    0 1px 3px rgba(16,24,40,.06), 0 1px 2px rgba(16,24,40,.04);
	--pdv-shadow-md: 0 4px 12px rgba(16,24,40,.08);
}

html, body{
	background: var(--pdv-bg) !important;
	color: var(--pdv-text);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	-webkit-font-smoothing: antialiased;
}

/* ---------- Barra superior ---------- */
.navbar .navbar-inner.navinner{
	box-shadow: var(--pdv-shadow-md);
	border: 0;
}
.navbar .brand{
	font-weight: 600;
	letter-spacing: .2px;
}

/* ---------- Botones ---------- */
.btn{
	background-image: none !important;
	border: 1px solid var(--pdv-border);
	border-radius: var(--pdv-radius-sm);
	box-shadow: none !important;
	text-shadow: none !important;
	font-weight: 500;
	transition: transform .06s ease, box-shadow .15s ease, filter .15s ease;
}
.btn:hover{ filter: brightness(0.97); }
.btn:active{ transform: translateY(1px); }

.btn-primary{ background: var(--pdv-accent) !important; border-color: var(--pdv-accent) !important; }
.btn-primary:hover{ background: var(--pdv-accent-d) !important; border-color: var(--pdv-accent-d) !important; }

.btn-success{ background:#16a34a !important; border-color:#16a34a !important; }
.btn-danger{  background:#dc2626 !important; border-color:#dc2626 !important; }
.btn-warning{ background:#d97706 !important; border-color:#d97706 !important; }
.btn-info{    background:#0891b2 !important; border-color:#0891b2 !important; }
.btn-purple{  background:#7c3aed !important; border-color:#7c3aed !important; }

/* ---------- Tarjetas / paneles / "well" ---------- */
.well,
.box-header,
.box-content,
.widget-box{
	background: var(--pdv-surface);
	border: 1px solid var(--pdv-border);
	border-radius: var(--pdv-radius);
	box-shadow: var(--pdv-shadow);
}
.box-header{
	border-bottom: 1px solid var(--pdv-border);
	border-radius: var(--pdv-radius) var(--pdv-radius) 0 0;
}
.box-content{
	border-top: 0;
	border-radius: 0 0 var(--pdv-radius) var(--pdv-radius);
}

/* ---------- Alertas ---------- */
.alert{
	border-radius: var(--pdv-radius-sm);
	border: 1px solid transparent;
}
.alert-info{ background:#eaf2ff; color:#1c4ed8; border-color:#d3e3ff; }
.alert-success{ background:#eafaf0; color:#0f7a3d; border-color:#c9f0d8; }
.alert-error, .alert-danger{ background:#fdecec; color:#b42318; border-color:#f9d4d1; }

/* ---------- Formularios ---------- */
input[type="text"], input[type="password"], input[type="email"],
input[type="number"], input[type="search"], textarea, select{
	border: 1px solid var(--pdv-border);
	border-radius: var(--pdv-radius-sm);
	box-shadow: none;
	transition: border-color .15s ease, box-shadow .15s ease;
}
input[type="text"]:focus, input[type="password"]:focus, input[type="email"]:focus,
input[type="number"]:focus, input[type="search"]:focus, textarea:focus, select:focus{
	border-color: var(--pdv-accent);
	box-shadow: 0 0 0 3px rgba(47,111,237,.15);
	outline: none;
}
.input-prepend .add-on, .input-append .add-on{
	background: #f1f2f5;
	border: 1px solid var(--pdv-border);
	color: var(--pdv-text-soft);
}

/* ---------- Tablas ---------- */
.table{
	background: var(--pdv-surface);
	border-radius: var(--pdv-radius);
	overflow: hidden;
}
.table th{
	background: #f8f9fb;
	color: var(--pdv-text-soft);
	font-weight: 600;
	text-transform: uppercase;
	font-size: 11px;
	letter-spacing: .04em;
	border-bottom: 1px solid var(--pdv-border) !important;
}
.table td{ border-top: 1px solid var(--pdv-border) !important; }
.table-striped tbody tr:nth-child(odd) td{ background: #fafbfc; }
.table-hover tbody tr:hover td{ background: #eef4ff; }

/* ---------- Menu lateral ---------- */
.sidebar-nav{
	background: var(--pdv-surface);
	border: 1px solid var(--pdv-border);
	border-radius: var(--pdv-radius);
	box-shadow: var(--pdv-shadow);
}

/* ---------- Pantalla de login ---------- */
.login-box{
	margin-top: 60px;
	padding: 32px 28px !important;
	border-radius: 16px !important;
	box-shadow: var(--pdv-shadow-md) !important;
}
.login-box .alert-info{
	background: transparent;
	color: var(--pdv-text);
	border: 0;
	font-weight: 600;
	font-size: 24px !important;
}
.login-box input[type="text"], .login-box input[type="password"]{
	height: 42px;
}
.login-box .btn-primary{
	height: 44px;
	font-size: 16px;
	border-radius: var(--pdv-radius) !important;
}
