/* Shared performance-state and keyboard-accessibility polish for core app pages. */
.application-empty-state {
    background: #f8f9fa;
    border: 1px dashed #a8b0bd;
    border-radius: .375rem;
    color: #343a40;
    padding: 1rem;
    text-align: center;
}

.review-period-heading {
    font-size: clamp(1rem, 1.5vw, 1.25rem);
    font-weight: 500;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

/* Meeting attendance uses filled controls only for the saved choice. */
.btn-meeting-response:not(.selected).btn-success {
    color: var(--brand-success, #3f7229) !important;
    background-color: #fff !important;
    border-color: var(--brand-success, #3f7229) !important;
}

.btn-meeting-response:not(.selected).btn-primary {
    color: var(--brand-primary, #2f5798) !important;
    background-color: #fff !important;
    border-color: var(--brand-primary, #2f5798) !important;
}

.btn-meeting-response:not(.selected).btn-danger {
    color: var(--brand-danger, #b32636) !important;
    background-color: #fff !important;
    border-color: var(--brand-danger, #b32636) !important;
}

.btn-meeting-response:not(.selected):not(:disabled):hover,
.btn-meeting-response:not(.selected):not(:disabled):focus {
    color: #fff !important;
}

.btn-meeting-response:not(.selected).btn-success:not(:disabled):hover,
.btn-meeting-response:not(.selected).btn-success:not(:disabled):focus {
    background-color: var(--brand-success, #3f7229) !important;
    border-color: var(--brand-success, #3f7229) !important;
}

.btn-meeting-response:not(.selected).btn-primary:not(:disabled):hover,
.btn-meeting-response:not(.selected).btn-primary:not(:disabled):focus {
    background-color: var(--brand-primary, #2f5798) !important;
    border-color: var(--brand-primary, #2f5798) !important;
}

.btn-meeting-response:not(.selected).btn-danger:not(:disabled):hover,
.btn-meeting-response:not(.selected).btn-danger:not(:disabled):focus {
    background-color: var(--brand-danger, #b32636) !important;
    border-color: var(--brand-danger, #b32636) !important;
}

/* Company Settings is a panel navigator. Keep the list, forms, and action
   rows aligned without leaking those spacing rules to other settings screens. */
.company-settings-page {
    max-width: 1180px;
    margin-right: auto;
    margin-left: auto;
}

.company-settings-page #settings-panel-all {
    display: grid;
    gap: 1rem;
}

.company-settings-page .block-link-settings {
    display: flex;
    align-items: center;
    min-height: 4.5rem;
    margin-bottom: 0;
    border-color: #dce3ea;
}

.company-settings-page .block-link-settings .block-content {
    width: 100%;
    padding: 1.25rem 3.5rem 1.25rem 1.25rem;
}

.company-settings-page .block-link-settings i {
    top: 50%;
    right: 1.25rem;
    transform: translateY(-50%);
}

.company-settings-page .block-settings {
    padding: 0;
}

.company-settings-page .block-settings .block {
    margin-bottom: 0;
    border: 1px solid #dce3ea;
}

.company-settings-page .block-settings .block-header {
    min-height: 4rem;
    padding: .75rem 1.25rem;
}

.company-settings-page .block-settings .block-content {
    padding: 1.5rem 1.25rem;
}

.company-settings-page .form-group {
    margin-bottom: 1.25rem;
}

.company-settings-page .row-note {
    align-items: center;
    margin-right: 0;
    margin-left: 0;
    padding: .875rem 0;
    border-bottom: 1px solid #e8edf3;
}

.company-settings-page .row-note .form-group {
    margin-bottom: 0;
}

.company-settings-page .form-spacer {
    margin-top: 2rem;
    margin-bottom: 1rem;
}

.company-settings-page .btn-settings-save.btn-success,
.company-settings-page .btn-block-settings-back {
    min-height: 2.5rem;
}

@supports selector(:focus-visible) {
    a:focus-visible,
    button:focus-visible,
    input:focus-visible,
    select:focus-visible,
    textarea:focus-visible,
    [tabindex]:focus-visible {
        outline: 3px solid #0b6fc2 !important;
        outline-offset: 2px;
        box-shadow: none !important;
    }
}

@media (max-width: 767.98px) {
    #modal-project-challenge-new .modal-dialog {
        margin: .5rem;
        max-width: none;
        width: calc(100% - 1rem);
    }

    #modal-project-challenge-new .modal-content,
    #modal-project-challenge-new .block {
        max-height: calc(100vh - 1rem);
        max-height: calc(100dvh - 1rem);
    }

    #modal-project-challenge-new .block {
        display: flex;
        flex-direction: column;
    }

    #modal-project-challenge-new .block-header {
        flex: 0 0 auto;
        padding: .625rem .75rem;
    }

    #modal-project-challenge-new .block-title {
        font-size: 1rem;
        line-height: 1.25;
        overflow-wrap: anywhere;
    }

    #modal-project-challenge-new .modal-limit-height {
        flex: 1 1 auto;
        max-height: none !important;
        overflow-x: hidden;
        overflow-y: auto;
        padding: .75rem;
    }

    #modal-project-challenge-new .js-ckeditor5,
    #modal-project-challenge-new .ck-editor__editable {
        min-height: 11rem !important;
    }

    #modal-project-challenge-new .block-content:last-child .row {
        align-items: center;
        gap: .5rem;
    }

    #modal-project-challenge-new .block-content:last-child .row > [class*="col"] {
        flex: 1 1 100%;
        max-width: 100%;
        text-align: left !important;
    }

    #modal-project-challenge-new .block-content:last-child .btn {
        margin: 0 .5rem .5rem 0 !important;
        min-height: 44px;
    }

    .core-page-actions .btn {
        margin-bottom: .5rem;
        margin-left: 0 !important;
        min-height: 44px;
        width: 100%;
    }

    .tasks-view,
    .projects-view {
        align-items: center;
        display: inline-flex;
        justify-content: center;
        min-height: 44px;
        min-width: 44px;
    }

    #task-filter .form-control,
    #projects-filter {
        min-height: 44px;
    }

    .meeting-workflow-hero .content,
    .meeting-workspace {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .meeting-workflow-hero #meeting_name {
        line-height: 1.25;
        overflow-wrap: anywhere;
    }

    .meeting-workflow-actions {
        display: grid;
        gap: .5rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: .75rem;
        width: 100%;
    }

    .meeting-workflow-actions > .btn,
    .meeting-workflow-actions > .btn-group,
    .meeting-workflow-actions > .btn-group > .btn,
    .meeting-agenda-toggle .btn {
        margin: 0 !important;
        min-height: 44px;
        width: 100%;
    }

    .meeting-workflow-hero .qr-code {
        justify-content: center;
        margin-left: 0 !important;
        margin-top: 1rem;
        width: 100%;
    }

    .meeting-workspace-sidebar {
        margin-bottom: 1rem !important;
    }

    .meeting-agenda-toggle {
        margin-bottom: 1rem !important;
    }

    .meeting-workspace .nav-tabs,
    .meeting-workspace .recap-tabs {
        -webkit-overflow-scrolling: touch;
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
    }

    .meeting-workspace .nav-tabs .nav-link,
    .meeting-workspace .recap-tabs .nav-link,
    .meeting-workspace .meeting-section-nav .list-group-item {
        min-height: 44px;
    }

    .meeting-workspace .nav-tabs .nav-link,
    .meeting-workspace .recap-tabs .nav-link {
        align-items: center;
        display: inline-flex;
        white-space: nowrap;
    }

    .meeting-workspace img,
    .meeting-workflow-hero canvas,
    .meeting-workspace iframe,
    .meeting-workspace video {
        height: auto;
        max-width: 100%;
    }

    .meeting-workspace .table-responsive,
    .meeting-workspace .table-responsive-md {
        -webkit-overflow-scrolling: touch;
        overflow-x: auto;
    }

    .meeting-workspace .block-options .btn-block-option {
        min-height: 44px;
        min-width: 44px;
    }

    .company-settings-page {
        padding-right: 1rem;
        padding-left: 1rem;
    }

    .company-settings-page .block-settings .block-header {
        align-items: flex-start;
        min-height: auto;
    }

    .company-settings-page .block-settings .block-title {
        line-height: 1.3;
        overflow-wrap: anywhere;
    }

    .company-settings-page .block-settings .block-content {
        padding: 1rem;
    }

    .company-settings-page .row-note > [class*="col-"] {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .company-settings-page .row-note > [class*="col-"] + [class*="col-"] {
        margin-top: .5rem;
        text-align: left !important;
    }

    .company-settings-page .block-content > .row:last-child > [class*="col-"] {
        margin-bottom: .5rem;
    }

    .company-settings-page .block-content > .row:last-child .btn {
        width: 100%;
    }
}

@media (max-width: 359.98px) {
    .meeting-workflow-actions {
        grid-template-columns: 1fr;
    }
}
