*{box-sizing:border-box}body{margin:0;font:14px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid #eee;position:sticky;top:0;background:#fff;z-index:1}
.brand{font-weight:700}
.nav{display:flex;gap:8px}
.nav-btn{background:#f6f6f6;border:1px solid #ddd;border-radius:6px;padding:6px 10px;cursor:pointer}
.nav-btn.active{background:#e7f0ff;border-color:#88aaff}
.auth .link{background:transparent;border:none;color:#3366cc;cursor:pointer}
.auth .hidden{display:none}
main{padding:16px}
.view{display:none}
.view.visible{display:block}
.dropzone{border:2px dashed #bbb;border-radius:10px;padding:30px;text-align:center;color:#666}
.dropzone.drag{border-color:#5aa5ff;background:#f2f8ff;color:#333}
.file-label{color:#3366cc;cursor:pointer}
.controls{display:flex;gap:8px;margin:12px 0}
.queue{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.item{display:flex;align-items:center;gap:10px;border:1px solid #eee;border-radius:8px;padding:8px}
.thumb{width:48px;height:48px;border-radius:4px;object-fit:cover;background:#f4f4f4}
.meta{flex:1}
.progress{height:6px;background:#eee;border-radius:4px;overflow:hidden}
.bar{height:100%;width:0%}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.card{border:1px solid #eee;border-radius:8px;overflow:hidden;background:#fff}
.card img{width:100%;height:120px;object-fit:cover;display:block}
.card .row{padding:8px;border-top:1px solid #f5f5f5;font-size:12px;display:flex;justify-content:space-between;gap:6px}
.small{font-size:12px;color:#666}
.empty{padding:24px;text-align:center;color:#999}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.stat{border:1px solid #eee;border-radius:8px;padding:12px;background:#fff}
.form{display:grid;gap:12px;max-width:420px}
.form label{display:grid;gap:6px}
.form input,.form select{padding:8px;border:1px solid #ddd;border-radius:6px}
.form button{padding:8px 12px}
.error{color:#b00020;margin-top:8px}
.hint{color:#888;margin-bottom:8px}
.badge{background:#eef7ff;border:1px solid #cbe0ff;border-radius:4px;padding:0 6px}
