*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:'Plus Jakarta Sans',system-ui,sans-serif;background:#062617;color:#f2f7f0}
body{
  display:flex;align-items:center;justify-content:center;padding:20px;
  background:
    radial-gradient(circle at 20% 20%, rgba(212,175,55,0.06) 0, transparent 45%),
    radial-gradient(circle at 80% 0%, rgba(212,175,55,0.05) 0, transparent 40%),
    linear-gradient(160deg,#04160e,#0b3823 60%,#062617);
}
.app{width:100%;max-width:480px;margin:0 auto}
.bismillah{text-align:center;font-family:'Amiri','Plus Jakarta Sans',serif;font-size:22px;color:#d4af37;margin:0 0 14px;letter-spacing:0.5px}
header{text-align:center;margin-bottom:20px}
.eyebrow{letter-spacing:3px;font-size:11px;color:#3fae6a;margin:0 0 6px;font-weight:700}
h1{font-size:32px;margin:0;color:#fff;font-weight:800}
.subtitle{color:#a9c9b6;margin:8px 0 0;font-size:14px}
.card{background:linear-gradient(145deg,rgba(11,56,35,0.9),rgba(4,22,14,0.95));border:1px solid rgba(212,175,55,0.2);box-shadow:0 15px 35px rgba(0,0,0,0.45);border-radius:24px;padding:28px 22px}
.hero{text-align:center}
.salawat-display{display:block;width:100%;border:1px solid rgba(212,175,55,0.25);background:rgba(212,175,55,0.06);border-radius:14px;padding:14px 12px;margin:0 0 16px}
.salawat-arabic{display:block;font-family:'Amiri',serif;font-size:24px;color:#f3d675;line-height:1.6}
.salawat-translit{display:block;font-size:12px;color:#a9c9b6;margin-top:4px}
.counter-label{margin:0;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#6f9481;font-weight:700}
.counter{font-size:64px;font-weight:800;letter-spacing:-2px;margin-top:6px;line-height:1;color:#f2f7f0}
.goal{margin:8px 0 20px;color:#a9c9b6;font-size:13px}
.progress-wrap{margin:0 auto 20px;width:100%}
.progress{height:10px;background:#03130c;border-radius:99px;overflow:hidden}
.progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#1b7a43,#d4af37);border-radius:99px;transition:width 0.25s ease}
.progress-label{display:flex;justify-content:space-between;color:#6f9481;font-size:11px;margin-top:6px;font-weight:600}
.primary{border:0;width:100%;padding:16px;border-radius:14px;background:linear-gradient(135deg,#0f6b3b,#1b8a4c);color:#fff;font-weight:700;font-size:16px;cursor:pointer;box-shadow:0 6px 20px rgba(27,138,76,0.35);transition:all 0.2s ease}
.primary:hover{transform:translateY(-1px);filter:brightness(1.05)}
.primary:active{transform:scale(0.98)}
.actions{display:flex;gap:8px;margin-top:10px}
.secondary{flex:1;border:1px solid rgba(212,175,55,0.15);padding:10px;border-radius:12px;background:#0b3823;color:#d7e8dd;cursor:pointer;font-weight:600;font-size:13px;transition:background 0.2s}
.secondary:hover{background:#124a2e}
.custom-add{margin-top:14px}
.custom-add-label{display:block;font-size:12px;font-weight:700;color:#d4af37;letter-spacing:0.4px;margin-bottom:6px;text-align:left}
.custom-add-row{display:flex;gap:8px}
.custom-add-row input{flex:1;min-width:0;border:1px solid rgba(212,175,55,0.3);padding:12px 14px;border-radius:12px;background:#03130c;color:#f2f7f0;font-size:20px;font-weight:700;font-family:'Plus Jakarta Sans',system-ui,sans-serif;letter-spacing:0.5px}
.custom-add-row input::placeholder{color:#5c8570;font-weight:500}
.custom-add-row input:focus{outline:none;border-color:rgba(212,175,55,0.6)}
.custom-add-row button{border:0;padding:10px 18px;border-radius:12px;background:linear-gradient(135deg,#0f6b3b,#1b8a4c);color:#fff;font-weight:700;font-size:14px;cursor:pointer}
.custom-add-row button:hover{filter:brightness(1.05)}
.message{font-size:13px;color:#a9c9b6;margin:18px 0 0;min-height:18px}
.milestone{margin-top:14px;padding:16px;display:flex;justify-content:space-around;text-align:center}
.milestone div{display:flex;flex-direction:column;gap:3px}
.milestone strong{font-size:18px;color:#d4af37}
.milestone small{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#6f9481;font-weight:700}
footer{text-align:center;color:#5c8570;font-size:11px;margin-top:20px}
.complete{animation:pulse 0.6s ease}
@keyframes pulse{50%{transform:scale(1.04);color:#d4af37}}
