:root {
    --pf-bg: #15171a;
    --pf-panel: #202328;
    --pf-panel-alt: #292d33;
    --pf-border: #454b54;
    --pf-text: #f4f5f7;
    --pf-muted: #adb3bd;
    --pf-red: #c90000;
    --pf-red-dark: #970000;
    --pf-red-soft: #3a1719;
}

html,
body {
    min-height: 100%;
}

body {
    background: var(--pf-bg);
    color: var(--pf-text);
}

a {
    color: #ff6b6b;
}

a:hover {
    color: #ff9b9b;
}

.navbar {
    background: #0d0f11 !important;
    border-bottom: 1px solid var(--pf-border);
}

.navbar-brand {
    font-weight: 700;
    letter-spacing: .02em;
}

.navbar-dark .navbar-nav .nav-link {
    color: #d9dde3;
}

.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus {
    color: #fff;
}

.environment-banner {
    padding: .65rem 1rem;
    text-align: center;
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
    border-bottom: 2px solid #000;
    font-weight: 600;
}

.environment-uat {
    background: #ffd24d;
    color: #111;
}

.environment-production {
    background: #b50000;
    color: #fff;
}

.environment-development {
    background: #2574a9;
    color: #fff;
}

.login-page {
    min-height: 100vh;
}

.login-card,
.summary-card,
.card,
.modal-content,
.dropdown-menu {
    background: var(--pf-panel);
    color: var(--pf-text);
    border: 1px solid var(--pf-border);
}

.login-card {
    max-width: 430px;
    margin: 8vh auto;
    border-radius: .45rem;
    padding: 2rem;
    box-shadow: 0 .75rem 2rem rgba(0, 0, 0, .45);
}

.summary-card {
    min-height: 135px;
    border-radius: .4rem;
    padding: 1.25rem;
    box-shadow: 0 .25rem .8rem rgba(0, 0, 0, .22);
}

.summary-value {
    font-size: 2.2rem;
    font-weight: 700;
}

.card-header,
.card-footer {
    background: var(--pf-panel-alt);
    border-color: var(--pf-border);
}

.table {
    color: var(--pf-text);
}

.table thead th,
.table td,
.table th {
    border-color: var(--pf-border);
}

.table-hover tbody tr:hover {
    color: #fff;
    background: rgba(255, 255, 255, .045);
}

.form-control,
.custom-file-label,
.custom-select {
    background: #111317;
    color: var(--pf-text);
    border-color: var(--pf-border);
}

.form-control:focus,
.custom-select:focus {
    background: #111317;
    color: #fff;
    border-color: var(--pf-red);
    box-shadow: 0 0 0 .2rem rgba(201, 0, 0, .2);
}

.form-control::placeholder {
    color: #7e858f;
}

.btn-primary,
.btn-danger {
    background: var(--pf-red);
    border-color: var(--pf-red);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-danger:hover,
.btn-danger:focus,
.btn-danger:not(:disabled):not(.disabled):active {
    background: var(--pf-red-dark);
    border-color: var(--pf-red-dark);
}

.btn-outline-primary,
.btn-outline-danger {
    color: #ff5d5d;
    border-color: var(--pf-red);
}

.btn-outline-primary:hover,
.btn-outline-danger:hover {
    background: var(--pf-red);
    border-color: var(--pf-red);
    color: #fff;
}

.btn-outline-light {
    border-color: #8f969f;
}

.alert-success {
    color: #eafbea;
    background: #17351e;
    border-color: #2c6a37;
}

.alert-danger {
    color: #ffe7e7;
    background: var(--pf-red-soft);
    border-color: #7c292d;
}

.alert-warning {
    color: #fff4ce;
    background: #4a3a08;
    border-color: #8b6e11;
}

.badge-status {
    padding: .45rem .6rem;
}

.badge-ready {
    background: #117a8b;
    color: #fff;
}

.badge-active {
    background: #218838;
    color: #fff;
}

.badge-inactive {
    background: #5a6268;
    color: #fff;
}

.badge-validation-failed {
    background: var(--pf-red);
    color: #fff;
}

.validation-row {
    background: #35191b;
}

.text-muted {
    color: var(--pf-muted) !important;
}

code {
    color: #ff7777;
}

hr {
    border-color: var(--pf-border);
}

.registration-card {
    max-width: 560px;
    margin-top: 4vh;
    margin-bottom: 4vh;
}

.form-text {
    line-height: 1.4;
}


/* PacForge Deploy V1.3.0 theme engine */
html[data-theme="pacforge-light"] {
    --pf-bg: #eef1f5; --pf-panel: #ffffff; --pf-panel-alt: #f4f5f7; --pf-border: #c8ced7;
    --pf-text: #1d232b; --pf-muted: #626d7a; --pf-red: #c90000; --pf-red-dark: #970000; --pf-red-soft: #ffe5e5;
}
html[data-theme="midnight"] {
    --pf-bg: #07111f; --pf-panel: #0d1c30; --pf-panel-alt: #122744; --pf-border: #28476b;
    --pf-text: #eef6ff; --pf-muted: #9fb4cc; --pf-red: #d21f3c; --pf-red-dark: #a50f28; --pf-red-soft: #3b1421;
}
html[data-theme="slate"] {
    --pf-bg: #252a2f; --pf-panel: #343a40; --pf-panel-alt: #3f464d; --pf-border: #626b75;
    --pf-text: #f4f5f6; --pf-muted: #c0c5ca; --pf-red: #bb1f2d; --pf-red-dark: #8e1621; --pf-red-soft: #452126;
}
html[data-theme="high-contrast"] {
    --pf-bg: #000; --pf-panel: #000; --pf-panel-alt: #151515; --pf-border: #fff;
    --pf-text: #fff; --pf-muted: #fff; --pf-red: #ff2020; --pf-red-dark: #c90000; --pf-red-soft: #400;
}
html[data-theme="pacforge-light"] .navbar { background: #202328 !important; }
html[data-theme="pacforge-light"] .form-control,
html[data-theme="pacforge-light"] .custom-select,
html[data-theme="pacforge-light"] .custom-file-label { background: #fff; color: var(--pf-text); }
html[data-theme="pacforge-light"] .table-hover tbody tr:hover { color: #111; background: rgba(0,0,0,.04); }
html[data-theme="high-contrast"] .card,
html[data-theme="high-contrast"] .summary-card,
html[data-theme="high-contrast"] .form-control,
html[data-theme="high-contrast"] .custom-select { border-width: 2px; }
.product-mark,.brand-mark { display:inline-flex;align-items:center;justify-content:center;background:var(--pf-red);color:#fff;font-weight:800;border-radius:.25rem; }
.product-mark { width:54px;height:54px;font-size:1.3rem;margin-bottom:1rem; }
.brand-mark { width:30px;height:30px;font-size:.75rem;margin-right:.4rem; }
.version-label { margin-top:1.25rem;text-align:center;color:var(--pf-muted);font-size:.8rem; }
.page-heading { display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem; }
.page-heading h1 { margin-bottom:.2rem; }
.profile-card { max-width:720px; }
.welcome-panel { background:var(--pf-panel);border:1px solid var(--pf-red);border-left:6px solid var(--pf-red);padding:1.4rem;margin-bottom:1.5rem;border-radius:.35rem; }
.summary-label { font-size:1.05rem;font-weight:600;margin-bottom:.25rem; }
.empty-state { padding:2rem;text-align:center; }
.checklist-item { position:relative;padding:.65rem .5rem .65rem 2rem;border-bottom:1px solid var(--pf-border); }
.checklist-item::before { content:'○';position:absolute;left:.5rem;font-weight:700;color:var(--pf-muted); }
.checklist-item.complete::before { content:'✓';color:#46c46f; }
.navbar-text { color:#d9dde3 !important;text-decoration:none; }

.manifest-view{max-height:520px;overflow:auto;white-space:pre-wrap;word-break:break-word;background:rgba(0,0,0,.22);padding:1rem;border-radius:.35rem}.badge-archived{background:#555;color:#fff}.badge-validation-failed{background:#8b1e1e;color:#fff}.badge-ready{background:#8a5a00;color:#fff}.badge-active{background:#198754;color:#fff}.badge-inactive{background:#495057;color:#fff}

/* V1.4.0 Deployment Administration */
.page-heading {
    gap: 1rem;
    margin-bottom: 1.25rem;
}
.card dl dt,
.card dl dd {
    margin-bottom: 0.65rem;
}
.table small {
    color: var(--pf-muted-text);
}
