:root {
    --azul: #0b4b78;
    --azul2: #2f6feb;
    --rojo: #c90021;
    --gris: #f3f7fb;
    --texto: #0f172a;
    --borde: #dbe4ef
}

* {
    box-sizing: border-box
}

body {
    margin: 0;
    font-family: Arial,Helvetica,sans-serif;
    color: var(--texto);
    background: #eaf3fc
}

.lic-page {
    min-height: 100vh;
    background: linear-gradient(180deg,#eef6ff,#d9ebff);
    padding: 32px 16px
}

.lic-card {
    max-width: 920px;
    margin: 0 auto;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 10px 30px rgba(15,23,42,.10);
    padding: 28px
}

.lic-logo {
    text-align: center;
    margin-bottom: 18px
}

.lic-logo img {
    max-width: 150px;
    height: auto
}

.lic-title {
    text-align: center;
    margin: 0 0 24px;
    font-size: 26px;
    color: #0b2440
}

.lic-form {
    display: flex;
    gap: 12px;
    max-width: 560px;
    margin: 0 auto 24px
}

.lic-form input {
    flex: 1;
    padding: 13px 14px;
    border: 1px solid #a9bff8;
    border-radius: 8px;
    font-size: 16px
}

.lic-form select {
    padding: 12px 14px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    font-size: 15px
}

.btn {
    display: inline-block;
    background: var(--azul2);
    color: #fff;
    border: 0;
    border-radius: 8px;
    padding: 12px 18px;
    text-decoration: none;
    cursor: pointer;
    font-size: 15px
}

.btn.secondary {
    background: #64748b
}

.btn.danger {
    background: #b91c1c
}

.alert {
    padding: 12px 14px;
    border-radius: 8px;
    margin: 14px 0
}

.alert.error {
    background: #fee2e2;
    color: #7f1d1d
}

.alert.ok {
    background: #dcfce7;
    color: #14532d
}

.datos {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 12px;
    margin: 20px 0
}

.dato {
    border: 1px solid var(--borde);
    border-radius: 10px;
    padding: 12px;
    background: #f8fbff
}

.dato strong {
    display: block;
    font-size: 13px;
    color: #475569;
    margin-bottom: 6px
}

.table-wrap {
    overflow: auto
}

.lic-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff
}

.lic-table th,.lic-table td {
    border: 1px solid var(--borde);
    padding: 10px;
    text-align: left;
    vertical-align: top
}

.lic-table th {
    background: #f1f5f9
}

.badge {
    display: inline-block;
    border-radius: 999px;
    padding: 4px 9px;
    font-size: 12px;
    text-transform: uppercase;
    font-weight: bold
}

.badge.activa {
    background: #dcfce7;
    color: #166534
}

.badge.vencida {
    background: #fee2e2;
    color: #991b1b
}

.badge.pendiente {
    background: #fef3c7;
    color: #92400e
}

.badge.suspendida,.badge.anulada {
    background: #e2e8f0;
    color: #334155
}

.lic-admin {
    background: #f8fafc
}

.lic-admin-wrap {
    max-width: 1180px;
    margin: 0 auto;
    padding: 20px
}

.lic-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #fff;
    border: 1px solid var(--borde);
    border-radius: 12px;
    padding: 14px 16px;
    margin-bottom: 18px
}

.lic-nav a {
    margin-left: 12px;
    color: var(--azul);
    text-decoration: none
}

.panel {
    background: #fff;
    border: 1px solid var(--borde);
    border-radius: 12px;
    padding: 18px;
    margin-bottom: 16px
}

.grid {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 14px
}

.form-row {
    margin-bottom: 12px
}

.form-row label {
    display: block;
    font-weight: bold;
    margin-bottom: 5px
}

.form-row input,.form-row select,.form-row textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #cbd5e1;
    border-radius: 8px
}

.actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap
}

.muted {
    color: #64748b;
    font-size: 14px
}

@media(max-width:720px) {
    .lic-form {
        flex-direction: column
    }

    .datos,.grid {
        grid-template-columns: 1fr
    }

    .lic-card {
        padding: 18px
    }

    .lic-nav {
        display: block
    }

    .lic-nav span {
        display: block;
        margin-top: 10px
    }

    .lic-nav a {
        display: inline-block;
        margin: 6px 8px 0 0
    }

}

/* ===== Formularios del administrador de usuarios ===== */
.admin-user-panel {
    padding: 28px 30px
}

.admin-user-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 22px
}

.admin-user-heading h1 {
    margin: 0 0 12px;
    font-size: 32px;
    line-height: 1.2;
    color: #0f172a
}

.admin-user-form {
    max-width: 980px;
    margin-top: 24px
}

.admin-form-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(260px,1fr));
    gap: 22px 26px;
    align-items: start
}

.field-box {
    display: flex;
    flex-direction: column
}

.field-box label {
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: #0f2d57;
    margin-bottom: 8px;
    line-height: 1.2
}

.field-box input,.field-box select,.field-box textarea {
    width: 100%;
    min-height: 46px;
    padding: 10px 14px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    font-size: 15px;
    background: #fff;
    box-sizing: border-box
}

.field-box input:focus,.field-box select:focus,.field-box textarea:focus {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37,99,235,.12)
}

.field-help {
    margin-top: 8px;
    font-size: 13px;
    color: #64748b;
    line-height: 1.4
}

.form-actions {
    margin-top: 28px;
    display: flex;
    gap: 12px;
    flex-wrap: wrap
}

.form-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 130px;
    min-height: 46px;
    padding: 0 18px;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 700;
    border: none;
    cursor: pointer
}

@media(max-width:760px) {
    .admin-user-panel {
        padding: 22px 18px
    }

    .admin-user-heading {
        display: block
    }

    .admin-user-heading .btn {
        margin-top: 12px
    }

    .admin-form-grid {
        grid-template-columns: 1fr
    }

}

/* ===== Ajustes panel Transparencia integrado ===== */
.trans-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap
}

.trans-panel-head .actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap
}

.badge.publicado,.badge.activa {
    background: #dcfce7;
    color: #166534
}

.badge.borrador,.badge.pendiente {
    background: #fef3c7;
    color: #92400e
}

.badge.desactivado,.badge.inactivo {
    background: #e2e8f0;
    color: #334155
}

/* ===== Formularios de búsqueda admin ===== */
.admin-search-form {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap
}

.admin-search-form input[type="text"],.admin-search-form input[type="search"] {
    min-width: 260px;
    flex: 1
}

.admin-search-form select {
    min-height: 46px
}

.trans-search-form {
    border-top: 1px solid #e2e8f0;
    padding-top: 16px
}

/* ===== Botones de acciones en tablas admin ===== */
.admin-action-buttons {

    display: flex;

    flex-direction: column;

    gap: 8px;

    align-items: flex-start;

}

.admin-action-buttons a,
.admin-action-buttons button,
.document-actions .action-pdf {

    width: 135px;

    min-height: 40px;

    padding: 9px 12px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    border-radius: 9px;

    font-size: 14px;

    font-weight: 500;

    line-height: 1.2;

    text-decoration: none !important;

    border: none;

    cursor: pointer;

    box-sizing: border-box;

    white-space: nowrap;

    font-family: inherit;

    transition: background .15s ease, transform .12s ease, box-shadow .15s ease;

}

.admin-action-buttons a: hover,
.admin-action-buttons button: hover,
.document-actions .action-pdf:hover {

    transform: translateY(-1px);

}

.admin-action-buttons .action-edit,
.document-actions .action-pdf {

    background: #718096;

    color: #ffffff !important;

}

.admin-action-buttons .action-edit: hover,
.document-actions .action-pdf:hover {

    background: #5f6f84;

}

.admin-action-buttons .action-add {

    background: #3b73d9;

    color: #ffffff !important;

}

.admin-action-buttons .action-add:hover {

    background: #2f63c2;

}

.admin-action-buttons .action-delete {

    background: #c24141;

    color: #ffffff !important;

}

.admin-action-buttons .action-delete:hover {

    background: #a83232;

}

/* ===== Paginación admin ===== */
.table-summary {
    font-size: 14px;
    color: #475569;
    margin: 0 0 12px
}

.pagination-bar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 16px;
    flex-wrap: wrap
}

.page-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 8px 14px;
    border-radius: 8px;
    background: #2f6feb;
    color: #fff;
    text-decoration: none;
    font-size: 14px
}

.page-link:hover {
    background: #1d4ed8
}

.page-link.disabled {
    background: #cbd5e1;
    color: #64748b;
    pointer-events: none
}

.page-status {
    font-size: 14px;
    color: #475569
}

/* ===== Descarga plantilla importación ===== */
.download-template-box {
    margin: 18px 0 24px;
    padding: 16px 18px;
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    border-radius: 12px;
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap
}

.download-template-box strong {
    color: #0f2d57
}

.download-template-box span {
    color: #475569;
    flex: 1;
    min-width: 240px
}

.download-template-box .btn {
    text-decoration: none
}

@media(max-width:760px) {
    .admin-search-form {
        align-items: stretch
    }

    .admin-search-form input[type="text"],.admin-search-form input[type="search"],.admin-search-form select,.admin-search-form .btn {
        width: 100%;
        min-width: 0
    }

    .admin-action-buttons {
        flex-direction: row;
        flex-wrap: wrap
    }

    .pagination-bar {
        justify-content: flex-start
    }

}

/* ===== Botones formularios Transparencia/Admin encapsulados ===== */
.form-actions-transparencia {
    margin-top: 28px;
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: center
}

.form-actions-transparencia button,.form-actions-transparencia a {
    min-width: 150px;
    min-height: 46px;
    padding: 11px 18px;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none!important;
    border: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    font-family: inherit
}

.form-actions-transparencia .btn-guardar {
    background: #2563eb;
    color: #fff!important
}

.form-actions-transparencia .btn-guardar:hover {
    background: #1d4ed8
}

.form-actions-transparencia .btn-cancelar {
    background: #64748b;
    color: #fff!important
}

.form-actions-transparencia .btn-cancelar:hover {
    background: #475569;
    color: #fff!important
}

/* ===== Reportería administrativa ===== */
.report-table-wrap {
    overflow: auto
}

.report-table {
    min-width: 1500px
}

.report-table th {
    white-space: nowrap
}

.report-table td {
    font-size: 14px;
    line-height: 1.35
}

.report-table td strong {
    font-weight: 700
}

.badge.activo {
    background: #dcfce7;
    color: #166534
}

.badge.inactivo {
    background: #e2e8f0;
    color: #334155
}

/* ===== Reportería v3.9: búsqueda avanzada y tabla cómoda ===== */
.report-header-panel .trans-panel-head {
    margin-bottom: 14px
}

.report-search-form {
    border-top: 1px solid #e2e8f0;
    padding-top: 16px
}

.report-search-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1.4fr 1fr 1fr 1fr auto;
    gap: 12px;
    align-items: end
}

.report-field {
    display: flex;
    flex-direction: column;
    gap: 6px
}

.report-field label {
    font-size: 13px;
    font-weight: 700;
    color: #0f2d57
}

.report-field input,.report-field select {
    width: 100%;
    min-height: 46px;
    padding: 10px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    font-size: 15px
}

.report-field input:focus,.report-field select:focus {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37,99,235,.12)
}

.report-search-actions {
    display: flex;
    gap: 8px;
    align-items: center
}

.report-search-actions .btn {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center
}

.report-table-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 10px
}

.pagination-bar-top {
    margin-top: 0
}

.report-scroll-hint {
    font-size: 13px;
    color: #64748b;
    margin: 6px 0 8px
}

.report-top-scroll {
    overflow-x: auto;
    overflow-y: hidden;
    height: 16px;
    margin-bottom: 6px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8fafc
}

.report-top-scroll div {
    height: 1px
}

.report-table-scroll {
    overflow: auto;
    max-height: 72vh;
    border: 1px solid #dbe4ef;
    border-radius: 10px
}

.report-datatable-like {
    overflow: visible
}

.report-datatable-like .lic-table {
    border-collapse: separate;
    border-spacing: 0
}

.report-datatable-like .lic-table th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #eef3f8;
    border-top: 0
}

.report-datatable-like .lic-table th,.report-datatable-like .lic-table td {
    padding: 8px 10px
}

.report-table {
    min-width: 1520px
}

.report-table td {
    font-size: 13px;
    line-height: 1.28
}

.report-table .muted {
    font-size: 12px
}

.report-table .col-rut {
    white-space: nowrap;
    font-weight: 600
}

.report-table tr:nth-child(even) td {
    background: #fbfdff
}

.report-table tr:hover td {
    background: #f1f7ff
}

@media(max-width:1180px) {
    .report-search-grid {
        grid-template-columns: 1fr 1fr 1fr
    }

    .report-search-actions {
        grid-column: 1/-1
    }

}

@media(max-width:760px) {
    .report-search-grid {
        grid-template-columns: 1fr
    }

    .report-search-actions {
        align-items: stretch
    }

    .report-search-actions .btn {
        width: 100%
    }

    .report-table-scroll {
        max-height: 68vh
    }

}

/* ===== v4 interfaz estándar admin ===== */
.lic-admin-wrap {
    max-width: 1240px
}

.lic-nav {
    box-shadow: 0 8px 22px rgba(15,23,42,.04)
}

.lic-nav strong {
    letter-spacing: .2px
}

.lic-nav a {
    font-weight: 500
}

.panel h1 {
    letter-spacing: .5px
}

.panel h2 {
    margin-top: 0
}

.btn {
    font-weight: 500
}

.admin-data-panel {
    overflow: visible;
    padding: 18px
}

.admin-data-panel .table-summary {
    margin: 0;
    color: #475569
}

.admin-data-panel .pagination-bar-top {
    margin: 10px 0 12px;
    justify-content: flex-start
}

.admin-table-scroll {
    overflow: auto;
    max-height: 68vh;
    border: 1px solid #dbe4ef;
    border-radius: 10px;
    background: #fff
}

.admin-standard-table {
    min-width: 920px;
    border-collapse: separate;
    border-spacing: 0
}

.admin-standard-table th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #eef3f8;
    border-top: 0;
    white-space: nowrap
}

.admin-standard-table th,.admin-standard-table td {
    padding: 9px 10px
}

.admin-standard-table td {
    font-size: 14px;
    line-height: 1.35
}

.admin-standard-table tr:nth-child(even) td {
    background: #fbfdff
}

.admin-standard-table tr:hover td {
    background: #f1f7ff
}

.admin-standard-table .actions {
    min-width: 132px
}

.admin-search-form {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 14px
}

.admin-search-form .btn {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center
}

.admin-search-form input[type="text"],.admin-search-form input[type="search"],.admin-search-form select {
    min-height: 46px
}

.pagination-bar {
    border-top: 1px solid #e2e8f0;
    padding-top: 14px
}

.pagination-bar-top {
    border-top: 0;
    padding-top: 0
}

.page-link {
    font-weight: 500
}

.admin-action-buttons a,.admin-action-buttons button,.document-actions .action-pdf {
    font-weight: 500
}

/* ===== v4 dashboard ===== */
.dashboard-hero {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    padding: 28px 30px;
    background: linear-gradient(135deg,#ffffff 0%,#f5f9ff 100%);
    position: relative;
    overflow: hidden
}

.dashboard-hero:after {
    content: "";
    position: absolute;
    right: -80px;
    top: -110px;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background: rgba(47,111,235,.10);
    pointer-events: none
}

.dashboard-hero>* {
    position: relative;
    z-index: 1
}

.dashboard-kicker {
    display: inline-block;
    font-size: 13px;
    font-weight: 700;
    color: #2563eb;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: 10px
}

.dashboard-hero h1 {
    margin: 0 0 10px;
    font-size: 34px;
    line-height: 1.15;
    color: #0f172a
}

.dashboard-hero p {
    max-width: 720px;
    margin: 0;
    color: #475569;
    line-height: 1.6
}

.dashboard-hero-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end
}

.dashboard-hero-actions .btn {
    white-space: nowrap
}

.dashboard-kpi-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 16px;
    margin-bottom: 16px
}

.kpi-card {
    background: #fff;
    border: 1px solid #dbe4ef;
    border-radius: 16px;
    padding: 20px;
    display: flex;
    align-items: flex-start;
    gap: 16px;
    box-shadow: 0 8px 22px rgba(15,23,42,.035)
}

.kpi-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    background: #eff6ff
}

.kpi-content h2 {
    margin: 0 0 8px;
    font-size: 30px;
    line-height: 1;
    color: #0f172a
}

.kpi-content p {
    margin: 0 0 8px;
    font-weight: 700;
    color: #0f172a
}

.kpi-content span {
    font-size: 13px;
    color: #64748b
}

.kpi-blue .kpi-icon {
    background: #dbeafe
}

.kpi-navy .kpi-icon {
    background: #e0f2fe
}

.kpi-green .kpi-icon {
    background: #dcfce7
}

.kpi-red .kpi-icon {
    background: #fee2e2
}

.kpi-slate .kpi-icon {
    background: #e2e8f0
}

.kpi-purple .kpi-icon {
    background: #ede9fe
}

.dashboard-section-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 16px
}

.dashboard-section {
    padding: 24px
}

.dashboard-section h2 {
    margin: 0 0 8px;
    font-size: 22px;
    color: #0f172a
}

.dashboard-link-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 12px;
    margin-top: 18px
}

.dashboard-link {
    display: grid;
    grid-template-columns: 42px 1fr;
    column-gap: 12px;
    row-gap: 3px;
    padding: 14px;
    border: 1px solid #dbe4ef;
    border-radius: 14px;
    background: #f8fafc;
    text-decoration: none;
    color: #0f172a;
    transition: transform .15s ease,box-shadow .15s ease,border-color .15s ease
}

.dashboard-link:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(15,23,42,.08);
    border-color: #bfdbfe
}

.dashboard-link span {
    grid-row: 1/3;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    font-size: 21px
}

.dashboard-link strong {
    font-size: 15px
}

.dashboard-link small {
    font-size: 13px;
    color: #64748b;
    line-height: 1.35
}

@media(max-width:980px) {
    .dashboard-hero {
        display: block
    }

    .dashboard-hero-actions {
        justify-content: flex-start;
        margin-top: 18px
    }

    .dashboard-kpi-grid,.dashboard-section-grid {
        grid-template-columns: 1fr
    }

    .dashboard-link-grid {
        grid-template-columns: 1fr
    }

    .admin-table-scroll {
        max-height: 65vh
    }

}

@media(max-width:760px) {
    .dashboard-hero h1 {
        font-size: 28px
    }

    .dashboard-kpi-grid {
        gap: 12px
    }

    .kpi-card {
        padding: 16px
    }

    .admin-data-panel .pagination-bar-top {
        justify-content: flex-start
    }

    .admin-standard-table {
        min-width: 760px
    }

}



/* =========================================================
   FEDESUB - Solicitudes de licencia V1
   Clases encapsuladas: no modifica los botones globales.
   ========================================================= */
.sol-page{min-height:100vh;background:linear-gradient(180deg,#eef6ff,#d9ebff);padding:32px 16px}.sol-shell{max-width:1080px;margin:0 auto;background:#fff;border-radius:18px;box-shadow:0 14px 38px rgba(15,23,42,.12);padding:30px}.sol-hero{text-align:center;max-width:800px;margin:0 auto 28px}.sol-hero .lic-logo{margin-bottom:10px}.sol-kicker,.dashboard-kicker{display:inline-block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#2563eb;margin-bottom:8px}.sol-hero h1{font-size:34px;color:#0b2440;margin:0 0 12px}.sol-hero p{margin:0;color:#526174;line-height:1.6}.sol-step{display:flex;gap:14px;align-items:flex-start;border-top:1px solid #e5edf5;padding-top:24px;margin-top:28px;margin-bottom:16px}.sol-step:first-of-type{margin-top:0}.sol-step-number{width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:#2f6feb;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}.sol-step-copy h2{margin:2px 0 5px;font-size:21px;color:#0f172a}.sol-step-copy p{margin:0;color:#64748b;line-height:1.45}.sol-license-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sol-license-card{position:relative;display:grid;grid-template-columns:auto 1fr;gap:6px 10px;border:1px solid #dbe4ef;border-radius:14px;padding:14px;background:#f8fafc;cursor:pointer;transition:.15s ease}.sol-license-card:hover{border-color:#93c5fd;box-shadow:0 7px 20px rgba(15,23,42,.06)}.sol-license-card.is-selected{background:#eff6ff;border-color:#60a5fa;box-shadow:0 0 0 2px rgba(59,130,246,.08)}.sol-license-card input{grid-row:1/4;margin:4px 0 0;width:18px;height:18px;accent-color:#2f6feb}.sol-license-code{display:inline-flex;width:max-content;align-items:center;border-radius:999px;background:#dbeafe;color:#1d4ed8;padding:3px 8px;font-size:12px;font-weight:800}.sol-license-card strong{font-size:14px;line-height:1.35}.sol-license-card a{width:max-content;font-size:13px;color:#0b4b78;font-weight:700}.sol-counter{text-align:right;color:#64748b;font-size:13px;margin-top:10px}.sol-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sol-contact-grid .form-row{margin:0}.sol-contact-grid input{width:100%;padding:12px 13px;border:1px solid #cbd5e1;border-radius:9px;font-size:15px}.sol-upload-list{display:grid;gap:12px}.sol-upload-row{display:grid;grid-template-columns:minmax(240px,1fr) minmax(260px,1fr);gap:18px;align-items:center;border:1px solid #dbe4ef;border-radius:13px;padding:14px;background:#f8fafc}.sol-upload-row>div{display:flex;align-items:center;gap:10px}.sol-upload-row strong{font-size:14px}.sol-file{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;cursor:pointer}.sol-file span{display:inline-block;background:#fff;border:1px solid #93c5fd;color:#0b4b78;border-radius:8px;padding:9px 12px;font-weight:700;font-size:13px}.sol-file input{position:absolute;opacity:0;width:1px;height:1px}.sol-file em{font-style:normal;color:#64748b;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sol-empty{border:1px dashed #b8c8dc;border-radius:12px;padding:20px;text-align:center;color:#64748b;background:#f8fafc}.sol-consent{display:flex;gap:10px;align-items:flex-start;margin:24px 0;color:#475569;font-size:14px;line-height:1.45}.sol-consent input{margin-top:3px}.sol-submit{text-align:center;padding-top:4px}.sol-primary{display:inline-block;background:#2f6feb;color:#fff;border:0;border-radius:10px;padding:13px 22px;font-weight:700;font-size:15px;cursor:pointer}.sol-submit small{display:block;color:#64748b;margin-top:9px}.sol-success{display:flex;flex-direction:column;gap:5px;background:#dcfce7;color:#14532d;border:1px solid #bbf7d0;border-radius:12px;padding:16px;margin:20px 0}.badge.sol-nueva{background:#dbeafe;color:#1e40af}.badge.sol-en_revision{background:#fef3c7;color:#92400e}.badge.sol-antecedentes_pendientes{background:#ffedd5;color:#9a3412}.badge.sol-aprobada{background:#dcfce7;color:#166534}.badge.sol-rechazada{background:#fee2e2;color:#991b1b}.kpi-orange .kpi-icon{background:#ffedd5}.sol-admin-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px}.sol-admin-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.sol-admin-data>div{border:1px solid #e2e8f0;border-radius:10px;padding:11px;background:#f8fafc}.sol-admin-data small{display:block;color:#64748b;margin-bottom:5px}.sol-admin-license-list{display:grid;gap:14px}.sol-admin-license{border:1px solid #dbe4ef;border-radius:14px;padding:16px;background:#f8fafc}.sol-admin-license-head{display:flex;justify-content:space-between;gap:14px;align-items:center}.sol-admin-license-head>div{display:flex;gap:10px;align-items:center}.sol-file-meta{font-size:13px;color:#64748b;margin:10px 0 14px}.sol-admin-review{display:grid;grid-template-columns:220px 1fr auto;gap:12px;align-items:end}.sol-admin-review .form-row{margin:0}.sol-admin-review select,.sol-admin-review textarea{width:100%}
@media(max-width:850px){.sol-license-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sol-admin-grid{grid-template-columns:1fr}.sol-admin-review{grid-template-columns:1fr}.sol-upload-row{grid-template-columns:1fr}}
@media(max-width:600px){.sol-shell{padding:20px 15px;border-radius:14px}.sol-hero h1{font-size:28px}.sol-license-grid,.sol-contact-grid,.sol-admin-data{grid-template-columns:1fr}.sol-license-card{padding:13px}.sol-file{grid-template-columns:1fr}.sol-admin-license-head{align-items:flex-start;flex-direction:column}.sol-admin-license-head>div{align-items:flex-start}.sol-upload-row>div{align-items:flex-start}}

/* ===== Solicitudes V1.1: correo y refinamientos UX ===== */
.sol-success-actions{text-align:center;margin:14px 0 4px}.sol-primary-link{text-decoration:none}.sol-code-chips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:5px}.sol-code-chip{display:inline-flex;align-items:center;border-radius:999px;background:#dbeafe;color:#1d4ed8;padding:3px 8px;font-size:12px;font-weight:800}.sol-mail-status{margin-top:18px;border-radius:10px;padding:11px 12px;font-size:13px;line-height:1.4}.sol-mail-status strong{display:block;margin-bottom:3px}.sol-mail-status small{display:block;margin-top:4px;word-break:break-word}.sol-mail-status.is-ok{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.sol-mail-status.is-pending{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}

/* Solicitudes V1.3 - validacion visible */
.sol-field-error{min-height:18px;margin-top:5px;color:#b42318;font-size:12px;font-weight:700;line-height:1.35}.sol-section-error{margin-top:9px}.sol-contact-grid input.is-invalid{border-color:#dc2626;background:#fff7f7;box-shadow:0 0 0 3px rgba(220,38,38,.08)}.sol-upload-row.is-invalid{border-color:#dc2626;background:#fff7f7}.sol-license-grid+.sol-counter+.sol-field-error:not(:empty){display:block}.sol-client-summary{margin-top:16px;text-align:left}.sol-submit button:disabled{opacity:.65;cursor:wait}.sol-consent:has(input:focus-visible){outline:2px solid rgba(47,111,235,.25);outline-offset:4px;border-radius:6px}
