/* ── Base ── */
*, *::before, *::after { box-sizing: border-box; }

html {
    font-size: 14px;
}
@media (min-width: 768px) {
    html { font-size: 16px; }
}

html { position: relative; min-height: 100%; }

body {
    margin: 0;
    padding-bottom: 60px;
    background: #0d1117;
    color: #c9d1d9;
    font-family: 'Inter', 'Segoe UI', Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}

a { color: #58a6ff; }
a:hover { color: #79c0ff; }

/* ── Navbar ── */
.sk-navbar {
    background: #161b22;
    border-bottom: 1px solid #30363d;
    position: sticky; top: 0; z-index: 100;
}
.sk-navbar-inner {
    max-width: 1140px;
    margin: 0 auto;
    padding: 12px 24px;
    display: flex; align-items: center; justify-content: space-between;
}
.sk-logo {
    font-size: 18px; font-weight: 700; letter-spacing: -0.5px;
    color: #e6edf3; text-decoration: none;
}
.sk-logo span { color: #f0a500; }
.sk-logo:hover { color: #e6edf3; text-decoration: none; }

.sk-nav-right { display: flex; align-items: center; gap: 16px; }

.sk-nav-link {
    font-size: 14px; font-weight: 500; color: #8b949e;
    text-decoration: none; transition: color .2s;
}
.sk-nav-link:hover { color: #f0a500; }

.sk-nav-user {
    font-size: 14px; font-weight: 600; color: #f0a500;
    text-decoration: none;
}
.sk-nav-user:hover { color: #ffc233; text-decoration: none; }

.sk-btn-amber {
    background: #f0a500; color: #0d1117 !important;
    border: none; border-radius: 8px; padding: 7px 16px;
    font-size: 14px; font-weight: 700; text-decoration: none;
    transition: background .2s; cursor: pointer;
}
.sk-btn-amber:hover { background: #d4920a; color: #0d1117 !important; text-decoration: none; }

/* ── Dropdown ── */
.sk-dropdown {
    background: #161b22 !important;
    border: 1px solid #30363d !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.5) !important;
}
.sk-dropdown .dropdown-item {
    color: #c9d1d9 !important;
    font-size: 14px;
}
.sk-dropdown .dropdown-item:hover {
    background: #21262d !important;
    color: #f0a500 !important;
}
.sk-dropdown .dropdown-item.text-danger {
    color: #f85149 !important;
}
.sk-dropdown .dropdown-item.text-danger:hover {
    color: #ff7b72 !important;
}
.sk-divider { border-color: #30363d !important; }

/* ── Main container ── */
.sk-main-container { max-width: 1140px; padding-top: 24px; }

/* ── Footer ── */
.sk-footer {
    position: fixed; bottom: 0; left: 0; right: 0;
    background: #161b22;
    border-top: 1px solid #30363d;
    padding: 14px 24px;
    font-size: 13px; color: #484f58;
}
.sk-footer-link { color: #484f58; transition: color .2s; }
.sk-footer-link:hover { color: #f0a500; }

/* ── Bootstrap overrides: Cards ── */
.card {
    background: #161b22 !important;
    border: 1px solid #30363d !important;
    color: #c9d1d9 !important;
}
.card-header {
    background: #21262d !important;
    border-bottom: 1px solid #30363d !important;
    color: #e6edf3 !important;
}
.card-footer {
    background: #161b22 !important;
    border-top: 1px solid #30363d !important;
    color: #8b949e !important;
}

/* Card header color variants */
.card-header.bg-primary { background: #1a2a3a !important; color: #58a6ff !important; }
.card-header.bg-success { background: #0d2010 !important; color: #3fb950 !important; }
.card-header.bg-warning { background: #2b1e00 !important; color: #f0a500 !important; }
.card-header.bg-danger  { background: #2a0d0d !important; color: #f85149 !important; }

/* ── Bootstrap overrides: Text ── */
.text-muted  { color: #8b949e !important; }
.text-dark   { color: #e6edf3 !important; }
.text-primary{ color: #58a6ff !important; }
.text-success{ color: #3fb950 !important; }
.text-danger { color: #f85149 !important; }
.text-warning{ color: #f0a500 !important; }
.text-info   { color: #58a6ff !important; }
.text-white  { color: #e6edf3 !important; }
.text-white-50 { color: #8b949e !important; }

/* ── Bootstrap overrides: Backgrounds ── */
.bg-white  { background: #161b22 !important; }
.bg-light  { background: #21262d !important; }
.bg-primary{ background: #1a2a3a !important; }
.bg-success{ background: #0d2010 !important; }
.bg-warning{ background: #2b1e00 !important; }
.bg-danger { background: #2a0d0d !important; }
.bg-secondary { background: #21262d !important; }

/* ── Bootstrap overrides: Buttons ── */
.btn {
    font-weight: 600;
    border-radius: 8px;
    transition: all .2s;
}
.btn-primary {
    background: #f0a500 !important;
    border-color: #f0a500 !important;
    color: #0d1117 !important;
}
.btn-primary:hover, .btn-primary:focus {
    background: #d4920a !important;
    border-color: #d4920a !important;
    color: #0d1117 !important;
}
.btn-success {
    background: #1a3a1f !important;
    border-color: #3fb950 !important;
    color: #3fb950 !important;
}
.btn-success:hover {
    background: #3fb950 !important;
    border-color: #3fb950 !important;
    color: #0d1117 !important;
}
.btn-danger {
    background: #3a1212 !important;
    border-color: #f85149 !important;
    color: #f85149 !important;
}
.btn-danger:hover {
    background: #f85149 !important;
    border-color: #f85149 !important;
    color: #fff !important;
}
.btn-secondary {
    background: #21262d !important;
    border-color: #30363d !important;
    color: #c9d1d9 !important;
}
.btn-secondary:hover {
    background: #30363d !important;
    border-color: #484f58 !important;
    color: #e6edf3 !important;
}
.btn-light {
    background: #21262d !important;
    border-color: #30363d !important;
    color: #c9d1d9 !important;
}
.btn-light:hover {
    background: #30363d !important;
    color: #e6edf3 !important;
}
.btn-light.text-primary { color: #58a6ff !important; }
.btn-light.text-danger  { color: #f85149 !important; }
.btn-outline-primary {
    border-color: #58a6ff !important;
    color: #58a6ff !important;
}
.btn-outline-primary:hover {
    background: #58a6ff !important;
    color: #0d1117 !important;
}

/* ── Bootstrap overrides: Forms ── */
.form-control, .form-select {
    background: #0d1117 !important;
    border: 1px solid #30363d !important;
    color: #e6edf3 !important;
    border-radius: 8px;
}
.form-control:focus, .form-select:focus {
    background: #0d1117 !important;
    border-color: #f0a500 !important;
    color: #e6edf3 !important;
    box-shadow: 0 0 0 3px rgba(240,165,0,.15) !important;
}
.form-control::placeholder { color: #484f58 !important; }
/* form-floating: hide placeholder while label is in inline position */
.form-floating > .form-control::placeholder { color: transparent !important; }
.form-floating > .form-control:focus::placeholder { color: #484f58 !important; }
.form-floating > label { color: #8b949e !important; }
.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label {
    color: #f0a500 !important;
}

/* ── Bootstrap overrides: Tables ── */
.table {
    color: #c9d1d9 !important;
    border-color: #30363d !important;
}
.table th { color: #8b949e !important; font-size: 0.82rem; text-transform: uppercase; letter-spacing: .04em; }
.table td { border-color: #21262d !important; vertical-align: middle; }
.table-hover > tbody > tr:hover > * {
    background: #21262d !important;
    color: #e6edf3 !important;
}
thead.bg-light th { background: #21262d !important; color: #8b949e !important; }

/* ── Bootstrap overrides: Badges ── */
.badge {
    font-weight: 600;
    border-radius: 20px;
}
.badge.bg-success, .badge.rounded-pill.bg-success { background: #1a3a1f !important; color: #3fb950 !important; }
.badge.bg-primary  { background: #1a2a3a !important; color: #58a6ff !important; }
.badge.bg-warning  { background: #2b1e00 !important; color: #f0a500 !important; }
.badge.bg-danger   { background: #3a1212 !important; color: #f85149 !important; }
.badge.bg-secondary{ background: #21262d !important; color: #8b949e !important; }
.badge.bg-light    { background: #21262d !important; color: #8b949e !important; }

/* ── Bootstrap overrides: List group ── */
.list-group-item {
    background: #161b22 !important;
    border-color: #30363d !important;
    color: #c9d1d9 !important;
}
.list-group-item:hover { background: #21262d !important; }

/* ── Bootstrap overrides: Alerts ── */
.alert {
    border-radius: 10px;
    border-left-width: 4px;
}
.alert-success {
    background: #0d2010 !important;
    border-color: #3fb950 !important;
    color: #3fb950 !important;
}
.alert-danger {
    background: #2a0d0d !important;
    border-color: #f85149 !important;
    color: #f85149 !important;
}
.alert-warning {
    background: #2b1e00 !important;
    border-color: #f0a500 !important;
    color: #f0a500 !important;
}
.alert-info {
    background: #0d1f33 !important;
    border-color: #58a6ff !important;
    color: #58a6ff !important;
}

/* ── Bootstrap overrides: Progress ── */
.progress {
    background: #21262d !important;
    border-radius: 8px;
}
.progress-bar.bg-success { background: #3fb950 !important; }

/* ── Bootstrap overrides: Divider / HR ── */
hr, .dropdown-divider { border-color: #30363d !important; }

/* ── Bootstrap overrides: Shadow/border utils ── */
.shadow-sm { box-shadow: 0 2px 12px rgba(0,0,0,.4) !important; }
.border-bottom { border-bottom-color: #30363d !important; }
.border-top    { border-top-color: #30363d !important; }

/* ── Validation ── */
.text-danger { color: #f85149 !important; }
.field-validation-error { color: #f85149; font-size: 0.82rem; }

/* ── Focus ring ── */
.btn:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 3px rgba(240,165,0,.2) !important;
}

/* ── Inline gradient overrides (welcome banner) ── */
[style*="background: linear-gradient(135deg, #1e3c72"],
[style*="background:linear-gradient(135deg,#1e3c72"] {
    background: linear-gradient(135deg, #1a2a3a 0%, #21314a 100%) !important;
}
[style*="background:linear-gradient(135deg,#f3f0ff"],
[style*="background: linear-gradient(135deg, #f3f0ff"] {
    background: linear-gradient(135deg, #1a1325 0%, #1a1e2b 100%) !important;
    border-left: 4px solid #f0a500 !important;
}

/* ── Stat circle icons override ── */
.rounded-circle.bg-primary { background: #1a2a3a !important; color: #58a6ff !important; }
.rounded-circle.bg-success { background: #0d2010 !important; color: #3fb950 !important; }
.rounded-circle.bg-warning { background: #2b1e00 !important; color: #f0a500 !important; }
