/* ============================================================
   proveedores.css — Sistema visual COMPARTIDO del módulo Proveedores
   Se activa envolviendo la página en <div class="proveedores-module">.
   CSS global (alcanza componentes hijos sin ::deep). Consume theme.css.
   ============================================================ */
.proveedores-module { color: var(--ui-text); }
.proveedores-module h1 { font-weight: 500; letter-spacing: -0.01em; }
.proveedores-module h5 { font-weight: 500; font-size: 1.02rem; }
.proveedores-module h6 { font-weight: 500; }

.proveedores-module .card {
    background: var(--ui-card);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius);
    box-shadow: var(--ui-shadow-sm);
    transition: box-shadow .16s ease, border-color .16s ease;
}
.proveedores-module .card:hover { box-shadow: var(--ui-shadow); border-color: rgba(var(--ui-brand-rgb), .28); }
.proveedores-module .card-body { padding: 1.15rem 1.25rem; }

/* KPI tiles */
.pv-kpi { display:flex; align-items:center; gap:.9rem; }
.pv-kpi .pv-kpi-ico {
    width:3rem; height:3rem; border-radius:var(--ui-radius-sm);
    display:grid; place-items:center; flex:0 0 auto;
}
.pv-kpi .pv-kpi-ico .material-icons-outlined { font-size:1.5rem; }
.pv-kpi .pv-kpi-num { font-size:1.6rem; font-weight:600; line-height:1; letter-spacing:-.02em; color:var(--ui-text); }
.pv-kpi .pv-kpi-lbl { font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; color:var(--ui-text-muted); }
.pv-ico-primary { color:var(--app-blanco); background:var(--ui-brand); }
.pv-ico-success { color:var(--app-blanco); background:var(--ui-success); }
.pv-ico-warning { color:var(--app-blanco); background:var(--ui-warning); }
.pv-ico-danger  { color:var(--app-blanco); background:var(--ui-danger); }
.pv-ico-info    { color:var(--app-blanco); background:var(--ui-info); }

/* Avatar de iniciales */
.pv-avatar {
    width:2.1rem; height:2.1rem; border-radius:.5rem; flex:0 0 auto;
    display:grid; place-items:center; font-size:.72rem; font-weight:600;
    color:var(--ui-brand); background:rgba(var(--ui-brand-rgb),.10);
}

.proveedores-module .table > thead > tr > th {
    background: transparent; white-space: nowrap; font-size:.7rem; font-weight:500;
    text-transform: uppercase; letter-spacing:.05em; color: var(--ui-text-muted);
    border-bottom: 1px solid var(--ui-border);
}
.proveedores-module .table > tbody > tr > td { font-size:.86rem; vertical-align:middle; border-color: var(--ui-border); }
.proveedores-module .table-hover > tbody > tr:hover > * { background: var(--ui-muted); }

.proveedores-module .form-label { font-weight:500; font-size:.82rem; color:var(--ui-text-muted); margin-bottom:.3rem; }
.proveedores-module .form-control, .proveedores-module .form-select { border-radius: var(--ui-radius-sm); border-color: var(--ui-border); }
.proveedores-module .form-control:focus, .proveedores-module .form-select:focus {
    border-color: rgba(var(--ui-brand-rgb), .55); box-shadow: 0 0 0 .2rem rgba(var(--ui-brand-rgb), .15);
}
.proveedores-module .btn { border-radius: var(--ui-radius-sm); font-weight:500; }
.proveedores-module .badge { font-weight:500; }
.proveedores-module .modal-content { border:0; border-radius: var(--ui-radius); box-shadow: var(--ui-shadow-lg); }

/* estado vacío / carga */
.pv-empty { text-align:center; padding:3rem 1rem; color:var(--ui-text-muted); }
.pv-empty .material-icons-outlined { font-size:3rem; opacity:.4; }
