/* =====================================================================
   John Music Studio • MixWeb V31 — design system "Aurora"
   Fundo índigo profundo, brilho violeta → magenta → âmbar,
   tipografia Sora (títulos) + Manrope (texto) + Plex Mono (timecode).
   ===================================================================== */
@import url("https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700;800&family=Geist+Mono:wght@400;500;600&display=swap");

/* Tokens no padrão shadcn/ui (HSL), tema escuro com primária violeta */
:root{
  color-scheme:dark;
  --background:220 62% 7%;
  --foreground:214 60% 98%;
  --card:220 52% 10%;
  --card-foreground:214 60% 98%;
  --popover:220 52% 10%;
  --primary:217 91% 60%;
  --primary-foreground:0 0% 100%;
  --secondary:219 42% 16%;
  --secondary-foreground:214 60% 98%;
  --muted:219 42% 14%;
  --muted-foreground:216 28% 70%;
  --accent:219 42% 19%;
  --accent-foreground:214 60% 98%;
  --destructive:350 89% 60%;
  --destructive-foreground:0 0% 100%;
  --success:160 78% 54%;
  --warning:40 100% 65%;
  --border:219 38% 19%;
  --input:219 38% 22%;
  --ring:213 94% 68%;
  --radius:.75rem;

  /* atalhos usados pelo restante do arquivo */
  --night:hsl(var(--background));
  --deep:hsl(var(--card));
  --raise:hsl(var(--secondary));
  --raise-2:hsl(var(--accent));
  --line:hsl(var(--border));
  --line-soft:hsl(var(--border));
  --text:hsl(var(--foreground));
  --dim:hsl(var(--muted-foreground));
  --faint:hsl(216 22% 52%);
  --violet:hsl(var(--primary));
  --magenta:#38bdf8;
  --amber:#f5b942;
  --rec:hsl(var(--destructive));
  --live:hsl(var(--success));
  --warn:hsl(var(--warning));
  --aurora:linear-gradient(115deg,#1e3a8a 0%,#2563eb 45%,#38bdf8 100%);
  --aurora-soft:linear-gradient(115deg,rgba(37,99,235,.18),rgba(56,189,248,.1));
  --r-sm:calc(var(--radius) - 4px);--r-md:var(--radius);--r-lg:calc(var(--radius) + 4px);--r-xl:calc(var(--radius) + 12px);
  --shadow:0 1px 2px rgba(0,0,0,.4),0 24px 60px -28px rgba(0,0,0,.85);
  --display:"Geist",system-ui,sans-serif;
  --body:"Geist",system-ui,-apple-system,sans-serif;
  --mono:"Geist Mono",ui-monospace,monospace;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box;border-color:hsl(var(--border))}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;background:hsl(var(--background));color:hsl(var(--foreground));font:400 15px/1.6 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video,canvas{max-width:100%}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--display);font-weight:700;letter-spacing:-.025em;line-height:1.12;margin:0}
h1{font-size:clamp(28px,4vw,44px)}
h2{font-size:clamp(20px,2.2vw,24px);font-weight:600}
h3{font-size:17px;font-weight:600}
p{margin:0}
code{font:500 .9em var(--mono);color:#cfe0ff}
::selection{background:hsl(var(--primary)/.45)}
.hidden{display:none!important}
.muted{color:hsl(var(--muted-foreground))}
.mini{font-size:13px;line-height:1.5}
.error{color:hsl(350 95% 75%)}
.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.row.space,.space{justify-content:space-between}
.grid{display:grid;gap:20px}
.fullw{width:100%}
:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ---------- Button (shadcn: default / secondary=outline / ghost / destructive) ---------- */
button,.buttonLink,.btn{
  appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;
  height:40px;min-height:40px;padding:0 16px;border:1px solid transparent;border-radius:calc(var(--radius) - 2px);cursor:pointer;text-decoration:none;
  font:500 14px/1 var(--body);color:hsl(var(--primary-foreground));background:hsl(var(--primary));
  box-shadow:0 1px 2px rgba(0,0,0,.3);transition:background-color .15s,color .15s,border-color .15s,opacity .15s,transform .1s
}
button:hover,.buttonLink:hover,.btn:hover{background:hsl(var(--primary)/.88)}
button:active,.btn:active{transform:translateY(1px)}
button:disabled{opacity:.5;cursor:not-allowed;transform:none;pointer-events:none}
button.secondary,.buttonLink.secondary,.btn.ghost{background:transparent;color:hsl(var(--foreground));border-color:hsl(var(--input));box-shadow:none}
button.secondary:hover,.buttonLink.secondary:hover,.btn.ghost:hover{background:hsl(var(--accent))}
button.danger{background:hsl(var(--destructive)/.12);color:hsl(350 95% 78%);border-color:hsl(var(--destructive)/.4);box-shadow:none}
button.danger:hover{background:hsl(var(--destructive)/.2)}
button.success{background:hsl(var(--success)/.12);color:hsl(160 78% 70%);border-color:hsl(var(--success)/.35);box-shadow:none}
button.success:hover{background:hsl(var(--success)/.2)}
.btn.lg{height:48px;min-height:48px;padding:0 24px;font-size:15px}
.btn.glow{background:var(--aurora);border:0}
.btn.glow:hover{opacity:.92;background:var(--aurora)}
.btnIcon .ico,.ico{width:16px;height:16px;flex:none}

/* ---------- Input / Label / Select ---------- */
.field{display:grid;gap:8px;margin:0 0 16px}
.field label,label{font-size:14px;font-weight:500;color:hsl(var(--foreground))}
input,select,textarea{
  font:400 14px var(--body);color:hsl(var(--foreground));background:hsl(var(--background)/.6);border:1px solid hsl(var(--input));
  border-radius:calc(var(--radius) - 2px);padding:0 12px;height:40px;min-height:40px;width:100%;transition:border-color .15s,box-shadow .15s
}
textarea{height:auto;padding:10px 12px}
input::placeholder{color:hsl(var(--muted-foreground))}
input:focus,select:focus,textarea:focus{outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 3px hsl(var(--ring)/.25)}
input[type=file]{height:auto;padding:8px;font-size:13px;color:hsl(var(--muted-foreground))}
input[type=file]::file-selector-button{border:0;border-radius:calc(var(--radius) - 4px);height:30px;padding:0 12px;margin-right:12px;background:hsl(var(--secondary));color:hsl(var(--foreground));font:500 13px var(--body);cursor:pointer}
input[type=range]{-webkit-appearance:none;appearance:none;height:20px;min-height:0;padding:0;border:0;background:transparent;box-shadow:none;cursor:pointer;--fill:hsl(var(--primary))}
input[type=range]:focus{box-shadow:none}
input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:hsl(var(--secondary))}
input[type=range]::-moz-range-track{height:6px;border-radius:999px;background:hsl(var(--secondary))}
input[type=range]::-moz-range-progress{height:6px;border-radius:999px;background:var(--fill)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;margin-top:-5px;border-radius:50%;background:hsl(var(--background));border:2px solid var(--fill);box-shadow:0 1px 3px rgba(0,0,0,.5)}
input[type=range]::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:hsl(var(--background));border:2px solid var(--fill)}
input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px hsl(var(--ring)/.35)}
input[type=range]:disabled{opacity:.4;cursor:not-allowed}
.stripInputGain input,.panHorizontal input{--fill:var(--c)}
.stripInputGain input::-webkit-slider-thumb,.panHorizontal input::-webkit-slider-thumb{width:12px;height:12px;margin-top:-4px}
.stripInputGain input::-webkit-slider-runnable-track,.panHorizontal input::-webkit-slider-runnable-track{height:4px}
select{appearance:none;padding-right:34px;background-image:linear-gradient(45deg,transparent 50%,hsl(var(--muted-foreground)) 50%),linear-gradient(135deg,hsl(var(--muted-foreground)) 50%,transparent 50%);background-position:calc(100% - 17px) 52%,calc(100% - 12px) 52%;background-size:5px 5px;background-repeat:no-repeat}

/* Checkbox (shadcn) e Switch */
input[type=checkbox]{appearance:none;flex:none;width:16px;height:16px;min-height:0;padding:0;margin:0;border:1px solid hsl(var(--primary));border-radius:4px;background:transparent;display:inline-grid;place-content:center;cursor:pointer}
input[type=checkbox]::after{content:"";width:9px;height:5px;border:2px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px);opacity:0}
input[type=checkbox]:checked{background:hsl(var(--primary))}
input[type=checkbox]:checked::after{opacity:1}
.videoToggle input[type=checkbox],.ticketOption input[type=checkbox],.switch{width:40px;height:22px;border-radius:999px;border:0;background:hsl(var(--input));position:relative;transition:background .2s}
.videoToggle input[type=checkbox]::after,.ticketOption input[type=checkbox]::after,.switch::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border:0;border-radius:50%;background:#fff;transform:none;opacity:1;transition:transform .2s var(--ease);box-shadow:0 1px 3px rgba(0,0,0,.4)}
.videoToggle input[type=checkbox]:checked::after,.ticketOption input[type=checkbox]:checked::after,.switch:checked::after{transform:translateX(18px)}

/* ---------- Badge ---------- */
.pill{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;border:1px solid hsl(var(--border));background:hsl(var(--secondary));font:500 12px var(--body);color:hsl(var(--secondary-foreground));text-decoration:none;white-space:nowrap}
.pill.live,.pill.armed{color:hsl(160 78% 70%);border-color:hsl(var(--success)/.35);background:hsl(var(--success)/.1)}
.pill.live::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--live);box-shadow:0 0 8px var(--live)}
.pill.error{color:hsl(350 95% 78%);border-color:hsl(var(--destructive)/.4);background:hsl(var(--destructive)/.1)}
.recordingText{color:hsl(350 95% 75%)!important;border-color:hsl(var(--destructive)/.45)!important}
.statusMsg{min-height:22px;margin-top:14px;text-align:center;font-weight:500;color:hsl(var(--foreground))}
.statusMsg:empty{display:none}
/* Alert */
.notice{padding:12px 16px;border-radius:var(--radius);background:hsl(var(--card));border:1px solid hsl(var(--border));font-size:14px}
.notice.cloudSafe{border-color:hsl(var(--success)/.35);background:hsl(var(--success)/.06)}
.notice.cloudWait{border-color:hsl(var(--warning)/.35);background:hsl(var(--warning)/.06)}
.path{font:500 13px var(--mono);padding:10px 12px;border-radius:calc(var(--radius) - 2px);background:hsl(var(--muted));border:1px solid hsl(var(--border));word-break:break-all}
/* Separator */
.separator{height:1px;background:hsl(var(--border));border:0;margin:20px 0}

/* ---------- marca ---------- */
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font:700 17px var(--display);letter-spacing:-.01em;white-space:nowrap}
.brand .mark{width:44px;height:44px;background:url("/assets/john-logo-white.png") center/contain no-repeat;flex:none;filter:drop-shadow(0 2px 10px rgba(56,189,248,.35))}
.brand small{display:block;font:600 12px var(--body);color:var(--dim);letter-spacing:0}

/* ---------- barra de navegação (site) ---------- */
.siteNav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;height:64px;padding:0 max(16px,calc((100% - 1200px)/2));background:hsl(var(--background)/.72);border-bottom:1px solid hsl(var(--border)/.7);
  backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4)}
.siteNav nav{display:flex;gap:4px}
.siteNav nav a{padding:8px 12px;border-radius:calc(var(--radius) - 2px);text-decoration:none;font-weight:500;font-size:14px;color:hsl(var(--muted-foreground));transition:color .15s,background .15s}
.siteNav nav a:hover{color:hsl(var(--foreground));background:hsl(var(--accent))}
.siteNav .btn{height:36px;min-height:36px;padding:0 14px}

/* ---------- página inicial ---------- */
.landing{position:relative}
.aurora{position:absolute;inset:-20vh -10vw auto;height:120vh;pointer-events:none;z-index:0;
  background:radial-gradient(40% 45% at 18% 30%,rgba(37,99,235,.42),transparent 70%),radial-gradient(35% 40% at 78% 18%,rgba(56,189,248,.22),transparent 70%),radial-gradient(30% 35% at 70% 70%,rgba(30,58,138,.4),transparent 70%);filter:blur(10px)}
.section{position:relative;z-index:1;width:min(1200px,calc(100% - 32px));margin:0 auto}
.hero{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:56px;min-height:100vh;padding:130px 0 70px}
.heroCopy h1{font-size:clamp(42px,6.4vw,84px);line-height:.98;letter-spacing:-.045em;font-weight:800}
.heroCopy h1 .grad{display:block;background:var(--aurora);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.08em}
.heroCopy p{max-width:520px;margin-top:24px;font-size:19px;color:#cfc8f2}
.heroCta{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.heroCta .btn{height:48px;min-height:48px;padding:0 24px;font-size:15px}
.heroFacts{display:flex;flex-wrap:wrap;gap:28px;margin-top:44px;color:var(--dim);font-size:14px}
.heroFacts b{display:block;font:700 22px var(--display);color:var(--text)}
.heroStage{position:relative;aspect-ratio:4/5;max-height:640px}
.heroPhoto{position:absolute;overflow:hidden;border-radius:var(--r-xl);background:var(--raise) center/cover no-repeat;box-shadow:var(--shadow)}
.heroPhoto::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(6,16,31,.75))}
.heroPhoto.main{inset:0 14% 10% 0}
.heroPhoto.side{width:46%;aspect-ratio:1;right:0;bottom:0;border:6px solid var(--night)}
.miniDesk{position:absolute;left:-28px;bottom:6%;z-index:2;display:flex;align-items:flex-end;gap:12px;padding:16px 18px 14px;border-radius:22px;
  background:rgba(8,20,42,.82);border:1px solid var(--line-soft);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow)}
.miniDesk .ch{display:grid;justify-items:center;gap:7px;font:600 10px var(--mono);color:var(--dim)}
.miniDesk .lane{position:relative;width:10px;height:120px;border-radius:6px;background:rgba(255,255,255,.06);overflow:hidden}
.miniDesk .lane i{position:absolute;inset:auto 0 0;height:60%;border-radius:6px;background:linear-gradient(0deg,var(--live),#9cf06b 70%,var(--amber));animation:meter 1.6s var(--ease) infinite alternate}
.miniDesk .ch:nth-child(2) .lane i{animation-duration:1.1s;animation-delay:-.4s}
.miniDesk .ch:nth-child(3) .lane i{animation-duration:1.9s;animation-delay:-.9s}
.miniDesk .ch:nth-child(4) .lane i{animation-duration:1.3s;animation-delay:-.2s}
.miniDesk .ch:nth-child(5) .lane i{animation-duration:1.7s;animation-delay:-1.2s}
@keyframes meter{0%{height:22%}35%{height:74%}60%{height:48%}100%{height:88%}}
.miniDesk .recDot{align-self:flex-start;display:flex;align-items:center;gap:7px;margin-left:6px;font:700 12px var(--body);color:#ffb3bf}
.miniDesk .recDot::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--rec);box-shadow:0 0 12px var(--rec);animation:blink 1.4s infinite}
@keyframes blink{50%{opacity:.25}}

.band{padding:110px 0}
.bandHead{max-width:640px;margin-bottom:54px}
.bandHead h2{font-size:clamp(32px,4.4vw,54px);letter-spacing:-.035em;font-weight:800}
.bandHead p{margin-top:16px;font-size:18px;color:var(--dim)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:step;list-style:none;margin:0;padding:0}
.steps li{position:relative;padding:28px 24px 26px;border-radius:var(--r-lg);background:var(--deep);border:1px solid var(--line-soft)}
.steps li::before{counter-increment:step;content:counter(step);display:grid;place-items:center;width:40px;height:40px;margin-bottom:46px;border-radius:50%;background:var(--aurora);font:800 16px var(--display)}
.steps h3{font-size:20px;margin-bottom:8px}
.steps p{color:var(--dim);font-size:15px}
.splitFeature{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.splitFeature.flip .featurePhoto{order:2}
.featurePhoto{position:relative;aspect-ratio:5/6;border-radius:var(--r-xl);background:var(--raise) center/cover no-repeat;box-shadow:var(--shadow);overflow:hidden}
.featurePhoto::after{content:"";position:absolute;inset:0;background:linear-gradient(200deg,rgba(37,99,235,.18),transparent 45%,rgba(6,16,31,.55))}
.featureCopy h2{font-size:clamp(30px,3.8vw,48px);letter-spacing:-.035em;font-weight:800}
.featureCopy>p{margin-top:18px;font-size:18px;color:var(--dim);max-width:500px}
.featureList{display:grid;gap:14px;margin:32px 0 0;padding:0;list-style:none}
.featureList li{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start}
.featureList .ic{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--aurora-soft);border:1px solid var(--line-soft);color:#dbe8ff}
.featureList .ic svg{width:21px;height:21px}
.featureList b{display:block;font:700 16px var(--display)}
.featureList span{color:var(--dim);font-size:15px}
.eqPreview{margin-top:34px;padding:16px;border-radius:var(--r-md);background:#0a0819;border:1px solid var(--line-soft)}
.eqPreview svg{display:block;width:100%;height:auto}
.gallery{display:grid;grid-template-columns:1.3fr 1fr 1fr;grid-template-rows:260px 260px;gap:16px}
.gallery figure{margin:0;position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--raise) center/cover no-repeat}
.gallery figure:first-child{grid-row:span 2}
.gallery figcaption{position:absolute;left:16px;bottom:14px;padding:6px 12px;border-radius:999px;background:rgba(6,16,31,.65);backdrop-filter:blur(8px);font-size:13px;font-weight:600}
.closing{position:relative;overflow:hidden;border-radius:var(--r-xl);padding:clamp(40px,7vw,90px);background:var(--deep) center/cover no-repeat;isolation:isolate}
.closing::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(6,16,31,.95) 30%,rgba(6,16,31,.55) 65%,rgba(37,99,235,.25))}
.closing h2{max-width:560px;font-size:clamp(32px,4.6vw,58px);letter-spacing:-.04em;font-weight:800}
.closing p{max-width:460px;margin:18px 0 30px;color:#d4cdf5;font-size:18px}
.faq{max-width:820px;border-top:1px solid hsl(var(--border))}
.faq details{border-bottom:1px solid hsl(var(--border));padding:0}
.faq summary{cursor:pointer;list-style:none;padding:18px 0;font:500 16px var(--display);display:flex;justify-content:space-between;gap:16px}
.faq summary:hover{text-decoration:underline;text-underline-offset:4px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:8px;height:8px;margin-top:6px;border-right:2px solid hsl(var(--muted-foreground));border-bottom:2px solid hsl(var(--muted-foreground));transform:rotate(45deg);transition:transform .2s var(--ease)}
.faq details[open] summary::after{transform:rotate(-135deg)}
.faq details p{padding:0 0 20px;color:var(--dim)}

/* ---------- rodapé ---------- */
.studioFooter{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;width:min(1200px,calc(100% - 32px));margin:60px auto 0;padding:28px 0 40px;border-top:1px solid var(--line-soft);color:var(--faint);font-size:14px}
.instagramLink{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:var(--dim);font-weight:600}
.instagramLink:hover{color:var(--text)}
.instagramIcon{width:20px;height:20px}
.photoCredit{color:var(--faint)}

/* ---------- acesso à sessão ---------- */
.authScreen{display:grid;grid-template-columns:1.1fr .9fr;min-height:100vh}
.authVisual{position:relative;overflow:hidden;background:var(--deep) center/cover no-repeat;display:flex;flex-direction:column;justify-content:space-between;padding:32px clamp(24px,4vw,56px) 48px}
.authVisual::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,16,31,.55),rgba(6,16,31,.2) 40%,rgba(6,16,31,.92)),linear-gradient(90deg,transparent 60%,rgba(6,16,31,.9))}
.authVisual>*{position:relative}
.authVisual blockquote{margin:0;max-width:460px;font:600 clamp(26px,2.8vw,38px)/1.18 var(--display);letter-spacing:-.03em}
.authVisual blockquote span{display:block;margin-top:16px;font:500 15px var(--body);color:var(--dim);letter-spacing:0}
.authPanel{display:flex;align-items:center;justify-content:center;padding:48px 24px;background:radial-gradient(60% 50% at 70% 10%,rgba(37,99,235,.2),transparent 70%),var(--night)}
.login{width:min(420px,100%)}
.login h1{font-size:clamp(32px,3.4vw,42px);letter-spacing:-.035em;font-weight:800}
.login>p.muted{margin:12px 0 30px}
.login button{width:100%;min-height:54px;margin-top:8px;font-size:16px}
.login #loginMsg,.login #msg{margin-top:14px;min-height:20px;color:#ffa3b3;font-size:14px;text-align:center}
.authHelp{margin-top:30px;padding-top:22px;border-top:1px solid var(--line-soft);color:var(--dim);font-size:14px}
.backHome{display:inline-flex;align-items:center;gap:8px;color:var(--dim);text-decoration:none;font-weight:600;font-size:14px}
.backHome:hover{color:var(--text)}

/* ---------- área logada (cliente) ---------- */
.appBar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px clamp(16px,3vw,32px);
  background:rgba(6,16,31,.78);border-bottom:1px solid var(--line-soft);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.appBar .row{flex-wrap:nowrap}
.appMain{width:min(1280px,calc(100% - 32px));margin:28px auto 0}
.sessionHeader{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:24px}
.sessionHeader h1{font-size:clamp(28px,3.6vw,44px);letter-spacing:-.035em;font-weight:800}
.sessionMeta{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:8px;color:var(--dim);font-size:14px}
.sessionMeta div:empty{display:none}
.workspace{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:22px;align-items:start}
.card{position:relative;border-radius:var(--r-lg);background:var(--deep);border:1px solid var(--line-soft);padding:clamp(18px,2.4vw,28px)}
.card>h2,.card>h3{margin-bottom:14px}
.panelHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.panelHead h2{font-size:22px}

.recordDeck{overflow:hidden;background:radial-gradient(80% 70% at 50% 0%,rgba(37,99,235,.22),transparent 70%),var(--deep)}
body.isRecording .recordDeck{background:radial-gradient(80% 70% at 50% 0%,rgba(255,61,90,.24),transparent 70%),var(--deep);border-color:rgba(255,61,90,.35)}
.deckTop{display:flex;align-items:center;justify-content:space-between;gap:10px}
.availabilityBadge{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--dim)}
.availabilityBadge:empty{display:none}
.availabilityBadge.isAvailable{color:var(--live)}
.availabilityBadge.isUnavailable{color:var(--warn)}
.timer{margin:30px 0 8px;text-align:center;font:500 clamp(40px,6.4vw,68px)/1 var(--mono);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
body.isRecording .timer{color:#ffd2d9;text-shadow:0 0 40px rgba(255,61,90,.45)}
.deckHint{text-align:center;color:var(--dim);font-size:14px}
.recControls{display:flex;justify-content:center;gap:12px;margin-top:26px}
.recControls button{height:56px;min-height:56px;padding:0 30px;font-size:16px;border-radius:var(--radius)}
#startBtn::before{content:"";width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.25)}
#stopBtn{background:var(--rec);color:#fff;border:0;box-shadow:0 14px 34px -12px rgba(255,61,90,.9)}
#stopBtn::before{content:"";width:13px;height:13px;border-radius:3px;background:#fff}
.musicCountdown{position:fixed;inset:0;z-index:900;display:grid;place-content:center;justify-items:center;gap:8px;background:rgba(6,16,31,.82);backdrop-filter:blur(6px);pointer-events:none}
.musicCountdown span{font:800 clamp(120px,24vw,220px)/1 var(--display);background:var(--aurora);-webkit-background-clip:text;background-clip:text;color:transparent}
.musicCountdown small{font-size:18px;color:var(--dim)}

.deckSection{margin-top:26px;padding-top:22px;border-top:1px solid var(--line-soft)}
.deckSection>.row.space{align-items:flex-start}
.deckSection strong{font:700 16px var(--display)}
.musicUploadBox input[type=file]{margin-top:14px}
.musicUploadBox #musicInfo{margin-top:8px}
.musicVolumeRow{display:grid;grid-template-columns:1fr 2fr auto;gap:12px;align-items:center;margin-top:12px;font-weight:500;color:var(--dim);font-size:14px}
.tempoBox{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:12px;padding:12px 14px;border-radius:var(--r-sm);background:rgba(5,12,26,.6);font-size:14px;color:var(--dim)}
.tempoBox b{color:var(--text)}
.tempoBox label{display:inline-flex;align-items:center;gap:8px;font-weight:500}
.tempoBox input[type=number]{width:90px;min-height:38px;padding:6px 10px}
.tempoBox button{min-height:38px;padding:0 16px}
.videoToggle{display:inline-flex;align-items:center;gap:10px;cursor:pointer;white-space:nowrap;font-weight:500}
.videoPreviewWrap{position:relative;margin:14px auto 0;background:#030914;border-radius:var(--r-md);overflow:hidden;aspect-ratio:16/9;width:100%;max-height:380px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line-soft);transition:width .15s ease,height .15s ease}
.videoPreviewWrap.portrait{max-height:none}
.videoRecording .videoPreviewWrap{border-color:var(--rec);box-shadow:0 0 0 3px rgba(255,61,90,.25)}
#cameraPreview{width:100%;height:100%;object-fit:contain;background:#000;transition:transform .1s linear}
.videoControls{margin-top:12px}
.videoControls select{width:auto;flex:1 1 140px}
#videoMsg{margin-top:10px}
.zoomControls{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:10px;flex-wrap:wrap}
.zoomBtn{min-width:44px;min-height:44px;padding:0 12px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--text);font:700 14px var(--body);box-shadow:none}
.zoomBtn:hover{background:rgba(37,99,235,.18)}
.zoomValue{min-width:56px;text-align:center;font:600 13px var(--mono);color:#cfe0ff}
.zoomNote{margin-top:5px;text-align:center}
@media (prefers-reduced-motion:reduce){.videoPreviewWrap,#cameraPreview{transition:none}}
.cameraMultiBox{margin-top:16px;padding:14px;border-radius:var(--r-md);background:rgba(5,12,26,.5);border:1px dashed var(--line)}
.cameraList{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.cameraBadge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:13px;font-weight:600;background:rgba(46,230,166,.1);border:1px solid rgba(46,230,166,.35);color:#8ff3cf}
.cameraBadgeEmpty{background:transparent;border-color:var(--line);color:var(--dim)}
.channelNamesTitle{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px;margin-bottom:12px}
.channels{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.channel{position:relative;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:rgba(5,12,26,.55);border:1px solid var(--line);cursor:pointer;font-weight:600;font-size:14px;color:var(--text);transition:border-color .15s,background .15s;min-width:0}
.channel:has(input:checked){border-color:rgba(37,99,235,.65);background:rgba(37,99,235,.14)}
.channel input[type=checkbox]{position:absolute;opacity:0;pointer-events:none}
.channel .chNo,.channel>span:first-child{font:600 12px var(--mono);color:var(--dim)}
.channel:has(input:checked) .chNo{color:#cfe0ff}
.channel .chName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.channel:has(input:disabled){cursor:not-allowed;opacity:.75}
.channel input[type=text]{min-height:36px;padding:6px 10px;font-size:14px}

/* gravações */
#recordings{display:grid;gap:12px}
.recording{border-radius:var(--r-md);background:rgba(5,12,26,.55);border:1px solid var(--line-soft);overflow:hidden}
.recording[open]{border-color:var(--line)}
.recording>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;cursor:pointer;list-style:none}
.recording>summary::-webkit-details-marker{display:none}
.recordingTitle{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 10px;min-width:0;flex:1}
.recordingTitle .mini{grid-column:2}
.renameIcon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:rgba(255,255,255,.05);color:var(--dim);cursor:pointer}
.recordingNameInput{min-height:0;padding:2px 0;border:0;border-bottom:1px solid transparent;border-radius:0;background:transparent;font:700 17px var(--display);width:100%}
.recordingNameInput:focus{box-shadow:none;border-bottom-color:var(--violet)}
.status{flex:none;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:700;text-transform:capitalize;background:rgba(255,255,255,.05);color:var(--dim);border:1px solid var(--line)}
.status.ready{color:var(--live);border-color:rgba(46,230,166,.35);background:rgba(46,230,166,.08)}
.status.error{color:#ff97a8;border-color:rgba(255,61,90,.4)}
.status.processing,.status.importing{color:var(--warn);border-color:rgba(255,193,77,.35)}
.recordingBody{display:grid;gap:14px;padding:0 18px 18px}
.recordingDownloadPanel,.videoResultPanel{padding:16px;border-radius:14px;background:var(--deep);border:1px solid var(--line-soft)}
.downloadSectionTitle{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px;font:700 15px var(--display)}
.downloadSectionTitle small{font:500 13px var(--body);color:var(--dim)}
.recordingActions{display:flex;flex-wrap:wrap;gap:8px}
.recordingActions button{flex:1 1 160px;min-height:44px;font-size:14px}
.mixEditHint{margin-top:10px;font-size:13px;color:var(--dim)}
.mixOpenAction button:first-child{flex:2 1 240px;min-height:52px;font-size:15px}
.mixOpenAction .danger{flex:0 1 auto}
.videoCamerasWrap{display:grid;gap:12px}
.videoSyncStats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.videoSyncStats div{padding:10px 12px;border-radius:10px;background:rgba(5,12,26,.6)}
.videoSyncStats span{display:block;font-size:12px;color:var(--dim)}
.videoSyncStats strong{font:500 14px var(--mono)}
.videoFineTune{margin-bottom:12px}
.videoFineTune summary{cursor:pointer;font-size:14px;font-weight:600;color:var(--dim)}
.videoFineButtons{display:flex;gap:8px;margin-top:10px}
.videoFineButtons button{flex:1;min-height:40px}
.videoActions{display:flex;flex-wrap:wrap;gap:8px}
.videoActions button{flex:1 1 150px;min-height:44px;font-size:14px}
.sideStack{display:grid;gap:22px}
.cloudCard{background:linear-gradient(140deg,rgba(37,99,235,.18),rgba(56,189,248,.08)),var(--deep)}
.cloudCard .buttonLink{margin-top:14px}
.feedbackRow{display:flex;gap:10px;margin-top:14px}
.feedbackRow button{flex:1}

/* ---------- modais ---------- */
.videoModal,.pixModal,.adminModal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(3,8,18,.82);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);overflow-y:auto}
.videoModalCard,.pixCard,.adminModalCard{position:relative;width:min(560px,100%);max-height:calc(100vh - 32px);overflow:auto;border-radius:var(--r-lg);background:var(--deep);border:1px solid var(--line);padding:26px;box-shadow:var(--shadow);animation:pop .28s var(--ease)}
@keyframes pop{from{opacity:0;transform:translateY(10px) scale(.98)}}
.videoModalCard{width:min(980px,100%)}
.videoModalCard video{display:block;width:100%;max-height:70vh;background:#000;border-radius:14px;margin-top:14px}
.videoShareActions{display:flex;justify-content:center;margin-top:14px}
.pixClose{position:absolute;top:14px;right:14px;width:40px;min-height:40px;padding:0}
.pixCard h2{margin:6px 0 10px;padding-right:40px}
.pixCard>p{color:var(--dim)}
.pixWave{display:none}
.pixPaymentGrid{display:grid;grid-template-columns:auto 1fr;gap:16px;margin:20px 0;align-items:stretch}
.pixQrWrap,.pixBox{display:grid;gap:8px;align-content:start;padding:14px;border-radius:14px;background:rgba(5,12,26,.6);border:1px solid var(--line-soft);font-size:13px;color:var(--dim)}
.pixQr{width:170px;height:170px;object-fit:contain;background:#fff;border-radius:10px;padding:6px}
.pixBox strong{font:500 12px var(--mono);color:var(--text);word-break:break-all;max-height:110px;overflow:auto}
.pixActions{justify-content:flex-end;margin-top:16px}
.pairQrGrid{display:flex;justify-content:center;margin:18px 0}
.pairQrGrid figure{margin:0;text-align:center;color:var(--dim);font-size:13px}
.pairQrGrid .pixQr{width:240px;height:240px}
.adminModalCard{width:min(720px,100%)}
.adminModalActions{justify-content:flex-end;margin-top:18px}
body.modalOpen{overflow:hidden}

/* ---------- câmera e monitor ---------- */
.simpleShell{width:min(620px,calc(100% - 32px));margin:24px auto 0}
.simpleShell .card{margin-top:22px}
.bigStatus{margin:22px 0 6px;font:800 clamp(44px,9vw,76px)/1 var(--display);letter-spacing:-.04em}
.bigStatus.ready{background:var(--aurora);-webkit-background-clip:text;background-clip:text;color:transparent}
.bigStatus.recordingText{border:0!important}

/* ---------- administração ---------- */
.adminShell{width:min(1320px,calc(100% - 32px));margin:28px auto 0}
.adminShell .login{margin:8vh auto}
.adminSystem{display:grid;gap:14px}
.adminSystem .row.space{align-items:flex-start;gap:20px}
.adminColumns{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start}
.adminDateGrid,.editSessionGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 14px}
.ticketOption{display:flex;align-items:center;gap:12px;margin:10px 0;font-weight:500;cursor:pointer}
.networkInfo{display:grid;gap:8px;max-width:360px}
.networkInfo code{word-break:break-all}
.networkQrs{display:flex;gap:12px}
.networkQrs figure{margin:0;text-align:center;font-size:12px;color:var(--dim)}
.networkQrs img{width:110px;height:110px;border-radius:10px;background:#fff;padding:5px}
.certHelp summary{cursor:pointer;color:var(--dim);font-weight:600;font-size:14px}
.certHelp p{margin-top:8px;color:var(--dim);font-size:14px}
.sessionCount{display:inline-grid;place-items:center;min-width:30px;height:30px;padding:0 8px;margin-left:6px;border-radius:999px;background:var(--aurora);font:700 14px var(--body);vertical-align:middle}
.adminToolbar{display:grid;gap:10px;margin:14px 0}
.filterChips{display:flex;flex-wrap:wrap;gap:6px}
.filterChip{min-height:34px;padding:0 14px;font-size:13px;background:rgba(255,255,255,.04);border:1px solid var(--line);color:var(--dim);box-shadow:none}
.filterChip.isActive{background:var(--aurora);color:#fff;border-color:transparent}
#sessions{display:grid;gap:10px}
.session{border-radius:var(--r-md);background:rgba(5,12,26,.55);border:1px solid var(--line-soft)}
.session>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;cursor:pointer;list-style:none}
.session>summary::-webkit-details-marker{display:none}
.sessionDetails{display:grid;gap:12px;padding:0 16px 16px}
.sessionIdLine{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;font:500 14px var(--mono)}
.sessionIdLine button{min-height:36px;padding:0 14px;font:600 13px var(--body)}
.isCopied{color:var(--live)!important;border-color:rgba(46,230,166,.4)!important}
.paymentAdmin{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:10px;background:var(--deep);font-size:14px}
.paymentAdmin button{min-height:36px;padding:0 14px;font-size:13px}
.sessionActions{justify-content:space-between;align-items:flex-start}
.sessionActions button{min-height:40px;padding:0 16px;font-size:13px}
.copyMini{min-height:30px;padding:0 12px;font-size:12px}
.importMapping{display:grid;gap:8px;margin:10px 0}
.importRow{display:grid;grid-template-columns:1fr 220px;gap:10px;align-items:center}
.importFileName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 13px var(--mono)}
.importFolderRow{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line-soft)}

/* =====================================================================
   CONSOLE DE MIXAGEM — layout de DAW
   ===================================================================== */
body.daw{background:#050c1a;overflow-x:hidden}
.dawShell{display:grid;grid-template-rows:auto auto 1fr;min-height:100vh}
.dawBar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 18px;background:#0a1528;border-bottom:1px solid var(--line)}
.dawBar .brand{font-size:15px}
.dawBar .brand .mark{width:36px;height:36px}
.dawBar .row{flex-wrap:nowrap}
.dawBar button{min-height:38px;padding:0 16px;font-size:14px}
.dawTitle{min-width:0;text-align:center}
.dawTitle .mini{color:var(--faint);font-size:12px}
.dawTitle h1{font-size:16px;letter-spacing:-.01em;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.mixTransport{display:grid;grid-template-columns:auto auto minmax(0,1fr);grid-template-areas:"btns lcd seek" "wave wave wave" "status status status";align-items:center;gap:12px 18px;padding:14px 18px 12px;background:linear-gradient(180deg,#0d1a30,#09142a);border-bottom:1px solid var(--line)}
.transportButtons{grid-area:btns;display:flex;gap:6px}
.transportButtons button{width:48px;min-height:44px;padding:0;border-radius:12px;font-size:16px}
.transportButtons #play{width:60px;background:var(--aurora)}
.transportButtons #play.isPlaying{box-shadow:0 0 0 3px rgba(46,230,166,.45),0 12px 30px -12px rgba(46,230,166,.8)}
.transportTime{grid-area:lcd;display:flex;align-items:baseline;gap:8px;padding:6px 16px;border-radius:12px;background:#040a16;border:1px solid var(--line);font:500 15px var(--mono);color:var(--dim);font-variant-numeric:tabular-nums}
.transportTime b{font:600 26px var(--mono);color:#dbe8ff;letter-spacing:-.02em}
.seek{grid-area:seek;width:100%;accent-color:var(--violet)}
#wave{grid-area:wave;display:block;width:100%;height:96px;border-radius:12px;border:1px solid var(--line);cursor:pointer;background:#040a16}
#mixStatus{grid-area:status;font-size:13px;color:var(--dim)}
#loading{margin:24px 18px}

.mixConsole{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-template-areas:"eq rack" "mixer mixer" "sync sync" "final final";gap:14px;padding:14px 18px 0}
.dawPanel,.liveEq,.channelFxPanel,.personalPresets,.musicSyncPanel,.mixFinalActions{border-radius:18px;background:#0b162b;border:1px solid var(--line);overflow:hidden}
.panelTitle,.eqHead,.fxPanelHead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#0f1d36;border-bottom:1px solid var(--line)}
.eqHead strong,.fxPanelHead strong{display:block;font:600 15px var(--display)}
.eqHead .mini,.fxPanelHead .mini{color:var(--faint);font-size:12px}
.eqHead>span{font:500 12px var(--mono);color:var(--faint)}
.liveEq{grid-area:eq}
#eqGraph{display:block;width:100%;height:300px;background:#040a16;cursor:crosshair}
.xairEqBar{padding:12px 14px 14px;display:grid;gap:12px}
.xairEqActions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.xairSquare{min-height:34px;padding:0 14px;border-radius:9px;font:700 12px var(--body);background:rgba(255,255,255,.05);color:var(--dim);border:1px solid var(--line);box-shadow:none}
.xairSquare.isOn{background:rgba(46,230,166,.12);color:var(--live);border-color:rgba(46,230,166,.45)}
.xairDragHint{flex:1;text-align:center;font-size:12px;color:var(--faint)}
.xairBands{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.xairBand{position:relative;padding:10px;border-radius:12px;background:#071122;border:1px solid var(--line);transition:border-color .15s,opacity .15s}
.xairBand::before{content:"";position:absolute;inset:0 0 auto;height:3px;border-radius:12px 12px 0 0;background:var(--band)}
.xairBand.selected{border-color:var(--band);box-shadow:inset 0 0 0 1px var(--band)}
.xairBand.isOff{opacity:.45}
.xairBandPick{display:flex;align-items:center;gap:7px;width:100%;min-height:0;padding:0;background:none;box-shadow:none;color:var(--text);font:700 12px var(--body);justify-content:flex-start}
.xairBandNumber{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--band);color:#050c1a;font:700 11px var(--mono);flex:none}
.xairBandPick b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xairPower{position:absolute;top:8px;right:8px;width:24px;min-height:24px;padding:0;border-radius:7px;font-size:12px;background:rgba(255,255,255,.05);color:var(--faint);border:1px solid var(--line);box-shadow:none}
.xairPower.isOn{color:var(--band);border-color:var(--band)}
.xairMode{display:block;margin:6px 0;font:600 11px var(--mono);color:var(--faint)}
.xairBand dl{display:grid;gap:2px;margin:0}
.xairBand dl div{display:flex;justify-content:space-between;gap:4px;font-size:11px}
.xairBand dt{color:var(--faint)}
.xairBand dd{margin:0;font:500 11px var(--mono)}
.xairFine{display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr));gap:10px 16px;align-items:center;padding:12px;border-radius:12px;background:#071122;border:1px solid var(--line)}
.xairFineHead{display:flex;align-items:center;gap:8px}
.xairFineHead span{width:12px;height:12px;border-radius:50%}
.xairFineHead strong{font:700 13px var(--display)}
.xairFineHead select{width:auto;min-height:32px;padding:4px 30px 4px 10px;font-size:12px}
.xairFine label{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;font-size:12px;color:var(--faint);font-weight:600}
.xairFine output{font:500 12px var(--mono);color:var(--text);min-width:62px;text-align:right}

.rack{grid-area:rack;display:grid;gap:14px;align-content:start}
.fxHorizontal{display:grid;gap:10px;padding:14px}
.fxControl{display:grid;gap:8px;padding:12px;border-radius:12px;background:#071122;border:1px solid var(--line)}
.fxControl>span{display:flex;justify-content:space-between;align-items:center}
.fxControl b{font:700 12px var(--body);color:#cfe0ff}
.fxControl output{font:500 12px var(--mono);color:var(--amber)}
.fxControl small{font-size:11px;color:var(--faint)}
.fxControl select{min-height:34px;padding:4px 30px 4px 10px;font-size:13px}
.personalPresets .fxPanelHead button{min-height:34px;padding:0 14px;font-size:12px}
#personalPresetControls{display:grid;gap:8px;padding:14px 14px 0}
#personalPresetControls button{min-height:38px;font-size:13px}
#personalPresetMsg{padding:10px 14px 14px;font-size:12px}
.mixerToolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}
.mixerToolbar button{min-height:34px;padding:0 14px;font-size:12px}

/* --- mixer --- */
.mixerPanel{grid-area:mixer}
.consoleRack{display:flex;align-items:stretch;gap:0;background:#071122}
.consoleStrips{display:flex;gap:2px;overflow-x:auto;flex:1;padding:10px 0 10px 10px;scrollbar-color:#2b4a80 transparent;scroll-snap-type:x proximity}
.strip,.masterStrip{
  --c:var(--violet);
  position:relative;flex:0 0 112px;display:flex;flex-direction:column;gap:6px;padding:0 8px 10px;border-radius:10px;
  background:linear-gradient(180deg,#102040,#0b162b);border:1px solid #1a2c52;scroll-snap-align:start;cursor:pointer;transition:border-color .15s,background .15s
}
.strip:nth-child(6n+1){--c:#3b82f6}.strip:nth-child(6n+2){--c:#60a5fa}.strip:nth-child(6n+3){--c:#22d3ee}
.strip:nth-child(6n+4){--c:#f5b942}.strip:nth-child(6n+5){--c:#2ee6a6}.strip:nth-child(6n+6){--c:#a5b4fc}
.strip.musicStrip{--c:#ffd166}.strip.phoneAudioStrip{--c:#7dd3fc}
.strip.selected{background:linear-gradient(180deg,#173063,#0d1b38);border-color:var(--c);box-shadow:inset 0 0 0 1px var(--c)}
.stripHead{display:flex;align-items:center;justify-content:space-between;margin:0 -8px;padding:6px 8px;border-radius:9px 9px 0 0;background:var(--c);color:#050c1a}
.stripNo{font:700 11px var(--mono)}
.stripLed{width:7px;height:7px;border-radius:50%;background:rgba(10,8,23,.45)}
.strip.selected .stripLed{background:#fff;box-shadow:0 0 8px #fff}
.stripName{min-height:30px;padding:4px 6px;border-radius:7px;font:700 12px var(--body);text-align:center;background:#071122;border:1px solid transparent;color:var(--text);width:100%}
.stripName:hover{border-color:var(--line)}
strong.stripName{display:block;line-height:22px}
.presetSelect{min-height:28px;padding:2px 22px 2px 6px;font-size:11px;border-radius:7px;background-color:#071122;background-position:calc(100% - 12px) 52%,calc(100% - 8px) 52%;background-size:4px 4px}
.stripEq{display:grid;gap:6px}
.eqSelect{display:flex;justify-content:space-between;gap:4px;min-height:28px;padding:0 8px;border-radius:7px;font-size:11px;background:#071122;border:1px solid #1f3560;color:var(--dim);box-shadow:none}
.eqSelect b{color:var(--c)}
.eqSummary{font:500 10px var(--mono)}
.stripInputGain{display:grid;grid-template-columns:1fr auto;gap:0 4px;align-items:center;font:600 9px var(--body);color:var(--faint)}
.stripInputGain input{grid-column:1/-1;height:16px;accent-color:var(--c)}
.stripInputGain output,.preGainVal{grid-row:1;grid-column:2;font:500 9px var(--mono);color:var(--dim)}
.panHorizontal{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:3px;font:600 9px var(--mono);color:var(--faint)}
.panHorizontal input{height:16px;accent-color:var(--c)}
.panHorizontal output{grid-column:1/-1;text-align:center;font:500 10px var(--mono);color:var(--dim)}
.fxStore{display:none}
.stripBtns{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.stripBtns button{min-height:28px;padding:0;border-radius:7px;font:800 12px var(--body);background:#071122;border:1px solid #1f3560;color:var(--dim);box-shadow:none}
.strip.isMuted .mute{background:#ff3d5a;color:#fff;border-color:#ff3d5a}
.strip.isSolo .solo{background:#ffc14d;color:#1b1300;border-color:#ffc14d}
.strip.isMuted .faderBay{opacity:.5}
.faderBay{position:relative;display:flex;justify-content:center;gap:8px;height:230px;padding:8px 0;border-radius:9px;background:#040a16;border:1px solid #14254a}
.faderBay::before{content:"";position:absolute;left:12px;top:16px;bottom:16px;width:8px;background:repeating-linear-gradient(180deg,#2b4a80 0 1px,transparent 1px 10.5%);opacity:.8}
input[type=range].fader{writing-mode:vertical-lr;direction:rtl;width:30px;height:100%;min-height:0;margin:0;padding:0;appearance:none;-webkit-appearance:none;background:transparent;cursor:ns-resize}
input[type=range].fader::-webkit-slider-runnable-track{width:4px;height:auto;border-radius:3px;background:#1e3358}
input[type=range].fader::-moz-range-track{width:4px;height:auto;border-radius:3px;background:#1e3358}
input[type=range].fader::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:42px;margin:0 0 0 -12px;border-radius:6px;border:1px solid #5b7bb5;background:linear-gradient(180deg,#dbe6f7 0,#97a9cc 46%,#2e4370 48%,#2e4370 52%,#97a9cc 54%,#dbe6f7 100%);box-shadow:0 6px 14px rgba(0,0,0,.6)}
input[type=range].fader::-moz-range-thumb{width:28px;height:42px;border-radius:6px;border:1px solid #5b7bb5;background:linear-gradient(180deg,#dbe6f7 0,#97a9cc 46%,#2e4370 48%,#2e4370 52%,#97a9cc 54%,#dbe6f7 100%);box-shadow:0 6px 14px rgba(0,0,0,.6)}
.strip.selected .fader::-webkit-slider-thumb{border-color:var(--c)}
.meter{position:relative;width:8px;height:100%;border-radius:4px;background:#0c1830;overflow:hidden}
.meter i{position:absolute;left:0;right:0;bottom:0;height:0;border-radius:4px;background:linear-gradient(0deg,#2ee6a6 0,#9cf06b 62%,#ffc14d 80%,#ff3d5a 96%);background-size:100% var(--meterH,214px);background-position:bottom;transition:height .05s linear}
.db{text-align:center;font:500 11px var(--mono);color:var(--dim);padding:4px 0;border-radius:6px;background:#071122}
.masterStrip{flex:0 0 132px;margin:10px 10px 10px 8px;--c:#60a5fa;background:linear-gradient(180deg,#0f2650,#0a1838);border-color:#2a4a80;cursor:default}
.masterStrip .stripHead{background:var(--aurora)}
.masterStrip .stripHead .stripNo{color:#fff}
.masterFaderBay{flex:1;min-height:300px;height:auto}
.masterMeta{font-size:10px;line-height:1.4;text-align:center;color:var(--faint)}

.musicSyncPanel{grid-area:sync}
.musicSyncPanel .fxPanelHead label{display:flex;align-items:center;gap:8px;font-size:12px}
.musicSyncPanel select{width:auto;min-height:32px;padding:4px 30px 4px 10px;font-size:12px}
#musicWave{display:block;width:calc(100% - 28px);height:72px;margin:14px;border-radius:10px;cursor:ew-resize}
.musicSyncControls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;padding:0 14px 14px}
.musicSyncControls button{min-height:34px;padding:0 14px;font-size:12px}
.musicSyncControls strong{min-width:90px;text-align:center;font:600 15px var(--mono)}
.mixFinalActions{grid-area:final;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;margin-bottom:6px;background:linear-gradient(110deg,rgba(37,99,235,.16),rgba(56,189,248,.1) 60%,rgba(125,211,252,.08)),#0b162b}
.mixFinalActions strong{font:700 17px var(--display)}
.daw .studioFooter{margin-top:16px;padding:18px 0 24px;width:calc(100% - 36px)}

/* ---------- responsivo ---------- */
@media (max-width:1100px){
  .mixConsole{grid-template-columns:1fr;grid-template-areas:"eq" "rack" "mixer" "sync" "final"}
  .rack{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
  .xairFine{grid-template-columns:1fr 1fr}
  .xairFineHead{grid-column:1/-1}
}
@media (max-width:980px){
  .siteNav nav{display:none}
  .hero{grid-template-columns:1fr;min-height:0;padding-top:120px;gap:44px}
  .heroStage{max-height:none;aspect-ratio:1/1;max-width:560px;width:100%;margin:0 auto}
  .miniDesk{left:-6px}
  .steps{grid-template-columns:1fr 1fr}
  .splitFeature{grid-template-columns:1fr;gap:36px}
  .splitFeature.flip .featurePhoto{order:0}
  .featurePhoto{aspect-ratio:16/11}
  .gallery{grid-template-columns:1fr 1fr;grid-template-rows:220px 220px 220px}
  .gallery figure:first-child{grid-column:span 2;grid-row:auto}
  .authScreen{grid-template-columns:1fr}
  .authVisual{min-height:36vh;padding-bottom:28px}
  .authVisual blockquote{font-size:24px}
  .workspace,.adminColumns{grid-template-columns:1fr}
}
@media (max-width:640px){
  body{font-size:15px}
  .siteNav{inset:10px 10px auto;padding-left:14px}
  .siteNav .brand span.word{display:none}
  .band{padding:76px 0}
  .steps{grid-template-columns:1fr}
  .steps li::before{margin-bottom:22px}
  .heroCopy p{font-size:17px}
  .heroFacts{gap:18px}
  .miniDesk{padding:12px 14px 10px;gap:9px}
  .miniDesk .lane{height:80px}
  .gallery{grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:220px}
  .gallery figure:first-child{grid-column:auto}
  .appBar .brand>span:not(.mark){display:none}
  .recControls button{flex:1;padding:0 18px}
  .channels{grid-template-columns:1fr 1fr}
  .musicVolumeRow{grid-template-columns:1fr auto}
  .musicVolumeRow span{grid-column:1/-1}
  .pixPaymentGrid{grid-template-columns:1fr}
  .pixQr{margin:auto}
  .importRow{grid-template-columns:1fr}
  .dawBar{padding:8px 10px}
  .dawBar .brand>span:not(.mark),.dawTitle .mini{display:none}
  .dawBar button{padding:0 12px}
  .mixTransport{grid-template-columns:auto 1fr;grid-template-areas:"btns lcd" "seek seek" "wave wave" "status status";padding:12px}
  .transportTime{justify-self:end}
  .transportTime b{font-size:20px}
  .mixConsole{padding:10px 10px 0}
  .xairBands{grid-template-columns:repeat(5,minmax(96px,1fr));overflow-x:auto}
  .xairFine{grid-template-columns:1fr}
  #eqGraph{height:240px}
  .strip{flex-basis:96px}
  .masterStrip{flex-basis:104px}
  .faderBay{height:200px}
}

/* ---------- Tabs (shadcn) ---------- */
.tabs{margin-top:26px}
.tabsList{display:inline-grid;grid-auto-flow:column;grid-auto-columns:1fr;width:100%;height:40px;padding:4px;border-radius:var(--radius);background:hsl(var(--muted));color:hsl(var(--muted-foreground))}
.tabsTrigger{height:32px;min-height:32px;padding:0 12px;border:0;border-radius:calc(var(--radius) - 4px);background:transparent;color:inherit;font:500 14px var(--body);box-shadow:none}
.tabsTrigger:hover{background:transparent;color:hsl(var(--foreground))}
.tabsTrigger[aria-selected="true"]{background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 1px 3px rgba(0,0,0,.4)}
.tabsTrigger .count{margin-left:6px;font:500 11px var(--mono);opacity:.7}
.tabs .deckSection{margin-top:18px;padding-top:0;border-top:0}
.cardDescription{color:hsl(var(--muted-foreground));font-size:14px;margin-top:4px}
.tabPanel[data-inactive]{display:none!important}
.mixConsole>*,.workspace>*,.adminColumns>*{min-width:0}
.dawTitle{flex:1;min-width:0}
.dawBar>.brand{flex:none}
@media (max-width:640px){
  .dawBar{flex-wrap:wrap}
  .dawTitle{order:3;flex-basis:100%;text-align:left}
  .dawBar .row{margin-left:auto}
  #engineState{display:none}
  .rack{grid-template-columns:1fr}
}
.landing{overflow-x:clip}
.dawShell{grid-template-columns:minmax(0,1fr)}.mixTransport>*{min-width:0}
