:root { --guinda: #6d1f3a; --guinda-osc: #4e1228; --guinda-claro: #f3e6ea; --dorado: #b38e5d; }
body { background: #f6f3f4; }
a { color: var(--guinda); }
a:hover, a:focus { color: var(--guinda-osc); }

/* Barra superior */
.navbar-inverse { background: var(--guinda); border-color: var(--guinda-osc); }
.navbar-inverse .navbar-brand, .navbar-inverse .navbar-nav > li > a, .navbar-inverse .navbar-text { color: #fff; }
.navbar-brand b { color: var(--dorado); }
.navbar-inverse .navbar-nav > li > a:hover { background: var(--guinda-osc); color: #fff; }
.navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover { background: var(--guinda-osc); color: #fff; }

/* Botones y etiquetas */
.btn-primary { background: var(--guinda); border-color: var(--guinda-osc); color: #fff; }
.btn-primary:hover, .btn-primary:focus, .btn-primary:active { background: var(--guinda-osc); border-color: var(--guinda-osc); color: #fff; }
.btn-success { background: var(--dorado); border-color: #98744a; color: #fff; }
.btn-success:hover, .btn-success:focus, .btn-success:active { background: #98744a; border-color: #98744a; color: #fff; }
.label-success { background: var(--guinda); }
.label-info { background: var(--dorado); }
.alert-info { background: var(--guinda-claro); border-color: #e3c9d1; color: var(--guinda-osc); }
.table > thead > tr > th { border-bottom: 2px solid var(--guinda); color: var(--guinda-osc); }
.form-control:focus { border-color: var(--guinda); box-shadow: 0 0 0 2px rgba(109,31,58,.15); }

/* Login */
.login-body { display: flex; align-items: center; justify-content: center; min-height: 100vh; background: linear-gradient(135deg, var(--guinda-osc), var(--guinda)); }
.login-box { background: #fff; padding: 30px; border-radius: 6px; width: 100%; max-width: 380px; box-shadow: 0 6px 24px rgba(0,0,0,.25); border-top: 5px solid var(--dorado); }
.login-box h1 { margin-top: 0; text-align: center; color: var(--guinda); }
.login-box h1 span { color: var(--dorado); }

/* Tarjetas */
.card { background: #fff; border-radius: 6px; padding: 20px; margin-bottom: 20px; box-shadow: 0 1px 4px rgba(0,0,0,.08); border-top: 3px solid var(--guinda); }
.card-post { cursor: pointer; transition: box-shadow .15s, transform .15s; }
.card-post:hover, .card-post:focus { box-shadow: 0 4px 14px rgba(109,31,58,.25); transform: translateY(-2px); outline: none; }
.kpi { text-align: center; }
.kpi .num { font-size: 32px; font-weight: 700; color: var(--guinda); }
h2 { color: var(--guinda-osc); }

/* Cuestionario y formularios */
.pregunta { margin-bottom: 18px; padding-bottom: 10px; border-bottom: 1px solid #eee; }
.pregunta .radio { margin-left: 10px; }
.bloque-pregunta { border: 1px solid #ddd; border-left: 4px solid var(--guinda); border-radius: 4px; padding: 12px; margin-bottom: 12px; background: #fafafa; }
.chart-box { position: relative; height: 280px; }

/* Visor de PDF */
.card-visor { text-align: center; }
.visor-pdf { display: block; width: 100%; max-width: 1050px; height: 92vh; min-height: 750px; margin: 0 auto; border: 1px solid #ddd; border-radius: 4px; background: #eee; }

/* Tablas (DataTables) y modales (jquery-confirm) */
.panel-default > .panel-heading { background: var(--guinda-claro); border-color: #e3c9d1; color: var(--guinda-osc); }
.panel-default { border-color: #e3c9d1; }
.well { background: #faf6f7; border-color: #eadbe0; }
.pagination > .active > a, .pagination > .active > a:hover, .pagination > .active > span { background: var(--guinda); border-color: var(--guinda-osc); color: #fff; }
.pagination > li > a { color: var(--guinda); }
.dropdown-menu > li > a:hover { background: var(--guinda-claro); color: var(--guinda-osc); }
.jconfirm .jconfirm-box .btn-blue, .jconfirm .btn-blue { background: var(--guinda); color: #fff; }
.jconfirm .btn-blue:hover { background: var(--guinda-osc); }
.jconfirm .btn-red { background: #b3261e; color: #fff; }
.jconfirm .btn-gray { background: #8a8a8a; color: #fff; }
.jconfirm.jconfirm-bootstrap .jconfirm-box .jconfirm-title-c .jconfirm-title { color: var(--guinda-osc); }
.jconfirm .jconfirm-box .jconfirm-content-pane { max-height: 70vh; }
.jconfirm .jconfirm-box div.jconfirm-buttons > button.btn-blue { background: var(--guinda); color: #fff; }
.jconfirm .jconfirm-box div.jconfirm-buttons > button.btn-blue:hover { background: var(--guinda-osc); }
.jconfirm .jconfirm-box div.jconfirm-buttons > button.btn-red { background: #b3261e; color: #fff; }
.jconfirm .jconfirm-box div.jconfirm-buttons > button.btn-gray { background: #8a8a8a; color: #fff; }
.jconfirm.jconfirm-type-purple .jconfirm-box { border-top-color: var(--guinda); }
.jconfirm.jconfirm-type-purple .jconfirm-box .jconfirm-title-c .jconfirm-icon-c { color: var(--guinda); }
