/* GED Agência G7 — Estilos */
:root {
  --o: #FF6B00; --o2: #FF8A00; --o3: rgba(255,107,0,0.12);
  --bg: #0a0a0a; --bg2: #111; --bg3: #181818; --bg4: #222;
  --border: rgba(255,255,255,0.08);
  --text: #f0f0f0; --text2: #999; --text3: #555;
  --green: #22c55e; --red: #ef4444;
  --radius: 10px; --radius-sm: 7px;
  --shadow: 0 8px 32px rgba(0,0,0,0.5);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; scroll-behavior: smooth; }
body { font-family: 'Inter', system-ui, sans-serif; background: var(--bg); color: var(--text); line-height: 1.6; min-height: 100vh; -webkit-font-smoothing: antialiased; }
a { text-decoration: none; color: inherit; }
::-webkit-scrollbar { width: 5px; } ::-webkit-scrollbar-track { background: var(--bg2); } ::-webkit-scrollbar-thumb { background: #333; border-radius: 3px; }
::selection { background: var(--o); color: #000; }

/* Buttons */
.btn { display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border-radius:99px;font-size:14px;font-weight:600;cursor:pointer;border:none;transition:all .2s; }
.btn-primary { background:var(--o);color:#fff;box-shadow:0 0 20px rgba(255,107,0,0.25); }
.btn-primary:hover { background:var(--o2);transform:translateY(-1px);box-shadow:0 0 30px rgba(255,107,0,0.4); }
.btn-ghost { background:transparent;color:var(--text2);border:1px solid var(--border); }
.btn-ghost:hover { color:var(--text);border-color:rgba(255,255,255,0.2); }
.btn-danger { background:rgba(239,68,68,0.15);color:var(--red);border:1px solid rgba(239,68,68,0.3); }
.btn-danger:hover { background:rgba(239,68,68,0.25); }
.btn-sm { padding:7px 16px;font-size:12.5px; }
.btn:disabled { opacity:0.5;cursor:not-allowed;transform:none !important; }

/* Cards */
.card { background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius); }
.card-header { padding:18px 22px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between; }
.card-header h3 { font-size:15px;font-weight:700;color:var(--text); }
.card-body { padding:22px; }

/* Form */
.form-group { margin-bottom:18px; }
.label { display:block;font-size:12px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.06em;margin-bottom:7px; }
.input { width:100%;padding:12px 16px;background:var(--bg3);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:14.5px;font-family:inherit;transition:border-color .18s; }
.input:focus { outline:none;border-color:var(--o);background:var(--bg4); }
.input::placeholder { color:var(--text3); }
textarea.input { resize:vertical;min-height:80px; }

/* Badge */
.badge { display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:99px;font-size:11.5px;font-weight:600; }
.badge-green { background:rgba(34,197,94,.12);color:var(--green); }
.badge-red { background:rgba(239,68,68,.12);color:var(--red); }
.badge-orange { background:var(--o3);color:var(--o); }
.badge-gray { background:rgba(255,255,255,.06);color:var(--text2); }

/* Layout sistema */
.sys-wrap { display:flex;min-height:100vh; }

/* Sidebar */
.sidebar { width:228px;flex-shrink:0;background:var(--bg2);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:50;transition:transform .25s; }
.sidebar-logo { padding:20px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px; }
.logo-mark { width:34px;height:34px;border-radius:8px;background:linear-gradient(135deg,var(--o),#c94f10);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:14px;color:#fff;box-shadow:0 0 14px rgba(255,107,0,0.3);flex-shrink:0; }
.logo-txt { font-size:15px;font-weight:800;color:var(--text);letter-spacing:-.01em; }
.sidebar-nav { flex:1;padding:14px 10px;display:flex;flex-direction:column;gap:3px;overflow-y:auto; }
.nav-section { font-size:10.5px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.08em;padding:12px 10px 5px; }
.nav-item { display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:var(--radius-sm);font-size:13.5px;font-weight:500;color:var(--text2);cursor:pointer;transition:all .15s; }
.nav-item:hover { background:var(--bg3);color:var(--text); }
.nav-item.active { background:var(--o3);color:var(--o);font-weight:600; }
.nav-item svg { width:17px;height:17px;flex-shrink:0; }
.sidebar-footer { padding:12px 10px;border-top:1px solid var(--border); }
.user-pill { display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm); }
.user-avatar { width:32px;height:32px;border-radius:50%;background:var(--o);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:#fff;flex-shrink:0; }
.user-name { font-size:13px;font-weight:600;color:var(--text); }
.user-role { font-size:11px;color:var(--text2); }

/* Main */
.sys-main { flex:1;margin-left:228px;display:flex;flex-direction:column;min-height:100vh; }
.topbar { padding:15px 28px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;background:rgba(10,10,10,0.95);backdrop-filter:blur(8px);position:sticky;top:0;z-index:40; }
.topbar-title { font-size:16px;font-weight:700;color:var(--text); }
.topbar-sub { font-size:12.5px;color:var(--text2);margin-top:1px; }
.page { padding:28px;flex:1; }

/* Stats row */
.stats-row { display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px; }
.stat-card { background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:20px; }
.stat-card .num { font-size:28px;font-weight:800;color:var(--text);letter-spacing:-.02em; }
.stat-card .lbl { font-size:12px;color:var(--text2);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px; }
.stat-card .ico { float:right;width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;margin-top:-2px; }
.ico-o { background:var(--o3); }
.ico-g { background:rgba(34,197,94,.1); }

/* Table */
.table-wrap { overflow-x:auto; }
table { width:100%;border-collapse:collapse;font-size:13.5px; }
thead tr { border-bottom:1px solid var(--border); }
thead th { padding:11px 16px;text-align:left;font-size:11.5px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap; }
tbody tr { border-bottom:1px solid rgba(255,255,255,.03);transition:background .12s; }
tbody tr:hover { background:rgba(255,255,255,.02); }
tbody tr:last-child { border-bottom:none; }
td { padding:13px 16px;vertical-align:middle; }

/* Breadcrumb */
.breadcrumb { display:flex;align-items:center;gap:6px;font-size:13.5px;color:var(--text2);margin-bottom:18px;flex-wrap:wrap; }
.breadcrumb a { color:var(--o);font-weight:600;cursor:pointer; }
.breadcrumb a:hover { text-decoration:underline; }
.breadcrumb .sep { color:var(--text3); }

/* File Grid */
.file-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px; }
.file-card { background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:18px 14px;display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;transition:all .2s;text-align:center; }
.file-card:hover { border-color:rgba(255,107,0,.4);background:var(--bg3);transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.4); }
.file-icon { width:48px;height:48px;border-radius:11px;display:flex;align-items:center;justify-content:center; }
.file-card-name { font-size:12.5px;font-weight:600;color:var(--text);word-break:break-word;line-height:1.4; }
.file-card-meta { font-size:11px;color:var(--text2); }
.folder-icon-bg { background:rgba(255,107,0,.12); }

/* Toolbar */
.toolbar { display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:12px;flex-wrap:wrap; }
.search-box { display:flex;align-items:center;gap:8px;background:var(--bg2);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:9px 14px;transition:border-color .18s; }
.search-box:focus-within { border-color:var(--o); }
.search-box svg { width:15px;height:15px;stroke:var(--text2);flex-shrink:0; }
.search-box input { background:none;border:none;color:var(--text);font-size:13.5px;font-family:inherit;min-width:180px; }
.search-box input:focus { outline:none; }
.view-toggle { display:flex;gap:4px; }
.view-toggle button { background:var(--bg2);border:1.5px solid var(--border);border-radius:7px;padding:7px;cursor:pointer;color:var(--text2);transition:all .15s; }
.view-toggle button.active,.view-toggle button:hover { border-color:var(--o);color:var(--o); }

/* Modal */
.modal-overlay { position:fixed;inset:0;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;z-index:200;backdrop-filter:blur(4px); }
.modal { background:var(--bg2);border:1px solid var(--border);border-radius:14px;width:100%;max-width:480px;box-shadow:var(--shadow);overflow:hidden; }
.modal-header { padding:18px 22px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between; }
.modal-header h3 { font-size:16px;font-weight:700; }
.modal-body { padding:22px; }
.modal-footer { padding:14px 22px;border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end; }
.btn-close { background:none;border:none;color:var(--text2);cursor:pointer;padding:4px;border-radius:6px;transition:color .15s; }
.btn-close:hover { color:var(--text); }

/* Toast */
.toasts { position:fixed;bottom:20px;right:20px;z-index:999;display:flex;flex-direction:column;gap:8px; }
.toast { background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:13px 18px;font-size:13.5px;font-weight:500;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow);animation:slideUp .22s ease; }
.toast.success { border-color:rgba(34,197,94,.35); }
.toast.error { border-color:rgba(239,68,68,.35); }
@keyframes slideUp { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }

/* Password strength */
.pw-meter { display:flex;gap:4px;margin-top:6px; }
.pw-bar { flex:1;height:3px;border-radius:99px;background:var(--bg4);transition:background .2s; }
.pw-bar.active-1 { background:var(--red); }
.pw-bar.active-2 { background:#f97316; }
.pw-bar.active-3 { background:#eab308; }
.pw-bar.active-4 { background:var(--green); }

/* Empty state */
.empty { text-align:center;padding:52px 24px;color:var(--text2); }
.empty svg { width:48px;height:48px;margin:0 auto 14px;opacity:.3; }
.empty h3 { font-size:15px;font-weight:700;color:var(--text);margin-bottom:5px; }

/* Mobile */
.menu-btn { display:none;background:none;border:none;color:var(--text);cursor:pointer; }
@media(max-width:900px) {
  .sidebar { transform:translateX(-100%); }
  .sidebar.open { transform:translateX(0); }
  .sys-main { margin-left:0; }
  .menu-btn { display:block; }
  .stats-row { grid-template-columns:1fr 1fr; }
  .file-grid { grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); }
}
@media(max-width:560px) {
  .stats-row { grid-template-columns:1fr; }
  .page { padding:18px; }
  .topbar { padding:12px 18px; }
}
