@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Space+Grotesk:wght@500;700&display=swap');

:root {
    --sp-ink: #0f172a;
    --sp-muted: #475467;
    --sp-panel: rgba(255, 255, 255, 0.94);
    --sp-accent: #0f5a8a;
    --sp-accent-strong: #0a3e61;
    --sp-border: #d0d5dd;
}

body {
    font-family: 'Manrope', sans-serif;
    color: var(--sp-ink);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Space Grotesk', sans-serif;
    letter-spacing: 0.2px;
}

.wrapper {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.content {
    flex: 1;
}

.card {
    border: 0;
    border-radius: 16px;
    background: var(--sp-panel);
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.15);
}

.table-responsive {
    border-radius: 14px;
}

.table thead th {
    background: #123b5a !important;
    color: #fff !important;
    border-bottom: 0 !important;
}

.form-control,
.form-select {
    border-radius: 10px;
    border-color: var(--sp-border);
}

.form-control:focus,
.form-select:focus {
    border-color: #8bb7d6;
    box-shadow: 0 0 0 0.18rem rgba(15, 90, 138, 0.18);
}

.btn {
    border-radius: 10px;
    font-weight: 600;
}

.btn-primary {
    border: none;
    background: linear-gradient(135deg, var(--sp-accent), var(--sp-accent-strong));
}

.btn-primary:hover,
.btn-primary:focus {
    background: linear-gradient(135deg, #0d5079, #08344f);
}

header.py-5 {
    background: linear-gradient(135deg, rgba(12, 44, 74, 0.94), rgba(19, 72, 107, 0.92)) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.22);
}

header.py-5 h2,
header.py-5 .display-4 {
    margin-bottom: 0;
    color: #fff !important;
}

header.py-5 .lead,
header.py-5 .text-white-50 {
    color: rgba(255, 255, 255, 0.88) !important;
}

.container,
.container-fluid {
    position: relative;
}
