:root { --pnim-teal: #087f8c; --pnim-navy: #172b42; --pnim-muted: #637487; }
.pnim-admin, .pnim-auth-page { font-family: 'Segoe UI', system-ui, sans-serif; }
.pnim-admin { --lte-sidebar-width: 260px; --bs-primary: #087f8c; --bs-primary-rgb: 8, 127, 140; --bs-link-color-rgb: 8, 111, 124; }
.pnim-admin .btn-primary, .pnim-auth-page .btn-primary { --bs-btn-bg: #087f8c; --bs-btn-border-color: #087f8c; --bs-btn-hover-bg: #066672; --bs-btn-hover-border-color: #066672; --bs-btn-active-bg: #065965; --bs-btn-active-border-color: #065965; }
.pnim-admin .btn-outline-primary { --bs-btn-color: #087582; --bs-btn-border-color: #b6d9dd; --bs-btn-hover-bg: #087582; --bs-btn-hover-border-color: #087582; --bs-btn-active-bg: #087582; }
.pnim-admin .app-content-header { padding: 1.8rem 0 1.4rem; }
.pnim-admin .app-content > .container-fluid, .pnim-admin .app-content-header > .container-fluid { padding-inline: 1.8rem; }
.pnim-admin .app-header { border-bottom: 1px solid var(--bs-border-color); min-height: 74px; box-shadow: none; }
.pnim-admin .app-footer { border-top: 1px solid var(--bs-border-color); padding: 1rem 1.8rem; }
.pnim-admin .card { border: 1px solid var(--bs-border-color); border-radius: .85rem; box-shadow: 0 3px 12px #152b4205; overflow: hidden; }
.pnim-admin .card-header { padding: 1.15rem 1.3rem; background: transparent; border-bottom: 1px solid var(--bs-border-color); }
.pnim-admin .card-title { font-weight: 650; font-size: 1rem; }
.pnim-admin .card-body { padding: 1.3rem; }
.pnim-admin .card-footer { background: transparent; padding: 1rem 1.3rem; }
.pnim-admin .btn, .pnim-auth-page .btn { border-radius: .5rem; }
.pnim-admin .form-control, .pnim-admin .form-select, .pnim-auth-page .form-control { border-radius: .5rem; min-height: 2.55rem; }
.pnim-admin .form-label, .pnim-auth-page .form-label { font-size: .85rem; font-weight: 600; }
.pnim-admin .form-control:focus, .pnim-admin .form-select:focus, .pnim-auth-page .form-control:focus { border-color: #54a8b1; box-shadow: 0 0 0 .2rem #087f8c22; }
.pnim-sidebar { background: var(--pnim-navy); color: #d6e2ed; }
.pnim-sidebar .sidebar-brand { border-color: #ffffff14; height: 74px; justify-content: flex-start; padding-left: 1.25rem; }
.pnim-brand-link { display: flex; align-items: center; gap: .75rem; text-decoration: none; }
.pnim-brand-mark { display: grid; place-items: center; flex-shrink: 0; width: 40px; height: 40px; border-radius: 11px; background: #2eb5ba; color: #123343; font-size: 1.25rem; }
.pnim-brand-link strong { display: block; color: #fff; font-size: .95rem; letter-spacing: .055em; }
.pnim-brand-link small { display: block; color: #a6bdcf; font-size: .62rem; letter-spacing: .18em; margin-top: 3px; }
.pnim-sidebar .sidebar-wrapper { padding: 1rem .8rem; }
.pnim-workspace { display: flex; gap: .7rem; align-items: center; padding: .9rem .7rem; background: #ffffff08; border: 1px solid #ffffff0d; border-radius: .7rem; }
.pnim-status-dot { width: 7px; height: 7px; border-radius: 50%; background: #4dd4bf; box-shadow: 0 0 0 4px #4dd4bf15; flex-shrink: 0; }
.pnim-workspace small { display: block; color: #9fb5c9; font-size: .6rem; letter-spacing: .12em; }
.pnim-workspace strong { display: block; font-size: .77rem; margin-top: .25rem; overflow-wrap: anywhere; }
.pnim-sidebar .nav-header { color: #99aec1; font-size: .65rem; letter-spacing: .13em; padding: .6rem .9rem; }
.pnim-sidebar .nav-link { padding: .8rem .95rem; margin-bottom: .35rem; border-radius: .55rem; color: #c6d5e2; font-size: .9rem; }
.pnim-sidebar .nav-link.active { background: #087f8c; color: #fff; box-shadow: 0 5px 12px #061b3133; }
.pnim-sidebar .nav-link:hover { background: #ffffff0e; color: #fff; }
.pnim-sidebar .nav-link.active:hover { background: #0a8b97; }
.pnim-sidebar .nav-icon { margin-right: .6rem; font-size: 1.1rem; }
.pnim-sidebar-note { margin: 3rem .7rem 1rem; border-top: 1px solid #ffffff15; padding-top: 1.25rem; color: #bfcede; font-size: .76rem; }
.pnim-sidebar-note p { color: #95abc0; margin: .5rem 0 0; font-size: .72rem; line-height: 1.7; }
.sidebar-collapse .pnim-workspace, .sidebar-collapse .pnim-sidebar-note { display: none; }
.pnim-site-form { min-width: 0; }
.pnim-site-form > button { display: inline-flex; align-items: center; column-gap: .375rem; white-space: nowrap; flex-shrink: 0; }
.pnim-admin .pnim-sidebar .sidebar-menu > .nav-item > .nav-link.active { background: #087f8c; color: #fff; }
.pnim-site-select { max-width: 17rem; background-color: transparent; font-weight: 600; }
.pnim-header-label, .pnim-eyebrow { color: var(--pnim-muted); font-size: .63rem; letter-spacing: .16em; font-weight: 700; }
.pnim-header-label { margin-right: .5rem; }
.pnim-icon-button { color: var(--bs-secondary-color); width: 36px; height: 38px; padding: .4rem; font-size: 1.05rem; }
.pnim-icon-button:hover { background: var(--bs-tertiary-bg); color: var(--bs-body-color); }
.pnim-avatar { display: inline-grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; color: #096773; background: #e0f1f2; font-size: 1rem; font-weight: 700; flex-shrink: 0; }
.pnim-avatar-sm { width: 35px; height: 35px; border-radius: 50%; font-size: .85rem; }
.pnim-avatar-lg { width: 72px; height: 72px; border-radius: 22px; font-size: 1.9rem; }
.pnim-meta { font-size: .68rem; color: var(--bs-secondary-color); }
.pnim-account-menu { width: min(19rem, 90vw); }
.pnim-admin .dropdown-menu { border: 1px solid var(--bs-border-color); border-radius: .75rem; box-shadow: 0 12px 32px #172b421a; }
.pnim-admin .dropdown-item { padding: .55rem 1rem; font-size: .87rem; }
.pnim-welcome { background: linear-gradient(115deg, #14364a, #126875); color: #fff; padding: 1.8rem 2rem; border-radius: 1rem; position: relative; overflow: hidden; }
.pnim-welcome::after { content: ''; position: absolute; width: 220px; height: 220px; border: 35px solid #ffffff07; border-radius: 50%; right: -30px; top: -100px; pointer-events: none; }
.pnim-welcome p { color: #c8e1e7; }
.pnim-welcome .pnim-eyebrow { color: #86d7dc; }
.pnim-welcome-icon { display: grid; place-items: center; width: 65px; height: 65px; border: 1px solid #ffffff24; background: #ffffff0c; border-radius: 18px; font-size: 1.8rem; }
.pnim-admin .info-box { border: 1px solid var(--bs-border-color); border-radius: .85rem; box-shadow: none; padding: 1.05rem; min-height: 110px; margin-bottom: 0; }
.pnim-admin .info-box-icon { width: 56px; height: 56px; border-radius: 15px; font-size: 1.55rem; align-self: center; }
.pnim-admin .info-box-content { padding-left: 1rem; }
.pnim-admin .info-box-text { font-size: .77rem; color: var(--bs-secondary-color); }
.pnim-admin .info-box-number { font-size: 1.7rem; line-height: 1.2; letter-spacing: -.04em; }
.pnim-icon-teal { background: #e2f3f2; color: #087983; }
.pnim-icon-blue { background: #e8effb; color: #436bb0; }
.pnim-icon-amber { background: #fff3d9; color: #93631a; }
.pnim-quick-link { display: flex; align-items: center; gap: 1rem; border: 1px solid var(--bs-border-color); border-radius: .75rem; padding: 1rem; color: var(--bs-body-color); text-decoration: none; transition: border-color .15s, background .15s; }
.pnim-quick-link:hover { border-color: #75b5bc; background: var(--bs-tertiary-bg); color: var(--bs-body-color); }
.pnim-quick-link > .bi:last-child { margin-left: auto; color: var(--bs-secondary-color); }
.pnim-quick-link small { color: var(--bs-secondary-color); display: block; margin-top: .25rem; font-size: .77rem; }
.pnim-permissions { max-height: 18rem; overflow-y: auto; }
.pnim-permission-badge { font-weight: 500; color: var(--bs-secondary-color); background: var(--bs-tertiary-bg); border: 1px solid var(--bs-border-color); padding: .5rem .65rem; }
.pnim-admin .table > thead th { background: var(--bs-tertiary-bg); color: var(--bs-secondary-color); font-size: .68rem; text-transform: uppercase; letter-spacing: .075em; padding-block: 1rem; border-bottom-width: 1px; white-space: nowrap; }
.pnim-admin .table > tbody > tr > td { padding-block: 1rem; font-size: .87rem; }
.pnim-admin .table > :not(caption) > * > :first-child { padding-left: 1.3rem; }
.pnim-admin .table > :not(caption) > * > :last-child { padding-right: 1.3rem; }
.pnim-admin .badge { border-radius: .4rem; }
.pnim-status-active { background: #e0f3e9; color: #216943; padding: .45rem .65rem; font-weight: 600; }
.pnim-status-inactive { background: var(--bs-secondary-bg); color: var(--bs-secondary-color); padding: .45rem .65rem; font-weight: 600; }
.pnim-empty { text-align: center; padding: 2.5rem !important; }
.pnim-empty .bi { display: block; font-size: 2rem; color: var(--bs-secondary-color); margin-bottom: .8rem; }
.pnim-auth-page { min-height: 100vh; background: #edf3f6; display: grid; place-items: center; padding: 2rem 1rem; }
.pnim-auth { width: min(100%, 960px); display: grid; grid-template-columns: 1fr 1.1fr; background: var(--bs-body-bg); border-radius: 1.4rem; overflow: hidden; box-shadow: 0 24px 80px #183d5217; }
.pnim-auth-story { background: linear-gradient(155deg, #182f46, #12616d); color: white; padding: 2.5rem; display: flex; flex-direction: column; justify-content: space-between; gap: 5rem; }
.pnim-auth-story h2 { font-size: 2.4rem; font-weight: 650; letter-spacing: -.04em; line-height: 1.2; }
.pnim-auth-story p { color: #bed5df; line-height: 1.8; font-size: .9rem; }
.pnim-auth-content { padding: 2.75rem; }
.pnim-auth-content .input-group-text { background: var(--bs-tertiary-bg); color: var(--bs-secondary-color); }
.pnim-auth-footer { font-size: .72rem; color: var(--bs-secondary-color); margin-top: 2rem; border-top: 1px solid var(--bs-border-color); padding-top: 1rem; }
.pnim-skip { position: absolute; left: .5rem; top: -6rem; z-index: 2000; }
.pnim-skip:focus { top: .5rem; }
[data-bs-theme=dark] .pnim-admin { --bs-link-color-rgb: 103, 201, 208; }
[data-bs-theme=dark] .pnim-admin .btn-outline-primary { --bs-btn-color: #82d3d9; --bs-btn-border-color: #43656a; }
[data-bs-theme=dark] .pnim-eyebrow { color: #95a8b9; }
[data-bs-theme=dark] .pnim-admin .text-primary { color: #82d3d9 !important; }
[data-bs-theme=dark] .pnim-auth-page { background: #17212c; }
[data-bs-theme=dark] .pnim-admin .app-main { color: #dee2e6; }
[data-bs-theme=dark] .pnim-admin .app-header, [data-bs-theme=dark] .pnim-admin .app-footer { --bs-body-bg: #212529; --bs-body-color: #dee2e6; color: #dee2e6; background-color: #212529 !important; }
[data-bs-theme=dark] .pnim-admin .text-secondary { color: #adb5bd !important; }
[data-bs-theme=dark] .pnim-admin .btn-tool, [data-bs-theme=dark] .pnim-admin .pnim-profile-button { color: #dee2e6; }
@media (max-width: 767.98px) {
    .pnim-admin .app-content > .container-fluid, .pnim-admin .app-content-header > .container-fluid { padding-inline: 1rem; }
    .pnim-header-label, .pnim-profile-button > .bi { display: none; }
    .pnim-site-select { max-width: 11rem; width: 100%; font-size: .72rem; padding-left: .5rem; }
    .pnim-profile-button { padding-inline: 0; }
    .pnim-welcome { padding: 1.5rem; }
    .pnim-auth { grid-template-columns: 1fr; max-width: 450px; }
    .pnim-auth-story { padding: 1.5rem; gap: 1rem; }
    .pnim-auth-story > div:not(:first-child) { display: none; }
    .pnim-auth-content { padding: 1.75rem; }
}
@media (prefers-reduced-motion: reduce) { .pnim-quick-link { transition: none; } }
@media print { .pnim-welcome { background: transparent; color: #000; } .pnim-welcome p { color: #000; } }

.pnim-menu-group > summary { display: flex; align-items: center; gap: .5rem; cursor: pointer; list-style: none; }
.pnim-menu-group > summary::-webkit-details-marker { display: none; }
.pnim-menu-group > summary:focus-visible { outline: 2px solid var(--bs-primary); outline-offset: -2px; }
.pnim-audit-table:has(tbody a) { min-width: 900px; }
.pnim-audit-table td:nth-child(2) { min-width: 190px; }
.pnim-audit-table td:nth-child(5) { min-width: 210px; }
.pnim-audit-filters input[type=date] { color-scheme: light; }
[data-bs-theme=dark] .pnim-audit-filters input[type=date] { color-scheme: dark; }
.pnim-media-preview { display: flex; align-items: center; justify-content: center; height: 180px; background: var(--bs-tertiary-bg); border-radius: .85rem .85rem 0 0; overflow: hidden; }
.pnim-media-preview img { width: 100%; height: 100%; object-fit: contain; }
.pnim-media-preview > .bi { font-size: 4rem; color: var(--bs-secondary-color); }
.pnim-media-preview-detail { height: 320px; }

/* Page Builder */
.pnim-section-item { display: block; padding: 1rem 1.25rem; }
.pnim-section-item[draggable="true"] { cursor: grab; }
.pnim-section-hidden { background: var(--bs-tertiary-bg); }
.pnim-section-hidden strong { opacity: .7; }
.pnim-dragging { opacity: .5; outline: 2px dashed var(--bs-primary); }
.pnim-drag-handle { color: var(--bs-secondary-color); font-size: 1.2rem; line-height: 1.6; cursor: grab; }
.pnim-section-order { display: inline-flex; align-items: center; justify-content: center; min-width: 2rem; height: 2rem; border-radius: 50%; background: var(--bs-primary-bg-subtle); color: var(--bs-primary-text-emphasis); font-weight: 700; font-size: .85rem; }
.pnim-section-actions form { display: inline; }
.pnim-section-choice { transition: border-color .15s, box-shadow .15s; }
.pnim-section-choice:hover, .pnim-section-choice:focus-visible { border-color: var(--bs-primary); box-shadow: 0 0 0 .2rem var(--bs-primary-bg-subtle); }
.pnim-media-thumb { display: inline-flex; align-items: center; justify-content: center; width: 96px; height: 64px; border-radius: .5rem; background: var(--bs-tertiary-bg); overflow: hidden; color: var(--bs-secondary-color); font-size: 1.5rem; flex-shrink: 0; }
.pnim-media-thumb img { width: 100%; height: 100%; object-fit: cover; }
.pnim-media-picker-thumb { display: flex; align-items: center; justify-content: center; aspect-ratio: 4 / 3; background: var(--bs-tertiary-bg); overflow: hidden; color: var(--bs-secondary-color); font-size: 1.75rem; border-radius: .375rem .375rem 0 0; }
.pnim-media-picker-thumb img { width: 100%; height: 100%; object-fit: cover; }
.pnim-embed-status.is-ok { display: flex; align-items: center; gap: .75rem; padding: .5rem; border: 1px solid var(--bs-border-color); border-radius: .375rem; background: var(--bs-tertiary-bg); }
.pnim-embed-status-thumb { width: 112px; aspect-ratio: 16 / 9; object-fit: cover; border-radius: .25rem; flex-shrink: 0; }
.pnim-embed-status-icon { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: .375rem; background: var(--bs-body-bg); font-size: 1.5rem; flex-shrink: 0; }
.pnim-host-list { columns: 2; column-gap: 1.5rem; }
.pnim-host-list li { break-inside: avoid; }
@media (max-width: 575.98px) { .pnim-host-list { columns: 1; } }
.pnim-media-picker-item { transition: border-color .15s, box-shadow .15s; }
.pnim-media-picker-item:hover, .pnim-media-picker-item:focus-visible { border-color: var(--bs-primary) !important; box-shadow: 0 0 0 .2rem var(--bs-primary-bg-subtle); }
.min-w-0 { min-width: 0; }
.pnim-template-thumb { aspect-ratio: 16 / 9; object-fit: cover; background: var(--bs-tertiary-bg); border-bottom: 1px solid var(--bs-border-color); }
.pnim-nav-item { display: grid; grid-template-columns: auto auto minmax(0, 1fr); gap: .75rem; align-items: center; padding: .75rem 1rem; }
.pnim-nav-item[draggable="true"] { cursor: grab; }
.pnim-nav-fields { display: grid; grid-template-columns: auto minmax(140px, 1fr) minmax(150px, 1fr) minmax(150px, 1fr) minmax(130px, 1fr) auto; gap: .5rem .75rem; align-items: center; }
/* A nested page is indented and marked so the two-level menu is readable at a glance. */
.pnim-nav-item.is-child { padding-left: 2.5rem; background: var(--bs-tertiary-bg); }
.pnim-nav-item.is-child .pnim-drag-handle::after { content: "\21B3"; margin-left: .35rem; font-size: .9rem; }
@media (max-width: 991.98px) { .pnim-nav-fields { grid-template-columns: 1fr 1fr; } }
@media (max-width: 767.98px) { .pnim-nav-fields { grid-template-columns: 1fr; } .pnim-nav-item.is-child { padding-left: 1.25rem; } }

/* Theme Color */
.pnim-theme-row { display: grid; grid-template-columns: minmax(160px, 1fr) 46px 110px; gap: .6rem; align-items: center; padding: .45rem 0; border-bottom: 1px solid var(--bs-border-color-translucent); }
.pnim-theme-row:last-of-type { border-bottom: 0; }
.pnim-theme-row input[type="color"] { width: 46px; height: 36px; padding: 2px; border-radius: .4rem; }
.pnim-theme-hex { font-family: var(--bs-font-monospace); text-transform: lowercase; }
.pnim-theme-preview .card-body { background: var(--theme-preview-surface, #fff); color: var(--theme-preview-text, #1f2d36); transition: background-color .15s, color .15s; }
.pnim-preview-alt { background: var(--theme-preview-surface-alt, #f2f6f8); border-radius: .6rem; padding: .85rem 1rem; margin-top: .75rem; transition: background-color .15s; }
.pnim-preview-muted { color: var(--theme-preview-muted, #5b6b75); }
.pnim-preview-badge { background: var(--theme-preview-secondary, #5b6b75); color: #fff; }
.pnim-preview-btn-primary { background: var(--theme-preview-primary, #0f7a86); color: var(--theme-preview-primary-contrast, #fff); border: 1px solid var(--theme-preview-primary, #0f7a86); }
.pnim-preview-btn-primary:hover, .pnim-preview-btn-primary:focus-visible { background: var(--theme-preview-primary-strong, #0b5f68); border-color: var(--theme-preview-primary-strong, #0b5f68); }
.pnim-preview-btn-outline { background: transparent; color: var(--theme-preview-dark, #172b3a); border: 1px solid var(--theme-preview-border, #dbe4e9); }

/* Keep a company logo fully visible in the site identity picker. */
.pnim-media-thumb[data-media-thumb="site-logo"] img{object-fit:contain}

/* Website > Footer editor rows */
.pnim-footer-row{border:1px solid var(--bs-border-color,#dee2e6);border-radius:.5rem;padding:.75rem;margin-bottom:.75rem;background:var(--bs-body-bg,#fff)}
.pnim-footer-row:hover{border-color:var(--pnim-teal,#087f8c)}
