/* Invoff Docs - Modern UI Theme */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

:root {
  --font-sans: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";

  /* Light theme */
  --bg: #f7f9fc;
  --card-bg: #ffffff;
  --text: #1f2937;
  --muted: #6b7280;
  --border: #e5e7eb;

  --primary: #3b82f6; /* blue-500 */
  --primary-600: #2563eb;
  --secondary: #8b5cf6; /* violet-500 */
  --success: #10b981; /* emerald-500 */
  --warning: #f59e0b; /* amber-500 */
  --danger: #ef4444; /* red-500 */

  --shadow-sm: 0 1px 2px rgba(0,0,0,0.06);
  --shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1);
}

html[data-theme="dark"] {
  --bg: #0b1220;
  --card-bg: #0f172a; /* slate-900 */
  --text: #e5e7eb; /* slate-200 */
  --muted: #9ca3af;
  --border: #1f2937;

  --primary: #60a5fa;
  --primary-600: #3b82f6;
  --secondary: #a78bfa;
  --success: #34d399;
  --warning: #fbbf24;
  --danger: #f87171;

  --shadow-sm: 0 1px 2px rgba(0,0,0,0.5);
  --shadow: 0 10px 15px -3px rgba(0,0,0,0.5), 0 4px 6px -4px rgba(0,0,0,0.45);
}

/* Base */
html, body { height: 100%; }
body {
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-sans);
}

/* Navbar */
.app-navbar {
  backdrop-filter: saturate(180%) blur(8px);
  background: linear-gradient(90deg, rgba(59,130,246,0.12), rgba(139,92,246,0.12)) !important;
  background-color: rgba(247, 249, 252, 0.98) !important; /* Solid background with slight transparency */
  border-bottom: 1px solid var(--border);
  position: sticky;
  top: 0;
  z-index: 1090; /* Increased to be above modals */
  isolation: isolate; /* Creates a new stacking context */
}

/* Dark theme adjustment */
[data-theme="dark"] .app-navbar {
  background-color: rgba(11, 18, 32, 0.98) !important;
}

/* Modal and Backdrop */
.modal-backdrop {
  z-index: 1040; /* Below navbar */
  background-color: rgba(0, 0, 0, 0.5) !important;
}

.modal {
  z-index: 1080; /* Above backdrop but below navbar */
}

.modal.show {
  display: block;
  background-color: rgba(0, 0, 0, 0.5);
}

.modal-dialog {
  margin: 4rem auto; /* Center the modal with space from top */
}
.navbar-brand { font-weight: 700; letter-spacing: 0.2px; }

/* Navbar Navigation Links */
.navbar-nav .nav-link {
  color: var(--muted);
  font-weight: 500;
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  margin: 0 0.25rem;
  transition: all 0.2s ease;
}

.navbar-nav .nav-link:hover {
  color: var(--primary);
  background: rgba(59,130,246,0.08);
}

.navbar-nav .nav-link.active {
  color: var(--primary);
  background: rgba(59,130,246,0.15);
  font-weight: 600;
  box-shadow: 0 2px 4px rgba(59,130,246,0.1);
}

/* Buttons */
.btn-primary {
  background: var(--primary);
  border-color: var(--primary);
}
.btn-primary:hover { background: var(--primary-600); border-color: var(--primary-600); }
.btn-soft-primary { background: rgba(59,130,246,0.12); color: var(--primary); border: 0; }
.btn-soft-secondary { background: rgba(139,92,246,0.12); color: var(--secondary); border: 0; }
.btn-soft-success { background: rgba(16,185,129,0.12); color: var(--success); border: 0; }

/* Cards */
.card { background: var(--card-bg); border: 1px solid var(--border); box-shadow: var(--shadow-sm); }
.card-header { background: transparent; border-bottom: 1px solid var(--border); }
.card.hover-lift { transition: transform .2s ease, box-shadow .2s ease; }
.card.hover-lift:hover { transform: translateY(-4px); box-shadow: var(--shadow); }

/* Footer */
.app-footer { background: transparent; border-top: 1px solid var(--border); color: var(--muted); margin-top: auto; }

/* Header spacing */
.app-navbar { padding-top: .75rem !important; padding-bottom: .75rem !important; }
.container-fluid > .row > main { padding-top: 1rem; padding-bottom: 2rem; }

/* Method badges */
.method-badge { font-size: .72rem; font-weight: 700; padding: .2rem .5rem; border-radius: .375rem; }
.method-get { background: rgba(16,185,129,.16); color: var(--primary); }
.method-post { background: rgba(59,130,246,.16); color: var(--success); }
.method-put { background: rgba(245,158,11,.16); color: var(--warning); }
.method-patch { background: rgba(167,139,250,.18); color: var(--secondary); }
.method-delete { background: rgba(239,68,68,.16); color: var(--danger); }

/* Sidebar */
.sidebar-console, .sidebar {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: .75rem;
  box-shadow: var(--shadow-sm);
}
.sidebar-console { max-height: calc(100vh - 160px); overflow: auto; }
.sidebar .nav-link { color: var(--muted); border-radius: .5rem; }
.sidebar .nav-link.active, .sidebar .nav-link:hover { background: rgba(59,130,246,.12); color: var(--primary); }

/* Forms */
.form-control, .form-select { background: var(--card-bg); color: var(--text); border: 1px solid var(--border); }
.form-control::placeholder { color: var(--muted); }

/* Pills / Chips */
.chip { background: rgba(148,163,184,.18); color: var(--muted); border-radius: 999px; padding: .25rem .6rem; font-size: .8rem; }

/* Code blocks */
.code-editor, .json-viewer {
  background: #0b1220;
  border: 1px solid #111827;
  border-radius: .5rem;
}

/* Utilities */
.text-muted-2 { color: var(--muted) !important; }
.shadow-soft { box-shadow: var(--shadow-sm); }
.shadow-strong { box-shadow: var(--shadow); }
.rounded-xl { border-radius: 1rem; }
.gradient-hero { background: radial-gradient(1200px 300px at 10% -10%, rgba(59,130,246,.25), transparent), radial-gradient(900px 200px at 90% -20%, rgba(167,139,250,.25), transparent); }

/* Tables / Lists */
.list-group-item { background: var(--card-bg); color: var(--text); border-color: var(--border); }

/* Badges */
.badge-warning { background: rgba(245,158,11,.18); color: var(--warning); }

/* Footer spacing on small screens */
@media (max-width: 768px) {
  .app-footer .row > div { margin-bottom: .5rem; }
}

/* Navbar user dropdown */
.nav-user .avatar-circle {
  width: 28px; height: 28px; border-radius: 999px;
  background: linear-gradient(135deg, var(--primary), var(--secondary));
  color: #fff; display: inline-flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: .8rem;
}
.nav-user .avatar-sm { width: 24px; height: 24px; font-size: .72rem; }
.nav-user .nav-user-name { display: none; }
@media (min-width: 992px) { .nav-user .nav-user-name { display: inline; } }

.navbar .dropdown-menu { 
  background: var(--card-bg); 
  color: var(--text); 
  border: 1px solid var(--border); 
  box-shadow: var(--shadow); 
  border-radius: .75rem; 
  z-index: 2001; /* Higher than navbar to ensure it's on top */
  position: absolute;
  min-width: 15rem;
  margin-top: 0.5rem;
}
.navbar .dropdown-item { 
  color: var(--text);
  padding: 0.5rem 1rem;
  white-space: nowrap;
}
.navbar .dropdown-item:hover { background: rgba(59,130,246,.12); color: var(--primary); }
.dropdown-menu-scroll { max-height: 70vh; overflow-y: auto; }


