﻿/*@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');*/

html, body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

.fw-bold{
    font-weight:bold;
}
td {
    font-family:Tahoma !important;
}
.btn-primary {
    /*color: black !important;*/
    background-color: #045AB0 !important;
}
a, .btn-link {
    color: #0366d6;
}

.btn-primary {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

app {
    position: relative;
    display: flex;
    flex-direction: column;
}

.top-row {
    height: 3.5rem;
    display: flex;
    align-items: center;
}

.main {
    flex: 1;
}

    .main .top-row {
        background-color: #f7f7f7;
        border-bottom: 1px solid #d6d5d5;
        justify-content: flex-end;
    }

        .main .top-row > a, .main .top-row .btn-link {
            white-space: nowrap;
            margin-left: 1.5rem;
        }

.main .top-row a:first-child {
    overflow: hidden;
    text-overflow: ellipsis;
}

.sidebar {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

    .sidebar .top-row {
        background-color: rgba(0,0,0,0.4);
    }

    .sidebar .navbar-brand {
        font-size: 1.1rem;
    }

    .sidebar .oi {
        width: 2rem;
        font-size: 1.1rem;
        vertical-align: text-top;
        top: -2px;
    }

    .sidebar .nav-item {
        font-size: 0.9rem;
        padding-bottom: 0.5rem;
    }

        .sidebar .nav-item:first-of-type {
            padding-top: 1rem;
        }

        .sidebar .nav-item:last-of-type {
            padding-bottom: 1rem;
        }

        .sidebar .nav-item a {
            color: #d7d7d7;
            border-radius: 4px;
            height: 3rem;
            display: flex;
            align-items: center;
            line-height: 3rem;
        }

            .sidebar .nav-item a.active {
                background-color: rgba(255,255,255,0.25);
                color: white;
            }

            .sidebar .nav-item a:hover {
                background-color: rgba(255,255,255,0.1);
                color: white;
            }

.content {
    padding-top: 1.1rem;
}

.navbar-toggler {
    background-color: rgba(255, 255, 255, 0.1);
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid red;
}

.validation-message {
    color: red;
}

#blazor-error-ui {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

#blazor-error-ui .dismiss {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}

@media (max-width: 767.98px) {
    .main .top-row:not(.auth) {
        display: none;
    }

    .main .top-row.auth {
        justify-content: space-between;
    }

    .main .top-row a, .main .top-row .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 768px) {
    app {
        flex-direction: row;
    }

    .sidebar {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .main .top-row {
        position: sticky;
        top: 0;
    }

    .main > div {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }

    .navbar-toggler {
        display: none;
    }

    .sidebar .collapse {
        /* Never collapse the sidebar for wide screens */
        display: block;
    }
}
.rz-breadcrumb {
    margin: 0;
    padding: 0;
    width:100%;
}

.rz-breadcrumb-list {
    display: flex;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 0.25rem;
}

.rz-breadcrumb-item {
    display: flex;
    align-items: center;
    font-size: 0.875rem;
}

.rz-breadcrumb-link {
    color: #3b82f6;
    text-decoration: none;
    /*padding: 0.125rem 0.25rem;*/
    border-radius: 0.25rem;
}

    .rz-breadcrumb-link:hover {
        color: #1d4ed8;
        text-decoration: underline;
        background-color: #f1f5f9;
    }

.rz-breadcrumb-text-active {
    color: #64748b;
    font-weight: 500;
    padding: 0.125rem 0.25rem;
}

.rz-breadcrumb-item-active .rz-breadcrumb-text-active {
    color: #1e293b;
}

.rz-breadcrumb-separator {
    color: #94a3b8;
    margin: 0 0.375rem;
    user-select: none;

}
/* ═══════════════════════════════════════════════════════════════════════════════
   FooterTemplate Component Styles
   ═══════════════════════════════════════════════════════════════════════════════ */

.rz-footer-template {
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    min-height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.5rem;
    flex-wrap: wrap;
}

/* ═══════════════════════════════════════════════════════════════════════════════
   Text Alignment Classes
   ═══════════════════════════════════════════════════════════════════════════════ */

.rz-text-left {
    text-align: left;
    justify-content: flex-start;
}

.rz-text-center {
    text-align: center;
    justify-content: center;
}

.rz-text-right {
    text-align: right;
    justify-content: flex-end;
}

.rz-text-justify {
    text-align: justify;
    justify-content: space-between;
}

/* ═══════════════════════════════════════════════════════════════════════════════
   Border Styles
   ═══════════════════════════════════════════════════════════════════════════════ */

.rz-footer-bordered {
    border-top: 1px solid #e2e8f0; /* slate-200 */
}

/* ═══════════════════════════════════════════════════════════════════════════════
   Theme Variants
   ═══════════════════════════════════════════════════════════════════════════════ */

/* Default Theme */
.rz-footer-default {
    background-color: #f8fafc; /* slate-50 */
    color: #475569; /* slate-600 */
}

    .rz-footer-default.rz-footer-bordered {
        border-top-color: #e2e8f0; /* slate-200 */
    }

/* Primary Theme */
.rz-footer-primary {
    background-color: #eff6ff; /* blue-50 */
    color: #1e40af; /* blue-800 */
}

    .rz-footer-primary.rz-footer-bordered {
        border-top-color: #bfdbfe; /* blue-200 */
    }

/* Secondary Theme */
.rz-footer-secondary {
    background-color: #f1f5f9; /* slate-100 */
    color: #334155; /* slate-700 */
}

    .rz-footer-secondary.rz-footer-bordered {
        border-top-color: #cbd5e1; /* slate-300 */
    }

/* Success Theme */
.rz-footer-success {
    background-color: #f0fdf4; /* green-50 */
    color: #166534; /* green-800 */
}

    .rz-footer-success.rz-footer-bordered {
        border-top-color: #bbf7d0; /* green-200 */
    }

/* Warning Theme */
.rz-footer-warning {
    background-color: #fffbeb; /* amber-50 */
    color: #92400e; /* amber-800 */
}

    .rz-footer-warning.rz-footer-bordered {
        border-top-color: #fde68a; /* amber-200 */
    }

/* Danger Theme */
.rz-footer-danger {
    background-color: #fef2f2; /* red-50 */
    color: #991b1b; /* red-800 */
}

    .rz-footer-danger.rz-footer-bordered {
        border-top-color: #fecaca; /* red-200 */
    }

/* Info Theme */
.rz-footer-info {
    background-color: #f0f9ff; /* sky-50 */
    color: #075985; /* sky-800 */
}

    .rz-footer-info.rz-footer-bordered {
        border-top-color: #bae6fd; /* sky-200 */
    }

/* Light Theme */
.rz-footer-light {
    background-color: #ffffff; /* white */
    color: #374151; /* gray-700 */
}

    .rz-footer-light.rz-footer-bordered {
        border-top-color: #d1d5db; /* gray-300 */
    }

/* Dark Theme */
.rz-footer-dark {
    background-color: #1f2937; /* gray-800 */
    color: #f9fafb; /* gray-50 */
}

    .rz-footer-dark.rz-footer-bordered {
        border-top-color: #4b5563; /* gray-600 */
    }

/* ═══════════════════════════════════════════════════════════════════════════════
   DataGrid Footer Integration
   ═══════════════════════════════════════════════════════════════════════════════ */

/* Para uso en DataGrid */
.rz-datatable .rz-footer-template {
    border-top: 1px solid #e2e8f0;
    background-color: #f8fafc;
    margin: 0;
}

/* Para uso en Cards */
.rz-card .rz-footer-template {
    border-top: 1px solid #e2e8f0;
    border-radius: 0 0 0.5rem 0.5rem;
    margin: 0;
}

/* ═══════════════════════════════════════════════════════════════════════════════
   Responsive Design
   ═══════════════════════════════════════════════════════════════════════════════ */

@media (max-width: 640px) {
    .rz-footer-template {
        padding: 0.5rem 0.75rem;
        font-size: 0.75rem;
        min-height: 2rem;
        flex-direction: column;
        align-items: stretch;
        gap: 0.25rem;
    }

    .rz-text-left,
    .rz-text-center,
    .rz-text-right {
        justify-content: center;
        text-align: center;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════════
   Common Footer Elements
   ═══════════════════════════════════════════════════════════════════════════════ */

.rz-footer-template .rz-footer-text {
    margin: 0;
    font-weight: 500;
}

.rz-footer-template .rz-footer-button {
    padding: 0.25rem 0.75rem;
    border-radius: 0.375rem;
    font-size: 0.75rem;
    font-weight: 500;
    border: dashed 1px #ccc;
}
/* Estilos Tipográficos Radzen */

/* Headers */
.rz-h1 {
    font-size: 6rem;
    font-weight: 300;
    line-height: 1.167;
    letter-spacing: -0.01562em;
    margin: 0 0 16px 0;
}

.rz-h2 {
    font-size: 3.75rem;
    font-weight: 300;
    line-height: 1.2;
    letter-spacing: -0.00833em;
    margin: 0 0 16px 0;
}

.rz-h3 {
    font-size: 3rem;
    font-weight: 400;
    line-height: 1.167;
    letter-spacing: 0em;
    margin: 0 0 16px 0;
}

.rz-h4 {
    font-size: 2.125rem;
    font-weight: 400;
    line-height: 1.235;
    letter-spacing: 0.00735em;
    margin: 0 0 16px 0;
}

.rz-h5 {
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1.334;
    letter-spacing: 0em;
    margin: 0 0 16px 0;
}

.rz-h6 {
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.0075em;
    margin: 0 0 16px 0;
}

/* Display Text */
.rz-display-1 {
    font-size: 8rem;
    font-weight: 300;
    line-height: 1.167;
    letter-spacing: -0.01562em;
    margin: 0 0 20px 0;
}

.rz-display-2 {
    font-size: 7rem;
    font-weight: 300;
    line-height: 1.2;
    letter-spacing: -0.00833em;
    margin: 0 0 20px 0;
}

.rz-display-3 {
    font-size: 5.5rem;
    font-weight: 400;
    line-height: 1.167;
    letter-spacing: 0em;
    margin: 0 0 20px 0;
}

.rz-display-4 {
    font-size: 4.5rem;
    font-weight: 400;
    line-height: 1.235;
    letter-spacing: 0.00735em;
    margin: 0 0 20px 0;
}

/* Subtitles */
.rz-subtitle {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.00938em;
    margin: 0 0 8px 0;
}

.rz-subtitle1 {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.00938em;
    margin: 0 0 8px 0;
}

.rz-subtitle2 {
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.57;
    letter-spacing: 0.00714em;
    margin: 0 0 8px 0;
}

/* Body Text */
.rz-body1 {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.00938em;
    margin: 0 0 12px 0;
}

.rz-body2 {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.43;
    letter-spacing: 0.01071em;
    margin: 0 0 12px 0;
}

/* Overline */
.rz-overline {
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 2.66;
    letter-spacing: 0.08333em;
    text-transform: uppercase;
    margin: 0 0 4px 0;
}

/* Utilidades adicionales */
.rz-text-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rz-text-wrap {
    white-space: normal;
    word-wrap: break-word;
}

.rz-text-nowrap {
    white-space: nowrap;
}

/* Colores de texto comunes en Radzen */
.rz-color-primary {
    color: var(--rz-primary);
}

.rz-color-secondary {
    color: var(--rz-secondary);
}

.rz-color-success {
    color: var(--rz-success);
}

.rz-color-danger {
    color: var(--rz-danger);
}

.rz-color-warning {
    color: var(--rz-warning);
}

.rz-color-info {
    color: var(--rz-info);
}

.rz-color-light {
    color: var(--rz-light);
}

.rz-color-dark {
    color: var(--rz-dark);
}

/* Variables CSS para personalización */
:root {
    --rz-primary: #007bff;
    --rz-secondary: #6c757d;
    --rz-success: #28a745;
    --rz-danger: #dc3545;
    --rz-warning: #ffc107;
    --rz-info: #17a2b8;
    --rz-light: #f8f9fa;
    --rz-dark: #343a40;
}
.Verde1{
        background-color: #d4edda;
}
