:root{
  --nv-accent: var(--pl-primary, var(--green, #17805a));
  --nv-accent-ink: var(--pl-on-primary, #fff);
  --nv-card: var(--surface, #fff);
  --nv-soft: var(--surface2, #f4f5f9);
  --nv-line: var(--sf-line, var(--line, #e6e8ef));
  --nv-ink: var(--ink, #15181f);
  --nv-muted: var(--muted, #7a8194);
  --nv-ok: var(--pl-success, var(--green, #1a8f4c));
  --nv-bad: var(--pl-danger, var(--red, #d23b3b));
  --nv-warn: var(--pl-warn, var(--gold, #b8860b));
  --nv-tint: color-mix(in oklch, var(--nv-accent) 10%, transparent);
  --nv-tint-bad: color-mix(in oklch, var(--nv-bad) 12%, transparent);
  --nv-tint-warn: color-mix(in oklch, var(--nv-warn) 16%, transparent);
  --nv-shadow: var(--sf-shadow-2, 0 16px 44px -20px rgba(20,20,50,.22));
  --cb-r: var(--sf-r-lg, 20px);
  --cb-r-sm: var(--sf-r-sm, 14px);
  --cb-sh: var(--sf-shadow-1, 0 1px 2px rgba(20,18,14,.05), 0 10px 26px -18px rgba(20,18,14,.16));
  --cb-ease: var(--ease, cubic-bezier(.16,1,.3,1));
}
.sf-tag.amber{background:var(--nv-tint-warn);color:var(--nv-warn)}

.cb-dash{--cb-c:var(--nv-accent);display:flex;flex-direction:column;gap:16px}
.cb-dash-top{display:flex;align-items:center;gap:14px;justify-content:space-between}
.cb-dash-top h1{margin:2px 0 0;font-size:calc(23px * var(--fz-h1,1));font-weight:900;letter-spacing:-.02em;line-height:1.45}
.cb-dash-sub{margin:8px 0 0;color:var(--nv-muted);font-size:calc(12.5px * var(--fz-base,1));line-height:1.9;max-width:60ch}
.cb-dash-badge{flex:0 0 56px;width:56px;height:56px;border-radius:20px;display:grid;place-items:center;font-size:28px;
  background:linear-gradient(140deg,color-mix(in oklch,var(--cb-c) 26%,transparent),color-mix(in oklch,var(--cb-c) 8%,transparent));
  border:1px solid color-mix(in oklch,var(--cb-c) 30%,transparent)}
.cb-eyebrow{display:inline-block;font-size:calc(11px * var(--fz-base,1));font-weight:700;color:var(--nv-muted);letter-spacing:.01em}

.cb-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:start}
.cb-col,.cb-side{display:flex;flex-direction:column;gap:16px;min-width:0}
@media(max-width:900px){.cb-grid{grid-template-columns:1fr}}

.cb-card{background:var(--nv-card);border:1px solid var(--nv-line);border-radius:var(--cb-r);padding:18px;
  box-shadow:var(--cb-sh)}
.cb-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px}
.cb-card-head h3{margin:0;font-size:calc(14.5px * var(--fz-h3,1));font-weight:800}
.cb-card-head small{color:var(--nv-muted);font-size:calc(11px * var(--fz-base,1))}

.cb-hero{position:relative;overflow:hidden;
  background:
    radial-gradient(120% 130% at 100% 0%, color-mix(in oklch,var(--cb-c) 16%,transparent), transparent 62%),
    var(--nv-card);
  border-color:color-mix(in oklch,var(--cb-c) 30%,var(--nv-line))}
.cb-hero-main{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.cb-ring{--cb-p:0;position:relative;flex:0 0 92px;width:92px;height:92px;border-radius:50%;display:grid;place-items:center;
  background:conic-gradient(var(--cb-c) calc(var(--cb-p) * 1%), color-mix(in oklch,var(--cb-c) 14%,transparent) 0)}
.cb-ring::after{content:'';position:absolute;inset:9px;border-radius:50%;background:var(--nv-card)}
.cb-ring span{position:relative;z-index:1;display:flex;align-items:baseline;gap:1px;color:var(--cb-c);
  font-variant-numeric:tabular-nums}
.cb-ring b{font-size:calc(21px * var(--fz-base,1));font-weight:900}
.cb-ring small{font-size:calc(11px * var(--fz-base,1));font-weight:700}
.cb-hero-txt{flex:1 1 190px;min-width:0}
.cb-hero-txt h2{margin:3px 0 8px;font-size:calc(20px * var(--fz-h2,1));font-weight:900;color:var(--cb-c);letter-spacing:-.02em}
.cb-hero-now{margin:0;font-size:calc(13px * var(--fz-base,1));line-height:1.9}
.cb-hero-now b{font-size:calc(15px * var(--fz-base,1));font-weight:900;color:var(--cb-c)}
.cb-flag{display:inline-block;margin-inline-start:6px;padding:2px 9px;border-radius:99px;
  background:var(--nv-tint-warn);color:var(--nv-warn);font-size:calc(10.5px * var(--fz-base,1));font-weight:700}
.cb-progress{margin-top:16px;padding-top:16px;border-top:1px solid color-mix(in oklch,var(--nv-line) 70%,transparent)}
.cb-prog-top{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:9px;
  font-size:calc(12.5px * var(--fz-base,1))}
.cb-bar-track{height:9px;border-radius:99px;background:var(--nv-soft);overflow:hidden}
.cb-bar-fill{height:100%;border-radius:99px;transition:width .5s var(--cb-ease);
  background:linear-gradient(90deg,var(--cb-c),color-mix(in oklch,var(--cb-c) 55%,#fff))}
.cb-progress p{margin:9px 0 0;font-size:calc(11.5px * var(--fz-base,1))}
.cb-top{margin:16px 0 0;padding-top:14px;border-top:1px solid color-mix(in oklch,var(--nv-line) 70%,transparent);
  font-weight:700;font-size:calc(13px * var(--fz-base,1))}

.cb-stats{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}
.cb-stat{background:var(--nv-card);border:1px solid var(--nv-line);border-radius:var(--cb-r-sm);padding:13px 14px;
  display:flex;flex-direction:column;gap:5px;box-shadow:var(--cb-sh)}
.cb-stat span{font-size:calc(11px * var(--fz-base,1));color:var(--nv-muted)}
.cb-stat b{font-size:calc(15.5px * var(--fz-base,1));font-weight:900;font-variant-numeric:tabular-nums}
.cb-stat.is-ok b{color:var(--nv-ok)}

.cb-note{padding:14px 16px;border-radius:var(--cb-r-sm);background:var(--nv-soft);border:1px dashed var(--nv-line);
  font-size:calc(12.5px * var(--fz-base,1));color:var(--nv-muted)}

.cb-bd{border-color:color-mix(in oklch,var(--nv-warn) 34%,var(--nv-line));
  background:linear-gradient(150deg,var(--nv-tint-warn),transparent 62%),var(--nv-card)}
.cb-bd-date{margin:0 0 6px;font-size:calc(14px * var(--fz-base,1))}
.cb-bd-live{margin:0;font-size:calc(12.5px * var(--fz-base,1));font-weight:700;color:var(--nv-warn)}
.cb-bd p{font-size:calc(12px * var(--fz-base,1));line-height:1.95;margin:0}
.cb-bd-form{margin-top:12px}
.cb-bd-row{display:flex;gap:8px;flex-wrap:wrap}
.cb-bd-row .jdate-input,.cb-bd-row input[type=date],.cb-bd-row input[type=text]{flex:1 1 150px;min-width:0;
  padding:11px 13px;border-radius:12px;border:1px solid var(--nv-line);background:var(--nv-card);color:var(--nv-ink);
  font:inherit;font-size:calc(13px * var(--fz-base,1));text-align:center;font-variant-numeric:tabular-nums}
.cb-bd-row .jdate-input:focus{outline:0;border-color:var(--nv-accent);
  box-shadow:0 0 0 3px color-mix(in oklch,var(--nv-accent) 16%,transparent)}
.cb-hint{display:block;margin-top:8px;font-size:calc(10.5px * var(--fz-base,1));color:var(--nv-muted)}
.cb-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;cursor:pointer;
  padding:11px 18px;border-radius:12px;background:var(--nv-accent);color:var(--nv-accent-ink);
  font:inherit;font-weight:800;font-size:calc(12.5px * var(--fz-btn,1));text-decoration:none !important;
  transition:transform .18s var(--cb-ease),filter .18s}
.cb-btn:hover{transform:translateY(-1px);filter:brightness(1.06)}

.cb-perks ul{margin:0;padding-inline-start:18px}
.cb-perks li{margin-bottom:7px;font-size:calc(12.5px * var(--fz-base,1));line-height:1.85}
.cb-perks li::marker{color:var(--cb-c)}
.cb-quick{display:flex;flex-direction:column;gap:0}
.cb-quick a{display:block;padding:11px 2px;font-size:calc(12.5px * var(--fz-base,1));font-weight:600;
  border-bottom:1px dashed color-mix(in oklch,var(--nv-line) 80%,transparent);transition:color .18s}
.cb-quick a:last-child{border-bottom:0}
.cb-quick a:hover{color:var(--nv-accent)}

.cb-empty{text-align:center;padding:26px 20px}
.cb-empty span{display:block;font-size:30px;margin-bottom:8px}
.cb-empty b{display:block;font-size:calc(14px * var(--fz-base,1));margin-bottom:6px}
.cb-empty p{margin:0 0 14px;font-size:calc(12px * var(--fz-base,1));line-height:1.9}

.cb-tiers{margin-top:2px}
.cb-tier-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.cb-tier-card{padding:15px;border-radius:var(--cb-r-sm);border:1px solid var(--nv-line);background:var(--nv-card);
  box-shadow:var(--cb-sh);transition:transform .26s var(--cb-ease),box-shadow .26s,border-color .26s}
.cb-tier-card:hover{transform:translateY(-3px);box-shadow:var(--nv-shadow)}
.cb-tier-card.is-mine{border-color:var(--cb-c);box-shadow:0 0 0 3px color-mix(in oklch,var(--cb-c) 14%,transparent)}
.cb-tier-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.cb-tier-ic{font-size:20px}
.cb-tier-head b{font-size:calc(14px * var(--fz-base,1));color:var(--cb-c)}
.cb-mine{margin-inline-start:auto;font-size:calc(10.5px * var(--fz-base,1));padding:2px 8px;border-radius:99px;
  background:var(--cb-c);color:var(--nv-accent-ink)}
.cb-tier-need{margin:0 0 8px;font-size:calc(11.5px * var(--fz-base,1));color:var(--nv-muted)}
.cb-tier-perks{margin:0;padding-inline-start:18px}
.cb-tier-perks li{font-size:calc(12px * var(--fz-base,1));margin-bottom:5px;line-height:1.8}
.cb-tier-perks small{color:var(--nv-muted)}

.cb-table-wrap{overflow-x:auto;margin:0 -4px}
.cb-table{width:100%;border-collapse:collapse;font-size:calc(12.5px * var(--fz-base,1))}
.cb-table th,.cb-table td{padding:10px 8px;border-bottom:1px solid color-mix(in oklch,var(--nv-line) 75%,transparent);
  text-align:start;vertical-align:middle}
.cb-table thead th{font-size:calc(11px * var(--fz-base,1));color:var(--nv-muted);font-weight:700}
.cb-table tbody tr:last-child td{border-bottom:0}
.cb-table tbody tr:hover{background:color-mix(in oklch,var(--nv-soft) 65%,transparent)}
.cb-table .nowrap{white-space:nowrap;font-variant-numeric:tabular-nums}
.cb-plus{color:var(--nv-ok);font-weight:700}
.cb-minus{color:var(--nv-bad);font-weight:700}

.cb-bar{position:fixed;inset-inline:12px;bottom:calc(var(--sf-dock-b, calc(16px + env(safe-area-inset-bottom, 0px))) + var(--sf-dock-y, 0px));z-index:95;display:flex;align-items:center;gap:12px;
  padding:12px 14px;border-radius:16px;background:var(--nv-card);border:1px solid var(--nv-line);
  box-shadow:var(--nv-shadow);max-width:640px;margin-inline:auto}
.cb-bar .cb-ic{font-size:24px}
.cb-bar .cb-txt{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}
.cb-bar b{font-size:calc(13px * var(--fz-base,1))}
.cb-bar span{font-size:calc(11.5px * var(--fz-base,1));color:var(--nv-muted)}
.cb-bar .cb-free{color:var(--nv-ok)}
.cb-bar .cb-more{font-size:calc(11.5px * var(--fz-base,1));white-space:nowrap;font-weight:700}
@media(max-width:900px){ .cb-bar{bottom:calc(var(--sf-dock-b, calc(var(--sf-bnav-h, 64px) + 10px + env(safe-area-inset-bottom, 0px))) + var(--sf-dock-y, 0px))} }
@media(max-width:900px){ body.has-stickybuy .cb-bar{display:none} }

.cb-meta{margin-top:6px;font-size:calc(12px * var(--fz-base,1));line-height:1.8}
.cb-meta b{color:var(--nv-accent)}
.cb-meta small{display:block;font-size:calc(10.5px * var(--fz-base,1));color:var(--nv-muted)}
.cb-meta.guest,.cb-meta.off{color:var(--nv-muted)}
.cb-badge{display:inline-block;padding:1px 7px;border-radius:99px;background:var(--nv-soft);
  font-size:calc(10.5px * var(--fz-base,1))}
.cb-bd-tag,.cb-meta .cb-bd{color:var(--nv-warn)}
.cb-card-badge{display:inline-block;padding:1px 6px;border-radius:99px;background:var(--nv-soft);
  font-size:calc(10px * var(--fz-base,1));color:var(--nv-accent)}

.cb-dash{gap:18px}
.cb-band{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:20px 22px;
  border-radius:var(--cb-r);border:1px solid color-mix(in oklch,var(--cb-c) 30%,var(--nv-line));
  box-shadow:var(--cb-sh);
  background:radial-gradient(120% 140% at 100% 0%,color-mix(in oklch,var(--cb-c) 20%,transparent),transparent 60%),
    var(--nv-card)}
.cb-band-id{display:flex;align-items:center;gap:15px;min-width:0;flex:1 1 260px}
.cb-band-badge{flex:0 0 58px;width:58px;height:58px;border-radius:19px;display:grid;place-items:center;color:var(--cb-c);
  background:linear-gradient(140deg,color-mix(in oklch,var(--cb-c) 26%,transparent),color-mix(in oklch,var(--cb-c) 8%,transparent));
  border:1px solid color-mix(in oklch,var(--cb-c) 32%,transparent)}
.cb-band-txt{min-width:0}
.cb-band-txt h1{margin:2px 0 6px;font-size:calc(21px * var(--fz-h1,1));font-weight:900;letter-spacing:-.02em;
  color:var(--cb-c);line-height:1.4}
.cb-band-txt p{margin:0;font-size:calc(12.5px * var(--fz-base,1));line-height:1.85}
.cb-band-txt p b{font-size:calc(15px * var(--fz-base,1));font-weight:900;color:var(--cb-c)}
.cb-band-ring{display:flex;flex-direction:column;align-items:center;gap:6px;flex:0 0 auto}
.cb-band-ring small{font-size:calc(10.5px * var(--fz-base,1));color:var(--nv-muted)}
.cb-flag{display:inline-flex;align-items:center;gap:4px;margin-inline-start:6px;padding:2px 9px;border-radius:99px;
  background:var(--nv-tint-warn);color:var(--nv-warn);font-size:calc(10.5px * var(--fz-base,1));font-weight:700}

.cb-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.cb-stat span{display:inline-flex;align-items:center;gap:5px}
.cb-stat span .nv-i{color:var(--cb-c);opacity:.85}

.cb-next{display:flex;flex-direction:column;gap:11px}
.cb-next-top{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}
.cb-next-top b{display:flex;align-items:center;gap:6px;margin-top:3px;font-size:calc(14px * var(--fz-base,1));
  font-weight:800;color:var(--cb-c)}
.cb-next-need{font-size:calc(12.5px * var(--fz-base,1));font-weight:700}
.cb-next p{margin:0;font-size:calc(11.5px * var(--fz-base,1))}
.cb-top{display:flex;align-items:center;gap:13px;margin:0;padding:16px 18px;border-top:0;color:var(--cb-c)}
.cb-top div{display:flex;flex-direction:column;gap:2px}
.cb-top b{font-size:calc(13.5px * var(--fz-base,1))}
.cb-top span{font-size:calc(11.5px * var(--fz-base,1))}

.cb-card-head h3{display:flex;align-items:center;gap:7px}
.cb-card-head h3 .nv-i{color:var(--cb-c)}
.cb-perks ul{margin:0;padding:0;list-style:none;display:grid;gap:9px}
.cb-perks li{display:flex;align-items:flex-start;gap:8px;margin:0;font-size:calc(12.5px * var(--fz-base,1));
  line-height:1.75}
.cb-perks li .nv-i{flex:0 0 auto;margin-top:2px;color:var(--nv-ok)}
.cb-quick a{display:flex;align-items:center;gap:9px;padding:11px 2px}
.cb-quick a span{flex:1 1 auto}
.cb-quick a .nv-i:first-child{color:var(--cb-c)}
.cb-quick a .nv-i:last-child{color:var(--nv-muted);opacity:.7}
.cb-note{display:flex;align-items:center;gap:9px}
.cb-empty span{display:inline-grid;place-items:center;color:var(--cb-c);margin-bottom:6px}
.cb-tier-head{gap:9px}
.cb-tier-ic{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;color:var(--cb-c);font-size:18px;
  line-height:0;background:color-mix(in oklch,var(--cb-c) 14%,transparent)}
.cb-bd-live{display:flex;align-items:center;gap:6px}
@media(max-width:640px){
  .cb-band{padding:16px}
  .cb-band-ring{order:-1;align-self:flex-start}
  .cb-band-txt h1{font-size:calc(18px * var(--fz-h1,1))}
}

.cb-bar .cb-ic{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;
  border-radius:12px;background:var(--nv-soft);color:var(--cb-c,var(--nv-accent));flex:0 0 auto;font-size:0}
.cb-bar .cb-ic .nv-i,.cb-bar .cb-ic svg{width:20px;height:20px}
.cb-bar .cb-free{display:inline-flex;align-items:center;gap:5px}
.cb-badge,.cb-bd-tag,.cb-card-badge,.cb-meta.guest{display:inline-flex;align-items:center;gap:4px}
.cb-badge .nv-i,.cb-bd-tag .nv-i,.cb-card-badge .nv-i,.cb-meta .nv-i,.cb-free .nv-i{flex:0 0 auto;vertical-align:-2px}
.cb-band-badge .nv-i-img{border-radius:10px;object-fit:cover}

.cb-tier-ic .nv-i,.cb-tier-ic svg{width:18px;height:18px;font-size:18px}
.cb-tier-ic .nv-i-img{width:22px;height:22px;border-radius:7px;object-fit:cover}
.cb-band-badge{font-size:30px;line-height:0}
.cb-band-badge .nv-i,.cb-band-badge svg{width:30px;height:30px;font-size:30px}
.cb-band-badge .nv-i-img{width:38px;height:38px}
.cb-next-top b .nv-i,.cb-next-top b svg{width:18px;height:18px;font-size:18px}
.cb-next-top b .nv-i-img{width:18px;height:18px;border-radius:6px;object-fit:cover}
.cb-tier-head b .nv-i,.cb-tier-head b svg{width:1em;height:1em}
.cb-empty span{font-size:26px;line-height:0}
.cb-empty span .nv-i,.cb-empty span svg{width:26px;height:26px;font-size:26px}
.cb-bar .cb-ic{font-size:20px}
.cb-bar .cb-ic .nv-i-img{width:22px;height:22px;border-radius:7px;object-fit:cover}
.cb-top .nv-i,.cb-top svg{width:22px;height:22px}

@media(min-width:901px){
  .cb-bar{inset-inline-start:16px;inset-inline-end:auto;margin-inline:0;bottom:calc(var(--sf-dock-b, calc(16px + env(safe-area-inset-bottom, 0px))) + var(--sf-dock-y, 0px));
    width:min(320px,calc(100vw - 32px));max-width:none;
    align-items:flex-start;flex-wrap:wrap;gap:8px 10px;padding:11px 13px;border-radius:14px}
  .cb-bar .cb-ic{font-size:20px;line-height:1}
  .cb-bar .cb-ic .nv-i,.cb-bar .cb-ic svg{width:20px;height:20px}
  .cb-bar .cb-txt{flex:1 1 auto;min-width:0}
  .cb-bar b{line-height:1.7}
  .cb-bar span{line-height:1.7}
  .cb-bar .cb-more{flex:0 0 auto;margin-inline-start:auto;align-self:center}
}
