    /* Header — compact bar */
    .header{padding:10px 20px;display:flex;align-items:center;gap:12px;
      border-bottom:1px solid rgba(255,255,255,0.06);
      backdrop-filter:blur(20px);background:rgba(18,18,32,0.75);position:sticky;top:0;z-index:100}
    .header h1{font-size:18px;font-weight:700;white-space:nowrap;
      background:linear-gradient(135deg,#a78bfa,#38bdf8,#fbbf24);background-size:200% 200%;
      animation:gshift 6s ease infinite;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
    @keyframes gshift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
    .header .sub{color:var(--text-dim);font-size:11px;margin-left:8px}

    /* Sidebar nav */
    .sidebar{width:64px;background:rgba(18,18,32,0.9);backdrop-filter:blur(16px);
      border-right:1px solid rgba(255,255,255,0.06);display:flex;flex-direction:column;
      align-items:center;padding:10px 0;gap:4px;overflow-y:auto;flex-shrink:0}
    .sidebar button{width:48px;height:48px;border-radius:12px;border:1px solid rgba(255,255,255,0.06);
      background:var(--surface);color:var(--text-dim);cursor:pointer;font-family:var(--font);
      font-size:9px;font-weight:600;display:flex;flex-direction:column;align-items:center;
      justify-content:center;gap:2px;transition:all .2s;padding:0;line-height:1.2}
    .sidebar button svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.5;flex-shrink:0}
    .sidebar button:hover{border-color:var(--accent);color:var(--text);background:var(--surface2)}
    .sidebar button.active{background:linear-gradient(135deg,rgba(167,139,250,0.3),rgba(56,189,248,0.2));
      color:#fff;border-color:var(--accent);box-shadow:0 0 12px rgba(167,139,250,0.15)}
    .sidebar .sb-sep{width:32px;height:1px;background:rgba(255,255,255,0.06);margin:4px 0}

    /* 3-column layout → becomes 4-column when drawer open */
    .app{display:flex;height:calc(100vh - 46px)}
    .panel-left{flex:1;overflow-y:auto;padding:16px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.1) transparent}
    .panel-right{flex:1;display:flex;flex-direction:row;border-left:1px solid rgba(255,255,255,0.06);background:#141424}
    #mapWrap{flex:1;position:relative;min-height:0}
    #mapContainer{width:100%;height:100%;background:#141424}

    .panel-left::-webkit-scrollbar{width:4px}
    .panel-left::-webkit-scrollbar-track{background:transparent}
    .panel-left::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.08);border-radius:2px}
