/* Cards */
.prititak-app :where(.ptk-card, .prtk-card, .prtk-financial-card){
  background: var(--ptk-surface);
  border: 1px solid var(--ptk-border);
  border-radius: var(--ptk-r-20);
  box-shadow: var(--ptk-shadow-sm);
  max-width: 100%;
}
.prititak-app :where(.ptk-card__pad){
  padding: var(--ptk-6);
}
@media (max-width: 640px){
  .prititak-app :where(.ptk-card__pad){
    padding: var(--ptk-4);
  }
}

/* Buttons (normalize across prtk/ptk/mh) */
.prititak-app :where(.ptk-btn, .prtk-btn, .mh-btn){
  appearance: none;
  border: 1px solid var(--ptk-border-strong);
  background: var(--ptk-surface);
  color: var(--ptk-text);
  border-radius: var(--ptk-r-12);
  min-height: 44px;
  padding: 10px 14px;
  font-size: var(--ptk-fs-14);
  font-weight: var(--ptk-fw-800);
  line-height: 1.1;
  text-decoration: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  transition: transform var(--ptk-dur-1) var(--ptk-ease), box-shadow var(--ptk-dur-1) var(--ptk-ease), background var(--ptk-dur-1) var(--ptk-ease), border-color var(--ptk-dur-1) var(--ptk-ease), color var(--ptk-dur-1) var(--ptk-ease);
}
.prititak-app :where(.ptk-btn:hover, .prtk-btn:hover, .mh-btn:hover){
  background: var(--ptk-primary-soft);
  background: color-mix(in oklab, var(--ptk-surface) 88%, var(--ptk-primary-soft));
  border-color: var(--ptk-border-strong);
  border-color: color-mix(in oklab, var(--ptk-primary) 22%, var(--ptk-border-strong));
  box-shadow: var(--ptk-shadow-md);
}
.prititak-app :where(.ptk-btn:active, .prtk-btn:active, .mh-btn:active){
  transform: translateY(1px);
}
.prititak-app :where(.ptk-btn[disabled], .prtk-btn[disabled], .mh-btn[disabled]){
  opacity: .55;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
.prititak-app :where(.ptk-btn--primary, .prtk-btn--primary, .prtk-btn-primary){
  background: var(--ptk-primary);
  color: var(--ptk-surface);
  border-color: var(--ptk-primary);
  border-color: color-mix(in oklab, var(--ptk-primary) 88%, #000);
  box-shadow: 0 14px 28px color-mix(in oklab, var(--ptk-primary) 22%, transparent);
}
.prititak-app :where(.ptk-btn--primary:hover, .prtk-btn--primary:hover, .prtk-btn-primary:hover){
  background: var(--ptk-brand-hover);
  border-color: var(--ptk-brand-hover);
}
.prititak-app :where(.ptk-btn--sm, .prtk-btn-small, .prtk-btn-sm){
  min-height: 40px;
  padding: 8px 12px;
  border-radius: var(--ptk-r-10);
}

/* Compact tab/button sets (simple, consistent, no large decorations) */
.prititak-app :where(
  .prtk-tabs-bar :is(button, .prtk-tab, .ptk-tab, .ptk-chip, .prtk-chip, .mh-view, .prtk-fin-tab-btn),
  .prtk-subtabs :is(button, .prtk-tab, .ptk-tab, .ptk-chip, .prtk-chip, .mh-view, .prtk-fin-tab-btn),
  .prtk-dash-subtabs :is(button, .prtk-tab, .ptk-tab, .ptk-chip, .prtk-chip, .mh-view, .prtk-fin-tab-btn),
  .ptk-navlist :is(button, .ptk-tab, .prtk-tab),
  .mh-student-wall__tabs :is(button, .prtk-tab, .ptk-tab),
  .mh-community-tabs :is(button, .prtk-tab, .ptk-tab),
  .prtk-translate-dir :is(button, .prtk-tab, .ptk-tab),
  .prtk-financial-admin-tabs :is(button, .prtk-tab, .ptk-tab, .prtk-fin-tab-btn),
  .ptk-chip-group :is(button, .ptk-chip, .prtk-chip),
  .prtk-chip-list :is(button, .ptk-chip, .prtk-chip),
  .ptk-profile .ptk-tab,
  #ptk-settings .ptk-tab,
  #ptk-settings.ptk-profile .ptk-tab
){
  min-height: 36px !important;
  padding: 7px 11px !important;
  border-radius: var(--ptk-r-10) !important;
  border: 1px solid var(--ptk-border) !important;
  background: var(--ptk-surface) !important;
  background-image: none !important;
  background-color: var(--ptk-surface) !important;
  color: var(--ptk-text) !important;
  box-shadow: none !important;
  font-size: var(--ptk-fs-13) !important;
  font-weight: var(--ptk-fw-700) !important;
  line-height: 1.2 !important;
  transition: background var(--ptk-dur-1) var(--ptk-ease), color var(--ptk-dur-1) var(--ptk-ease), border-color var(--ptk-dur-1) var(--ptk-ease) !important;
}
.prititak-app :where(
  .prtk-tabs-bar :is(button, .prtk-tab, .ptk-tab, .ptk-chip, .prtk-chip, .mh-view, .prtk-fin-tab-btn):hover,
  .prtk-subtabs :is(button, .prtk-tab, .ptk-tab, .ptk-chip, .prtk-chip, .mh-view, .prtk-fin-tab-btn):hover,
  .prtk-dash-subtabs :is(button, .prtk-tab, .ptk-tab, .ptk-chip, .prtk-chip, .mh-view, .prtk-fin-tab-btn):hover,
  .ptk-navlist :is(button, .ptk-tab, .prtk-tab):hover,
  .mh-student-wall__tabs :is(button, .prtk-tab, .ptk-tab):hover,
  .mh-community-tabs :is(button, .prtk-tab, .ptk-tab):hover,
  .prtk-translate-dir :is(button, .prtk-tab, .ptk-tab):hover,
  .prtk-financial-admin-tabs :is(button, .prtk-tab, .ptk-tab, .prtk-fin-tab-btn):hover,
  .ptk-chip-group :is(button, .ptk-chip, .prtk-chip):hover,
  .prtk-chip-list :is(button, .ptk-chip, .prtk-chip):hover,
  .prtk-tabs-bar :is(button, .prtk-tab, .ptk-tab, .ptk-chip, .prtk-chip, .mh-view, .prtk-fin-tab-btn):focus-visible,
  .prtk-subtabs :is(button, .prtk-tab, .ptk-tab, .ptk-chip, .prtk-chip, .mh-view, .prtk-fin-tab-btn):focus-visible,
  .prtk-dash-subtabs :is(button, .prtk-tab, .ptk-tab, .ptk-chip, .prtk-chip, .mh-view, .prtk-fin-tab-btn):focus-visible,
  .ptk-navlist :is(button, .ptk-tab, .prtk-tab):focus-visible,
  .mh-student-wall__tabs :is(button, .prtk-tab, .ptk-tab):focus-visible,
  .mh-community-tabs :is(button, .prtk-tab, .ptk-tab):focus-visible,
  .prtk-translate-dir :is(button, .prtk-tab, .ptk-tab):focus-visible,
  .prtk-financial-admin-tabs :is(button, .prtk-tab, .ptk-tab, .prtk-fin-tab-btn):focus-visible,
  .ptk-chip-group :is(button, .ptk-chip, .prtk-chip):focus-visible,
  .prtk-chip-list :is(button, .ptk-chip, .prtk-chip):focus-visible
){
  background: var(--ptk-surface-alt) !important;
  border-color: var(--ptk-border-strong) !important;
  color: var(--ptk-text) !important;
}
.prititak-app :where(
  .prtk-tabs-bar :is(button, .prtk-tab, .ptk-tab, .ptk-chip, .prtk-chip, .mh-view, .prtk-fin-tab-btn).is-active,
  .prtk-subtabs :is(button, .prtk-tab, .ptk-tab, .ptk-chip, .prtk-chip, .mh-view, .prtk-fin-tab-btn).is-active,
  .prtk-dash-subtabs :is(button, .prtk-tab, .ptk-tab, .ptk-chip, .prtk-chip, .mh-view, .prtk-fin-tab-btn).is-active,
  .ptk-navlist :is(button, .ptk-tab, .prtk-tab).is-active,
  .mh-student-wall__tabs :is(button, .prtk-tab, .ptk-tab).is-active,
  .mh-community-tabs :is(button, .prtk-tab, .ptk-tab).is-active,
  .prtk-translate-dir :is(button, .prtk-tab, .ptk-tab).is-active,
  .prtk-financial-admin-tabs :is(button, .prtk-tab, .ptk-tab, .prtk-fin-tab-btn).is-active,
  .ptk-chip-group :is(button, .ptk-chip, .prtk-chip).is-active,
  .prtk-chip-list :is(button, .ptk-chip, .prtk-chip).is-active,
  .prtk-tabs-bar :is(button, .prtk-tab, .ptk-tab, .ptk-chip, .prtk-chip, .mh-view, .prtk-fin-tab-btn)[aria-selected="true"],
  .prtk-subtabs :is(button, .prtk-tab, .ptk-tab, .ptk-chip, .prtk-chip, .mh-view, .prtk-fin-tab-btn)[aria-selected="true"],
  .prtk-dash-subtabs :is(button, .prtk-tab, .ptk-tab, .ptk-chip, .prtk-chip, .mh-view, .prtk-fin-tab-btn)[aria-selected="true"],
  .ptk-navlist :is(button, .ptk-tab, .prtk-tab)[aria-selected="true"],
  .mh-student-wall__tabs :is(button, .prtk-tab, .ptk-tab)[aria-selected="true"],
  .mh-community-tabs :is(button, .prtk-tab, .ptk-tab)[aria-selected="true"],
  .prtk-translate-dir :is(button, .prtk-tab, .ptk-tab)[aria-selected="true"],
  .prtk-financial-admin-tabs :is(button, .prtk-tab, .ptk-tab, .prtk-fin-tab-btn)[aria-selected="true"],
  .ptk-chip-group :is(button, .ptk-chip, .prtk-chip)[aria-selected="true"],
  .prtk-chip-list :is(button, .ptk-chip, .prtk-chip)[aria-selected="true"],
  .prtk-tabs-bar :is(button, .prtk-tab, .ptk-tab, .ptk-chip, .prtk-chip, .mh-view, .prtk-fin-tab-btn)[aria-pressed="true"],
  .prtk-subtabs :is(button, .prtk-tab, .ptk-tab, .ptk-chip, .prtk-chip, .mh-view, .prtk-fin-tab-btn)[aria-pressed="true"],
  .prtk-dash-subtabs :is(button, .prtk-tab, .ptk-tab, .ptk-chip, .prtk-chip, .mh-view, .prtk-fin-tab-btn)[aria-pressed="true"],
  .ptk-navlist :is(button, .ptk-tab, .prtk-tab)[aria-pressed="true"],
  .mh-student-wall__tabs :is(button, .prtk-tab, .ptk-tab)[aria-pressed="true"],
  .mh-community-tabs :is(button, .prtk-tab, .ptk-tab)[aria-pressed="true"],
  .prtk-translate-dir :is(button, .prtk-tab, .ptk-tab)[aria-pressed="true"],
  .prtk-financial-admin-tabs :is(button, .prtk-tab, .ptk-tab, .prtk-fin-tab-btn)[aria-pressed="true"],
  .ptk-chip-group :is(button, .ptk-chip, .prtk-chip)[aria-pressed="true"],
  .prtk-chip-list :is(button, .ptk-chip, .prtk-chip)[aria-pressed="true"]
){
  background: var(--ptk-primary-soft) !important;
  border-color: color-mix(in oklab, var(--ptk-primary) 26%, var(--ptk-border)) !important;
  color: var(--ptk-primary) !important;
}
.prititak-app :where(
  .prtk-tabs-bar :is(button, .prtk-tab, .ptk-tab, .ptk-chip, .prtk-chip, .mh-view, .prtk-fin-tab-btn)::before,
  .prtk-subtabs :is(button, .prtk-tab, .ptk-tab, .ptk-chip, .prtk-chip, .mh-view, .prtk-fin-tab-btn)::before,
  .prtk-dash-subtabs :is(button, .prtk-tab, .ptk-tab, .ptk-chip, .prtk-chip, .mh-view, .prtk-fin-tab-btn)::before,
  .ptk-navlist :is(button, .ptk-tab, .prtk-tab)::before,
  .mh-student-wall__tabs :is(button, .prtk-tab, .ptk-tab)::before,
  .mh-community-tabs :is(button, .prtk-tab, .ptk-tab)::before,
  .prtk-translate-dir :is(button, .prtk-tab, .ptk-tab)::before,
  .prtk-financial-admin-tabs :is(button, .prtk-tab, .ptk-tab, .prtk-fin-tab-btn)::before,
  .ptk-chip-group :is(button, .ptk-chip, .prtk-chip)::before,
  .prtk-chip-list :is(button, .ptk-chip, .prtk-chip)::before,
  .prtk-tabs-bar :is(button, .prtk-tab, .ptk-tab, .ptk-chip, .prtk-chip, .mh-view, .prtk-fin-tab-btn)::after,
  .prtk-subtabs :is(button, .prtk-tab, .ptk-tab, .ptk-chip, .prtk-chip, .mh-view, .prtk-fin-tab-btn)::after,
  .prtk-dash-subtabs :is(button, .prtk-tab, .ptk-tab, .ptk-chip, .prtk-chip, .mh-view, .prtk-fin-tab-btn)::after,
  .ptk-navlist :is(button, .ptk-tab, .prtk-tab)::after,
  .mh-student-wall__tabs :is(button, .prtk-tab, .ptk-tab)::after,
  .mh-community-tabs :is(button, .prtk-tab, .ptk-tab)::after,
  .prtk-translate-dir :is(button, .prtk-tab, .ptk-tab)::after,
  .prtk-financial-admin-tabs :is(button, .prtk-tab, .ptk-tab, .prtk-fin-tab-btn)::after,
  .ptk-chip-group :is(button, .ptk-chip, .prtk-chip)::after,
  .prtk-chip-list :is(button, .ptk-chip, .prtk-chip)::after
){
  content: none !important;
  display: none !important;
  background: none !important;
  box-shadow: none !important;
}

/* Inputs */
.prititak-app :where(.ptk-input, .ptk-select, .ptk-textarea, input[type="text"], input[type="email"], input[type="password"], select, textarea){
  font-family: inherit;
  font-size: var(--ptk-fs-14);
}
.prititak-app :where(.ptk-input, .ptk-select, .ptk-textarea){
  width: 100%;
  border: 1px solid var(--ptk-border-strong);
  background: var(--ptk-surface-alt);
  background: color-mix(in oklab, var(--ptk-surface) 92%, var(--ptk-surface-alt));
  border-radius: var(--ptk-r-14);
  padding: 12px 14px;
  line-height: 1.2;
  transition: border-color var(--ptk-dur-1) var(--ptk-ease), box-shadow var(--ptk-dur-1) var(--ptk-ease);
}
.prititak-app :where(.ptk-input:focus, .ptk-select:focus, .ptk-textarea:focus){
  outline: none;
  border-color: var(--ptk-primary);
  border-color: color-mix(in oklab, var(--ptk-primary) 48%, var(--ptk-border-strong));
  box-shadow: 0 0 0 4px var(--ptk-focus);
}
.prititak-app :where(.ptk-label){
  display: inline-block;
  font-size: var(--ptk-fs-12);
  font-weight: var(--ptk-fw-800);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ptk-text-muted);
  color: color-mix(in oklab, var(--ptk-text) 72%, var(--ptk-text-muted));
  margin-bottom: var(--ptk-2);
}
.prititak-app :where(.ptk-help){
  margin-top: var(--ptk-2);
  font-size: var(--ptk-fs-12);
  color: var(--ptk-text-muted);
}

/* Pills / badges */
.prititak-app :where(.ptk-pill, .prititak-badge){
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: var(--ptk-fs-12);
  font-weight: var(--ptk-fw-800);
  border: 1px solid var(--ptk-border);
  background: var(--ptk-surface-2);
  background: color-mix(in oklab, var(--ptk-surface) 80%, var(--ptk-surface-2));
  color: var(--ptk-text);
}
.prititak-app :where(.prititak-badge--primary, .ptk-pill--primary){
  background: var(--ptk-primary-soft);
  border-color: var(--ptk-border);
  border-color: color-mix(in oklab, var(--ptk-primary) 22%, var(--ptk-border));
  color: var(--ptk-primary);
  color: color-mix(in oklab, var(--ptk-primary) 70%, #000);
}
.prititak-app :where(.prititak-badge--warn, .ptk-pill--warn){
  background: var(--ptk-warn-soft);
  border-color: var(--ptk-border);
  border-color: color-mix(in oklab, var(--ptk-warning) 25%, var(--ptk-border));
  color: var(--ptk-warning);
  color: color-mix(in oklab, var(--ptk-warning) 65%, #000);
}
.prititak-app :where(.ptk-pill--danger){
  background: var(--ptk-danger-soft);
  border-color: var(--ptk-border);
  border-color: color-mix(in oklab, var(--ptk-danger) 28%, var(--ptk-border));
  color: var(--ptk-danger);
  color: color-mix(in oklab, var(--ptk-danger) 70%, #000);
}

/* Tables (scrollable region pattern already used in code) */
.prititak-app :where(.ptk-tablewrap){
  border: 1px solid var(--ptk-border);
  border-radius: var(--ptk-r-16);
  overflow: auto;
  background: var(--ptk-surface);
  box-shadow: var(--ptk-shadow-sm);
}
.prititak-app :where(.ptk-table){
  width: 100%;
  border-collapse: collapse;
  min-width: 680px;
}
.prititak-app :where(.ptk-table thead th){
  text-align: left;
  font-size: var(--ptk-fs-12);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ptk-text-muted);
  padding: 12px 14px;
  border-bottom: 1px solid var(--ptk-border);
  background: var(--ptk-surface-2);
  background: color-mix(in oklab, var(--ptk-surface) 92%, var(--ptk-surface-2));
}
.prititak-app :where(.ptk-table td){
  padding: 14px;
  border-bottom: 1px solid var(--ptk-border);
  vertical-align: top;
}
.prititak-app :where(.ptk-table tbody tr:hover td){
  background: var(--ptk-primary-soft);
  background: color-mix(in oklab, var(--ptk-surface) 92%, var(--ptk-primary-soft));
}

/* =========================================================
 * Safety overrides (anti-debug red borders/outlines)
 * Scope: ONLY inside `.prititak-app`
 * ========================================================= */
.prititak-app :where(.ptk-card, .ptk-shell, .mh-widget, .mh-tutor-card, .prtk-tutor-card, .ptk-sb-card, .pritibook-composer, .mh-student-wall, .mh-tutors-hero, .prtk-booking-calendar, .prtk-booking-summary, .prtk-booking-form):not(.is-error):not(.error):not(.invalid):not(.woocommerce-error) {
  border-color: var(--ptk-border) !important;
}

/* Force non-danger focus rings across the app. */
.prititak-app :where(a, button, input, select, textarea, [role="button"], [role="tab"], [tabindex]):focus-visible {
  outline-color: var(--ptk-focus-strong) !important;
  box-shadow: 0 0 0 4px var(--ptk-focus) !important;
}

/* Inputs should never get a red ring unless explicitly marked invalid. */
.prititak-app :where(input, select, textarea):focus {
  border-color: color-mix(in oklab, var(--ptk-primary) 45%, var(--ptk-border-strong));
}

/* =========================================================
 * Resources (Tutor/Student view)
 * Goal: avoid content looking "pegado" to edges.
 * ========================================================= */
.prititak-app :where(.prtk-level__body){
  padding: 14px 16px 18px;
}
.prititak-app :where(.prtk-subpanel){
  padding-top: 10px;
}
