/* ═══════════════════════════════════════════════════════════════════════════
   Shared Navigation — Top Navbar + Footer
   Colors: product-theme.css tokens only (data-theme dark|light)
   ═══════════════════════════════════════════════════════════════════════════ */

.ghm-navbar{
  position:fixed;top:0;left:0;right:0;z-index:9000;
  background:var(--pt-nav-bg);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid var(--pt-border);
  padding:0 18px;
  display:flex;align-items:center;gap:0;
  height:50px;
  font-family:var(--pt-font);
  box-shadow:var(--pt-shadow-sm);
  color:var(--pt-nav-text);
}

.ghm-navbar .ghm-brand{
  display:flex;align-items:center;gap:8px;
  text-decoration:none;color:var(--pt-nav-text);
  font-weight:900;font-size:15px;letter-spacing:.3px;
  padding-right:16px;margin-right:4px;
  border-right:1px solid var(--pt-border);
  flex-shrink:0;white-space:nowrap;
}
.ghm-navbar .ghm-brand .ghm-logo{font-size:18px}
.ghm-navbar .ghm-brand:hover{color:var(--pt-accent);text-decoration:none}

.ghm-navbar .ghm-nav-links{
  display:flex;align-items:center;gap:2px;
  flex:1;min-width:0;
  overflow-x:auto;overflow-y:hidden;
  padding:0 8px 3px;
  scrollbar-width:thin;
  scrollbar-color:var(--pt-text-muted) transparent;
}
.ghm-navbar .ghm-nav-links::-webkit-scrollbar{height:3px}
.ghm-navbar .ghm-nav-links::-webkit-scrollbar-thumb{background:var(--pt-text-muted);border-radius:2px}

.ghm-navbar .ghm-nav-link{
  display:flex;align-items:center;gap:5px;
  padding:7px 12px;border-radius:var(--pt-radius-sm);
  font-size:12.5px;font-weight:650;
  color:var(--pt-text-muted);text-decoration:none;
  white-space:nowrap;
  border:1px solid transparent;
  transition:color .15s ease, background .15s ease, border-color .15s ease;
}
.ghm-navbar .ghm-nav-link:hover{
  color:var(--pt-nav-text);background:var(--pt-primary-dim);border-color:var(--pt-border);text-decoration:none;
}
.ghm-navbar .ghm-nav-link.active{
  color:var(--pt-accent);background:var(--pt-accent-dim);border-color:var(--pt-accent-border);
}
.ghm-navbar .ghm-nav-link .ghm-nl-icon{font-size:14px;flex-shrink:0}

.ghm-navbar .ghm-nav-right{
  display:flex;align-items:center;gap:6px;
  margin-left:auto;flex-shrink:0;
  padding-left:8px;
}

.ghm-navbar .ghm-nav-btn{
  display:flex;align-items:center;gap:5px;
  padding:7px 12px;border-radius:var(--pt-radius-sm);
  font-size:12px;font-weight:700;
  cursor:pointer;white-space:nowrap;
  border:1px solid var(--pt-border);
  background:var(--pt-surface-2);
  color:var(--pt-nav-text);text-decoration:none;
  font-family:inherit;
  transition:color .15s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.ghm-navbar .ghm-nav-btn:hover{border-color:var(--pt-primary-border);background:var(--pt-primary-dim);text-decoration:none}
.ghm-navbar .ghm-nav-btn.save{
  background:var(--pt-st-active-bg);border-color:var(--pt-st-active-bd);color:var(--pt-st-active-fg);
}
.ghm-navbar .ghm-nav-btn.save:hover{filter:brightness(1.05)}
.ghm-navbar .ghm-nav-btn.ghm-nav-btn-primary{
  background:var(--pt-primary-dim);
  border-color:var(--pt-primary-border);
  color:var(--pt-primary);
}
.ghm-navbar .ghm-nav-btn.ghm-theme-btn{
  min-width:36px;justify-content:center;padding:6px 10px;font-size:15px;line-height:1;
  flex-shrink:0;position:relative;z-index:1;
}

.ghm-guest-auth{display:flex;align-items:center;gap:6px}

.ghm-user-chip{
  display:flex;align-items:center;gap:6px;
  padding:3px 6px 3px 3px;
  border-radius:999px;
  border:1px solid var(--pt-border);
  background:var(--pt-surface-2);
  flex-shrink:0;max-width:min(240px, 32vw);
}
.ghm-user-avatar{
  width:26px;height:26px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,var(--pt-primary),var(--pt-tp-tmgd-fg));
  color:var(--pt-accent-contrast,#fff);display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:.72rem;
}
.ghm-user-meta{
  display:flex;flex-direction:column;min-width:0;line-height:1.15;
}
.ghm-user-name{
  font-size:11px;font-weight:600;color:var(--pt-nav-text);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.ghm-user-role{
  font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;
  color:var(--pt-text-muted);
}
.ghm-user-logout{
  background:transparent;border:none;color:var(--pt-text-muted);
  font-size:10px;font-weight:600;cursor:pointer;padding:4px 6px;border-radius:999px;
  font-family:inherit;flex-shrink:0;transition:all .15s;
}
.ghm-user-logout:hover{background:var(--pt-danger);color:var(--pt-accent-contrast,#fff)}

.ghm-hamburger{
  display:none;
  flex-direction:column;gap:4px;
  padding:8px;cursor:pointer;border:none;background:none;
  margin-left:auto;
}
.ghm-hamburger span{display:block;width:18px;height:2px;background:var(--pt-text-muted);border-radius:1px;transition:.2s}

.ghm-mobile-drawer{
  display:none;
  position:fixed;top:50px;left:0;right:0;bottom:0;
  background:var(--pt-bg);
  z-index:8999;
  padding:16px;
  overflow-y:auto;
  flex-direction:column;gap:4px;
}
.ghm-mobile-drawer.open{display:flex}
.ghm-mobile-drawer .ghm-nav-link{
  padding:12px 14px;font-size:14px;border-radius:10px;
  border:1px solid var(--pt-border);
}
.ghm-mobile-drawer .ghm-nav-link:hover{background:var(--pt-primary-dim)}
.ghm-mobile-drawer .ghm-drawer-section{
  font-size:11px;color:var(--pt-text-muted);font-weight:700;text-transform:uppercase;letter-spacing:.4px;
  padding:12px 14px 4px;
}

.ghm-footer{
  border-top:1px solid var(--pt-border);
  background:var(--pt-surface);
  padding:24px 20px 28px;
  margin-top:48px;
  font-family:var(--pt-font);
}
.ghm-footer-inner{
  max-width:1200px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;
}
.ghm-footer-col h4{
  font-size:11px;color:var(--pt-text-muted);font-weight:800;text-transform:uppercase;letter-spacing:.4px;
  margin-bottom:10px;
}
.ghm-footer-col a{
  display:flex;align-items:center;gap:6px;
  font-size:12px;color:var(--pt-muted-2);text-decoration:none;
  padding:4px 0;transition:color .15s;
}
.ghm-footer-col a:hover{color:var(--pt-nav-text);text-decoration:none}
.ghm-footer-col .ghm-fl-icon{font-size:13px}
.ghm-footer-bottom{
  max-width:1200px;margin:14px auto 0;
  padding-top:12px;border-top:1px solid var(--pt-border);
  display:flex;align-items:center;justify-content:space-between;
  font-size:11px;color:var(--pt-muted-2);
}
.ghm-footer-bottom a{color:var(--pt-muted-2);text-decoration:none;font-size:11px}
.ghm-footer-bottom a:hover{color:var(--pt-text-muted)}

[data-theme="light"] .ghm-navbar .ghm-nav-link.active {
  color: var(--pt-primary);
  background: var(--pt-primary-dim);
  border-color: var(--pt-primary-border);
}
[data-theme="light"] .ghm-navbar .ghm-brand:hover,
[data-theme="light"] .ghm-navbar .ghm-nav-link:hover,
[data-theme="light"] .ghm-footer-col a:hover {
  color: var(--pt-primary);
}

@media(max-width:860px){
  .ghm-navbar .ghm-nav-links{display:none}
  .ghm-hamburger{display:flex}
  .ghm-navbar .ghm-nav-right .ghm-nav-btn:not(.save):not(.ghm-theme-btn){display:none}
  .ghm-user-chip .ghm-user-meta{display:none}
  .ghm-footer-inner{grid-template-columns:1fr 1fr;gap:16px}
}
@media(max-width:520px){
  .ghm-navbar{padding:0 10px}
  .ghm-navbar .ghm-brand{font-size:13px;padding-right:10px}
  .ghm-navbar .ghm-brand .ghm-brand-text{display:none}
  .ghm-navbar .ghm-nav-right{gap:4px;padding-left:4px}
  .ghm-navbar .ghm-nav-btn.save{padding:6px 10px;font-size:11px}
  .ghm-navbar .ghm-user-chip{max-width:none;padding:2px 4px 2px 2px}
  .ghm-navbar .ghm-user-logout{padding:4px 5px;font-size:9px}
}
@media(max-width:480px){
  .ghm-footer-inner{grid-template-columns:1fr}
  .ghm-footer-bottom{flex-direction:column;gap:6px;text-align:center}
}

body.ghm-has-navbar{padding-top:50px}
