/* V7.1 — consistent light/dark surfaces, cart popover, admin clarity */
:root{
  --v71-bg:#f4f6f8;--v71-surface:#fff;--v71-surface-2:#f8fafc;--v71-text:#16212b;--v71-muted:#62717c;--v71-border:#dfe5e8;
  --v71-soft:#edf2f5;--v71-accent:#c89525;--v71-accent-ink:#2b2108;--v71-shadow:0 14px 36px rgba(15,35,50,.08);
}
[data-bs-theme="dark"]{
  --v71-bg:#081118;--v71-surface:#101b24;--v71-surface-2:#15242e;--v71-text:#f2f6f8;--v71-muted:#adbbc5;--v71-border:#2d3f4c;
  --v71-soft:#1a2b36;--v71-accent:#e0b64e;--v71-accent-ink:#161107;--v71-shadow:0 18px 44px rgba(0,0,0,.30);
}

body.v67-ui{background:var(--v71-bg)!important;color:var(--v71-text)!important}
body.v67-ui main,body.v67-ui section,body.v67-ui .admin-shell,body.v67-ui .shop-shell,body.v67-ui .catalog-main-v6{color:var(--v71-text)}
body.v67-ui .admin-shell,body.v67-ui .shop-shell,body.v67-ui .catalog-main-v6{background:var(--v71-bg)!important}

/* Universal readable surfaces */
body.v67-ui .panel,
body.v67-ui .panel-soft,
body.v67-ui .publication-card,
body.v67-ui .product-card,
body.v67-ui .admin-stat,
body.v67-ui .module-card,
body.v67-ui .admin-alert-card,
body.v67-ui .category-row,
body.v67-ui .roles-sidebar-v61,
body.v67-ui .permissions-panel-v61,
body.v67-ui .permission-group-v61,
body.v67-ui .permission-card-v61,
body.v67-ui .settings-switch-card-v71,
body.v67-ui .period-filter,
body.v67-ui .shop-filters a,
body.v67-ui .empty-state-v6,
body.v67-ui .book-meta>div,
body.v67-ui .purchase-box,
body.v67-ui .variant-option{
  background:var(--v71-surface)!important;color:var(--v71-text)!important;border-color:var(--v71-border)!important;
}
body.v67-ui .text-muted,body.v67-ui .form-text,body.v67-ui small.text-muted{color:var(--v71-muted)!important}
body.v67-ui h1,body.v67-ui h2,body.v67-ui h3,body.v67-ui h4,body.v67-ui h5,body.v67-ui h6,
body.v67-ui .publication-body h3 a,body.v67-ui .product-card-body h2 a,body.v67-ui .module-card h3,body.v67-ui .admin-stat span,
body.v67-ui .category-info strong{color:var(--v71-text)!important}
body.v67-ui .publication-body p,body.v67-ui .product-card-body>p,body.v67-ui .module-card p,body.v67-ui .category-info small{color:var(--v71-muted)!important}

/* Bootstrap table dark/light parity */
body.v67-ui .table{--bs-table-color:var(--v71-text);--bs-table-bg:transparent;--bs-table-border-color:var(--v71-border);--bs-table-striped-color:var(--v71-text);--bs-table-striped-bg:color-mix(in srgb,var(--v71-surface-2) 85%,transparent);--bs-table-hover-color:var(--v71-text);--bs-table-hover-bg:var(--v71-soft);color:var(--v71-text)!important}
body.v67-ui .table thead th{color:var(--v71-muted)!important;background:var(--v71-surface-2)!important}
body.v67-ui .table code{color:color-mix(in srgb,var(--v71-accent) 78%,var(--v71-text))}

/* Catalog + shop */
body.v67-ui .catalog-hero-v6{background:linear-gradient(180deg,var(--v71-surface-2),var(--v71-surface))!important;border-color:var(--v71-border)!important}
body.v67-ui .catalog-title-v6 h1,body.v67-ui .catalog-results-head-v6 strong{color:var(--v71-text)!important}
body.v67-ui .catalog-title-v6 p,body.v67-ui .catalog-view-note-v6,body.v67-ui .catalog-results-head-v6 span{color:var(--v71-muted)!important}
body.v67-ui .catalog-search-trigger-v6{background:var(--v71-surface)!important;color:var(--v71-muted)!important;border-color:var(--v71-border)!important;box-shadow:var(--v71-shadow)}
body.v67-ui .catalog-search-trigger-v6>i,body.v67-ui .active-filters-v6 span{background:var(--v71-soft)!important;color:var(--v71-text)!important}
body.v67-ui .product-cover{background:var(--v71-soft)!important}
body.v67-ui .product-types span{background:var(--v71-soft)!important;color:var(--v71-text)!important}
body.v67-ui .shop-filters a{color:var(--v71-text)!important}
body.v67-ui .shop-filters a.active{background:var(--v71-text)!important;color:var(--v71-surface)!important;border-color:var(--v71-text)!important}

/* Buttons that were hard to read */
body.v67-ui .btn-soft-v6{background:var(--v71-surface)!important;color:var(--v71-text)!important;border:1px solid var(--v71-border)!important;box-shadow:0 5px 14px rgba(15,35,50,.04)}
body.v67-ui .btn-soft-v6:hover{background:var(--v71-text)!important;color:var(--v71-surface)!important;border-color:var(--v71-text)!important;transform:translateY(-1px)}
body.v67-ui .btn-outline-secondary{color:var(--v71-text)!important;border-color:var(--v71-border)!important}
body.v67-ui .btn-outline-secondary:hover{background:var(--v71-soft)!important;color:var(--v71-text)!important}
[data-bs-theme="dark"] body.v67-ui .btn-outline-warning{color:#ffd56d!important;border-color:#9d7830!important}
[data-bs-theme="dark"] body.v67-ui .btn-outline-danger{color:#ff9b9b!important;border-color:#834646!important}
[data-bs-theme="dark"] body.v67-ui .btn-outline-success{color:#86dfb9!important;border-color:#39775c!important}

/* Form controls and switches */
body.v67-ui .form-control,body.v67-ui .form-select,body.v67-ui textarea{background:var(--v71-surface)!important;color:var(--v71-text)!important;border-color:var(--v71-border)!important}
body.v67-ui .form-control::placeholder{color:color-mix(in srgb,var(--v71-muted) 78%,transparent)!important}
body.v67-ui .form-label,body.v67-ui .form-check-label{color:var(--v71-text)!important;font-weight:700}
body.v67-ui .form-check{color:var(--v71-text)}
body.v67-ui .form-check-input:not(:checked){background-color:var(--v71-surface)!important;border-color:#85939d!important}
body.v67-ui .form-check-input:checked{background-color:#198754!important;border-color:#198754!important}
body.v67-ui .form-switch .form-check-input:not(:checked){background-color:#9aa6ad!important;border-color:#9aa6ad!important}
body.v67-ui .form-switch .form-check-input:checked{background-color:#198754!important;border-color:#198754!important}

/* Admin */
body.v67-ui .admin-nav{background:var(--v71-surface)!important;border-color:var(--v71-border)!important}
body.v67-ui .admin-nav a{color:var(--v71-muted)!important}
body.v67-ui .admin-nav a:hover,body.v67-ui .admin-nav a.active{background:var(--v71-soft)!important;color:var(--v71-text)!important}
body.v67-ui .admin-nav-title>i,body.v67-ui .admin-stat>i{background:var(--v71-soft)!important;color:var(--v71-text)!important}
body.v67-ui .admin-page-heading-v63 p,body.v67-ui .admin-page-heading-v61 p{color:var(--v71-muted)!important}
body.v67-ui .period-filter a,body.v67-ui .period-filter button{color:var(--v71-text)!important;background:transparent!important}
body.v67-ui .period-filter a.active,body.v67-ui .period-filter button.active{background:var(--v71-text)!important;color:var(--v71-surface)!important}
body.v67-ui .module-card,body.v67-ui .admin-alert-card{text-decoration:none;box-shadow:var(--v71-shadow)}
body.v67-ui .category-tree-list{color:var(--v71-text)}
body.v67-ui .category-row.inactive{opacity:.62}

/* Content settings cards */
body.v67-ui .content-type-check-v68{background:var(--v71-surface)!important;border-color:var(--v71-border)!important;color:var(--v71-text)!important}
body.v67-ui .content-type-check-v68:has(input:checked){background:color-mix(in srgb,#198754 9%,var(--v71-surface))!important;border-color:#198754!important}
body.v67-ui .content-type-checkmark-v68{background:var(--v71-soft)!important;color:transparent!important;border-color:var(--v71-border)!important}
body.v67-ui .content-type-check-v68 input:checked + .content-type-checkmark-v68{background:#198754!important;color:#fff!important;border-color:#198754!important}

/* Cart popover — same interaction model as notifications */
.cart-wrapper-v71{position:relative;display:inline-grid;place-items:center}
.cart-toggle-v71.active{background:#e8f2f8!important;color:#164866!important}
.cart-dropdown-v71{position:absolute;top:calc(100% + 12px);left:0;width:min(390px,calc(100vw - 22px));background:var(--v71-surface);border:1px solid var(--v71-border);border-radius:18px;box-shadow:0 20px 56px rgba(0,0,0,.20);opacity:0;visibility:hidden;transform:translateY(-10px) scale(.97);transform-origin:top left;transition:.18s ease;z-index:1220;overflow:hidden;color:var(--v71-text)}
.cart-dropdown-v71::before{content:"";position:absolute;top:-7px;left:18px;width:14px;height:14px;background:var(--v71-surface);border-top:1px solid var(--v71-border);border-left:1px solid var(--v71-border);transform:rotate(45deg)}
.cart-dropdown-v71.show{opacity:1;visibility:visible;transform:none}
.cart-dropdown-head-v71{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:14px 16px;border-bottom:1px solid var(--v71-border);background:var(--v71-surface)}
.cart-dropdown-head-v71 small,.cart-dropdown-head-v71 h3{display:block;margin:0}.cart-dropdown-head-v71 small{font-size:.68rem;color:var(--v71-muted);font-weight:700}.cart-dropdown-head-v71 h3{font-size:1rem;font-weight:900;color:var(--v71-text)}
.cart-mini-count-v71{display:inline-flex;gap:.28rem;align-items:center;background:var(--v71-soft);border:1px solid var(--v71-border);padding:.32rem .55rem;border-radius:999px;font-size:.65rem;color:var(--v71-muted)}
.cart-mini-count-v71 b{color:var(--v71-text)}
.cart-dropdown-body-v71{max-height:420px;overflow:auto;padding:8px;background:var(--v71-surface)}
.cart-dropdown-v71 .cart-item-v66{background:var(--v71-surface-2)!important;border-color:var(--v71-border)!important}
.cart-dropdown-v71 .cart-copy-v66 strong,.cart-dropdown-v71 .cart-copy-v66 b{color:var(--v71-text)!important}.cart-dropdown-v71 .cart-copy-v66 small{color:var(--v71-muted)!important}
.cart-dropdown-v71 .cart-summary-v66{position:sticky;bottom:-8px;margin:.65rem -8px -8px;background:var(--v71-surface)!important;border-top:1px solid var(--v71-border)!important}

/* App settings */
.app-status-chip-v71{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .7rem;border-radius:999px;background:#eef2f4;color:#687680;font-weight:800;font-size:.72rem}.app-status-chip-v71.is-active{background:#def5e9;color:#126b49}
[data-bs-theme="dark"] .app-status-chip-v71{background:#22323d;color:#aebbc4}[data-bs-theme="dark"] .app-status-chip-v71.is-active{background:#17382b;color:#85deb9}
.settings-switch-card-v71{padding:1rem;border-radius:18px;border:1px solid var(--v71-border);background:var(--v71-surface);transition:.18s}.settings-switch-card-v71.is-active,.settings-switch-card-v71.is-checked{border-color:#198754;background:color-mix(in srgb,#198754 8%,var(--v71-surface))}.settings-switch-card-v71 .form-switch{display:flex;align-items:center;gap:.8rem}.settings-switch-card-v71 .form-switch>span strong,.settings-switch-card-v71 .form-switch>span small{display:block}.settings-switch-card-v71 .form-switch>span small{color:var(--v71-muted);margin-top:.2rem}
.app-qr-box-v71{display:flex;align-items:center;gap:.8rem;padding:.7rem;border:1px solid var(--v71-border);border-radius:14px;background:var(--v71-surface-2)}.app-qr-box-v71 img{width:74px;height:74px;object-fit:contain;background:#fff;padding:4px;border-radius:10px}.app-qr-box-v71 label{font-size:.72rem;color:var(--v71-muted)}

/* Subscription settings resilience */
.future-feature-pill-v67.is-active{background:#dff5e9!important;color:#116844!important}
[data-bs-theme="dark"] .future-feature-pill-v67.is-active{background:#17382b!important;color:#8adebd!important}

/* Roles clearer layout */
.roles-overview-v71{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-bottom:1rem}.roles-overview-v71 article{padding:.85rem 1rem;border:1px solid var(--v71-border);background:var(--v71-surface);border-radius:16px}.roles-overview-v71 strong,.roles-overview-v71 small{display:block}.roles-overview-v71 strong{font-size:1.05rem}.roles-overview-v71 small{font-size:.68rem;color:var(--v71-muted);margin-top:.15rem}
.permission-group-v71{border:1px solid var(--v71-border);border-radius:18px;background:var(--v71-surface);overflow:hidden;margin-bottom:.75rem}.permission-group-v71 .permission-group-head-v61{margin:0;border:0;border-radius:0;background:var(--v71-surface-2)}.permission-group-v71 .permission-cards-v61{padding:.8rem}.permission-group-collapse-v71{border:0;background:none;color:var(--v71-muted);width:34px;height:34px;border-radius:10px;display:grid;place-items:center}.permission-group-collapse-v71:hover{background:var(--v71-soft);color:var(--v71-text)}

@media(max-width:991.98px){
  .roles-overview-v71{grid-template-columns:1fr 1fr}.cart-wrapper-v71{position:static}.cart-dropdown-v71{position:fixed;top:64px;left:10px;right:10px;width:auto;max-height:calc(100dvh - 82px);transform-origin:top center}.cart-dropdown-v71::before{display:none}.cart-dropdown-body-v71{max-height:62dvh}
}
@media(max-width:575.98px){
  .roles-overview-v71{grid-template-columns:1fr}.cart-dropdown-v71{top:60px}.cart-dropdown-head-v71{padding:12px}.cart-dropdown-body-v71{padding:6px}.catalog-hero-v6{padding:1.35rem 0 1rem!important}.shop-hero{padding:1.15rem!important;border-radius:18px!important}.admin-stat-grid{grid-template-columns:1fr 1fr!important}.module-grid{grid-template-columns:1fr!important}
}
/* Reporting widgets */
body.v67-ui .report-bar>i{background:linear-gradient(90deg,var(--v71-accent) var(--bar),var(--v71-soft) var(--bar))!important}
body.v67-ui .border-bottom{border-color:var(--v71-border)!important}
[data-bs-theme="dark"] body.v67-ui .badge.text-bg-light{background:var(--v71-soft)!important;color:var(--v71-text)!important;border-color:var(--v71-border)!important}
