/* /Layout/LoginDisplay.razor.rz.scp.css */
/* User Profile Styles */
.user-profile[b-e80x2bvyfu] {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.user-greeting[b-e80x2bvyfu] {
    font-weight: 500;
    color: #374151;
    font-size: 0.95rem;
}

.user-actions[b-e80x2bvyfu] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.profile-link[b-e80x2bvyfu], .logout-button[b-e80x2bvyfu] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: #f3f4f6;
    color: #6b7280;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: all 0.2s;
    font-size: 1.1rem;
}

.profile-link:hover[b-e80x2bvyfu], .logout-button:hover[b-e80x2bvyfu] {
    background: #e5e7eb;
    color: #374151;
}

.logout-button:hover[b-e80x2bvyfu] {
    background: #fee2e2;
    color: #dc2626;
}

/* Auth Links Styles */
.auth-links[b-e80x2bvyfu] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.auth-link[b-e80x2bvyfu] {
    padding: 0.75rem 1.25rem;
    text-decoration: none;
    border-radius: 8px;
    font-weight: 500;
    transition: all 0.2s;
    font-size: 0.95rem;
}

.auth-link:not(.primary)[b-e80x2bvyfu] {
    color: #6b7280;
    background: #f9fafb;
}

.auth-link:not(.primary):hover[b-e80x2bvyfu] {
    color: #374151;
    background: #f3f4f6;
    text-decoration: none;
}

.auth-link.primary[b-e80x2bvyfu] {
    background: #3b82f6;
    color: white;
}

.auth-link.primary:hover[b-e80x2bvyfu] {
    background: #2563eb;
    text-decoration: none;
}

/* Mobile Responsiveness */
@media (max-width: 640.98px) {
    .user-greeting[b-e80x2bvyfu] {
        display: none;
    }
}
/* /Layout/MainLayout.razor.rz.scp.css */
.page[b-92910v8gtb] {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.main-content[b-92910v8gtb] {
    flex: 1;
    display: flex;
    flex-direction: column;
}

main[b-92910v8gtb] {
    flex: 1;
}

.sidebar[b-92910v8gtb] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

/* Nueva clase para el header personalizado */
.app-header[b-92910v8gtb] {
    background: #ffffff;
    border-bottom: 2px solid #e5e7eb;
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1);
    padding: 0 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 3.5rem;
    position: sticky;
    top: 0;
    z-index: 100;
    width: 100%;
}

.header-spacer[b-92910v8gtb] {
    flex: 1;
}

.header-menu[b-92910v8gtb] {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

@media (max-width: 640.98px) {
    .app-header[b-92910v8gtb] {
        padding: 0 1rem;
        height: 3.5rem;
    }

    .header-menu[b-92910v8gtb] {
        gap: 1rem;
    }
}

@media (min-width: 641px) {
    .page[b-92910v8gtb] {
        flex-direction: row;
    }

    .sidebar[b-92910v8gtb] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .main-content[b-92910v8gtb] {
        flex: 1;
    }

    .app-header[b-92910v8gtb] {
        position: sticky;
        top: 0;
        z-index: 100;
    }

    .content[b-92910v8gtb] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}
/* /Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-wypcg6kmfs] {
    background-color: rgba(255, 255, 255, 0.1);
}

.top-row[b-wypcg6kmfs] {
    height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-wypcg6kmfs] {
    font-size: 1.1rem;
}

.bi[b-wypcg6kmfs] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-wypcg6kmfs] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-wypcg6kmfs] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-wypcg6kmfs] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

@media (min-width: 641px) {
    .navbar-toggler[b-wypcg6kmfs] {
        display: none;
    }

    .collapse[b-wypcg6kmfs] {
        /* Never collapse the sidebar for wide screens */
        display: block;
    }

    .nav-scrollable[b-wypcg6kmfs] {
        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}

/* Mobile specific adjustments */
@media (max-width: 640px) {
    .top-row[b-wypcg6kmfs] {
        height: 3rem;
    }
    
    .navbar-brand[b-wypcg6kmfs] {
        font-size: 1.25rem;
    }
    
    .nav-scrollable[b-wypcg6kmfs] {
        background: linear-gradient(180deg, #1e3a8a 0%, #7c3aed 100%);
        backdrop-filter: blur(12px);
    }
}
/* /Pages/LegalDocuments/LegalDocumentCreate.razor.rz.scp.css */
[b-eymcpu26rx] .legal-document-create {
    max-width: 1180px;
    padding: clamp(1rem, 2vw, 1.75rem);
    margin-bottom: 2rem;
    background: linear-gradient(180deg, rgba(102, 121, 255, 0.08) 0%, rgba(255, 255, 255, 0) 85%);
    border-radius: 24px;
}

[b-eymcpu26rx] .legal-document-card {
    border: 1px solid #e0e7f5;
    border-radius: 20px;
    background: linear-gradient(180deg, #ffffff 45%, #f4f7fb 100%);
}

[b-eymcpu26rx] .legal-document-card-body {
    padding: clamp(1.25rem, 3vw, 2.25rem);
}

.document-create-form[b-eymcpu26rx] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.document-create-form .compact-label[b-eymcpu26rx] {
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #5b6a80;
}

.document-create-form .form-select-sm[b-eymcpu26rx],
.document-create-form .form-control-sm[b-eymcpu26rx] {
    border-radius: 0.75rem;
    padding: 0.6rem 0.75rem;
    border-color: #ccd6ec;
    background-color: #f7f9ff;
}

.document-create-form .form-select-sm:focus[b-eymcpu26rx],
.document-create-form .form-control-sm:focus[b-eymcpu26rx] {
    border-color: #6a7bff;
    box-shadow: 0 0 0 0.15rem rgba(106, 123, 255, 0.18);
}

[b-eymcpu26rx] .document-create-form .btn {
    border-radius: 0.75rem;
}

[b-eymcpu26rx] .document-create-form .btn-primary {
    box-shadow: 0 8px 18px rgba(98, 111, 255, 0.22);
}

[b-eymcpu26rx] .document-create-form .btn-primary:disabled {
    box-shadow: none;
}

[b-eymcpu26rx] .document-create-form .alert {
    border-radius: 0.85rem;
    padding: 0.85rem 1rem;
}

@media (max-width: 767.98px) {
    [b-eymcpu26rx] .legal-document-create {
        padding: 1rem;
        border-radius: 18px;
    }

    [b-eymcpu26rx] .legal-document-card-body {
        padding: 1.25rem;
    }
}
/* /Pages/LegalDocuments/LegalDocumentEdit.razor.rz.scp.css */
[b-71a17rlpx2] .legal-document-edit {
    max-width: 1180px;
    padding: clamp(1rem, 2vw, 1.75rem);
    margin-bottom: 2rem;
    background: linear-gradient(180deg, rgba(102, 121, 255, 0.08) 0%, rgba(255, 255, 255, 0) 85%);
    border-radius: 24px;
}

.document-edit-form[b-71a17rlpx2] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

[b-71a17rlpx2] .legal-document-card {
    border: 1px solid #e0e7f5;
    border-radius: 20px;
    background: linear-gradient(180deg, #ffffff 45%, #f5f8ff 100%);
}

[b-71a17rlpx2] .legal-document-card-body {
    padding: clamp(1.25rem, 3vw, 2.25rem);
}

[b-71a17rlpx2] .document-edit-form .association-grid {
    align-items: flex-start;
}

.document-edit-form .compact-label[b-71a17rlpx2] {
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #5b6a80;
}

.document-edit-form .form-select-sm[b-71a17rlpx2],
.document-edit-form .form-control-sm[b-71a17rlpx2] {
    border-radius: 0.75rem;
    padding: 0.6rem 0.75rem;
    border-color: #ccd6ec;
    background-color: #f7f9ff;
}

.document-edit-form .form-select-sm:focus[b-71a17rlpx2],
.document-edit-form .form-control-sm:focus[b-71a17rlpx2] {
    border-color: #6a7bff;
    box-shadow: 0 0 0 0.15rem rgba(106, 123, 255, 0.18);
}

.association-tip[b-71a17rlpx2] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.65rem 0.85rem;
    border-radius: 0.9rem;
    background: rgba(106, 123, 255, 0.08);
    color: #4a5681;
    font-size: 0.8rem;
    width: 100%;
    margin-top: 0.5rem;
    flex-wrap: wrap;
    border-radius: 0.75rem;
}

[b-71a17rlpx2] .side-panel-card {
    border: 1px solid #e0e7f5;
    border-radius: 18px;
    background: linear-gradient(180deg, #ffffff 40%, #f6f8ff 100%);
}

.signature-editor-panel[b-71a17rlpx2] {
    border-radius: 16px;
    padding: 1rem;
    background: linear-gradient(180deg, rgba(102, 121, 255, 0.12) 0%, rgba(255, 255, 255, 0.85) 85%);
    border: 1px solid rgba(102, 121, 255, 0.25);
}

.signature-editor-panel .form-check-input:focus[b-71a17rlpx2] {
    box-shadow: 0 0 0 0.15rem rgba(106, 123, 255, 0.2);
}

.signature-editor-panel .form-control-sm[b-71a17rlpx2] {
    border-radius: 0.65rem;
}

@media (max-width: 767.98px) {
    [b-71a17rlpx2] .legal-document-edit {
        padding: 1rem;
        border-radius: 18px;
    }

    [b-71a17rlpx2] .legal-document-card-body {
        padding: 1.25rem;
    }

    [b-71a17rlpx2] .side-panel-card {
        border-radius: 16px;
    }
}
/* /Shared/Components/Documents/GroupedDocumentSection.razor.rz.scp.css */
.grouped-document-section .document-item[b-32mc6xch25] {
  transition: all 0.2s ease-in-out;
}

.grouped-document-section .document-item:hover[b-32mc6xch25] {
  background-color: var(--bs-light);
  border-color: var(--bs-primary) !important;
}

.grouped-document-section .document-summary .border[b-32mc6xch25] {
  transition: all 0.2s ease-in-out;
}

.grouped-document-section .document-summary .border:hover[b-32mc6xch25] {
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.grouped-document-section .group-header[b-32mc6xch25] {
  border-bottom: 1px solid var(--bs-border-color);
  padding-bottom: 0.5rem;
}

.grouped-document-section .document-group[b-32mc6xch25] {
  border-left: 3px solid var(--bs-primary);
  padding-left: 1rem;
  margin-left: 0.5rem;
}

/* Button group tweaks (component scoped) */
.grouped-document-section .btn-group .btn[b-32mc6xch25] {
  border-radius: 0.25rem;
}

.grouped-document-section .btn-group .btn:not(:last-child)[b-32mc6xch25] {
  margin-right: 0.25rem;
}
/* /Shared/Components/Documents/MultiAssociationForm.razor.rz.scp.css */
.association-grid[b-tilcqii7ww] {
    --association-gap: 0.75rem;
}

.association-grid .compact-label[b-tilcqii7ww] {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #5b6a80;
}

.association-grid .form-select-sm[b-tilcqii7ww] {
    border-radius: 0.75rem;
    padding: 0.6rem 0.75rem;
    border-color: #ccd6ec;
    background-color: #f7f9ff;
}

.association-grid .form-select-sm:focus[b-tilcqii7ww] {
    border-color: #6a7bff;
    box-shadow: 0 0 0 0.15rem rgba(106, 123, 255, 0.16);
}

.association-alert[b-tilcqii7ww] {
    margin-bottom: 0;
    background: rgba(232, 76, 61, 0.1);
    border-color: rgba(232, 76, 61, 0.35);
    color: #a23b2c;
}

.association-company-container[b-tilcqii7ww] {
    display: flex;
    align-items: center;
}

.association-company-chip[b-tilcqii7ww] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 1rem;
    border-radius: 999px;
    background: rgba(99, 112, 255, 0.16);
    color: #344071;
    font-weight: 600;
}

.association-summary[b-tilcqii7ww] {
    border: 1px solid #d8e0f4;
    border-radius: 16px;
    padding: 0.9rem 1.1rem;
    background: linear-gradient(180deg, #f5f7ff 0%, #ffffff 75%);
}

.association-summary-header[b-tilcqii7ww] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
    color: #4c5d94;
}

.association-chip-list[b-tilcqii7ww] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.association-chip[b-tilcqii7ww] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 0.9rem;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 600;
    background-color: #eef2ff;
    color: #394572;
}

.association-chip--company[b-tilcqii7ww] {
    background-color: rgba(99, 112, 255, 0.15);
    color: #2f3d73;
}

.association-chip--project[b-tilcqii7ww] {
    background-color: rgba(73, 189, 240, 0.18);
    color: #1b5370;
}

.association-chip--provider[b-tilcqii7ww] {
    background-color: rgba(93, 201, 164, 0.18);
    color: #185042;
}

.association-chip--vendor[b-tilcqii7ww] {
    background-color: rgba(248, 199, 88, 0.2);
    color: #7a4e0b;
}

@media (max-width: 767.98px) {
    .association-summary[b-tilcqii7ww] {
        padding: 0.75rem 0.85rem;
    }

    .association-chip[b-tilcqii7ww] {
        width: 100%;
        justify-content: center;
    }
}
/* /Shared/Components/Tables/DataTable.razor.rz.scp.css */
.data-table-wrapper[b-vt2585x1zd] {
  width: 100%;
  display: block;
}

.data-table-wrapper table[b-vt2585x1zd] {
  width: 100%;
  table-layout: auto;
}

.data-table-wrapper table tbody tr[b-vt2585x1zd] {
  vertical-align: middle;
}

/* Ensure cells wrap instead of forcing horizontal scroll pushing layout */
.data-table-wrapper table td[b-vt2585x1zd], 
.data-table-wrapper table th[b-vt2585x1zd] {
  white-space: nowrap;
}

@media (max-width: 992px) {
  .data-table-wrapper table td[b-vt2585x1zd], 
  .data-table-wrapper table th[b-vt2585x1zd] {
    white-space: normal;
  }
}
