/* ---------------------------------------------------------------------------
   Worksy — customer panel theme
   Tokens and components lifted from the Claude Design source so the views stay
   readable instead of carrying the design's inline styles.
   --------------------------------------------------------------------------- */

:root {
  --w-bg:        #05140D;
  --w-side:      #071B12;
  --w-head:      #06180F;
  --w-card:      #0A2317;
  --w-card-2:    #0E3020;

  --w-accent:    #C7F470;
  --w-accent-hi: #DBFF95;

  --w-fg:        #E9F2EA;
  --w-fg-2:      #D6E4D8;
  --w-dim:       #8FA894;
  --w-dim-2:     #7E9A86;
  --w-dim-3:     #6F8B77;
  --w-dim-4:     #5F7A67;

  --w-danger:    #EB3E3E;
  --w-danger-fg: #FF7A7A;
  --w-warn:      #E9C46A;

  --w-line:      rgba(255,255,255,0.07);
  --w-line-2:    rgba(199,244,112,0.10);
  --w-fill:      rgba(255,255,255,0.035);

  --w-r:         11px;
  --w-r-lg:      20px;

  --w-sans:      Inter, Helvetica, Arial, sans-serif;
  --w-display:   'Inter Tight', Inter, sans-serif;
  --w-mono:      'JetBrains Mono', ui-monospace, monospace;
}

* { box-sizing: border-box; }

html, body {
  margin: 0; padding: 0;
  background: var(--w-bg); color: var(--w-fg);
  font-family: var(--w-sans); font-size: 14px;
  -webkit-font-smoothing: antialiased;
}

a { color: var(--w-accent); text-decoration: none; }
a:hover { color: var(--w-accent-hi); }
::selection { background: var(--w-accent); color: var(--w-bg); }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: rgba(199,244,112,0.18); border-radius: 99px; border: 3px solid var(--w-bg); }
::-webkit-scrollbar-track { background: transparent; }
input, select, button, textarea { font-family: inherit; }

@keyframes w-pulse { 0%,100% { opacity: .35; transform: scale(1); } 50% { opacity: 1; transform: scale(1.35); } }

/* --------------------------------------------------------------- typography */
.w-display { font-family: var(--w-display); font-weight: 600; letter-spacing: -0.02em; }
.w-mono    { font-family: var(--w-mono); }
.w-kicker  { font-family: var(--w-mono); font-size: 10px; letter-spacing: .12em;
             color: var(--w-dim-3); text-transform: uppercase; }
.w-label   { font-family: var(--w-mono); font-size: 9.5px; letter-spacing: .14em;
             color: var(--w-dim-2); text-transform: uppercase; }
.w-dim     { color: var(--w-dim); }

/* -------------------------------------------------------------------- shell */
.w-shell   { display: grid; grid-template-columns: 252px minmax(0,1fr); height: 100vh; overflow: hidden; }
.w-side    { display: flex; flex-direction: column; background: var(--w-side);
             border-right: 1px solid var(--w-line-2); overflow: hidden; }
.w-brand   { display: flex; align-items: center; gap: 12px; padding: 22px 22px 20px;
             border-bottom: 1px solid rgba(199,244,112,0.08); }
.w-mark    { width: 38px; height: 38px; border-radius: 11px; background: var(--w-accent);
             display: flex; align-items: center; justify-content: center; gap: 3px; flex-shrink: 0; overflow: hidden; }
.w-mark i  { width: 4px; background: var(--w-bg); border-radius: 1px; transform: skewX(-18deg); display: block; }
.w-mark img{ width: 100%; height: 100%; object-fit: contain; }

.w-nav     { flex: 1; overflow-y: auto; padding: 18px 12px 12px; display: flex; flex-direction: column; gap: 22px; }
.w-navgrp  { display: flex; flex-direction: column; gap: 4px; }
.w-navgrp > .w-label { padding: 0 12px 8px; font-size: 9.5px; letter-spacing: .16em; color: var(--w-dim-4); }
.w-navitem { position: relative; display: flex; align-items: center; gap: 11px; padding: 9px 12px;
             border-radius: 10px; cursor: pointer; user-select: none; color: var(--w-fg);
             font-size: 13.5px; font-weight: 500; letter-spacing: -0.01em; }
.w-navitem:hover { background: rgba(255,255,255,0.045); color: var(--w-fg); }
.w-navitem.is-on { background: rgba(199,244,112,0.13); border: 1px solid rgba(199,244,112,0.28); }
.w-navitem .w-glyph { width: 20px; display: flex; justify-content: center;
                      font-family: var(--w-mono); font-size: 11px; color: var(--w-accent); }
.w-navitem .w-count { font-family: var(--w-mono); font-size: 10px; padding: 2px 7px; border-radius: 99px;
                      background: rgba(235,62,62,0.16); color: var(--w-danger-fg);
                      border: 1px solid rgba(235,62,62,0.32); }

.w-tier    { margin: 12px; padding: 16px; border-radius: 14px;
             background: linear-gradient(160deg, var(--w-card-2), var(--w-card));
             border: 1px solid rgba(199,244,112,0.14); }
.w-bar     { height: 5px; border-radius: 99px; background: rgba(255,255,255,0.09); margin-top: 12px; overflow: hidden; }
.w-bar > i { display: block; height: 100%; background: var(--w-accent); border-radius: 99px; }

.w-who     { display: flex; align-items: center; gap: 10px; padding: 14px 16px;
             border-top: 1px solid rgba(199,244,112,0.08); }
.w-avatar  { width: 30px; height: 30px; border-radius: 9px; background: var(--w-accent); color: var(--w-bg);
             display: flex; align-items: center; justify-content: center;
             font-family: var(--w-mono); font-size: 11px; font-weight: 700; }

/* ------------------------------------------------------------------- header */
.w-main    { display: flex; flex-direction: column; min-width: 0; overflow-x: auto; overflow-y: hidden; }
.w-topbar  { display: flex; align-items: center; gap: 20px; padding: 0 32px; height: 68px;
             border-bottom: 1px solid rgba(199,244,112,0.09); background: var(--w-head); flex-shrink: 0; }
.w-body    { flex: 1; overflow-y: auto; padding: 28px 32px 56px; }
.w-search  { flex: 1; max-width: 420px; display: flex; align-items: center; gap: 10px; height: 38px;
             padding: 0 12px; border-radius: var(--w-r); background: var(--w-fill);
             border: 1px solid var(--w-line); }
.w-search input { flex: 1; background: transparent; border: 0; outline: 0; color: var(--w-fg); font-size: 13px; }
.w-search:focus-within { border-color: rgba(199,244,112,0.45); }
.w-bal     { display: flex; align-items: center; gap: 10px; height: 38px; padding: 0 14px;
             border-radius: var(--w-r); background: rgba(199,244,112,0.10);
             border: 1px solid rgba(199,244,112,0.22); white-space: nowrap; }

/* -------------------------------------------------------------------- cards */
.w-card    { border-radius: var(--w-r-lg); background: var(--w-card); border: 1px solid var(--w-line); }
.w-card-p  { padding: 22px; }
.w-grid    { display: grid; gap: 20px; }

/* ------------------------------------------------------------------ buttons */
.w-btn     { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 38px;
             padding: 0 16px; border-radius: var(--w-r); border: 1px solid var(--w-line);
             background: transparent; color: var(--w-fg-2); font-size: 13px; font-weight: 500;
             cursor: pointer; text-decoration: none; }
.w-btn:hover { border-color: rgba(199,244,112,0.45); color: var(--w-fg); }
.w-btn-pri { background: var(--w-accent); border-color: var(--w-accent); color: var(--w-bg); font-weight: 600; }
.w-btn-pri:hover { background: var(--w-accent-hi); border-color: var(--w-accent-hi); color: var(--w-bg); }
.w-btn-sm  { height: 30px; padding: 0 12px; font-size: 12px; border-radius: 9px; }
.w-btn-danger:hover { border-color: rgba(235,62,62,0.5); color: var(--w-danger-fg); }
.w-btn-block { display: flex; width: 100%; }
.w-btn[disabled], .w-btn.is-off { opacity: .45; cursor: not-allowed; }

/* ------------------------------------------------------------------- inputs */
.w-field   { display: block; width: 100%; height: 46px; padding: 0 14px; border-radius: 12px;
             background: var(--w-fill); border: 1px solid rgba(255,255,255,0.09);
             color: var(--w-fg); font-size: 14px; outline: 0; }
.w-field:focus { border-color: var(--w-accent); }
select.w-field { appearance: none; background-image: none; }
textarea.w-field { height: auto; padding: 12px 14px; }

/* -------------------------------------------------------------------- pills */
.w-pill    { position: relative; height: 34px; padding: 0 14px; border-radius: 99px;
             border: 1px solid rgba(255,255,255,0.10); display: inline-flex; align-items: center; gap: 8px;
             cursor: pointer; font-size: 12.5px; font-weight: 500; color: var(--w-fg-2); }
.w-pill:hover { border-color: rgba(199,244,112,0.45); }
.w-pill.is-on { background: var(--w-accent); border-color: var(--w-accent); color: var(--w-bg); }
.w-pill .w-n { font-family: var(--w-mono); font-size: 10.5px; opacity: .75; }

/* ------------------------------------------------------------------- tables */
.w-table   { width: 100%; }
.w-tr      { display: grid; gap: 16px; align-items: center; padding: 14px 22px;
             border-bottom: 1px solid rgba(255,255,255,0.05); }
.w-thead   { background: rgba(255,255,255,0.028); border-bottom: 1px solid var(--w-line);
             font-family: var(--w-mono); font-size: 9.5px; letter-spacing: .14em;
             color: var(--w-dim-3); text-transform: uppercase; }
.w-tbody .w-tr:hover { background: rgba(199,244,112,0.045); }
.w-mono-cell { font-family: var(--w-mono); font-size: 12px; color: var(--w-fg-2); }
.w-prodmark { width: 32px; height: 32px; border-radius: 9px; background: rgba(255,255,255,0.06);
              display: flex; align-items: center; justify-content: center; font-family: var(--w-mono);
              font-size: 10px; font-weight: 700; color: var(--w-accent); flex-shrink: 0; }

/* ------------------------------------------------------------------ badges */
.w-chip    { display: inline-flex; align-items: center; padding: 2px 8px; border-radius: 99px;
             font-size: 11px; font-family: var(--w-mono); }
.w-chip-ok   { background: rgba(199,244,112,0.14); color: var(--w-accent); }
.w-chip-warn { background: rgba(233,196,106,0.16); color: var(--w-warn); }
.w-chip-bad  { background: rgba(235,62,62,0.16); color: var(--w-danger-fg); }
.w-chip-mute { background: rgba(255,255,255,0.06); color: var(--w-dim); }
.w-dot     { width: 6px; height: 6px; border-radius: 99px; display: inline-block; }

/* ------------------------------------------------------------------ notices */
.w-note    { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-radius: 14px;
             background: rgba(255,255,255,0.035); border: 1px solid var(--w-line); font-size: 13px; }
.w-note-ok  { border-color: rgba(199,244,112,0.3); background: rgba(199,244,112,0.08); }
.w-note-bad { border-color: rgba(235,62,62,0.35); background: rgba(235,62,62,0.10); color: var(--w-danger-fg); }
.w-note-warn{ border-color: rgba(233,196,106,0.32); background: rgba(233,196,106,0.09); }
.w-tag     { font-family: var(--w-mono); font-size: 9.5px; letter-spacing: .14em; padding: 3px 8px;
             border-radius: 6px; background: rgba(199,244,112,0.14); color: var(--w-accent); }

/* --------------------------------------------------------------------- auth */
.w-auth    { display: grid; grid-template-columns: minmax(0,1.02fr) minmax(480px,0.98fr); min-height: 100vh; }
.w-auth-art{ position: relative; overflow: hidden; background: var(--w-card);
             border-right: 1px solid rgba(199,244,112,0.12); padding: 44px 52px;
             display: flex; flex-direction: column; justify-content: space-between; }
.w-auth-art::before { content: ''; position: absolute; inset: 0;
  background: repeating-linear-gradient(118deg, rgba(199,244,112,0.055) 0, rgba(199,244,112,0.055) 26px, transparent 26px, transparent 74px); }
.w-auth-art::after { content: ''; position: absolute; right: -140px; top: 120px; width: 520px; height: 520px;
  border-radius: 999px; background: radial-gradient(circle, rgba(199,244,112,0.16), transparent 68%); }
.w-auth-art > * { position: relative; }
.w-auth-form { display: flex; align-items: center; justify-content: center; padding: 48px 56px; }
.w-auth-inner{ width: 100%; max-width: 420px; }
.w-tabs    { display: flex; gap: 4px; padding: 4px; border-radius: 12px;
             background: rgba(255,255,255,0.04); border: 1px solid var(--w-line); }
.w-tab     { flex: 1; height: 36px; border-radius: 9px; display: flex; align-items: center;
             justify-content: center; cursor: pointer; font-size: 13px; font-weight: 500; color: var(--w-dim); }
.w-tab.is-on { background: var(--w-accent); color: var(--w-bg); }
.w-sso     { height: 42px; border-radius: var(--w-r); border: 1px solid rgba(255,255,255,0.10);
             display: flex; align-items: center; justify-content: center; gap: 8px; cursor: pointer;
             font-size: 12.5px; font-weight: 500; color: var(--w-fg-2); }
.w-sso:hover { border-color: rgba(199,244,112,0.5); background: rgba(199,244,112,0.05); }
.w-or      { display: flex; align-items: center; gap: 12px; margin: 24px 0; }
.w-or i    { flex: 1; height: 1px; background: rgba(255,255,255,0.08); display: block; }

@media (max-width: 1100px) {
  .w-auth { grid-template-columns: 1fr; }
  .w-auth-art { display: none; }
}
@media (max-width: 900px) {
  /* The sidebar becomes a scrolling strip above the content rather than
     disappearing: hiding it outright left a phone with no way to reach any
     screen but the one it was already on. */
  .w-shell   { grid-template-columns: 1fr; grid-template-rows: auto minmax(0, 1fr); height: 100vh; }
  .w-side    { flex-direction: row; align-items: center; gap: 6px; overflow-x: auto; overflow-y: hidden;
               border-right: 0; border-bottom: 1px solid var(--w-line-2); padding: 0 12px; }
  .w-brand   { border-bottom: 0; padding: 12px 8px 12px 0; flex-shrink: 0; }
  .w-brand .w-who-name, .w-brand .w-kicker { display: none; }
  .w-nav     { flex-direction: row; gap: 6px; padding: 8px 0; overflow-x: auto; overflow-y: hidden; flex: 1; }
  .w-navgrp  { flex-direction: row; gap: 6px; }
  .w-navgrp > .w-label { display: none; }
  .w-navitem { white-space: nowrap; flex-shrink: 0; }
  .w-tier    { display: none; }
  .w-who     { border-top: 0; padding: 8px 0 8px 10px; flex-shrink: 0; }
  .w-who > *:not(.w-avatar):not(a) { display: none; }
  .w-topbar, .w-body { padding-left: 16px; padding-right: 16px; }
  .w-topbar  { gap: 12px; }
  .w-search  { display: none; }
}

/* ---------------------------------------------------------------- API docs */
.w-pre {
    margin: 0;
    padding: 14px 16px;
    border-radius: 12px;
    background: rgba(0, 0, 0, .35);
    border: 1px solid var(--w-line);
    font-family: var(--w-mono);
    font-size: 12px;
    line-height: 1.65;
    color: #D8E9DC;
    white-space: pre;
    overflow: auto;
}
.w-pre code { font: inherit; color: inherit; background: none; padding: 0; }

.w-code {
    font-family: var(--w-mono);
    font-size: 12px;
    padding: 2px 7px;
    border-radius: 6px;
    background: rgba(255, 255, 255, .06);
    color: var(--w-accent);
    white-space: nowrap;
}

/* Method badge: GET reads calm, POST reads as an action. */
.w-meth {
    display: inline-block;
    min-width: 46px;
    text-align: center;
    font-family: var(--w-mono);
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .04em;
    padding: 3px 6px;
    border-radius: 6px;
    background: rgba(255, 255, 255, .08);
    color: var(--w-dim);
}
.w-meth-post { background: var(--w-accent); color: var(--w-bg); }
.w-meth-get  { background: rgba(120, 190, 255, .16); color: #8FC7FF; }

/* Sticky quick index down the left of the reference. */
.w-idx { position: sticky; top: 18px; }
.w-idx a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    border-radius: 9px;
    font-size: 12.5px;
    color: var(--w-dim);
    text-decoration: none;
    transition: background .15s, color .15s;
}
.w-idx a:hover { background: rgba(255, 255, 255, .05); color: var(--w-fg); }
.w-idx hr { border: 0; border-top: 1px solid var(--w-line); margin: 10px 2px; }

.w-docgrid { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 24px; max-width: 1520px; align-items: start; }
@media (max-width: 1100px) { .w-docgrid { grid-template-columns: minmax(0, 1fr); } .w-idx { position: static; } }

/* Anchored cards must not slide under the sticky topbar when jumped to. */
.w-anchor { scroll-margin-top: 20px; }

/* ------------------------------------------------------- DataTables, dark
   The grids come from the shared loadDataTableAjax() helper, which ships
   DataTables' own light-theme stripe and control styling. Reskinning it here
   keeps that helper - and every focus2 grid it also drives - untouched. */
.dataTables_wrapper { color: var(--w-fg); }

/* The theme puts its own search box above the card; DataTables' duplicate
   would be a second, differently-styled field doing the same job. */
.dataTables_wrapper .dataTables_filter { display: none; }

.w-table.dataTable tbody tr,
.w-table.dataTable tbody tr.odd,
.w-table.dataTable tbody tr.even { background: transparent; }
.w-table.dataTable tbody tr:hover,
.w-table.dataTable tbody tr.odd:hover,
.w-table.dataTable tbody tr.even:hover { background: rgba(255, 255, 255, .035); }
.w-table.dataTable tbody td { border-top: 1px solid var(--w-line); color: var(--w-fg); }
.w-table.dataTable tbody tr.odd > .sorting_1,
.w-table.dataTable tbody tr.even > .sorting_1 { background: transparent; }
.w-table.dataTable thead th { border-bottom: 1px solid var(--w-line); }
.w-table.dataTable thead th.sorting:after,
.w-table.dataTable thead th.sorting_asc:after,
.w-table.dataTable thead th.sorting_desc:after { color: var(--w-dim-3); }
.w-table.dataTable tbody tr.dataTables_empty td { color: var(--w-dim); padding: 28px 22px; text-align: center; }

.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_processing { color: var(--w-dim); font-size: 12.5px; padding: 14px 22px; }

.dataTables_wrapper .dataTables_paginate { padding: 12px 18px; }
.dataTables_wrapper .dataTables_paginate .paginate_button {
    color: var(--w-dim) !important;
    border: 1px solid var(--w-line);
    background: transparent;
    border-radius: 9px;
    padding: 5px 11px;
    margin-left: 5px;
    font-size: 12.5px;
}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    color: var(--w-fg) !important;
    background: rgba(255, 255, 255, .06);
    border-color: var(--w-line);
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    color: var(--w-bg) !important;
    background: var(--w-accent);
    border-color: var(--w-accent);
}
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover {
    color: var(--w-dim-4) !important;
    background: transparent;
    border-color: var(--w-line);
    cursor: default;
}

/* Export buttons: kept, because dropping them would take away something the
   panel already gave people. Restyled so they belong here. */
.dataTables_wrapper .dt-buttons { padding: 14px 22px 0; }
.dataTables_wrapper .dt-button {
    background: rgba(255, 255, 255, .05) !important;
    border: 1px solid var(--w-line) !important;
    color: var(--w-dim) !important;
    border-radius: 9px !important;
    padding: 6px 13px !important;
    margin-right: 7px !important;
    font-size: 12px !important;
    font-family: var(--w-sans) !important;
}
.dataTables_wrapper .dt-button:hover {
    background: rgba(255, 255, 255, .09) !important;
    color: var(--w-fg) !important;
}

/* A grid item defaults to min-width:auto, so one long unbreakable line - a
   token, a curl command - stretches the whole column instead of scrolling
   inside its own <pre>. */
.w-grid, .w-docgrid > * { min-width: 0; }
.w-card { min-width: 0; }

/* ----------------------------------------------------- real <table> rows
   .w-tr is a grid row when it is a <div> (the prices and download lists), but
   on an actual <tr> that grid collapses every cell onto its own line. Table
   elements keep table layout and take their padding on the cells instead. */
table.w-table { border-collapse: collapse; }
tr.w-tr { display: table-row; padding: 0; border-bottom: 0; }
tr.w-tr > td { padding: 12px 16px; border-bottom: 1px solid rgba(255, 255, 255, .05); vertical-align: top; }
tr.w-tr:hover > td { background: rgba(199, 244, 112, .045); }
thead.w-thead > tr > th,
tr.w-thead > th { padding: 11px 16px; text-align: left; font-weight: 400; }

/* The auth brand mark only exists for the width where the art column - and the
   brand with it - is gone. */
.w-auth-brand { display: none; align-items: center; gap: 11px; margin-bottom: 26px; }
@media (max-width: 1100px) {
    .w-auth-brand { display: flex; }
    .w-auth-form  { align-items: flex-start; padding: 40px 24px; }
}

/* ------------------------------------------------------------- checkboxes */
.w-auth input[type="checkbox"],
.w-body input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 17px;
    height: 17px;
    flex-shrink: 0;
    border-radius: 5px;
    border: 1px solid var(--w-line);
    background: var(--w-fill);
    cursor: pointer;
    position: relative;
    margin: 0;
}
.w-auth input[type="checkbox"]:checked,
.w-body input[type="checkbox"]:checked { background: var(--w-accent); border-color: var(--w-accent); }
.w-auth input[type="checkbox"]:checked::after,
.w-body input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    left: 5px; top: 1px;
    width: 4px; height: 9px;
    border: solid var(--w-bg);
    border-width: 0 2px 2px 0;
    transform: rotate(42deg);
}

/* ------------------------------------------------------------------- phones
   The screens lay themselves out with inline `grid-template-columns`, which a
   stylesheet cannot normally override. Below 720px every one of those grids
   becomes a single column - inline styles win on specificity, so this is the
   one place the theme has to insist. */
@media (max-width: 720px) {
    .w-body [style*="grid-template-columns"] { grid-template-columns: minmax(0, 1fr) !important; }
    .w-body [style*="max-width"]             { max-width: 100% !important; }
    .w-main   { overflow-x: hidden; }
    .w-body   { padding: 18px 14px 48px; }
    .w-card-p { padding: 18px 16px; }
    .w-topbar { height: auto; padding-top: 14px; padding-bottom: 14px; flex-wrap: wrap; }

    /* A licence row is a name, an address and a date; stacked, it reads as a
       list rather than three columns fighting for 30px each. */
    .w-tr { grid-template-columns: minmax(0, 1fr) !important; gap: 6px; }
    .w-docgrid { grid-template-columns: minmax(0, 1fr) !important; }
    .w-idx { position: static; }
}

/* An operator's own logo is shown as artwork, not cropped into a tile: it keeps
   its aspect ratio and is capped so a wide wordmark cannot push the sidebar. */
.w-logo { display: block; width: auto; max-width: 100%; object-fit: contain; }
.w-brand      .w-logo { max-width: 176px; }
.w-auth-art   .w-logo { max-width: 240px; }
.w-auth-brand .w-logo { max-width: 200px; }

/* The sidebar carries the whole customer panel now, not just the licence
   screens, so on a laptop the nav runs past the fold and the last item is
   clipped with nothing to say it scrolls. The usage card is the only decorative
   thing down there, so it is what gives way. */
@media (max-height: 940px) {
    .w-side .w-tier { display: none; }
}
.w-nav { scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.14) transparent; }
.w-nav::-webkit-scrollbar { width: 6px; }
.w-nav::-webkit-scrollbar-thumb { background: rgba(255,255,255,.14); border-radius: 99px; }
.w-nav::-webkit-scrollbar-track { background: transparent; }
