/* GeoCAD Bridge shared site navbar. Markup: scripts/site_nav.py. All classes are gbn-* so page styles don't collide. */
.gbn{--gbn-cyan:#18d7ff;--gbn-text:#f0f4ff;--gbn-muted:#9fb6cf;position:sticky;top:0;z-index:1000;box-sizing:border-box;display:flex;align-items:center;gap:0;width:auto;max-width:none;height:64px;margin:0;padding:0 clamp(16px,2.4vw,40px);background:rgba(8,20,36,.88);border:0;border-bottom:1px solid rgba(24,215,255,.12);border-radius:0;box-shadow:none;backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;font-size:14px;line-height:1.2;color:var(--gbn-text);text-align:start}
.gbn *,.gbn *:before,.gbn *:after{box-sizing:border-box}
.gbn:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent 0%,var(--gbn-cyan) 30%,var(--gbn-cyan) 70%,transparent 100%);opacity:.7;pointer-events:none}
.gbn a{text-decoration:none}
.gbn .gbn-logo{display:flex;align-items:center;gap:10px;flex-shrink:0;margin:0;margin-inline-end:clamp(16px,2.6vw,44px);padding:0;background:none;border:0;color:var(--gbn-text)}
.gbn .gbn-logo svg{width:34px;height:34px;flex-shrink:0;filter:drop-shadow(0 0 6px rgba(24,215,255,.55))}
.gbn .gbn-logo-text{font-size:17px;font-weight:700;letter-spacing:-.02em;line-height:1;color:var(--gbn-text);white-space:nowrap}
.gbn .gbn-logo-text b{color:var(--gbn-cyan);font-weight:700}
.gbn .gbn-links{display:flex;align-items:stretch;align-self:stretch;gap:2px;flex:1;min-width:0;margin:0;padding:0;background:none;border:0;width:auto;height:auto}
.gbn .gbn-item{position:relative;display:flex;align-items:stretch;margin:0;padding:0}
.gbn .gbn-link{position:relative;display:flex;align-items:center;gap:4px;height:auto;margin:0;padding:0 11px;background:transparent;border:0;border-radius:0;box-shadow:none;color:var(--gbn-muted);font:inherit;font-size:13.5px;font-weight:500;letter-spacing:normal;text-transform:none;white-space:nowrap;cursor:pointer;transition:color .18s}
.gbn .gbn-link:hover,.gbn .gbn-item:focus-within>.gbn-link{color:var(--gbn-text);background:transparent}
.gbn .gbn-link.is-active{color:var(--gbn-text);font-weight:600}
.gbn .gbn-link.is-active:after{content:"";position:absolute;left:8px;right:8px;bottom:0;height:2px;border-radius:2px;background:var(--gbn-cyan);box-shadow:0 0 8px rgba(24,215,255,.45)}
.gbn .gbn-chev{width:12px;height:12px;opacity:.6;transition:transform .2s,opacity .2s;flex-shrink:0}
.gbn .gbn-item:hover .gbn-chev,.gbn .gbn-item:focus-within .gbn-chev{transform:rotate(180deg);opacity:1}
.gbn .gbn-menu{position:absolute;top:100%;inset-inline-start:0;display:none;min-width:230px;margin:0;padding:8px;background:#0f2038;border:1px solid rgba(24,215,255,.28);border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.5);z-index:1001}
.gbn .gbn-menu:before{content:"";position:absolute;top:-1px;left:20px;right:20px;height:1px;background:var(--gbn-cyan);opacity:.4}
.gbn .gbn-item:hover .gbn-menu,.gbn .gbn-item:focus-within .gbn-menu{display:block}
.gbn .gbn-menu a,.gbn .gbn-menu button{display:block;width:100%;height:auto;margin:0;padding:9px 12px;text-align:start;background:transparent;border:0;border-radius:6px;box-shadow:none;color:#b9cbe0;font:inherit;font-size:13px;font-weight:400;line-height:1.3;white-space:nowrap;cursor:pointer}
.gbn .gbn-menu a:hover,.gbn .gbn-menu button:hover,.gbn .gbn-menu a:focus-visible,.gbn .gbn-menu button:focus-visible{background:rgba(24,215,255,.12);color:var(--gbn-text)}
.gbn .gbn-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;margin:0;margin-inline-start:20px}
.gbn .gbn-search{width:34px;height:34px;display:grid;place-items:center;margin:0;padding:0;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--gbn-muted);transition:color .16s,background .16s,border-color .16s}
.gbn .gbn-search svg{width:16px;height:16px}
.gbn .gbn-search:hover,.gbn .gbn-search:focus-visible{color:var(--gbn-text);background:rgba(255,255,255,.05);border-color:rgba(24,215,255,.12)}
.gbn .gbn-lang{margin:0;padding:0 6px;color:var(--gbn-muted);font-size:13px;font-weight:500;white-space:nowrap}
.gbn .gbn-lang:hover,.gbn .gbn-lang:focus-visible{color:var(--gbn-cyan)}
.gbn .gbn-btn{display:inline-flex;align-items:center;height:34px;margin:0;padding:0 16px;border-radius:6px;font:inherit;font-size:13px;font-weight:500;line-height:1;white-space:nowrap;text-transform:none;cursor:pointer;transition:background .16s,border-color .16s,box-shadow .16s}
.gbn .gbn-btn-outline{background:transparent;border:1px solid rgba(24,215,255,.28);color:var(--gbn-cyan)}
.gbn .gbn-btn-outline:hover,.gbn .gbn-btn-outline:focus-visible{background:rgba(24,215,255,.15);border-color:var(--gbn-cyan);box-shadow:0 0 12px rgba(24,215,255,.18)}
.gbn .gbn-btn-solid{background:var(--gbn-cyan);border:1px solid var(--gbn-cyan);color:#06182a;font-weight:600}
.gbn .gbn-btn-solid:hover,.gbn .gbn-btn-solid:focus-visible{background:#4fe2ff;border-color:#4fe2ff;box-shadow:0 0 18px rgba(24,215,255,.35);color:#06182a}
@media(max-width:1440px){.gbn .gbn-links{gap:0}.gbn .gbn-link{padding:0 8px;font-size:13px}.gbn .gbn-logo{margin-inline-end:20px}.gbn .gbn-actions{margin-inline-start:12px}.gbn .gbn-btn{padding:0 13px}}
@media(max-width:1300px){.gbn .gbn-link{padding:0 6px;font-size:12px}.gbn .gbn-logo{margin-inline-end:12px}.gbn .gbn-logo-text{font-size:16px}.gbn .gbn-actions{margin-inline-start:8px;gap:6px}.gbn .gbn-btn{padding:0 11px;font-size:12px}}
@media(max-width:1120px){.gbn .gbn-chev{display:none}.gbn .gbn-search{display:none}}
@media(max-width:980px){.gbn .gbn-link{padding:0 4px;font-size:11px}.gbn .gbn-logo svg{width:28px;height:28px}.gbn .gbn-logo-text{font-size:14px}.gbn .gbn-btn{padding:0 9px;font-size:11.5px}}
@media(max-width:900px){.gbn{height:auto;flex-wrap:wrap;padding:10px 14px 0;row-gap:6px}.gbn .gbn-logo{margin-inline-end:auto}.gbn .gbn-actions{margin-inline-start:0;gap:6px}.gbn .gbn-btn{height:32px;padding:0 10px}.gbn .gbn-links{order:3;flex-basis:100%;overflow-x:auto;scrollbar-width:none}.gbn .gbn-links::-webkit-scrollbar{display:none}.gbn .gbn-link{height:42px;padding:0 10px;font-size:13px}.gbn .gbn-chev{display:none}.gbn .gbn-search{display:grid}.gbn .gbn-menu,.gbn .gbn-item:hover .gbn-menu,.gbn .gbn-item:focus-within .gbn-menu{display:none}}
@media(max-width:420px){.gbn .gbn-logo-text{font-size:14px}.gbn .gbn-logo svg{width:28px;height:28px}.gbn .gbn-btn-outline{display:none}}
@media print{.gbn{display:none}}
/* Help → How to Use flyout (opens toward the page centre so it never leaves the viewport) */
.gbn .gbn-sub{position:relative}
.gbn .gbn-sub>.gbn-sub-link{display:flex;align-items:center;justify-content:space-between;gap:10px}
.gbn .gbn-sub>.gbn-sub-link span{opacity:.6;transform:scaleX(-1)}
.gbn .gbn-submenu{position:absolute;top:-9px;inset-inline-end:calc(100% + 6px);display:none;min-width:220px;padding:8px;background:#0f2038;border:1px solid rgba(24,215,255,.28);border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.5)}
.gbn .gbn-submenu:after{content:"";position:absolute;top:0;bottom:0;inset-inline-start:100%;width:8px}
.gbn .gbn-sub:hover>.gbn-submenu,.gbn .gbn-sub:focus-within>.gbn-submenu{display:block}
.gbn .gbn-sub:hover>.gbn-sub-link,.gbn .gbn-sub:focus-within>.gbn-sub-link{background:rgba(24,215,255,.12);color:var(--gbn-text)}
[dir="rtl"] .gbn .gbn-sub>.gbn-sub-link span{transform:none}
