/* Custom styling on top of Bootstrap 5 (vendored locally). Keep this minimal. */

:root {
    --tpc-bg: #f4f6fb;
}

body {
    background: var(--tpc-bg);
}

.navbar-brand {
    font-weight: 700;
    letter-spacing: .2px;
}

/* Slightly tighter cards with a soft shadow. */
.card {
    border: 1px solid #e6e9f0;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
}

main {
    max-width: 1080px;
}

code {
    color: #4338ca;
}

/* ── Login ───────────────────────────────────────────── */
.login-wrap {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #0f172a, #1e293b);
}
.login-card {
    width: 380px;
    max-width: 92vw;
}

/* ── Key/value (credentials, license, admin details) ─── */
.kv {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 8px 0;
    border-bottom: 1px solid #eef1f6;
}
.kv:last-child { border-bottom: 0; }
.kv .k { color: #6b7280; }
.kv .v { font-weight: 600; word-break: break-all; text-align: right; }
.kv .v.mono { font-family: var(--bs-font-monospace); }

/* ── Wizard stepper ──────────────────────────────────── */
.stepper {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0;
    margin: 0 0 1.25rem;
}
.stepper li {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 14px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid #e2e8f0;
    color: #64748b;
    font-size: .875rem;
    font-weight: 600;
}
.stepper li .num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #eef2f7;
    color: #64748b;
    font-size: .75rem;
}
.stepper li.active { border-color: var(--bs-primary); color: var(--bs-primary); background: #eef2ff; }
.stepper li.active .num { background: var(--bs-primary); color: #fff; }
.stepper li.done { border-color: #bbf7d0; color: #15803d; background: #f0fdf4; }
.stepper li.done .num { background: #16a34a; color: #fff; }

/* ── WYSIWYG editor ──────────────────────────────────── */
.wysiwyg {
    border: 1px solid var(--bs-border-color);
    border-top: 0;
    border-radius: 0 0 .375rem .375rem;
    padding: 16px;
    min-height: 300px;
    background: #fff;
    overflow: auto;
}
.wysiwyg:focus { outline: 2px solid #c7d2fe; }
.source-area {
    width: 100%;
    min-height: 340px;
    font-family: var(--bs-font-monospace);
    font-size: .85rem;
}
.tenant-logo {
    height: 48px;
    max-width: 120px;
    border: 1px solid var(--bs-border-color);
    border-radius: .375rem;
    padding: 4px;
    background: #fff;
}
