/* File: /public/assets/css/shared-ui.css */

:root {
    --shared-shell-max-width: 100%;
    --shared-content-max-width: 1680px;
    --shared-card-radius: 1rem;
}

body {
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.app-shell,
.platform-content {
    max-width: var(--shared-shell-max-width);
}

.shared-page-wrap {
    width: 100%;
    max-width: var(--shared-content-max-width);
    margin: 0 auto;
}

.card,
.btn,
.form-control,
.form-select,
.input-group-text,
.alert,
.dropdown-menu,
.list-group-item {
    border-radius: var(--shared-card-radius);
}

.table-responsive > .table {
    margin-bottom: 0;
    min-width: 720px;
}

.table > :not(caption) > * > * {
    vertical-align: middle;
}

.shared-stat-card,
.shared-compact-card,
.shared-filter-card,
.shared-table-card {
    border: 1px solid rgba(15, 23, 42, 0.06);
}

.shared-stat-icon {
    width: 2.75rem;
    height: 2.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(13, 110, 253, 0.08);
    font-size: 1.25rem;
}

.shared-empty-icon {
    width: 4.5rem;
    height: 4.5rem;
    margin: 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(108, 117, 125, 0.1);
    font-size: 2rem;
    color: #6c757d;
}

.shared-page-title,
.platform-page-title {
    letter-spacing: 0.02em;
}

.shared-toolbar-sticky {
    position: sticky;
    top: 0;
    z-index: 10;
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(8px);
}

.shared-form-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 1rem;
}

.shared-form-grid > .col-span-12 { grid-column: span 12; }
.shared-form-grid > .col-span-6 { grid-column: span 6; }
.shared-form-grid > .col-span-4 { grid-column: span 4; }
.shared-form-grid > .col-span-3 { grid-column: span 3; }

@media (max-width: 991.98px) {
    .shared-form-grid > .col-span-6,
    .shared-form-grid > .col-span-4,
    .shared-form-grid > .col-span-3 {
        grid-column: span 12;
    }

    .table-responsive > .table {
        min-width: 640px;
    }
}
