:root {
    --pf-bg: #07111f;
    --pf-nav: #050b14;
    --pf-panel: #0d1c30;
    --pf-panel-alt: #122744;
    --pf-border: #28476b;
    --pf-text: #eef6ff;
    --pf-muted: #9fb4cc;
    --pf-accent: #d21f3c;
    --pf-accent-dark: #a50f28;
    --pf-accent-text: #ffffff;
    --pf-danger-soft: #3b1421;
    --pf-input: #081526;
    --pf-shadow: rgba(0, 0, 0, .42);
    --pf-solution-brand-primary: var(--pf-accent);
    --pf-solution-brand-secondary: var(--pf-nav);
    --pf-solution-brand-accent: var(--pf-accent);
}

html[data-theme="pacforge-standard"] {
    --pf-bg: #15171a;
    --pf-nav: #0d0f11;
    --pf-panel: #202328;
    --pf-panel-alt: #292d33;
    --pf-border: #454b54;
    --pf-text: #f4f5f7;
    --pf-muted: #adb3bd;
    --pf-accent: #c90000;
    --pf-accent-dark: #970000;
    --pf-danger-soft: #3a1719;
    --pf-input: #111317;
}

html[data-theme="pacforge-light"] {
    --pf-bg: #eef1f5;
    --pf-nav: #202328;
    --pf-panel: #ffffff;
    --pf-panel-alt: #f4f5f7;
    --pf-border: #c8ced7;
    --pf-text: #1d232b;
    --pf-muted: #626d7a;
    --pf-accent: #c90000;
    --pf-accent-dark: #970000;
    --pf-danger-soft: #ffe5e5;
    --pf-input: #ffffff;
    --pf-shadow: rgba(0, 0, 0, .18);
}

html[data-theme="pacforge-midnight"] {
    --pf-bg: #07111f;
    --pf-nav: #050b14;
    --pf-panel: #0d1c30;
    --pf-panel-alt: #122744;
    --pf-border: #28476b;
    --pf-text: #eef6ff;
    --pf-muted: #9fb4cc;
    --pf-accent: #d21f3c;
    --pf-accent-dark: #a50f28;
    --pf-danger-soft: #3b1421;
    --pf-input: #081526;
    --pf-accent-text: #ffffff;
    --pf-shadow: rgba(0, 0, 0, .42);
}

html[data-theme="pacforge-slate"] {
    --pf-bg: #252a2f;
    --pf-nav: #1d2125;
    --pf-panel: #343a40;
    --pf-panel-alt: #3f464d;
    --pf-border: #626b75;
    --pf-text: #f4f5f6;
    --pf-muted: #c0c5ca;
    --pf-accent: #bb1f2d;
    --pf-accent-dark: #8e1621;
    --pf-danger-soft: #452126;
    --pf-input: #292e33;
}

html[data-theme="pacforge-high-contrast"] {
    --pf-bg: #000000;
    --pf-nav: #000000;
    --pf-panel: #000000;
    --pf-panel-alt: #151515;
    --pf-border: #ffffff;
    --pf-text: #ffffff;
    --pf-muted: #ffffff;
    --pf-accent: #ff2020;
    --pf-accent-dark: #c90000;
    --pf-danger-soft: #440000;
    --pf-input: #000000;
}


html[data-theme="pacforge-ocean"] {
    --pf-bg: #071a26;
    --pf-nav: #041119;
    --pf-panel: #0d2838;
    --pf-panel-alt: #12384e;
    --pf-border: #28627d;
    --pf-text: #eefaff;
    --pf-muted: #a9c7d6;
    --pf-accent: #1596c7;
    --pf-accent-dark: #0e6f96;
    --pf-danger-soft: #173747;
    --pf-input: #071e2b;
}

html[data-theme="pacforge-forest"] {
    --pf-bg: #0d1b14;
    --pf-nav: #08110c;
    --pf-panel: #173024;
    --pf-panel-alt: #204331;
    --pf-border: #46755a;
    --pf-text: #f0fff5;
    --pf-muted: #afd0ba;
    --pf-accent: #2d9c5b;
    --pf-accent-dark: #217543;
    --pf-danger-soft: #203b2a;
    --pf-input: #10251a;
}

html[data-theme="pacforge-sand"] {
    --pf-bg: #eee7da;
    --pf-nav: #4b3b2a;
    --pf-panel: #fffaf0;
    --pf-panel-alt: #f4ead8;
    --pf-border: #b9a58a;
    --pf-text: #34291f;
    --pf-muted: #756654;
    --pf-accent: #b25f25;
    --pf-accent-dark: #86461b;
    --pf-danger-soft: #f3ddca;
    --pf-input: #fffdf7;
    --pf-shadow: rgba(70, 50, 30, .2);
}

* { box-sizing: border-box; }
html, body { min-height: 100%; }
body { margin: 0; font-family: Arial, sans-serif; background: var(--pf-bg); color: var(--pf-text); }
a { color: inherit; }
.top { background: var(--pf-nav); color: #fff; padding: 14px 20px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border-bottom: 1px solid var(--pf-border); }
.brand { font-size: 20px; font-weight: 700; }
.top-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.theme-form { margin: 0; }
.theme-form select { width: auto; min-width: 190px; padding: 7px 9px; }
.shell { max-width: 1280px; margin: 0 auto; padding: 20px; }
.hero, .panel { background: var(--pf-panel); border: 1px solid var(--pf-border); border-radius: 14px; padding: 18px; margin-bottom: 18px; }
.cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.card { display: block; background: var(--pf-panel); color: var(--pf-text); border: 1px solid var(--pf-border); border-radius: 12px; padding: 20px; text-decoration: none; min-height: 130px; transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.card:hover, .card:focus { transform: translateY(-3px); box-shadow: 0 10px 24px var(--pf-shadow); border-color: var(--pf-accent); outline: none; }
.card.selected, .card[aria-current="page"] { border-color: var(--pf-accent); box-shadow: 0 0 0 1px var(--pf-accent), 0 10px 24px var(--pf-shadow); }
.icon { font-size: 30px; }
.muted { color: var(--pf-muted); }
.btn { display: inline-block; border: 1px solid var(--pf-border); border-radius: 8px; padding: 9px 13px; text-decoration: none; background: var(--pf-panel-alt); color: var(--pf-text); cursor: pointer; }
.btn.primary, .btn.danger { background: var(--pf-accent); color: var(--pf-accent-text, #fff); border-color: var(--pf-accent); }
.btn.primary:hover, .btn.danger:hover { background: var(--pf-accent-dark); border-color: var(--pf-accent-dark); }
input, select, textarea { width: 100%; padding: 10px; border: 1px solid var(--pf-border); border-radius: 8px; background: var(--pf-input); color: var(--pf-text); }
input:focus, select:focus, textarea:focus { border-color: var(--pf-accent); outline: none; box-shadow: 0 0 0 3px color-mix(in srgb, var(--pf-accent) 25%, transparent); }
.field { margin-bottom: 14px; }
.field label { display: block; font-weight: 700; margin-bottom: 6px; }
.toolbar { display: flex; gap: 10px; align-items: end; flex-wrap: wrap; }
.toolbar .grow { flex: 1; min-width: 220px; }
table { width: 100%; border-collapse: collapse; background: var(--pf-panel); color: var(--pf-text); }
th, td { padding: 10px; border-bottom: 1px solid var(--pf-border); text-align: left; vertical-align: top; }
th { background: var(--pf-panel-alt); }
.alert { padding: 12px; border-radius: 8px; margin-bottom: 14px; background: var(--pf-danger-soft); border: 1px solid var(--pf-accent); }
.success { background: #17351e; border-color: #2c6a37; }
.login { max-width: 480px; margin: 60px auto; }
.workspace-nav { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.pagination { display: flex; gap: 8px; margin-top: 14px; }
.status { font-weight: 700; }
.small { font-size: .85rem; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
html[data-theme="pacforge-high-contrast"] .card, html[data-theme="pacforge-high-contrast"] input, html[data-theme="pacforge-high-contrast"] select, html[data-theme="pacforge-high-contrast"] textarea { border-width: 2px; }
@media (max-width: 700px) { .shell { padding: 12px; } .top { padding: 12px; align-items: flex-start; } .top-actions { align-items: flex-end; } .theme-form select { min-width: 160px; max-width: 55vw; } .cards { grid-template-columns: 1fr; } th:nth-child(n+4), td:nth-child(n+4) { display: none; } }

/* PacForge Runtime V2.6.0 — Published Experience Execution */
:root {
    --pf-brand-accent: var(--pf-accent);
}

.published-entry h2 {
    margin-top: 24px;
}

.empty-state {
    text-align: center;
    padding: 48px 24px;
}

.empty-state-icon {
    color: var(--pf-brand-accent);
    font-size: 52px;
    line-height: 1;
    margin-bottom: 16px;
}

.empty-state h2 {
    margin: 0 0 10px;
}


/* PacForge Runtime V2.6.1 — Published Experience Stabilization */
input::placeholder,
textarea::placeholder {
    color: var(--pf-muted);
    opacity: 1;
}

.btn:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid var(--pf-brand-accent, var(--pf-accent));
    outline-offset: 2px;
}

.registration-panel small {
    display: block;
    margin-top: 6px;
}


/* PacForge Runtime V2.7.0 — Widget Rendering and Interactive Forms */
:root {
    --pf-overlay: rgba(0, 0, 0, .72);
    --pf-success: #2f9e55;
    --pf-warning: #f59f00;
}

.pf-widget-dashboard {
    display: grid;
    gap: 18px;
}

.pf-widget-section {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 14px;
}

.pf-widget {
    grid-column: span var(--pf-widget-columns, 4);
    grid-row: span var(--pf-widget-rows, 1);
    min-width: 0;
    background: var(--pf-panel);
    border: 1px solid var(--pf-border);
    border-radius: 14px;
    box-shadow: 0 10px 24px var(--pf-shadow);
    overflow: hidden;
}

.pf-widget-header {
    padding: 14px 16px 0;
}

.pf-widget-header h2 {
    margin: 0;
    font-size: 1rem;
}

.pf-widget-content {
    padding: 16px;
}

.pf-widget-section-hero .pf-widget {
    background: linear-gradient(135deg, var(--pf-panel), var(--pf-panel-alt));
}

.pf-widget-lead {
    margin: 0;
    font-size: 1.15rem;
    line-height: 1.55;
}

.pf-kpi-value {
    color: var(--pf-accent);
    font-size: clamp(2rem, 6vw, 3.5rem);
    font-weight: 800;
    line-height: 1;
}

.pf-widget-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pf-recent-list {
    display: grid;
    gap: 8px;
}

.pf-recent-list a {
    padding: 10px;
    text-decoration: none;
    background: var(--pf-panel-alt);
    border-radius: 8px;
}

.pf-mini-chart {
    display: flex;
    align-items: end;
    gap: 8px;
    height: 150px;
    padding-top: 12px;
}

.pf-mini-chart span {
    flex: 1;
    min-width: 12px;
    background: var(--pf-accent);
    border-radius: 6px 6px 2px 2px;
}

.pf-calendar-date {
    display: grid;
    width: max-content;
    text-align: center;
}

.pf-calendar-date strong {
    color: var(--pf-accent);
    font-size: 3rem;
    line-height: 1;
}

.pf-progress {
    height: 14px;
    overflow: hidden;
    background: var(--pf-input);
    border: 1px solid var(--pf-border);
    border-radius: 999px;
}

.pf-progress span {
    display: block;
    height: 100%;
    background: var(--pf-accent);
}

.runtime-record-form .form-grid,
.pacforge-swal-form .form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 16px;
}

.pacforge-swal-popup {
    background: var(--pf-panel) !important;
    color: var(--pf-text) !important;
    border: 1px solid var(--pf-border) !important;
    border-radius: 14px !important;
}

.pacforge-swal-title,
.pacforge-swal-content {
    color: var(--pf-text) !important;
}

.pacforge-swal-content {
    text-align: left !important;
}

.pacforge-swal-form input,
.pacforge-swal-form select,
.pacforge-swal-form textarea {
    background: var(--pf-input);
    color: var(--pf-text);
    border-color: var(--pf-border);
}

.pacforge-swal-validation {
    background: var(--pf-danger-soft) !important;
    color: var(--pf-text) !important;
}

.swal2-container {
    background: var(--pf-overlay) !important;
}

@media (max-width: 760px) {
    .pf-widget {
        grid-column: 1 / -1;
    }

    .pf-widget-hide-mobile {
        display: none;
    }

    .runtime-record-form .form-grid,
    .pacforge-swal-form .form-grid {
        grid-template-columns: 1fr;
    }
}


.password-field {
    position: relative;
    display: flex;
    align-items: center;
}

.password-field input {
    width: 100%;
    padding-right: 48px;
}

.password-toggle {
    position: absolute;
    right: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    color: var(--pf-muted);
    cursor: pointer;
    border-radius: 8px;
    user-select: none;
}

.password-toggle:hover,
.password-toggle:focus-visible,
.password-toggle.is-visible {
    color: var(--pf-accent);
    background: var(--pf-panel-alt);
    outline: none;
}

.password-toggle:focus-visible {
    box-shadow: 0 0 0 2px var(--pf-accent);
}

.password-toggle svg {
    width: 24px;
    height: 24px;
    fill: currentColor;
    pointer-events: none;
}


/* V2.7.5 User Profile and Preference Foundation */
.profile-link { font-weight: 700; text-decoration: none; }
.profile-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.profile-grid .panel { margin: 0; }
.profile-grid .check { display: block; margin: 14px 0; }
@media (max-width: 760px) { .profile-grid { grid-template-columns: 1fr; } }

/* V2.8.0 Platform Information */
.platform-link{font-size:1.25rem;text-decoration:none}.platform-footer{padding:14px 20px;text-align:center;border-top:1px solid var(--pf-border);background:var(--pf-panel);font-size:.85rem}.platform-footer span{color:var(--pf-muted)}.platform-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.platform-card{margin:0}.platform-card dl{margin:0}.platform-card dl div{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(0,1.2fr);gap:12px;padding:9px 0;border-bottom:1px solid var(--pf-border)}.platform-card dt{color:var(--pf-muted)}.platform-card dd{margin:0;word-break:break-word}.health-summary{display:flex;justify-content:space-between;gap:18px;padding:14px 18px;border-radius:12px;margin-bottom:18px}.health-pass{background:rgba(39,174,96,.16);border:1px solid rgba(39,174,96,.45)}.health-warning{background:var(--pf-danger-soft);border:1px solid var(--pf-danger)}.status-list{list-style:none;padding:0;margin:0;display:grid;gap:9px}.status-list li{display:flex;gap:10px;align-items:center}.status-ok span{color:#2ecc71}.status-fail span{color:var(--pf-danger)}.platform-copy-source{position:absolute;left:-10000px;width:1px;height:1px}@media(max-width:760px){.platform-grid{grid-template-columns:1fr}.health-summary{flex-direction:column}.platform-card dl div{grid-template-columns:1fr}}


/* V2.9.0 Developer Diagnostics Framework */
.diagnostic-panel{margin-top:18px}.diagnostic-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.diagnostic-summary div{padding:12px;border:1px solid var(--pf-border);border-radius:10px;background:var(--pf-panel-alt)}.diagnostic-summary dt{color:var(--pf-muted);font-size:.82rem}.diagnostic-summary dd{margin:5px 0 0;font-weight:700;word-break:break-word}.diagnostic-code{overflow:auto;padding:16px;border:1px solid var(--pf-border);border-radius:10px;background:var(--pf-panel-alt);white-space:pre-wrap;word-break:break-word}.diagnostic-metrics{display:flex;gap:18px;flex-wrap:wrap;margin:12px 0 18px}.diagnostic-copy-source{position:absolute;left:-10000px;width:1px;height:1px}@media(max-width:760px){.diagnostic-summary{grid-template-columns:1fr}.diagnostic-panel table{display:block;overflow-x:auto}}
.diagnostic-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.diagnostic-summary div,.diagnostic-event{padding:14px;border:1px solid var(--border,#444);border-radius:10px}.diagnostic-summary dt{font-weight:700}.diagnostic-summary dd{margin:4px 0 0}.diagnostic-timeline{display:grid;gap:12px}.diagnostic-event pre{white-space:pre-wrap;word-break:break-word;max-height:420px;overflow:auto;padding:12px;background:rgba(0,0,0,.2);border-radius:8px}


/* V2.9.0 Observability Foundation navigation */
.observability-foundation { margin-bottom: 1.25rem; }
.status-badge { display:inline-flex; align-items:center; padding:.45rem .75rem; border-radius:999px; font-size:.85rem; font-weight:700; }
.status-warning { border:1px solid var(--border,#555); }
.top-actions .platform-link { padding:.35rem .55rem; border-radius:.4rem; text-decoration:none; }
@media (max-width: 720px) { .top-actions .platform-link { font-size:.78rem; } }
.diagnostic-report{width:100%;min-height:22rem;margin-top:1rem;font-family:Consolas,monospace;font-size:.85rem;white-space:pre;}

/* PacForge Runtime V2.9.4 - Advanced Observability */
.observability-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-top:1rem}.observability-metrics article{border:1px solid var(--border,#3b4350);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.35rem}.observability-metrics strong{font-size:1.35rem}.observability-metrics span{font-size:.9rem;opacity:.75}

/* PacForge Runtime V2.9.8 */
.profile-identity{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none}.profile-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;flex:0 0 36px}.profile-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;background:var(--panel,#252a32);border:1px solid var(--border,#4a5260)}.profile-avatar-fallback svg{width:22px;height:22px;fill:currentColor}.profile-image-panel{display:flex;align-items:center;gap:1.5rem}.profile-image-preview{flex:0 0 128px}.profile-image-preview img,.profile-avatar-large{width:128px;height:128px;border-radius:50%;object-fit:cover}.profile-avatar-large{display:flex;align-items:center;justify-content:center;background:var(--panel,#252a32);border:1px solid var(--border,#4a5260)}.profile-avatar-large svg{width:72px;height:72px;fill:currentColor}.profile-image-actions,.profile-image-remove{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.75rem}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.runtime-tools-entry{margin-top:1.5rem}.observability-cards{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}

@media(max-width:680px){.profile-image-actions,.profile-image-remove{flex-direction:column;align-items:stretch}.profile-image-actions .btn,.profile-image-remove .btn{width:100%;text-align:center}.profile-image-panel{flex-direction:column;text-align:center}.profile-image-preview{flex-basis:auto}.top-actions{gap:.45rem}.profile-avatar{width:32px;height:32px;flex-basis:32px}}

#profile_image_name{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}


/* PacForge Runtime V2.9.9 - Profile Camera Capture */
.profile-camera-support{margin-top:.75rem}.profile-camera-panel{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(0,0,0,.78)}.profile-camera-panel[hidden]{display:none}.profile-camera-dialog{width:min(760px,100%);max-height:calc(100vh - 2rem);overflow:auto;border:1px solid var(--pf-border);border-radius:14px;background:var(--pf-panel);box-shadow:0 24px 70px rgba(0,0,0,.45);padding:1rem}.profile-camera-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.profile-camera-header h3{margin:.1rem 0}.profile-camera-stage{display:flex;align-items:center;justify-content:center;min-height:260px;margin:1rem 0;border-radius:12px;overflow:hidden;background:#000}.profile-camera-stage video{display:block;width:100%;max-height:62vh;object-fit:contain;background:#000}.profile-camera-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.profile-camera-controls .btn{min-width:140px}@media(max-width:680px){.profile-camera-dialog{padding:.85rem}.profile-camera-header{align-items:center}.profile-camera-controls{flex-direction:column}.profile-camera-controls .btn{width:100%}.profile-camera-stage{min-height:220px}}

/* Runtime V2.9.14 — Published Solution Home & Business Module Card Navigation */
.business-module-card{position:relative;overflow:hidden;min-height:190px;display:flex;flex-direction:column;justify-content:flex-end}
.business-module-card .business-module-icon{font-size:2rem;margin-bottom:.75rem}
.business-module-card .business-module-image{max-width:100%;max-height:130px;object-fit:contain;align-self:center;margin-bottom:1rem}
.business-module-card.has-background-image{background-size:cover;background-position:center}
.business-module-card.has-background-image::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.48)}
.business-module-card.has-background-image>*{position:relative;z-index:1}
.business-module-card.has-background-image h2,.business-module-card.has-background-image p{color:#fff}
.breadcrumbs{font-size:.9rem;margin-bottom:.35rem}
.application-cards .card,.direct-application-cards .card{min-height:120px}

/* V2.9.15 Published WYSIWYG Application Execution */
.runtime-record-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.runtime-record-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:12px;min-width:0}.runtime-record-summary{display:grid;gap:7px}.runtime-record-summary p,.runtime-record-card p{margin:0;overflow-wrap:anywhere}.runtime-record-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}.runtime-record-detail{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:14px}.runtime-record-detail-field{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;gap:5px}.runtime-record-detail-field small{color:var(--muted)}.runtime-record-detail-field strong{overflow-wrap:anywhere}.breadcrumbs{font-size:.9rem;color:var(--muted);margin-bottom:5px}.breadcrumbs a{color:inherit}@media(max-width:700px){.runtime-record-grid,.runtime-record-detail{grid-template-columns:1fr}}


/* V2.9.16 Standard Record Card & SweetAlert Form Action Alignment */
.runtime-record-card {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
    min-height: 130px;
    padding: 20px;
    background: var(--pf-panel);
    border: 1px solid var(--pf-border);
    border-radius: 12px;
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.runtime-record-card:hover,
.runtime-record-card:focus-within {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px var(--pf-shadow);
    border-color: var(--pf-accent);
}
.runtime-record-actions {
    padding-top: 4px;
}
.runtime-form-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 8px;
}

/* V2.9.35 Searchable Lookup Card Selector */
.lookup-card-trigger{width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;text-align:left;background:var(--surface,#fff);color:var(--text,#202226);border:1px solid var(--border,#c7ccd3);border-radius:10px;padding:11px 14px;cursor:pointer}.lookup-card-trigger:hover{border-color:var(--primary,#d62828)}.lookup-card-trigger:disabled{cursor:not-allowed;opacity:.7}.lookup-card-selected{font-weight:600}.lookup-card-chevron{font-size:1.5rem;line-height:1}.lookup-selector-overlay{position:fixed;inset:0;z-index:25000;background:rgba(0,0,0,.68);padding:16px;overflow:auto}.lookup-selector-overlay[hidden]{display:none}.lookup-selector-dialog{width:min(1100px,100%);margin:2vh auto;background:var(--pf-panel,#1b1e22);color:var(--pf-text,#f3f4f6);border:1px solid var(--pf-border,#424850);border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.38);padding:18px}.lookup-selector-header{display:flex;align-items:flex-start;gap:16px;justify-content:space-between}.lookup-selector-header h2{margin:0}.lookup-selector-header p{margin:.35rem 0 0}.lookup-selector-search{position:sticky;top:0;z-index:2;padding:12px 0;background:var(--pf-panel,#1b1e22)}.lookup-selector-search input{width:100%;font-size:1rem;padding:12px 14px}.lookup-selector-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;min-height:120px}.lookup-result-card{display:flex;gap:12px;width:100%;text-align:left;background:var(--pf-panel-2,#24282d);color:var(--pf-text,#f3f4f6);border:1px solid var(--pf-border,#424850);border-radius:12px;padding:14px;cursor:pointer}.lookup-result-card:hover,.lookup-result-card:focus{border-color:var(--pf-accent,#d62828);transform:translateY(-1px)}.lookup-result-content{min-width:0;flex:1}.lookup-result-content h3{margin:0 0 10px;font-size:1rem}.lookup-result-detail{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-top:1px solid var(--pf-border,#424850)}.lookup-result-detail span{color:var(--pf-muted,#aeb4bd);font-size:.85rem}.lookup-result-detail strong{text-align:right}.lookup-result-image{width:64px;height:64px;object-fit:cover;border-radius:10px;border:1px solid var(--pf-border,#424850)}.lookup-selector-footer{display:flex;justify-content:center;padding-top:14px}.lookup-selector-loading{padding:30px;text-align:center}.lookup-empty{grid-column:1/-1}.lookup-selector-open{overflow:hidden}@media(max-width:640px){.lookup-selector-overlay{padding:0}.lookup-selector-dialog{margin:0;min-height:100vh;border-radius:0;border-left:0;border-right:0}.lookup-selector-results{grid-template-columns:1fr}.lookup-result-card{padding:12px}}

/* V2.9.40 customer-facing profile and unified theme-card experience */
.runtime-profile-hero{position:relative;overflow:hidden;padding:24px}.runtime-profile-hero:after{content:"";position:absolute;right:-35px;top:-70px;width:190px;height:190px;border-radius:50%;background:color-mix(in srgb,var(--pf-accent) 22%,transparent);pointer-events:none}.profile-eyebrow{display:block;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:var(--pf-muted);margin-bottom:.35rem}.profile-image-panel{padding:22px;background:linear-gradient(135deg,var(--pf-panel),var(--pf-panel-alt))}.profile-image-preview img,.profile-avatar-large{box-shadow:0 10px 30px var(--pf-shadow);border:3px solid color-mix(in srgb,var(--pf-accent) 55%,var(--pf-border))}.profile-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.profile-section-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--pf-panel-alt);border:1px solid var(--pf-border);font-size:1.25rem}.runtime-theme-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:12px;margin:1rem 0}.runtime-theme-select-card{appearance:none;background:var(--pf-panel-alt);color:var(--pf-text);border:1px solid var(--pf-border);border-radius:12px;padding:10px;text-align:left;cursor:pointer;font:inherit;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.runtime-theme-select-card:hover,.runtime-theme-select-card:focus-visible{transform:translateY(-2px);border-color:var(--pf-accent);outline:none;box-shadow:0 10px 24px var(--pf-shadow)}.runtime-theme-select-card.selected{border-color:var(--pf-accent);box-shadow:0 0 0 2px var(--pf-accent)}.runtime-theme-select-card strong,.runtime-theme-select-card small{display:block}.runtime-theme-select-card small{color:var(--pf-muted);margin-top:.25rem}.runtime-theme-swatch{display:block;height:52px;border:1px solid rgba(127,127,127,.35);border-radius:8px;margin-bottom:.55rem}.runtime-theme-swatch-pacforge-standard{background:linear-gradient(135deg,#15171a 0 68%,#c90000 68%)}.runtime-theme-swatch-pacforge-midnight{background:linear-gradient(135deg,#07111f 0 68%,#d21f3c 68%)}.runtime-theme-swatch-pacforge-ocean{background:linear-gradient(135deg,#071a26 0 68%,#1596c7 68%)}.runtime-theme-swatch-pacforge-forest{background:linear-gradient(135deg,#0d1b14 0 68%,#2d9c5b 68%)}.runtime-theme-swatch-pacforge-slate{background:linear-gradient(135deg,#252a2f 0 68%,#bb1f2d 68%)}.runtime-theme-swatch-pacforge-light{background:linear-gradient(135deg,#eef1f5 0 68%,#c90000 68%)}.runtime-theme-swatch-pacforge-sand{background:linear-gradient(135deg,#eee7da 0 68%,#b25f25 68%)}.runtime-theme-swatch-pacforge-high-contrast{background:linear-gradient(135deg,#000 0 68%,#ff2020 68%)}.runtime-theme-card-actions{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.profile-grid>.panel{box-shadow:0 10px 30px var(--pf-shadow)}@media(max-width:680px){.runtime-theme-card-actions{flex-direction:column;align-items:stretch}.runtime-theme-card-actions .btn{width:100%}.runtime-profile-hero{padding:18px}}

/* PacForge Runtime V2.9.43 - Business-aligned header controls and standard Tenant identity */
.runtime-tenant-brand{display:flex;align-items:center;gap:12px;min-width:0;color:inherit;text-decoration:none}.runtime-tenant-brand-copy{display:flex;flex-direction:column;min-width:0}.runtime-tenant-brand-copy strong{font-size:1rem;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.runtime-tenant-brand-copy small{font-size:.72rem;opacity:.78;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.runtime-tenant-logo,.runtime-solution-icon{width:44px;height:44px;flex:0 0 44px;border-radius:10px;border:1px solid color-mix(in srgb,var(--pf-border) 78%,#fff 22%);background:var(--pf-panel-alt);display:grid;place-items:center;object-fit:cover}.runtime-tenant-logo-fallback{font-weight:800;font-size:1rem;letter-spacing:.03em}.runtime-solution-icon{font-size:1.15rem}.runtime-user-profile-button{display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:5px 11px 5px 6px;border:1px solid var(--pf-border);border-radius:999px;background:var(--pf-panel-alt);color:var(--pf-text);font-weight:700;text-decoration:none;transition:border-color .2s ease,transform .2s ease}.runtime-user-profile-button:hover,.runtime-user-profile-button:focus-visible{border-color:var(--pf-accent);transform:translateY(-1px);outline:none}.runtime-topbar-avatar{width:32px;height:32px;flex:0 0 32px;border-radius:50%;object-fit:cover;border:2px solid var(--pf-border);background:var(--pf-panel);display:grid;place-items:center}.runtime-topbar-avatar-fallback{font-size:.76rem;font-weight:800;letter-spacing:.03em}.runtime-user-profile-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.runtime-signout-button{font-weight:700;white-space:nowrap}.top .runtime-signout-button{background:var(--pf-panel-alt);color:var(--pf-text);border-color:var(--pf-border)}.top .runtime-signout-button:hover,.top .runtime-signout-button:focus-visible{border-color:var(--pf-accent);outline:none}@media(max-width:700px){.runtime-tenant-brand-copy strong,.runtime-tenant-brand-copy small{max-width:180px}.runtime-user-profile-name{display:none}.runtime-user-profile-button{padding:5px}.runtime-topbar-avatar{width:34px;height:34px;flex-basis:34px}.runtime-tenant-logo,.runtime-solution-icon{width:40px;height:40px;flex-basis:40px}}@media(max-width:520px){.runtime-tenant-brand-copy small{display:none}.runtime-tenant-brand-copy strong{max-width:130px}.runtime-signout-button{padding:9px 10px}}

/* V2.9.44 stable password visibility control */
.password-toggle,
.password-toggle:hover,
.password-toggle:focus,
.password-toggle:focus-visible,
.password-toggle:active,
.password-toggle.is-visible {
    top: 50%;
    transform: translateY(-50%);
    background: transparent !important;
    transition: color .16s ease;
}
.password-toggle { color: var(--pf-text) !important; }
.password-toggle.is-visible,
.password-toggle[aria-pressed="true"] { color: var(--pf-red, #d40000) !important; }

/* V2.9.44 generic Application image input */
.application-image-field{display:grid;gap:.7rem}.application-image-preview{width:min(260px,100%);min-height:150px;display:flex;align-items:center;justify-content:center;border:1px solid var(--pf-border);border-radius:12px;background:var(--pf-panel-alt);overflow:hidden}.application-image-preview img{display:block;width:100%;max-height:240px;object-fit:contain}.application-image-placeholder{font-size:3rem;color:var(--pf-muted)}.application-image-actions{display:flex;flex-wrap:wrap;gap:.6rem}.application-image-camera-overlay{position:fixed;inset:0;z-index:1300;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(0,0,0,.8)}.application-image-camera-overlay[hidden]{display:none}.application-image-camera-dialog{width:min(760px,100%);max-height:calc(100vh - 2rem);overflow:auto;border:1px solid var(--pf-border);border-radius:14px;background:var(--pf-panel);padding:1rem;box-shadow:0 24px 70px rgba(0,0,0,.45)}.application-image-camera-stage{display:flex;align-items:center;justify-content:center;min-height:260px;margin:1rem 0;border-radius:12px;overflow:hidden;background:#000}.application-image-camera-stage video{display:block;width:100%;max-height:62vh;object-fit:contain}.application-image-camera-controls{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center}@media(max-width:680px){.application-image-actions,.application-image-camera-controls{flex-direction:column}.application-image-actions .btn,.application-image-camera-controls .btn{width:100%}.application-image-camera-stage{min-height:220px}}

/* V2.9.45 Application image display alignment */
.runtime-application-image{display:block;width:min(220px,100%);max-height:220px;object-fit:contain;border:1px solid var(--pf-border);border-radius:10px;background:var(--pf-panel-alt)}
.runtime-record-summary .runtime-application-image,td .runtime-application-image{width:min(140px,100%);max-height:120px}

/* PacForge Runtime V2.9.47 — Application Card Image Layout Rendering Alignment */
.runtime-record-grid{align-items:stretch}
.runtime-record-grid>.runtime-record-card{height:100%}
.runtime-record-card{position:relative;overflow:hidden}
.runtime-record-card-content{position:relative;z-index:2;display:flex;flex-direction:column;gap:12px;min-width:0;height:100%}
.runtime-record-card-title{margin:0;font-size:1.18rem;line-height:1.3;overflow-wrap:anywhere}
.runtime-card-layout-image{display:block;width:100%;height:auto;max-height:320px;object-fit:contain;border:1px solid var(--pf-border);border-radius:10px;background:var(--pf-panel-alt)}
.runtime-record-card-background{position:absolute;inset:0;z-index:0;background-image:var(--runtime-card-background-image);background-size:cover;background-position:center;background-repeat:no-repeat;opacity:.24;pointer-events:none}
.runtime-record-card-layout-background::after{content:"";position:absolute;inset:0;z-index:1;background:color-mix(in srgb,var(--pf-panel) 58%,transparent);pointer-events:none}
.runtime-record-card-layout-background .runtime-record-card-content{z-index:2}
.runtime-record-card-layout-background .runtime-record-summary p,
.runtime-record-card-layout-background .runtime-record-card-title{text-shadow:0 1px 2px color-mix(in srgb,#000 55%,transparent)}
@media(max-width:700px){.runtime-card-layout-image{max-height:280px}}

/* V2.9.52 Runtime Action Spacing & Touch Target Alignment */
.panel > .toolbar + .toolbar,
.panel > .toolbar + form.toolbar {
    margin-top: 14px;
}

.toolbar,
.top-actions,
.workspace-nav,
.pagination,
.runtime-record-actions,
.runtime-form-actions,
.profile-image-actions,
.profile-image-remove,
.profile-camera-controls,
.application-image-actions,
.application-image-camera-controls,
.runtime-theme-card-actions {
    column-gap: 10px;
    row-gap: 10px;
}

/* Protect direct sibling actions that are not already inside a flex/gap action row. */
.panel > .btn + .btn,
.panel > form:not(.toolbar):not(.runtime-record-form) > .btn + .btn,
.login form > .btn + .btn,
.registration-panel form > .btn + .btn {
    margin-left: 10px;
}

@media (max-width: 700px) {
    .panel > .toolbar + .toolbar,
    .panel > .toolbar + form.toolbar {
        margin-top: 16px;
    }

    .toolbar,
    .top-actions,
    .workspace-nav,
    .pagination,
    .runtime-record-actions,
    .runtime-form-actions,
    .profile-image-actions,
    .profile-image-remove,
    .profile-camera-controls,
    .application-image-actions,
    .application-image-camera-controls,
    .runtime-theme-card-actions {
        column-gap: 12px;
        row-gap: 12px;
    }
}

@media (pointer: coarse) {
    .btn {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
}

/* PacForge Runtime V2.9.53 — Card Grid Row Spacing Alignment
   Consecutive Runtime card-grid sections must retain the same visual separation
   as rows within a single grid. This prevents independently rendered card
   groups from appearing attached when they follow one another. */
.cards + .cards {
    margin-top: 14px;
}

/* PacForge Runtime V2.9.55 — Relationship Navigation & Lookup Filter Alignment */
.runtime-browse-search-filter-form{
    margin-top:14px;
}
.runtime-browse-search-row{
    margin:0;
}
.runtime-browse-filter-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:12px;
    margin-top:14px;
}
.runtime-browse-filter{
    display:flex;
    flex-direction:column;
    gap:6px;
    min-width:0;
}
.runtime-browse-filter>span{
    font-weight:600;
}
.runtime-browse-filter select{
    width:100%;
    min-height:40px;
}
.runtime-browse-filter-actions{
    margin-top:12px;
}
@media (pointer:coarse){
    .runtime-browse-filter select{
        min-height:44px;
    }
}


/* PacForge Runtime V2.9.58 — Touch-Friendly Relationship Filter Card Selection Alignment */
.runtime-browse-filter-trigger{
    width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;
    padding:11px 14px;border:1px solid var(--pf-border);border-radius:10px;background:var(--pf-panel-alt);
    color:var(--pf-text);text-decoration:none;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease;
}
.runtime-browse-filter-trigger:hover,.runtime-browse-filter-trigger:focus-visible{
    border-color:var(--pf-accent);transform:translateY(-1px);box-shadow:0 6px 16px var(--pf-shadow);outline:none;
}
.runtime-browse-filter-trigger>span{font-size:1.35rem;line-height:1;color:var(--pf-muted)}
.runtime-filter-option-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:stretch}
.runtime-filter-option-card{min-height:138px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;text-decoration:none;cursor:pointer}
.runtime-filter-option-card .icon{font-size:1.35rem}
.runtime-filter-option-card h2,.runtime-filter-option-card p{margin:0}
.runtime-filter-option-card.selected{border-color:var(--pf-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--pf-accent) 72%,transparent),0 10px 24px var(--pf-shadow)}
.runtime-filter-option-card:hover,.runtime-filter-option-card:focus-visible{border-color:var(--pf-accent);transform:translateY(-2px);outline:none}
@media(pointer:coarse){
    .runtime-browse-filter-trigger{min-height:56px;padding:14px 16px}
    .runtime-filter-option-card{min-height:150px;padding:18px}
}
@media(max-width:640px){
    .runtime-filter-option-cards{grid-template-columns:1fr}
    .runtime-filter-option-card{min-height:112px}
}


/* V2.9.70 Canonical Family Theme & Profile Experience Alignment */
:root{--bg:#0b0f14;--bg2:#121923;--panel:#151b23;--panel2:#1c2430;--surface-elevated:#222d3a;--line:#303b49;--line-strong:#455467;--text:#eef3f8;--muted:#9eacbb;--accent-light:#ff6b63;--accent:#e53935;--accent-dark:#a91313;--accent-text:#fff;--input-bg:#0e141c;--nav-bg:rgba(11,15,20,.94);--shadow-family:0 14px 35px rgba(0,0,0,.22);--shadow-elevated:0 18px 42px rgba(0,0,0,.3)}
html[data-theme="standard"],body[data-theme="standard"]{--bg:#0b0f14;--bg2:#121923;--panel:#151b23;--panel2:#1c2430;--surface-elevated:#222d3a;--line:#303b49;--line-strong:#455467;--text:#eef3f8;--muted:#9eacbb;--accent-light:#ff6b63;--accent:#e53935;--accent-dark:#a91313;--accent-text:#fff;--input-bg:#0e141c;--nav-bg:rgba(11,15,20,.94)}
html[data-theme="midnight"],body[data-theme="midnight"]{--bg:#05070d;--bg2:#11182b;--panel:#0d1220;--panel2:#151d30;--surface-elevated:#1d2840;--line:#283552;--line-strong:#41557c;--text:#eef3f8;--muted:#9eacbb;--accent-light:#c4b5fd;--accent:#8b5cf6;--accent-dark:#5b21b6;--accent-text:#fff;--input-bg:#090e19;--nav-bg:rgba(5,7,13,.94)}
html[data-theme="ocean"],body[data-theme="ocean"]{--bg:#06141b;--bg2:#0b2b39;--panel:#0c2530;--panel2:#123745;--surface-elevated:#17485a;--line:#255568;--line-strong:#34758c;--text:#eefaff;--muted:#b4dbe5;--accent-light:#67e8f9;--accent:#0288d1;--accent-dark:#01579b;--accent-text:#fff;--input-bg:#081c25;--nav-bg:rgba(6,20,27,.94)}
html[data-theme="forest"],body[data-theme="forest"]{--bg:#07130d;--bg2:#12321e;--panel:#10271a;--panel2:#183a26;--surface-elevated:#214d32;--line:#2e5b3e;--line-strong:#477b58;--text:#eef8f0;--muted:#b4cfba;--accent-light:#81c784;--accent:#2e7d32;--accent-dark:#1b5e20;--accent-text:#fff;--input-bg:#0a1c11;--nav-bg:rgba(7,19,13,.94)}
html[data-theme="slate"],body[data-theme="slate"]{--bg:#111318;--bg2:#242932;--panel:#20242c;--panel2:#2b303a;--surface-elevated:#363d49;--line:#464d59;--line-strong:#616b79;--text:#f4f5f6;--muted:#c0c5ca;--accent-light:#b0bec5;--accent:#607d8b;--accent-dark:#37474f;--accent-text:#fff;--input-bg:#171a20;--nav-bg:rgba(17,19,24,.94)}
html[data-theme="light"],body[data-theme="light"]{--bg:#eef2f6;--bg2:#fff;--panel:#fff;--panel2:#f8fafc;--surface-elevated:#fff;--line:#cbd5e1;--line-strong:#94a3b8;--text:#17212b;--muted:#5f6b78;--accent-light:#ef5350;--accent:#c62828;--accent-dark:#8e0000;--accent-text:#fff;--input-bg:#fff;--nav-bg:rgba(255,255,255,.94);--shadow-family:0 14px 35px rgba(15,23,42,.10);--shadow-elevated:0 18px 42px rgba(15,23,42,.16)}
html[data-theme="sand"],body[data-theme="sand"]{--bg:#241f18;--bg2:#3a3022;--panel:#332b20;--panel2:#43382a;--surface-elevated:#534634;--line:#665641;--line-strong:#8a7457;--text:#fff8eb;--muted:#d9c7aa;--accent-light:#ffd180;--accent:#c77800;--accent-dark:#8d5200;--accent-text:#1d1407;--input-bg:#2b241b;--nav-bg:rgba(36,31,24,.94)}
html[data-theme="high-contrast"],body[data-theme="high-contrast"]{--bg:#000;--bg2:#000;--panel:#000;--panel2:#111;--surface-elevated:#181818;--line:#fff;--line-strong:#fff;--text:#fff;--muted:#fff;--accent-light:#ffff80;--accent:#ff0;--accent-dark:#b8b800;--accent-text:#000;--input-bg:#000;--nav-bg:#000;--shadow-family:none;--shadow-elevated:none}
html[data-theme="autumn"],body[data-theme="autumn"]{--bg:#1d100b;--bg2:#3a1d10;--panel:#2b1810;--panel2:#402417;--surface-elevated:#56301d;--line:#70452d;--line-strong:#99603b;--text:#fff3e7;--muted:#d8b69a;--accent-light:#f6ad55;--accent:#c65d21;--accent-dark:#7f2f16;--accent-text:#fff;--input-bg:#24140d;--nav-bg:rgba(29,16,11,.94)}
html[data-theme="spring"],body[data-theme="spring"]{--bg:#f3f8f1;--bg2:#fff7fb;--panel:#fff;--panel2:#f2faef;--surface-elevated:#fff;--line:#c8ddc2;--line-strong:#9fc597;--text:#26352a;--muted:#65766a;--accent-light:#f7a8c4;--accent:#72b66a;--accent-dark:#3f7f49;--accent-text:#fff;--input-bg:#fff;--nav-bg:rgba(250,253,249,.95);--shadow-family:0 14px 35px rgba(54,92,60,.10);--shadow-elevated:0 18px 42px rgba(54,92,60,.16)}
html[data-theme="summer"],body[data-theme="summer"]{--bg:#062332;--bg2:#0b4960;--panel:#0d3445;--panel2:#12506a;--surface-elevated:#176985;--line:#287891;--line-strong:#3fa0b9;--text:#f1fbff;--muted:#b4dbe5;--accent-light:#70e1f5;--accent:#19b5c5;--accent-dark:#087f8c;--accent-text:#03242b;--input-bg:#092b3a;--nav-bg:rgba(6,35,50,.94)}
html[data-theme="winter"],body[data-theme="winter"]{--bg:#07121f;--bg2:#132a43;--panel:#102238;--panel2:#19324e;--surface-elevated:#214261;--line:#35536f;--line-strong:#537695;--text:#f2f8ff;--muted:#b5c8d9;--accent-light:#d7efff;--accent:#79bde8;--accent-dark:#3978a7;--accent-text:#07121f;--input-bg:#0b1a2a;--nav-bg:rgba(7,18,31,.95)}
html[data-theme="lavender"],body[data-theme="lavender"]{--bg:#171123;--bg2:#2b1d40;--panel:#241933;--panel2:#35254a;--surface-elevated:#47325f;--line:#5d4772;--line-strong:#806399;--text:#faf5ff;--muted:#cdbedf;--accent-light:#d8b4fe;--accent:#a56cc1;--accent-dark:#6f3d8c;--accent-text:#fff;--input-bg:#1d1529;--nav-bg:rgba(23,17,35,.94)}
html[data-theme],body[data-theme]{--pf-bg:var(--bg);--pf-nav:var(--nav-bg);--pf-panel:var(--panel);--pf-panel-alt:var(--panel2);--pf-border:var(--line);--pf-text:var(--text);--pf-muted:var(--muted);--pf-accent:var(--accent);--pf-accent-dark:var(--accent-dark);--pf-accent-text:var(--accent-text);--pf-input:var(--input-bg);--pf-shadow:rgba(0,0,0,.24)}
body{background:radial-gradient(circle at top left,var(--bg2) 0,var(--bg) 48%);color:var(--text)}.top{background:var(--nav-bg);border-color:var(--line);backdrop-filter:blur(12px)}.panel,.hero,.card{background:linear-gradient(150deg,var(--panel2),var(--panel));border-color:var(--line);box-shadow:var(--shadow-family)}.btn{background:linear-gradient(135deg,var(--panel2),var(--panel));border-color:var(--line);color:var(--text);box-shadow:0 5px 14px rgba(0,0,0,.12)}.btn:hover{border-color:var(--accent-light);transform:translateY(-1px)}.btn.primary{background:linear-gradient(135deg,var(--accent-light) 0%,var(--accent) 48%,var(--accent-dark) 100%);border-color:transparent;color:var(--accent-text);box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 24%,transparent)}input,select,textarea{background:var(--input-bg);color:var(--text);border-color:var(--line)}input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--muted) 82%,transparent)}input[readonly],textarea[readonly],select[disabled],input:disabled,textarea:disabled{background:color-mix(in srgb,var(--panel2) 78%,var(--input-bg));color:var(--muted);opacity:1}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent);outline:none}.runtime-user-profile-button,.runtime-signout-button{border-radius:999px!important;background:linear-gradient(135deg,var(--panel2),var(--panel))!important;border:1px solid var(--line)!important;box-shadow:0 7px 18px rgba(0,0,0,.16)}.swal2-popup{background:var(--panel)!important;color:var(--text)!important;border:1px solid var(--line)!important;box-shadow:var(--shadow-elevated)!important}.swal2-input,.swal2-textarea,.swal2-select{background:var(--input-bg)!important;color:var(--text)!important;border-color:var(--line)!important}
.runtime-theme-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:1rem 0}.runtime-theme-option{display:grid;grid-template-columns:34px auto 1fr;align-items:center;gap:9px;padding:9px 11px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(135deg,var(--panel2),var(--panel));cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.runtime-theme-option:hover{transform:translateY(-1px);border-color:var(--accent-light);box-shadow:0 8px 18px rgba(0,0,0,.14)}.runtime-theme-option:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 45%,transparent)}.runtime-theme-option input{width:auto;margin:0;accent-color:var(--accent)}.runtime-theme-swatch{width:34px;height:34px;border-radius:10px;border:1px solid color-mix(in srgb,currentColor 22%,transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}.theme-standard .runtime-theme-swatch{background:linear-gradient(135deg,#ff6b63,#e53935 48%,#a91313)}.theme-midnight .runtime-theme-swatch{background:linear-gradient(135deg,#c4b5fd,#8b5cf6 48%,#5b21b6)}.theme-ocean .runtime-theme-swatch{background:linear-gradient(135deg,#67e8f9,#0288d1 48%,#01579b)}.theme-forest .runtime-theme-swatch{background:linear-gradient(135deg,#81c784,#2e7d32 48%,#1b5e20)}.theme-slate .runtime-theme-swatch{background:linear-gradient(135deg,#b0bec5,#607d8b 48%,#37474f)}.theme-light .runtime-theme-swatch{background:linear-gradient(135deg,#fff,#ef5350 48%,#c62828)}.theme-sand .runtime-theme-swatch{background:linear-gradient(135deg,#ffd180,#c77800 48%,#8d5200)}.theme-high-contrast .runtime-theme-swatch{background:linear-gradient(135deg,#fff,#ff0 48%,#000)}.theme-autumn .runtime-theme-swatch{background:linear-gradient(135deg,#f6ad55,#c65d21 48%,#7f2f16)}.theme-spring .runtime-theme-swatch{background:linear-gradient(135deg,#f7a8c4,#72b66a 55%,#3f7f49)}.theme-summer .runtime-theme-swatch{background:linear-gradient(135deg,#70e1f5,#19b5c5 48%,#087f8c)}.theme-winter .runtime-theme-swatch{background:linear-gradient(135deg,#d7efff,#79bde8 48%,#3978a7)}.theme-lavender .runtime-theme-swatch{background:linear-gradient(135deg,#d8b4fe,#a56cc1 48%,#6f3d8c)}

/* PacForge Runtime V2.9.75 — Theme-Aware Card Visual Presentation Alignment */
.runtime-coloured-card{--runtime-card-light:color-mix(in srgb,var(--accent-light) 24%,var(--panel));--runtime-card-dark:color-mix(in srgb,var(--accent-dark) 34%,var(--panel));background:var(--runtime-card-light);color:var(--text);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));}
.runtime-coloured-card-variant-1{--runtime-card-light:color-mix(in srgb,var(--accent) 18%,var(--panel2));--runtime-card-dark:color-mix(in srgb,var(--accent-dark) 28%,var(--panel));}
.runtime-coloured-card-variant-2{--runtime-card-light:color-mix(in srgb,var(--accent-light) 18%,var(--surface-elevated));--runtime-card-dark:color-mix(in srgb,var(--accent) 30%,var(--panel));}
.runtime-coloured-card-variant-3{--runtime-card-light:color-mix(in srgb,var(--accent) 14%,var(--panel));--runtime-card-dark:color-mix(in srgb,var(--accent-dark) 38%,var(--panel2));}
.runtime-coloured-card.runtime-gradient-none{background:var(--runtime-card-light)}
.runtime-coloured-card.runtime-gradient-none.runtime-gradient-tone-dark{background:var(--runtime-card-dark)}
.runtime-coloured-card.runtime-gradient-top-left-bottom-right{background:linear-gradient(135deg,var(--runtime-card-light),var(--runtime-card-dark))}
.runtime-coloured-card.runtime-gradient-bottom-left-top-right{background:linear-gradient(45deg,var(--runtime-card-light),var(--runtime-card-dark))}
.runtime-coloured-card.runtime-gradient-top-bottom{background:linear-gradient(180deg,var(--runtime-card-light),var(--runtime-card-dark))}
.runtime-coloured-card.runtime-gradient-left-right{background:linear-gradient(90deg,var(--runtime-card-light),var(--runtime-card-dark))}
.runtime-coloured-card.runtime-gradient-tone-dark.runtime-gradient-top-left-bottom-right{background:linear-gradient(135deg,var(--runtime-card-dark),var(--runtime-card-light))}
.runtime-coloured-card.runtime-gradient-tone-dark.runtime-gradient-bottom-left-top-right{background:linear-gradient(45deg,var(--runtime-card-dark),var(--runtime-card-light))}
.runtime-coloured-card.runtime-gradient-tone-dark.runtime-gradient-top-bottom{background:linear-gradient(180deg,var(--runtime-card-dark),var(--runtime-card-light))}
.runtime-coloured-card.runtime-gradient-tone-dark.runtime-gradient-left-right{background:linear-gradient(90deg,var(--runtime-card-dark),var(--runtime-card-light))}
.runtime-coloured-card .muted,.runtime-coloured-card.runtime-record-card .muted{color:color-mix(in srgb,var(--text) 72%,transparent)}
.runtime-coloured-card:hover,.runtime-coloured-card:focus,.runtime-coloured-card:focus-within{border-color:var(--accent)}

/* V2.9.86 theme-independent Application card colours. */
.runtime-independent-card{--runtime-card-light:color-mix(in srgb,var(--runtime-card-custom) 28%,white);--runtime-card-dark:color-mix(in srgb,var(--runtime-card-custom) 76%,black);background:var(--runtime-card-light);color:#172033;border-color:color-mix(in srgb,var(--runtime-card-custom) 55%,#9aa5b1)}
.runtime-random-card-variant-0{--runtime-card-custom:#f5b7c7}.runtime-random-card-variant-1{--runtime-card-custom:#a9c7f7}.runtime-random-card-variant-2{--runtime-card-custom:#aee5c2}.runtime-random-card-variant-3{--runtime-card-custom:#f7c59f}.runtime-random-card-variant-4{--runtime-card-custom:#cbb8f5}.runtime-random-card-variant-5{--runtime-card-custom:#f5e6a8}.runtime-random-card-variant-6{--runtime-card-custom:#a8e6e6}.runtime-random-card-variant-7{--runtime-card-custom:#f4b6a6}
.runtime-independent-card.runtime-gradient-none{background:var(--runtime-card-light)}.runtime-independent-card.runtime-gradient-none.runtime-gradient-tone-dark{background:var(--runtime-card-dark);color:white}.runtime-independent-card.runtime-gradient-top-left-bottom-right{background:linear-gradient(135deg,var(--runtime-card-light),var(--runtime-card-dark))}.runtime-independent-card.runtime-gradient-bottom-left-top-right{background:linear-gradient(45deg,var(--runtime-card-light),var(--runtime-card-dark))}.runtime-independent-card.runtime-gradient-top-bottom{background:linear-gradient(180deg,var(--runtime-card-light),var(--runtime-card-dark))}.runtime-independent-card.runtime-gradient-left-right{background:linear-gradient(90deg,var(--runtime-card-light),var(--runtime-card-dark))}.runtime-independent-card.runtime-gradient-tone-dark.runtime-gradient-top-left-bottom-right{background:linear-gradient(135deg,var(--runtime-card-dark),var(--runtime-card-light))}.runtime-independent-card.runtime-gradient-tone-dark.runtime-gradient-bottom-left-top-right{background:linear-gradient(45deg,var(--runtime-card-dark),var(--runtime-card-light))}.runtime-independent-card.runtime-gradient-tone-dark.runtime-gradient-top-bottom{background:linear-gradient(180deg,var(--runtime-card-dark),var(--runtime-card-light))}.runtime-independent-card.runtime-gradient-tone-dark.runtime-gradient-left-right{background:linear-gradient(90deg,var(--runtime-card-dark),var(--runtime-card-light))}

/* PacForge Runtime V2.9.87 — Form Control Value Visibility & Read-Only Contrast Alignment */
/*
 * Keep entered and selected values readable across every Runtime theme.
 * Native select option popups can otherwise use an operating-system white
 * surface while retaining the dark-theme foreground colour.
 */
input,
select,
textarea,
.lookup-card-trigger {
    -webkit-text-fill-color: currentColor;
}

select option,
select optgroup {
    background-color: var(--pf-input, var(--input-bg, #ffffff));
    color: var(--pf-text, var(--text, #202226));
}

input[readonly],
textarea[readonly],
select[disabled],
input:disabled,
textarea:disabled,
.lookup-card-trigger:disabled {
    background-color: color-mix(
        in srgb,
        var(--pf-panel-alt, var(--panel2, #eef1f5)) 78%,
        var(--pf-input, var(--input-bg, #ffffff))
    );
    color: var(--pf-muted, var(--muted, #5f6b78));
    -webkit-text-fill-color: var(--pf-muted, var(--muted, #5f6b78));
    opacity: 1;
}

/* Lookup selection buttons are form controls and must use the active
 * PacForge family theme rather than unrelated/fallback CSS variables. */
.lookup-card-trigger {
    background: var(--pf-input, var(--input-bg, #ffffff));
    color: var(--pf-text, var(--text, #202226));
    border-color: var(--pf-border, var(--line, #c7ccd3));
}
