/* Digital Jeeves branding for the IdentityServer login pages.
   Layered over the base Bootstrap bundle (the selectable bootswatch theme is removed). */
:root {
    --dj-navy: #1E2636;
    --dj-blue: #2E9BE6;
    --dj-blue-dark: #1E7CC9;
    --dj-porcelain: #F3F6FB;
    --dj-ink: #19212E;
    --dj-muted: #5A6678;
    --dj-line: #E2E8F1;
}

body {
    background: var(--dj-porcelain);
    color: var(--dj-ink);
    font-family: "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;
}

h1, h2, h3, h4, h5, h6 { color: var(--dj-navy); }

a { color: var(--dj-blue-dark); }
a:hover { color: var(--dj-blue); }

/* ── Top bar ── */
.menu {
    background: #fff !important;
    border-bottom: 1px solid var(--dj-line) !important;
    box-shadow: 0 2px 14px rgba(30, 38, 54, .06);
}
.menu-logo a, .menu .logo { text-decoration: none; }
.dj-brand { display: inline-flex; align-items: center; gap: 12px; }
.dj-brand img { height: 40px; width: auto; display: block; }
.dj-brand .dj-word { font-weight: 800; letter-spacing: .04em; color: var(--dj-navy); font-size: 1.25rem; line-height: 1; }
.dj-brand .dj-accent { color: var(--dj-blue); }

/* ── Headings / page header ── */
.page-header h1 { font-weight: 800; }

/* ── Cards (login / register / manage panels) ── */
.card {
    border: 1px solid var(--dj-line);
    border-radius: 14px;
    box-shadow: 0 10px 30px rgba(30, 38, 54, .08);
    overflow: hidden;
}
.card-header {
    background: var(--dj-porcelain);
    border-bottom: 1px solid var(--dj-line);
    color: var(--dj-navy);
    font-weight: 700;
}

/* ── Inputs ── */
.form-control { border: 1.5px solid var(--dj-line); border-radius: 9px; }
.form-control:focus { border-color: var(--dj-blue); box-shadow: 0 0 0 3px rgba(46, 155, 230, .15); }
.input-group-text { background: var(--dj-porcelain); border: 1.5px solid var(--dj-line); color: var(--dj-muted); }

/* ── Buttons ── */
.btn-primary { background-color: var(--dj-blue); border-color: var(--dj-blue); }
.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
    background-color: var(--dj-blue-dark) !important;
    border-color: var(--dj-blue-dark) !important;
}
.btn-info { background-color: var(--dj-muted); border-color: var(--dj-muted); color: #fff; }
.btn-info:hover { background-color: #48515f; border-color: #48515f; color: #fff; }
.btn-dark { background-color: var(--dj-navy); border-color: var(--dj-navy); }
.btn-dark:hover { background-color: #11161f; border-color: #11161f; }
.btn-outline-primary { color: var(--dj-blue-dark); border-color: var(--dj-blue); }
.btn-outline-primary:hover { background: var(--dj-blue); border-color: var(--dj-blue); color: #fff; }
a.btn-primary { color: #fff; }

/* ── Footer ── */
footer { color: var(--dj-muted); }
footer a { color: var(--dj-blue-dark); }
