/* ===============================
   ALCALÁ – ESTILO CORPORATIVO
================================ */
*,
*::before,
*::after {
    box-sizing: border-box;
}

:root {
    --vino: #4b0f1e;
    --vino-hover: #6a1b2a;
    --gris-fondo: #f4f4f4;
    --gris-borde: #d0d0d0;
    --texto: #333;
}

/* RESET BÁSICO */
body {
    margin: 0;
    font-family: 'Segoe UI', Arial, sans-serif;
    background: var(--gris-fondo);
    color: var(--texto);
}

/* ===============================
   LOGIN
================================ */

.login-wrapper {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.login-card {
    background: #fff;
    width: 100%;
    max-width: 420px;
    padding: 40px;
    border-radius: 18px;
    box-shadow: 0 15px 40px rgba(0,0,0,.12);
}

.login-card h2 {
    text-align: center;
    color: var(--vino);
    margin-bottom: 6px;
}

.login-card p {
    text-align: center;
    font-size: 14px;
    color: #666;
    margin-bottom: 28px;
}

/* ===============================
   FORMULARIOS
================================ */

.form-group {
    margin-bottom: 18px;
}

.form-group label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 6px;
}

.form-group input {
    width: 100%;
    padding: 12px 14px;
    font-size: 14px;
    border-radius: 12px;
    border: 1px solid var(--gris-borde);
    outline: none;
    box-sizing: border-box; /* refuerzo */
    max-width: 380px;   /* 👈 AQUÍ CONTROLAS EL ANCHO REAL */
}

.form-group input:focus {
    border-color: var(--vino);
    box-shadow: 0 0 0 2px rgba(75,15,30,.15);
}

/* ===============================
   BOTONES
================================ */

.login-btn {
    width: 100%;
    background: var(--vino);
    color: #fff;
    border: none;
    padding: 14px;
    font-size: 15px;
    font-weight: 600;
    border-radius: 14px;
    cursor: pointer;
}

.login-btn:hover {
    background: var(--vino-hover);
}
/* ===============================
   SELECT (igual que input)
================================ */

.form-group select {
    width: 100%;
    padding: 12px 14px;
    font-size: 14px;
    border-radius: 12px;
    border: 1px solid var(--gris-borde);
    outline: none;
    background: #fff;
    box-sizing: border-box;
}

.form-group select:focus {
    border-color: var(--vino);
    box-shadow: 0 0 0 2px rgba(75,15,30,.15);
}
/* ===============================
   DASHBOARD LAYOUT
================================ */

.dashboard {
    display: flex;
    min-height: 100vh;
}

/* ===== SIDEBAR ===== */
.sidebar {
    width: 260px;
    background: var(--vino);
    color: #fff;
    display: flex;
    flex-direction: column;
}

.sidebar-logo {
    padding: 20px;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    background: #3a0c17;
}

.sidebar-menu {
    padding: 15px;
    flex: 1;
}

.menu-section {
    margin-bottom: 18px;
}

.menu-title {
    display: block;
    font-size: 11px;
    font-weight: 700;
    margin-bottom: 8px;
    opacity: 0.8;
}

.sidebar-menu a {
    display: block;
    padding: 10px 12px;
    color: #fff;
    text-decoration: none;
    border-radius: 8px;
    font-size: 14px;
}

.sidebar-menu a:hover {
    background: rgba(255,255,255,.15);
}

.sidebar-menu hr {
    border: none;
    border-top: 1px solid rgba(255,255,255,.2);
    margin: 15px 0;
}

/* ===== MAIN ===== */
.main {
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* ===== TOPBAR ===== */
.topbar {
    background: #fff;
    padding: 14px 20px;
    border-bottom: 1px solid #ddd;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.topbar-right {
    display: flex;
    align-items: center;
    gap: 15px;
}

.notif {
    font-size: 18px;
    cursor: pointer;
}

.user-name {
    font-weight: 600;
}

.logout-btn {
    background: var(--vino);
    color: #fff;
    border: none;
    padding: 6px 14px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 13px;
}

.logout-btn:hover {
    background: var(--vino-hover);
}

/* ===== CONTENT ===== */
.content {
    padding: 25px;
    background: #f4f4f4;
    flex: 1;
}
/* ===============================
   COMPONENTES GENERALES
================================ */

.page-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.table-vino {
    width: 100%;
    background: #fff;
    border-radius: 12px;
    border-collapse: collapse;
}

.table-vino th {
    background: var(--vino);
    color: #fff;
    padding: 12px;
    font-size: 13px;
}

.table-vino td {
    padding: 12px;
    border-bottom: 1px solid #eee;
    font-size: 14px;
}

/* BOTONES */

.btn-vino {
    background: var(--vino);
    color: #fff;
    padding: 10px 18px;
    border-radius: 10px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    font-weight: 600;
}

.btn-vino:hover {
    background: var(--vino-hover);
}

.btn-delete {
    background: #9b1c31;
    color: #fff;
    border: none;
    padding: 6px 12px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 13px;
}

.btn-cancelar {
    margin-left: 10px;
    color: #555;
    text-decoration: none;
}

/* FORMULARIOS */

.form-card {
    background: #fff;
    padding: 30px;
    border-radius: 14px;
    max-width: 500px;
}
/* ===============================
   FORMULARIOS CENTRADOS
================================ */

..form-wrapper {
    display: flex;
    justify-content: center;
    margin-top: 30px;
}

.form-wrapper h2 {
    margin-bottom: 20px;
}

.form-card {
    width: 100%;
    max-width: 1100px;   /* 👈 ESTO ES LO IMPORTANTE */
    background: #fff;
    padding: 40px 50px;
    border-radius: 22px;
    box-shadow: 0 15px 40px rgba(0,0,0,0.08);
}

/* ===============================
   TABLAS MEJORADAS
================================ */

.table-wrapper {
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
}

.table-vino {
    width: 100%;
    border-collapse: collapse;
}

.table-vino th {
    background: var(--vino);
    color: #fff;
    padding: 14px;
    font-size: 13px;
    text-align: left;
}

.table-vino td {
    padding: 14px;
    font-size: 14px;
    border-bottom: 1px solid #eee;
}

.table-vino tbody tr:hover {
    background: #fafafa;
}
.btn-vino,
.btn-delete {
    border-radius: 10px;
}
/* ===============================
   CARD DE MÓDULO (INDEX)
================================ */

.module-card {
    background: #fff;
    border-radius: 18px;
    padding: 25px;
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
}

/* CABECERA DEL MÓDULO */
.module-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 20px;
}

.module-header h2 {
    margin: 0;
    color: #222;
}

.module-description {
    margin-top: 6px;
    font-size: 14px;
    color: #666;
    max-width: 600px;
    line-height: 1.4;
}
/* ===== ESTADOS ===== */
.estado-activo {
    color: #2e7d32;
    font-weight: 600;
}

.estado-inactivo {
    color: #c62828;
    font-weight: 600;
}

/* ===== BOTÓN TOGGLE ===== */
.btn-toggle {
    background: #6a1b2a;
    color: #fff;
    border: none;
    padding: 6px 10px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 12px;
    margin-right: 6px;
}
/* ===== GRID 3 COLUMNAS ===== */
.form-grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr; /* 👈 CONTROL REAL DEL ANCHO */
    gap: 24px;
}

/* Ajustes para checkbox */
.checkbox-group {
    display: flex;
    align-items: center;
    margin-top: 28px;
}

/* Acciones centradas */
.form-actions {
    margin-top: 30px;
    display: flex;
    justify-content: center;
    gap: 15px;
}

/* Input deshabilitado más claro */
input:disabled {
    background-color: #f2f2f2;
    cursor: not-allowed;
}
/* ===== INPUTS GRANDES Y ELEGANTES ===== */
.form-group input[type="text"],
.form-group input[type="email"],
.form-group input[type="number"],
.form-group input[type="tel"] {
    width: 100%;
    padding: 14px 16px;          /* más alto */
    font-size: 15px;             /* texto más legible */
    border-radius: 12px;         /* bordes redondeados */
    border: 1px solid #d0d0d0;
    transition: all 0.2s ease;
}

/* Focus elegante */
.form-group input:focus {
    outline: none;
    border-color: #6a1b2a;       /* vino */
    box-shadow: 0 0 0 2px rgba(106, 27, 42, 0.15);
}

/* Labels más claros */
.form-group label {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 6px;
    display: block;
    color: #333;
}

/* Inputs deshabilitados */
.form-group input:disabled {
    background-color: #f3f3f3;
    color: #888;
    cursor: not-allowed;
}
/* ===== CONTROL DE ANCHO POR COLUMNAS ===== */
.col-1 {
    grid-column: span 1;
}

.col-2 {
    grid-column: span 2;
}

.col-3 {
    grid-column: span 3;
}
.form-separator {
    margin: 30px 0 20px;
    padding-top: 15px;
    border-top: 1px solid #e0e0e0;
    font-weight: 600;
    color: #6a1b2a;
    font-size: 14px;
}
.checkbox-inline {
    display: flex;
    align-items: center;
    padding-top: 28px;
}

.checkbox-inline label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 500;
}
.checkbox-inline {
    display: flex;
    align-items: center;
    padding-top: 28px;
}

.checkbox-inline label {
    display: flex;
    align-items: center;
    gap: 8px;
}
.form-section-title {
    font-size: 15px;
    font-weight: 600;
    color: #6a1b2a; /* vino */
    padding-bottom: 10px;
    margin-bottom: 24px;
    border-bottom: 1px solid #e0e0e0;
}
.card-white {
    background: #fff;
    border-radius: 16px;
    padding: 28px;
    box-shadow: 0 12px 30px rgba(0,0,0,.08);
    margin-bottom: 30px;
}

.card-header-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.page-description {
    font-size: 14px;
    color: #666;
    margin-top: 4px;
}

.erp-table thead th {
    background: #4b0f1e;
    color: #fff;
    padding: 14px;
}

.btn-vino {
    background: #4b0f1e;
    color: #fff;
    border-radius: 10px;
    padding: 8px 16px;
    border: none;
}
/* ===============================
   BUSCADOR ESTILO ERP
================================ */

.search-form {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
    max-width: 420px;
}

.search-input {
    flex: 1;
    padding: 12px 16px;
    font-size: 14px;
    border-radius: 12px;           /* 👈 bordes redondeados */
    border: 1px solid #d0d0d0;
    outline: none;
    transition: all 0.2s ease;
}

.search-input:focus {
    border-color: #4b0f1e;
    box-shadow: 0 0 0 2px rgba(75, 15, 30, 0.15);
}
/* Espaciado entre select y grids (Cliente / Proyecto) */
.form-group + .form-grid-2 {
    margin-top: 28px;
}
.form-wrapper-full {
    display: block !important;
    width: 100%;
    grid-column: 1 / -1; /* rompe cualquier grid padre */
}
.page-content {
    grid-column: 1 / -1;
    width: 100%;
    display: block;
}
/* ===========================
   FIX FORMULARIOS GRANDES ERP
=========================== */

.form-wrapper {
    width: 100%;
}

.form-card {
    width: 100%;
    max-width: 1200px;     /* controla el ancho ERP */
    margin: 0 auto;        /* centra */
    padding: 30px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.08);
    overflow: hidden;      /* 🔴 CLAVE */
}

/* Asegura que ninguna sección se salga */
.form-section-title,
.form-group,
.form-grid-2 {
    width: 100%;
}

/* Grid interno del formulario */
.form-grid-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

/* Inputs */
.form-card input,
.form-card select,
.form-card textarea {
    width: 100%;
    box-sizing: border-box;
}
.estado {
    padding:6px 14px;
    border-radius:14px;
    font-size:12px;
    font-weight:600;
    color:#fff;
    display:inline-block;
}

.estado.verde {
    background:#2e7d32;
}

.estado.naranja {
    background:#ef6c00;
}

.estado.amarillo {
    background:#f9a825;
    color:#000;
}

.badge-etapa {
    background:#e0e0e0;
    padding:6px 12px;
    border-radius:12px;
    font-size:12px;
    font-weight:600;
}
.tabs {
    display:flex;
    gap:6px;
    list-style:none;
    padding:0;
    margin:0;
    border-bottom:2px solid #ddd;
}

.tab {
    padding:10px 16px;
    border-radius:10px 10px 0 0;
    background:#e0e0e0;
    font-weight:600;
    font-size:13px;
    cursor:pointer;
}

.tab.active {
    background:#4b0f1e;
    color:#fff;
}

.tab.disabled {
    opacity:0.4;
    cursor:not-allowed;
}
.alerta {
    padding:6px 14px;
    border-radius:14px;
    font-size:12px;
    font-weight:600;
    color:#fff;
    display:inline-block;
}

.alerta.normal {
    background:#2e7d32;
}

.alerta.por-vencer {
    background:#ef6c00;
}

.alerta.vencido {
    background:#f9a825;
    color:#000;
}
.form-textarea,
.form-input {
    width:100%;
    padding:10px 12px;
    border-radius:12px;
    border:1px solid #d0d0d0;
    font-size:14px;
}

.form-textarea:focus,
.form-input:focus {
    outline:none;
    border-color:#4b0f1e;
    box-shadow:0 0 0 2px rgba(75,15,30,0.1);
}
.form-card {
    background: #fff;
    border-radius: 16px;
    padding: 24px; /* 🔴 ESTO ES LO QUE FALTABA */
    box-shadow: 0 8px 24px rgba(0,0,0,0.06);
}
.estado-pendiente {
    background:#c0392b;
    color:#fff;
    padding:6px 14px;
    border-radius:14px;
    font-size:12px;
    font-weight:600;
}

.estado-excedente {
    background:#f39c12;
    color:#fff;
    padding:6px 14px;
    border-radius:14px;
    font-size:12px;
    font-weight:600;
}
.input-error {
    border: 2px solid #c0392b !important;
    background: #fdecea;
}
/* =========================
   TABS ESTILO ERP / EXCEL
========================= */

.tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    list-style: none;
    padding: 0;
    margin: 0 0 15px 0;
    border-bottom: 2px solid #e5e5e5;
}

.tabs li {
    margin: 0;
}

.tabs li a {
    display: block;
    padding: 8px 14px;
    border-radius: 10px 10px 0 0;
    background: #f5f5f5;
    border: 1px solid #ddd;
    border-bottom: none;
    font-weight: 600;
    font-size: 13px;
    color: #555;
    text-decoration: none;
    transition: all 0.2s ease;
}

/* Hover */
.tabs li a:hover {
    background: #eee;
    color: #4b0f1e;
}

/* ACTIVA */
.tabs li.active a {
    background: #4b0f1e;
    color: #fff;
    border-color: #4b0f1e;
}

/* FINALIZADO (opcional visual) */
/* ===============================
   TABS ESTILO EXCEL (BIESS)
=============================== */

.tabs {
    display: flex;
    gap: 6px;
    padding-left: 0;
    margin: 0;
    list-style: none;
    border-bottom: 1px solid #ddd;
}

.tabs li {
    position: relative;
}

.tabs li a,
.tabs li {
    display: inline-block;
    padding: 8px 18px;
    font-size: 13px;
    font-weight: 600;
    color: #555;
    background: #f2f2f2;
    border: 1px solid #ddd;
    border-bottom: none;
    border-radius: 8px 8px 0 0;
    text-decoration: none;
    cursor: pointer;
}

/* TAB ACTIVO */
.tabs li.active a,
.tabs li.active {
    background: #4b0f1e; /* vino BIESS */
    color: #fff;
    border-color: #4b0f1e;
    z-index: 2;
}

/* TAB INACTIVO */
.tabs li:not(.active) a:hover {
    background: #e6e6e6;
}

/* CONTENIDO DEBAJO DE TABS */
.form-section-title {
    margin-top: 18px;
    font-weight: 600;
    color: #4b0f1e;
}
/* =========================
   ESTADOS POR TIEMPO
========================= */

.estado-normal {
    background: #e6f4ea;
    color: #1e7e34;
    padding: 6px 12px;
    border-radius: 12px;
    font-weight: 600;
    font-size: 12px;
}

.estado-por-vencer {
    background: #fff3cd;
    color: #856404;
    padding: 6px 12px;
    border-radius: 12px;
    font-weight: 600;
    font-size: 12px;
}

.estado-vencido {
    background: #ffeeba;
    color: #856404;
    padding: 6px 12px;
    border-radius: 12px;
    font-weight: 700;
    font-size: 12px;
}
.erp-dashboard-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}

.erp-kpi{
    background:#fff;
    border-radius:14px;
    padding:18px;
    box-shadow:0 4px 12px rgba(0,0,0,.05);
}

.kpi-title{
    font-size:12px;
    color:#777;
    font-weight:600;
}

.kpi-value{
    font-size:28px;
    font-weight:700;
    color:#4b0f1e;
}

.erp-status-grid{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:16px;
    margin-top:25px;
}

.status-card{
    background:#fff;
    border-radius:14px;
    padding:16px;
    text-align:center;
    box-shadow:0 4px 10px rgba(0,0,0,.05);
}

.status-header{
    font-size:12px;
    color:#777;
}

.status-number{
    font-size:26px;
    font-weight:700;
    color:#4b0f1e;
}

.badge-etapa{
    padding:4px 10px;
    border-radius:12px;
    font-size:11px;
    font-weight:600;
    background:#eee;
}

.estado-finalizado{
    background:#9e9e9e;
    color:#fff;
    padding:4px 10px;
    border-radius:10px;
    font-size:11px;
}
.dashboard-split{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
}

.dashboard-half{
    background:#fff;
    border-radius:16px;
    padding:20px;
    box-shadow:0 6px 16px rgba(0,0,0,.06);
}

.dashboard-title{
    font-size:16px;
    font-weight:700;
    margin-bottom:14px;
    color:#4b0f1e;
}

.estado-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
}

.estado-mini{
    background:#f8f8f8;
    border-radius:12px;
    padding:10px;
    text-align:center;
}

.estado-nombre{
    display:block;
    font-size:11px;
    color:#777;
    margin-bottom:4px;
}

.estado-numero{
    font-size:18px;
    font-weight:700;
    color:#4b0f1e;
}
.dashboard-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.dashboard-panel {
    background: #ffffff;
    border: 1px solid #e3e3e3;
    border-radius: 12px;
    padding: 16px 18px;
}

.dashboard-title {
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 14px;
    color: #4b0f1e;
}

.dashboard-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 0;
    font-size: 13px;
    border-bottom: 1px dashed #eee;
}

.dashboard-row:last-child {
    border-bottom: none;
}

.badge {
    background: #4b0f1e;
    color: #fff;
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600;
}

.badge-alt {
    background: #1f2937;
}
.dashboard-wide {
    margin-top: 28px;
}

.erp-card {
    background: #fff;
    border: 1px solid #e3e3e3;
    border-radius: 14px;
    padding: 18px;
}

.erp-title {
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 14px;
    color: #4b0f1e;
}

.erp-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.erp-table th {
    background: #f8f8f8;
    text-align: left;
    padding: 10px;
    font-weight: 600;
    border-bottom: 1px solid #ddd;
}

.erp-table td {
    padding: 9px 10px;
    border-bottom: 1px dashed #eee;
}

.estado-badge {
    background: #4b0f1e;
    color: #fff;
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600;
}

.estado-badge.alt {
    background: #1f2937;
}

.btn-ver {
    background: #4b0f1e;
    color: #fff;
    padding: 5px 12px;
    border-radius: 10px;
    font-size: 12px;
    text-decoration: none;
}

.btn-ver:hover {
    background: #6a1b2a;
}

.empty {
    text-align: center;
    color: #777;
    padding: 16px;
}
.erp-card {
    background:#fff;
    border:1px solid #e3e3e3;
    border-radius:12px;
    padding:16px;
}

.erp-title {
    font-size:14px;
    font-weight:700;
    color:#4b0f1e;
    margin-bottom:10px;
}

.erp-table {
    width:100%;
    border-collapse:collapse;
    font-size:13px;
}

.erp-table th {
    background:#f8f8f8;
    padding:8px;
    text-align:left;
    border-bottom:1px solid #ddd;
}

.erp-table td {
    padding:8px;
    border-bottom:1px dashed #eee;
}

.estado-text {
    font-weight:600;
    color:#4b0f1e;
}

.estado-text.alt {
    color:#1f2937;
}

.btn-ver {
    background:#4b0f1e;
    color:#fff;
    padding:4px 10px;
    border-radius:8px;
    font-size:12px;
    text-decoration:none;
}

.empty {
    text-align:center;
    color:#777;
    padding:12px;
}

.contador-wrap {
    margin-top:24px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
}

.contador-col h4 {
    font-size:13px;
    font-weight:700;
    margin-bottom:6px;
}

.contador-row {
    display:flex;
    justify-content:space-between;
    font-size:13px;
    padding:4px 0;
    border-bottom:1px dotted #eee;
}
/* ================= DASHBOARD ================= */
.dashboard-wrapper {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

/* ================= SECTIONS ================= */
.dashboard-section {
    background: #ffffff;
    border: 1px solid #e5e5e5;
    border-radius: 14px;
    padding: 20px 22px;
}

/* ================= HEADER ================= */
.section-header {
    display: flex;
    flex-direction: column;
    margin-bottom: 14px;
}

.section-header h2 {
    font-size: 15px;
    font-weight: 700;
    color: #4b0f1e;
    margin: 0;
}

.section-subtitle {
    font-size: 12px;
    color: #777;
    margin-top: 2px;
}

/* ================= BODY ================= */
.section-body {
    width: 100%;
    overflow-x: auto;
}
.erp-card {
    background:#fff;
    border:1px solid #e3e3e3;
    border-radius:14px;
    padding:18px;
}

.erp-title {
    font-size:14px;
    font-weight:700;
    color:#4b0f1e;
    margin-bottom:12px;
}

.erp-table {
    width:100%;
    border-collapse:collapse;
    font-size:13px;
}

.erp-table th {
    background:#f8f8f8;
    padding:8px;
    text-align:left;
    border-bottom:1px solid #ddd;
}

.erp-table td {
    padding:8px;
    border-bottom:1px dashed #eee;
}

.estado {
    font-weight:600;
    color:#4b0f1e;
}

.estado.alt {
    color:#1f2937;
}

.btn-ver {
    background:#4b0f1e;
    color:#fff;
    padding:4px 12px;
    border-radius:8px;
    font-size:12px;
    text-decoration:none;
}

.btn-ver:hover {
    background:#6a1b2a;
}

.empty {
    text-align:center;
    color:#777;
    padding:12px;
}
.logo-link {
    color: inherit;      /* mantiene el color vino */
    text-decoration: none;
    font-weight: 700;
}

.logo-link:hover {
    opacity: 0.85;
}
/* ===========================
   CONTENEDOR CENTRADO
=========================== */
.page-center {
    display: flex;
    justify-content: center;
    margin-top: 40px;
}

/* ===========================
   TARJETA FORMULARIO
=========================== */
.erp-card-form {
    width: 100%;
    max-width: 700px;
    padding: 32px 36px;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 12px 35px rgba(0,0,0,.08);
}

/* TITULOS */
.erp-title {
    margin-bottom: 4px;
    font-size: 22px;
    color: #4b0f1e;
    text-align: center;
}

.erp-subtitle {
    font-size: 13px;
    color: #777;
    text-align: center;
    margin-bottom: 26px;
}

/* FORM */
.form-group {
    margin-bottom: 16px;
}

.form-group label {
    font-size: 13px;
    font-weight: 600;
    color: #555;
    margin-bottom: 4px;
    display: block;
}

.form-group input,
.form-group select {
    width: 100%;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid #d0d0d0;
    font-size: 14px;
}

/* ACCIONES */
.form-actions {
    margin-top: 24px;
    display: flex;
    justify-content: flex-end;
}

.btn-vino {
    background: #4b0f1e;
    color: #fff;
    padding: 10px 20px;
    border-radius: 10px;
    border: none;
    font-weight: 600;
    cursor: pointer;
}

/* ERRORES */
.error-box {
    margin-top: 15px;
    background: #fdecea;
    color: #a94442;
    padding: 10px 14px;
    border-radius: 10px;
    font-size: 13px;
}
<style>
.autocomplete-box {
    position:absolute;
    width:100%;
    background:#fff;
    border:1px solid #ccc;
    border-radius:8px;
    max-height:200px;
    overflow-y:auto;
    z-index:999;
}

.autocomplete-item {
    padding:8px 12px;
    cursor:pointer;
}

.autocomplete-item:hover {
    background:#f3f3f3;
}
</style>
/* ===============================
   NOTIFICACIONES (CAMPANA)
=============================== */

.notificacion-wrapper {
    position: relative;
    margin-right: 15px;
    cursor: pointer;
}

.notificacion-wrapper i {
    font-size: 18px;
    color: #333;
}

.notificacion-badge {
    position: absolute;
    top: -6px;
    right: -6px;
    background: red;
    color: #fff;
    font-size: 11px;
    padding: 2px 6px;
    border-radius: 50%;
    font-weight: bold;
}

.notificacion-dropdown {
    position: absolute;
    right: 0;
    top: 30px;
    width: 320px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 6px 20px rgba(0,0,0,.15);
    display: none;
    z-index: 9999;
}

.notificacion-dropdown.open {
    display: block;
}

.notificacion-item {
    display: block;
    padding: 10px;
    border-bottom: 1px solid #eee;
    color: #333;
    text-decoration: none;
}

.notificacion-item.nueva {
    background: #f0f7ff;
    font-weight: 600;
}

.notificacion-item:hover {
    background: #f5f5f5;
}

.notificacion-vacia {
    padding: 12px;
    text-align: center;
    color: #777;
}
.notificacion-wrapper {
    position: relative;
    display: inline-block;
    font-size: 20px;
    color: #4b0f1e; /* vino */
    cursor: pointer;
}

.notificacion-badge {
    position: absolute;
    top: -6px;
    right: -8px;
    background: #e53935;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 50%;
    min-width: 18px;
    height: 18px;
    line-height: 14px;
    text-align: center;
}
.form-actions-avanzar {
    display: flex;
    justify-content: flex-start;
    margin-top: 10px;
}

.btn-avanzar {
    background: #ffffff;
    color: #4b0f1e;
    border: 2px solid #4b0f1e;
    padding: 6px 14px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.btn-avanzar:hover {
    background: #4b0f1e;
    color: #ffffff;
}
.form-avanzar {
    margin-top: 12px;
}

.btn-avanzar {
    background: #ffffff;
    color: #4b0f1e;
    border: 2px solid #4b0f1e;
    padding: 6px 14px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.btn-avanzar:hover {
    background: #4b0f1e;
    color: #ffffff;
}
