:root{
      --brand:50 91 172; --accent:16 185 129; --ink:15 23 42; --muted:100 116 139; --card:255,255,255; --ring:50,91,172;
      --focus: 0 0 0 3px rgba(50,91,172,.45);
    }
    html.dark{
      --brand:50 91 172; --accent:34 211 238; --ink:229 231 235; --muted:156 163 175; --card:30,41,59; --ring:34,211,238;
    }
    ::-webkit-scrollbar{height:10px;width:10px}
    ::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}
    html.dark ::-webkit-scrollbar-thumb{background:#334155}
    .btn{
      padding:0.5rem 0.75rem;
      border-radius:0.5rem;
      border-width:1px;
      border-style:solid;
      border-color:#e2e8f0;
      transition:all .15s ease;
    }
    html.dark .btn{ border-color:#334155; }
    .btn:hover{ background-color:#f8fafc; }
    html.dark .btn:hover{ background-color:#1e293b; }
    .btn-brand{
      padding:0.5rem 0.875rem;
      border-radius:0.5rem;
      color:#fff;
      font-weight:600;
      background-color:rgb(var(--brand) / 1);
      box-shadow:0 10px 24px rgba(2,6,23,.06);
      transition:filter .15s ease;
    }
    .btn-brand:hover{ filter:brightness(1.1); }
    .chip{
      padding:0.125rem 0.5rem;
      border-radius:9999px;
      font-size:11px;
      line-height:1rem;
      border-width:1px;
      border-style:solid;
    }
    .glass{ background: linear-gradient(180deg, rgba(var(--card),.85), rgba(var(--card),.6)); backdrop-filter: blur(10px); }
    .ring-focus:focus-visible{ outline: none; box-shadow: var(--focus); }
    .pill{
      padding:0.25rem 0.5rem;
      border-radius:9999px;
      font-size:0.75rem;
      line-height:1rem;
    }
    .tabv{display:none}
    .tabv.active{display:block}
    .modal{ display:none; }
    .modal.open{ display:flex; }


.lbl { display: block; font-size: 0.75rem; font-weight: 700; color: #64748b; margin-bottom: 0.25rem; text-transform: uppercase; }
.inp, .inp-sm { width: 100%; padding: 0.5rem; border-radius: 0.5rem; border: 1px solid #e2e8f0; background: transparent; font-size: 0.875rem; }
.dark .inp, .dark .inp-sm { border-color: #334155; color: white; }
.btn-dashed { border: 2px dashed #cbd5e1; color: #64748b; border-radius: 0.75rem; padding: 0.75rem; font-weight: 600; transition: all 0.2s; }
.btn-dashed:hover { border-color: #4f46e5; color: #4f46e5; background: #eef2ff; }
.dark .btn-dashed:hover { background: #1e293b; }
