:root {
    --cmss-blue: #0D6EFD;
    --cmss-blue-dark: #0a58ca;
    --cmss-dark: #0a1628;
    --cmss-gradient-start: #001f3f;
    --cmss-gradient-end: #007bff;
    --cmss-bg: #f8fafc;
    --cmss-surface: #ffffff;
    --cmss-surface-soft: #f3f7ff;
    --cmss-line: #D9E2EF;
    --cmss-text-main: #0f172a;
    --cmss-text-muted: #64748b;
    --cmss-success: #198754;
    --cmss-warning: #ffc107;
    --cmss-danger: #dc3545;
    --cmss-shadow: 0 16px 36px rgba(10, 22, 40, .08);
    --cmss-radius: 14px;
}

body {
    background:
        radial-gradient(circle at top left, rgba(0, 123, 255, .10), transparent 34rem),
        linear-gradient(180deg, #ffffff 0%, var(--cmss-bg) 100%);
    color: var(--cmss-text-main);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans";
}

/* Navbar and public layout */
.public-navbar {
    background: linear-gradient(90deg, var(--cmss-dark) 0%, var(--cmss-blue) 100%);
    box-shadow: 0 12px 30px rgba(10, 22, 40, .18);
}

.public-footer {
    background: var(--cmss-dark);
    color: rgba(255,255,255,.6);
}

/* Buttons */
.btn-primary {
    background-color: var(--cmss-blue) !important;
    border-color: var(--cmss-blue) !important;
    color: #fff !important;
}
.btn-primary:hover {
    background-color: var(--cmss-blue-dark) !important;
    border-color: var(--cmss-blue-dark) !important;
}
.btn {
    letter-spacing: 0;
}

/* Forms */
.form-control:focus, .form-select:focus {
    border-color: rgba(13,110,253,.45);
    box-shadow: 0 0 0 .2rem rgba(13,110,253,.10);
}

/* Login card tweaks */
.login-header {
    background: linear-gradient(135deg, var(--cmss-gradient-start), var(--cmss-gradient-end));
    color: #fff;
}
.login-header h4, .login-header p { color: #fff; }
.login-logo { background: rgba(255,255,255,0.06); border: none; padding: 10px; }

/* Global cards */
.card {
    border-color: var(--cmss-line);
    border-radius: var(--cmss-radius);
}

/* Make small accents consistent */
.text-primary-custom { color: var(--cmss-blue) !important; }
.bg-primary-custom { background-color: var(--cmss-blue) !important; }
