:root { --bg-main:#0a0c16; --card-bg:rgba(20,24,45,0.85); --card-border:rgba(124,58,237,0.25); --primary:#8b5cf6; --text-main:#fff; --text-muted:#94a3b8; --input-bg:#0f172a; }
* { margin:0; padding:0; box-sizing:border-box; }
html, body { width:100%; max-width:100vw; overflow-x:hidden; }
body { font-family:'Outfit',sans-serif; background:var(--bg-main); color:var(--text-main); padding:1.25rem 1rem; min-height:100vh; font-size:14px; }
.modal-overlay { position:fixed; top:0; left:0; width:100vw; height:100vh; background:rgba(10,12,22,0.94); backdrop-filter:blur(12px); display:flex; align-items:center; justify-content:center; z-index:99999; }
.login-card { background:var(--card-bg); border:1px solid var(--card-border); border-radius:20px; padding:2rem; width:90%; max-width:380px; text-align:center; display:flex; flex-direction:column; gap:1rem; }
.login-error { background:rgba(239,68,68,0.2); color:#f87171; padding:0.5rem; border-radius:8px; font-size:0.825rem; }
.app-container { max-width:1200px; margin:0 auto; display:flex; flex-direction:column; gap:1.25rem; width:100%; }
.main-header { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:0.75rem; padding-bottom:1rem; border-bottom:1px solid rgba(255,255,255,0.08); }
.brand { display:flex; align-items:center; gap:0.75rem; }
.logo-icon { font-size:1.4rem; background:rgba(139,92,246,0.2); padding:0.4rem; border-radius:10px; }
h1 { font-size:1.35rem; font-weight:700; color:#fff; }
.version-tag { font-size:0.7rem; background:rgba(139,92,246,0.2); color:#c4b5fd; padding:0.15rem 0.4rem; border-radius:6px; }
.subtitle { font-size:0.8rem; color:var(--text-muted); }
.header-actions { display:flex; align-items:center; gap:0.75rem; }
.status-badge { display:flex; align-items:center; gap:0.4rem; background:rgba(16,185,129,0.15); color:#34d399; padding:0.4rem 0.85rem; border-radius:20px; font-size:0.8rem; font-weight:500; }
.pulse-dot { width:7px; height:7px; background:#10b981; border-radius:50%; }
.stats-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:0.85rem; width:100%; }
.stat-card { background:var(--card-bg); border:1px solid var(--card-border); border-radius:14px; padding:0.85rem 1.1rem; display:flex; align-items:center; gap:0.85rem; width:100%; }
.stat-icon { font-size:1.35rem; }
.stat-info { display:flex; flex-direction:column; gap:0.1rem; min-width:0; }
.stat-label { font-size:0.7rem; color:var(--text-muted); text-transform:uppercase; letter-spacing:0.04em; font-weight:500; }
.stat-value { font-size:1.15rem; font-weight:600; color:#fff; line-height:1.2; }
.stat-value.text-sm { font-size:0.95rem; font-weight:500; color:#34d399; }
.content-grid { display:grid; grid-template-columns:340px 1fr; gap:1.25rem; width:100%; }
@media (max-width:900px) { .content-grid { grid-template-columns:1fr; } }
.card { background:var(--card-bg); border:1px solid var(--card-border); border-radius:16px; padding:1.25rem; display:flex; flex-direction:column; gap:1rem; width:100%; }
.card-header h2 { font-size:1.1rem; font-weight:600; color:#fff; }
.card-header p { font-size:0.8rem; color:var(--text-muted); }
.form-group { display:flex; flex-direction:column; gap:0.35rem; margin-bottom:0.75rem; }
label { font-size:0.825rem; font-weight:500; color:#fff; }
input { width:100%; background:var(--input-bg); border:1px solid rgba(255,255,255,0.15); border-radius:8px; padding:0.7rem 0.85rem; color:#fff; font-size:0.825rem; }
.help-text { font-size:0.725rem; color:var(--text-muted); }
.help-text code { font-family:var(--font-mono); color:#38bdf8; background:rgba(56,189,248,0.1); padding:0.1rem 0.25rem; border-radius:4px; }
.form-actions { margin-top:0.85rem; }
.btn { padding:0.6rem 1rem; border-radius:8px; border:none; font-weight:500; cursor:pointer; font-size:0.825rem; }
.btn-primary { width:100%; padding:0.85rem; border-radius:10px; font-weight:600; font-size:0.9rem; background:linear-gradient(135deg,#8b5cf6,#7c3aed); color:#fff !important; box-shadow:0 4px 15px rgba(139,92,246,0.35); cursor:pointer; }
.btn-secondary { background:rgba(56,189,248,0.15); color:#7dd3fc; border:1px solid rgba(56,189,248,0.3); font-size:0.775rem; }
.btn-logout { background:rgba(255,255,255,0.08); color:var(--text-muted); }
.flex-between { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:0.5rem; }
.table-responsive { width:100%; overflow-x:auto; border-radius:10px; border:1px solid rgba(255,255,255,0.08); }
.data-table { width:100%; border-collapse:collapse; text-align:left; font-size:0.8rem; }
.data-table th, .data-table td { padding:0.65rem 0.75rem; border-bottom:1px solid rgba(255,255,255,0.05); vertical-align:middle; }
.data-table th { font-weight:600; color:var(--text-muted); text-transform:uppercase; font-size:0.725rem; }
.badge-tag { background:rgba(16,185,129,0.15); color:#34d399; padding:0.15rem 0.45rem; border-radius:6px; font-size:0.725rem; font-weight:500; display:inline-block; }
.acervo-tag { font-family:var(--font-mono); font-size:0.75rem; color:#38bdf8; background:rgba(56,189,248,0.1); padding:0.15rem 0.4rem; border-radius:4px; white-space:nowrap; }
.action-buttons { display:flex; gap:0.35rem; justify-content:flex-end; }
.btn-icon-action { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:8px; font-size:0.85rem; cursor:pointer; border:1px solid transparent; transition:all 0.2s ease; }
.btn-icon-rescan { background:rgba(139,92,246,0.2); color:#c4b5fd; border-color:rgba(139,92,246,0.4); }
.btn-icon-rescan:hover { background:var(--primary); color:#fff; }
.btn-icon-del { background:rgba(239,68,68,0.15); color:#f87171; border-color:rgba(239,68,68,0.3); }
.btn-icon-del:hover { background:rgba(239,68,68,0.35); color:#fff; }
