/* Fontes no próprio servidor (licença SIL OFL, ver assets/fonts) */
@font-face { font-family: "Inter"; font-style: normal; font-weight: 400; font-display: swap; src: url("fonts/inter-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 500; font-display: swap; src: url("fonts/inter-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 600; font-display: swap; src: url("fonts/inter-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 700; font-display: swap; src: url("fonts/inter-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 600; font-display: swap; src: url("fonts/plus-jakarta-sans-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url("fonts/plus-jakarta-sans-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 800; font-display: swap; src: url("fonts/plus-jakarta-sans-latin-800-normal.woff2") format("woff2"); }

/* Connect Shows — visual 2026: claro, cards brancos arredondados, degradê magenta → violeta → azul */
:root {
  --ink: #26233f;
  --ink-2: #57547a;
  --ink-3: #8b88a8;
  --paper: #f3f2fb;
  --card: #ffffff;
  --line: #e9e7f5;
  --stage: #5b21b6;
  --stage-2: #7c3aed;
  --spot: #d946ef;
  --spot-ink: #ffffff;
  --blue: #3b82f6;
  --grad: linear-gradient(135deg, #c026d3 0%, #7c3aed 52%, #4f46e5 100%);
  --grad-h: linear-gradient(90deg, #c026d3, #7c3aed 55%, #4f46e5);
  --grad-cool: linear-gradient(135deg, #7c3aed 0%, #4f46e5 55%, #3b82f6 100%);
  --ok: #0f8a5f;
  --ok-bg: #e3f7ee;
  --warn: #9a5b00;
  --warn-bg: #fff3dc;
  --bad: #c0264b;
  --bad-bg: #fde7ee;
  --info: #4338ca;
  --info-bg: #eceafe;
  --radius: 22px;
  --radius-sm: 12px;
  --shadow: 0 1px 2px rgba(60, 40, 150, .04), 0 12px 32px rgba(60, 40, 150, .07);
  --shadow-lg: 0 24px 60px rgba(76, 29, 149, .22);
  --font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --display: "Plus Jakarta Sans", "Inter", system-ui, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--font); color: var(--ink); background: var(--paper); line-height: 1.55; font-size: 16px; }
img { max-width: 100%; display: block; }
a { color: var(--stage-2); text-underline-offset: 3px; }
h1, h2, h3, h4 { font-family: var(--display); line-height: 1.15; margin: 0 0 .5em; letter-spacing: -.015em; color: var(--ink); }
h1 { font-size: clamp(1.6rem, 3.6vw, 2.2rem); font-weight: 800; }
h2 { font-size: clamp(1.25rem, 2.6vw, 1.55rem); font-weight: 800; }
h3 { font-size: 1.08rem; font-weight: 700; }
p { margin: 0 0 1em; }
small, .muted { color: var(--ink-3); }
.inline { display: inline; }
.hidden { display: none !important; }
.nowrap { white-space: nowrap; }
.right { text-align: right; }
.mt0 { margin-top: 0; } .mb0 { margin-bottom: 0; } .mt { margin-top: 1.25rem; } .mb { margin-bottom: 1.25rem; }
.ico { flex: none; }

.wrap { width: 100%; max-width: 1180px; margin: 0 auto; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
.page { padding-top: 28px; padding-bottom: 56px; min-height: 60vh; }
.page--narrow { max-width: 560px; }
.page--mid { max-width: 860px; }

/* Marca */
.brand { color: var(--ink); text-decoration: none; font-family: var(--display); font-weight: 800; font-size: 1.15rem; display: flex; align-items: center; gap: 10px; letter-spacing: -.02em; }
.brand small { display: block; font: 500 .68rem var(--font); color: var(--ink-3); letter-spacing: .02em; margin-top: 1px; }
.brand__mark { width: 38px; height: 38px; flex: none; border-radius: 12px; background: url("favicon.svg") center / cover no-repeat; box-shadow: 0 6px 16px rgba(124, 58, 237, .35); }

/* Topo das páginas públicas */
.topbar { position: sticky; top: 0; z-index: 20; background: rgba(243, 242, 251, .82); backdrop-filter: saturate(1.4) blur(14px); -webkit-backdrop-filter: saturate(1.4) blur(14px); border-bottom: 1px solid rgba(124, 58, 237, .08); }
.topbar__in { display: flex; align-items: center; gap: 16px; min-height: 68px; flex-wrap: wrap; }
.topbar .brand { margin-right: auto; }
.navtoggle { display: none; align-items: center; gap: 8px; background: #fff; color: var(--ink); border: 1px solid var(--line); border-radius: 12px; padding: 8px 12px; font: 600 .9rem var(--font); cursor: pointer; }
.mainnav { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.mainnav__link { color: var(--ink-2); text-decoration: none; padding: 8px 12px; border-radius: 10px; font-weight: 600; font-size: .95rem; }
.mainnav__link:hover, .mainnav__link.is-active { color: var(--stage-2); background: #fff; }
.linkbtn { background: none; border: 0; font: inherit; cursor: pointer; }
@media (max-width: 860px) {
  .topbar .navtoggle { display: inline-flex; }
  .mainnav { display: none; width: 100%; flex-direction: column; align-items: stretch; padding-bottom: 14px; }
  .mainnav.is-open { display: flex; }
  .mainnav .btn { margin-top: 6px; }
}

/* App com menu lateral */
.shell { display: grid; grid-template-columns: 264px minmax(0, 1fr); min-height: 100vh; }
.side { position: sticky; top: 0; height: 100vh; overflow-y: auto; background: #fff; display: flex; flex-direction: column; gap: 22px; padding: 26px 0 18px; box-shadow: 1px 0 0 var(--line); z-index: 30; }
.side .brand { padding: 0 24px; }
.side__nav { display: grid; gap: 2px; }
.side__link { position: relative; display: flex; align-items: center; gap: 14px; width: 100%; padding: 12px 26px; color: var(--ink-2); text-decoration: none; font: 500 .96rem var(--font); text-align: left; }
.side__link .ico { color: var(--ink-3); }
.side__link:hover { color: var(--stage-2); background: #faf8ff; }
.side__link:hover .ico { color: var(--stage-2); }
.side__link.is-active { color: var(--ink); font-weight: 700; background: linear-gradient(90deg, #f3edff, rgba(243, 237, 255, 0)); }
.side__link.is-active::before { content: ""; position: absolute; left: 0; top: 8px; bottom: 8px; width: 4px; border-radius: 0 4px 4px 0; background: var(--grad); }
.side__link.is-active .ico { color: var(--stage-2); }
.side__promo { margin: auto 18px 0; padding: 18px 16px 16px; border-radius: 20px; background: linear-gradient(160deg, #f4efff, #ebe9fb); text-align: center; display: grid; gap: 6px; justify-items: center; }
.side__promo b { font-family: var(--display); font-size: 1rem; }
.side__promo p { margin: 0 0 6px; font-size: .84rem; color: var(--ink-2); }
.side__promo-art { display: flex; align-items: flex-end; gap: 5px; height: 46px; margin-bottom: 4px; }
.side__promo-art i { width: 10px; border-radius: 4px 4px 2px 2px; background: var(--grad); }
.side__promo-art i:nth-child(1) { height: 30%; } .side__promo-art i:nth-child(2) { height: 55%; } .side__promo-art i:nth-child(3) { height: 40%; }
.side__promo-art i:nth-child(4) { height: 80%; } .side__promo-art i:nth-child(5) { height: 100%; background: var(--grad-cool); }
.side__foot { display: grid; gap: 2px; border-top: 1px solid var(--line); padding-top: 10px; }
.side__foot form { margin: 0; }
.shell__main { min-width: 0; display: flex; flex-direction: column; }
.appbar { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; gap: 14px; padding: 14px max(16px, env(safe-area-inset-right, 0px)) 14px max(24px, env(safe-area-inset-left, 0px)); background: rgba(243, 242, 251, .85); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.appbar__hello { margin-left: auto; text-align: right; line-height: 1.2; }
.appbar__hello b { display: block; font-family: var(--display); }
.appbar__hello small { font-size: .78rem; }
.appbar__me { width: 44px; height: 44px; border-radius: 50%; background: var(--grad); display: grid; place-items: center; text-decoration: none; box-shadow: 0 6px 16px rgba(124, 58, 237, .3); }
.appbar__me span { color: #fff; font: 800 .95rem var(--display); }
.shell__main > .page, .shell__main > main { padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); width: 100%; }
@media (min-width: 961px) { .shell__main > main, .shell__main > .page { padding-left: 36px; padding-right: 36px; } .appbar { padding-left: 36px; padding-right: 36px; } .shell__main .flashes { padding: 0 36px; } }
.shell__main .flashes { padding: 0 32px; }
@media (max-width: 960px) {
  .shell { grid-template-columns: 1fr; }
  .side { position: fixed; left: 0; top: 0; bottom: 0; width: min(290px, 86vw); transform: translateX(-102%); transition: transform .22s ease; box-shadow: var(--shadow-lg); }
  .side.is-open { transform: none; }
  .appbar .navtoggle { display: inline-flex; }
  .shell__main .flashes { padding: 0 16px; }
}
.footer--app { margin-top: auto; display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 18px 32px; font-size: .85rem; color: var(--ink-3); }
.footer--app a { color: var(--ink-3); text-decoration: none; margin-left: 14px; }

/* Avisos */
.flashes { padding-top: 16px; }
.flash { padding: 13px 18px; border-radius: 14px; margin-bottom: 10px; font-weight: 500; }
.flash--ok { background: var(--ok-bg); color: var(--ok); }
.flash--erro { background: var(--bad-bg); color: var(--bad); }
.flash--info { background: var(--info-bg); color: var(--info); }
.flash--aviso { background: var(--warn-bg); color: var(--warn); }

/* Botões */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 11px 20px; border-radius: 999px; border: 1px solid transparent; font: 700 .94rem var(--font); text-decoration: none; cursor: pointer; background: var(--grad-cool); color: #fff; box-shadow: 0 8px 20px rgba(79, 70, 229, .22); transition: transform .08s ease, box-shadow .15s, filter .15s; }
.btn:hover { filter: brightness(1.06); box-shadow: 0 10px 24px rgba(79, 70, 229, .3); }
.btn:active { transform: translateY(1px); }
.btn:focus-visible { outline: 3px solid rgba(124, 58, 237, .35); outline-offset: 2px; }
.btn--accent { background: linear-gradient(135deg, #c026d3, #9333ea); color: #fff; box-shadow: 0 8px 22px rgba(192, 38, 211, .3); }
.btn--ghost { background: #fff; color: var(--stage-2); border-color: var(--line); box-shadow: none; }
.btn--ghost:hover { border-color: #d8ccff; box-shadow: none; }
.btn--danger { background: #fff; color: var(--bad); border-color: #f5c6d3; box-shadow: none; }
.btn--ok { background: linear-gradient(135deg, #10b981, #0f8a5f); box-shadow: 0 8px 20px rgba(16, 185, 129, .25); }
.btn--sm { padding: 8px 15px; font-size: .86rem; }
.btn--block { width: 100%; }
.btn[disabled] { opacity: .55; cursor: not-allowed; }
.btnrow { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }

/* Cartões */
.card { background: var(--card); border: 0; border-radius: var(--radius); padding: 22px; box-shadow: var(--shadow); }
.card + .card { margin-top: 18px; }
.card__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; flex-wrap: wrap; }
.card__head h2, .card__head h3 { margin: 0; }
.grid { display: grid; gap: 18px; }
.grid--2 { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.grid--3 { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.grid--4 { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.split { display: grid; gap: 20px; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); align-items: start; }
@media (max-width: 960px) { .split { grid-template-columns: 1fr; } }

.pagehead { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 22px; }
.pagehead h1 { margin: 0; }
.pagehead p { margin: 6px 0 0; color: var(--ink-2); max-width: 70ch; }

/* Números (como os cards de receita) */
.stat { background: var(--card); border: 0; border-radius: var(--radius); padding: 20px 22px; box-shadow: var(--shadow); }
.stat__n { font-family: var(--display); font-size: 2.1rem; font-weight: 800; line-height: 1; letter-spacing: -.02em; color: var(--ink); }
.stat__l { color: var(--ink-3); font-size: .86rem; margin-top: 8px; font-weight: 500; }
.stat--spot { background: var(--grad); color: #fff; box-shadow: var(--shadow-lg); position: relative; overflow: hidden; }
.stat--spot::after { content: ""; position: absolute; right: -30px; bottom: -40px; width: 140px; height: 140px; border-radius: 50%; background: radial-gradient(circle, rgba(255, 255, 255, .22), transparent 70%); }
.stat--spot .stat__n { color: #fff; }
.stat--spot .stat__l { color: rgba(255, 255, 255, .82); }

/* Formulários */
.form { display: grid; gap: 14px; }
.field { display: grid; gap: 6px; }
.field > span, .field > label { font-weight: 600; font-size: .9rem; color: var(--ink-2); }
.field small { font-weight: 400; }
.row2 { display: grid; gap: 14px; grid-template-columns: 1fr 1fr; }
.row3 { display: grid; gap: 14px; grid-template-columns: repeat(3, 1fr); }
@media (max-width: 640px) { .row2, .row3 { grid-template-columns: 1fr; } }
input[type=text], input[type=email], input[type=password], input[type=number], input[type=date], input[type=url], input[type=tel], input[type=search], select, textarea {
  width: 100%; padding: 12px 14px; border: 1px solid #e3e1f1; border-radius: 12px; font: inherit; background: #f8f7fd; color: var(--ink); transition: border-color .15s, background .15s, box-shadow .15s;
}
textarea { min-height: 110px; resize: vertical; }
input:focus, select:focus, textarea:focus { outline: none; background: #fff; border-color: #a78bfa; box-shadow: 0 0 0 4px rgba(124, 58, 237, .12); }
input[type=file] { font: inherit; }
.checks { display: flex; flex-wrap: wrap; gap: 8px; }
.check { display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border: 1px solid var(--line); border-radius: 999px; background: #fff; font-size: .9rem; cursor: pointer; color: var(--ink-2); }
.check input { margin: 0; accent-color: #7c3aed; }
.check:has(input:checked) { border-color: #c4b5fd; background: #f3edff; color: var(--stage); font-weight: 600; }
.hint { font-size: .85rem; color: var(--ink-3); }
input[type=checkbox], input[type=radio] { accent-color: #7c3aed; }

/* Selos e etiquetas */
.badge { display: inline-flex; align-items: center; gap: 6px; font-size: .76rem; font-weight: 700; padding: 5px 11px; border-radius: 999px; background: #f1ecff; color: var(--stage-2); white-space: nowrap; }
.badge--ok { background: var(--ok-bg); color: var(--ok); }
.badge--warn { background: var(--warn-bg); color: var(--warn); }
.badge--bad { background: var(--bad-bg); color: var(--bad); }
.badge--info { background: var(--info-bg); color: var(--info); }
.badge--muted { background: #f1f0f7; color: var(--ink-3); }
.seal { display: inline-flex; align-items: center; gap: 8px; background: linear-gradient(135deg, #10b981, #0f8a5f); color: #fff; padding: 7px 14px 7px 8px; border-radius: 999px; font-weight: 700; font-size: .84rem; box-shadow: 0 8px 18px rgba(16, 185, 129, .25); }
.seal::before { content: "✓"; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: rgba(255, 255, 255, .25); font-size: .8rem; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip { font-size: .84rem; font-weight: 600; padding: 7px 14px; border-radius: 999px; background: #fff; color: var(--ink-2); box-shadow: 0 1px 2px rgba(60, 40, 150, .06); text-decoration: none; }
a.chip:hover { color: var(--stage-2); }
.chip[style*="var(--stage)"] { background: var(--grad) !important; color: #fff !important; box-shadow: 0 8px 18px rgba(124, 58, 237, .28); }

/* Tabelas */
.tablewrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
table.table { width: 100%; border-collapse: collapse; font-size: .93rem; }
.table th, .table td { text-align: left; padding: 12px 10px; border-bottom: 1px solid var(--line); vertical-align: top; }
.table th { font-size: .74rem; text-transform: uppercase; letter-spacing: .06em; color: var(--ink-3); font-weight: 700; }
.table tr:last-child td { border-bottom: 0; }
.table tr:hover td { background: #fbfaff; }

/* Lista vazia */
.empty { text-align: center; padding: 36px 16px; color: var(--ink-3); }
.empty strong { display: block; color: var(--ink); font-size: 1.05rem; margin-bottom: 4px; font-family: var(--display); }

/* Barra de progresso */
.progress { height: 10px; background: #efedf8; border-radius: 999px; overflow: hidden; }
.progress > span { display: block; height: 100%; background: var(--grad-h); border-radius: 999px; }

/* Página inicial: capa de show */
.is-public.is-home .topbar, body.is-public .topbar { }
.poster { position: relative; overflow: hidden; padding-block: 48px 36px; isolation: isolate; }
.poster__bg { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.blob { position: absolute; border-radius: 50%; filter: blur(2px); }
.blob--1 { width: 620px; height: 620px; left: -260px; top: -260px; background: radial-gradient(circle at 60% 60%, #d946ef, #9333ea 55%, transparent 70%); opacity: .9; border-radius: 42% 58% 60% 40% / 45% 40% 60% 55%; }
.blob--2 { width: 760px; height: 760px; right: -300px; top: -320px; background: radial-gradient(circle at 40% 60%, #7c3aed, #4f46e5 50%, transparent 70%); opacity: .85; border-radius: 55% 45% 40% 60% / 50% 60% 40% 50%; }
.blob--3 { width: 680px; height: 520px; right: -200px; bottom: -330px; background: radial-gradient(circle at 40% 30%, #38bdf8, #3b82f6 45%, transparent 70%); opacity: .7; }
.beam { position: absolute; top: -40px; width: 180px; height: 120%; transform-origin: top center; background: linear-gradient(180deg, rgba(255, 255, 255, .55), rgba(255, 255, 255, 0) 75%); filter: blur(10px); opacity: .55; }
.beam--1 { left: 38%; transform: rotate(18deg); }
.beam--2 { left: 54%; transform: rotate(-12deg); width: 120px; }
.beam--3 { left: 70%; transform: rotate(-28deg); width: 150px; opacity: .35; }
.orb { position: absolute; border-radius: 50%; box-shadow: inset -8px -10px 18px rgba(0, 0, 0, .18), 0 14px 30px rgba(76, 29, 149, .25); }
.orb--1 { width: 54px; height: 54px; left: 46%; top: 30px; background: radial-gradient(circle at 30% 30%, #f0abfc, #c026d3 55%, #7e22ce); }
.orb--2 { width: 26px; height: 26px; left: 8%; bottom: 120px; background: radial-gradient(circle at 30% 30%, #c4b5fd, #7c3aed); }
.orb--3 { width: 40px; height: 40px; right: 6%; bottom: 90px; background: radial-gradient(circle at 30% 30%, #bae6fd, #3b82f6 60%, #4f46e5); }
.orb--4 { width: 18px; height: 18px; right: 32%; top: 70px; background: radial-gradient(circle at 30% 30%, #ddd6fe, #6d28d9); }
.poster__in { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 40px; align-items: center; }
.poster__copy { background: rgba(255, 255, 255, .78); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); border-radius: 30px; padding: 34px; box-shadow: var(--shadow-lg); }
.poster__tag { display: inline-flex; align-items: center; gap: 8px; font: 700 .74rem var(--font); text-transform: uppercase; letter-spacing: .14em; color: var(--stage-2); background: #f3edff; padding: 7px 12px; border-radius: 999px; }
.poster__tag i { width: 8px; height: 8px; border-radius: 50%; background: #ef4444; box-shadow: 0 0 0 4px rgba(239, 68, 68, .18); animation: live 1.6s ease-in-out infinite; }
@keyframes live { 50% { box-shadow: 0 0 0 8px rgba(239, 68, 68, 0); } }
.poster__title { font: 800 clamp(2.3rem, 5.6vw, 4rem)/1.02 var(--display); letter-spacing: -.035em; margin: 18px 0 14px; text-wrap: balance; }
.poster__title em { font-style: normal; background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.poster__lead { font-size: 1.1rem; color: var(--ink-2); max-width: 46ch; }
.doors { display: grid; gap: 12px; margin-top: 22px; }
.door { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; padding: 16px 18px; border-radius: 20px; text-decoration: none; color: var(--ink); background: #fff; box-shadow: var(--shadow); border: 1px solid transparent; transition: transform .15s ease, box-shadow .15s, border-color .15s; }
.door:hover, .door:focus-visible { transform: translateY(-2px); border-color: #d8ccff; box-shadow: 0 18px 40px rgba(76, 29, 149, .16); outline: none; }
.door__ico { width: 48px; height: 48px; border-radius: 15px; display: grid; place-items: center; color: #fff; background: var(--grad); box-shadow: 0 8px 18px rgba(124, 58, 237, .3); }
.door--buyer .door__ico { background: var(--grad-cool); }
.door__ico .ico { width: 24px; height: 24px; }
.door__txt b { display: block; font: 800 1.08rem var(--display); }
.door__txt small { color: var(--ink-3); font-size: .88rem; }
.door__go { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: #f3edff; color: var(--stage-2); }
.door--artist { background: var(--grad); color: #fff; }
.door--artist .door__txt small { color: rgba(255, 255, 255, .85); }
.door--artist .door__ico { background: rgba(255, 255, 255, .2); box-shadow: none; }
.door--artist .door__go { background: rgba(255, 255, 255, .22); color: #fff; }
.poster__login { margin: 14px 0 0; font-size: .92rem; color: var(--ink-3); }
.poster__art { position: relative; padding: 24px 10px 24px 30px; }
.ticket { position: relative; border-radius: 28px; overflow: hidden; background: #160c33; color: #fff; box-shadow: 0 40px 80px rgba(46, 16, 101, .45); transform: rotate(-2.5deg); }
.ticket__top { position: relative; padding: 30px 28px 22px; background: radial-gradient(420px 220px at 80% 0%, rgba(255, 255, 255, .35), transparent 60%), var(--grad); }
.ticket__top::after { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(115deg, rgba(255, 255, 255, .07) 0 2px, transparent 2px 14px); mix-blend-mode: overlay; }
.ticket__kicker { font: 700 .72rem var(--font); letter-spacing: .2em; text-transform: uppercase; opacity: .85; }
.ticket__name { display: block; font: 800 clamp(1.9rem, 3.6vw, 2.6rem)/1 var(--display); letter-spacing: -.03em; margin: 10px 0 12px; }
.ticket__date { font: 800 1.3rem var(--display); letter-spacing: .04em; }
.ticket__date small { font: 700 .9rem var(--font); text-transform: uppercase; letter-spacing: .14em; color: #fff; margin-left: 4px; }
.ticket__lineup { list-style: none; margin: 0; padding: 18px 28px 6px; display: grid; gap: 12px; }
.ticket__lineup li { display: grid; grid-template-columns: 44px 1fr; align-items: baseline; gap: 2px 10px; border-bottom: 1px dashed rgba(255, 255, 255, .14); padding-bottom: 12px; }
.ticket__lineup span { grid-row: span 2; font: 700 .75rem var(--font); text-transform: uppercase; letter-spacing: .12em; color: #f0abfc; padding-top: 4px; }
.ticket__lineup b { font: 800 1.1rem var(--display); }
.ticket__lineup em { font-style: normal; color: rgba(255, 255, 255, .6); font-size: .86rem; }
.ticket__stub { position: relative; display: grid; grid-template-columns: repeat(3, 1fr) 70px; gap: 8px; align-items: center; padding: 18px 28px 22px; margin-top: 6px; border-top: 2px dashed rgba(255, 255, 255, .25); }
.ticket__stub::before, .ticket__stub::after { content: ""; position: absolute; top: -14px; width: 26px; height: 26px; border-radius: 50%; background: var(--paper); }
.ticket__stub::before { left: -13px; } .ticket__stub::after { right: -13px; }
.ticket__stub small { display: block; color: rgba(255, 255, 255, .55); font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; }
.ticket__stub b { font: 800 1.1rem var(--display); }
.ticket__code { height: 40px; background: repeating-linear-gradient(90deg, #fff 0 2px, transparent 2px 4px, #fff 4px 5px, transparent 5px 8px, #fff 8px 11px, transparent 11px 13px); opacity: .8; border-radius: 3px; }
.float { position: absolute; background: #fff; color: var(--ink); border-radius: 18px; box-shadow: 0 20px 44px rgba(46, 16, 101, .22); display: flex; align-items: center; gap: 12px; padding: 12px 16px; }
.float--kpi { left: -6px; bottom: 6px; }
.float--kpi b { font-family: var(--display); }
.float--kpi small { display: block; color: var(--ink-3); font-size: .74rem; }
.float__ring { --p: 50; width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(#c026d3, #7c3aed, #4f46e5 calc(var(--p) * 1%), #ece9fb 0); position: relative; }
.float__ring::before { content: ""; position: absolute; inset: 7px; border-radius: 50%; background: #fff; }
.float__ring b { position: relative; font-size: .8rem; }
.float--seal { right: 0; top: 0; font: 700 .84rem var(--font); }
.float--seal span { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(135deg, #10b981, #0f8a5f); color: #fff; font-size: .8rem; }
.poster__proof { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 14px; margin-top: 34px; }
.poster__proof div { background: rgba(255, 255, 255, .85); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-radius: 20px; padding: 16px 18px; box-shadow: var(--shadow); }
.poster__proof b { display: block; font: 800 1.6rem var(--display); background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.poster__proof span { font-size: .86rem; color: var(--ink-2); }
@media (max-width: 920px) {
  .poster__in { grid-template-columns: 1fr; }
  .poster__copy { padding: 26px 20px; }
  .poster__art { padding: 16px 6px 40px 12px; max-width: 460px; justify-self: center; width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .poster__tag i { animation: none; } .door { transition: none; } }

.section { padding: 56px 0; }
.section__title { font-size: clamp(1.5rem, 3.4vw, 2.2rem); max-width: 28ch; text-wrap: balance; }
.kicker { text-transform: uppercase; letter-spacing: .14em; font-size: .74rem; font-weight: 700; color: var(--stage-2); margin-bottom: 8px; }
.kicker--light { color: #f5d0fe; }
.steps { list-style: none; padding: 0; margin: 24px 0 0; display: grid; gap: 18px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); counter-reset: s; }
.steps li { background: #fff; border-radius: var(--radius); padding: 24px; box-shadow: var(--shadow); }
.steps li span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 14px; background: var(--grad); color: #fff; font: 800 1.1rem var(--display); margin-bottom: 14px; box-shadow: 0 8px 18px rgba(124, 58, 237, .3); }
.steps li b { font: 800 1.1rem var(--display); display: block; margin-bottom: 6px; }
.steps li p { margin: 0; color: var(--ink-2); font-size: .95rem; }
.feature { padding: 24px; border-radius: var(--radius); background: var(--card); box-shadow: var(--shadow); transition: transform .15s; }
.feature:hover { transform: translateY(-2px); }
.feature h3 { margin-bottom: 6px; }
.feature p { margin: 0; color: var(--ink-2); font-size: .95rem; }
.feature__icon { width: 46px; height: 46px; border-radius: 15px; background: linear-gradient(135deg, #f5e8ff, #e9e7ff); color: var(--stage-2); display: grid; place-items: center; margin-bottom: 14px; }
.feature__icon .ico { width: 22px; height: 22px; }
.buyerband { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 30px; align-items: center; border-radius: 30px; padding: 38px; color: #fff; background: radial-gradient(500px 300px at 90% 10%, rgba(56, 189, 248, .45), transparent 60%), var(--grad); box-shadow: var(--shadow-lg); }
.buyerband h2 { color: #fff; font-size: clamp(1.5rem, 3.2vw, 2.1rem); text-wrap: balance; }
.buyerband__list { padding-left: 18px; display: grid; gap: 8px; color: rgba(255, 255, 255, .92); margin: 0 0 22px; }
.buyerband__note { margin: 16px 0 0; font-size: .85rem; color: rgba(255, 255, 255, .78); }
.btn--light { background: #fff; color: var(--stage); box-shadow: 0 10px 24px rgba(30, 10, 80, .25); }
.btn--glass { background: rgba(255, 255, 255, .16); color: #fff; border-color: rgba(255, 255, 255, .35); box-shadow: none; }
.buyerband__mock { background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .25); border-radius: 22px; padding: 20px; backdrop-filter: blur(8px); display: grid; gap: 10px; }
.mock__row { display: flex; justify-content: space-between; align-items: center; background: rgba(255, 255, 255, .92); color: var(--ink); border-radius: 14px; padding: 12px 14px; font-size: .9rem; }
.mock__row span { font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--stage-2); }
.mock__bar { height: 10px; background: rgba(255, 255, 255, .25); border-radius: 999px; overflow: hidden; }
.mock__bar i { display: block; height: 100%; background: #fff; border-radius: 999px; }
.buyerband__mock small { color: rgba(255, 255, 255, .85); }
@media (max-width: 860px) { .buyerband { grid-template-columns: 1fr; padding: 26px 20px; } }
.price { background: var(--grad); color: #fff; border-radius: 28px; padding: 30px; box-shadow: var(--shadow-lg); position: relative; overflow: hidden; }
.price::after { content: ""; position: absolute; right: -60px; top: -60px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, rgba(255, 255, 255, .25), transparent 70%); }
.price__name { font-weight: 700; opacity: .9; }
.price__n { font: 800 2.8rem var(--display); letter-spacing: -.03em; }
.price ul { padding-left: 18px; color: rgba(255, 255, 255, .9); }
.faq details { border-bottom: 1px solid var(--line); padding: 16px 0; }
.faq details:last-child { border-bottom: 0; }
.faq summary { font-weight: 700; cursor: pointer; }
.faq details p { margin: 10px 0 0; color: var(--ink-2); }

/* Card de artista (busca) */
.acard { display: grid; grid-template-columns: 88px 1fr; gap: 14px; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 14px; text-decoration: none; color: inherit; box-shadow: var(--shadow); transition: border-color .15s; }
.acard:hover { border-color: #cfc3f5; }
.avatar { width: 88px; height: 88px; border-radius: 14px; object-fit: cover; background: linear-gradient(135deg, var(--stage-2), #8a5cf6); color: #fff; display: grid; place-items: center; font-family: var(--display); font-weight: 800; font-size: 1.6rem; }
.avatar--lg { width: 148px; height: 148px; border-radius: 22px; font-size: 2.6rem; }
.acard h3 { margin: 0 0 2px; }
.acard__meta { color: var(--ink-3); font-size: .88rem; }
.acard__fee { font-weight: 700; margin-top: 6px; }

/* Perfil público */
.profilehead { display: grid; grid-template-columns: auto 1fr; gap: 22px; align-items: center; margin-bottom: 20px; }
@media (max-width: 560px) { .profilehead { grid-template-columns: 1fr; } }
.profilehead h1 { margin-bottom: 6px; }
.video { position: relative; padding-top: 56.25%; border-radius: var(--radius); overflow: hidden; background: #000; }
.video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Checklist de documentos */
.doclist { display: grid; gap: 10px; }
.docitem { display: grid; grid-template-columns: 1fr auto; gap: 8px 12px; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fff; }
.docitem__name { font-weight: 600; }
.docitem__files { grid-column: 1 / -1; font-size: .88rem; display: grid; gap: 6px; }
.docitem__file { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; padding: 8px 10px; background: #faf8f4; border-radius: 8px; }

/* Radar */
.bars { display: grid; grid-template-columns: repeat(12, 1fr); gap: 4px; align-items: end; height: 80px; }
.bars span { background: #e6def9; border-radius: 4px 4px 0 0; min-height: 3px; position: relative; }
.bars span.is-hot { background: var(--stage-2); }
.bars__labels { display: grid; grid-template-columns: repeat(12, 1fr); gap: 4px; font-size: .7rem; color: var(--ink-3); text-align: center; margin-top: 4px; }
.cal { display: grid; gap: 8px; }
.cal__item { display: grid; grid-template-columns: 56px 1fr auto; gap: 12px; align-items: center; padding: 10px 12px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-sm); text-decoration: none; color: inherit; }
.cal__date { text-align: center; background: #f4effe; border-radius: 10px; padding: 6px 0; line-height: 1.1; }
.cal__date b { font-family: var(--display); font-size: 1.3rem; display: block; color: var(--stage); }
.cal__date small { text-transform: uppercase; font-size: .7rem; font-weight: 700; color: var(--stage-2); }
.filters { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; margin-bottom: 18px; }
.filters .field { min-width: 150px; flex: 1; }

/* EAD */
.lesson { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 20px; align-items: start; }
@media (max-width: 900px) { .lesson { grid-template-columns: 1fr; } }
.lessonnav a { display: flex; gap: 8px; align-items: center; padding: 8px 10px; border-radius: 8px; text-decoration: none; color: var(--ink-2); font-size: .92rem; }
.lessonnav a.is-active { background: #f1ebff; color: var(--stage); font-weight: 600; }
.lessonnav .dot { width: 18px; height: 18px; border-radius: 50%; border: 2px solid #cfc6e3; flex: none; }
.lessonnav .dot.is-done { background: var(--ok); border-color: var(--ok); }
.prose { font-size: 1.02rem; }
.prose ul { padding-left: 20px; }
.prose li { margin-bottom: 6px; }
.placeholder-video { aspect-ratio: 16 / 9; border-radius: var(--radius); background: repeating-linear-gradient(135deg, #f1ebff 0 14px, #f7f3ff 14px 28px); display: grid; place-items: center; color: var(--stage-2); font-weight: 600; text-align: center; padding: 16px; }

/* Rodapé */
.footer { border-top: 1px solid var(--line); padding: 22px 0; font-size: .9rem; color: var(--ink-3); background: #fff; }
.footer__in { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.footer__links { display: flex; gap: 16px; flex-wrap: wrap; }
.footer a { color: var(--ink-2); text-decoration: none; }

/* Paginação */
.pager { display: flex; gap: 6px; flex-wrap: wrap; justify-content: center; margin-top: 18px; }
.pager a, .pager span { padding: 7px 12px; border-radius: 8px; border: 1px solid var(--line); text-decoration: none; background: #fff; color: var(--ink-2); font-size: .9rem; }
.pager .is-current { background: var(--stage); color: #fff; border-color: var(--stage); }

/* Ajustes */
.field, .form > *, .split > *, .grid > * { min-width: 0; }
select { max-width: 100%; text-overflow: ellipsis; }
.doclist .btnrow { flex-wrap: nowrap; align-items: flex-start; }
.doclist .btnrow > span:first-child { flex: 1; }
.doclist .badge { flex: none; }
@media (max-width: 860px) { .split--aside-first > :last-child { order: -1; } }
.badge--spot { background: #fff1cc; color: #7a4b00; }
.acard--hl { border-color: #f5c451; box-shadow: 0 0 0 2px rgba(255,182,39,.25), var(--shadow); }
.calgrid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.calgrid__w { text-align: center; font-size: .72rem; font-weight: 700; color: var(--ink-3); padding: 4px 0; }
.calgrid__d { min-height: 52px; border: 1px solid var(--line); border-radius: 8px; padding: 4px 6px; text-decoration: none; color: var(--ink-2); font-size: .85rem; display: flex; flex-direction: column; gap: 3px; background: #fff; }
.calgrid__d i { display: block; height: 6px; border-radius: 3px; }
.calgrid__d.has-gig { font-weight: 700; color: var(--ink); }
.calgrid__d.is-today { border-color: var(--stage-2); box-shadow: inset 0 0 0 1px var(--stage-2); }
.calgrid__d:hover { background: #f6f2ff; }
i.dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; vertical-align: middle; }
.busy { display: flex; flex-wrap: wrap; gap: 6px; }
.busy span { font-size: .8rem; padding: 3px 8px; border-radius: 6px; background: #f2eee8; color: var(--ink-2); }
@media (max-width: 640px) {
  .table--stack tr:first-child { display: none; }
  .table--stack tr { display: grid; grid-template-columns: 28px 1fr; gap: 2px 8px; padding: 12px 0; border-bottom: 1px solid var(--line); }
  .table--stack td { border: 0; padding: 0; white-space: normal !important; }
  .table--stack td:first-child { grid-row: span 3; padding-top: 2px; }
  .table--stack td[data-label]::before { content: attr(data-label) ": "; color: var(--ink-3); font-size: .8rem; }
  .table--stack td br + small, .table--stack td small { font-size: .82rem; }
}

/* Montador de grade */
.grade-form { display: grid; gap: 14px; }
.grade-form__row { display: grid; gap: 12px; align-items: start; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.grade-tiers { border: 1px solid var(--line); border-radius: var(--radius); padding: 12px 14px 14px; margin: 0; display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
.grade-tiers legend { font-weight: 700; padding: 0 6px; }
.grade-summary { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); background: var(--stage); color: #fff; border-radius: var(--radius); padding: 16px; }
.grade-summary small { display: block; color: #cbbff0; }
.grade-summary b { font-size: 1.1rem; }
.grade-options { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); align-items: start; }
.grade-option { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 16px; display: grid; gap: 12px; box-shadow: var(--shadow); min-width: 0; }
.grade-option--top { border-color: var(--spot); box-shadow: 0 0 0 2px rgba(255,182,39,.35), var(--shadow); }
.grade-option__head { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.grade-option__label { font-weight: 800; font-size: 1.05rem; }
.grade-option__total { text-align: right; display: grid; white-space: nowrap; }
.grade-option__total b { font-size: 1.2rem; }
.grade-bar { height: 8px; border-radius: 99px; background: var(--paper); overflow: hidden; }
.grade-bar i { display: block; height: 100%; background: linear-gradient(90deg, var(--stage-2), var(--spot)); }
.grade-lineup { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.grade-lineup li { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; padding: 10px 0; border-top: 1px solid var(--line); }
.grade-lineup__who { display: grid; gap: 2px; min-width: 0; }
.grade-lineup__who a { color: inherit; }
.grade-lineup__fee { text-align: right; display: grid; }
.grade-lineup__fee small { font-size: .75rem; }
.grade-tier { font: 700 .7rem/1 var(--font, inherit); letter-spacing: .06em; text-transform: uppercase; padding: 6px 8px; border-radius: 8px; background: var(--paper); min-width: 82px; text-align: center; }
.grade-tier--nacional { background: var(--stage); color: var(--spot); }
.grade-tier--medio { background: #ece6ff; color: var(--stage); }
.grade-msg summary { cursor: pointer; color: var(--ink-3); font-size: .9rem; }
.grade-msg textarea { width: 100%; margin-top: 8px; }
li.grade-day { display: flex; justify-content: space-between; align-items: baseline; border-top: 2px solid var(--stage); padding: 10px 0 2px; color: var(--stage); }
.grade-tiers__por { grid-column: 1 / -1; max-width: 420px; }
.grade-summary b + small { display: block; }
@media (max-width: 520px) { .grade-lineup li:not(.grade-day) { grid-template-columns: 1fr auto; } .grade-tier { grid-column: 1 / -1; justify-self: start; min-width: 0; } .grade-option__head { flex-direction: column; } .grade-option__total { text-align: left; } }
.grade-option { container-type: inline-size; }
@container (max-width: 440px) {
  .grade-lineup li:not(.grade-day) { grid-template-columns: 1fr auto; }
  .grade-tier { grid-column: 1 / -1; justify-self: start; min-width: 0; }
  .grade-option__head { flex-direction: column; gap: 4px; }
  .grade-option__total { text-align: left; }
}

/* Mídia kit (painel) */
.kitlink { display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: start; }
.kitlink__main { display: grid; gap: 10px; min-width: 0; }
.kitlink__row { display: flex; gap: 8px; flex-wrap: wrap; }
.kitlink__row input { flex: 1 1 260px; min-width: 0; font-weight: 600; }
.kitlink__qr { display: grid; gap: 8px; justify-items: center; text-align: center; max-width: 190px; }
.kitlink__qr #kitQr { padding: 10px; background: #fff; border: 1px solid var(--line); border-radius: 12px; min-height: 188px; min-width: 188px; }
.themes { display: flex; flex-wrap: wrap; gap: 10px; }
.theme { display: grid; justify-items: center; gap: 4px; font-size: .85rem; cursor: pointer; }
.theme input { position: absolute; opacity: 0; }
.theme span { width: 56px; height: 40px; border-radius: 10px; display: grid; place-items: center; border: 2px solid transparent; }
.theme i { width: 18px; height: 18px; border-radius: 50%; }
.theme input:checked + span { border-color: var(--spot); box-shadow: 0 0 0 3px rgba(255,182,39,.35); }
.theme input:focus-visible + span { outline: 2px solid var(--stage); outline-offset: 2px; }
.kitcover { display: flex; gap: 10px; align-items: center; }
.kitcover img { width: 72px; height: 72px; border-radius: 8px; object-fit: cover; }
@media (max-width: 700px) { .kitlink { grid-template-columns: 1fr; } .kitlink__qr { justify-self: center; } }

/* Roteiro de viagem */
.route-form { display: grid; gap: 12px; }
.route-form__row { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); align-items: start; }
.route-summary { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); background: var(--stage); color: #fff; border-radius: var(--radius); padding: 16px; }
.route-summary small { display: block; color: #cbbff0; }
.route-summary b { font-size: 1.05rem; }
.route-strip { list-style: none; margin: 16px 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.route-strip li { font-size: .85rem; padding: 6px 10px; border-radius: 999px; background: var(--card); border: 1px solid var(--line); }
.route-strip li + li::before { content: "→"; margin-right: 6px; color: var(--ink-3); }
.route-strip li a { color: inherit; text-decoration: none; }
.route-strip .is-base { background: var(--spot); border-color: var(--spot); font-weight: 700; }
.route-day { margin-top: 22px; display: grid; gap: 12px; }
.route-day__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; flex-wrap: wrap; border-bottom: 2px solid var(--stage); padding-bottom: 8px; }
.route-day__head h2 { margin: 0; }
.route-city { display: grid; grid-template-columns: 40px 1fr; gap: 12px; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 14px; box-shadow: var(--shadow); scroll-margin-top: 80px; }
.route-city__n { width: 36px; height: 36px; border-radius: 50%; background: var(--stage); color: var(--spot); display: grid; place-items: center; font-weight: 800; }
.route-city__body { min-width: 0; display: grid; gap: 10px; }
.route-city__top { display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; }
.route-city__top h3 { margin: 0; }
.route-grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.route-grid > div { min-width: 0; display: grid; gap: 4px; align-content: start; }
.route-label { font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--stage); }
.route-fests, .route-radios { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; font-size: .92rem; }
.route-fests b { display: inline-block; min-width: 46px; color: var(--stage); }
.route-addradio summary { cursor: pointer; font-size: .85rem; color: var(--ink-3); margin-top: 4px; }
.route-addradio form { margin-top: 8px; gap: 8px; }
.route-end { margin: 0; font-weight: 600; color: var(--stage); padding-left: 52px; }
.route-save { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
@media print {
  .topbar, .route-form, .btnrow, .route-addradio, .route-save, .chips, .demo-bar, footer { display: none !important; }
  .route-city { box-shadow: none; break-inside: avoid; }
  .route-summary { background: #fff; color: #000; border: 1px solid #000; }
  .route-summary small { color: #444; }
}
.kitpromo { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; background: linear-gradient(120deg, #fff, #fff6df); }

/* Planejamento 360 integrado */
.plan-jump { display: flex; flex-wrap: wrap; gap: 8px; }
.plan-jump a { font-weight: 600; text-decoration: none; padding: 8px 14px; border-radius: 999px; background: var(--card); border: 1px solid var(--line); color: var(--stage); }
.plan-section { margin-top: 28px; scroll-margin-top: 80px; }
.plan-section > h2 { margin: 0 0 12px; }
.route-city__top h4 { margin: 0; font-size: 1.1rem; }
.route-day__head h3 { margin: 0; }
.route-fests li { display: grid; gap: 0; }
.route-fests li b { min-width: 0; }
.route-fests small { font-size: .78rem; }

/* Tema 2026: ajustes dos componentes antigos */
.acard { border: 0; border-radius: var(--radius); padding: 16px; box-shadow: var(--shadow); transition: transform .15s, box-shadow .15s; }
.acard:hover { transform: translateY(-2px); box-shadow: 0 18px 40px rgba(76, 29, 149, .14); border: 0; }
.acard--hl { box-shadow: 0 0 0 2px #e9d5ff, var(--shadow); }
.avatar { border-radius: 18px; background: var(--grad); }
.avatar--lg { border-radius: 28px; box-shadow: var(--shadow-lg); }
.docitem { border: 0; background: #f8f7fd; border-radius: 16px; }
.docitem__file { background: #fff; border-radius: 10px; }
.bars span { background: #ebe6fb; border-radius: 6px 6px 2px 2px; }
.bars span.is-hot { background: var(--grad); }
.cal__item { border: 0; box-shadow: var(--shadow); border-radius: 16px; }
.cal__date { background: linear-gradient(135deg, #f5e8ff, #e9e7ff); border-radius: 12px; }
.lessonnav a.is-active { background: #f3edff; }
.placeholder-video { background: repeating-linear-gradient(135deg, #f3edff 0 14px, #f8f6ff 14px 28px); }
.footer { border-top: 0; background: transparent; }
.pager a, .pager span { border: 0; background: #fff; border-radius: 10px; box-shadow: var(--shadow); }
.pager .is-current { background: var(--grad); }
.badge--spot { background: linear-gradient(135deg, #fae8ff, #ede9fe); color: #a21caf; }
.grade-summary, .route-summary { background: var(--grad); border-radius: var(--radius); padding: 20px; box-shadow: var(--shadow-lg); }
.grade-summary small, .route-summary small { color: rgba(255, 255, 255, .8); }
.grade-option, .route-city { border: 0; }
.grade-option--top { box-shadow: 0 0 0 2px #d8b4fe, var(--shadow-lg); }
.grade-bar i { background: var(--grad-h); }
.grade-tier--nacional { background: var(--grad); color: #fff; }
.grade-tier--medio { background: #f1ecff; color: var(--stage-2); }
li.grade-day { border-top-color: #ddd6fe; color: var(--stage-2); }
.route-strip li { border: 0; box-shadow: var(--shadow); }
.route-strip .is-base { background: var(--grad); color: #fff; }
.route-strip .is-base::before { color: rgba(255, 255, 255, .7); }
.route-day__head { border-bottom: 2px solid #e9e3ff; }
.route-city__n { background: var(--grad); color: #fff; box-shadow: 0 6px 14px rgba(124, 58, 237, .3); }
.route-label, .route-fests b, .route-end { color: var(--stage-2); }
.plan-jump a { border: 0; box-shadow: var(--shadow); color: var(--stage-2); }
.plan-jump a:hover { background: var(--grad); color: #fff; }
.calgrid__d { border-radius: 12px; }
.theme input:checked + span { border-color: #c026d3; box-shadow: 0 0 0 3px rgba(192, 38, 211, .25); }
.kitpromo { background: linear-gradient(120deg, #fff, #f5edff); border: 0; }
.kitlink__qr #kitQr { border: 0; box-shadow: var(--shadow); }
.table--stack td { vertical-align: top; }
.seal { white-space: nowrap; }
details summary { color: var(--stage-2); }
.card.empty { box-shadow: var(--shadow); }
.features { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .features { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .features { grid-template-columns: 1fr; } }
.grid--4 { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.appbar__brand { display: none; text-decoration: none; }
.appbar__brand .brand__mark { display: block; width: 36px; height: 36px; }
@media (max-width: 960px) { .appbar__brand { display: block; } }
@media (max-width: 420px) { .stat__n { font-size: 1.7rem; } .stat { padding: 16px; } }

/* Telefones com WhatsApp */
.phone { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-right: 8px; white-space: nowrap; }
.phone a[href^="tel:"] { color: var(--ink); font-weight: 600; text-decoration: none; }
.wa { display: inline-flex; align-items: center; padding: 2px 9px; border-radius: 999px; background: #25d366; color: #fff !important; font-size: .75rem; font-weight: 700; text-decoration: none; line-height: 1.5; }
.wa:hover { background: #1ebe5a; }
.wa--try { background: transparent; color: #128c4a !important; border: 1px solid #9fe3b9; font-weight: 600; }
.wa--try:hover { background: #e9f9ef; }

/* Planos */
.price__tag { display: inline-block; margin: 6px 0 2px; padding: 4px 12px; border-radius: 999px; background: rgba(255, 255, 255, .22); font-weight: 700; font-size: .85rem; }
.price__alt { font-size: .92rem; opacity: .92; margin-bottom: 8px; }
.plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; margin-top: 8px; }
.plan { border: 1px solid var(--line); border-radius: 18px; padding: 20px; background: #fff; display: flex; flex-direction: column; gap: 6px; }
.plan__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.plan__price { font: 800 1.9rem var(--display); letter-spacing: -.02em; }
.plan .btn { margin-top: auto; }

/* Foto de perfil */
.appbar__me { overflow: hidden; }
.appbar__me img { width: 100%; height: 100%; object-fit: cover; display: block; }
.avatarcard { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; }
.avatarcard__img { width: 88px; height: 88px; border-radius: 50%; overflow: hidden; background: var(--grad); display: grid; place-items: center; flex: none; }
.avatarcard__img img { width: 100%; height: 100%; object-fit: cover; }
.avatarcard__img span { color: #fff; font: 800 2rem var(--display); }
.avatarcard__form { display: grid; gap: 6px; flex: 1; min-width: 220px; }

/* Mídia kit: personalização */
.kitcolors { display: flex; gap: 12px; flex-wrap: wrap; margin: 4px 0 12px; }
.kitcolor { display: flex; align-items: center; gap: 8px; padding: 6px 12px 6px 6px; border: 1px solid var(--line); border-radius: 999px; background: #fff; cursor: pointer; font-weight: 600; font-size: .9rem; }
.kitcolor input[type=color] { width: 34px; height: 34px; border: 0; padding: 0; border-radius: 50%; background: none; cursor: pointer; }
.kitcolor input[type=color]::-webkit-color-swatch-wrapper { padding: 0; }
.kitcolor input[type=color]::-webkit-color-swatch { border: 1px solid rgba(0,0,0,.12); border-radius: 50%; }
.kitfontprev { font-size: 2rem; font-weight: 800; line-height: 1.1; padding: 14px 16px; border-radius: 14px; background: var(--paper); margin-bottom: 12px; overflow-wrap: anywhere; }
.kitthumb { display: flex; align-items: center; gap: 10px; margin-top: 8px; flex-wrap: wrap; }
.kitthumb img { width: 120px; height: 64px; object-fit: cover; border-radius: 10px; }

/* Espaço entre blocos (cartões, colunas e formulários empilhados) */
.split + .card, .split + .split, .card + .split, .card + form, form + .card, form + .split, .split + form,
.grid + .card, .card + .grid, .grid + .split, .split + .grid, .filters + .card, .card + .pager, .tablewrap + .card { margin-top: 18px; }
.split > .card + .card { margin-top: 0; }
@media (max-width: 960px) { .split > * + * { margin-top: 0; } }
.autostats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin-bottom: 8px; }
.autostats div { background: var(--paper); border-radius: 14px; padding: 12px 14px; display: grid; }
.autostats b { font: 800 1.3rem var(--display); }
.autostats span { font-size: .8rem; color: var(--ink-3); }

/* Conferência de documentos */
.verifybox { display: grid; gap: 8px; padding: 12px 14px; border-radius: 14px; background: var(--paper); margin-bottom: 12px; font-size: .92rem; }
.verifybox code { background: #fff; padding: 2px 6px; border-radius: 6px; }
.verifychecks { display: grid; gap: 4px; width: 100%; padding-bottom: 6px; }

/* Botões de WhatsApp: sempre verdes */
.btn.is-wa, a.chip.is-wa { background: #25d366 !important; border-color: #25d366 !important; color: #fff !important; box-shadow: 0 8px 20px rgba(37, 211, 102, .28) !important; }
.btn.is-wa:hover, a.chip.is-wa:hover { background: #1ebe5a !important; }

/* Radar: degradê passando e pulso */
.side__link--radar span { background: linear-gradient(90deg, #7c3aed, #d946ef, #4f46e5, #7c3aed); background-size: 300% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; font-weight: 700; animation: radarGrad 4s linear infinite; }
.side__link--radar .ico { color: #a21caf; animation: radarIcon 2.2s ease-in-out infinite; }
.radar-pulse { position: relative; width: 9px; height: 9px; border-radius: 50%; background: #d946ef; margin-left: auto; flex: none; }
.radar-pulse::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: #d946ef; animation: radarPing 1.8s ease-out infinite; }
@keyframes radarGrad { to { background-position: 300% 0; } }
@keyframes radarPing { 0% { transform: scale(1); opacity: .7; } 100% { transform: scale(3.2); opacity: 0; } }
@keyframes radarIcon { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.12); } }
@media (prefers-reduced-motion: reduce) { .side__link--radar span, .side__link--radar .ico, .radar-pulse::after { animation: none; } }
.hlpreview { max-width: 520px; pointer-events: none; }

/* Aceite de datas */
.decide { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 14px; }
.decide form { display: grid; gap: 8px; padding: 14px; border-radius: 14px; background: var(--paper); align-content: start; }
.decide__accept { border: 1px solid #b7ecc9; background: #f1fbf4 !important; }
@media (max-width: 760px) { .decide { grid-template-columns: 1fr; } }

/* Calculadora de custo do show */
.costteam input { min-width: 0; }
.costteam td:first-child { min-width: 180px; }
.costgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; margin-top: 12px; }
.costgrid fieldset { border: 1px solid var(--line); border-radius: 16px; padding: 14px; margin: 0; display: grid; gap: 8px; align-content: start; min-width: 0; }
.costgrid legend { font-weight: 800; padding: 0 6px; }
.chipcheck { padding: 6px 12px; border: 1px solid var(--line); border-radius: 999px; background: #fff; }
.modeopt { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 12px 14px; border: 1px solid var(--line); border-radius: 14px; text-decoration: none; color: inherit; margin-bottom: 8px; }
.modeopt span { display: grid; gap: 2px; min-width: 0; }
.modeopt small { font-size: .78rem; overflow-wrap: anywhere; }
.modeopt.is-on { border-color: #b9a3ff; background: #f6f2ff; box-shadow: 0 0 0 2px #e4d9ff inset; }
.modeopt:hover { border-color: #b9a3ff; }
.hotels { list-style: none; padding: 0; margin: 0 0 12px; display: grid; gap: 8px; }
.hotels li { display: grid; }
.right { text-align: right; }

/* Montar grade: artistas já fechados */
.grade-bar { display: flex; }
.grade-bar i { flex: none; }
.grade-bar i.grade-bar__fixed { background: var(--muted, #8a8499); opacity: .55; }
.grade-fixed { border: 1px dashed var(--line); border-radius: 14px; padding: 12px 16px; margin: 4px 0 14px; }
.grade-fixed summary { cursor: pointer; line-height: 1.5; }
.grade-fixed__rows { display: grid; gap: 10px; margin: 12px 0 6px; }
.grade-fixed__row { display: grid; grid-template-columns: 2fr 1.2fr 1.2fr 1.4fr; gap: 10px; }
.grade-fixed__row .field { margin: 0; }
@media (max-width: 720px) { .grade-fixed__row { grid-template-columns: 1fr 1fr; padding-bottom: 10px; border-bottom: 1px solid var(--line); } .grade-fixed__row .field:first-child { grid-column: 1 / -1; } }
.grade-lineup__fixed { opacity: .8; background: var(--paper); }

/* Calculadora: rota, links prontos e logística */
.formsec { font-weight: 700; font-size: .92rem; margin: 6px 0 2px; color: var(--ink); }
.formsec small { font-weight: 500; }
.routepick { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 20px; padding: 12px 14px; border: 1px dashed var(--line); border-radius: 14px; background: var(--paper); margin: 6px 0 10px; }
.routepick .row2 { gap: 10px; }
@media (max-width: 760px) { .routepick { grid-template-columns: 1fr; } }
.linkbox { background: linear-gradient(135deg, #faf5ff, #eef2ff); border-color: #e4d9ff; }
.linkbox .card__head { flex-wrap: wrap; gap: 4px 12px; }
.linkbox__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 10px; }
.golink { display: flex; gap: 12px; align-items: center; padding: 12px 14px; border-radius: 14px; background: var(--card); border: 1px solid #e4d9ff; text-decoration: none; color: var(--ink); box-shadow: 0 1px 2px rgba(60, 40, 150, .05); transition: transform .15s, box-shadow .15s; min-width: 0; }
.golink:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(91, 33, 182, .12); }
.golink svg { flex: none; width: 34px; height: 34px; padding: 7px; border-radius: 10px; background: var(--grad); color: #fff; stroke: #fff; }
.golink span { display: grid; gap: 1px; min-width: 0; }
.golink small { color: var(--ink-3); font-size: .78rem; overflow-wrap: anywhere; }
.gigcost { margin: 26px 0; }
.gigcost > .card__head { flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.gigcost h2 { font-size: 1.35rem; }
.tiny { font-size: .76rem; color: var(--ink-3); text-decoration: none; }
.routechain { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.routechain span { display: inline-flex; gap: 4px; align-items: baseline; padding: 6px 12px; border-radius: 99px; background: var(--paper); font-weight: 600; }
.routechain span small { color: var(--ink-3); font-weight: 500; }
.routechain i { color: var(--stage-2); font-style: normal; }
.loglist { display: grid; gap: 10px; }
.logitem { display: grid; grid-template-columns: 56px 1fr auto; gap: 14px; align-items: center; text-decoration: none; color: inherit; padding: 14px 16px; margin: 0; }
.logitem:hover { border-color: #b9a3ff; }
.logitem__date { display: grid; place-items: center; background: var(--grad); color: #fff; border-radius: 14px; padding: 8px 0; }
.logitem__date b { font-size: 1.3rem; line-height: 1; }
.logitem__date small { font-size: .72rem; color: #fff; opacity: .92; text-transform: uppercase; }
.logitem__main { display: grid; gap: 2px; min-width: 0; }
.logitem__main small { overflow-wrap: anywhere; }
.logitem__route { color: var(--ink-2); }
.logitem__money { display: grid; justify-items: end; gap: 2px; text-align: right; }
@media (max-width: 600px) { .logitem { grid-template-columns: 48px 1fr; } .logitem__money { grid-column: 2; justify-items: start; text-align: left; } }

/* ===================== Notificações ===================== */
.navbadge { margin-left: auto; min-width: 22px; height: 22px; padding: 0 7px; border-radius: 99px; background: linear-gradient(135deg, #ef4444, #d946ef); color: #fff; font: 800 .74rem/22px var(--font); text-align: center; box-shadow: 0 0 0 0 rgba(217, 70, 239, .6); animation: badgePulse 1.8s ease-out infinite; }
.navbadge[hidden] { display: none; }
.navbadge.bump { animation: badgeBump .6s cubic-bezier(.3, 1.6, .5, 1), badgePulse 1.8s ease-out .6s infinite; }
@keyframes badgePulse { 0% { box-shadow: 0 0 0 0 rgba(217, 70, 239, .55); } 70% { box-shadow: 0 0 0 10px rgba(217, 70, 239, 0); } 100% { box-shadow: 0 0 0 0 rgba(217, 70, 239, 0); } }
@keyframes badgeBump { 0% { transform: scale(.4); } 60% { transform: scale(1.35); } 100% { transform: scale(1); } }
.bell { position: relative; margin-left: auto; }
.appbar__hello + .bell, .bell + .appbar__me { margin-left: 0; }
.bell__btn { position: relative; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--line); background: var(--card); display: grid; place-items: center; cursor: pointer; color: var(--ink-2); }
.bell__btn svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.bell__btn.has-new { color: var(--stage-2); border-color: #d8c8ff; }
.bell__btn.has-new svg { animation: bellRing 2.4s ease-in-out infinite; transform-origin: 50% 10%; }
@keyframes bellRing { 0%, 70%, 100% { transform: rotate(0); } 75% { transform: rotate(14deg); } 80% { transform: rotate(-12deg); } 85% { transform: rotate(9deg); } 90% { transform: rotate(-6deg); } 95% { transform: rotate(3deg); } }
.bell__n { position: absolute; top: -4px; right: -4px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 99px; background: linear-gradient(135deg, #ef4444, #d946ef); color: #fff; font: 800 .7rem/20px var(--font); text-align: center; border: 2px solid var(--paper); }
.bell__n[hidden] { display: none; }
.bell__panel { position: absolute; right: 0; top: 54px; width: min(360px, calc(100vw - 32px)); max-height: 70vh; overflow: auto; background: var(--card); border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 24px 60px rgba(40, 20, 110, .22); z-index: 50; padding: 8px; animation: panelIn .18s ease-out; }
@keyframes panelIn { from { opacity: 0; transform: translateY(-6px) scale(.98); } }
.bell__head { display: flex; justify-content: space-between; align-items: baseline; padding: 8px 10px; }
.bell__head small { color: var(--stage-2); font-weight: 700; }
.bell__empty { padding: 10px; color: var(--ink-3); margin: 0; }
.bell__item { display: flex; gap: 12px; padding: 10px; border-radius: 12px; text-decoration: none; color: var(--ink); }
.bell__item:hover { background: #f6f2ff; }
.bell__item.is-new { background: linear-gradient(90deg, #f6f0ff, #fff); }
.bell__item.is-new b::after { content: ""; display: inline-block; width: 8px; height: 8px; margin-left: 6px; border-radius: 50%; background: #d946ef; vertical-align: middle; }
.bell__item > span:last-child { display: grid; gap: 2px; min-width: 0; }
.bell__item small { color: var(--ink-2); overflow-wrap: anywhere; }
.bell__item time { font-size: .72rem; color: var(--ink-3); }
.bell__ico { flex: none; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; background: var(--paper); font-size: 1.15rem; }
.cstoast { position: fixed; z-index: 90; right: max(16px, env(safe-area-inset-right, 0px)); bottom: max(16px, env(safe-area-inset-bottom, 0px)); display: flex; gap: 12px; align-items: center; max-width: min(380px, calc(100vw - 32px)); padding: 14px 16px; border-radius: 18px; background: #1e1442; color: #fff; text-decoration: none; box-shadow: 0 20px 50px rgba(30, 20, 66, .4); transform: translateY(140%); opacity: 0; transition: transform .45s cubic-bezier(.2, 1.4, .4, 1), opacity .3s; }
.cstoast.is-on { transform: none; opacity: 1; }
.cstoast__ico { flex: none; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 14px; background: var(--grad); font-size: 1.3rem; }
.cstoast span:last-child { display: grid; gap: 2px; min-width: 0; }
.cstoast small { color: #d9d2ff; overflow-wrap: anywhere; }
.count-dot { display: inline-grid; place-items: center; min-width: 24px; height: 24px; padding: 0 7px; border-radius: 99px; background: linear-gradient(135deg, #ef4444, #d946ef); color: #fff; font: 800 .76rem var(--font); animation: badgePulse 1.8s ease-out infinite; }
.count-dot--in { min-width: 20px; height: 20px; font-size: .7rem; margin-left: 4px; }
.no-scroll { overflow: hidden; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.btn--big { padding-top: 15px; padding-bottom: 15px; font-size: 1.02rem; }
.btn--glow { box-shadow: 0 0 0 0 rgba(192, 38, 211, .5); animation: badgePulse 2.2s ease-out infinite; }

/* ===================== Calendário de pedido de data ===================== */
.bookcal { scroll-margin-top: 90px; }
.bookcal__head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 20px; margin-bottom: 12px; }
.bookcal__legend { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; font-size: .8rem; color: var(--ink-2); }
.bookcal__legend span { display: inline-flex; gap: 6px; align-items: center; }
.lg { width: 14px; height: 14px; border-radius: 5px; display: inline-block; }
.lg--free { background: #ecfdf5; border: 1.5px solid #34d399; }
.lg--busy { background: repeating-linear-gradient(45deg, #f1f0f7, #f1f0f7 3px, #e2e0ee 3px, #e2e0ee 6px); }
.lg--mine { background: var(--grad); }
.bookcal__pending { display: flex; gap: 10px; align-items: center; padding: 10px 14px; border-radius: 14px; background: #fff7e6; color: #7a4b00; text-decoration: none; margin-bottom: 12px; }
.bookcal__pending.is-ok { background: var(--ok-bg); color: var(--ok); }
.waitdot { flex: none; width: 10px; height: 10px; border-radius: 50%; background: #f59e0b; animation: badgePulse 1.6s ease-out infinite; }
.bookcal__nav { display: flex; align-items: center; justify-content: space-between; margin: 4px 0 10px; }
.bookcal__nav b { font-family: var(--display); font-size: 1.15rem; text-transform: capitalize; }
.bookcal__grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.bookcal__w { text-align: center; font-size: .74rem; font-weight: 700; color: var(--ink-3); padding: 4px 0; }
.bookcal__d { height: clamp(40px, 9vw, 56px); max-width: 100%; border-radius: 14px; border: 1.5px solid transparent; background: var(--paper); font: 700 .98rem var(--font); color: var(--ink); cursor: pointer; transition: transform .12s, box-shadow .15s, background .15s; }
.bookcal__d.is-free { background: #f0fdf7; border-color: #a7f3d0; }
.bookcal__d.is-free:hover { transform: translateY(-2px) scale(1.05); background: #d1fae5; box-shadow: 0 8px 18px rgba(16, 185, 129, .25); }
.bookcal__d.is-weekend.is-free { border-color: #6ee7b7; }
.bookcal__d.is-busy { background: repeating-linear-gradient(45deg, #f1f0f7, #f1f0f7 4px, #e7e5f1 4px, #e7e5f1 8px); color: #a9a6bf; text-decoration: line-through; cursor: not-allowed; }
.bookcal__d.is-past { background: transparent; color: #c9c6da; cursor: default; }
.bookcal__d.is-mine { background: var(--grad); color: #fff; box-shadow: 0 6px 14px rgba(124, 58, 237, .3); }
.bookcal__d.is-today { outline: 2px solid var(--stage-2); outline-offset: 1px; }
.bookcal__d.is-picked { background: var(--grad); color: #fff; transform: scale(1.08); }
.booksheet { position: fixed; inset: 0; z-index: 80; background: rgba(20, 12, 50, .45); display: flex; align-items: flex-end; justify-content: center; opacity: 0; transition: opacity .2s; padding: 0 max(0px, env(safe-area-inset-right, 0px)) 0 max(0px, env(safe-area-inset-left, 0px)); }
.booksheet.is-open { opacity: 1; }
.booksheet__card { position: relative; width: min(560px, 100%); max-height: 92vh; overflow: auto; background: var(--card); border-radius: 26px 26px 0 0; padding: 22px max(20px, env(safe-area-inset-right, 0px)) max(22px, env(safe-area-inset-bottom, 0px)) max(20px, env(safe-area-inset-left, 0px)); transform: translateY(40px); transition: transform .3s cubic-bezier(.2, 1.2, .4, 1); }
.booksheet.is-open .booksheet__card { transform: none; }
@media (min-width: 700px) { .booksheet { align-items: center; } .booksheet__card { border-radius: 26px; } }
.booksheet__x { position: absolute; right: 14px; top: 12px; width: 38px; height: 38px; border-radius: 50%; border: 0; background: var(--paper); font-size: 1.4rem; cursor: pointer; color: var(--ink-2); }
.booksheet__date { display: grid; gap: 2px; padding: 14px 16px; margin: 0 0 14px; border-radius: 18px; background: var(--grad); color: #fff; }
.booksheet__date small { opacity: .85; text-transform: uppercase; letter-spacing: .06em; font-size: .72rem; }
.booksheet__date b { font-family: var(--display); font-size: 1.45rem; }
.booksheet__date span { opacity: .9; }
.lockbox { display: flex; gap: 12px; align-items: center; padding: 12px 14px; border-radius: 14px; background: var(--paper); color: var(--ink-2); }
.lockbox span { font-size: 1.4rem; }

/* ===================== Negociação ===================== */
.page--deal { max-width: 1240px; }
.deal .kicker { margin-bottom: 8px; }
.dealhead { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px 20px; }
.dealhead__who { display: flex; align-items: center; gap: 10px; min-width: 0; }
.dealhead__who .avatar { width: 54px; height: 54px; font-size: 1.2rem; border-radius: 16px; flex: none; }
.avatar--buyer { background: linear-gradient(135deg, #0ea5e9, #4f46e5) !important; }
.dealhead__x { color: var(--stage-2); font-size: 1.3rem; }
.dealhead__txt { margin-left: 6px; min-width: 0; }
.dealhead__txt h1 { font-size: clamp(1.3rem, 3vw, 1.8rem); margin: 0; overflow-wrap: anywhere; }
.dealhead__chips { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.dchip { display: grid; padding: 8px 14px; border-radius: 14px; background: var(--paper); line-height: 1.2; }
.dchip small { color: var(--ink-3); font-size: .72rem; text-transform: capitalize; }
.quest { margin-top: 14px; }
.quest__top { display: flex; justify-content: space-between; align-items: baseline; }
.quest__pct { font: 800 1.3rem var(--display); background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.quest__bar { height: 10px; border-radius: 99px; background: var(--paper); overflow: hidden; margin: 8px 0 16px; }
.quest__bar i { display: block; height: 100%; border-radius: 99px; background: linear-gradient(90deg, #c026d3, #7c3aed, #4f46e5, #c026d3); background-size: 300% 100%; animation: radarGrad 3s linear infinite; transition: width .8s cubic-bezier(.2, 1, .3, 1); }
.quest__steps { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
.quest__steps li { display: grid; justify-items: center; text-align: center; gap: 4px; color: var(--ink-3); }
.quest__steps b { font-size: .84rem; color: var(--ink-2); }
.quest__steps small { font-size: .72rem; line-height: 1.3; }
.quest__dot { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: var(--paper); border: 2px solid var(--line); font-weight: 800; color: var(--ink-3); }
.quest__steps li.is-done .quest__dot { background: var(--grad); border-color: transparent; color: #fff; box-shadow: 0 6px 14px rgba(124, 58, 237, .3); }
.quest__steps li.is-done b { color: var(--ink); }
.quest__steps li.is-next .quest__dot { border-color: #c4b5fd; color: var(--stage-2); animation: badgePulse 1.8s ease-out infinite; }
.quest__hint { margin: 14px 0 0; padding: 10px 14px; border-radius: 12px; background: #f6f2ff; color: var(--stage); font-weight: 600; }
@media (max-width: 640px) { .quest__steps small { display: none; } .quest__steps b { font-size: .7rem; } .quest__dot { width: 32px; height: 32px; } }
.dealgrid { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 18px; margin-top: 18px; align-items: start; }
@media (max-width: 980px) { .dealgrid { grid-template-columns: 1fr; } .chat__list { height: min(62vh, 520px); } }
.msg--me .msg__file small { color: #fff; opacity: .9; }
.quest__go { display: inline-block; margin-left: 8px; }
.dealside { display: grid; gap: 16px; min-width: 0; }
.dealside .card { margin: 0; }
.chat { display: flex; flex-direction: column; padding: 0; overflow: hidden; margin: 0; min-width: 0; }
.chat__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 6px 12px; padding: 16px 20px; border-bottom: 1px solid var(--line); }
.chat__head h2 { font-size: 1.15rem; margin: 0; }
.chat__safe { font-size: .78rem; color: var(--ok); background: var(--ok-bg); padding: 4px 10px; border-radius: 99px; }
.chat__list { height: min(60vh, 560px); overflow-y: auto; padding: 18px 20px; display: flex; flex-direction: column; gap: 10px; background: linear-gradient(180deg, #faf8ff, #fff); }
.chat__empty { margin: auto; color: var(--ink-3); }
.msg { display: flex; }
.msg--me { justify-content: flex-end; }
.msg__bubble { max-width: min(78%, 520px); padding: 10px 14px 8px; border-radius: 18px 18px 18px 6px; background: var(--card); border: 1px solid var(--line); box-shadow: 0 1px 2px rgba(60, 40, 150, .05); animation: msgIn .25s ease-out; min-width: 0; }
.msg--me .msg__bubble { border-radius: 18px 18px 6px 18px; background: linear-gradient(135deg, #7c3aed, #4f46e5); color: #fff; border-color: transparent; }
@keyframes msgIn { from { opacity: 0; transform: translateY(6px); } }
.msg__bubble p { margin: 0; overflow-wrap: anywhere; }
.msg__who { display: block; font-size: .76rem; color: var(--stage-2); margin-bottom: 2px; }
.msg__bubble time { display: block; text-align: right; font-size: .68rem; opacity: .7; margin-top: 4px; }
.msg--sys { justify-content: center; }
.msg__sys { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; justify-content: center; max-width: 92%; padding: 8px 14px; border-radius: 14px; background: var(--ok-bg); color: var(--ok); font-size: .86rem; text-align: center; animation: msgIn .25s ease-out; }
.msg__sys time { font-size: .7rem; opacity: .7; }
.msg__sysico { width: 20px; height: 20px; border-radius: 50%; background: var(--ok); color: #fff; display: grid; place-items: center; font-size: .7rem; }
.msg__file { display: flex; gap: 10px; align-items: center; padding: 8px; border-radius: 12px; background: rgba(124, 58, 237, .07); text-decoration: none; color: inherit; margin-bottom: 4px; }
.msg--me .msg__file { background: rgba(255, 255, 255, .16); }
.msg__file span:last-child { display: grid; min-width: 0; }
.msg__file b { overflow-wrap: anywhere; font-size: .9rem; }
.msg__file small { opacity: .8; font-size: .74rem; }
.msg__ext { flex: none; width: 42px; height: 42px; border-radius: 10px; background: var(--grad); color: #fff; display: grid; place-items: center; font: 800 .7rem var(--font); }
.msg--me .msg__ext { background: #fff; color: var(--stage-2); }
.chat__quick { display: flex; gap: 8px; overflow-x: auto; padding: 10px 20px 0; scrollbar-width: none; }
.qchip { flex: none; padding: 7px 12px; border-radius: 99px; border: 1px solid #ddd0ff; background: #f8f5ff; color: var(--stage); font: 600 .8rem var(--font); cursor: pointer; white-space: nowrap; }
.qchip:hover { background: #efe7ff; }
.chat__form { display: flex; gap: 10px; align-items: flex-end; padding: 12px 16px 16px; }
.chat__attach { flex: none; width: 46px; height: 46px; display: grid; place-items: center; border-radius: 14px; background: var(--paper); cursor: pointer; font-size: 1.25rem; }
.chat__attach:hover { background: #efe7ff; }
.chat__input { flex: 1; min-width: 0; display: grid; gap: 4px; }
.chat__input textarea { resize: none; min-height: 46px; max-height: 160px; border-radius: 14px; }
.chat__filename { color: var(--stage-2); font-weight: 600; overflow-wrap: anywhere; }
.chat__send { flex: none; height: 46px; }
.chat__send.is-busy { opacity: .6; }
.decidebox { border: 2px solid #a7f3d0; background: linear-gradient(180deg, #f0fdf7, #fff); }
.waitbox { position: relative; overflow: hidden; background: linear-gradient(135deg, #fff7e6, #fff); border-color: #fde3a7; }
.waitbox__pulse { width: 14px; height: 14px; border-radius: 50%; background: #f59e0b; margin-bottom: 8px; animation: badgePulse 1.6s ease-out infinite; }
.unlocked { background: linear-gradient(135deg, #ecfdf5, #fff); border-color: #a7f3d0; }
.unlocked__badge { display: inline-block; padding: 4px 10px; border-radius: 99px; background: var(--ok); color: #fff; font-size: .78rem; font-weight: 700; margin-bottom: 6px; }
.contract { padding: 12px; border-radius: 16px; background: var(--paper); display: grid; gap: 10px; margin-bottom: 12px; }
.contract__top { display: flex; gap: 10px; align-items: center; }
.contract__top div { display: grid; }
.contract__top small { color: var(--ink-3); font-size: .74rem; letter-spacing: .04em; }
.contract__ico { font-size: 1.6rem; }
.contract__sign { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.contract__sign li { display: grid; grid-template-columns: auto 1fr; column-gap: 8px; align-items: center; padding: 8px 10px; border-radius: 12px; background: var(--card); font-weight: 600; font-size: .86rem; }
.contract__sign li span { grid-row: span 2; width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: #fff3dc; color: var(--warn); }
.contract__sign li.is-ok span { background: var(--ok); color: #fff; }
.contract__sign small { font-weight: 500; color: var(--ink-3); font-size: .72rem; }
.contract__accept { display: grid; gap: 10px; }
.contractform summary { list-style: none; display: inline-flex; cursor: pointer; }
.contractform summary::-webkit-details-marker { display: none; }
.contractform[open] summary { margin-bottom: 4px; }
.whogrid { display: grid; gap: 8px; margin-bottom: 12px; }
.who { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 6px; }
.who > span { font-weight: 600; font-size: .9rem; }
.seg { display: inline-flex; padding: 3px; border-radius: 12px; background: var(--paper); }
.seg label { position: relative; }
.seg input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.seg span { display: block; padding: 5px 10px; border-radius: 9px; font-size: .78rem; font-weight: 600; color: var(--ink-2); }
.seg input:checked + span { background: var(--card); color: var(--stage-2); box-shadow: 0 1px 4px rgba(60, 40, 150, .15); }
.seg input:focus-visible + span { outline: 2px solid var(--stage-2); }
.docsend summary { cursor: pointer; display: grid; gap: 2px; list-style: none; }
.docsend summary::-webkit-details-marker { display: none; }
.doccheck { display: grid; gap: 6px; max-height: 240px; overflow: auto; margin-bottom: 10px; }
.partes { display: grid; gap: 4px; }
.parte { display: grid; gap: 2px; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: .88rem; }
.parte b { font-size: .98rem; }
.parte__lab { text-transform: uppercase; letter-spacing: .06em; font-size: .68rem; color: var(--stage-2); font-weight: 700; }
.confetti { position: fixed; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 95; display: none; }
.deallist { display: grid; gap: 10px; }
.dealrow { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 14px; align-items: center; text-decoration: none; color: inherit; margin: 0; padding: 14px 16px; transition: transform .12s, box-shadow .15s; }
.dealrow:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(91, 33, 182, .1); }
.dealrow .avatar { width: 48px; height: 48px; font-size: 1.1rem; border-radius: 14px; }
.dealrow.has-unread { border-color: #d8c8ff; background: linear-gradient(90deg, #faf6ff, #fff); }
.dealrow__main { display: grid; gap: 2px; min-width: 0; }
.dealrow__last { color: var(--ink-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dealrow__end { display: grid; justify-items: end; gap: 6px; }
.minibar { display: block; height: 5px; border-radius: 99px; background: var(--paper); overflow: hidden; margin-top: 4px; max-width: 220px; }
.minibar i { display: block; height: 100%; background: var(--grad-h); }
@media (max-width: 560px) { .dealrow { grid-template-columns: auto minmax(0, 1fr); } .dealrow__end { grid-column: 2; justify-items: start; grid-auto-flow: column; } }
[hidden] { display: none !important; }

/* ===================== Meu contrato ===================== */
.ctlevel__top { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.ctlevel__top div { display: grid; gap: 2px; min-width: 0; }
.ctlevel__top b { font-size: 1.1rem; overflow-wrap: anywhere; }
.ctsteps { list-style: none; padding: 0; margin: 14px 0 10px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.ctsteps li { display: flex; gap: 8px; align-items: center; padding: 10px 12px; border-radius: 14px; background: var(--paper); font-weight: 600; font-size: .88rem; color: var(--ink-2); }
.ctsteps li span { flex: none; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--card); border: 2px solid var(--line); font-weight: 800; }
.ctsteps li.is-done { background: #f3edff; color: var(--ink); }
.ctsteps li.is-done span { background: var(--grad); color: #fff; border-color: transparent; }
@media (max-width: 640px) { .ctsteps { grid-template-columns: 1fr; } }
.dropzone { position: relative; display: grid; justify-items: center; gap: 4px; padding: 22px 16px; border: 2px dashed #cdbcff; border-radius: 18px; background: #faf7ff; text-align: center; cursor: pointer; margin-bottom: 12px; }
.dropzone:hover { background: #f3edff; }
.dropzone input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.dropzone__ico { font-size: 2rem; }
.dropzone small { color: var(--ink-3); }
.dropzone.has-file { border-color: var(--ok); background: var(--ok-bg); }
.fieldchips { display: flex; flex-wrap: wrap; gap: 6px; }
.fchip { padding: 7px 11px; border-radius: 99px; border: 1px solid #ddd0ff; background: #f8f5ff; color: var(--stage); font: 600 .8rem var(--font); cursor: pointer; }
.fchip:hover { background: #efe7ff; transform: translateY(-1px); }
.fchip.is-used { background: var(--ok-bg); border-color: #a7f3d0; color: var(--ok); }
.fchip.is-used::before { content: "✓ "; }
.cttext { font: .92rem/1.6 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; min-height: 360px; }
.ctmodel { padding: 10px 12px; border-radius: 12px; font-size: .88rem; margin-bottom: 10px; }
.ctmodel.is-own { background: var(--ok-bg); color: var(--ok); }
.ctmodel.is-std { background: #fff7e6; color: #7a4b00; }
.suggest summary { list-style: none; cursor: pointer; }
.suggest summary::-webkit-details-marker { display: none; }
.waitbox--flat { padding: 12px 14px; border-radius: 14px; border: 1px solid #fde3a7; }
.msg__tag { display: inline-block; font-size: .74rem; font-weight: 700; padding: 3px 8px; border-radius: 99px; background: #fff3dc; color: #7a4b00; margin-bottom: 4px; }

/* ===================== Reservas ===================== */
.bookcal__d { position: relative; }
.bookcal__d.is-hot { background: linear-gradient(180deg, #fff7ed, #ffedd5); border-color: #fdba74; }
.bookcal__d.is-hot:hover { background: #fed7aa; box-shadow: 0 8px 18px rgba(249, 115, 22, .25); }
.bookcal__fire { position: absolute; top: -8px; right: -6px; font: 800 .62rem/1 var(--font); font-style: normal; background: #fff; border: 1px solid #fdba74; color: #c2410c; padding: 3px 5px; border-radius: 99px; box-shadow: 0 2px 6px rgba(194, 65, 12, .2); animation: badgePulse 2s ease-out infinite; }
.sheethot { margin: -4px 0 12px; padding: 10px 12px; border-radius: 12px; background: #fff7ed; color: #9a3412; font-weight: 600; font-size: .88rem; }
.hotchip { display: inline-flex; padding: 6px 12px; border-radius: 99px; background: #fff7ed; color: #c2410c; font-weight: 700; font-size: .82rem; border: 1px solid #fdba74; animation: badgePulse 2.2s ease-out infinite; }
.rivals { display: grid; gap: 6px; padding: 12px; border-radius: 14px; background: #fff7ed; margin-bottom: 14px; }
.rivals > b { color: #9a3412; }
.rivals a { display: flex; gap: 8px; align-items: center; justify-content: space-between; padding: 8px 10px; border-radius: 10px; background: #fff; text-decoration: none; color: var(--ink); font-size: .88rem; }
.rivals a span { flex: 1; min-width: 0; overflow-wrap: anywhere; font-weight: 600; }
.racebox { background: linear-gradient(135deg, #eef2ff, #fff); border-color: #c7d2fe; }
.racebox__top { display: flex; gap: 10px; align-items: center; margin-bottom: 8px; }
.racebox__top > span { font-size: 1.6rem; }
.racebox__top small { color: var(--info); font-weight: 700; }
.calgrid__d { position: relative; }
.calgrid__d.has-res { background: #fff7ed; border-color: #fdba74; }
.calgrid__res { position: absolute; top: 3px; right: 4px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 99px; background: #f97316; color: #fff; font: 800 .64rem/18px var(--font); font-style: normal; text-align: center; }
.calgrid__res--inline { position: static; display: inline-block; vertical-align: middle; }
.agres { display: grid; gap: 6px; }
.agres a { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 8px 10px; border-radius: 12px; background: #fff7ed; text-decoration: none; color: var(--ink); }
.agres__d { font-weight: 800; color: #c2410c; }
.agres__who { display: grid; min-width: 0; font-weight: 600; overflow-wrap: anywhere; }
.hotchip--sm { padding: 3px 8px; font-size: .72rem; animation: none; }

/* ===================== Avaliações e ranking ===================== */
.rate { display: grid; gap: 12px; }
.rate__head { display: flex; gap: 12px; align-items: center; }
.rate__ico { width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; background: var(--grad); font-size: 1.4rem; flex: none; }
.rate__stars { display: flex; flex-direction: row-reverse; justify-content: center; gap: 4px; }
.rate__stars input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.rate__stars label { font-size: 2.8rem; line-height: 1; color: #e4e1f0; cursor: pointer; transition: transform .15s, color .15s; }
.rate__stars label:hover, .rate__stars label:hover ~ label, .rate__stars input:checked ~ label { color: #fbbf24; }
.rate__stars label:hover { transform: scale(1.2) rotate(-8deg); }
.rate__stars input:checked + label { transform: scale(1.15); text-shadow: 0 4px 14px rgba(251, 191, 36, .5); }
.rate__stars input:focus-visible + label { outline: 2px solid var(--stage-2); border-radius: 8px; }
.rate__label { text-align: center; font: 800 1.1rem var(--display); color: var(--ink); margin: 0; }
.rate__label.pop { animation: badgeBump .5s cubic-bezier(.3, 1.6, .5, 1); }
.rate__tags { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; }
.tagchk { position: relative; }
.tagchk input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.tagchk span { display: inline-block; padding: 7px 12px; border-radius: 99px; border: 1px solid #ddd0ff; background: #f8f5ff; color: var(--stage); font-weight: 600; font-size: .82rem; transition: background .15s, transform .15s; }
.tagchk input:checked + span { background: var(--grad); color: #fff; border-color: transparent; transform: scale(1.04); }
.tagchk--bad span { border-color: #fecaca; background: #fff5f5; color: #b91c1c; }
.tagchk--bad input:checked + span { background: #ef4444; color: #fff; }
.tagchk input:focus-visible + span { outline: 2px solid var(--stage-2); }
.rate--done { background: linear-gradient(180deg, #fffbeb, #fff); border-color: #fde68a; }
.stars-big { font-size: 2rem; color: #fbbf24; letter-spacing: 2px; text-align: center; }
.stars-big span, .stars-txt span { color: #e4e1f0; }
.stars-txt { color: #f59e0b; letter-spacing: 1px; }
.chip--bad { background: #fff5f5; color: #b91c1c; }
.rate__reply { padding: 10px 12px; border-radius: 12px; background: var(--paper); }
.ratingline { display: inline-flex; gap: 6px; align-items: center; padding: 6px 12px; border-radius: 99px; background: #fffbeb; border: 1px solid #fde68a; font-weight: 700; color: #92400e; text-decoration: none; }
.ratingline b { color: #f59e0b; }
.ratingline small { font-weight: 600; color: #a16207; }
.acard__rate { font-size: .85rem; font-weight: 700; color: #92400e; margin-top: 2px; }
.acard__rate b { color: #f59e0b; }
.reviews { display: grid; gap: 14px; }
.reviews__sum { display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: center; }
.reviews__big { text-align: center; }
.reviews__big b { display: block; font: 800 2.6rem/1 var(--display); color: var(--ink); }
.reviews__big .stars-txt { font-size: 1.1rem; }
.distrib { display: grid; gap: 4px; }
.distrib div { display: grid; grid-template-columns: 22px 1fr 30px; gap: 8px; align-items: center; font-size: .8rem; color: var(--ink-2); }
.distrib i { display: block; height: 8px; border-radius: 99px; background: var(--paper); overflow: hidden; }
.distrib i b { display: block; height: 100%; background: linear-gradient(90deg, #fbbf24, #f59e0b); border-radius: 99px; }
.review { padding: 14px 0; border-top: 1px solid var(--line); display: grid; gap: 6px; }
.review__top { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.review__who { font-weight: 700; }
.review__ok { font-size: .74rem; color: var(--ok); font-weight: 700; }
.review p { margin: 0; overflow-wrap: anywhere; }
.podium { display: grid; grid-template-columns: 1fr 1.15fr 1fr; gap: 12px; align-items: end; margin-bottom: 18px; }
.podium a { display: grid; justify-items: center; gap: 6px; text-align: center; text-decoration: none; color: var(--ink); padding: 18px 10px 14px; border-radius: 22px; background: var(--card); border: 1px solid var(--line); box-shadow: var(--shadow); min-width: 0; }
.podium a:nth-child(2) { padding-top: 30px; background: linear-gradient(180deg, #fffbeb, #fff); border-color: #fde68a; }
.podium .avatar { width: 64px; height: 64px; font-size: 1.3rem; }
.podium a:nth-child(2) .avatar { width: 84px; height: 84px; }
.podium b { overflow-wrap: anywhere; }
.medal { font-size: 1.8rem; line-height: 1; }
@media (max-width: 560px) { .podium { grid-template-columns: 1fr; } .podium a:nth-child(2) { order: -1; } }
.rankrow { display: grid; grid-template-columns: 40px auto minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 12px 14px; text-decoration: none; color: var(--ink); margin: 0 0 8px; }
.rankrow .avatar { width: 46px; height: 46px; font-size: 1rem; border-radius: 14px; }
.rankrow__pos { font: 800 1.2rem var(--display); color: var(--ink-3); text-align: center; }
.rankrow__main { display: grid; min-width: 0; }
.rankrow__main small { color: var(--ink-2); overflow-wrap: anywhere; }
.rankrow__score { text-align: right; display: grid; }
.rankrow__score b { font: 800 1.15rem var(--display); color: #f59e0b; }
.rankrow__score small { color: var(--ink-3); font-size: .74rem; }
.myrating { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; justify-content: space-between; }
.myrating__n { font: 800 2.2rem/1 var(--display); color: #f59e0b; }

/* ===================== Dados do contratante ===================== */
.datacard { background: linear-gradient(135deg, #fff7e6, #fff); border-color: #fde3a7; }
.datacard.is-done { background: linear-gradient(135deg, #ecfdf5, #fff); border-color: #a7f3d0; }
.datacard__top { display: flex; gap: 12px; align-items: center; margin-bottom: 10px; }
.datacard__top > span { font-size: 1.7rem; }
.datacard__top small { color: var(--ink-2); }
.datacard .quest__bar { margin: 4px 0 8px; }
.seg--big { display: flex; flex-wrap: wrap; width: 100%; }
.seg--big label { flex: 1 1 200px; }
.seg--big span { padding: 12px 14px; font-size: .92rem; text-align: center; }
.maillog { display: grid; gap: 4px; max-height: 260px; overflow: auto; font: .78rem/1.4 ui-monospace, Menlo, Consolas, monospace; }
.maillog div { padding: 6px 10px; border-radius: 8px; overflow-wrap: anywhere; }
.maillog .is-ok { background: var(--ok-bg); color: var(--ok); }
.maillog .is-bad { background: var(--bad-bg); color: var(--bad); }
.wabox { padding: 12px 14px; border-radius: 14px; background: var(--paper); margin-bottom: 12px; }

/* ===================== Datas comemorativas ===================== */
.brand__mark { position: relative; }
.season .brand__mark::after { content: ""; position: absolute; pointer-events: none; background-position: center; background-size: contain; background-repeat: no-repeat; filter: drop-shadow(0 2px 3px rgba(30, 20, 66, .25)); animation: seasonBob 3.2s ease-in-out infinite; }
[data-season-pos="hat"] .brand__mark::after { width: 32px; height: 32px; top: -19px; left: -11px; transform: rotate(-18deg); transform-origin: 70% 90%; }
[data-season-pos="ears"] .brand__mark::after { width: 34px; height: 30px; top: -24px; left: 2px; }
[data-season-pos="corner"] .brand__mark::after { width: 20px; height: 20px; top: -7px; right: -9px; }
[data-season-pos="face"] .brand__mark::after { width: 36px; height: 36px; top: 1px; left: 1px; animation: none; }
[data-season-pos="mustache"] .brand__mark::after { width: 24px; height: 13px; bottom: 3px; left: 7px; animation: none; }
[data-season-pos="phones"] .brand__mark::after { width: 48px; height: 48px; top: -12px; left: -5px; animation: none; }
@keyframes seasonBob { 0%, 100% { translate: 0 0; } 50% { translate: 0 -2px; } }
.season-layer { position: fixed; inset: 0; pointer-events: none; z-index: 30; overflow: hidden; }
.season-p { position: absolute; top: -40px; will-change: transform; user-select: none; line-height: 1; }
.season-p--fall { animation: seasonFall linear forwards; }
.season-p--rise { top: auto; bottom: -40px; animation: seasonRise linear forwards; }
.season-p--fly { top: auto; animation: seasonFly linear forwards; }
.season-p--twinkle { animation: seasonTwinkle ease-in-out forwards; }
@keyframes seasonFall { to { transform: translate(var(--dx, 0), 110vh) rotate(var(--rot, 360deg)); } }
@keyframes seasonRise { 0% { opacity: 0; } 15% { opacity: .85; } to { transform: translate(var(--dx, 0), -110vh); opacity: 0; } }
@keyframes seasonFly { 0% { transform: translateX(-10vw) translateY(0); } 25% { transform: translateX(25vw) translateY(-30px); } 50% { transform: translateX(55vw) translateY(20px); } 75% { transform: translateX(85vw) translateY(-25px); } to { transform: translateX(115vw) translateY(0); } }
@keyframes seasonTwinkle { 0%, 100% { opacity: 0; transform: scale(.4); } 50% { opacity: .9; transform: scale(1); } }
.season-confetti { width: 8px; height: 13px; border-radius: 2px; }
.season-flake { width: 8px; height: 8px; border-radius: 50%; background: #fff; box-shadow: 0 0 6px rgba(160, 190, 255, .9); }
.season-burst { position: absolute; width: 6px; height: 6px; }
.season-burst i { position: absolute; left: 0; top: 0; width: 6px; height: 6px; border-radius: 50%; background: var(--c); animation: seasonBurst 1.4s ease-out forwards; }
@keyframes seasonBurst { 0% { transform: translate(0, 0); opacity: 1; } to { transform: translate(var(--x), var(--y)); opacity: 0; } }
/* bandeirinhas de São João e luzinhas de Natal no topo */
[data-season-deco="flags"] .season-layer::before, [data-season-deco="snow"] .season-layer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 26px; background-repeat: repeat-x; background-size: 120px 26px; opacity: .95; }
[data-season-deco="flags"] .season-layer::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 26'%3E%3Cpath d='M0 2Q60 12 120 2' stroke='%23854d0e' stroke-width='1.5' fill='none'/%3E%3Cpath d='M6 4L22 6L14 24Z' fill='%23ef4444'/%3E%3Cpath d='M30 7L46 8L38 25Z' fill='%23facc15'/%3E%3Cpath d='M54 8L70 8L62 25Z' fill='%2322c55e'/%3E%3Cpath d='M78 7L94 6L86 24Z' fill='%233b82f6'/%3E%3Cpath d='M100 5L114 3L108 22Z' fill='%23f97316'/%3E%3C/svg%3E"); }
[data-season-deco="snow"] .season-layer::before { height: 18px; background-size: 90px 18px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90 18'%3E%3Cpath d='M0 2Q45 10 90 2' stroke='%23166534' stroke-width='1.5' fill='none'/%3E%3Ccircle cx='12' cy='7' r='3.5' fill='%23ef4444'/%3E%3Ccircle cx='34' cy='9.5' r='3.5' fill='%23facc15'/%3E%3Ccircle cx='56' cy='9.5' r='3.5' fill='%2322c55e'/%3E%3Ccircle cx='78' cy='7' r='3.5' fill='%233b82f6'/%3E%3C/svg%3E"); animation: seasonLights 1.6s steps(2) infinite; }
@keyframes seasonLights { 50% { filter: brightness(1.5) saturate(1.3); } }
.season-ribbon { position: fixed; z-index: 85; left: max(16px, env(safe-area-inset-left, 0px)); bottom: max(16px, env(safe-area-inset-bottom, 0px)); max-width: min(440px, calc(100vw - 32px)); display: flex; gap: 10px; align-items: center; padding: 12px 14px 12px 16px; border-radius: 18px; background: var(--card); border: 2px solid var(--season, var(--stage-2)); box-shadow: 0 16px 40px rgba(30, 20, 66, .18); font-weight: 600; color: var(--ink); transform: translateY(150%); transition: transform .5s cubic-bezier(.2, 1.4, .4, 1); }
.season-ribbon.is-on { transform: none; }
.season-ribbon span { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.season-ribbon button { flex: none; width: 30px; height: 30px; border-radius: 50%; border: 0; background: var(--paper); cursor: pointer; font-size: 1.1rem; color: var(--ink-2); }
@media (prefers-reduced-motion: reduce) { .season .brand__mark::after, [data-season-deco="snow"] .season-layer::before { animation: none; } }
@media print { .season-layer, .season-ribbon { display: none !important; } }
.seasonlist { display: grid; gap: 8px; }
.seasonrow { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 14px; background: var(--card); }
.seasonrow.is-now { border-color: var(--stage-2); box-shadow: 0 0 0 3px rgba(124, 58, 237, .12); }
.seasonrow__art { flex: none; width: 48px; height: 48px; border-radius: 12px; display: grid; place-items: center; background: color-mix(in srgb, var(--c) 14%, transparent); }
.seasonrow__main { flex: 1; min-width: 140px; display: flex; flex-direction: column; }
.seasonrow__main small { color: var(--ink-2); }

.ctauto { border: 2px solid var(--ok); }
.ctauto__top { display: flex; gap: 12px; align-items: center; margin-bottom: 12px; }
.ctauto__top > span { font-size: 1.8rem; }
.ctauto__top b { display: block; font-family: var(--display); font-size: 1.1rem; }
.ctauto__top small { color: var(--ink-2); }
.ctauto__notes { margin-top: 12px; padding: 10px 14px; border-radius: 14px; background: var(--warn-bg); color: var(--ink); font-size: .92rem; }
.ctauto__notes ul { margin: 6px 0 0; padding-left: 18px; }
.ctedit > summary { cursor: pointer; list-style: none; padding: 14px 18px; border-radius: 16px; background: var(--card); border: 1px solid var(--line); font-weight: 700; color: var(--ink); }
.ctedit > summary::-webkit-details-marker { display: none; }
.ctedit > summary small { color: var(--ink-3); font-weight: 500; }
.ctedit[open] > summary { margin-bottom: 12px; }

/* ===================== Modo escuro / claro ===================== */
html[data-theme="dark"] {
  color-scheme: dark;
  --ink: #ecebf8;
  --ink-2: #b7b3d6;
  --ink-3: #8e8ab0;
  --paper: #100e1f;
  --card: #1b1830;
  --line: #2e2a4a;
  --stage: #c4b5fd;
  --stage-2: #a78bfa;
  --spot: #e879f9;
  --blue: #60a5fa;
  --ok: #34d399;
  --ok-bg: #0f2c22;
  --warn: #fbbf24;
  --warn-bg: #33260c;
  --bad: #fb7185;
  --bad-bg: #3a1421;
  --info: #a5b4fc;
  --info-bg: #211e48;
  --shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 12px 32px rgba(0, 0, 0, .35);
  --shadow-lg: 0 24px 60px rgba(0, 0, 0, .55);
}
html[data-theme="dark"] [style*="background:var(--stage)"] { background: #6d28d9 !important; color: #fff !important; }
html[data-theme="dark"] [style*="#fdf2ff"], html[data-theme="dark"] [style*="#efe9ff"], html[data-theme="dark"] [style*="#f6f2ff"], html[data-theme="dark"] [style*="#f8f5ff"] { background: #241c45 !important; border-color: #3b2f6b !important; }
html[data-theme="dark"] [style*="#f3fbf6"] { background: #12291f !important; border-color: #1f4a37 !important; }
html[data-theme="dark"] [style*="#7a4b00"] { color: #fbbf24 !important; }
html[data-theme="dark"] img:not([src$=".svg"]) { filter: brightness(.94); }
.themebtn { flex: none; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--line); background: var(--card); color: var(--ink-2); display: grid; place-items: center; cursor: pointer; padding: 0; transition: transform .2s, color .2s; }
.themebtn:hover { color: var(--stage-2); transform: rotate(-12deg); }
.themebtn svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.themebtn .i-sun { display: none; }
html[data-theme="dark"] .themebtn .i-sun { display: block; }
html[data-theme="dark"] .themebtn .i-moon { display: none; }
.mainnav .themebtn { margin-left: 4px; }
.appbar__me, .bell__btn { flex: none; }
@media (max-width: 480px) { .appbar { gap: 8px; } .appbar__hello { display: none; } .appbar .themebtn { margin-left: auto; } }

/* ==== MODO ESCURO (gerado por tools/dark_css.py) ==== */
:where(html[data-theme="dark"]) .topbar { background: rgba(16, 14, 31, .82); }
:where(html[data-theme="dark"]) .navtoggle { background: #1b1730; }
:where(html[data-theme="dark"]) .mainnav__link:hover,
:where(html[data-theme="dark"]) .mainnav__link.is-active { background: #1b1730; }
:where(html[data-theme="dark"]) .side { background: #1b1730; }
:where(html[data-theme="dark"]) .side__link:hover { background: #20143c; }
:where(html[data-theme="dark"]) .side__link.is-active { background: linear-gradient(90deg, #271847, rgba(243, 237, 255, 0)); }
:where(html[data-theme="dark"]) .side__promo { background: linear-gradient(160deg, #251745, #262247); }
:where(html[data-theme="dark"]) .appbar { background: rgba(16, 14, 31, .85); }
:where(html[data-theme="dark"]) .btn--ghost { background: #1b1730; }
:where(html[data-theme="dark"]) .btn--ghost:hover { border-color: #332460; }
:where(html[data-theme="dark"]) .btn--danger { background: #1b1730; border-color: #5e313d; }
:where(html[data-theme="dark"]) input[type=text],
:where(html[data-theme="dark"]) input[type=email],
:where(html[data-theme="dark"]) input[type=password],
:where(html[data-theme="dark"]) input[type=number],
:where(html[data-theme="dark"]) input[type=date],
:where(html[data-theme="dark"]) input[type=url],
:where(html[data-theme="dark"]) input[type=tel],
:where(html[data-theme="dark"]) input[type=search],
:where(html[data-theme="dark"]) select,
:where(html[data-theme="dark"]) textarea { border: 1px solid #38364b; background: #221e37; }
:where(html[data-theme="dark"]) input:focus,
:where(html[data-theme="dark"]) select:focus,
:where(html[data-theme="dark"]) textarea:focus { background: #1b1730; border-color: #45337b; }
:where(html[data-theme="dark"]) .check { background: #1b1730; }
:where(html[data-theme="dark"]) .check:has(input:checked) { border-color: #372a69; background: #271847; }
:where(html[data-theme="dark"]) .badge { background: #251848; }
:where(html[data-theme="dark"]) .badge--muted { background: #282342; }
:where(html[data-theme="dark"]) .chip { background: #1b1730; }
:where(html[data-theme="dark"]) .table tr:hover td { background: #1b133a; }
:where(html[data-theme="dark"]) .progress { background: #2d293f; }
:where(html[data-theme="dark"]) .beam { background: linear-gradient(180deg, rgba(26, 23, 48, .55), rgba(255, 255, 255, 0) 75%); }
:where(html[data-theme="dark"]) .poster__copy { background: rgba(26, 23, 48, .78); }
:where(html[data-theme="dark"]) .poster__tag { background: #271847; }
:where(html[data-theme="dark"]) .door { background: #1b1730; }
:where(html[data-theme="dark"]) .door:hover,
:where(html[data-theme="dark"]) .door:focus-visible { border-color: #332460; }
:where(html[data-theme="dark"]) .door__go { background: #271847; }
:where(html[data-theme="dark"]) .ticket__code { background: repeating-linear-gradient(90deg, #1b1730 0 2px, transparent 2px 4px, #1b1730 4px 5px, transparent 5px 8px, #1b1730 8px 11px, transparent 11px 13px); }
:where(html[data-theme="dark"]) .float { background: #1b1730; }
:where(html[data-theme="dark"]) .float__ring { background: conic-gradient(#c026d3, #7c3aed, #4f46e5 calc(var(--p) * 1%), #282247 0); }
:where(html[data-theme="dark"]) .float__ring::before { background: #1b1730; }
:where(html[data-theme="dark"]) .poster__proof div { background: rgba(26, 23, 48, .85); }
:where(html[data-theme="dark"]) .steps li { background: #1b1730; }
:where(html[data-theme="dark"]) .feature__icon { background: linear-gradient(135deg, #36194c, #1e1a4d); }
:where(html[data-theme="dark"]) .btn--light { background: #1b1730; }
:where(html[data-theme="dark"]) .mock__row { background: rgba(26, 23, 48, .92); }
:where(html[data-theme="dark"]) .mock__bar i { background: #1b1730; }
:where(html[data-theme="dark"]) .acard:hover { border-color: #3c315f; }
:where(html[data-theme="dark"]) .avatar { background: linear-gradient(135deg, #7c3aed, #8a5cf6); }
:where(html[data-theme="dark"]) .docitem { background: #1b1730; }
:where(html[data-theme="dark"]) .docitem__file { background: #373125; }
:where(html[data-theme="dark"]) .bars span { background: #342852; }
:where(html[data-theme="dark"]) .bars span.is-hot { background: #7c3aed; }
:where(html[data-theme="dark"]) .cal__item { background: #1b1730; }
:where(html[data-theme="dark"]) .cal__date { background: #281a43; }
:where(html[data-theme="dark"]) .lessonnav a.is-active { background: #271849; }
:where(html[data-theme="dark"]) .lessonnav .dot { border: 2px solid #484158; }
:where(html[data-theme="dark"]) .lessonnav .dot.is-done { background: #059669; }
:where(html[data-theme="dark"]) .placeholder-video { background: repeating-linear-gradient(135deg, #271849 0 14px, #241641 14px 28px); }
:where(html[data-theme="dark"]) .footer { background: #1b1730; }
:where(html[data-theme="dark"]) .pager a,
:where(html[data-theme="dark"]) .pager span { background: #1b1730; }
:where(html[data-theme="dark"]) .pager .is-current { background: #6d28d9; }
:where(html[data-theme="dark"]) .badge--spot { background: #675422; color: #ffdba2; }
:where(html[data-theme="dark"]) .calgrid__d { background: #1b1730; }
:where(html[data-theme="dark"]) .calgrid__d:hover { background: #241642; }
:where(html[data-theme="dark"]) .busy span { background: #4c3e2b; }
:where(html[data-theme="dark"]) .grade-summary { background: #6d28d9; }
:where(html[data-theme="dark"]) .grade-bar i { background: linear-gradient(90deg, #7c3aed, #c026d3); }
:where(html[data-theme="dark"]) .grade-tier--nacional { background: #6d28d9; }
:where(html[data-theme="dark"]) .grade-tier--medio { background: #261a4e; }
:where(html[data-theme="dark"]) .kitlink__qr #kitQr { background: #1b1730; }
:where(html[data-theme="dark"]) .route-summary { background: #6d28d9; }
:where(html[data-theme="dark"]) .route-strip .is-base { background: #c026d3; }
:where(html[data-theme="dark"]) .route-city__n { background: #6d28d9; }
:where(html[data-theme="dark"]) .kitpromo { background: linear-gradient(120deg, #1b1730, #55451c); }
:where(html[data-theme="dark"]) .docitem { background: #221e37; }
:where(html[data-theme="dark"]) .docitem__file { background: #1b1730; }
:where(html[data-theme="dark"]) .bars span { background: #2c234a; }
:where(html[data-theme="dark"]) .cal__date { background: linear-gradient(135deg, #36194c, #1e1a4d); }
:where(html[data-theme="dark"]) .lessonnav a.is-active { background: #271847; }
:where(html[data-theme="dark"]) .placeholder-video { background: repeating-linear-gradient(135deg, #271847 0 14px, #1e153e 14px 28px); }
:where(html[data-theme="dark"]) .pager a,
:where(html[data-theme="dark"]) .pager span { background: #1b1730; }
:where(html[data-theme="dark"]) .badge--spot { background: linear-gradient(135deg, #41194c, #241c4a); color: #e389ec; }
:where(html[data-theme="dark"]) .grade-tier--medio { background: #251848; }
:where(html[data-theme="dark"]) li.grade-day { border-top-color: #2e245b; }
:where(html[data-theme="dark"]) .route-day__head { border-bottom: 2px solid #2c2156; }
:where(html[data-theme="dark"]) .kitpromo { background: linear-gradient(120deg, #1b1730, #2d1847); }
:where(html[data-theme="dark"]) .wa--try { color: #9bf2c3 !important; border: 1px solid #426e53; }
:where(html[data-theme="dark"]) .wa--try:hover { background: #274532; }
:where(html[data-theme="dark"]) .plan { background: #1b1730; }
:where(html[data-theme="dark"]) .kitcolor { background: #1b1730; }
:where(html[data-theme="dark"]) .verifybox code { background: #1b1730; }
:where(html[data-theme="dark"]) .side__link--radar .ico { color: #e389ec; }
:where(html[data-theme="dark"]) .decide__accept { border: 1px solid #3a6348; background: #223d2a !important; }
:where(html[data-theme="dark"]) .chipcheck { background: #1b1730; }
:where(html[data-theme="dark"]) .modeopt.is-on { border-color: #3c2b72; background: #241642; }
:where(html[data-theme="dark"]) .modeopt:hover { border-color: #3c2b72; }
:where(html[data-theme="dark"]) .linkbox { background: linear-gradient(135deg, #2a153f, #172246); border-color: #33225a; }
:where(html[data-theme="dark"]) .golink { border: 1px solid #33225a; }
:where(html[data-theme="dark"]) .logitem:hover { border-color: #3c2b72; }
:where(html[data-theme="dark"]) .bell__btn.has-new { border-color: #372562; }
:where(html[data-theme="dark"]) .bell__item:hover { background: #241642; }
:where(html[data-theme="dark"]) .bell__item.is-new { background: linear-gradient(90deg, #291744, #1b1730); }
:where(html[data-theme="dark"]) .lg--free { background: #1d4533; }
:where(html[data-theme="dark"]) .lg--busy { background: repeating-linear-gradient(45deg, #282342, #282342 3px, #352f56 3px, #352f56 6px); }
:where(html[data-theme="dark"]) .bookcal__pending { background: #4e3d1a; color: #ffdba2; }
:where(html[data-theme="dark"]) .bookcal__d.is-free { background: #1d4130; border-color: #356d53; }
:where(html[data-theme="dark"]) .bookcal__d.is-free:hover { background: #296144; }
:where(html[data-theme="dark"]) .bookcal__d.is-busy { background: repeating-linear-gradient(45deg, #282342, #282342 4px, #312b50 4px, #312b50 8px); }
:where(html[data-theme="dark"]) .quest__steps li.is-next .quest__dot { border-color: #372a69; }
:where(html[data-theme="dark"]) .quest__hint { background: #241642; }
:where(html[data-theme="dark"]) .chat__list { background: linear-gradient(180deg, #20143c, #1b1730); }
:where(html[data-theme="dark"]) .msg__sysico { background: #059669; }
:where(html[data-theme="dark"]) .msg--me .msg__ext { background: #1b1730; }
:where(html[data-theme="dark"]) .qchip { border: 1px solid #34245e; background: #22153f; }
:where(html[data-theme="dark"]) .qchip:hover { background: #2b1a4d; }
:where(html[data-theme="dark"]) .chat__attach:hover { background: #2b1a4d; }
:where(html[data-theme="dark"]) .decidebox { border: 2px solid #356d53; background: linear-gradient(180deg, #1d4130, #1b1730); }
:where(html[data-theme="dark"]) .waitbox { background: linear-gradient(135deg, #4e3d1a, #1b1730); border-color: #705b2c; }
:where(html[data-theme="dark"]) .unlocked { background: linear-gradient(135deg, #1d4533, #1b1730); border-color: #356d53; }
:where(html[data-theme="dark"]) .unlocked__badge { background: #059669; }
:where(html[data-theme="dark"]) .contract__sign li span { background: #58441d; }
:where(html[data-theme="dark"]) .contract__sign li.is-ok span { background: #059669; }
:where(html[data-theme="dark"]) .dealrow.has-unread { border-color: #372562; background: linear-gradient(90deg, #27153e, #1b1730); }
:where(html[data-theme="dark"]) .ctsteps li.is-done { background: #271847; }
:where(html[data-theme="dark"]) .dropzone { border: 2px dashed #372767; background: #24143d; }
:where(html[data-theme="dark"]) .dropzone:hover { background: #271847; }
:where(html[data-theme="dark"]) .fchip { border: 1px solid #34245e; background: #22153f; }
:where(html[data-theme="dark"]) .fchip:hover { background: #2b1a4d; }
:where(html[data-theme="dark"]) .fchip.is-used { border-color: #356d53; }
:where(html[data-theme="dark"]) .ctmodel.is-std { background: #4e3d1a; color: #ffdba2; }
:where(html[data-theme="dark"]) .waitbox--flat { border: 1px solid #705b2c; }
:where(html[data-theme="dark"]) .msg__tag { background: #58441d; color: #ffdba2; }
:where(html[data-theme="dark"]) .bookcal__d.is-hot { background: linear-gradient(180deg, #473218, #5e431f); }
:where(html[data-theme="dark"]) .bookcal__d.is-hot:hover { background: #885f2f; }
:where(html[data-theme="dark"]) .bookcal__fire { background: #1b1730; color: #f7a07c; }
:where(html[data-theme="dark"]) .sheethot { background: #473218; color: #f2ab93; }
:where(html[data-theme="dark"]) .hotchip { background: #473218; color: #f7a07c; }
:where(html[data-theme="dark"]) .rivals { background: #473218; }
:where(html[data-theme="dark"]) .rivals > b { color: #f2ab93; }
:where(html[data-theme="dark"]) .rivals a { background: #1b1730; }
:where(html[data-theme="dark"]) .racebox { background: linear-gradient(135deg, #172246, #1b1730); border-color: #273262; }
:where(html[data-theme="dark"]) .calgrid__d.has-res { background: #473218; }
:where(html[data-theme="dark"]) .agres a { background: #473218; }
:where(html[data-theme="dark"]) .agres__d { color: #f7a07c; }
:where(html[data-theme="dark"]) .rate__stars label:hover,
:where(html[data-theme="dark"]) .rate__stars label:hover ~ label,
:where(html[data-theme="dark"]) .rate__stars input:checked ~ label { color: #fcd36a; }
:where(html[data-theme="dark"]) .tagchk span { border: 1px solid #34245e; background: #22153f; }
:where(html[data-theme="dark"]) .tagchk--bad span { border-color: #602626; background: #3f1515; color: #ec8383; }
:where(html[data-theme="dark"]) .rate--done { background: linear-gradient(180deg, #493f18, #1b1730); border-color: #7c6d31; }
:where(html[data-theme="dark"]) .stars-big { color: #fcd36a; }
:where(html[data-theme="dark"]) .stars-txt { color: #f8b950; }
:where(html[data-theme="dark"]) .chip--bad { background: #3f1515; color: #ec8383; }
:where(html[data-theme="dark"]) .ratingline { background: #493f18; border: 1px solid #7c6d31; color: #f5bb97; }
:where(html[data-theme="dark"]) .ratingline b { color: #f8b950; }
:where(html[data-theme="dark"]) .ratingline small { color: #face8e; }
:where(html[data-theme="dark"]) .acard__rate { color: #f5bb97; }
:where(html[data-theme="dark"]) .acard__rate b { color: #f8b950; }
:where(html[data-theme="dark"]) .podium a:nth-child(2) { background: linear-gradient(180deg, #493f18, #1b1730); border-color: #7c6d31; }
:where(html[data-theme="dark"]) .rankrow__score b { color: #f8b950; }
:where(html[data-theme="dark"]) .myrating__n { color: #f8b950; }
:where(html[data-theme="dark"]) .datacard { background: linear-gradient(135deg, #4e3d1a, #1b1730); border-color: #705b2c; }
:where(html[data-theme="dark"]) .datacard.is-done { background: linear-gradient(135deg, #1d4533, #1b1730); border-color: #356d53; }
:where(html[data-theme="dark"]) .season-flake { background: #1b1730; }
/* ==== FIM MODO ESCURO ==== */
