:root {
    --dark-bg:    #0a0f1e;
    --dark-card:  #111827;
    --dark-border:#1e2d4a;
    --accent:     #3b82f6;
    --accent-dim: #1d4ed8;
    --text-muted: #94a3b8;
}
body {
    --bs-body-bg: var(--dark-bg);
    --bs-body-color: #e2e8f0;
    background-color: var(--dark-bg) !important;
    color: #e2e8f0;
}
.hero {
    background: linear-gradient(135deg, #0d1b3e 0%, #0a1628 60%, #060d1a 100%);
    min-height: 100vh;
    border-bottom: 1px solid var(--dark-border);
}
.feature-icon {
    width: 56px;
    height: 56px;
    font-size: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
}
.section-divider {
    height: 3px;
    width: 48px;
    background: var(--accent);
    border-radius: 2px;
}
.section-alt  { background: #0d1526; }
.section-main { background: var(--dark-bg); }
.card {
    background: var(--dark-card) !important;
    border: 1px solid var(--dark-border) !important;
    color: #e2e8f0;
}
.card .text-muted { color: var(--text-muted) !important; }
h1, h2, h3, h4, h5 { color: #f1f5f9; }
.text-muted { color: var(--text-muted) !important; }
.btn-primary {
    background: var(--accent);
    border-color: var(--accent);
}
.btn-primary:hover {
    background: var(--accent-dim);
    border-color: var(--accent-dim);
}
.btn-outline-light:hover { color: var(--dark-bg); }
.icon-blue   { background: rgba(59,130,246,.15); color: #60a5fa; }
.icon-green  { background: rgba(34,197,94,.12);  color: #4ade80; }
.icon-amber  { background: rgba(245,158,11,.12); color: #fbbf24; }
.icon-red    { background: rgba(239,68,68,.12);  color: #f87171; }
.icon-cyan   { background: rgba(6,182,212,.12);  color: #22d3ee; }
.icon-slate  { background: rgba(100,116,139,.15);color: #94a3b8; }
footer { background: #060d1a !important; border-color: var(--dark-border) !important; }
html { scroll-behavior: smooth; }
.hero-lock-box { border: 1px solid rgba(255,255,255,.2); }
.hero-lock-icon { font-size: 5rem; line-height: 1; }
.company-logo { max-height: 64px; max-width: 200px; object-fit: contain; }

/* ── Page download ── */
.form-control, .form-select {
    background-color: #1a2540 !important;
    border-color: var(--dark-border) !important;
    color: #e2e8f0 !important;
}
.form-control::placeholder { color: #4a5a7a !important; }
.form-control:focus, .form-select:focus {
    background-color: #1e2d4a !important;
    border-color: var(--accent) !important;
    box-shadow: 0 0 0 .2rem rgba(59,130,246,.25) !important;
    color: #f1f5f9 !important;
}
.form-control[readonly] {
    background-color: #131d30 !important;
    color: #64748b !important;
}
.form-label { color: #cbd5e1; }
.form-text  { color: var(--text-muted) !important; }
.btn-success {
    background-color: #16a34a;
    border-color: #16a34a;
}
.btn-success:hover {
    background-color: #15803d;
    border-color: #15803d;
}
.btn-success:disabled {
    background-color: #14532d;
    border-color: #14532d;
    opacity: .6;
}
.alert-info {
    background-color: rgba(59,130,246,.12);
    border-color: rgba(59,130,246,.3);
    color: #93c5fd;
}
.alert-warning {
    background-color: rgba(245,158,11,.1);
    border-color: rgba(245,158,11,.3);
    color: #fcd34d;
}
.alert-danger {
    background-color: rgba(239,68,68,.12);
    border-color: rgba(239,68,68,.3);
    color: #fca5a5;
}
.text-danger   { color: #f87171 !important; }
.text-warning  { color: #fbbf24 !important; }
.font-monospace { font-family: ui-monospace, monospace; }
