/* ================================================
   EZGatherr Kitchen — shared design tokens + dashboard
   ================================================ */
:root {
  --ez-purple: #3E1268;
  --ez-purple-deep: #322049;
  --ez-purple-hover: #5A1E96;
  --ez-purple-gradient-start: #3D1A5E;
  --ez-purple-gradient-mid: #7B4B9E;
  --ez-coral: #FF6F61;
  --ez-green: #0EB559;
  --ez-red: #FF3B30;
  --ez-red-dark: #E03030;
  --ez-amber: #FFA500;
  --ez-blue: #1E90FF;
  --ez-fg-1: #111111;
  --ez-fg-2: #333333;
  --ez-fg-3: #444444;
  --ez-fg-4: #666666;
  --ez-fg-5: #999999;
  --ez-line: #EEEEEE;
  --ez-bg-page: #F9F5FC;
  --ez-bg-value: #F7F0FC;
  --font-display: 'Playfair Display', Georgia, serif;
  --font-body: 'DM Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --shadow-card: 0 2px 16px rgba(62,18,104,0.06);
  --shadow-inset-btn: 0 4px 7.1px 0 rgba(255,255,255,0.50) inset;
}

/* Dashboard layout */
.kb-dash { display: flex; flex-direction: column; gap: 24px; }
.kb-dash__label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.4px; color: #666666; margin-bottom: 2px; }
.kb-dash__stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }

/* Stat tiles */
.kb-stat { background: #fff; border-radius: 18px; padding: 20px 22px; box-shadow: 0 2px 16px rgba(62,18,104,0.06); position: relative; overflow: hidden; border: 1px solid #EEEEEE; transition: all 0.2s; cursor: pointer; }
.kb-stat:hover { box-shadow: 0 6px 22px rgba(62,18,104,0.12); transform: translateY(-2px); }
.kb-stat::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; }
.kb-stat--new::before { background: #FF6F61; }
.kb-stat--accepted::before { background: #3E1268; }
.kb-stat--modify::before { background: #FFA500; }
.kb-stat--completed::before { background: #0EB559; }
.kb-stat__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.kb-stat__label { font-size: 14px; font-weight: 600; color: #333333; }
.kb-stat__icon { width: 36px; height: 36px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; background: #F7F0FC; color: #3E1268; }
.kb-stat--new .kb-stat__icon { background: rgba(255,111,97,0.12); color: #FF6F61; }
.kb-stat--modify .kb-stat__icon { background: rgba(255,165,0,0.12); color: #FFA500; }
.kb-stat--completed .kb-stat__icon { background: rgba(14,181,89,0.12); color: #0EB559; }
.kb-stat__value { font-size: 34px; font-weight: 800; color: #111111; letter-spacing: -1px; line-height: 1; }
.kb-stat__meta { font-size: 12px; color: #666666; margin-top: 6px; font-weight: 500; }

/* Panels */
.kb-dash__panels { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.kb-panel { background: #fff; border-radius: 20px; box-shadow: 0 2px 16px rgba(62,18,104,0.06); border: 1px solid #EEEEEE; overflow: hidden; }
.kb-panel__head { padding: 18px 22px; border-bottom: 1px solid #EEEEEE; display: flex; align-items: center; gap: 10px; }
.kb-panel__title { font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-weight: 700; font-size: 19px; color: #111111; letter-spacing: -0.2px; }
.kb-panel__body { padding: 18px 22px; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.kb-mini { border: 1px solid #EEEEEE; border-radius: 14px; padding: 16px; transition: all 0.2s; cursor: pointer; }
.kb-mini:hover { border-color: #3E1268; background: #F7F0FC; }
.kb-mini__label { font-size: 13px; font-weight: 600; color: #444444; margin-bottom: 10px; display: flex; align-items: center; gap: 8px; }
.kb-mini__value { font-size: 24px; font-weight: 800; color: #111111; letter-spacing: -0.5px; }
.kb-mini__value small { font-size: 13px; font-weight: 500; color: #666666; margin-left: 4px; }

/* Hero cards */
.kb-dash__hero { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 18px; }
.kb-hero { background: linear-gradient(150deg, #3E1268 0%, #322049 100%); border-radius: 20px; padding: 24px 26px; color: #fff; position: relative; overflow: hidden; }
.kb-hero::after { content: ""; position: absolute; width: 200px; height: 200px; border-radius: 50%; background: radial-gradient(circle, rgba(185,133,233,0.25) 0%, transparent 70%); top: -80px; right: -60px; }
.kb-hero__title { font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-weight: 700; font-size: 22px; letter-spacing: -0.3px; margin-bottom: 16px; position: relative; z-index: 1; }
.kb-hero__divider { height: 1px; background: rgba(255,255,255,0.25); margin-bottom: 16px; }
.kb-hero__stats { display: flex; justify-content: space-between; align-items: flex-end; position: relative; z-index: 1; }
.kb-hero__stat-label { font-size: 12px; color: rgba(255,255,255,0.65); font-weight: 500; margin-bottom: 6px; }
.kb-hero__stat-value { font-size: 28px; font-weight: 800; letter-spacing: -0.5px; line-height: 1; }
.kb-feedback { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 11px; }
.kb-feedback__row { display: grid; grid-template-columns: 90px 1fr; align-items: center; gap: 12px; }
.kb-feedback__count { font-size: 13px; font-weight: 600; color: rgba(255,255,255,0.85); }
.kb-feedback__stars { display: flex; gap: 4px; }
.kb-star-filled { color: #FFC93C; font-size: 16px; }
.kb-star-empty { color: rgba(255,255,255,0.25); font-size: 16px; }

/* Responsive */
@media (max-width: 1280px) { .kb-dash__stats { grid-template-columns: 1fr 1fr; } .kb-dash__hero { grid-template-columns: 1fr; } }
@media (max-width: 1100px) { .kb-dash__panels { grid-template-columns: 1fr; } }
