/* Global Glass Theme */
:root {
    --glass-bg: rgba(255, 255, 255, 0.22);
    --glass-strong: rgba(255, 255, 255, 0.34);
    --glass-border: rgba(255, 255, 255, 0.28);
    --radius-lg: 22px;
    --radius-md: 18px;
    --radius-sm: 14px;
    --ink-strong: #0f172a;
    --ink-muted: rgba(15, 23, 42, 0.62);
    --accent-blue: #2f7ef7;
    --accent-green: #24c48a;
    --accent-orange: #f5a524;
    --accent-red: #f43f5e;
}

body {
    font-family: "Poppins", sans-serif;
    background: radial-gradient(1200px 520px at 18% 0%, rgba(68, 114, 160, 0.35), transparent 60%),
                radial-gradient(900px 520px at 85% 20%, rgba(123, 158, 141, 0.3), transparent 55%),
                linear-gradient(180deg, #e7e9ec 0%, #d9dde1 100%);
    background-attachment: fixed;
    color: var(--ink-strong);
}

/* Generic glass surface */
.card,
.modal-content,
.alert,
.list-group-item {
    background: var(--glass-strong);
    border: 1px solid var(--glass-border);
    backdrop-filter: blur(28px) saturate(175%);
    -webkit-backdrop-filter: blur(28px) saturate(175%);
    box-shadow: 0 10px 20px rgba(15, 23, 42, 0.12);
    border-radius: var(--radius-lg);
}

.card-header,
.modal-header {
    background: transparent;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.card-footer,
.modal-footer {
    background: transparent;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.table {
    color: var(--ink-strong);
}

.table-responsive,
.dataTables_wrapper {
    border-radius: var(--radius-lg);
    overflow-x: auto;
    overflow-y: hidden;
    border: 1px solid rgba(255, 255, 255, 0.25);
    background: var(--glass-strong);
    backdrop-filter: blur(28px) saturate(175%);
    -webkit-backdrop-filter: blur(28px) saturate(175%);
    box-shadow: 0 10px 20px rgba(15, 23, 42, 0.12);
    -webkit-overflow-scrolling: touch;
}

.table thead th {
    border-bottom: 1px solid rgba(255, 255, 255, 0.35);
    color: var(--ink-muted);
    font-weight: 500;
}

.table td,
.table th {
    border-top: 1px solid rgba(255, 255, 255, 0.25);
}

.form-control,
.custom-select,
input,
select,
textarea {
    background: rgba(255, 255, 255, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.5);
    color: var(--ink-strong);
    border-radius: var(--radius-md);
}

.form-control:focus,
.custom-select:focus,
input:focus,
select:focus,
textarea:focus {
    box-shadow: 0 0 0 0.2rem rgba(47, 126, 247, 0.2);
    border-color: rgba(47, 126, 247, 0.6);
}

.btn {
    border-radius: 999px;
    font-weight: 500;
}

.btn-primary {
    background: var(--accent-blue);
    border-color: var(--accent-blue);
}

.btn-success {
    background: var(--accent-green);
    border-color: var(--accent-green);
}

.btn-warning {
    background: var(--accent-orange);
    border-color: var(--accent-orange);
}

.btn-danger {
    background: var(--accent-red);
    border-color: var(--accent-red);
}

.badge {
    border-radius: 999px;
}

.dropdown-menu {
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(255, 255, 255, 0.6);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.15);
    backdrop-filter: blur(16px);
}

.breadcrumb {
    background: transparent;
}

/* Utilities */
.glass-surface {
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    backdrop-filter: blur(28px) saturate(175%);
    -webkit-backdrop-filter: blur(28px) saturate(175%);
    border-radius: var(--radius-lg);
}

.text-muted {
    color: var(--ink-muted) !important;
}
.dropdown-item {
    color: var(--ink-strong);
}

.dropdown-item.text-danger {
    color: var(--accent-red) !important;
}

.dropdown-item:hover,
.dropdown-item:focus {
    background: rgba(47, 126, 247, 0.12);
}

/* Full-width content across all routed screens */
.main-content .container,
.main-content .container-sm,
.main-content .container-md,
.main-content .container-lg,
.main-content .container-xl,
.main-content .container-xxl {
    max-width: 100% !important;
    width: 100% !important;
}
