/* Missions View Styles */
.msn { max-width:900px; margin:0 auto; padding:24px 16px 80px; }
.msn-loading { text-align:center; padding:60px 0; color:#8a8ab0; }
.msn-spinner { width:40px; height:40px; margin:0 auto 16px; border:3px solid rgba(255,107,26,.2); border-top-color:#ff6b1a; border-radius:50%; animation:msn-spin 0.8s linear infinite; }
@keyframes msn-spin { to { transform:rotate(360deg); } }
.msn-empty { text-align:center; padding:60px 20px; color:#8a8ab0; }

.msn-header { text-align:center; margin-bottom:24px; }
.msn-title { font-family:'Orbitron',sans-serif; font-size:1.6rem; font-weight:900; background:linear-gradient(135deg,#ff6b1a,#ffb84d); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; margin:0; display:inline-flex; align-items:center; gap:10px; }
.msn-title svg { stroke:#ff6b1a; flex-shrink:0; }
.msn-subtitle { color:#8a8ab0; margin:6px 0 0; font-size:.9rem; }

.msn-streak { display:flex; align-items:center; justify-content:center; gap:12px; padding:14px 20px; margin-bottom:28px; background:rgba(255,107,26,.06); border:1px solid rgba(255,107,26,.2); border-radius:14px; }
.msn-streak-fire { font-size:1.6rem; }
.msn-streak-num { font-family:'Orbitron',sans-serif; font-size:1.8rem; font-weight:900; color:#ffb84d; }
.msn-streak-label { color:#8a8ab0; font-size:.85rem; }

.msn-section { margin-bottom:28px; }
.msn-section-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; padding:0 4px; }
.msn-section-head h2 { font-family:'Rajdhani',sans-serif; font-size:1.15rem; font-weight:600; color:#fff; margin:0; display:flex; align-items:center; gap:8px; }
.msn-section-head h2 i { color:#ff6b1a; }
.msn-timer { font-size:.8rem; color:#ff6b1a; font-family:'JetBrains Mono',monospace; background:rgba(255,107,26,.08); padding:4px 10px; border-radius:6px; }

.msn-card { display:flex; align-items:center; gap:14px; padding:14px 16px; margin-bottom:10px; background:rgba(10,10,22,.85); border:1px solid rgba(138,99,240,.12); border-radius:12px; transition:all .2s ease; }
.msn-card:hover { border-color:rgba(255,107,26,.35); transform:translateY(-1px); }
.msn-card--done { border-color:rgba(50,205,50,.25); background:rgba(50,205,50,.03); }
.msn-card--claimed { opacity:.7; }

.msn-card-icon { width:42px; height:42px; border-radius:10px; background:linear-gradient(135deg,rgba(255,107,26,.12),rgba(138,99,240,.12)); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.msn-card-icon i { font-size:1.1rem; color:#ff6b1a; }
.msn-card--done .msn-card-icon i { color:#32cd32; }

.msn-card-body { flex:1; min-width:0; }
.msn-card-name { font-weight:600; font-size:.9rem; color:#fff; margin-bottom:3px; }
.msn-card-desc { font-size:.75rem; color:#8a8ab0; margin-bottom:6px; }

.msn-bar { height:5px; background:rgba(255,255,255,.07); border-radius:3px; overflow:hidden; }
.msn-bar-fill { height:100%; background:linear-gradient(90deg,#ff6b1a,#ffb84d); border-radius:3px; transition:width .5s ease; }
.msn-bar-fill--done { background:linear-gradient(90deg,#32cd32,#7fff7f); }

.msn-card-right { text-align:right; flex-shrink:0; min-width:80px; }
.msn-progress-nums { font-size:.75rem; color:#8a8ab0; margin-bottom:3px; font-family:'JetBrains Mono',monospace; }
.msn-reward { font-size:.7rem; color:#ffb84d; font-weight:600; }

.msn-claim-btn { position:relative; padding:7px 14px; background:linear-gradient(135deg,#ff6b1a,#ff8c42); color:#fff; border:none; border-radius:7px; font-size:.75rem; font-weight:700; cursor:pointer; transition:transform .15s,box-shadow .15s; overflow:hidden; }
.msn-claim-btn:hover { transform:scale(1.06); box-shadow:0 4px 16px rgba(255,107,26,.3); }
.msn-claim-btn:disabled { opacity:.5; cursor:not-allowed; transform:none; }
.msn-claim-pulse { position:absolute; inset:0; background:rgba(255,255,255,.15); animation:msn-pulse 1.5s ease-in-out infinite; border-radius:inherit; }
@keyframes msn-pulse { 0%,100% { opacity:0; } 50% { opacity:1; } }

.msn-claimed { font-size:.75rem; color:#32cd32; font-weight:600; display:inline-flex; align-items:center; gap:4px; }

.msn-empty-row { text-align:center; padding:20px; color:#8a8ab0; font-size:.85rem; }
