/* Dashboard-only layout. Shared shell lives in app.css — don't redefine it here. */

/* ---- Quick action pills ---- */
.action-bar{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.action-pill{flex:1;min-width:180px;display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:16px 24px;border-radius:var(--radius-full);
  background:var(--surface-solid);border:1px solid var(--rose-hairline);
  font-size:0.93rem;font-weight:650;color:var(--text);
  cursor:pointer;transition:var(--transition);box-shadow:0 1px 3px rgba(26,18,25,0.03);}
.action-pill [data-lucide]{width:18px;height:18px;color:var(--rose-deep)}
.action-pill:hover{border-color:rgba(200,148,149,0.3);background:var(--rose-hover);
  color:var(--rose-deep);transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(168,110,111,0.1);}
.alert-banner + .action-bar{margin-top:20px}
.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}
/* ---- Stat tiles ---- */
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}
.stat-tile{background:var(--surface-solid);border:1px solid var(--rose-hairline);
  border-radius:22px;padding:22px 24px;display:flex;flex-direction:column;
  transition:var(--transition);position:relative;overflow:hidden;}
/* No stripe,no bloom — accent reads only through the icon chip and the caption pip. */
.stat-tile:hover{border-color:rgba(200,148,149,0.24);transform:translateY(-3px);box-shadow:0 14px 30px rgba(26,18,25,0.055)}
.stat-tile-top{display:flex;align-items:center;gap:11px;margin-bottom:14px}
.stat-tile-icon{width:36px;height:36px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  flex-shrink:0;color:var(--accent-ink);background:var(--accent-soft);
  box-shadow:inset 0 0 0 1px var(--accent-soft),0 1px 2px rgba(26,18,25,0.03);}
.stat-tile-icon [data-lucide]{width:17px;height:17px}
.stat-tile-label{font-size:0.72rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.07em}
.stat-tile-number{font-size:2rem;font-weight:800;line-height:1.1;color:var(--text);letter-spacing:-0.03em;font-variant-numeric:tabular-nums}
.stat-tile-number sub{font-size:1rem;font-weight:700;color:var(--text-light);vertical-align:baseline}
.stat-tile-sub{font-size:0.83rem;color:var(--text-muted);font-weight:600;margin-top:8px;display:flex;align-items:center;gap:7px}
.stat-tile-sub::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--accent);flex-shrink:0}
/* ---- Cycle progress ---- */
.cycle-body{display:flex;align-items:stretch;gap:0;margin-top:8px}
.cycle-vsep{width:1px;background:var(--rose-hairline);margin:0 32px;flex-shrink:0}
.phase-section{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:0}
.phase-node{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0;width:70px}
.phase-connector{flex:1;height:2px;border-radius:100px;background:var(--rose-hairline);align-self:center;min-width:24px;margin-bottom:24px}
.phase-connector.done{background:rgba(52,211,153,0.3)}
.phase-orb{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:var(--transition)}
.phase-orb [data-lucide]{width:18px;height:18px}
.phase-orb.done{background:rgba(52,211,153,0.15);color:#059669}
.phase-orb.upcoming{background:rgba(74,55,80,0.06);border:1.5px solid rgba(74,55,80,0.15);color:var(--violet)}
.phase-lbl{font-size:0.65rem;font-weight:800;color:var(--text-light);text-transform:uppercase;letter-spacing:0.06em}
.phase-val{font-size:0.9rem;font-weight:800;color:var(--text);line-height:1}
.phase-val.accent{color:var(--rose-deep)}
.days-section{flex:1;display:flex;flex-direction:column;gap:16px;justify-content:center}
.progress-row{display:flex;align-items:center;gap:14px}
.progress-row .prog-lbl{font-size:0.85rem;font-weight:800;color:var(--rose-deep);white-space:nowrap}
.progress-row .prog-end{font-size:0.8rem;color:var(--text-muted);font-weight:600;white-space:nowrap;display:flex;align-items:center;gap:4px}
.progress-track{flex:1;height:8px;border-radius:100px;background:rgba(200,148,149,0.12);overflow:hidden}
.progress-fill{height:100%;border-radius:100px;transition:width 0.8s var(--ease-out);background:linear-gradient(90deg,#10B981,#34D399)}
.cleandays-track{display:flex;align-items:flex-start;justify-content:space-between;margin-top:8px}
.clean-day{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:8px}
.clean-day:not(:first-child)::before{content:'';position:absolute;top:18px;right:50%;width:100%;height:2px;z-index:0;border-radius:100px;
  background:var(--rose-hairline);}
.clean-day.done::before,.clean-day.current::before{background:rgba(52,211,153,0.3)}
.clean-day-orb{position:relative;z-index:1;width:36px;height:36px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:0.9rem;font-weight:800;
  transition:var(--transition);flex-shrink:0;background:var(--surface-solid);}
.clean-day-orb [data-lucide]{width:18px;height:18px}
.clean-day-orb.done{background:rgba(52,211,153,0.15);color:#059669;border:1.5px solid rgba(52,211,153,0.3)}
.clean-day-orb.current{background:rgba(168,110,111,0.1);color:var(--rose-deep);border:1.5px solid rgba(168,110,111,0.35);
  box-shadow:0 0 0 4px rgba(200,148,149,0.12);}
.clean-day-orb.pending{background:transparent;border:1.5px dashed rgba(200,148,149,0.3);color:var(--text-light)}
.clean-day-lbl{font-size:0.75rem;font-weight:700;color:var(--text-muted)}
.clean-day.pending .clean-day-lbl{color:var(--text-light)}
.clean-day.current .clean-day-lbl{color:var(--rose-deep);font-weight:800}
/* ---- Activity feed ---- */
.activity-feed{display:flex;flex-direction:column;gap:12px;margin-top:8px}
.activity-item{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:16px;
  background:var(--rose-tint);border:1px solid transparent;transition:var(--transition);}
.activity-item:hover{background:var(--rose-hover);border-color:rgba(200,148,149,0.18)}
.activity-icon{width:36px;height:36px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.activity-icon [data-lucide]{width:17px;height:17px}
.activity-icon.reminder{background:rgba(200,148,149,0.14);color:var(--rose-deep)}
.activity-icon.bedikah,.activity-icon.hefsek{background:rgba(52,211,153,0.12);color:#059669}
.activity-icon.system{background:rgba(74,55,80,0.08);color:var(--violet)}
.activity-text{flex:1;min-width:0}
.activity-text p{font-size:0.9rem;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.activity-time{font-size:0.8rem;color:var(--text-muted);font-weight:600;white-space:nowrap;flex-shrink:0}
.activity-footer{margin-top:20px;padding-top:20px;border-top:1px solid rgba(200,148,149,0.1);display:flex;justify-content:flex-end}
.activity-footer a{display:inline-flex;align-items:center;gap:6px;font-size:0.85rem;font-weight:700;color:var(--rose-deep);transition:var(--transition)}
.activity-footer a:hover{color:var(--violet)}
@media (max-width:1100px){
.stats-row{grid-template-columns:repeat(2,1fr)}
.dashboard-grid{grid-template-columns:1fr}
}
@media (max-width:900px){
.action-bar{flex-direction:column;gap:12px}
}
@media (max-width:600px){
.stats-row{grid-template-columns:1fr;gap:12px}
.phase-section{flex-direction:column;gap:12px;align-items:flex-start}
.phase-connector{display:none}
.cycle-body{flex-direction:column;gap:24px}
.cycle-vsep{display:none}
.cleandays-track{gap:4px}
.clean-day-orb{width:32px;height:32px;font-size:0.8rem}
.clean-day-orb [data-lucide]{width:16px;height:16px}
.clean-day-lbl{font-size:0.65rem}
}
