:root {
    --rojo:#c00000;
    --rojo-oscuro:#8f0000;
    --gris-900:#1f2933;
    --gris-700:#47515f;
    --gris-500:#7b8794;
    --gris-200:#e6e8ec;
    --gris-100:#f3f5f8;
    --fondo:#eef1f5;
    --blanco:#ffffff;
    --verde:#188038;
    --ambar:#f9ab00;
    --sombra:0 8px 24px rgba(15, 23, 42, .08);
    --radio:14px;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
    margin:0;
    font-family: "Century Gothic", "CenturyGothic", Calibri, Arial, Helvetica, sans-serif;
    background:linear-gradient(180deg, #f8fafc 0%, var(--fondo) 100%);
    color:#1f2933;
}

.app-header {
    background:var(--blanco);
    border-bottom:1px solid var(--gris-200);
    box-shadow:0 3px 18px rgba(0,0,0,.06);
    position:sticky;
    top:0;
    z-index:50;
}
.brand-bar {
    display:flex;
    align-items:center;
    gap:18px;
    padding:14px 24px 10px;
}
.brand-logo {
    display:flex;
    align-items:center;
    flex:0 0 auto;
    text-decoration:none;
}
.brand-logo img {
    width:210px;
    height:auto;
    display:block;
}
.brand-title h1 {
    margin:0;
    font-size:25px;
    letter-spacing:.2px;
    color:var(--gris-900);
}
.brand-title p {
    margin:4px 0 0;
    color:var(--gris-500);
    font-size:14px;
}
.main-nav {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    padding:0 24px 14px;
}
.main-nav a {
    color:var(--gris-900);
    background:#f5f6f8;
    border:1px solid var(--gris-200);
    text-decoration:none;
    padding:9px 13px;
    border-radius:999px;
    font-weight:700;
    font-size:14px;
    transition:all .15s ease;
}
.main-nav a:hover {
    background:var(--rojo);
    color:#fff;
    border-color:var(--rojo);
    transform:translateY(-1px);
}
.app-main { padding:24px; }

.panel {
    background:rgba(255,255,255,.96);
    border:1px solid var(--gris-200);
    border-radius:var(--radio);
    padding:22px;
    box-shadow:var(--sombra);
    margin-bottom:22px;
}
h2 {
    margin:0 0 18px;
    font-size:24px;
    display:flex;
    align-items:center;
    gap:10px;
    color:var(--gris-900);
}
h2::before {
    content:"";
    width:9px;
    height:28px;
    background:var(--rojo);
    border-radius:999px;
    display:inline-block;
}
.page-title-row {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    margin-bottom:10px;
}
.badge {
    background:var(--gris-900);
    color:white;
    border-radius:999px;
    padding:7px 13px;
    font-size:13px;
    font-weight:800;
    white-space:nowrap;
}

.grid-menu {
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(230px, 1fr));
    gap:18px;
}
.card {
    display:flex;
    min-height:110px;
    align-items:center;
    justify-content:center;
    text-align:center;
    background:linear-gradient(135deg, var(--rojo) 0%, var(--rojo-oscuro) 100%);
    color:white;
    text-decoration:none;
    padding:28px;
    border-radius:16px;
    font-size:20px;
    font-weight:800;
    box-shadow:0 10px 22px rgba(192,0,0,.18);
    transition:transform .16s ease, box-shadow .16s ease;
}
.card:hover {
    transform:translateY(-3px);
    box-shadow:0 16px 30px rgba(192,0,0,.25);
}

.form-inline {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:14px;
    align-items:center;
    background:#fafbfc;
    border:1px solid var(--gris-200);
    padding:12px;
    border-radius:12px;
}
.form-inline input,
.form-inline select,
.form-grid input,
.form-grid textarea,
.modal-retal-card input,
.modal-retal-card select {
    padding:9px 10px;
    border:1px solid #c9ced6;
    border-radius:8px;
    min-width:120px;
    background:#fff;
    font-size:14px;
}
.form-inline input:focus,
.form-inline select:focus,
.form-grid input:focus,
.form-grid textarea:focus,
.fabricacion-table input:focus,
.fabricacion-table select:focus {
    outline:2px solid rgba(192,0,0,.18);
    border-color:var(--rojo);
}
button, .primary {
    background:linear-gradient(135deg, var(--rojo), var(--rojo-oscuro));
    color:white;
    border:0;
    padding:10px 14px;
    border-radius:9px;
    font-weight:800;
    cursor:pointer;
    box-shadow:0 4px 12px rgba(192,0,0,.18);
}
button:hover, .primary:hover { filter:brightness(.93); }
.btn-danger { background:linear-gradient(135deg, #b00020, #7a0016) !important; }
button.secondary, .button-link {
    background:#4b5563;
    color:white;
    text-decoration:none;
    border:none;
    padding:10px 16px;
    border-radius:9px;
    font-weight:800;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}
button.secondary:hover, .button-link:hover { background:#2f3742; }

.form-grid {
    display:grid;
    grid-template-columns:repeat(2, minmax(240px, 1fr));
    gap:16px;
    max-width:900px;
}
.form-grid label { font-weight:800; display:flex; flex-direction:column; gap:6px; }
.form-grid textarea { min-height:100px; }

.table-wrap {
    overflow:auto;
    border:1px solid var(--gris-200);
    border-radius:12px;
    max-width:100%;
    background:white;
}
table {
    width:100%;
    border-collapse:separate;
    border-spacing:0;
    margin-top:12px;
    font-size:14px;
    background:white;
    border:1px solid var(--gris-200);
    border-radius:12px;
    overflow:hidden;
}
th {
    background:var(--gris-900);
    color:white;
    text-align:left;
    font-weight:800;
    white-space:nowrap;
}
th, td { border-bottom:1px solid var(--gris-200); padding:9px; vertical-align:middle; }
td { border-right:1px solid #edf0f4; }
tr:nth-child(even) td { background:#fbfcfd; }
tr:hover td { background:#fff8f8; }
tr:last-child td { border-bottom:0; }

.nota, .muted {
    color:#5e6a78;
    background:#fff8e1;
    border-left:5px solid var(--ambar);
    padding:10px 12px;
    border-radius:8px;
    font-size:13px;
    margin:8px 0 14px;
}
.alerta-ok {
    background:#e6f4ea;
    border:1px solid #6aa56a;
    color:#185c18;
    padding:12px;
    border-radius:10px;
    margin-bottom:14px;
}
.bloque-importar, .calcular {
    background:#fafbfc;
    border:1px solid var(--gris-200);
    padding:14px;
    border-radius:12px;
    margin-bottom:18px;
}
.check-inline { display:flex; align-items:center; gap:6px; }

/* Fabricación */
.fabricacion-top {
    display:grid;
    grid-template-columns:160px minmax(260px, 1fr) 125px 155px;
    gap:12px;
    margin:14px 0;
}
.fabricacion-top label { display:flex; flex-direction:column; gap:5px; font-weight:800; }
.fabricacion-top input { padding:9px; border:1px solid #c9ced6; border-radius:8px; }
.actions, .actions-top {
    display:flex;
    gap:10px;
    align-items:center;
    flex-wrap:wrap;
    margin:12px 0 16px;
}
.actions-top {
    padding:12px;
    background:#fafbfc;
    border:1px solid var(--gris-200);
    border-radius:12px;
}
.actions-top button, .actions-top .button-link { min-width:105px; }

.fabricacion-table {
    min-width:1620px !important;
    table-layout:fixed !important;
    font-size:12px !important;
    margin-top:0;
}
.fabricacion-table th { text-align:center; font-size:12px; padding:6px 3px !important; }
.fabricacion-table td { padding:3px !important; }
.fabricacion-table input,
.fabricacion-table select {
    width:100%;
    min-width:0;
    border:1px solid #c9ced6;
    border-radius:6px;
    padding:4px !important;
    font-size:12px !important;
    background:#fff;
}
.fabricacion-table input[readonly] { background:#f1f3f5; color:#333; }
.fabricacion-table .num { text-align:right; }
.fabricacion-table th:nth-child(1), .fabricacion-table td:nth-child(1) { width:130px !important; min-width:130px !important; max-width:130px !important; }
.fabricacion-table th:nth-child(2), .fabricacion-table td:nth-child(2) { width:150px !important; min-width:150px !important; max-width:150px !important; }
.fabricacion-table th:nth-child(3), .fabricacion-table td:nth-child(3) { width:70px !important; min-width:70px !important; max-width:70px !important; }
.fabricacion-table th:nth-child(4), .fabricacion-table td:nth-child(4) { width:110px !important; min-width:110px !important; max-width:110px !important; }
.fabricacion-table th:nth-child(5), .fabricacion-table td:nth-child(5) { width:95px !important; min-width:95px !important; max-width:95px !important; }
.fabricacion-table select[name="chapa"] { width:120px !important; min-width:120px !important; max-width:120px !important; }
.fabricacion-table input[name="retal"], .fabricacion-table .retal-input { width:145px !important; min-width:145px !important; max-width:145px !important; }
.fabricacion-table .ral-input { width:60px !important; min-width:60px !important; max-width:60px !important; }
.fabricacion-table select.maquina { width:100px !important; min-width:100px !important; max-width:100px !important; }
.fabricacion-table select.trabajador { width:88px !important; min-width:88px !important; max-width:88px !important; }
.total-row td { background:#eef2f7 !important; font-weight:800; }
.total-row input { font-weight:800; background:#fff3cd !important; }
.total-producto td { background:#e9f5e9 !important; }
.stock-error { border:2px solid var(--rojo) !important; background:#fff0f0 !important; }

/* Modal retal */
.modal-retal {
    position:fixed;
    inset:0;
    background:rgba(15,23,42,.45);
    z-index:9999;
    align-items:center;
    justify-content:center;
    backdrop-filter:blur(2px);
}
.modal-retal-card {
    background:white;
    border-radius:18px;
    padding:24px;
    max-width:680px;
    width:calc(100% - 40px);
    box-shadow:0 24px 70px rgba(0,0,0,.28);
}
.modal-retal-card h3 { margin-top:0; color:var(--gris-900); }
.modal-retal-card label { display:block; margin:10px 0; font-weight:800; }
.modal-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }

/* Almacenes */
.compact-form {
    margin-bottom:0 !important;
    gap:5px !important;
    flex-wrap:nowrap !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
}
.compact-form .mini-input { min-width:64px !important; width:64px !important; padding:6px !important; }
.compact-form button { padding:7px 9px !important; white-space:nowrap !important; }
.entrada-select { min-width:210px; max-width:250px; font-size:12px; }

@media (max-width: 900px) {
    .brand-bar { align-items:flex-start; flex-direction:column; }
    .brand-logo img { width:180px; }
    .fabricacion-top, .form-grid { grid-template-columns:1fr; }
    .app-main { padding:14px; }
}

/* Ajustes V34 */
.brand-logo img {
    width: 260px;
    max-height: 82px;
    object-fit: contain;
}

.entrada-almacen-form {
    display: grid;
    grid-template-columns: repeat(3, minmax(95px, 1fr)) minmax(105px, 1fr) minmax(145px, 1.2fr) minmax(160px, 1.3fr) auto;
    align-items: end;
    gap: 10px;
}

.entrada-almacen-form input,
.entrada-almacen-form select,
.compact-form input,
.compact-form select,
.compact-form button {
    height: 38px;
}

.compact-form {
    display: grid !important;
    grid-template-columns: minmax(250px, 1fr) 78px 88px;
    align-items: center;
    gap: 8px;
    min-width: 430px;
}

.compact-form .entrada-select {
    width: 100%;
    min-width: 250px;
}

.compact-form .mini-input {
    width: 78px;
    min-width: 78px;
}

.compact-form .btn-danger {
    width: 88px;
    min-width: 88px;
    padding-left: 8px;
    padding-right: 8px;
}

tr.stock-cero td {
    background: #fff1f1 !important;
}

tr.stock-uno td {
    background: #fff9db !important;
}

@media (max-width: 1200px) {
    .entrada-almacen-form {
        grid-template-columns: repeat(2, minmax(120px, 1fr));
    }
}

/* Ajustes V35 */
body, input, select, textarea, button, table {
    font-family: "Century Gothic", "CenturyGothic", AppleGothic, Calibri, Arial, sans-serif;
}
.filter-bar {
    display:flex;
    align-items:center;
    gap:10px;
    margin: 10px 0 12px;
    padding: 10px;
    background: #f7f8fa;
    border: 1px solid var(--gris-200);
    border-radius: 12px;
}
.filter-bar input {
    width: min(520px, 100%);
    height: 40px;
    padding: 9px 12px;
    border: 1px solid #c9ced6;
    border-radius: 9px;
    font-size: 14px;
    background: #fff;
}
.filter-bar input:focus {
    outline: 2px solid rgba(192,0,0,.18);
    border-color: var(--rojo);
}

/* Ajustes V38 */
.fabricacion-top {
    grid-template-columns: 145px minmax(210px, 300px) 105px 135px 105px;
    align-items:end;
}
.fabricacion-top .producto-label input {
    max-width: 300px;
}
.fabricacion-table {
    min-width: 1460px !important;
}
.fabricacion-table th:nth-child(1), .fabricacion-table td:nth-child(1) { width:100px !important; min-width:100px !important; max-width:100px !important; }
.fabricacion-table th:nth-child(2), .fabricacion-table td:nth-child(2) { width:130px !important; min-width:130px !important; max-width:130px !important; }
.fabricacion-table th:nth-child(3), .fabricacion-table td:nth-child(3) { width:65px !important; min-width:65px !important; max-width:65px !important; }
.fabricacion-table select[name="chapa"] { width:95px !important; min-width:95px !important; max-width:95px !important; }
.fabricacion-table input[name="retal"], .fabricacion-table .retal-input { width:120px !important; min-width:120px !important; max-width:120px !important; }
.link-button {
    background: transparent;
    color: var(--rojo);
    border: 0;
    box-shadow: none;
    text-decoration: underline;
    padding: 4px 6px;
    font-weight: 800;
}
.link-button:hover { filter:none; color: var(--rojo-oscuro); }
.modal-detalle {
    position: fixed;
    inset: 0;
    background: rgba(15,23,42,.45);
    z-index: 9999;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(2px);
}
.modal-detalle-card {
    background: #fff;
    width: min(900px, calc(100% - 40px));
    max-height: calc(100vh - 60px);
    overflow: auto;
    border-radius: 18px;
    padding: 22px;
    box-shadow: 0 24px 70px rgba(0,0,0,.28);
}
.modal-detalle-header {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    margin-bottom:12px;
}
.modal-detalle-header h3 { margin:0; }
.detalle-pre {
    white-space: pre-wrap;
    background: #f7f8fa;
    border: 1px solid var(--gris-200);
    border-radius: 12px;
    padding: 14px;
    font-family: "Century Gothic", "CenturyGothic", Calibri, Arial, sans-serif;
    line-height: 1.5;
}

/* Ajustes V39 */
.fabricacion-table select {
    padding-left: 3px !important;
    padding-right: 18px !important;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}
.fabricacion-table input[list] {
    padding-right: 18px !important;
}
.fabricacion-top {
    grid-template-columns: 135px minmax(180px, 260px) 95px 125px 95px !important;
}
.fabricacion-top .producto-label input {
    max-width: 260px !important;
}


/* Ajustes V40 */
body, input, select, textarea, button { font-family: "Century Gothic", "CenturyGothic", Calibri, Arial, Helvetica, sans-serif; }

/* 1 punto menos dentro de campos */
input, select, textarea { font-size: 13px !important; }
.fabricacion-table input,
.fabricacion-table select { font-size: 11px !important; padding: 3px 18px 3px 3px !important; }
.fabricacion-table input { padding-right: 4px !important; }

/* Producto algo más grande manteniendo la línea superior compacta */
.fabricacion-top {
    grid-template-columns: 132px minmax(240px, 340px) 90px 120px 90px !important;
    gap: 9px !important;
}
.fabricacion-top .producto-label input { max-width: 340px !important; }
.fabricacion-top input { height: 34px; padding: 7px 8px !important; }

/* Selects con más espacio para que la flecha no tape texto */
.fabricacion-table select {
    appearance: auto;
    text-overflow: clip;
}
.fabricacion-table select[name="chapa"] { width: 98px !important; min-width:98px !important; max-width:98px !important; }
.fabricacion-table input[name="retal"], .fabricacion-table .retal-input { width: 122px !important; min-width:122px !important; max-width:122px !important; }
.fabricacion-table select.maquina { width: 98px !important; min-width:98px !important; max-width:98px !important; }
.fabricacion-table select.trabajador { width: 86px !important; min-width:86px !important; max-width:86px !important; }

/* Inicio más visual */
.inicio-hero {
    background: linear-gradient(135deg, #ffffff 0%, #f7f9fc 55%, #fff2f2 100%);
    border: 1px solid var(--gris-200);
    border-radius: 22px;
    padding: 26px;
    margin-bottom: 22px;
    box-shadow: var(--sombra);
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
}
.inicio-hero h2 { margin-bottom: 8px; }
.inicio-hero p { margin:0; color:var(--gris-700); font-size:15px; }
.inicio-logo-mark {
    width: 88px;
    height: 88px;
    border-radius: 24px;
    background: #fff;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
    border:1px solid var(--gris-200);
    flex:0 0 auto;
}
.inicio-logo-mark img { max-width:70px; max-height:70px; }
.grid-menu.moderno { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
.card-modern {
    position:relative;
    min-height: 150px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    background: #fff;
    color: var(--gris-900);
    border:1px solid var(--gris-200);
    text-decoration:none;
    padding:20px;
    border-radius:20px;
    box-shadow: var(--sombra);
    overflow:hidden;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.card-modern::after {
    content:"";
    position:absolute;
    width:110px;
    height:110px;
    right:-32px;
    bottom:-32px;
    background: rgba(192,0,0,.08);
    border-radius:999px;
}
.card-modern:hover {
    transform:translateY(-4px);
    box-shadow:0 18px 38px rgba(15,23,42,.13);
    border-color: rgba(192,0,0,.35);
}
.card-modern .icono {
    width:52px;
    height:52px;
    border-radius:16px;
    background: linear-gradient(135deg, var(--rojo), var(--rojo-oscuro));
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:26px;
    box-shadow:0 8px 18px rgba(192,0,0,.20);
    z-index:1;
}
.card-modern strong { font-size:19px; z-index:1; }
.card-modern span { color:var(--gris-500); font-size:13px; font-weight:700; z-index:1; }


/* Ajustes V41 */
body {
    background:
        radial-gradient(circle at 12% 8%, rgba(192,0,0,.12), transparent 28%),
        radial-gradient(circle at 88% 18%, rgba(31,41,51,.10), transparent 30%),
        linear-gradient(135deg, #f7f9fc 0%, #eef1f5 48%, #fdf2f2 100%) !important;
    background-attachment: fixed;
}
/* Fondo más vistoso solo para la pantalla de inicio */
body:has(.inicio-hero) .app-main {
    background:
        linear-gradient(rgba(255,255,255,.70), rgba(255,255,255,.88)),
        radial-gradient(circle at top left, rgba(192,0,0,.18), transparent 32%),
        radial-gradient(circle at bottom right, rgba(31,41,51,.12), transparent 35%);
    border-radius: 24px;
    margin: 18px;
    min-height: calc(100vh - 170px);
}
.inicio-hero {
    background:
        linear-gradient(135deg, rgba(255,255,255,.95), rgba(255,246,246,.92)),
        repeating-linear-gradient(45deg, rgba(192,0,0,.025) 0 10px, transparent 10px 20px) !important;
}
.card-modern {
    background: linear-gradient(145deg, #ffffff 0%, #fffafa 100%) !important;
}
/* Mejor encaje en Fabricación */
.fabricacion-top {
    grid-template-columns: 132px minmax(300px, 420px) 90px 120px 90px !important;
    gap: 9px !important;
}
.fabricacion-top .producto-label input { max-width: 420px !important; }
.fabricacion-table { min-width: 1460px !important; }
.fabricacion-table th:nth-child(1), .fabricacion-table td:nth-child(1) { width:120px !important; min-width:120px !important; max-width:120px !important; }
.fabricacion-table th:nth-child(2), .fabricacion-table td:nth-child(2) { width:125px !important; min-width:125px !important; max-width:125px !important; }
.fabricacion-table th:nth-child(3), .fabricacion-table td:nth-child(3) { width:62px !important; min-width:62px !important; max-width:62px !important; }
.fabricacion-table th:nth-child(4), .fabricacion-table td:nth-child(4) { width:108px !important; min-width:108px !important; max-width:108px !important; }
.fabricacion-table select[name="chapa"] { width:115px !important; min-width:115px !important; max-width:115px !important; }
.fabricacion-table input[name="retal"], .fabricacion-table .retal-input { width:118px !important; min-width:118px !important; max-width:118px !important; }
.fabricacion-table .ral-input { width:56px !important; min-width:56px !important; max-width:56px !important; }
.fabricacion-table select.maquina { width:98px !important; min-width:98px !important; max-width:98px !important; }
/* Mantener 1 punto menos dentro de los campos */
input, select, textarea { font-size: 13px !important; }
.fabricacion-table input, .fabricacion-table select { font-size: 11px !important; }

/* V42 */
.inicio-hero-v42 {
  background:
    linear-gradient(135deg, rgba(0,159,227,.12), rgba(112,182,44,.10)),
    radial-gradient(circle at top right, rgba(0,159,227,.25), transparent 35%),
    #ffffff;
  border: 1px solid rgba(0,159,227,.18);
  box-shadow: 0 18px 45px rgba(0,0,0,.08);
}
.ultima-fabricacion { display:inline-block; margin-top:14px; padding:10px 14px; border-radius:999px; background:#eef8fd; color:#006b9a; text-decoration:none; font-weight:700; }
.dashboard-grid { display:grid; grid-template-columns: repeat(2, minmax(280px, 1fr)); gap:18px; margin-bottom:18px; }
.dashboard-card { margin:0; }
.dash-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; flex-wrap:wrap; }
.dash-head h3 { margin:0; color:#1f2937; }
.periodo-switch { display:flex; gap:6px; }
.periodo-switch a { padding:6px 10px; border-radius:999px; border:1px solid #d7dee8; text-decoration:none; color:#415166; font-size:12px; font-weight:700; background:white; }
.periodo-switch a.active { background:#009fe3; color:white; border-color:#009fe3; }
.chart-row { display:flex; align-items:center; gap:18px; margin-top:12px; }
.pie-chart { width:145px; height:145px; border-radius:50%; flex:0 0 auto; box-shadow: inset 0 0 0 10px rgba(255,255,255,.55), 0 8px 22px rgba(0,0,0,.12); }
.pie-chart.donut { position:relative; }
.pie-chart.donut::after { content:""; position:absolute; inset:34px; background:white; border-radius:50%; box-shadow: inset 0 0 0 1px #e6e9ee; }
.leyenda-chart { display:flex; flex-direction:column; gap:7px; font-size:13px; color:#334155; }
.leyenda-chart span { display:inline-block; width:12px; height:12px; border-radius:3px; margin-right:7px; vertical-align:-1px; }
.fabricacion-top { grid-template-columns: 130px minmax(260px, 1.1fr) 85px 105px 90px 120px 100px minmax(220px, .9fr) !important; }
.fabricacion-top .producto-label input { max-width:none !important; }
.fabricacion-top .observaciones-label input { min-width:220px; }
.fabricacion-table select[name="chapa"] { width:128px !important; min-width:128px !important; max-width:128px !important; }
.fabricacion-table input[name="retal"], .fabricacion-table .retal-input { width:112px !important; min-width:112px !important; max-width:112px !important; }
.fabricacion-table .ral-input { width:54px !important; min-width:54px !important; max-width:54px !important; }
.fabricacion-table select.maquina { width:104px !important; min-width:104px !important; max-width:104px !important; }
@media (max-width: 1100px){ .dashboard-grid { grid-template-columns:1fr; } .chart-row{align-items:flex-start;} .fabricacion-top{grid-template-columns:1fr 1fr !important;} }


/* V44: ajustes de almacenes, fabricación e inicio */
.entrada-almacen-form {
    grid-template-columns: 132px 118px 70px 70px 68px 88px 96px 118px auto !important;
    gap: 6px !important;
    align-items: end !important;
}
.entrada-almacen-form input,
.entrada-almacen-form select {
    min-width: 0 !important;
    width: 100% !important;
    height: 34px !important;
    padding: 6px 7px !important;
    font-size: 12px !important;
}
.entrada-almacen-form button {
    height: 34px !important;
    padding: 6px 10px !important;
    white-space: nowrap !important;
}
.fabricacion-top .producto-label input { max-width: 480px !important; }
.fabricacion-table select[name="chapa"] { width: 140px !important; min-width:140px !important; max-width:140px !important; }
.fabricacion-table select.maquina { margin-left: 8px !important; }
body:has(.inicio-hero) {
    background:
      radial-gradient(circle at 15% 10%, rgba(0,159,227,.22), transparent 28%),
      radial-gradient(circle at 85% 0%, rgba(112,182,44,.20), transparent 30%),
      linear-gradient(135deg, #f3f9fc 0%, #eef7f2 48%, #ffffff 100%) !important;
}
body:has(.inicio-hero) .app-header {
    background: rgba(255,255,255,.88) !important;
    backdrop-filter: blur(8px);
    border-bottom: 1px solid rgba(0,159,227,.14);
}
.inicio-hero-v42 {
    background:
      linear-gradient(135deg, rgba(255,255,255,.92), rgba(240,249,255,.86)),
      radial-gradient(circle at top right, rgba(0,159,227,.32), transparent 36%),
      radial-gradient(circle at bottom left, rgba(112,182,44,.22), transparent 30%) !important;
}
.card-modern {
    background: rgba(255,255,255,.92) !important;
    border: 1px solid rgba(0,159,227,.14) !important;
    box-shadow: 0 14px 28px rgba(15,23,42,.08) !important;
}
@media (max-width: 1200px) {
  .entrada-almacen-form { grid-template-columns: repeat(4, minmax(90px, 1fr)) !important; }
}

/* V46: botones de añadir más pequeños y colores de stock más visibles */
.entrada-almacen-form button.primary {
    height: 28px !important;
    padding: 4px 8px !important;
    font-size: 11px !important;
    white-space: nowrap !important;
    min-width: 76px !important;
}
tr.stock-cero td {
    background: #ffdede !important;
}
tr.stock-uno td {
    background: #fff2a8 !important;
}


/* Ajustes V47 */
.add-stock-btn {
    width: 54px !important;
    min-width: 54px !important;
    padding: 7px 6px !important;
    font-size: 12px !important;
    border-radius: 7px !important;
}
tr.stock-cero td {
    background: #ffdede !important;
}
tr.stock-uno td {
    background: #fff0a8 !important;
}

.bloque-peligro {
    border: 1px solid #f0caca;
    background: #fff7f7;
}
.btn-danger {
    background: #b42318 !important;
    color: white !important;
    border: none;
}
.btn-danger:hover {
    background: #8f1d15 !important;
}


/* V51: botón Añadir stock compacto */
.entrada-almacen-form button.primary.add-stock-btn {
    width: 62px !important;
    min-width: 62px !important;
    max-width: 62px !important;
    height: 28px !important;
    padding: 3px 4px !important;
    font-size: 10px !important;
    line-height: 1.05 !important;
    white-space: normal !important;
}


/* V52: formulario de entrada de chapa más ancho y alineado */
.entrada-almacen-form.chapa-entry-form {
    display: grid !important;
    grid-template-columns: 205px 150px 100px 100px 95px 130px 150px 190px 70px !important;
    gap: 9px !important;
    align-items: end !important;
    overflow-x: auto;
}
.entrada-almacen-form.chapa-entry-form input,
.entrada-almacen-form.chapa-entry-form select {
    min-width: 0 !important;
    width: 100% !important;
    font-size: 13px !important;
}
.entrada-almacen-form.chapa-entry-form .add-stock-btn {
    justify-self: end !important;
    align-self: center !important;
}
@media (max-width: 1250px) {
    .entrada-almacen-form.chapa-entry-form {
        grid-template-columns: repeat(4, minmax(145px, 1fr)) !important;
    }
}

/* V56: Fabricación, dashboard y gastos generales */
.fabricacion-table select[name="chapa"] { width:106px !important; min-width:106px !important; max-width:106px !important; }
.fabricacion-table input[name="retal"], .fabricacion-table .retal-input { width:158px !important; min-width:158px !important; max-width:158px !important; }
.summary-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:14px; margin:12px 0 20px; }
.summary-card { background:#f7f8fa; border:1px solid #dfe3e8; border-radius:10px; padding:14px 16px; display:flex; flex-direction:column; gap:4px; }
.summary-card span { color:#59636e; font-size:13px; font-weight:700; }
.summary-card strong { font-size:24px; }
.summary-card small { color:#6d7680; }
.small-button { padding:6px 12px !important; min-width:auto !important; }
.alert.success { background:#e9f7ef; border:1px solid #b8dfc8; color:#205c36; padding:10px 12px; border-radius:8px; margin-bottom:14px; }


/* V57: fecha de fabricación y anchos corregidos */
.fabricacion-top { grid-template-columns: 130px 145px minmax(260px, 1.1fr) 85px 105px 90px 120px 100px minmax(220px, .9fr) !important; }
.fabricacion-table input[name="retal"], .fabricacion-table .retal-input { width:112px !important; min-width:112px !important; max-width:112px !important; }
.fabricacion-table .ral-input { width:98px !important; min-width:98px !important; max-width:98px !important; }
@media (max-width: 1250px){ .fabricacion-top{grid-template-columns:1fr 1fr 2fr 1fr 1fr !important;} }
@media (max-width: 760px){ .fabricacion-top{grid-template-columns:1fr !important;} }


/* V58: maquetación final de Fabricación */
.fabricacion-top {
    grid-template-columns: 130px 112px minmax(390px, 1.8fr) 85px 105px 90px 120px 100px !important;
    align-items: end !important;
}
.fabricacion-top .producto-label input {
    width: 100% !important;
    max-width: none !important;
}
.fabricacion-top .observaciones-label {
    grid-column: 1 / -1 !important;
}
.fabricacion-top .observaciones-label textarea {
    width: 100% !important;
    min-height: 58px !important;
    resize: vertical;
    padding: 9px !important;
    border: 1px solid #c9ced6;
    border-radius: 8px;
    box-sizing: border-box;
    font: inherit;
}
.fabricacion-table input[name="retal"],
.fabricacion-table .retal-input {
    width: 88px !important;
    min-width: 88px !important;
    max-width: 88px !important;
}
.fabricacion-table .ral-input {
    width: 126px !important;
    min-width: 126px !important;
    max-width: 126px !important;
}
@media (max-width: 1250px) {
    .fabricacion-top { grid-template-columns: 130px 112px minmax(320px, 2fr) 1fr 1fr !important; }
    .fabricacion-top .observaciones-label { grid-column: 1 / -1 !important; }
}
@media (max-width: 760px) {
    .fabricacion-top { grid-template-columns: 1fr !important; }
    .fabricacion-top .observaciones-label { grid-column: 1 !important; }
}

.observaciones-detalle {
    margin: 12px 0;
    padding: 12px;
    border: 1px solid #d9d9d9;
    border-radius: 8px;
    background: #fafafa;
    overflow-wrap: anywhere;
}
.observacion-link {
    display: inline-block;
    margin-left: 12px;
    padding: 6px 12px;
}


.observaciones-texto {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

/* V61 - Tarifas editables en Configuración */
.tarifas-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 12px;
  margin: 10px 0 18px;
}
.tarifas-grid label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-weight: 600;
}
.tarifas-grid input {
  width: 100%;
}
.user-session{display:flex;align-items:center;gap:14px;margin-left:auto;padding:0 22px 10px;color:#fff}.user-session a{color:#fff;text-decoration:underline}.login-body{min-height:100vh;display:grid;place-items:center;background:#f1f3f5;margin:0}.login-card{width:min(420px,92vw);background:#fff;padding:34px;border-radius:16px;box-shadow:0 18px 55px rgba(0,0,0,.16);text-align:center}.login-logo{max-width:220px;max-height:80px;object-fit:contain}.login-form{display:grid;gap:18px;text-align:left;margin-top:24px}.login-form label{display:grid;gap:7px;font-weight:700}.login-form input,.login-form select{width:100%;box-sizing:border-box;padding:12px}.alerta-error{background:#ffe7e7;color:#9b1c1c;padding:11px;border-radius:8px}.filter-bar-avanzado{display:grid;grid-template-columns:minmax(190px,2fr) minmax(145px,1.1fr) minmax(120px,.9fr) minmax(145px,1.2fr) minmax(105px,.8fr) minmax(105px,.8fr) auto auto;gap:8px;align-items:center;margin:12px 0}.filter-bar-avanzado input,.filter-bar-avanzado select{min-width:0;width:100%;box-sizing:border-box}.filter-count{font-weight:700;white-space:nowrap}.inicio-sesion{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:14px}.btn-cerrar-sesion{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:8px;background:#9e1b20;color:#fff;text-decoration:none;font-weight:700}.btn-cerrar-sesion:hover{background:#741317;color:#fff}.config-recursos-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:22px}.recurso-form{display:grid;gap:10px;padding:16px;background:#f6f7f8;border-radius:10px}.recurso-form label{display:grid;gap:5px}.tarifa-linea{display:grid;grid-template-columns:1fr 110px auto;gap:8px;align-items:center;margin:7px 0}.tarifa-linea input{width:100%}@media(max-width:900px){.filter-bar-avanzado,.config-recursos-grid{grid-template-columns:1fr}.user-session{padding:8px 12px}}

.tarifa-recurso-fila{display:flex;align-items:center;gap:8px;margin-bottom:8px}.tarifa-recurso-fila .tarifa-linea{flex:1;margin:0}.tarifa-recurso-fila form:last-child{margin:0}.tarifa-recurso-fila .btn-danger{padding:8px 12px}
.metricas-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px;margin:18px 0}.metrica-card{background:#fff;border:1px solid #dfe6ea;border-radius:12px;padding:16px;box-shadow:0 4px 14px rgba(0,0,0,.05)}.metrica-card span{display:block;color:#68737d;font-size:.9rem}.metrica-card strong{display:block;font-size:1.45rem;margin-top:6px}.acciones-producto{display:flex;gap:7px;align-items:center}.acciones-producto form{margin:0}.full-width{grid-column:1/-1}.editar-producto-form{grid-template-columns:repeat(3,minmax(180px,1fr))}.acciones-form{display:flex;gap:10px}.backup-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.backup-actions form{display:flex;gap:8px;align-items:center}.texto-largo{max-width:320px;white-space:pre-wrap;word-break:break-word}.alerta-info{background:#eef7ff;border:1px solid #9fd0f1;padding:12px;border-radius:8px;margin-bottom:15px}.campo-adjunto small{display:block;color:#6c757d;margin-top:4px}@media(max-width:1000px){.metricas-grid{grid-template-columns:repeat(2,1fr)}.editar-producto-form{grid-template-columns:1fr}}

/* V66: observaciones compactas y adjuntos multiples */
.fabricacion-top .observaciones-adjuntos-row{
    grid-column:1 / -1 !important;
    display:grid;
    grid-template-columns:minmax(360px, 1.2fr) minmax(360px, .8fr);
    gap:16px;
    align-items:start;
}
.fabricacion-top .observaciones-adjuntos-row .observaciones-label{
    grid-column:auto !important;
}
.fabricacion-top .observaciones-adjuntos-row .observaciones-label textarea{
    min-height:72px !important;
    max-height:120px;
}
.fabricacion-top .campo-adjunto{
    border:1px solid #d9e0e5;
    border-radius:10px;
    padding:10px;
    background:#f8fafb;
    min-height:72px;
    box-sizing:border-box;
}
.fabricacion-top .campo-adjunto input[type="file"]{
    width:100%;
    height:auto !important;
    padding:4px !important;
}
.lista-adjuntos-previa{display:flex;flex-direction:column;gap:6px;margin-top:8px;max-height:150px;overflow:auto}
.adjunto-previo-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 8px;background:#fff;border:1px solid #dfe5e9;border-radius:7px;font-weight:500}
.adjunto-previo-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.btn-quitar-adjunto{padding:4px 8px !important;font-size:.78rem;background:#b42318 !important;color:#fff !important;border:none !important;border-radius:6px !important;flex:0 0 auto}
.adjunto-vacio{font-size:.85rem;color:#77818a;padding:5px 0}
.adjuntos-detalle{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;padding:12px;border:1px solid #d9d9d9;border-radius:8px}
@media(max-width:900px){.fabricacion-top .observaciones-adjuntos-row{grid-template-columns:1fr}}


/* Regularización de almacenes */
.regularizacion-form {
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:6px !important;
    min-width:270px;
}
.regularizacion-linea {
    display:flex;
    align-items:center;
    gap:6px;
    flex-wrap:nowrap;
}
.regularizacion-form .regularizacion-cantidad,
.regularizacion-form .regularizacion-precio {
    width:78px !important;
    min-width:78px !important;
}
.regularizacion-form .regularizacion-motivo {
    width:100% !important;
    min-width:0 !important;
    box-sizing:border-box;
    padding:6px !important;
}

/* V71 - Acabado visual redondeado */
.regularizacion-form input,
.regularizacion-form select,
.regularizacion-form textarea {
    border-radius:12px !important;
    border:1px solid #cfd5dc !important;
    background:#fff !important;
    box-shadow:inset 0 1px 2px rgba(15,23,42,.04);
    transition:border-color .15s ease, box-shadow .15s ease;
}
.regularizacion-form input:focus,
.regularizacion-form select:focus,
.regularizacion-form textarea:focus {
    outline:none !important;
    border-color:var(--rojo) !important;
    box-shadow:0 0 0 3px rgba(192,0,0,.12) !important;
}
.regularizacion-form .regularizacion-cantidad,
.regularizacion-form .regularizacion-precio {
    height:36px;
    padding:7px 9px !important;
}
.regularizacion-form .regularizacion-motivo {
    height:38px;
    padding:8px 11px !important;
}
.regularizacion-linea button {
    height:36px;
    border-radius:12px !important;
    white-space:nowrap;
}

.filter-bar-avanzado {
    padding:12px;
    background:linear-gradient(180deg,#fbfcfd 0%,#f4f6f8 100%);
    border:1px solid #dfe4e9;
    border-radius:16px;
    box-shadow:0 4px 14px rgba(15,23,42,.04);
}
.filter-bar-avanzado input,
.filter-bar-avanzado select {
    height:40px;
    padding:8px 12px;
    border:1px solid #cfd5dc;
    border-radius:12px !important;
    background:#fff;
    font-size:13px;
    transition:border-color .15s ease, box-shadow .15s ease;
}
.filter-bar-avanzado input:focus,
.filter-bar-avanzado select:focus {
    outline:none;
    border-color:var(--rojo);
    box-shadow:0 0 0 3px rgba(192,0,0,.11);
}
.filter-bar-avanzado button {
    height:40px;
    border-radius:12px !important;
}
.filter-count {
    padding:7px 10px;
    border-radius:999px;
    background:#fff;
    border:1px solid #dfe4e9;
    color:#56616d;
    text-align:center;
}

/* Ventana Editar producto fabricado */
.editar-producto-panel {
    max-width:1180px;
    margin:0 auto 24px;
    padding:0;
    overflow:hidden;
}
.editar-producto-cabecera {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:25px 28px 21px;
    background:linear-gradient(135deg,#202934 0%,#35404d 100%);
    color:#fff;
}
.editar-producto-cabecera h2 {
    color:#fff;
    margin:5px 0 5px;
}
.editar-producto-cabecera h2::before { background:#fff; }
.editar-producto-cabecera p { margin:0; color:#dce2e8; font-size:14px; }
.editar-producto-etiqueta {
    display:inline-flex;
    padding:5px 10px;
    border-radius:999px;
    background:rgba(255,255,255,.13);
    border:1px solid rgba(255,255,255,.22);
    font-size:11px;
    font-weight:800;
    letter-spacing:1.1px;
}
.editar-volver { background:rgba(255,255,255,.14) !important; border:1px solid rgba(255,255,255,.25) !important; }
.editar-volver:hover { background:rgba(255,255,255,.24) !important; }
.editar-aviso { margin:20px 28px 0; border-radius:13px; }
.editar-producto-card { display:block; padding:20px 28px 28px; }
.editar-seccion {
    padding:19px;
    margin-bottom:16px;
    border:1px solid #e0e5ea;
    border-radius:16px;
    background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%);
    box-shadow:0 4px 14px rgba(15,23,42,.035);
}
.editar-seccion-titulo {
    display:flex;
    align-items:center;
    gap:11px;
    margin-bottom:16px;
    padding-bottom:13px;
    border-bottom:1px solid #edf0f3;
}
.editar-seccion-titulo > span {
    width:31px;
    height:31px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    border-radius:50%;
    background:var(--rojo);
    color:#fff;
    font-weight:900;
}
.editar-seccion-titulo div { display:flex; flex-direction:column; gap:2px; }
.editar-seccion-titulo strong { font-size:16px; color:#26313d; }
.editar-seccion-titulo small { font-size:12px; color:#79838e; font-weight:500; }
.editar-grid { display:grid; gap:15px; }
.editar-grid-principal { grid-template-columns:170px minmax(280px,1fr) 150px; }
.editar-grid-destino { grid-template-columns:repeat(2,minmax(250px,1fr)); }
.editar-grid-documentacion { grid-template-columns:minmax(300px,1.1fr) minmax(300px,.9fr); align-items:stretch; }
.editar-grid label {
    display:flex;
    flex-direction:column;
    gap:7px;
    color:#38434f;
    font-size:13px;
    font-weight:800;
}
.editar-grid input,
.editar-grid textarea,
.editar-grid select {
    width:100%;
    border:1px solid #cfd5dc;
    border-radius:12px;
    background:#fff;
    padding:11px 12px;
    font-size:14px;
    color:#202933;
    box-shadow:inset 0 1px 2px rgba(15,23,42,.035);
    transition:border-color .15s ease, box-shadow .15s ease;
}
.editar-grid input { height:43px; }
.editar-grid textarea { min-height:135px; resize:vertical; line-height:1.45; }
.editar-grid input:focus,
.editar-grid textarea:focus,
.editar-grid select:focus {
    outline:none;
    border-color:var(--rojo);
    box-shadow:0 0 0 3px rgba(192,0,0,.11);
}
.editar-adjuntos-caja {
    display:flex;
    flex-direction:column;
    justify-content:center;
    flex:1;
    min-height:135px;
    padding:16px;
    border:1px dashed #adb7c1;
    border-radius:14px;
    background:#f7f9fb;
}
.editar-adjuntos-caja input[type="file"] { height:auto; padding:9px; background:#fff; }
.editar-adjuntos-caja small { margin-top:9px; color:#6e7985; font-weight:500; line-height:1.4; }
.editar-acciones {
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:10px;
    padding-top:3px;
}
.editar-acciones button,
.editar-acciones .button-link { min-width:145px; border-radius:12px; }
@media(max-width:850px){
    .editar-producto-cabecera{align-items:flex-start;flex-direction:column}
    .editar-grid-principal,.editar-grid-destino,.editar-grid-documentacion{grid-template-columns:1fr}
    .editar-aviso{margin-left:16px;margin-right:16px}
    .editar-producto-card{padding-left:16px;padding-right:16px}
    .editar-acciones{flex-direction:column-reverse}
    .editar-acciones button,.editar-acciones .button-link{width:100%}
}

/* V72 - Edición más limpia y redondeado real */
.editar-producto-card{
    display:grid;
    grid-template-columns:1fr;
    gap:18px;
}
.editar-bloque{
    padding:22px;
    border:1px solid #dde3e8;
    border-radius:22px;
    background:#fff;
    box-shadow:0 8px 24px rgba(15,23,42,.055);
}
.editar-bloque-cabecera{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px;
    margin-bottom:18px;
    padding-bottom:14px;
    border-bottom:1px solid #edf0f3;
}
.editar-bloque-cabecera h3{
    margin:0 0 4px;
    color:#26313d;
    font-size:18px;
}
.editar-bloque-cabecera p{
    margin:0;
    color:#7a8590;
    font-size:13px;
}
.editar-grid-principal{
    grid-template-columns:170px minmax(280px,1fr) 150px;
}
.editar-grid-principal label:nth-child(4),
.editar-grid-principal label:nth-child(5){
    grid-column:span 1;
}
.editar-grid-principal label:nth-child(4){grid-column:1 / 3;}
.editar-grid-principal label:nth-child(5){grid-column:3 / 4;}
.editar-producto-form label{
    display:flex;
    flex-direction:column;
    gap:8px;
    color:#394550;
    font-size:13px;
    font-weight:800;
}
.editar-producto-form input:not([type="file"]),
.editar-producto-form select,
.editar-producto-form textarea{
    width:100%;
    box-sizing:border-box;
    border:1px solid #cbd3da !important;
    border-radius:18px !important;
    background:#fff;
    padding:12px 15px !important;
    font-size:14px;
    color:#202933;
    box-shadow:inset 0 1px 2px rgba(15,23,42,.035);
    transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.editar-producto-form input:not([type="file"]){height:46px;}
.editar-producto-form textarea{
    min-height:155px;
    resize:vertical;
    line-height:1.5;
}
.editar-producto-form input:focus,
.editar-producto-form select:focus,
.editar-producto-form textarea:focus{
    outline:none;
    border-color:var(--rojo) !important;
    box-shadow:0 0 0 4px rgba(192,0,0,.1) !important;
    background:#fff;
}
.editar-campo-completo{width:100%;}
.editar-adjuntos-caja{
    min-height:150px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
    text-align:center;
    padding:24px;
    border:2px dashed #b8c2cc;
    border-radius:22px;
    background:linear-gradient(180deg,#fafbfd 0%,#f4f7f9 100%);
}
.editar-adjuntos-icono{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:var(--rojo);
    color:#fff;
    font-size:26px;
    line-height:1;
}
.editar-adjuntos-caja input[type="file"]{
    width:min(100%,520px);
    padding:10px;
    border:1px solid #d6dde3;
    border-radius:16px;
    background:#fff;
}
.editar-adjuntos-caja small{
    max-width:620px;
    color:#6f7a85;
    font-weight:500;
    line-height:1.45;
}
.editar-acciones{
    padding-top:0;
}
.editar-acciones button,
.editar-acciones .button-link{
    border-radius:999px !important;
    min-height:44px;
    padding:11px 22px;
}

/* Regularización con acabado tipo cápsula */
.regularizacion-form input.regularizacion-cantidad,
.regularizacion-form input.regularizacion-precio,
.regularizacion-form input.regularizacion-motivo{
    border-radius:999px !important;
    border:1px solid #cbd3da !important;
    background:#fff !important;
    box-shadow:inset 0 1px 2px rgba(15,23,42,.035) !important;
}
.regularizacion-form input.regularizacion-cantidad,
.regularizacion-form input.regularizacion-precio{
    height:38px !important;
    padding:7px 13px !important;
}
.regularizacion-form input.regularizacion-motivo{
    height:40px !important;
    padding:8px 15px !important;
}
.regularizacion-form .regularizacion-linea button{
    height:38px !important;
    border-radius:999px !important;
    padding-left:16px !important;
    padding-right:16px !important;
}

@media(max-width:850px){
    .editar-grid-principal{grid-template-columns:1fr;}
    .editar-grid-principal label:nth-child(4),
    .editar-grid-principal label:nth-child(5){grid-column:auto;}
    .editar-bloque{padding:17px;border-radius:18px;}
}

/* V74 - Alineación de unidad de medida y nuevo panel inicial */
.fabricacion-top {
    grid-template-columns: 130px 112px minmax(330px, 1.8fr) 115px 155px 115px 125px 150px 150px !important;
    align-items:end !important;
}
.fabricacion-top > label {
    min-width:0;
    align-self:end;
}
.fabricacion-top > label input,
.fabricacion-top > label select {
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:38px !important;
    box-sizing:border-box;
    border-radius:10px;
}
.fabricacion-top label:nth-of-type(4),
.fabricacion-top label:nth-of-type(5),
.fabricacion-top label:nth-of-type(6),
.fabricacion-top label:nth-of-type(7) {
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
}
.fabricacion-top #unidadMedida {
    padding:7px 10px !important;
}

.inicio-accesos {
    margin:0 0 20px;
    padding:16px;
    border-radius:20px;
    background:rgba(255,255,255,.82);
    backdrop-filter:blur(5px);
}
.inicio-accesos .grid-menu.moderno {
    grid-template-columns:repeat(5,minmax(150px,1fr));
    gap:16px;
}
.inicio-accesos .card-modern {
    min-height:145px;
    padding:20px 16px;
    gap:12px;
    border-radius:16px;
    justify-content:flex-start;
}
.inicio-accesos .card-modern .icono {
    width:58px;
    height:58px;
    border-radius:16px;
    font-size:31px;
}
.inicio-accesos .card-modern strong {
    font-size:17px;
    line-height:1.15;
}
.inicio-accesos .card-modern span:last-child {
    font-size:12px;
    line-height:1.3;
}

.resumen-fabricacion {
    margin:20px 0;
    padding:20px;
    border:1px solid #dfe5ea;
    border-radius:22px;
    background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(248,250,252,.96));
    box-shadow:0 12px 30px rgba(15,23,42,.07);
}
.resumen-cabecera {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:15px;
}
.resumen-cabecera h3 {
    margin:3px 0 0;
    color:#27313c;
    font-size:20px;
}
.resumen-eyebrow {
    color:var(--rojo);
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.resumen-periodo {
    padding:7px 12px;
    border-radius:999px;
    background:#eef2f5;
    color:#5d6974;
    font-size:12px;
    font-weight:800;
}
.metricas-grid-mejorado {
    grid-template-columns:repeat(4,minmax(160px,1fr));
    gap:12px;
    margin:0;
}
.metricas-grid-mejorado .metrica-card {
    position:relative;
    overflow:hidden;
    min-height:105px;
    padding:17px 18px;
    border-radius:18px;
    box-shadow:none;
    transition:transform .15s ease,box-shadow .15s ease;
}
.metricas-grid-mejorado .metrica-card:hover {
    transform:translateY(-2px);
    box-shadow:0 10px 24px rgba(15,23,42,.09);
}
.metricas-grid-mejorado .metrica-card::after {
    content:"";
    position:absolute;
    right:-25px;
    bottom:-35px;
    width:95px;
    height:95px;
    border-radius:50%;
    background:rgba(255,255,255,.45);
}
.metricas-grid-mejorado .metrica-card span {
    font-weight:800;
    color:#5f6c77;
}
.metricas-grid-mejorado .metrica-card strong {
    position:relative;
    z-index:1;
    margin-top:7px;
    font-size:1.55rem;
    color:#202a34;
}
.metricas-grid-mejorado .metrica-card small {
    position:relative;
    z-index:1;
    display:block;
    margin-top:5px;
    color:#7a8590;
    font-size:11px;
}
.metrica-produccion { background:linear-gradient(145deg,#ffffff,#f4f8fb) !important; border-color:#d9e5ec !important; }
.metrica-coste { background:linear-gradient(145deg,#fff9f0,#fff3df) !important; border-color:#f0d8ad !important; }
.metrica-venta { background:linear-gradient(145deg,#f3fbff,#e8f6fd) !important; border-color:#bddfec !important; }
.metrica-margen { background:linear-gradient(145deg,#f2fbf4,#e7f7eb) !important; border-color:#bfe0c8 !important; }

@media(max-width:1350px){
    .fabricacion-top{grid-template-columns:130px 112px minmax(260px,1.5fr) repeat(3,minmax(105px,1fr)) !important;}
    .fabricacion-top .observaciones-adjuntos-row{grid-column:1/-1 !important;}
    .inicio-accesos .grid-menu.moderno{grid-template-columns:repeat(4,minmax(150px,1fr));}
}
@media(max-width:900px){
    .fabricacion-top{grid-template-columns:1fr 1fr !important;}
    .inicio-accesos .grid-menu.moderno{grid-template-columns:repeat(2,minmax(145px,1fr));}
    .metricas-grid-mejorado{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:560px){
    .fabricacion-top{grid-template-columns:1fr !important;}
    .inicio-accesos .grid-menu.moderno,.metricas-grid-mejorado{grid-template-columns:1fr;}
    .resumen-cabecera{align-items:flex-start;flex-direction:column;}
}

/* V75 - Filtro de fechas del dashboard */
.metricas-grid-mejorado{
    grid-template-columns:repeat(4,minmax(180px,1fr));
}
.metrica-filtro-fechas{
    grid-column:span 1;
    background:linear-gradient(145deg,#f7f8fa,#eef1f4);
    border-color:#cfd6dd;
}
.dashboard-fecha-form{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-top:10px;
}
.dashboard-fecha-form label{
    display:flex;
    flex-direction:column;
    gap:4px;
    color:#59636d;
    font-size:.75rem;
    font-weight:700;
}
.dashboard-fecha-form input{
    width:100%;
    box-sizing:border-box;
    height:38px;
    padding:7px 9px;
    border:1px solid #c9ced6;
    border-radius:8px;
    background:#fff;
    font:inherit;
}
.dashboard-fecha-form input:focus{
    outline:2px solid rgba(192,0,0,.18);
    border-color:var(--rojo);
}
.dashboard-fecha-acciones{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
}
.dashboard-fecha-acciones button,
.dashboard-fecha-acciones .button-link{
    min-height:36px;
    padding:8px 10px;
    border-radius:9px !important;
    font-size:.82rem;
}

/* V75 - Regularización igualada a Entrada y Eliminar */
.regularizacion-form{
    min-width:430px !important;
    gap:8px !important;
}
.regularizacion-linea{
    display:grid !important;
    grid-template-columns:78px 88px 104px !important;
    gap:8px !important;
    align-items:center !important;
}
.regularizacion-form input.regularizacion-cantidad,
.regularizacion-form input.regularizacion-precio,
.regularizacion-form input.regularizacion-motivo{
    height:38px !important;
    box-sizing:border-box !important;
    padding:9px 10px !important;
    border:1px solid #c9ced6 !important;
    border-radius:8px !important;
    background:#fff !important;
    box-shadow:none !important;
    font-size:14px !important;
}
.regularizacion-form input.regularizacion-cantidad{
    width:78px !important;
    min-width:78px !important;
}
.regularizacion-form input.regularizacion-precio{
    width:88px !important;
    min-width:88px !important;
}
.regularizacion-form input.regularizacion-motivo{
    width:278px !important;
    min-width:278px !important;
}
.regularizacion-form .regularizacion-linea button{
    width:104px !important;
    min-width:104px !important;
    height:38px !important;
    padding:7px 9px !important;
    border-radius:9px !important;
}
@media(max-width:1000px){
    .metricas-grid-mejorado{grid-template-columns:repeat(2,minmax(170px,1fr));}
}
@media(max-width:650px){
    .metricas-grid-mejorado{grid-template-columns:1fr;}
    .dashboard-fecha-form{grid-template-columns:1fr;}
    .dashboard-fecha-acciones{grid-column:auto;}
}

/* V76 - varios retales desde una sola chapa */
.retal-cell-wrap{display:flex;align-items:center;gap:4px;justify-content:center}
.add-retal-chapa{width:24px;height:24px;min-width:24px;padding:0;border-radius:7px;border:1px solid #9fb6aa;background:#eef7f1;color:#24583c;font-weight:800;line-height:1;cursor:pointer}
.add-retal-chapa:hover{background:#dceee3;transform:translateY(-1px)}
.fila-retal-vinculado td:first-child{box-shadow:inset 4px 0 0 #4f8a65}

/* V77: proporciones de retal, RAL y boton + */
.retal-cell-wrap{gap:3px}
.add-retal-chapa{width:18px!important;height:18px!important;min-width:18px!important;border-radius:5px!important;font-size:12px!important;line-height:16px!important}
.ral-input{padding-left:6px!important;padding-right:6px!important}

/* V78: más espacio para medidas de retal y RAL compacto */
#tablaFabricacion .retal-cell-wrap{justify-content:flex-start!important;gap:3px!important;}
#tablaFabricacion .retal-input{width:155px!important;min-width:155px!important;max-width:155px!important;}
#tablaFabricacion .ral-input{width:46px!important;min-width:46px!important;max-width:46px!important;text-align:center;}
#tablaFabricacion .add-retal-chapa{width:17px!important;height:17px!important;min-width:17px!important;font-size:11px!important;line-height:15px!important;padding:0!important;}


/* V79 - cantidad completa y proporciones Fabricación */
.regularizacion-linea{grid-template-columns:94px 88px 104px !important;}
.regularizacion-form input.regularizacion-cantidad{width:94px !important;min-width:94px !important;}
.retal-input{width:185px !important;min-width:185px !important;max-width:185px !important;}
.ral-input{width:38px !important;min-width:38px !important;max-width:38px !important;padding-left:4px !important;padding-right:4px !important;}


/* V80 - orden RAL, boton + y Retal sin solapamientos */
#tablaFabricacion .ral-input{width:34px!important;min-width:34px!important;max-width:34px!important;padding-left:3px!important;padding-right:3px!important;text-align:center!important;}
#tablaFabricacion .retal-cell-wrap{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:4px!important;white-space:nowrap!important;}
#tablaFabricacion .retal-input{width:205px!important;min-width:205px!important;max-width:205px!important;}
#tablaFabricacion .add-retal-chapa{order:0!important;flex:0 0 17px!important;}
#tablaFabricacion .retal-input{order:1!important;}

/* V81 - Orden Chapa, Retal, +, RAL */
#tablaFabricacion select[name="chapa"]{
    width:106px!important;min-width:106px!important;max-width:106px!important;
}
#tablaFabricacion .retal-input{
    width:106px!important;min-width:106px!important;max-width:106px!important;
}
#tablaFabricacion .ral-input{
    width:70px!important;min-width:70px!important;max-width:70px!important;
    padding-left:5px!important;padding-right:5px!important;text-align:left!important;
}
#tablaFabricacion .add-retal-cell{
    width:28px!important;min-width:28px!important;max-width:28px!important;
    padding-left:3px!important;padding-right:3px!important;text-align:center!important;
}
#tablaFabricacion .add-retal-chapa{
    width:18px!important;height:18px!important;min-width:18px!important;
    padding:0!important;margin:0 auto!important;display:inline-flex!important;
    align-items:center!important;justify-content:center!important;
}

/* V82 - Chapa y Retal exactamente iguales */
#tablaFabricacion col:nth-child(1),
#tablaFabricacion col:nth-child(2){width:132px!important;}
#tablaFabricacion th:nth-child(1),
#tablaFabricacion td:nth-child(1),
#tablaFabricacion th:nth-child(2),
#tablaFabricacion td:nth-child(2){
    width:132px!important;min-width:132px!important;max-width:132px!important;
}
#tablaFabricacion select[name="chapa"],
#tablaFabricacion .chapa-input,
#tablaFabricacion input[name="retal"],
#tablaFabricacion .retal-input{
    display:block!important;
    width:124px!important;min-width:124px!important;max-width:124px!important;
    height:27px!important;
    margin:0 auto!important;
    box-sizing:border-box!important;
}
#tablaFabricacion th:nth-child(3),
#tablaFabricacion td:nth-child(3){width:30px!important;min-width:30px!important;max-width:30px!important;}
#tablaFabricacion th:nth-child(4),
#tablaFabricacion td:nth-child(4){width:82px!important;min-width:82px!important;max-width:82px!important;}
#tablaFabricacion .ral-input{
    width:74px!important;min-width:74px!important;max-width:74px!important;
    height:27px!important;margin:0 auto!important;box-sizing:border-box!important;
}


/* V89 - resumen visual de retales sobrantes */
.resumen-retales{margin:14px 0 4px;border:1px solid #cbd5e1;border-radius:12px;background:#f8fafc;overflow:hidden}
.resumen-retales-titulo{padding:10px 14px;font-weight:700;background:#e2e8f0;color:#1e293b}
.resumen-retales-lista{padding:8px 12px}
.resumen-retal-item{display:grid;grid-template-columns:28px minmax(180px,1fr) 70px 105px 105px;gap:10px;align-items:center;padding:8px 6px;border-bottom:1px solid #e2e8f0}
.resumen-retal-item:last-child{border-bottom:0}
.resumen-retal-num{display:inline-flex;width:24px;height:24px;border-radius:50%;align-items:center;justify-content:center;background:#dbeafe;font-weight:700}
.resumen-retal-medida{font-weight:600}
.resumen-retales-totales{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#cbd5e1}
.resumen-retales-totales>div{display:flex;justify-content:space-between;gap:16px;padding:12px 14px;background:white}
.resumen-retales-totales strong{font-size:1.05rem}
@media(max-width:900px){.resumen-retal-item{grid-template-columns:28px 1fr 90px}.resumen-retal-item span:nth-child(3),.resumen-retal-item span:nth-child(4){display:none}.resumen-retales-totales{grid-template-columns:1fr}}

/* V90 - validacion visual y pieza de chapa consumida */
.resumen-bloque-titulo{padding:9px 14px 5px;font-size:.82rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:#475569;background:#f8fafc}
.resumen-bloque-titulo.consumo{border-top:1px solid #cbd5e1;background:#fff7ed;color:#9a3412}
.resumen-consumo-lista{padding:10px 12px;background:#fffaf5}
.resumen-consumo-item{display:grid;grid-template-columns:minmax(180px,1fr) minmax(260px,1.5fr) 130px;gap:14px;align-items:center;padding:12px 14px;margin-bottom:8px;border:1px solid #fed7aa;border-left:5px solid #f97316;border-radius:10px;background:#fff}
.resumen-consumo-item:last-child{margin-bottom:0}
.resumen-consumo-item>div{display:flex;flex-direction:column;gap:3px}
.consumo-etiqueta{font-size:.76rem;color:#64748b;text-transform:uppercase;font-weight:700}
.resumen-consumo-item strong{color:#1e293b}
.consumo-precio{text-align:right}
.consumo-precio strong{font-size:1.08rem;color:#c2410c}
@media(max-width:900px){.resumen-consumo-item{grid-template-columns:1fr}.consumo-precio{text-align:left}}
.resumen-vacio{padding:10px 12px;color:#64748b;font-style:italic;background:#fff;border-radius:8px}

/* V92: filtros y resumen previo intuitivo */
.almacen-filter-bar{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.stock-only-check{display:inline-flex;align-items:center;gap:8px;font-weight:700;white-space:nowrap}
.stock-only-check input{width:18px;height:18px;margin:0}
.oculto-sin-stock{display:none!important}
.resumen-bloque-titulo.recursos{margin-top:18px;background:#eef3ff;border-left:5px solid #5476c7}
.resumen-recursos-lista{display:grid;gap:8px;margin-top:8px}
.resumen-recurso-item{display:grid;grid-template-columns:34px minmax(120px,1.2fr) minmax(120px,1.2fr) minmax(80px,.7fr) minmax(105px,.8fr) minmax(105px,.8fr);align-items:center;gap:10px;padding:10px 12px;background:#fff;border:1px solid #d8dfeb;border-radius:10px}
@media(max-width:1000px){.resumen-recurso-item{grid-template-columns:34px 1fr 1fr}.resumen-recurso-item>div:nth-last-child(-n+3){grid-column:auto}}

/* V93 - filtros visibles, horas validas y resumen secuencial */
.stock-filter-panel{display:flex;align-items:center;margin:14px 0 10px;padding:12px 16px;border:2px solid #2563eb;border-radius:12px;background:#eff6ff;box-shadow:0 2px 8px rgba(37,99,235,.12)}
.stock-filter-panel .stock-only-check{display:flex;align-items:center;gap:12px;cursor:pointer;color:#1e3a8a}
.stock-filter-panel .stock-only-check input{appearance:auto!important;display:block!important;opacity:1!important;visibility:visible!important;width:22px!important;height:22px!important;min-width:22px;margin:0;accent-color:#2563eb}
.stock-filter-panel .stock-only-check span{display:flex;flex-direction:column;gap:2px}
.stock-filter-panel .stock-only-check small{font-weight:400;color:#475569}
.hora-error{border:2px solid #dc2626!important;background:#fef2f2!important}
.resumen-secuencial .resumen-ayuda{margin:0;padding:9px 14px;background:#f8fafc;color:#64748b;border-bottom:1px solid #e2e8f0}
.resumen-secuencia-lista{display:flex;flex-direction:column;gap:10px;padding:14px;background:#f8fafc}
.resumen-paso{display:grid;grid-template-columns:42px 1fr;gap:10px;position:relative;padding:12px;border:1px solid #cbd5e1;border-radius:12px;background:#fff}
.resumen-paso:not(:last-child)::after{content:"";position:absolute;left:32px;top:54px;bottom:-12px;width:2px;background:#cbd5e1}
.resumen-paso-numero{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#1d4ed8;color:white;font-weight:800;z-index:1}
.resumen-paso-contenido{min-width:0}.resumen-paso-contenido h4{margin:3px 0 10px;font-size:1rem;color:#0f172a}
.resumen-paso-tipo{font-size:.72rem;font-weight:900;letter-spacing:.055em;color:#64748b}
.paso-material{border-left:6px solid #f97316}.paso-recurso{border-left:6px solid #6366f1}.paso-retal-usado{border-left:6px solid #0f9f6e}
.secuencia-consumo{display:grid;grid-template-columns:120px 1fr 110px;gap:10px;align-items:center;padding:8px 10px;border-radius:8px;background:#fff7ed}.secuencia-consumo b{text-align:right;color:#9a3412}
.secuencia-retales{display:flex;flex-direction:column;gap:6px;margin-top:8px}.secuencia-retal{display:grid;grid-template-columns:130px 1fr 150px 100px;gap:10px;align-items:center;padding:8px 10px;border-radius:8px;background:#ecfdf5;border:1px solid #a7f3d0}.secuencia-retal b{text-align:right;color:#047857}
.secuencia-recurso-grid{display:grid;grid-template-columns:1fr 1fr .65fr;gap:10px}.secuencia-recurso-grid>div{display:flex;flex-direction:column;gap:4px;padding:9px 10px;border-radius:8px;background:#eef2ff}.secuencia-recurso-grid span{font-size:.76rem;color:#64748b}.secuencia-recurso-grid b{color:#4338ca}
@media(max-width:850px){.secuencia-consumo,.secuencia-retal,.secuencia-recurso-grid{grid-template-columns:1fr}.secuencia-consumo b,.secuencia-retal b{text-align:left}}


/* V94 - resumen legible y filtros de stock */
.stock-filter-panel .stock-only-check span{display:block!important}
.resumen-secuencial{padding:20px!important}
.resumen-bloque{margin-top:22px;padding:18px;border:1px solid #cbd5e1;border-radius:14px;background:#f8fafc}
.resumen-bloque:first-of-type{margin-top:16px}
.resumen-bloque h3{margin:0 0 16px;color:#0f172a;font-size:1.08rem}
.resumen-secuencia-lista{display:flex;flex-direction:column;gap:16px}
.resumen-paso.sin-numero{display:block!important;padding:18px!important;margin:0!important}
.resumen-paso.sin-numero::after{display:none!important}
.resumen-paso-contenido h4{margin:8px 0 16px!important;line-height:1.45}
.resumen-paso-tipo{margin-bottom:6px;line-height:1.5}
.secuencia-consumo{gap:20px!important;padding:12px 14px!important;line-height:1.45}
.secuencia-retales{gap:10px!important;margin-top:14px!important}
.secuencia-retal{gap:18px!important;padding:12px 14px!important;line-height:1.45}
.subtotal-sobrantes,.resumen-subtotal{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:14px;padding:13px 15px;border-radius:10px;background:#fef3c7;border:1px solid #f59e0b;line-height:1.45}
.subtotal-sobrantes strong,.resumen-subtotal strong{white-space:nowrap;font-size:1.04rem}
.resumen-recursos-lista{display:flex;flex-direction:column;gap:10px}
.resumen-recurso-item{display:grid;grid-template-columns:minmax(180px,1fr) 110px 120px;gap:24px;align-items:center;padding:12px 14px;border-radius:10px;background:white;border:1px solid #dbeafe;line-height:1.45}
.resumen-recurso-item b{text-align:right;white-space:nowrap}
.resumen-total-general{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-top:24px;padding:18px 20px;border-radius:14px;background:#1e3a8a;color:white;font-size:1.15rem;font-weight:800;line-height:1.5}
.resumen-total-general strong{font-size:1.35rem;white-space:nowrap}
@media(max-width:850px){.resumen-recurso-item{grid-template-columns:1fr}.resumen-recurso-item b{text-align:left}.subtotal-sobrantes,.resumen-subtotal,.resumen-total-general{align-items:flex-start;flex-direction:column;gap:8px}}

/* V114 - acceso, contraseña y permisos */
.password-field{display:flex;align-items:stretch;gap:7px}.password-field input{flex:1;min-width:0}.password-toggle{width:46px;padding:0;border:1px solid #aeb8c2;background:#eef3f7;color:#23384b;font-size:19px;border-radius:7px;cursor:pointer}.password-toggle:hover{background:#dceaf4}.permisos-panel{border-left:6px solid #2f78a8;background:linear-gradient(135deg,#f1f8fd,#ffffff)}.permisos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.permiso-usuario-card{padding:17px;border:1px solid #cddce8;border-radius:10px;background:white;box-shadow:0 3px 12px rgba(26,72,104,.08)}.permiso-usuario-titulo{display:flex;justify-content:space-between;gap:10px;align-items:center;padding-bottom:10px;margin-bottom:12px;border-bottom:2px solid #e5eef5}.permiso-usuario-titulo strong{font-size:18px;color:#1d4563}.permiso-usuario-titulo span{font-size:11px;color:#fff;background:#347da8;padding:5px 8px;border-radius:12px}.permiso-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin-bottom:14px}.permiso-checks label{display:flex;align-items:center;gap:7px;padding:7px 8px;background:#f5f9fc;border-radius:6px}.permiso-checks input{width:auto;margin:0}@media(max-width:620px){.permiso-checks{grid-template-columns:1fr}}

/* V123 - Seguridad y copias */
.seguridad-copias-panel{border-top:4px solid #b51e25;padding:26px 28px}
.seguridad-copias-cabecera{display:flex;align-items:flex-start;justify-content:space-between;gap:32px;flex-wrap:wrap;padding-bottom:22px;border-bottom:1px solid #eceff2}
.seguridad-copias-cabecera>div{max-width:720px}
.seguridad-copias-cabecera h3{margin:0 0 12px;font-size:22px}
.seguridad-copias-cabecera p{margin:0;line-height:1.65}
.seguridad-copias-cabecera form{align-self:center}
.seguridad-copias-datos{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:20px;margin-top:24px}
.seguridad-copias-datos span{display:flex;flex-direction:column;justify-content:center;gap:12px;min-height:96px;padding:20px 22px;border:1px solid #e1e4e8;border-radius:12px;background:#f8f9fa;box-shadow:0 2px 7px rgba(0,0,0,.04);font-size:18px;line-height:1.35}
.seguridad-copias-datos strong{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#6b737c;line-height:1.4}
@media(max-width:850px){.seguridad-copias-datos{grid-template-columns:repeat(2,minmax(140px,1fr))}}
@media(max-width:520px){.seguridad-copias-datos{grid-template-columns:1fr}.seguridad-copias-cabecera form,.seguridad-copias-cabecera button{width:100%}}

/* V138 - Menu 5x2 y acciones de seguridad */
.seguridad-copias-acciones{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.seguridad-copias-acciones form{margin:0}
@media(max-width:1100px){.inicio-accesos .grid-menu.moderno{grid-template-columns:repeat(3,minmax(150px,1fr));}}
@media(max-width:760px){.inicio-accesos .grid-menu.moderno{grid-template-columns:repeat(2,minmax(145px,1fr));}}

/* V143 - Panel principal fijo 5 x 2 en escritorio */
@media (min-width: 1201px) {
  .inicio-accesos .grid-menu.moderno {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }
  .inicio-accesos .card-modern {
    min-width: 0 !important;
    min-height: 168px !important;
    padding: 24px 18px !important;
  }
  .inicio-accesos .card-modern .icono {
    width: 64px !important;
    height: 64px !important;
    font-size: 34px !important;
  }
  .inicio-accesos .card-modern strong {
    font-size: 18px !important;
  }
}

/* V157 - ocultación de importes según permisos */
.sin-precios .precio-sensible{display:none!important}
.sin-precios .solo-con-precios{display:none!important}
.aviso-sin-precios{padding:12px 14px;border:1px solid #e5c66a;background:#fff8dc;border-radius:9px;color:#6b5510;font-weight:700}
