/* ── FooEngine Internal Tools — Nav & Shell ──────────────────────────────────
   App shell layout: sidebar nav + main content area.
──────────────────────────────────────────────────────────────────────────── */

.app {
  display:   flex;
  height:    100vh;
  overflow:  hidden;
}

/* ── Sidebar ── */
.nav {
  width:         var(--nav-width);
  background:    var(--surface);
  border-right:  1px solid var(--border);
  display:       flex;
  flex-direction: column;
  flex-shrink:   0;
}

.nav-logo {
  padding:       20px 18px 16px;
  border-bottom: 1px solid var(--border);
}
.nav-logo .wordmark {
  font-family:    var(--font-display);
  font-weight:    600;
  font-size:      15px;
  color:          var(--brand-blue);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.nav-logo .sub {
  font-family:    var(--font-body);
  font-weight:    300;
  font-size:      10px;
  color:          var(--text-muted);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-top:     2px;
}

.nav-section-label {
  font-family:    var(--font-display);
  font-weight:    600;
  font-size:      9px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color:          var(--text-dim);
  padding:        18px 18px 6px;
}

.nav-item {
  display:       flex;
  align-items:   center;
  gap:           10px;
  padding:       9px 18px;
  cursor:        pointer;
  border-left:   2px solid transparent;
  transition:    background 0.15s, border-color 0.15s, color 0.15s;
  font-size:     13px;
  color:         var(--text-muted);
  user-select:   none;
  text-decoration: none;
}
.nav-item:hover {
  background: var(--surface-2);
  color:      var(--text);
  text-decoration: none;
}
.nav-item.active {
  border-left-color: var(--brand-blue);
  background:        var(--surface-2);
  color:             var(--text);
}
.nav-item .nav-icon {
  width:     16px;
  height:    16px;
  opacity:   0.6;
  flex-shrink: 0;
}
.nav-item.active .nav-icon { opacity: 1; }

/* ── Nav footer / auth state ── */
.nav-footer {
  margin-top:   auto;
  padding:      14px 18px;
  border-top:   1px solid var(--border);
}
.auth-status {
  display:     flex;
  align-items: center;
  gap:         8px;
  font-size:   12px;
  color:       var(--text-muted);
}
.auth-dot {
  width:         7px;
  height:        7px;
  border-radius: 50%;
  background:    var(--text-dim);
  flex-shrink:   0;
  transition:    background 0.3s;
}
.auth-dot.connected { background: var(--success); }
.auth-dot.error     { background: var(--error); }

#authStatusText { font-size: 12px; }
#authName       { font-size: 11px; color: var(--text-muted); margin-top: 2px; }

/* ── Main content area ── */
.main {
  flex:       1;
  overflow-y: auto;
  padding:    32px 36px;
}

/* ── Page header ── */
.page-header {
  margin-bottom: 28px;
}
.page-header h1 {
  font-family:    var(--font-display);
  font-weight:    600;
  font-size:      18px;
  letter-spacing: 0.02em;
  color:          var(--text);
}
.page-header p {
  color:       var(--text-muted);
  margin-top:  5px;
  font-size:   13px;
  line-height: 1.5;
}

/* ── Auth fallback overlay ── */
.auth-overlay {
  display:         none;
  position:        fixed;
  inset:           0;
  background:      rgba(17,18,18,0.85);
  backdrop-filter: blur(4px);
  z-index:         100;
  align-items:     center;
  justify-content: center;
}
.auth-overlay.visible { display: flex; }

.auth-card {
  background:    var(--surface);
  border:        1px solid var(--border);
  border-radius: 10px;
  padding:       36px 40px;
  text-align:    center;
  max-width:     340px;
}
.auth-card .logo-big {
  font-family:    var(--font-display);
  font-weight:    600;
  font-size:      20px;
  color:          var(--brand-blue);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom:  4px;
}
.auth-card .logo-sub {
  font-size:      11px;
  color:          var(--text-dim);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom:  24px;
}
.auth-card p {
  color:         var(--text-muted);
  font-size:     13px;
  line-height:   1.6;
  margin-bottom: 22px;
}

/* ── Placeholder / coming soon ── */
.placeholder {
  display:         flex;
  flex-direction:  column;
  align-items:     center;
  justify-content: center;
  height:          60vh;
  color:           var(--text-dim);
  gap:             10px;
  text-align:      center;
}
.placeholder svg { opacity: 0.2; }
.placeholder p   { font-size: 13px; }
