/* PVNTISS Requests board */

.req-hero{text-align:center;max-width:640px;margin:0 auto 34px}
.req-hero .page-kicker{justify-content:center;display:flex}
.req-hero .page-title{font-size:34px;text-shadow:0 0 34px rgba(124,58,237,.35),0 0 70px rgba(124,58,237,.15)}
.req-hero .page-desc{margin:0 auto 18px;max-width:520px}

.req-hero-tags{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:0 0 24px}
.req-hero-tag{
  display:inline-flex;align-items:center;gap:6px;
  border:1px solid var(--line);border-radius:20px;padding:6px 13px;
  font:600 10px var(--font-mono);letter-spacing:.05em;text-transform:uppercase;
  color:var(--dim);background:rgba(124,58,237,.05);
  transition:color .2s ease,border-color .2s ease,transform .2s ease;
}
.req-hero-tag:hover{color:var(--purple-bright);border-color:rgba(203,182,255,.35);transform:translateY(-1px)}
.req-hero-tag i{width:5px;height:5px;border-radius:50%;background:var(--purple-bright);box-shadow:0 0 6px var(--purple-glow);flex-shrink:0}

.req-submit-btn{
  background:var(--purple);color:#fff;border:0;border-radius:12px;
  padding:13px 24px;font:600 12px var(--font-mono);letter-spacing:.04em;
  cursor:pointer;display:inline-flex;align-items:center;gap:8px;
  transition:transform .2s ease,box-shadow .2s ease;
}
.req-submit-btn:hover{transform:translateY(-1px);box-shadow:0 8px 26px rgba(124,58,237,.5)}

.req-stats-live{
  display:flex;align-items:center;justify-content:center;gap:7px;
  margin:22px 0 10px;color:var(--faint);font:600 10px var(--font-mono);
  letter-spacing:.05em;text-transform:uppercase;
}
.req-live-dot{width:6px;height:6px;border-radius:50%;background:#9fe6b8;box-shadow:0 0 8px rgba(159,230,184,.6);animation:reqLivePulse 1.8s ease-in-out infinite}
@keyframes reqLivePulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(1.4)}}

.req-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:720px;margin:0 auto 0}
.req-stats>div{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;transition:border-color .2s ease,transform .2s ease}
.req-stats>div:hover{border-color:rgba(203,182,255,.3);transform:translateY(-2px)}
.req-stats strong{display:block;font-size:24px}
.req-stats span{color:var(--dim);font:10px var(--font-mono);text-transform:uppercase;letter-spacing:.06em}

.req-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:36px 0 20px}
.req-toolbar input,.req-toolbar select{
  background:rgba(0,0,0,.18);border:1px solid var(--line);border-radius:8px;
  color:var(--ink);padding:10px 12px;font:12px var(--font-mono);
}
.req-toolbar input{flex:1;min-width:180px}

.req-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}

.req-card{
  background:var(--card);border:1px solid var(--line);border-radius:16px;
  padding:18px;display:flex;flex-direction:column;gap:12px;
  box-shadow:0 10px 32px rgba(0,0,0,.18);
}
.req-badges{display:flex;gap:6px;flex-wrap:wrap}
.req-badge{
  font:700 9px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;
  padding:5px 9px;border-radius:20px;display:inline-flex;align-items:center;gap:4px;
  border:1px solid var(--line);color:var(--dim);
}
.req-badge.priority{color:#ffc58a;background:rgba(255,197,138,.1);border-color:rgba(255,197,138,.3)}
.req-badge.pending{color:#e8c26a;background:rgba(232,194,106,.1);border-color:rgba(232,194,106,.3)}
.req-badge.in_progress{color:var(--soft-blue);background:rgba(159,182,255,.1);border-color:rgba(159,182,255,.3)}
.req-badge.completed{color:#9fe6b8;background:rgba(159,230,184,.1);border-color:rgba(159,230,184,.3)}
.req-badge.declined{color:#ff9d9d;background:rgba(255,157,157,.1);border-color:rgba(255,157,157,.3)}
.req-badge.platform{color:var(--purple-bright);background:rgba(124,58,237,.08);border-color:rgba(203,182,255,.25)}

.req-title{font-size:16px;font-weight:600;letter-spacing:-.005em}
.req-desc{color:var(--dim);font-size:12px;line-height:1.6;max-height:5.6em;overflow:hidden}
.req-desc.expanded{max-height:none}

.req-meta-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font:10px var(--font-mono);color:var(--faint)}
.req-author{display:flex;align-items:center;gap:6px}
.req-author-dot{width:6px;height:6px;border-radius:50%;background:var(--purple-bright);flex-shrink:0}

.req-actions{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line-soft);padding-top:12px}
.req-vote-btn{
  display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.03);
  border:1px solid var(--line-soft);color:var(--ink);border-radius:9px;
  padding:8px 12px;font:600 11px var(--font-mono);cursor:pointer;transition:all .2s ease;
}
.req-vote-btn:hover{border-color:var(--purple-bright);color:var(--purple-bright)}
.req-vote-btn.voted{color:var(--purple-bright);border-color:var(--purple-bright);background:rgba(124,58,237,.12)}
.req-comment-btn{
  display:flex;align-items:center;gap:6px;background:transparent;
  border:1px solid var(--line-soft);color:var(--dim);border-radius:9px;
  padding:8px 12px;font:600 11px var(--font-mono);cursor:pointer;
}
.req-comment-btn:hover{color:var(--ink);border-color:var(--line)}

.req-comments{display:none;flex-direction:column;gap:10px;border-top:1px solid var(--line-soft);padding-top:12px}
.req-comments.open{display:flex}
.req-comment{font-size:11.5px;line-height:1.55;color:var(--dim)}
.req-comment strong{color:var(--ink);font-weight:600}
.req-comment time{display:block;color:var(--faint);font:9px var(--font-mono);margin-top:2px}
.req-comment-form{display:flex;gap:8px;margin-top:2px}
.req-comment-form input{
  flex:1;background:rgba(0,0,0,.18);border:1px solid var(--line);border-radius:8px;
  color:var(--ink);padding:9px 11px;font-size:12px;
}
.req-comment-form button{
  background:var(--purple);color:#fff;border:0;border-radius:8px;
  padding:9px 14px;font:600 10px var(--font-mono);cursor:pointer;
}
.req-empty-comments{color:var(--faint);font-size:11px;font-style:italic}

/* Submit request modal — multi-step (mirrors .auth-modal, extended) */
.req-modal-backdrop{
  position:fixed;inset:0;background:rgba(4,3,8,.72);backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;z-index:600;
  opacity:0;pointer-events:none;transition:opacity .2s ease;padding:20px;
}
.req-modal-backdrop.open{opacity:1;pointer-events:auto}
.req-modal{
  width:100%;max-width:480px;background:var(--bg-2);border:1px solid var(--line);
  border-radius:20px;padding:26px 26px 24px;position:relative;overflow:hidden;
  transform:translateY(10px) scale(.98);transition:transform .2s ease;
  box-shadow:0 30px 80px rgba(0,0,0,.6);max-height:90vh;
}
.req-modal-backdrop.open .req-modal{transform:translateY(0) scale(1)}
.req-modal::before{
  content:'';position:absolute;top:-120px;right:-100px;width:260px;height:260px;
  background:radial-gradient(circle,rgba(124,58,237,.28),transparent 70%);
  pointer-events:none;z-index:0;
}
.req-modal-close{position:absolute;right:16px;top:14px;background:none;border:0;color:var(--dim);font-size:24px;cursor:pointer;z-index:2}
.req-modal-close:hover{color:#fff}

.req-modal-progress{position:relative;z-index:1;height:4px;border-radius:4px;background:rgba(255,255,255,.06);overflow:hidden;margin:2px 0 8px}
.req-modal-progress-bar{height:100%;width:33.34%;border-radius:4px;background:linear-gradient(90deg,var(--purple),var(--purple-bright));transition:width .35s cubic-bezier(.16,1,.3,1)}
.req-modal-steps{position:relative;z-index:1;color:var(--faint);font:600 9px var(--font-mono);text-transform:uppercase;letter-spacing:.09em;margin-bottom:14px}

.req-modal h2{position:relative;z-index:1;margin:2px 0 4px;font-size:20px;transition:opacity .15s ease}
.req-step-sub{position:relative;z-index:1;color:var(--dim);font-size:12.5px;margin:0 0 16px;line-height:1.5}

.req-modal form{position:relative;z-index:1;max-height:calc(90vh - 130px);overflow:auto;padding-right:2px}
.req-step{display:none}
.req-step.active{display:block;animation:reqStepIn .32s cubic-bezier(.16,1,.3,1)}
@keyframes reqStepIn{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:translateX(0)}}

.req-option-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:6px}
.req-option-card{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;
  background:rgba(255,255,255,.02);border:1px solid var(--line);border-radius:14px;
  padding:20px 10px;cursor:pointer;color:var(--ink);
  font:600 11.5px var(--font-mono);letter-spacing:.03em;
  transition:border-color .2s ease,transform .2s ease,background .2s ease,box-shadow .2s ease;
}
.req-option-card:hover{border-color:rgba(203,182,255,.4);transform:translateY(-2px);background:rgba(124,58,237,.07)}
.req-option-card.selected{
  border-color:var(--purple-bright);background:rgba(124,58,237,.16);
  box-shadow:0 0 0 1px rgba(203,182,255,.3) inset,0 10px 28px rgba(124,58,237,.28);
}
.req-option-icon{font-size:22px;line-height:1;color:var(--purple-bright);text-shadow:0 0 14px var(--purple-glow);transition:transform .2s ease}
.req-option-card.selected .req-option-icon{transform:scale(1.15)}
.req-option-card .req-option-check{
  position:absolute;margin-top:-34px;margin-left:44px;width:16px;height:16px;border-radius:50%;
  background:var(--purple-bright);color:#1a0f33;font-size:10px;font-weight:800;
  display:none;align-items:center;justify-content:center;
}
.req-option-card.selected .req-option-check{display:flex}

.req-field{display:grid;gap:6px;margin-bottom:14px}
.req-field label{color:var(--dim);font:10px var(--font-mono);text-transform:uppercase;letter-spacing:.04em}
.req-field input,.req-field select,.req-field textarea{
  background:rgba(0,0,0,.18);border:1px solid var(--line);border-radius:9px;
  color:var(--ink);padding:11px 12px;font:13px var(--font-body);
  transition:border-color .2s ease;
}
.req-field input:focus,.req-field textarea:focus{border-color:rgba(203,182,255,.45);outline:none}
.req-field textarea{min-height:100px;resize:vertical;font-family:var(--font-body)}
.req-char-count{text-align:right;color:var(--faint);font:9px var(--font-mono);margin-top:-2px}
.req-recap{
  display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px;
}
.req-recap span{
  font:600 9px var(--font-mono);letter-spacing:.05em;text-transform:uppercase;
  color:var(--purple-bright);background:rgba(124,58,237,.1);border:1px solid rgba(203,182,255,.25);
  border-radius:20px;padding:5px 10px;
}
.req-anon-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-top:1px solid var(--line-soft);margin-bottom:16px}
.req-anon-row span{font-size:12.5px;color:var(--ink)}
.req-anon-hint{color:var(--faint);font-size:10.5px;display:block;margin-top:2px}
.req-modal-error{position:relative;z-index:1;color:#ff8fa8;font-size:11px;min-height:14px;font-family:var(--font-mono);margin-bottom:8px}

.req-modal-nav{position:relative;z-index:1;display:flex;gap:10px}
.req-modal-back{
  background:none;border:1px solid var(--line);color:var(--dim);border-radius:10px;
  padding:13px 16px;font:600 12px var(--font-mono);cursor:pointer;transition:all .2s ease;
}
.req-modal-back:hover{color:#fff;border-color:rgba(203,182,255,.35)}
.req-modal-submit{
  flex:1;width:100%;background:var(--purple);color:#fff;border:0;border-radius:10px;
  padding:13px;font:600 12px var(--font-mono);letter-spacing:.04em;cursor:pointer;
  transition:box-shadow .2s ease;
}
.req-modal-submit:hover{box-shadow:0 8px 26px rgba(124,58,237,.5)}
.req-modal-submit:disabled{opacity:.6;cursor:default}

@media(max-width:700px){
  .req-stats{grid-template-columns:1fr}
  .req-grid{grid-template-columns:1fr}
  .req-toolbar{flex-direction:column}
  .req-option-grid{grid-template-columns:1fr 1fr}
}
