/**
 * LSU workspace UI — rounded cards/icons, shadows, responsive layout.
 * Load after style.css. Does not change theme colours.
 */
body.app .main .card,
body.app .card.card,
body.app .card-group .card,
body.app .card-deck .card {
    border: 0 !important;
    border-radius: 18px !important;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.09) !important;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

body.app .main .card:hover,
body.app .card.card:hover {
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.12) !important;
}

body.app .card-header {
    border-bottom: 1px solid #eef1f4;
    border-top-left-radius: 18px !important;
    border-top-right-radius: 18px !important;
}

body.app .card-footer {
    background: #fafbfc;
    border-top: 1px solid #eef1f4;
    border-bottom-left-radius: 18px !important;
    border-bottom-right-radius: 18px !important;
}

body.app .card-body i[class*="bg-"],
body.app .card-block i[class*="bg-"] {
    border-radius: 16px !important;
    width: 3.25rem !important;
    height: 3.25rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 1.3rem !important;
    line-height: 1 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.14) !important;
}

body.app .card-body:has(> i[class*="bg-"]),
body.app .card-block:has(> i[class*="bg-"]) {
    display: grid !important;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    align-items: center;
    column-gap: 0.9rem;
    row-gap: 0.15rem;
    min-height: 90px;
}

body.app .card-body > i[class*="bg-"],
body.app .card-block > i[class*="bg-"] {
    grid-row: 1 / span 2;
}

body.app .card-body > .h7,
body.app .card-block > .h7 {
    margin-top: 0 !important;
}

body.app .workspace-welcome,
body.app .dashboard-welcome,
body.app .admin-dashboard-header,
body.app .acc-hero {
    border-radius: 18px !important;
}

body.app .workspace-welcome,
body.app .dashboard-welcome {
    background: #fff;
    padding: 1.15rem 1.35rem;
    margin-bottom: 1.15rem;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
}

body.app .workspace-section-title,
body.app .dashboard-section-title {
    font-size: 0.78rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-weight: 700;
    color: #73818f;
    margin: 0 0 0.85rem 0.35rem;
}

body.app .workspace-cards > [class*="col-"],
body.app .dashboard-cards > [class*="col-"] {
    margin-bottom: 1rem;
}

body.app .notices-container,
body.app .admin-stat-card,
body.app .admin-users-card {
    border-radius: 18px !important;
}

body.app .notices-container .card {
    border-radius: 16px !important;
}

body.app .btn {
    border-radius: 10px !important;
}

body.app .btn-sm {
    border-radius: 999px !important;
}

body.app .badge {
    border-radius: 999px !important;
}

body.app .alert {
    border: 0 !important;
    border-radius: 14px !important;
}

body.app .modal-content {
    border: 0 !important;
    border-radius: 18px !important;
    overflow: hidden;
}

body.app .form-control,
body.app select.form-control,
body.app .custom-select {
    border-radius: 10px !important;
}

body.app .admin-stat-icon {
    border-radius: 16px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.14) !important;
}

body.app .admin-role-badge {
    border-radius: 999px !important;
}

body.app .table-responsive {
    border-radius: 0 0 18px 18px;
    -webkit-overflow-scrolling: touch;
}

body.app .main {
    overflow-x: hidden;
    padding-bottom: 1.5rem;
}

body.app .main .container-fluid {
    max-width: 1400px;
}

body.app img {
    max-width: 100%;
    height: auto;
}

body.app.flex-row .card,
body.app.flex-row .card-group .card {
    border-radius: 18px !important;
    overflow: hidden;
}

body.app.flex-row .form-control {
    border-radius: 10px !important;
    min-height: 44px;
}

body.app.flex-row .btn {
    border-radius: 10px !important;
    min-height: 44px;
}

@media (max-width: 991px) {
    body.app .notices-container {
        position: static !important;
    }
}

@media (max-width: 767px) {
    body.app .workspace-welcome,
    body.app .dashboard-welcome,
    body.app .admin-dashboard-header {
        flex-direction: column;
        align-items: stretch;
    }

    body.app .workspace-welcome .btn,
    body.app .dashboard-welcome .btn {
        width: 100%;
    }

    body.app .card-body:has(> i[class*="bg-"]),
    body.app .card-block:has(> i[class*="bg-"]) {
        min-height: auto;
    }

    body.app .card:hover {
        transform: none !important;
    }

    body.app .form-inline {
        display: block !important;
    }

    body.app .form-inline .form-group,
    body.app .form-inline .input-group {
        width: 100% !important;
        margin-bottom: 0.75rem;
    }

    body.app .modal-dialog {
        margin: 0.75rem auto;
        max-width: calc(100% - 1.5rem);
    }
}

@media (max-width: 575px) {
    body.app .workspace-cards > [class*="col-"],
    body.app .dashboard-cards > [class*="col-"],
    body.app .row.workspace-cards > .col-6 {
        flex: 0 0 100%;
        max-width: 100%;
    }
}
