.admin-body{--bg:var(--page-bg);--surface:var(--page-surface);--border:var(--page-border);--text:var(--page-text);--muted:var(--page-muted);--accent:#3b82f6;--accent-hover:#2563eb;--success:#22c55e;--danger:#ef4444;--warn:#f59e0b;background:var(--bg);min-height:100vh;color:var(--text);font-family:system-ui,-apple-system,sans-serif}html[data-theme=light] .admin-body{--accent:#2563eb;--accent-hover:#1d4ed8;--success:#15803d}html[data-theme=dark] .admin-body{--accent:#3b82f6;--accent-hover:#2563eb;--success:#22c55e}.admin-body .app-link{color:var(--app-link)}.admin-body .app-link:hover{color:var(--app-link-hover)}.admin-shell{grid-template-columns:220px 1fr;min-height:100vh;display:grid}.admin-nav{background:var(--surface);border-right:1px solid var(--border);padding:1.5rem 1rem}.admin-nav h1{margin-bottom:1.5rem;font-size:1.1rem;font-weight:700}.admin-nav a{color:var(--muted);border-radius:8px;margin-bottom:.25rem;padding:.6rem .75rem;display:block}.admin-nav a:hover,.admin-nav a.active{color:var(--text);background:#3b82f626}.admin-nav .theme-toggle{justify-content:center;width:100%;margin-top:1rem}.admin-main{max-width:960px;padding:2rem}.admin-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.admin-card h2{margin-bottom:1rem;font-size:1.25rem}.admin-grid{gap:1rem;display:grid}.admin-grid-2{grid-template-columns:1fr 1fr}.admin-field label{color:var(--muted);margin-bottom:.35rem;font-size:.85rem;display:block}.admin-field-hint{color:var(--muted);margin-top:.35rem;font-size:.75rem;display:block}.admin-input-with-action{align-items:center;gap:.5rem;display:flex}.admin-input-with-action input{flex:1}.admin-input-with-action .admin-btn{flex-shrink:0;min-width:2.5rem;padding:.5rem .75rem}.admin-input-with-prefix{border:1px solid var(--border);background:var(--bg);border-radius:8px;align-items:center;display:flex;overflow:hidden}.admin-input-prefix{color:var(--muted);padding:.65rem 0 .65rem .75rem;font-size:.95rem}.admin-input-with-prefix input{color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:.65rem .75rem .65rem .35rem;font-size:.95rem}.admin-row-actions{flex-wrap:wrap;gap:.35rem;display:flex}.category-list{gap:.5rem;margin-top:1rem;list-style:none;display:grid}.category-list-item{border:1px solid var(--border);background:var(--bg);border-radius:10px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:border-color .15s,background .15s;display:grid}.category-list-item.dragging{opacity:.45}.category-list-item.drag-over{border-color:var(--accent);background:#3b82f614}.category-drag-handle{cursor:grab;color:var(--muted);-webkit-user-select:none;user-select:none;padding:.25rem;font-size:1.1rem;line-height:1}.category-drag-handle:active{cursor:grabbing}.category-list-name{min-width:0;font-weight:600}.category-list-count{color:var(--muted);white-space:nowrap;font-size:.85rem}@media (max-width:768px){.category-list-item{grid-template-rows:auto auto;grid-template-columns:auto 1fr}.category-list-count,.category-list-item .admin-row-actions{grid-column:2}}.admin-field input,.admin-field select,.admin-field textarea{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:8px;padding:.65rem .75rem;font-size:.95rem}.admin-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.65rem 1.25rem;font-size:.95rem;font-weight:600;display:inline-block}.admin-btn:hover{background:var(--accent-hover)}.admin-btn.secondary{border:1px solid var(--border);color:var(--text);background:0 0}.admin-btn.danger{background:var(--danger)}.admin-table{border-collapse:collapse;width:100%;font-size:.9rem}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--border);padding:.75rem}.admin-table th{color:var(--muted);font-weight:500}.admin-badge{border-radius:999px;padding:.2rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.admin-badge.ok{color:var(--success);background:#22c55e33}.admin-badge.warn{color:var(--warn);background:#f59e0b33}.admin-login-wrap{justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.admin-login-theme{z-index:10;position:fixed;top:1rem;right:1rem}.admin-login-card{width:100%;max-width:400px}.admin-error{color:var(--danger);margin-top:.75rem;font-size:.9rem}.admin-success{color:var(--success);margin-top:.75rem;font-size:.9rem}.admin-muted{color:var(--muted);font-size:.9rem}.admin-list-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.admin-search-input{border:1px solid var(--border);background:var(--bg);min-width:260px;max-width:420px;color:var(--text);border-radius:8px;flex:1;padding:.65rem .75rem;font-size:.95rem}.admin-sort-btn{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.15rem;padding:0;font-weight:500;display:inline-flex}.admin-sort-btn:hover,.admin-sort-btn.active{color:var(--app-link)}.admin-sort-indicator{color:var(--muted);font-size:.8rem}.admin-sort-btn.active .admin-sort-indicator{color:var(--app-link)}.admin-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;display:flex}.admin-dropzone{border:2px dashed var(--border);text-align:center;background:var(--bg);border-radius:12px;padding:1.5rem;transition:border-color .15s,background .15s}.admin-dropzone.drag-over{border-color:var(--accent);background:#3b82f614}.admin-dropzone-readonly{text-align:left}.admin-dropzone-preview{object-fit:cover;border-radius:8px;max-width:160px;max-height:120px;margin-bottom:.75rem}.admin-dropzone-hint{color:var(--muted);margin:.75rem 0;font-size:.8rem}.admin-dropzone-browse{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:.5rem 1rem;font-size:.85rem;font-weight:600;display:inline-block}.admin-dropzone-browse:hover{border-color:var(--accent)}.admin-dropzone-url{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:8px;margin-top:.75rem;padding:.65rem .75rem;font-size:.9rem}@media (max-width:768px){.admin-shell{grid-template-columns:1fr}.admin-nav{border-right:none;border-bottom:1px solid var(--border)}.admin-grid-2{grid-template-columns:1fr}}
