:root{
:root{
  --color-primary:#5d4037;
  --color-primary-contrast:#ffecb3;
  --color-success:#16a34a;
  --color-warning:#d97706;
  --color-error:#dc2626;
  --color-info:#2563eb;
  --color-muted:#6b7280;

  --radius-sm:6px;
  --radius-md:12px;
  --radius-lg:16px;

  --shadow-sm:0 2px 6px rgba(0,0,0,.08);
  --shadow-md:0 6px 16px rgba(0,0,0,.12);
  --shadow-lg:0 12px 28px rgba(0,0,0,.16);

  --font-base:16px;
  --font-scale-1:clamp(16px,1.5vw,18px);
  --font-scale-2:clamp(20px,2vw,24px);
  --font-scale-3:clamp(28px,3vw,36px);
}

.no-tap-highlight, a, button{ -webkit-tap-highlight-color: transparent; }
html{ -webkit-text-size-adjust: none; text-size-adjust: none; -webkit-font-smoothing: antialiased; }

.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1rem;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer}
.btn-primary{background:var(--color-primary);color:#fff}
.btn-primary:hover{filter:brightness(1.05)}
.btn-lg{min-height:44px;min-width:44px}
.badge{display:inline-block;padding:.2rem .5rem;border-radius:9999px;font-size:.8rem}
.badge-success{background:rgba(22,163,74,.12);color:var(--color-success)}
.badge-warning{background:rgba(217,119,6,.12);color:var(--color-warning)}
.badge-error{background:rgba(220,38,38,.12);color:var(--color-error)}

/* Breadcrumb, pagination and generic touch targets */
.touch-target{min-height:44px;display:inline-flex;align-items:center}
.pagination .page-btn{min-width:44px;min-height:44px}

/* Rich text responsive tables & media */
.rte table{width:100%;display:block;overflow:auto;border-collapse:collapse}
.rte iframe,.rte video{max-width:100%;height:auto;aspect-ratio:16/9}

/* Editor preview helper classes (match frontend) */
.content-section{background:linear-gradient(135deg,rgba(255,255,255,.85) 0%,rgba(250,250,250,.85) 100%);padding:2rem;border-radius:16px;box-shadow:0 12px 24px rgba(0,0,0,.08);margin-bottom:1.5rem;border:1px solid rgba(255,255,255,.9);backdrop-filter:blur(6px)}
.abbot-profile{display:grid;grid-template-columns:300px 1fr;gap:2rem;align-items:start}
.abbot-title{font-size:1.2rem;color:#666;margin-bottom:1rem;font-style:italic}
.teaching-quote{background:#f8f6f2;border-left:4px solid #8B7355;padding:1rem;margin:1rem 0;font-style:italic}
.achievements-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin-top:1rem}
.achievement-card{background:#f8f6f2;padding:1rem;border-radius:8px;border-left:4px solid #8B7355}

