*{box-sizing:border-box} body{margin:0;background:#101114;color:#eee;font-family:system-ui,-apple-system,Segoe UI,sans-serif}
header,main{max-width:1100px;margin:auto;padding:18px} h1{margin:0 0 10px} a{color:#8ab4ff;text-decoration:none}
nav{display:flex;gap:14px;flex-wrap:wrap}.card{background:#191b20;border:1px solid #2b2f38;border-radius:14px;padding:18px;margin:14px 0}
.narrow{max-width:420px;margin:60px auto}.stack{display:grid;gap:10px}.inline{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
input,button{background:#232733;color:#eee;border:1px solid #3b4150;border-radius:10px;padding:10px}button{cursor:pointer}button:hover{background:#2d3340}.danger{color:#ff9292}.err{color:#ff9292}
#dropzone{border:2px dashed #444b58;border-radius:14px;text-align:center;padding:24px;background:#13161d}#dropzone.active{border-color:#8ab4ff;background:#172033}
.row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border-bottom:1px solid #2b2f38;padding:12px 0}.row:last-child{border-bottom:0}
.name small{display:block;color:#999;margin-top:4px}.actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.actions form{margin:0}
.upload{display:grid;grid-template-columns:1fr 230px 55px;gap:10px;align-items:center;margin-top:10px}.upload small{display:block;color:#999}.done span{color:#8ee59a}
.copy{width:min(700px,100%);margin-top:8px}.muted{color:#999}.topline{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.gridform{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.badge{display:inline-block;margin-top:8px;padding:4px 9px;border-radius:999px;background:#333}.badge.ok{background:#174b2a;color:#a8ffbf}.badge.bad{background:#5a2020;color:#ffb0b0}.hidden{display:none}
@media(max-width:720px){.row,.upload{grid-template-columns:1fr}.actions{justify-content:flex-start}}
