/* Consistent app header */
.app-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background: rgba(255, 255, 255, 0.92);
  -webkit-backdrop-filter: saturate(180%) blur(8px);
  backdrop-filter: saturate(180%) blur(8px);
  border-bottom: 1px solid #e5e7eb; /* gray-200 */
  z-index: 50;
}
.app-header .inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0.75rem 1rem; /* ~py-3 px-4 */
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* Offset for fixed header */
.app-body {
  padding-top: 64px; /* keep content below header */
}

/* Button system */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-weight: 600;
  padding: 0.5rem 1rem; /* py-2 px-4 */
  border-radius: 0.5rem; /* rounded-lg */
  box-shadow: 0 1px 2px rgba(0,0,0,.08);
  transition: background-color .2s ease, box-shadow .2s ease, transform .05s ease;
}
.btn:hover { box-shadow: 0 2px 6px rgba(0,0,0,.12); }
.btn:active { transform: translateY(0.5px); }

.btn-orange { background: #f97316; color: #fff; }
.btn-orange:hover { background: #ea580c; }

.btn-blue { background: #2563eb; color: #fff; }
.btn-blue:hover { background: #1d4ed8; }

.btn-indigo { background: #4f46e5; color: #fff; }
.btn-indigo:hover { background: #4338ca; }

.btn-green { background: #16a34a; color: #fff; }
.btn-green:hover { background: #15803d; }

.btn-purple { background: #7c3aed; color: #fff; }
.btn-purple:hover { background: #6d28d9; }

/* Small, subtle text */
.subtle { font-size: 0.875rem; color: #475569; } /* slate-600 */

/* Button groups */
.btn-group { display: flex; align-items: center; gap: 0.5rem; }

