:root{--bg-primary:#0a0b0f;--bg-secondary:#111218;--bg-tertiary:#16171e;--panel:linear-gradient(135deg,#1a1d26,#171a23);--panel-hover:linear-gradient(135deg,#1e212a,#1b1e27);--glass:rgba(26,29,38,.85);--glass-border:hsla(0,0%,100%,.08);--muted:#8b929e;--text:#f0f3f7;--text-secondary:#c9d1d9;--primary:linear-gradient(135deg,#6366f1,#4f46e5);--primary-hover:linear-gradient(135deg,#7c3aed,#6366f1);--success:#10b981;--warning:#f59e0b;--danger:linear-gradient(135deg,#f87171,#ef4444);--border:#252830;--border-light:#2d3139;--chip:linear-gradient(135deg,#252934,#1f232c);--shadow-sm:0 2px 4px rgba(0,0,0,.3);--shadow-md:0 8px 24px rgba(0,0,0,.4);--shadow-lg:0 16px 48px rgba(0,0,0,.5)}*{box-sizing:border-box}body,html{height:100%;scroll-behavior:smooth}body{margin:0;background:var(--bg-primary);background-image:radial-gradient(circle at 20% 30%,rgba(99,102,241,.08) 0,transparent 50%),radial-gradient(circle at 80% 70%,rgba(168,85,247,.06) 0,transparent 50%);background-attachment:fixed;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,system-ui,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wrap{max-width:1200px;margin:0 auto;padding:24px 16px;min-height:100vh}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--panel);color:var(--text);padding:12px 20px;border-radius:12px;cursor:pointer;font-weight:600;font-size:14px;transition:all .2s;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:relative;overflow:hidden}.btn:before{content:"";position:absolute;inset:0;left:-100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.1),transparent);transition:left .5s}.btn:hover:before{left:100%}.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-light)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--primary);border:none;color:#fff;font-weight:700}.btn-primary:hover{background:var(--primary-hover)}.btn-danger{background:var(--danger);border:none;color:#fff}.btn-small{padding:8px 12px;font-size:12px;border-radius:8px}.input,.select{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text);padding:12px 16px;border-radius:12px;outline:none;min-width:0;font-size:14px;transition:all .2s;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.input:focus,.select:focus{border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.1)}.input-full{width:100%}.panel{background:var(--glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:16px;padding:20px;box-shadow:var(--shadow-md);transition:.3s;overflow:hidden}.panel:hover{border-color:hsla(0,0%,100%,.12);box-shadow:var(--shadow-lg)}.header{justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:32px}.h1,.header{display:flex;align-items:center}.h1{gap:12px;font-size:clamp(24px,4vw,32px);font-weight:900;margin:0;background:linear-gradient(135deg,var(--text) 0,var(--text-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.search-bar,.stats-bar,.upload-form{background:var(--glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:16px;box-shadow:var(--shadow-md)}.search-bar{padding:4px;margin-bottom:20px}.upload-form{padding:20px;margin-bottom:24px;overflow:hidden}.stats-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin:16px 0;padding:12px 16px;border-radius:12px}.upload-dropzone{position:relative;border:1px dashed var(--border);border-radius:14px;background:hsla(0,0%,100%,.02);padding:18px;display:grid;grid-gap:10px;gap:10px;transition:border-color .2s,background .2s,transform .2s}.upload-dropzone.dragover{border-color:#6366f1;background:rgba(99,102,241,.08);transform:translateY(-1px)}.upload-dropzone .dz-row{align-items:center}.upload-dropzone .dz-actions,.upload-dropzone .dz-row{display:flex;gap:10px;flex-wrap:wrap}.upload-dropzone .file-badge{padding:6px 10px;border-radius:999px;font-size:12px;background:var(--chip);border:1px solid var(--border);color:var(--text-secondary)}.grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:24px}@media (max-width:480px){.grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.wrap{padding:16px 12px}.btn{padding:10px 16px;font-size:13px}}@media (min-width:640px){.grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}@media (min-width:1024px){.grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}.card{position:relative;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--bg-secondary);transition:.3s;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--border-light)}.thumb{aspect-ratio:1/1;background:var(--bg-primary);position:relative;overflow:hidden}.thumb,.thumb img{width:100%;display:block}.thumb img{height:100%;object-fit:cover;transition:transform .3s}.card:hover .thumb img{transform:scale(1.05)}.meta{padding:12px 14px;font-size:13px;color:var(--muted);display:grid;grid-gap:8px;gap:8px;background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.title-row{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.title{font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:70%;font-size:14px}.size-badge{background:var(--chip);padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;color:var(--text-secondary)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{font-size:11px;background:var(--chip);border:1px solid var(--border);padding:4px 8px;border-radius:16px;color:var(--text-secondary);font-weight:500;transition:.2s}.chip:hover{background:var(--panel-hover);transform:translateY(-1px)}.admin-acts{position:absolute;top:12px;right:12px;display:flex;gap:8px;opacity:0;transition:opacity .3s}.card:hover .admin-acts{opacity:1}.admin-acts .btn{padding:8px;border-radius:8px;background:var(--glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--glass-border);font-size:12px}.muted{color:var(--muted)}.text-secondary{color:var(--text-secondary)}.error-panel{border-color:#dc2626;background:linear-gradient(135deg,rgba(220,38,38,.1),rgba(185,28,28,.05));color:#fca5a5;margin-bottom:16px;border-radius:12px;padding:16px}.loading-spinner{display:inline-block;width:16px;height:16px;border-radius:50%;border:2px solid var(--muted);border-top-color:var(--text);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.fade-in{animation:fadeIn .5s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@media (max-width:768px){.header{flex-direction:column;align-items:stretch;text-align:center}.row{gap:8px}.upload-form .row{flex-direction:column;align-items:stretch}.stats-bar{flex-direction:column;text-align:center}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-light)}