
:root{
  --vino:#006341;
  --dorado:#CE1126;
  --gris:#f6f6f6;
  --texto:#222;
}
*{box-sizing:border-box}
body{font-family:"Segoe UI",Roboto,Arial,sans-serif;background:var(--gris);color:var(--texto);}
a{color:inherit}
/* Header */
header.sticky{backdrop-filter:saturate(180%) blur(8px);}
.section-title{color:var(--vino)}
/* Hero */
.hero{position:relative;border-radius:1.5rem;overflow:hidden;min-height:320px;display:flex;align-items:flex-end;color:#fff}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.55),rgba(0,0,0,.1),transparent)}
.hero-content{position:relative;padding:24px}
.btn{display:inline-block;background:#fff;padding:.6rem 1rem;border-radius:1rem;font-weight:700}
.btn-primario{background:var(--vino);color:#fff}
.btn-acento{background:var(--dorado);color:#222}
/* Cards */
.card,.service-card{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;padding:1rem;box-shadow:0 2px 6px rgba(0,0,0,.05)}
.service-card{display:flex;align-items:center;justify-content:center;height:84px;font-weight:700;color:var(--vino)}
.service-card:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,0,0,.12)}
/* Tables */
.table-wrap{overflow:auto;border:1px solid #e5e7eb;border-radius:1rem}
.table{width:100%;border-collapse:separate;border-spacing:0;min-width:620px}
.table th,.table td{padding:.75rem 1rem;border-bottom:1px solid #eee}
.table thead th{background:#fafafa;color:#444;text-align:left;font-weight:800}
.table tbody tr:last-child td{border-bottom:none}
/* Badges */
.badge{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .6rem;border-radius:999px;font-weight:700;font-size:.8rem}
.badge-ok{background:#e8f5e9;color:#166534}
.badge-warn{background:#fff7ed;color:#9a3412}
/* Forms */
.input, select, textarea{
  width:100%;background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:.6rem .9rem;outline:none
}
.input:focus, select:focus, textarea:focus{border-color:var(--vino);box-shadow:0 0 0 3px rgba(0,99,65,.15)}
.field-hint{font-size:.9rem;color:#6b7280}
.error-text{font-size:.85rem;color:#b91c1c}
/* Tabs */
.tabs{display:flex;gap:.5rem;flex-wrap:wrap}
.tab{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:.5rem 1rem;font-weight:700;color:var(--vino)}
.tab[aria-selected="true"]{background:var(--vino);color:#fff;box-shadow:0 6px 16px rgba(0,0,0,.12)}
/* Footer */
footer{background:#fff}


/* Accesos rápidos: carrusel horizontal (una sola fila) */
.quick-actions{position:relative}
.quick-actions__track{
  display:flex;
  gap:1rem;
  overflow-x:auto;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x mandatory;
  padding:.25rem 3.25rem; /* espacio para flechas */
}
.quick-actions__track::-webkit-scrollbar{height:8px}
.quick-actions__track::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15);border-radius:999px}
.quick-actions__track{scrollbar-width:thin}
.quick-actions__item{flex:0 0 240px;scroll-snap-align:start}
@media (max-width:640px){.quick-actions__item{flex-basis:200px}}
.quick-actions__btn{
  position:absolute;top:50%;transform:translateY(-50%);
  width:40px;height:40px;border-radius:999px;
  border:1px solid #e5e7eb;background:#fff;
  display:grid;place-items:center;
  box-shadow:0 6px 16px rgba(0,0,0,.12);
  color:var(--vino);
}
.quick-actions__btn:hover{border-color:var(--vino)}
.quick-actions__btn:active{transform:translateY(-50%) scale(.98)}
.quick-actions__btn[disabled]{opacity:.35;cursor:not-allowed}
.quick-actions__btn--prev{left:0}
.quick-actions__btn--next{right:0}
/* ServidorC4 – fix logo sizing */
img[src*="logo_principal.png"]{
  width: 48px !important;
  height: 48px !important;
  max-width: 48px !important;
  max-height: 48px !important;
  object-fit: contain !important;
  display: block;
}
