:root{--bg:#0f172a;--card:#111827;--accent:#22c55e;--accent-2:#3b82f6;--text:#e5e7eb}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial;background:linear-gradient(120deg,#0f172a,#111827);color:var(--text)}
.container{max-width:860px;margin:0 auto;padding:28px}
.card{background:rgba(17,24,39,.8);backdrop-filter:blur(6px);border:1px solid #1f2937;border-radius:16px;padding:28px;box-shadow:0 10px 30px rgba(0,0,0,.3);margin-bottom:18px}
h1{font-size:28px;margin:0 0 12px}
p.lead{opacity:.8;margin:0 0 20px}
.grid{display:grid;gap:18px}
label{display:block;font-weight:600;margin-bottom:6px}
input[type=email],input[type=text],input[type=file]{width:100%;padding:12px;border-radius:12px;border:1px solid #374151;background:#0b1220;color:var(--text)}
select{width:100%;padding:12px;border-radius:12px;border:1px solid #374151;background:#0b1220;color:var(--text);appearance:none}
select:focus{outline:2px solid var(--accent-2)}
button{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#04120b;border:none;padding:12px 16px;border-radius:12px;font-weight:700;cursor:pointer}
button.secondary{background:var(--accent-2);color:#0b1020}
button.sm{padding:6px 10px;font-weight:600;font-size:12px;border-radius:10px}
.row{display:flex;gap:16px;flex-wrap:wrap}
.hidden{display:none}
.nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.nav a{color:var(--text);text-decoration:none;opacity:.9;margin-left:12px}
.list{margin-top:14px}
.item{display:flex;justify-content:space-between;align-items:center;padding:12px;border:1px solid #1f2937;border-radius:12px;background:#0b1220}
.item a{color:var(--accent-2);text-decoration:none;word-break:break-word}
.title{font-size:clamp(14px,2.6vw,18px);line-height:1.25}
.msg{margin-top:12px;min-height:24px}
@media (max-width:640px){.container{padding:18px}h1{font-size:22px}}

@supports not (font-size: clamp(14px, 2.6vw, 18px)){
  .title{font-size:calc(14px + 0.6vw)}
}

/* Mobile refinements */
@media (max-width:414px){
  .item{padding:10px}
  .row{gap:12px}
  .title{font-size:clamp(13px,3.6vw,16px)}
}
@media (max-width:375px){
  .item{padding:9px}
  .title{font-size:clamp(12px,3.8vw,15px)}
}
@media (max-width:360px){
  .item{padding:8px}
  .title{font-size:clamp(12px,4vw,14px)}
}

.progress{position:relative;height:20px;background:#0b1020;border:1px solid #1f2937;border-radius:12px;overflow:hidden;padding:0 5px;box-sizing:border-box}
.progress-bar{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));width:0%;border-radius:10px;transition:width .3s ease;will-change:width}
.progress-percent{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;color:#e5e7eb;pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.5)}
.progress-info{display:flex;justify-content:space-between;align-items:center;font-size:12px;opacity:.85;margin-top:6px}
.form-actions{margin-top:12px}

/* Admin downloads layout */
.dl-item .item-right{display:flex;flex-direction:column;gap:10px}
.dl-item .progress{width:100%}

.modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center}
.modal.active{display:flex}
.modal .dialog{background:#0b1220;border:1px solid #334155;border-radius:18px;padding:20px 24px;max-width:720px;width:92%;box-shadow:0 12px 40px rgba(0,0,0,.5);max-height:90vh;overflow:auto;scrollbar-width:thin;scrollbar-color:#334155 #0b0f1e;overscroll-behavior:contain;scroll-behavior:smooth}
.modal .dialog h2{margin-top:0;margin-bottom:10px}
.modal .dialog .close{position:absolute;right:16px;top:12px;background:transparent;border:none;color:var(--text);font-size:20px;cursor:pointer}
.modal .dialog .list .item{align-items:flex-start}

/* Responsive grid inside modal */
.modal .dialog .grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}

/* Consistent spacing for actions */
.item .row{margin-top:8px}

/* Scrollbar styling */
.modal .dialog::-webkit-scrollbar{width:10px}
.modal .dialog::-webkit-scrollbar-track{background:#0b0f1e;border-radius:12px}
.modal .dialog::-webkit-scrollbar-thumb{background:#334155;border-radius:12px;border:2px solid #0b0f1e}

.toast{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:10px;z-index:1000}
.toast .toast-item{background:#0b1220;border:1px solid #334155;color:var(--text);padding:12px 14px;border-radius:12px;box-shadow:0 6px 20px rgba(0,0,0,.3);opacity:.95}
/* Download items responsive grid */
.dl-item{display:grid;grid-template-columns:1fr minmax(220px,380px);gap:12px;align-items:center}
.dl-item .item-right{display:flex;flex-direction:column;gap:10px}
.dl-item .progress{width:100%}
.dl-item .progress-info{text-align:right}
@media (max-width:640px){
  .dl-item{grid-template-columns:1fr}
  .dl-item .item-right{margin-top:8px}
}
