:root {
    --ink: #edf6fa;
    --muted: #8296a3;
    --green: #29d6c7;
    --green2: #1ecaba;
    --gold: #e7aa25;
    --cream: #071019;
    --line: #1c3241;
    --white: #0d1924;
    --danger: #ff667d;
    --shadow: 0 18px 45px rgba(0, 0, 0, .28);
}

html, body {
    color: var(--ink);
    background: #071019;
}

body {
    background: radial-gradient(circle at 80% -20%, #123c4b 0, transparent 35%), linear-gradient(135deg, #071019, #09131c 60%, #071019);
}

a { color: #29d6c7; }

.topbar {
    height: 83px;
    padding-left: max(24px, calc((100vw - 1280px) / 2));
    padding-right: max(24px, calc((100vw - 1280px) / 2));
    border-color: #1c3241;
    background: rgba(7, 16, 25, .86);
    backdrop-filter: blur(15px);
}

.brand { color: #edf6fa; }
.brand small { color: #29d6c7; letter-spacing: .08em; }
.brand-logo { background: #f8faf8; padding: 3px; }
.topbar nav a { color: #9aadb7; border-radius: 8px; padding: 10px 12px; }
.topbar nav a:hover, .topbar nav a.active { color: #fff; background: linear-gradient(90deg, rgba(41, 214, 199, .15), rgba(41, 214, 199, .03)); }
.primary-link { color: #031417 !important; background: linear-gradient(135deg, #1ecaba, #278ea3); }

.container { max-width: 1340px; padding-top: 28px; }
.hero {
    min-height: 225px;
    padding: 32px 39px;
    border: 1px solid #1c3241;
    border-radius: 15px;
    background: linear-gradient(110deg, rgba(15, 35, 47, .94), rgba(9, 27, 35, .78)), repeating-linear-gradient(90deg, transparent 0 49px, rgba(41, 214, 199, .04) 50px);
}
.hero h1, .page-head h1 { font-family: "Space Grotesk", "Segoe UI", Arial, sans-serif; }
.hero h1 { font-size: clamp(27px, 3vw, 40px); }
.hero p, .page-head p, .muted { color: #8296a3; }
.hero:after { border-color: rgba(41, 214, 199, .15); box-shadow: 0 0 100px rgba(41, 214, 199, .08); }
.eyebrow { color: #29d6c7 !important; }
.btn.light { color: #031417; border: 0; background: linear-gradient(135deg, #1ecaba, #278ea3); font-weight: 700; }

.stats { gap: 13px; margin: 18px 0 28px; }
.stats article, .panel, .form-card {
    color: #edf6fa;
    border: 1px solid #1c3241;
    background: linear-gradient(145deg, #101f2c, #0d1924);
    box-shadow: none;
}
.stats article { position: relative; overflow: hidden; }
.stats article:after { content: ""; position: absolute; width: 75px; height: 75px; right: -30px; bottom: -38px; border-radius: 50%; box-shadow: 0 0 38px #29d6c7; opacity: .26; }
.stats strong { color: #edf6fa; font-family: "Space Grotesk", "Segoe UI", Arial, sans-serif; }
.stats span, .stats small, .panel-head span { color: #8296a3; }

.service-grid > a {
    color: #edf6fa;
    border-color: #1c3241;
    background: #0b1721;
    transition: .16s ease;
}
.service-grid > a:hover { border-color: #29d6c7; transform: translateY(-2px); }
.service-grid small { color: #8296a3; }
.service-icon, .file-icon { color: #29d6c7; border: 1px solid #25665f; background: #0a2a29; }

.page-head h1, .panel h2, .form-card h2 { color: #edf6fa; }
.btn { color: #b8c9d1; border-color: #1c3241; background: #0c1a24; }
.btn:hover { border-color: #29d6c7; color: #fff; }
.btn.primary { color: #031417; border: 0; background: linear-gradient(135deg, #1ecaba, #278ea3); font-weight: 700; }
.btn.danger { color: #ff8c9e; border-color: #59303a; background: #26151b; }

table { color: #b9c8d0; }
th { color: #728894; border-color: #1c3241; background: #0a1620; }
td { border-color: rgba(28, 50, 65, .62); }
td b { color: #eef7f9; }
.badge { color: #c1cbd0; background: #21303a; }
.badge.ok { color: #8cf0ba; background: #133727; }
.badge.info { color: #8dddf1; background: #123442; }
.badge.warn { color: #ffd18b; background: #3a2a16; }
.badge.danger { color: #ff9eac; background: #3f1c27; }

.filters, .form-card section, .detail-card dt, .detail-card dd, .doc-list li { border-color: #1c3241; }
.filters input, .filters select, label input, label select, label textarea, .doc-row input, .inline-upload input {
    color: #edf6fa;
    border-color: #1c3241;
    background: #0b1721;
}
input::placeholder, textarea::placeholder { color: #607581; }
label { color: #b9c8d0; }
.service-options span { border-color: #1c3241; background: #0b1721; }
.service-options input:checked + span { border-color: #29d6c7; background: #0a2a29; }
.service-options small { color: #8296a3; }
.timeline li > span { background: #29d6c7; box-shadow: 0 0 0 4px #123b3a; }
.timeline small, .doc-list small { color: #8296a3; }
.timeline p { color: #b9c8d0; background: #0a1720; }
.empty { color: #8296a3; }
.flash.success { background: #176249; }.flash.error { background: #7e2f3d; }

footer { color: #8296a3; border-color: #1c3241; background: rgba(7, 16, 25, .6); }

.login-body { background: radial-gradient(circle at 18% 15%, #123c4b 0, transparent 32%), linear-gradient(135deg, #071019, #09131c 65%, #071019); }
.login-shell { max-width: 1220px; }
.login-intro h1 { font-family: "Space Grotesk", "Segoe UI", Arial, sans-serif; }
.login-intro > p:not(.eyebrow) { color: #a9bdc7; }
.login-logo { border: 1px solid #315448; background: #f8faf8; box-shadow: 0 25px 70px rgba(0, 0, 0, .35); }
.institution-row span { color: #b7cac2; border-color: #315448; background: rgba(8, 35, 25, .45); }
.login-card { color: #edf6fa; border: 1px solid #1c3241; background: linear-gradient(150deg, rgba(15, 30, 41, .98), rgba(10, 21, 30, .98)); box-shadow: 0 30px 80px rgba(0, 0, 0, .38); }
.login-card h2 { color: #edf6fa; font-family: "Space Grotesk", "Segoe UI", Arial, sans-serif; }
.security-note { color: #8296a3; }

@media (max-width: 850px) {
    .nav-open .topbar nav { border-bottom: 1px solid #1c3241; background: #071019; }
    .login-body { background: #071019; }
}
