feat(admin): Agregar estilos profesionales al Admin Panel
Mejoras CSS implementadas: - Variables CSS con paleta APUs completa (Navy + Orange + Neutrales) - Clases de utilidad para colores de marca - Tab header con gradiente sutil y borde lateral naranja - Section titles con iconos en gradiente - Cards con hover effects y transiciones suaves - Toggle containers con fondos y bordes - Form switches grandes (3rem) con colores personalizados - Input groups sin bordes intermedios - Color pickers con hover effects y transform - Alert personalizado con gradiente naranja - Animación fadeInUp para vista previa - Botones de marca Navy y Orange con hover effects - Progress bar con transiciones suaves - Badges y typography utilities - Responsive design para móviles Todo con transiciones fluidas y sistema de spacing consistente Issue: #144 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -167,3 +167,345 @@
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
MEJORAS ESPECÍFICAS PARA ADMIN PANEL
|
||||
============================================ */
|
||||
|
||||
/* Variables CSS */
|
||||
:root {
|
||||
--color-navy-primary: #1E3A5F;
|
||||
--color-navy-light: #2C5282;
|
||||
--color-navy-dark: #0E2337;
|
||||
--color-orange-primary: #FF8600;
|
||||
--color-orange-hover: #FF6B35;
|
||||
--color-neutral-50: #F9FAFB;
|
||||
--color-neutral-100: #F3F4F6;
|
||||
--color-neutral-600: #6B7280;
|
||||
--color-neutral-700: #4B5563;
|
||||
}
|
||||
|
||||
/* Colores de marca como clases de utilidad */
|
||||
.text-navy-primary { color: var(--color-navy-primary) !important; }
|
||||
.text-navy-dark { color: var(--color-navy-dark) !important; }
|
||||
.text-orange-primary { color: var(--color-orange-primary) !important; }
|
||||
.text-neutral-600 { color: var(--color-neutral-600) !important; }
|
||||
.text-neutral-700 { color: var(--color-neutral-700) !important; }
|
||||
|
||||
.bg-neutral-50 { background-color: var(--color-neutral-50) !important; }
|
||||
.bg-neutral-100 { background-color: var(--color-neutral-100) !important; }
|
||||
|
||||
/* Tab Header mejorado */
|
||||
.tab-header {
|
||||
padding: 1.5rem;
|
||||
background: linear-gradient(135deg, rgba(30, 58, 95, 0.03) 0%, rgba(255, 134, 0, 0.02) 100%);
|
||||
border-radius: 8px;
|
||||
margin-bottom: 2rem;
|
||||
border-left: 4px solid var(--color-orange-primary);
|
||||
}
|
||||
|
||||
/* Section Title con icono */
|
||||
.section-title {
|
||||
color: var(--color-navy-primary);
|
||||
font-size: 1.25rem;
|
||||
font-weight: 700;
|
||||
margin-bottom: 1.5rem;
|
||||
padding-bottom: 0.75rem;
|
||||
border-bottom: 2px solid var(--color-neutral-100);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.75rem;
|
||||
}
|
||||
|
||||
.section-title .title-icon {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
background: linear-gradient(135deg, var(--color-orange-primary), var(--color-orange-hover));
|
||||
border-radius: 8px;
|
||||
color: white;
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
/* Form Section Cards mejorados */
|
||||
.form-section.card {
|
||||
border: 1px solid var(--color-neutral-100);
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.form-section.card:hover {
|
||||
box-shadow: 0 8px 16px rgba(0, 0, 0, 0.08);
|
||||
border-color: var(--color-neutral-100);
|
||||
}
|
||||
|
||||
/* Toggle Container mejorado */
|
||||
.toggle-container {
|
||||
background: var(--color-neutral-50);
|
||||
padding: 1rem;
|
||||
border-radius: 8px;
|
||||
border: 1px solid var(--color-neutral-100);
|
||||
}
|
||||
|
||||
/* Switch más grande */
|
||||
.form-switch-lg .form-check-input {
|
||||
width: 3rem;
|
||||
height: 1.5rem;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.form-switch-lg .form-check-input:checked {
|
||||
background-color: var(--color-orange-primary);
|
||||
border-color: var(--color-orange-primary);
|
||||
}
|
||||
|
||||
.form-switch-lg .form-check-input:focus {
|
||||
box-shadow: 0 0 0 0.25rem rgba(255, 134, 0, 0.25);
|
||||
border-color: var(--color-orange-primary);
|
||||
}
|
||||
|
||||
.form-switch-lg .form-check-label {
|
||||
margin-left: 0.5rem;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
/* Input Group merge (sin borde en el medio) */
|
||||
.input-group-merge .input-group-text {
|
||||
border-right: 0;
|
||||
background-color: var(--color-neutral-50);
|
||||
}
|
||||
|
||||
.input-group-merge .form-control {
|
||||
border-left: 0;
|
||||
}
|
||||
|
||||
.input-group-merge .form-control:focus {
|
||||
border-color: var(--color-orange-primary);
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
/* Color Picker mejorado */
|
||||
.color-picker-wrapper .form-control-color {
|
||||
width: 100%;
|
||||
height: 60px;
|
||||
border-radius: 8px;
|
||||
border: 2px solid var(--color-neutral-100);
|
||||
cursor: pointer;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.color-picker-wrapper .form-control-color:hover {
|
||||
border-color: var(--color-orange-primary);
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 4px 12px rgba(255, 134, 0, 0.15);
|
||||
}
|
||||
|
||||
.color-picker-wrapper .form-control-color::-webkit-color-swatch {
|
||||
border-radius: 4px;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.color-picker-wrapper .color-preview-text {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.color-picker-wrapper .color-preview-text code {
|
||||
display: block;
|
||||
font-size: 0.875rem;
|
||||
font-weight: 600;
|
||||
margin-bottom: 0.25rem;
|
||||
}
|
||||
|
||||
/* Alert personalizado */
|
||||
.alert-info-custom {
|
||||
background: linear-gradient(135deg, rgba(255, 134, 0, 0.08), rgba(255, 134, 0, 0.03));
|
||||
border: 1px solid rgba(255, 134, 0, 0.2);
|
||||
border-radius: 8px;
|
||||
padding: 1rem;
|
||||
}
|
||||
|
||||
.alert-info-custom .alert-heading {
|
||||
color: var(--color-navy-primary);
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.alert-info-custom p {
|
||||
color: var(--color-neutral-600);
|
||||
}
|
||||
|
||||
/* Preview Container */
|
||||
.preview-container {
|
||||
position: relative;
|
||||
min-height: 150px;
|
||||
}
|
||||
|
||||
.top-bar-preview {
|
||||
animation: fadeInUp 0.5s ease;
|
||||
}
|
||||
|
||||
@keyframes fadeInUp {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translateY(10px);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
|
||||
/* Botones de marca */
|
||||
.btn-navy-primary {
|
||||
background-color: var(--color-navy-primary);
|
||||
border-color: var(--color-navy-primary);
|
||||
color: white;
|
||||
font-weight: 600;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.btn-navy-primary:hover {
|
||||
background-color: var(--color-navy-light);
|
||||
border-color: var(--color-navy-light);
|
||||
color: white;
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 6px 12px rgba(30, 58, 95, 0.2);
|
||||
}
|
||||
|
||||
.btn-orange-primary {
|
||||
background-color: var(--color-orange-primary);
|
||||
border-color: var(--color-orange-primary);
|
||||
color: white;
|
||||
font-weight: 600;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.btn-orange-primary:hover {
|
||||
background-color: var(--color-orange-hover);
|
||||
border-color: var(--color-orange-hover);
|
||||
color: white;
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 6px 12px rgba(255, 134, 0, 0.3);
|
||||
}
|
||||
|
||||
/* Sticky Footer Actions */
|
||||
.sticky-bottom {
|
||||
position: sticky;
|
||||
bottom: 0;
|
||||
z-index: 10;
|
||||
box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
|
||||
/* Progress bar para textarea */
|
||||
.progress {
|
||||
background-color: var(--color-neutral-100);
|
||||
height: 4px;
|
||||
border-radius: 2px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.progress .progress-bar {
|
||||
transition: width 0.3s ease;
|
||||
}
|
||||
|
||||
.progress .progress-bar.bg-orange-primary {
|
||||
background-color: var(--color-orange-primary);
|
||||
}
|
||||
|
||||
/* Badges personalizados */
|
||||
.badge.bg-neutral-100 {
|
||||
background-color: var(--color-neutral-100) !important;
|
||||
}
|
||||
|
||||
.badge.text-neutral-600 {
|
||||
color: var(--color-neutral-600) !important;
|
||||
}
|
||||
|
||||
/* Form control improvements */
|
||||
.form-control-lg {
|
||||
font-size: 1rem;
|
||||
padding: 0.75rem 1rem;
|
||||
}
|
||||
|
||||
.form-select-lg {
|
||||
font-size: 1rem;
|
||||
padding: 0.75rem 1rem;
|
||||
}
|
||||
|
||||
/* Gap utilities */
|
||||
.g-4 {
|
||||
gap: 1.5rem;
|
||||
}
|
||||
|
||||
/* Border utilities */
|
||||
.border-0 {
|
||||
border: 0 !important;
|
||||
}
|
||||
|
||||
.border-neutral-100 {
|
||||
border-color: var(--color-neutral-100) !important;
|
||||
}
|
||||
|
||||
/* Shadow utilities */
|
||||
.shadow-sm {
|
||||
box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06) !important;
|
||||
}
|
||||
|
||||
/* Rounded utilities */
|
||||
.rounded-3 {
|
||||
border-radius: 0.5rem !important;
|
||||
}
|
||||
|
||||
.rounded-bottom {
|
||||
border-bottom-left-radius: 0.5rem !important;
|
||||
border-bottom-right-radius: 0.5rem !important;
|
||||
}
|
||||
|
||||
/* Card utilities */
|
||||
.card {
|
||||
background-color: #fff;
|
||||
border: 1px solid rgba(0, 0, 0, 0.125);
|
||||
border-radius: 0.5rem;
|
||||
}
|
||||
|
||||
.card-body {
|
||||
padding: 1.5rem;
|
||||
}
|
||||
|
||||
/* Typography utilities */
|
||||
.fw-bold {
|
||||
font-weight: 700 !important;
|
||||
}
|
||||
|
||||
.fw-medium {
|
||||
font-weight: 500 !important;
|
||||
}
|
||||
|
||||
.small {
|
||||
font-size: 0.875rem;
|
||||
}
|
||||
|
||||
/* Responsive mejoras */
|
||||
@media (max-width: 768px) {
|
||||
.tab-header {
|
||||
padding: 1rem;
|
||||
}
|
||||
|
||||
.tab-header .d-flex {
|
||||
flex-direction: column;
|
||||
gap: 1rem;
|
||||
}
|
||||
|
||||
.section-title {
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
|
||||
.color-picker-wrapper .form-control-color {
|
||||
height: 50px;
|
||||
}
|
||||
|
||||
.form-switch-lg .form-check-input {
|
||||
width: 2.5rem;
|
||||
height: 1.25rem;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user