/*
 * BB Perfect Shared Application Foundation — Stage 02
 * Semantic tokens and state contracts only. Existing surface bundles retain
 * their visual ownership; these aliases create one stable vocabulary beneath them.
 */
:root {
  /* Brand / structure. Prefer configured runtime tokens when they exist. */
  --structure-primary: var(--bb-sidebar, var(--bbpc-foreground, #123b36));
  --structure-navigation: var(--bb-sidebar, #123b36);
  --workspace-canvas: var(--bb-app-bg, var(--bbpc-muted, #f7f4ed));
  --surface-primary: var(--bb-surface, var(--bbpc-card, #fff));
  --surface-subtle: var(--bb-surface-soft, var(--bbpc-muted, #f5f7fa));
  --text-primary: var(--bb-heading, var(--bbpc-foreground, #101828));
  --text-secondary: var(--bb-muted, var(--bbpc-muted-fg, #667085));
  --border-subtle: var(--bb-border, var(--bbpc-border, #e4e7ec));

  /* One semantic primary action authority. Tenant-safe brand tokens may map here. */
  --action-primary: var(--bb-primary, var(--bbppm-brand-primary, var(--bbpc-primary, #016cf9)));
  --action-primary-hover: var(--bb-primary-hover, var(--bbpc-primary-hover, #0757c7));
  --action-primary-foreground: #fff;

  /* Semantic states. */
  --state-positive: var(--bb-success, var(--bbpc-green, #25824d));
  --state-positive-soft: var(--bb-success-soft, var(--bbpc-green-soft, #ecfdf3));
  --state-attention: var(--bb-warning, var(--bbpc-warning, #b54708));
  --state-attention-soft: var(--bb-warning-soft, var(--bbpc-warning-soft, #fffaeb));
  --state-danger: var(--bb-danger, var(--bbpc-danger, #b42318));
  --state-danger-soft: var(--bb-danger-soft, var(--bbpc-danger-soft, #fef3f2));
  --state-info: var(--bb-info, var(--action-primary));
  --state-info-soft: var(--bb-info-soft, #eff8ff);
  --state-neutral: #667085;
  --state-neutral-soft: #f2f4f7;

  /* Interaction / geometry. */
  --control-min-height: 44px;
  --touch-target-min: 44px;
  --radius-control: var(--bb-radius-md, var(--bbpc-r-control, 8px));
  --radius-card: var(--bb-radius-lg, var(--bbpc-r-card, 12px));
  --radius-sheet: var(--bb-radius-xl, var(--bbpc-r-sheet, 16px));
  --shadow-surface: var(--bb-shadow-sm, var(--bbpc-shadow, 0 1px 2px rgba(16,24,40,.04)));
  --focus-ring-color: var(--bb-focus-color, var(--bb-focus, var(--action-primary)));
  --focus-ring: 0 0 0 3px color-mix(in srgb, var(--focus-ring-color) 24%, transparent);

  /* Shared mobile fixed-layer contract. */
  --global-mobile-nav-height: 68px;
  --contextual-action-bar-height: 64px;
  --safe-bottom: env(safe-area-inset-bottom, 0px);

  /* Motion may be overridden by surface bundles, but has one semantic base. */
  --motion-fast: 120ms;
  --motion-standard: 180ms;
  --motion-emphasis: 240ms;
}

/* Canonical interaction states. */
:where(.bbppm-admin-ui,.bbppm-v430-app,.bbppm-cleaner-app-page,.bbppm-portal) :where(button,a[href],[role="button"],input,select,textarea,summary,[tabindex]):focus-visible {
  outline: 0;
  box-shadow: var(--focus-ring);
}

:where(.bbppm-admin-ui,.bbppm-v430-app,.bbppm-cleaner-app-page,.bbppm-portal) :where(button,.button,[role="button"],a.bbppm-action) {
  min-height: var(--control-min-height);
}

:where(.bbppm-admin-ui,.bbppm-v430-app,.bbppm-cleaner-app-page,.bbppm-portal) :where([disabled],[aria-disabled="true"],.is-disabled) {
  cursor: not-allowed;
}

:where(.bbppm-admin-ui,.bbppm-v430-app,.bbppm-cleaner-app-page,.bbppm-portal) :where([aria-busy="true"],.is-loading) {
  cursor: progress;
}

/* Shared state surface. State meaning is always accompanied by text/accessible label in markup. */
.bbppm-state-panel {
  display: grid;
  gap: 8px;
  padding: 16px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  background: var(--surface-primary);
  color: var(--text-primary);
}
.bbppm-state-panel > :is(h2,h3,p) { margin: 0; }
.bbppm-state-panel p { color: var(--text-secondary); }
.bbppm-state-panel[data-state="success"] { border-color: color-mix(in srgb,var(--state-positive) 28%,var(--border-subtle)); background:var(--state-positive-soft); }
.bbppm-state-panel[data-state="warning"] { border-color: color-mix(in srgb,var(--state-attention) 28%,var(--border-subtle)); background:var(--state-attention-soft); }
.bbppm-state-panel[data-state="error"] { border-color: color-mix(in srgb,var(--state-danger) 28%,var(--border-subtle)); background:var(--state-danger-soft); }
.bbppm-state-panel[data-state="permission"],
.bbppm-state-panel[data-state="offline"],
.bbppm-state-panel[data-state="queued"],
.bbppm-state-panel[data-state="conflict"],
.bbppm-state-panel[data-state="stale"],
.bbppm-state-panel[data-state="empty"] { background:var(--state-neutral-soft); }

.bbppm-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;
}

.bbppm-skeleton {
  position: relative;
  overflow: hidden;
  color: transparent!important;
  background: #eef1f5;
  border-radius: var(--radius-control);
}
.bbppm-skeleton::after {
  content:"";position:absolute;inset:0;transform:translateX(-100%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);
  animation:bbppm-foundation-shimmer 1.25s infinite;
}
@keyframes bbppm-foundation-shimmer { to { transform:translateX(100%); } }

/* Shared semantic primary action opt-in. Existing .button-primary remains supported. */
.bbppm-action-primary {
  background: var(--action-primary)!important;
  border-color: var(--action-primary)!important;
  color: var(--action-primary-foreground)!important;
}
.bbppm-action-primary:hover { background:var(--action-primary-hover)!important;border-color:var(--action-primary-hover)!important; }

@media (prefers-reduced-motion: reduce) {
  :root { --motion-fast: 0ms; --motion-standard: 0ms; --motion-emphasis: 0ms; }
  .bbppm-skeleton::after { animation:none; }
}

@media (forced-colors: active) {
  .bbppm-state-panel,
  .bbppm-action-primary,
  :where(.bbppm-admin-ui,.bbppm-v430-app,.bbppm-cleaner-app-page,.bbppm-portal) :where(button,.button,input,select,textarea) {
    border:1px solid CanvasText;
  }
  :where(.bbppm-admin-ui,.bbppm-v430-app,.bbppm-cleaner-app-page,.bbppm-portal) :where(button,a[href],[role="button"],input,select,textarea,summary,[tabindex]):focus-visible {
    outline:2px solid Highlight;
    outline-offset:2px;
    box-shadow:none;
  }
}

/* Stage 05 convergence patch — unified micro UI across classic + React-adjacent admin surfaces. */
body.bbppm-app-v31 :where(.bbppm-panel,.bbppm-v4-panel,.bbppm-control-card,.bbppm-unified-admin-card,.bbppm-workspace-nav-card,.bbppm-hierarchy-level) {
  border:1px solid var(--border-subtle)!important;
  border-radius:var(--radius-card)!important;
  background:var(--surface-primary)!important;
  box-shadow:var(--shadow-surface)!important;
}
body.bbppm-app-v31 :where(.bbppm-panel,.bbppm-v4-panel,.bbppm-control-card,.bbppm-unified-admin-card){padding:18px!important}
body.bbppm-app-v31 :where(.bbppm-panel-head,.bbppm-card-head){display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
body.bbppm-app-v31 :where(.bbppm-panel-head,.bbppm-card-head) :where(h2,h3){margin:2px 0 0;color:var(--text-primary);line-height:1.2}
body.bbppm-app-v31 :where(.bbppm-kicker,.bbppm-eyebrow,.bbppm-card-head>div>span){font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}
body.bbppm-app-v31 :where(.button,.bbppm-context-action,.bbppm-360-actions a,.bbppm-panel-head>a){border-radius:var(--radius-control)!important;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:650;line-height:1.1;box-sizing:border-box}
body.bbppm-app-v31 :where(.button-primary,.bbppm-context-action.is-primary){background:var(--action-primary)!important;border-color:var(--action-primary)!important;color:var(--action-primary-foreground)!important}
body.bbppm-app-v31 :where(.button-primary,.bbppm-context-action.is-primary):hover{background:var(--action-primary-hover)!important;border-color:var(--action-primary-hover)!important}

/* 360 workspace: remove button-height/pixel drift and normalize action wrapping. */
body.bbppm-app-v31 .bbppm-360-actions{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important}
body.bbppm-app-v31 .bbppm-360-actions :where(.button,a){margin:0!important;padding:0 13px!important;min-height:40px!important;white-space:nowrap}
body.bbppm-app-v31 :where(.bbppm-record-tabs,.bbppm-360-tabs,.bbppm-workspace-tabs){scrollbar-width:none}
body.bbppm-app-v31 :where(.bbppm-record-tabs,.bbppm-360-tabs,.bbppm-workspace-tabs)::-webkit-scrollbar{display:none}

/* Classic Overview now uses the same calm card rhythm as the unified application. */
body.bbppm-screen-dashboard .bbppm-overview-primary,
body.bbppm-screen-dashboard .bbppm-overview-secondary{gap:14px!important}
body.bbppm-screen-dashboard :where(.bbppm-mini-kpis>div,.bbppm-team-today-grid>div){border:1px solid var(--border-subtle)!important;border-radius:10px!important;background:var(--surface-subtle)!important;padding:13px!important}
body.bbppm-screen-dashboard .bbppm-timeline-row{border-radius:10px!important;margin:4px 0!important;padding:11px 12px!important;border:1px solid transparent!important}
body.bbppm-screen-dashboard .bbppm-timeline-row:hover{background:var(--surface-subtle)!important;border-color:var(--border-subtle)!important}
body.bbppm-screen-dashboard :where(.bbppm-capacity-ok,.bbppm-overview-good){border-radius:10px!important;border:1px solid color-mix(in srgb,var(--state-positive) 22%,var(--border-subtle))!important;background:var(--state-positive-soft)!important;padding:12px 14px!important}
body.bbppm-screen-dashboard .bbppm-capacity-warning{border-radius:10px!important;padding:12px 14px!important}
body.bbppm-screen-dashboard .bbppm-coming-list>a{border-radius:10px!important;padding:11px 12px!important}

/* Workforce & Payroll Settings — canonical form language. */
body.bbppm-app-v31 .bbppm-v4-settings{display:grid;gap:16px;max-width:1180px}
body.bbppm-app-v31 .bbppm-v4-settings .bbppm-v4-panel{display:grid;gap:14px;margin:0!important}
body.bbppm-app-v31 .bbppm-v4-settings .bbppm-v4-panel>h2{margin:0;font-size:18px;line-height:1.25}
body.bbppm-app-v31 .bbppm-v4-settings .bbppm-v4-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
body.bbppm-app-v31 .bbppm-v4-settings label{font-size:13px;font-weight:650;color:var(--text-primary);gap:7px}
body.bbppm-app-v31 .bbppm-v4-settings label>span{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;color:var(--text-secondary);font-size:12px;font-weight:600}
body.bbppm-app-v31 .bbppm-v4-settings :where(input[type="number"],input[type="text"],input[type="time"],select,textarea){min-height:42px!important;border:1px solid var(--border-subtle)!important;border-radius:var(--radius-control)!important;background:var(--surface-primary)!important;color:var(--text-primary)!important;padding:8px 10px!important;box-shadow:none!important}
body.bbppm-app-v31 .bbppm-v4-settings textarea{min-height:92px!important;resize:vertical}
body.bbppm-app-v31 .bbppm-v4-settings input[type="checkbox"]{width:18px!important;height:18px!important;min-height:18px!important;margin:0 8px 0 0!important}
body.bbppm-app-v31 .bbppm-v4-settings>p:last-child{position:sticky;bottom:calc(var(--global-mobile-nav-height,0px) + 10px);z-index:15;margin:0;padding:10px;border:1px solid var(--border-subtle);border-radius:12px;background:color-mix(in srgb,var(--surface-primary) 94%,transparent);backdrop-filter:blur(10px)}

/* Consolidated Interface & Layout controls. */
.bbppm-workspace-nav-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.bbppm-workspace-nav-card{padding:14px}
.bbppm-sortable-stack{display:grid;gap:7px;margin:0;padding:0;list-style:none}
.bbppm-sortable-stack li{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:44px;padding:8px 10px;border:1px solid var(--border-subtle);border-radius:9px;background:var(--surface-subtle)}
.bbppm-sortable-label{font-weight:650;color:var(--text-primary)}
.bbppm-visibility-toggle{display:flex!important;align-items:center;gap:6px;font-size:12px!important;color:var(--text-secondary)!important}
.bbppm-visibility-toggle input{margin:0!important}
.bbppm-chip-order{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 14px}
.bbppm-chip-order label{padding:7px 10px;border:1px solid var(--border-subtle);border-radius:999px;background:var(--surface-subtle);font-weight:650}

/* Consolidated Access & Organization hierarchy. */
.bbppm-page-hero{display:flex;justify-content:space-between;gap:16px;margin:0 0 16px;padding:4px 0 2px}
.bbppm-page-hero h1{margin:3px 0 5px!important;font-size:28px!important;line-height:1.15!important;color:var(--text-primary)}
.bbppm-page-hero p{margin:0;color:var(--text-secondary);max-width:760px}
.bbppm-unified-admin-card{margin:0 0 18px}
.bbppm-hierarchy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.bbppm-hierarchy-level{padding:14px}
.bbppm-level-badge{font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:8px}
.bbppm-hierarchy-role{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:10px 0;border-top:1px solid var(--border-subtle)}
.bbppm-hierarchy-role:first-of-type{border-top:0}
.bbppm-hierarchy-role strong{color:var(--text-primary)}
.bbppm-hierarchy-role span,.bbppm-hierarchy-role small{color:var(--text-secondary)}
.bbppm-hierarchy-role small{grid-column:1/-1}

@media(max-width:900px){
  body.bbppm-app-v31 .bbppm-v4-settings .bbppm-v4-form-grid,.bbppm-workspace-nav-grid,.bbppm-hierarchy-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  body.bbppm-app-v31 .bbppm-360-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%}
  body.bbppm-app-v31 .bbppm-360-actions :where(.button,a){width:100%!important}
  .bbppm-page-hero h1{font-size:24px!important}
}
.bbppm-sortable-stack li{grid-template-columns:22px 22px minmax(0,1fr) auto auto!important}
.bbppm-dashboard-sortable{display:grid;gap:8px;margin:0 0 14px;padding:0;list-style:none}
.bbppm-dashboard-sortable li{display:grid;grid-template-columns:22px 22px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:44px;padding:8px 10px;border:1px solid var(--border-subtle);border-radius:9px;background:var(--surface-subtle)}
.bbppm-builder-nudge{display:inline-flex;gap:4px}
.bbppm-builder-nudge button{width:30px;height:30px;min-height:30px;border:1px solid var(--border-subtle);border-radius:7px;background:var(--surface-primary);color:var(--text-secondary);cursor:pointer}
.bbppm-builder-nudge button:hover{border-color:var(--action-primary);color:var(--action-primary)}

/* ===== v4.5.57 P10-AM — Input / output / print comfort audit ===== */
:where(.bbppm-admin-ui,.bbppm-v430-app,.bbppm-v4-workspace,.bbppm-portal) :where(input:not([type="hidden"]),select,textarea){
  max-width:100%;min-height:42px;box-sizing:border-box;line-height:1.35
}
:where(.bbppm-admin-ui,.bbppm-v430-app,.bbppm-v4-workspace,.bbppm-portal) textarea{min-height:92px;resize:vertical}
:where(.bbppm-admin-ui,.bbppm-v430-app,.bbppm-v4-workspace,.bbppm-portal) :where(input,select,textarea)[readonly]{
  background:#F4F7F5!important;color:#42544E!important;border-style:dashed!important;cursor:default
}
:where(.bbppm-admin-ui,.bbppm-v430-app,.bbppm-v4-workspace,.bbppm-portal) :where(input,select,textarea)[aria-invalid="true"]{
  border-color:var(--state-danger)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--state-danger) 14%,transparent)!important
}
:where(.bbppm-admin-ui,.bbppm-v430-app,.bbppm-v4-workspace,.bbppm-portal) :where(input[type="checkbox"],input[type="radio"]){min-height:auto;accent-color:#123B36}
:where(.bbppm-admin-ui,.bbppm-v430-app,.bbppm-v4-workspace,.bbppm-portal) input[type="file"]{padding:6px;background:var(--surface-primary)}
:where(.bbppm-admin-ui,.bbppm-v430-app,.bbppm-v4-workspace,.bbppm-portal) input[type="file"]::file-selector-button{
  min-height:34px;margin-right:10px;padding:6px 10px;border:1px solid var(--border-subtle);border-radius:8px;background:#F2F8F5;color:#123B36;font-weight:750;cursor:pointer
}
:where(.bbppm-admin-ui,.bbppm-v430-app,.bbppm-v4-workspace,.bbppm-portal) .form-table th{vertical-align:top;padding-top:16px}
:where(.bbppm-admin-ui,.bbppm-v430-app,.bbppm-v4-workspace,.bbppm-portal) .form-table td{vertical-align:top}
:where(.bbppm-admin-ui,.bbppm-v430-app,.bbppm-v4-workspace,.bbppm-portal) :where(.description,.bbppm-help,.bbppm-field-hint,.bbppm-helper-text){max-width:72ch}
:where(.bbppm-admin-ui,.bbppm-v430-app,.bbppm-v4-workspace,.bbppm-portal) :where([data-bbppm-output],.bbppm-output-value,.bbppm-readonly-value,dd,td,code){overflow-wrap:anywhere;word-break:normal}
:where(.bbppm-admin-ui,.bbppm-v430-app,.bbppm-v4-workspace,.bbppm-portal) :where(.bbppm-money,.amount,[data-bbppm-money],time){font-variant-numeric:tabular-nums}
:where(.bbppm-admin-ui,.bbppm-v430-app,.bbppm-v4-workspace,.bbppm-portal) .bbppm-form-feedback:not(.bbppm-visually-hidden){
  margin:0 0 10px;padding:9px 11px;border:1px solid color-mix(in srgb,var(--state-danger) 24%,var(--border-subtle));border-radius:9px;background:var(--state-danger-soft);color:var(--state-danger);font-size:13px;font-weight:650
}
:where(.bbppm-admin-ui,.bbppm-v430-app,.bbppm-v4-workspace,.bbppm-portal) [data-bbppm-unlabeled-action="1"]{outline-offset:2px}

/* Native browser validation is useful, but the app should keep its geometry stable. */
:where(.bbppm-admin-ui,.bbppm-v430-app,.bbppm-v4-workspace,.bbppm-portal) :where(input,select,textarea):user-invalid{border-color:var(--state-danger)!important}
@supports not selector(:user-invalid){
  :where(.bbppm-admin-ui,.bbppm-v430-app,.bbppm-v4-workspace,.bbppm-portal) :where(input,select,textarea):invalid:not(:focus):not(:placeholder-shown){border-color:var(--state-danger)}
}

/* Print contract for generic management forms/reports. Dedicated Invoice/Proposal engines remain authoritative. */
@media print{
  @page{size:A4 portrait;margin:12mm}
  :where(.bbppm-admin-ui,.bbppm-v430-app,.bbppm-v4-workspace,.bbppm-portal){background:#fff!important;color:#111!important;max-width:none!important;width:auto!important}
  :where(.bbppm-admin-ui,.bbppm-v430-app,.bbppm-v4-workspace,.bbppm-portal) :where(nav,.bbppm-v430-sidebar,.bbppm-v42-topbar,.bbppm-v430-mobilebar,.bbppm-mobile-nav,.bbppm-stage03-mobile-nav,.bbppm-context-action-bar,.bbppm-sticky-save,.bbppm-enterprise-save,.bbppm-control-save,[data-bbppm-no-print]){display:none!important}
  :where(.bbppm-admin-ui,.bbppm-v430-app,.bbppm-v4-workspace,.bbppm-portal) :where(button,.button,input[type="submit"],input[type="button"],input[type="reset"]){display:none!important}
  :where(.bbppm-admin-ui,.bbppm-v430-app,.bbppm-v4-workspace,.bbppm-portal) :where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),select,textarea){
    display:block!important;width:100%!important;min-height:auto!important;padding:1px 0!important;border:0!important;border-bottom:1px solid #D3D7D5!important;border-radius:0!important;background:#fff!important;color:#111!important;box-shadow:none!important;appearance:none!important;-webkit-appearance:none!important;overflow:visible!important;white-space:normal!important
  }
  :where(.bbppm-admin-ui,.bbppm-v430-app,.bbppm-v4-workspace,.bbppm-portal) textarea{height:auto!important;min-height:0!important}
  :where(.bbppm-admin-ui,.bbppm-v430-app,.bbppm-v4-workspace,.bbppm-portal) :where(.bbppm-panel,.bbppm-v4-panel,.bbppm-control-card,.bbppm-unified-admin-card,.bbppm-enterprise-card,.bbppm-setting-field,.bbppm-field){break-inside:avoid;page-break-inside:avoid;box-shadow:none!important}
  :where(.bbppm-admin-ui,.bbppm-v430-app,.bbppm-v4-workspace,.bbppm-portal) table{width:100%!important;max-width:100%!important;border-collapse:collapse!important}
  :where(.bbppm-admin-ui,.bbppm-v430-app,.bbppm-v4-workspace,.bbppm-portal) thead{display:table-header-group!important}
  :where(.bbppm-admin-ui,.bbppm-v430-app,.bbppm-v4-workspace,.bbppm-portal) tfoot{display:table-footer-group!important}
  :where(.bbppm-admin-ui,.bbppm-v430-app,.bbppm-v4-workspace,.bbppm-portal) tr{break-inside:avoid;page-break-inside:avoid}
  :where(.bbppm-admin-ui,.bbppm-v430-app,.bbppm-v4-workspace,.bbppm-portal) :where(th,td,dd,dt,p,span,strong,a,code){overflow-wrap:anywhere!important;word-break:normal!important;color:#111!important}
  :where(.bbppm-admin-ui,.bbppm-v430-app,.bbppm-v4-workspace,.bbppm-portal) a{text-decoration:none!important}
}
@media print{
  :where(.bbppm-admin-ui,.bbppm-v430-app,.bbppm-v4-workspace,.bbppm-portal) :where([data-column="id"],[data-column$="_id"],.is-numeric){white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important}
  :where(.bbppm-admin-ui,.bbppm-v430-app,.bbppm-v4-workspace,.bbppm-portal) :where(.bbppm-actions-col,.bbppm-select-col){display:none!important}
}
/* Print-engine compatibility fallback: keep selectors simple for PDF engines that do not support :where(). */
@media print{
  .bbppm-v430-app button,.bbppm-v430-app .button,.bbppm-v4-workspace button,.bbppm-v4-workspace .button,.bbppm-admin-ui button,.bbppm-admin-ui .button{display:none!important}
  .bbppm-v430-app input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),.bbppm-v430-app select,.bbppm-v430-app textarea,
  .bbppm-v4-workspace input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),.bbppm-v4-workspace select,.bbppm-v4-workspace textarea{
    width:100%!important;min-height:auto!important;padding:1px 0!important;border:0!important;border-bottom:1px solid #D3D7D5!important;border-radius:0!important;background:#fff!important;color:#111!important;box-shadow:none!important;-webkit-appearance:none!important;appearance:none!important
  }
  .bbppm-v430-app table,.bbppm-v4-workspace table{width:100%!important;max-width:100%!important;table-layout:auto!important;border-collapse:collapse!important}
  .bbppm-v430-app thead,.bbppm-v4-workspace thead{display:table-header-group!important}
  .bbppm-v430-app tr,.bbppm-v4-workspace tr{break-inside:avoid!important;page-break-inside:avoid!important}
  .bbppm-v430-app th,.bbppm-v430-app td,.bbppm-v4-workspace th,.bbppm-v4-workspace td{overflow-wrap:break-word!important;word-break:normal!important}
  .bbppm-v430-app td[data-column="id"],.bbppm-v430-app th[data-column="id"],.bbppm-v430-app td[data-column$="_id"],.bbppm-v430-app th[data-column$="_id"],.bbppm-v430-app td.is-numeric,.bbppm-v430-app th.is-numeric,
  .bbppm-v4-workspace td[data-column="id"],.bbppm-v4-workspace th[data-column="id"],.bbppm-v4-workspace td.is-numeric,.bbppm-v4-workspace th.is-numeric{white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important}
  .bbppm-v430-app .bbppm-actions-col,.bbppm-v430-app .bbppm-select-col,.bbppm-v4-workspace .bbppm-actions-col,.bbppm-v4-workspace .bbppm-select-col{display:none!important}
}
