/* Stage 6 — notifications bell, notification list, order timeline (Magma theme) */

/* bell in the top bars */
.bell{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:999px;text-decoration:none;line-height:1;
  background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);
  transition:transform .15s, background .15s;
}
.bell:hover{background:var(--violet-soft);transform:translateY(-1px)}
.bell-icon{font-size:16px;line-height:1}
.bell-badge{
  position:absolute;top:-5px;inset-inline-end:-5px;
  min-width:18px;height:18px;padding:0 4px;border-radius:999px;
  background:linear-gradient(135deg,#FF8A3D,#FC6000);
  color:#fff;font-size:10px;font-weight:800;
  display:inline-flex;align-items:center;justify-content:center;
  box-shadow:0 4px 10px -4px rgba(252,96,0,.9);
}

/* the list */
.ntf-list{display:flex;flex-direction:column}
.ntf-row{
  display:flex;align-items:center;gap:11px;padding:13px 8px;
  border-bottom:1px solid var(--line);border-radius:var(--radius-sm);
}
.ntf-row:last-child{border-bottom:0}
.ntf-row.is-new{background:linear-gradient(120deg,#FAF4FE,#FFF6F0)}
.ntf-dot{flex:0 0 auto;width:9px;height:9px;border-radius:999px;background:#E4D9EE}
.ntf-row.is-new .ntf-dot{background:var(--magma);box-shadow:0 0 0 4px rgba(252,96,0,.14)}
.ntf-body{flex:1 1 auto;min-width:0}
.ntf-text{margin:0 0 2px;font-size:14px;color:var(--ink)}

/* order timeline */
.timeline{display:flex;align-items:flex-start;gap:6px;padding:8px 0 2px}
.tl-step{
  flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;
  gap:7px;position:relative;text-align:center;
}
.tl-step::before{
  content:"";position:absolute;top:14px;inset-inline-start:-50%;width:100%;height:2px;
  background:#EEE3F6;z-index:0;border-radius:2px;
}
.tl-step:first-child::before{display:none}
.tl-step.on::before{background:var(--grad)}
.tl-dot{
  position:relative;z-index:1;width:29px;height:29px;border-radius:999px;
  background:#F5EEFA;color:#9A88AB;font-size:12px;font-weight:800;
  display:inline-flex;align-items:center;justify-content:center;
  transition:transform .2s;
}
.tl-step.on .tl-dot{background:var(--grad);color:#fff;box-shadow:0 8px 16px -10px rgba(120,0,144,.9)}
.tl-label{font-size:11px;color:#8B7A9B;line-height:1.25}
.tl-step.on .tl-label{color:var(--ink);font-weight:700}

@media (max-width:640px){
  .bell{width:32px;height:32px}
  .tl-label{font-size:10px}
  .tl-dot{width:25px;height:25px}
  .ntf-row{gap:9px}
}
