/* ===== Tokens ===== */
:root{
 color-scheme:dark;
 --bg:#080b12;--bg2:#0c111b;--panel:#101624;--panel2:#161e30;--line:#1f2a3f;--line2:#2d3a56;
 --text:#eef1f8;--muted:#9ba6bd;--faint:#7482a0;
 --accent:#7a6bf6;--accent-hi:#a99fff;--accent-soft:rgba(122,107,246,.16);
 --ok:#3dd6b3;--ok-soft:rgba(61,214,179,.13);
 --warn:#f0b64e;--warn-soft:rgba(240,182,78,.13);
 --bad:#f4707c;--bad-soft:rgba(244,112,124,.13);
 --r:14px;--rs:10px;--side:236px;
 font:14.5px/1.5 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);min-height:100vh}
[hidden]{display:none!important}
h1,h2,h3,p,ul,ol,dl,dd{margin:0}
h1{font-size:24px;line-height:1.2;letter-spacing:-.02em;font-weight:700}
h2{font-size:16.5px;line-height:1.3;letter-spacing:-.01em}
h3{font-size:14px}
a{color:var(--accent-hi);text-decoration:none}
a:hover{text-decoration:underline}
code,.mono{font:12px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-wrap:anywhere}
small{font-size:12.5px}
.muted,.field-help,.subtitle{color:var(--muted)}
.error{color:var(--bad)}
.icon{width:18px;height:18px;flex-shrink:0}
:focus-visible{outline:2px solid var(--accent-hi);outline-offset:2px}
.skip-link{position:absolute;left:-999px;top:8px;z-index:50;background:var(--accent);color:#fff;padding:8px 12px;border-radius:var(--rs)}
.skip-link:focus{left:8px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ===== Estrutura da área logada ===== */
.layout{min-height:100vh}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--side);background:var(--bg2);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:30}
.brand{display:flex;align-items:center;gap:9px;color:var(--text);font-weight:700;font-size:15px;letter-spacing:-.01em}
.brand:hover{text-decoration:none}
.brand-mark{border-radius:8px}
.sidebar>.brand{padding:18px 16px 12px}
.side-nav{flex:1;overflow-y:auto;padding:2px 10px 12px;display:flex;flex-direction:column;gap:1px;scrollbar-width:thin}
.side-nav a{display:flex;align-items:center;gap:11px;min-height:36px;padding:0 11px;border-radius:var(--rs);color:#a3aec3;font-weight:500;position:relative}
.side-nav a:hover{background:var(--panel2);color:var(--text);text-decoration:none}
.side-nav a.selected{background:var(--accent-soft);color:#fff}
.side-nav a.selected .icon{color:var(--accent-hi)}
.side-nav .back-link{color:var(--accent-hi);margin-bottom:4px}
.nav-caption{margin:16px 11px 5px;font-size:12.5px;font-weight:600;color:var(--faint)}
#support-attention[data-count]:not([data-count=""])::after{content:attr(data-count);margin-left:auto;min-width:18px;padding:0 5px;border-radius:9px;background:var(--warn);color:#241a05;font-size:11.5px;font-weight:700;text-align:center;line-height:18px}
.side-user{display:flex;align-items:center;gap:4px;padding:10px;border-top:1px solid var(--line)}
.side-user>a{flex:1;min-width:0;display:flex;align-items:center;gap:9px;color:var(--text);border-radius:var(--rs);padding:3px}
.side-user>a:hover{background:var(--panel2);text-decoration:none}
.avatar{width:28px;height:28px;border-radius:50%;background:var(--accent-soft);color:var(--accent-hi);display:grid;place-items:center;font-weight:700;flex-shrink:0}
.who{min-width:0;display:flex;flex-direction:column;line-height:1.25}
.who strong{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.who small{color:var(--muted)}
.side-user form{margin:0}
.icon-button{background:transparent;border:0;color:var(--muted);width:30px;min-height:30px;padding:0}
.icon-button:hover{background:var(--panel2);color:var(--text);filter:none}
.app{margin-left:var(--side);min-width:0}
.topbar,.scrim,.menu-button{display:none}
main{max-width:1320px;margin:0 auto;padding:26px 30px 44px}

/* ===== Cabeçalho de página ===== */
.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;margin:0 0 20px}
.page-heading h1 span,.page-heading .eyebrow{display:none}
.page-heading .subtitle,.page-heading p{margin-top:3px;color:var(--muted);font-size:13.5px}
.eyebrow,.tag{font-size:12.5px;font-weight:600;color:var(--accent-hi)}

/* ===== Painéis e grades ===== */
.panel,.card,.metric{background:var(--panel);border:1px solid var(--line);border-radius:var(--r)}
.panel,.card{padding:18px;margin:0 0 14px}
.panel>:last-child,.card>:last-child{margin-bottom:0}
.panel h2,.card h2{margin:0 0 8px}
.panel p,.card p{margin:6px 0}
.panel p:first-child{margin-top:0}
.panel-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px}
.panel-title h2{margin:0;display:flex;align-items:center;gap:7px}
.panel-title p{margin:2px 0 0;font-size:12.5px;color:var(--muted)}
.panel-title>.icon{color:var(--faint)}
.narrow{max-width:520px;margin:40px auto}
.grid,.feature-grid,.overview-grid,.metric-grid,.alerts-grid{display:grid;gap:14px;margin:0 0 14px}
.feature-grid,.alerts-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.overview-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
.metric-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}
.feature-grid>.panel,.overview-grid>.panel,.alerts-grid>.panel,.grid>.card{margin:0}
.metric{padding:14px 16px}
.metric-label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12.5px;color:var(--muted)}
.metric-label .icon{color:var(--faint);width:14px;height:14px}
.metric>strong{display:block;margin-top:2px;font-size:21px;line-height:1.25;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.metric>small{color:var(--faint)}
.health-item{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.health-item:last-of-type{border-bottom:0}
.health-item span{color:var(--muted)}
.health-item strong{font-weight:600;text-align:right;overflow-wrap:anywhere}
.alert-card{border-left:3px solid var(--accent)}
.ops-alert{border-left:3px solid var(--warn)}
.alerts-stale{color:var(--warn)}
.mini-tag,.label-badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:5px;background:var(--panel2);border:1px solid var(--line2);font-size:11.5px;font-weight:600;color:var(--muted);letter-spacing:.02em;white-space:nowrap}
.label-badge.good{background:var(--ok-soft);border-color:transparent;color:var(--ok)}
.empty-state{padding:24px;text-align:center;color:var(--muted)}
.action-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0 0}
.status-pill{display:inline-flex;align-items:center;gap:7px;padding:4px 11px;border-radius:99px;border:1px solid var(--line2);background:var(--panel2);font-size:13px;font-weight:600}
.status-pill i,.dot{width:7px;height:7px;border-radius:50%;background:var(--faint);display:inline-block}
.status-pill[data-state=live]{color:var(--ok);background:var(--ok-soft);border-color:transparent}
.status-pill[data-state=live] i{background:var(--ok);box-shadow:0 0 0 3px rgba(61,214,179,.2)}
.status-pill[data-state=brb] i,.status-pill[data-state=reconnecting] i{background:var(--warn)}
.status-pill[data-state=brb],.status-pill[data-state=reconnecting]{color:var(--warn);background:var(--warn-soft);border-color:transparent}
.status-pill[data-state=error]{color:var(--bad);background:var(--bad-soft);border-color:transparent}
.status-pill[data-state=error] i{background:var(--bad)}

/* ===== Botões ===== */
button,.button-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0 16px;border:1px solid transparent;border-radius:var(--rs);background:var(--accent);color:#fff;font:inherit;font-size:13.5px;font-weight:600;line-height:1;cursor:pointer;text-decoration:none;white-space:nowrap}
button:hover,.button-link:hover{filter:brightness(1.12);text-decoration:none}
button:active,.button-link:active{filter:brightness(.95)}
button:disabled{opacity:.45;cursor:not-allowed;filter:none}
.secondary,button.secondary,.button-link.secondary{background:var(--panel2);border-color:var(--line2);color:var(--text)}
.danger,button.danger{background:var(--bad-soft);border-color:rgba(244,112,124,.35);color:var(--bad)}
.text-button{background:transparent;border:0;color:var(--accent-hi);padding:0 4px;min-height:24px}
.button-link.big{min-height:46px;padding:0 24px;font-size:15.5px}

/* ===== Formulários ===== */
label{display:grid;gap:6px;margin:0 0 14px;font-size:13px;font-weight:500;color:var(--muted)}
input,select,textarea{width:100%;min-height:40px;padding:8px 12px;background:var(--bg);border:1px solid var(--line2);border-radius:var(--rs);color:var(--text);font:inherit}
textarea{min-height:76px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
input[readonly]{color:var(--muted)}
input[type=checkbox],input[type=radio]{width:18px;min-height:0;height:18px;padding:0;accent-color:var(--accent)}
input[type=color]{padding:3px;height:40px}
input[type=range]{padding:0;accent-color:var(--accent)}
.check-label{display:flex;align-items:center;gap:8px;color:var(--text);font-size:13.5px}
.field-help{font-size:12.5px;margin:-4px 0 10px}
form{margin:0}
.filter-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin:0 0 12px}
.filter-bar label{margin:0;flex:1;min-width:150px}
.filter-bar>a{padding-bottom:8px}
.customer-action{display:flex;align-items:center;gap:6px;margin-top:6px}
.customer-action select{min-width:130px}
.profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;border:0;padding:0;margin:0 0 6px}
.profile-fields legend{padding:0;margin-bottom:6px;font-weight:600;color:var(--text)}
.pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;color:var(--muted)}
.pagination>div{display:flex;gap:8px}

/* ===== Tabelas ===== */
.table-scroll{overflow-x:auto;margin:0 -2px}
table{width:100%;border-collapse:collapse;font-size:13.5px}
th{padding:10px 12px;text-align:left;font-size:13px;font-weight:600;color:var(--muted);border-bottom:1px solid var(--line2);white-space:nowrap}
td{padding:12px 12px;border-bottom:1px solid var(--line);vertical-align:top}
tbody tr:hover td{background:rgba(255,255,255,.02)}
td small{display:block;color:var(--muted)}
td p{margin:0 0 6px}
td details summary{font-weight:500;color:var(--muted)}

/* ===== Detalhes, abas e controles segmentados ===== */
summary{cursor:pointer;font-weight:600;list-style:none;display:flex;align-items:center;gap:8px}
summary::-webkit-details-marker{display:none}
summary::after{content:"";margin-left:auto;width:7px;height:7px;border:solid var(--faint);border-width:0 1.5px 1.5px 0;transform:rotate(45deg) translateY(-2px);flex-shrink:0;transition:transform .15s}
details[open]>summary::after{transform:rotate(-135deg) translateY(-2px)}
.task-details{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}
.task-details>summary{color:var(--text)}
.task-details[open]>summary{margin-bottom:10px}
.panel>.task-details:first-child{border-top:0;margin-top:0;padding-top:0}
.panel .task-details .task-details{margin-left:6px}
.page-tabset{margin:0 0 12px}
.page-tabs,.protocol-tabs,.task-protocols,.rail-tabs,.scene-controls{display:flex;gap:2px}
.page-tabs{overflow-x:auto;border-bottom:1px solid var(--line);margin:0 0 12px;scrollbar-width:none}
.page-tabs button{background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--muted);min-height:34px;padding:0 12px;margin-bottom:-1px}
.page-tabs button:hover{color:var(--text);filter:none}
.page-tabs button[aria-selected=true]{color:#fff;border-bottom-color:var(--accent)}
.page-tab-panel>.panel{margin:0 0 12px}
.page-tabs-host{display:block!important}
.page-tabs-host>div:empty{display:none}
.protocol-tabs,.task-protocols,.rail-tabs,.scene-controls{padding:3px;background:var(--bg);border:1px solid var(--line);border-radius:var(--r);margin:8px 0}
.protocol-tabs button,.task-protocols button,.rail-tabs button,.scene-controls button{flex:1 1 auto;min-width:0;min-height:28px;padding:0 8px;background:transparent;border:0;color:var(--muted);font-size:13px}
.protocol-tabs button:hover,.task-protocols button:hover,.rail-tabs button:hover{color:var(--text);filter:none}
.protocol-tabs button[aria-selected=true],.task-protocols button[aria-pressed=true],.rail-tabs button[aria-selected=true]{background:var(--accent-soft);color:#fff}
.scene-controls{gap:2px}
.scene-controls form{flex:1;display:flex}
.scene-controls form button{width:100%}
.scene-controls[data-mode=automatic] form[data-live-command=auto] button,.scene-controls[data-mode=manual] form[data-live-command=brb] button{background:var(--accent-soft);color:#fff}
.faq-list details,.admin-sections details{border-bottom:1px solid var(--line);padding:9px 0}
.faq-list details:last-child{border-bottom:0}
.faq-list p{margin:6px 0 2px;color:var(--muted)}
.admin-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.admin-sections details{border:1px solid var(--line);border-radius:var(--rs);padding:8px 12px;background:var(--bg2)}
.admin-sections a{display:block;padding:6px 0}

/* ===== Visão geral (cliente) ===== */
.hero-card{background:linear-gradient(135deg,rgba(124,108,245,.16),var(--panel) 60%)}
.hero-card h2{font-size:19px;margin:4px 0 6px}
.hero-card p{color:var(--muted)}
.plan-card h3{font-size:22px;margin:8px 0 6px}
.setup-list,.quick-steps{list-style:none;padding:0;margin:0}
.setup-list li{display:flex;gap:11px;padding:9px 0;border-bottom:1px solid var(--line)}
.setup-list li:last-child{border:0}
.setup-list p{margin:2px 0;color:var(--muted);font-size:13px}
.step-count{width:24px;height:24px;border-radius:50%;background:var(--panel2);border:1px solid var(--line2);display:grid;place-items:center;flex-shrink:0;font-size:12px;font-weight:700;color:var(--muted)}
.step-count.done{background:var(--ok-soft);border-color:transparent;color:var(--ok)}
.account-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:4px;color:var(--muted);font-size:13px}
.onboarding-note{background:var(--bg2)}
.connection-steps{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.connection-steps span{padding:5px 10px;border-radius:99px;background:var(--panel2);font-size:13px;color:var(--muted)}
.simplified-page .connection-steps{display:none}
.diagnostic-list{display:grid;gap:10px}
.diagnostic-step{display:flex;gap:12px;margin:0}
.diagnostic-step[data-check-state=action]{border-left:3px solid var(--warn)}
.diagnostic-step[data-check-state=confirmed]{border-left:3px solid var(--ok)}
.ingest-health{padding:8px 11px;border-radius:var(--rs);background:var(--panel2)}
.ingest-health[data-state=online]{color:var(--ok)}
.ingest-health[data-state=offline]{color:var(--warn)}
.ingest-field input{font:12px ui-monospace,Menlo,Consolas,monospace}
.ingest-actions{display:flex;gap:6px;margin-top:6px}
.ingest-actions button{flex:1}
.ingest-caption{font-size:12px;color:var(--muted)}
.destination-metrics>div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line)}
.destination-metrics dt{color:var(--muted)}
.destination-metrics dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}
.plan-event,.billing-order{padding:10px 0;border-top:1px solid var(--line)}
.plan-event p{overflow-wrap:anywhere}
.billing-order small{display:block;color:var(--muted);overflow-wrap:anywhere}
.billing-order form{display:flex;gap:8px;flex-wrap:wrap}
.plan-change label[hidden]{display:none}
.audio-channel{display:grid;grid-template-columns:54px 1fr 70px;gap:8px;align-items:center;margin:8px 0;font-size:13px}
.audio-channel meter{width:100%;height:14px}
.audio-channel strong{text-align:right;font-variant-numeric:tabular-nums}
#audio-meter[data-level=high] #audio-message{color:var(--warn)}
#audio-meter[data-level=quiet] #audio-message{color:var(--muted)}
#brb-canvas,.brb-current,#overlay-preview{display:block;width:100%;height:auto;border-radius:var(--rs);border:1px solid var(--line);margin:10px 0}
#brb-result{color:var(--ok)}
#brb-editor button{margin:4px 4px 0 0}
#command-message:empty,#monitor-message:empty{display:none}
#command-message,#copy-status{color:var(--ok);font-size:13px}
.mfa-qr svg{max-width:200px;background:#fff;padding:8px;border-radius:var(--rs)}
.moblin-zoom-controls,.moblin-device-state{margin-top:8px}

/* Avisos no topo da área logada (plano e comunicados) */
#account-plan-notice:not([hidden]),#system-announcements:not([hidden]){display:grid;gap:8px;margin:0 0 12px}
#account-plan-notice>article,#system-announcements>article{margin:0;padding:10px 14px;border-left:3px solid var(--warn)}
#system-announcements>article{border-left-color:var(--accent)}
#account-plan-notice h2,#system-announcements h2{margin:0 0 2px;font-size:14px}
#account-plan-notice p,#system-announcements p{margin:0;font-size:13px;color:var(--muted)}
#account-plan-notice>p,#system-announcements>p{font-size:12.5px;color:var(--faint)}
#account-plan-notice .action-row,#system-announcements .action-row{margin-top:6px}

/* ===== Estúdio ===== */
.heading-actions{display:flex;align-items:center;gap:10px}
.studio{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}
.studio-main{min-width:0;display:grid;gap:14px}
.studio-main>*{margin:0}
.studio.is-focus{grid-template-columns:minmax(0,1fr)}
.studio.is-focus .studio-rail,.studio.is-focus .studio-details{display:none}
.live-bar{display:flex;align-items:center;justify-content:space-between;gap:8px 14px;flex-wrap:wrap;padding:12px 16px;background:var(--panel2)}
/* Controle da live: fica antes do vídeo e acompanha a rolagem, para iniciar e encerrar sem procurar o botão */
.live-deck{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;padding:14px 16px;background:var(--panel2);border:1px solid var(--line2);border-radius:var(--r);position:sticky;top:12px;z-index:12;box-shadow:0 10px 28px rgba(0,0,0,.32)}
.deck-dot{width:12px;height:12px;border-radius:50%;background:var(--faint);flex-shrink:0}
.live-deck .control-state{flex:1;min-width:170px;font-size:17px;font-weight:650;letter-spacing:-.01em}
body:has(#live-badge[data-state=live]) .deck-dot{background:var(--ok);box-shadow:0 0 0 4px rgba(61,214,179,.22);animation:deck-pulse 2.4s ease-in-out infinite}
body:has(#live-badge[data-state=brb]) .deck-dot,body:has(#live-badge[data-state=reconnecting]) .deck-dot{background:var(--warn);box-shadow:0 0 0 4px rgba(240,182,78,.22)}
body:has(#live-badge[data-state=error]) .deck-dot{background:var(--bad);box-shadow:0 0 0 4px rgba(244,112,124,.22)}
@keyframes deck-pulse{50%{box-shadow:0 0 0 8px rgba(61,214,179,0)}}
@media(prefers-reduced-motion:reduce){.deck-dot{animation:none!important}}
.preview-stage.preview-off #program-video{visibility:hidden}
.preview-panel:has(.preview-off) #preview-toggle{display:none}
.stat-strip .metric>strong{font-size:19px}
.preview-placeholder #preview-start{pointer-events:auto;margin-top:14px;min-height:44px;padding:0 26px;font-size:15.5px}
.live-bar-sub{padding:7px 12px;background:var(--bg2);border-top:1px solid var(--line)}
.control-state{margin:0;font-weight:600}
.primary-controls{display:flex;gap:8px;margin:0}
.primary-controls form{display:flex}
.primary-controls button{min-height:44px;padding:0 26px;font-size:15.5px}
.protection{display:flex;align-items:center;gap:10px}
.protection .seg-label{font-size:12.5px;color:var(--muted)}
.protection .scene-controls{margin:0}
.protection .scene-controls button{padding:0 12px}
.live-note{margin:0;padding:0 12px;font-size:13px;color:var(--muted)}
.live-note:not(:empty){padding-top:7px;padding-bottom:7px;border-top:1px solid var(--line)}
.stat-strip{grid-template-columns:repeat(auto-fit,minmax(min(100%,128px),1fr))}
.studio-details{padding:0}
.studio-details>summary{padding:11px 14px}
.details-body{display:grid;gap:18px;padding:12px 14px 14px;border-top:1px solid var(--line)}
.detail-block h3{margin:0 0 6px}
.detail-block>p:first-of-type{margin-top:0}
.mini-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-top:8px}
.mini-stats .metric{padding:8px 10px}
.mini-stats .metric>strong{font-size:16px}
.studio-rail{padding:0;overflow:hidden;position:sticky;top:12px}
.rail-content{max-height:calc(100dvh - 130px);overflow:auto;scrollbar-width:thin;overscroll-behavior:contain}
.rail-view{padding:2px 14px 14px;min-width:0}
.rail-block{padding:12px 0;border-top:1px solid var(--line);min-width:0}
.rail-block:first-child{border-top:0;padding-top:4px}
.rail-block h3{margin:0 0 8px}
.rail-block p{margin:6px 0}
.rail-block label{min-width:0;width:100%}
.rail-block .panel-title{margin-bottom:6px}
.rail-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.rail-head h3{margin:0}
.rail-widget-list{list-style:none;margin:0 0 8px;padding:0}
.rail-widget-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.rail-widget-list li.muted{display:block;border:0;padding:4px 0}
.rail-widget-list .switch span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}
.rail-view>.studio-compositions{border-top:1px solid var(--line);padding:11px 0 0}
.rail-view>.studio-compositions:first-child{border-top:0}
.studio-compositions form{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.studio-compositions>p,.studio-compositions>a{display:block;margin:8px 0 0}
.preview-panel{padding:0;overflow:hidden}
.studio-compositions{border-top:1px solid var(--line);padding:9px 0}
.preview-panel>.studio-compositions{padding:9px 12px;margin:0}
.studio-compositions form{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.preview-panel{padding:0;overflow:hidden}
.preview-panel .panel-title{padding:9px 12px;margin:0}
.preview-stage{position:relative;aspect-ratio:16/9;background:#05070b;display:flex;align-items:center;justify-content:center;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.preview-stage video,.preview-stage>img,#program-video{display:block;width:100%;height:100%;object-fit:contain;background:#05070b}
.preview-stage.stale>img{opacity:.3}
.preview-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:20px;text-align:center;color:var(--muted);pointer-events:none}
.preview-placeholder .icon{width:30px;height:30px;color:var(--faint);margin-bottom:6px}
.preview-placeholder strong{color:var(--text);font-size:15px}
.preview-placeholder p{max-width:300px;font-size:12.5px;margin:0}
.preview-corner{position:absolute;left:12px;right:12px;top:10px;display:flex;justify-content:space-between;gap:10px;font-size:11.5px;color:#c6cfdd;pointer-events:none}
.preview-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;font-size:12px;color:var(--muted)}
.preview-footer .dot{background:var(--ok);margin-right:6px}
.camera-live-preview{background:#05070b;border:1px solid var(--line);border-radius:var(--rs);overflow:hidden;margin:8px 0}
.camera-live-preview video{display:block;width:100%;aspect-ratio:16/9;background:#05070b}
.camera-live-preview .video-state{padding:6px 10px;font-size:12.5px;color:var(--muted)}
.chart-legend{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);margin-bottom:8px}
.chart-legend span{display:flex;align-items:center;gap:6px}
.chart-legend i{width:7px;height:7px;border-radius:50%;background:var(--ok)}
.chart-wrap{position:relative;min-height:110px}
.chart-wrap svg{display:block;width:100%;overflow:visible}
.chart-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:16px;text-align:center;font-size:12.5px;color:var(--muted);pointer-events:none}
.chart-detail{min-height:14px;margin:6px 0 0;font-size:12px;color:var(--faint)}
.activity-list{list-style:none;margin:0;padding:0}
.activity-list li{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--line);font-size:13px}
.activity-list li:last-child{border:0}
.activity-list time{color:var(--faint);white-space:nowrap}

/* ===== Páginas públicas ===== */
.public-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px max(20px,calc((100vw - 1120px)/2));background:rgba(9,12,19,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.public-header nav,.site-footer nav{display:flex;align-items:center;gap:4px 18px;flex-wrap:wrap}
.public-header nav>a:not(.button-link){color:var(--muted)}
.public-header nav>a:not(.button-link):hover{color:var(--text);text-decoration:none}
.public-page main{max-width:1120px;padding:0 20px 40px}
.site-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;max-width:1120px;margin:0 auto;padding:24px 20px 32px;border-top:1px solid var(--line);color:var(--muted)}
.site-footer p{margin-top:4px;font-size:13px}
.site-footer nav a{color:var(--muted)}
.site-footer nav a:hover{color:var(--text)}
.site-footer small{flex-basis:100%;color:var(--faint)}
.lp-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;align-items:center;padding:56px 0 44px}
.kicker{display:inline-block;margin-bottom:12px;padding:3px 10px;border-radius:99px;background:var(--accent-soft);color:var(--accent-hi);font-size:12.5px;font-weight:600}
.lp-hero h1{font-size:clamp(30px,4.6vw,46px);line-height:1.08;letter-spacing:-.03em}
.lp-hero h1 em{font-style:normal;color:var(--accent-hi)}
.lp-hero p.lead{margin:14px 0 20px;max-width:520px;font-size:16.5px;line-height:1.6;color:var(--muted)}
.lp-hero .action-row{margin:0 0 18px}
.lp-checks{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;color:var(--muted);font-size:13.5px}
.lp-checks li::before{content:"✓";margin-right:6px;color:var(--ok);font-weight:700}
.lp-flow{display:grid;gap:0;padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:14px;position:relative}
.lp-node{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--panel2);border:1px solid var(--line2);border-radius:var(--r)}
.lp-node .icon{width:20px;height:20px;color:var(--accent-hi)}
.lp-node strong{display:block;font-size:14px}
.lp-node small{color:var(--muted)}
.lp-node.live{border-color:rgba(61,214,179,.4)}
.lp-node.live .icon{color:var(--ok)}
.lp-link{width:2px;height:20px;margin:0 auto;background:linear-gradient(var(--line2),var(--accent))}
.lp-section{padding:36px 0}
.lp-title{margin:0 0 20px;max-width:620px}
.lp-title h2{font-size:clamp(21px,3vw,28px);letter-spacing:-.02em;margin:0 0 6px}
.lp-title p{color:var(--muted);font-size:15px}
.lp-steps,.lp-features{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr))}
.lp-steps article,.lp-features article,.plan{padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r)}
.lp-steps span{display:grid;place-items:center;width:26px;height:26px;margin-bottom:10px;border-radius:50%;background:var(--accent-soft);color:var(--accent-hi);font-weight:700;font-size:13px}
.lp-features .icon{width:20px;height:20px;color:var(--accent-hi);margin-bottom:9px}
.lp-steps h3,.lp-features h3{margin-bottom:4px;font-size:15px}
.lp-steps p,.lp-features p{color:var(--muted)}
.lp-plans{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));align-items:stretch}
.plan{display:flex;flex-direction:column;gap:12px;padding:20px}
.plan:only-child{max-width:380px}
.plan h3{font-size:17px}
.plan .desc{color:var(--muted);min-height:2.6em}
.plan .price{font-size:30px;font-weight:700;letter-spacing:-.02em}
.plan .price small{display:block;font-size:13px;font-weight:400;color:var(--muted);letter-spacing:0}
.plan ul{list-style:none;padding:0;display:grid;gap:7px;flex:1}
.plan li::before{content:"✓";margin-right:8px;color:var(--ok);font-weight:700}
.plan .button-link{min-height:38px}
.plan>small{color:var(--faint)}
.lp-note{margin-top:14px;color:var(--muted);font-size:13px}
.lp-faq{max-width:780px}
.lp-faq details{padding:13px 0;border-bottom:1px solid var(--line)}
.lp-faq summary{font-size:15px;font-weight:600}
.lp-faq p{margin-top:8px;color:var(--muted);line-height:1.65}
.lp-cta{margin:20px 0 0;padding:32px 20px;text-align:center;background:linear-gradient(135deg,rgba(124,108,245,.2),var(--panel) 70%);border:1px solid var(--line2);border-radius:14px}
.lp-cta h2{font-size:24px;margin-bottom:6px}
.lp-cta p{color:var(--muted);margin-bottom:16px}
.lp-cta .action-row{justify-content:center;margin:0}
.auth-wrap{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:56px;align-items:center;max-width:920px;margin:0 auto;padding:48px 0 32px}
.auth-wrap.single{grid-template-columns:minmax(0,440px);justify-content:center}
.auth-aside{align-self:start;position:sticky;top:96px;padding-top:12px}
.auth-wrap{align-items:start}
.auth-wrap.single{align-items:center}
.auth-aside h1{font-size:clamp(26px,3.6vw,36px);line-height:1.12;letter-spacing:-.03em}
.auth-aside>p{margin:12px 0 18px;max-width:380px;color:var(--muted);font-size:15.5px}
.auth-points{display:grid;gap:10px}
.auth-points p{display:flex;align-items:center;gap:10px;color:var(--muted)}
.auth-points .icon{color:var(--accent-hi)}
.auth-card{padding:24px;margin:0}
.auth-card h2{font-size:20px;margin-bottom:4px}
.auth-card form{margin-top:16px}
.auth-card button{width:100%;min-height:38px;margin-top:4px}
.auth-switch{margin-top:16px!important;text-align:center;color:var(--muted)}
.legal{max-width:720px;margin:36px auto}
.legal h1{margin-bottom:16px}
.legal h2{margin:20px 0 6px}
.legal p,.legal li{color:var(--muted);line-height:1.7}

/* Atalhos da visão geral e ajustes finais */
.shortcuts{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px}
.shortcuts a{display:flex;align-items:center;gap:13px;padding:13px 15px;border:1px solid var(--line);border-radius:var(--rs);background:var(--bg2);color:var(--text)}
.shortcuts a:hover{border-color:var(--accent);background:var(--panel2);text-decoration:none}
.shortcuts .icon{color:var(--accent-hi);width:20px;height:20px}
.shortcuts strong{display:block;font-weight:600}
.shortcuts small{display:block;color:var(--muted)}
/* Situação da transmissão na visão geral */
.dash-live-head{display:flex;align-items:center;gap:12px 18px;flex-wrap:wrap}
.dash-live-head>div{flex:1;min-width:210px}
.dash-live-head h2{margin:0;font-size:20px}
.dash-live-head p{margin:3px 0 0;color:var(--muted)}
.dash-live[data-state=live] .deck-dot{background:var(--ok);box-shadow:0 0 0 4px rgba(61,214,179,.22);animation:deck-pulse 2.4s ease-in-out infinite}
.dash-live[data-state=brb] .deck-dot,.dash-live[data-state=reconnecting] .deck-dot{background:var(--warn);box-shadow:0 0 0 4px rgba(240,182,78,.22)}
.dash-live[data-state=error] .deck-dot{background:var(--bad);box-shadow:0 0 0 4px rgba(244,112,124,.22)}
.dash-live-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.dash-live-stats span{display:block;color:var(--muted)}
.dash-live-stats strong{font-size:21px;font-variant-numeric:tabular-nums}
.page-heading .action-row{margin:0}
#como-funciona,#planos,#duvidas{scroll-margin-top:64px}

/* ===== Responsivo ===== */
@media(max-width:1100px){
 .studio{grid-template-columns:minmax(0,1fr)}
 .studio-rail{position:static}
 .rail-content{max-height:none}
}
@media(max-width:900px){
 .lp-hero,.auth-wrap{grid-template-columns:minmax(0,1fr);gap:28px}
 .lp-hero{padding:32px 0 24px}
 .auth-aside{display:none}
 .auth-wrap{max-width:440px;padding-top:24px}
 .sidebar{position:static;width:auto;border-right:0;border-bottom:1px solid var(--line)}
 .side-user{display:none}
 .side-nav{max-height:46vh}
 .app{margin-left:0}
 main{padding:16px 14px 32px}
 .live-deck{top:54px}
 .enhanced-shell .sidebar{position:fixed;top:0;bottom:0;left:0;width:min(280px,84vw);border:0;border-right:1px solid var(--line);transform:translateX(-102%);transition:transform .18s;box-shadow:none}
 .enhanced-shell .side-user{display:flex}
 .enhanced-shell .side-nav{max-height:none;padding-top:12px}
 .enhanced-shell.nav-open .sidebar,.nav-open .sidebar{transform:none;box-shadow:12px 0 40px rgba(0,0,0,.5)}
 .enhanced-shell .scrim{display:block;position:fixed;inset:0;z-index:25;background:rgba(0,0,0,.55)}
 .enhanced-shell .scrim[hidden]{display:none}
 .enhanced-shell .topbar{display:flex;align-items:center;gap:8px;position:sticky;top:0;z-index:20;height:46px;padding:0 10px;background:rgba(13,17,26,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
 .enhanced-shell .sidebar>.brand{display:none}
 .enhanced-shell .menu-button{display:inline-flex;background:transparent;border:0;color:var(--text);padding:0;width:34px}
 .profile-fields{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:600px){
 .public-header{padding:10px 14px}
 .public-header nav>a:not(.button-link):not(:nth-child(4)){display:none}
 .public-page main,.site-footer{padding-left:14px;padding-right:14px}
 .page-heading h1{font-size:19px}
 .live-deck{padding:10px 12px;gap:8px;top:52px}
 .live-deck .control-state{font-size:15px;flex-basis:calc(100% - 30px)}
 .primary-controls{width:100%}
 .primary-controls form{flex:1}
 .primary-controls button{width:100%;padding:0 12px}
 .protection{width:100%;justify-content:space-between}
 .protection .scene-controls{flex:1}
 .rail-tabs{margin:6px}
 .preview-corner{top:8px}
 .metric>strong{font-size:19px}
 .filter-bar label{min-width:100%}
 .customer-action{flex-wrap:wrap}
 table{font-size:13px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ===== Widgets da live ===== */
.widgets-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:14px;align-items:start}
.widgets-stage-panel{position:sticky;top:12px}
.widgets-list{display:grid;gap:8px}
.wsave{font-size:12.5px;color:var(--ok)}.wsave[data-bad=true]{color:var(--bad)}
.wstage{position:relative;aspect-ratio:16/9;border:1px solid var(--line2);border-radius:var(--rs);overflow:hidden;touch-action:none;user-select:none;background-color:#0b1019;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:10% 10%}
.wstage.has-image{background-size:cover;background-repeat:no-repeat;background-position:center}
.wstage-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--faint);font-size:13px;pointer-events:none}
.wstage:has(.wbox:not([hidden])) .wstage-empty{display:none}
.wbox{position:absolute;min-width:24px;min-height:16px;border:1.5px solid var(--accent-hi);border-radius:4px;background:rgba(124,108,245,.28);cursor:grab;overflow:hidden;outline-offset:2px}
.wbox.selected{border-color:var(--ok);background:rgba(61,214,179,.22)}
.wbox.off{border-style:dashed;opacity:.55}.wbox.draft{border-style:dashed}
.wbox.dragging{cursor:grabbing}
.wlabel{position:absolute;left:0;top:0;max-width:100%;padding:1px 6px;background:rgba(9,12,19,.82);color:#fff;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.whandle{position:absolute;right:0;bottom:0;width:14px;height:14px;background:var(--accent-hi);border-top-left-radius:4px;cursor:nwse-resize}
.wbox.selected .whandle{background:var(--ok)}
.wguide{position:absolute;background:var(--warn);pointer-events:none}.wguide-x{top:0;bottom:0;width:1px}.wguide-y{left:0;right:0;height:1px}
.wcard{border:1px solid var(--line);border-radius:var(--r);background:var(--panel)}
.wcard>summary{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;list-style:none}
.wcard>summary::-webkit-details-marker{display:none}
.wcard[open]>summary{border-bottom:1px solid var(--line)}
.wtitle{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.wtitle strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wmeta{color:var(--muted);font-size:12.5px}
.wstate{font-size:12px;padding:2px 8px;border-radius:99px;background:var(--panel2);color:var(--muted)}.wstate[data-on=true]{background:var(--ok-soft);color:var(--ok)}
.wform{padding:12px;display:grid;gap:12px}
.wfields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.wfield{display:grid;gap:4px;align-content:start;font-size:13px}.wfield>span{color:var(--muted)}.wfield small{color:var(--faint)}
.wfield:first-child,.wfield:nth-child(2){grid-column:1/-1}
.wfields .wide{grid-column:1/-1}
.wadvanced>summary{cursor:pointer;color:var(--muted);font-size:13px;margin-bottom:8px}
.wactions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.wactions .spacer{flex:1}
.snap-grid{display:grid;grid-template-columns:repeat(3,22px);gap:3px}
.snap-grid button{min-height:22px;width:22px;padding:0;background:var(--panel2);border:1px solid var(--line2)}.snap-grid button:hover{background:var(--accent)}
.wsnap{grid-column:1/-1}
.switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13.5px;color:var(--text)}
.switch input{position:absolute;opacity:0;width:1px;height:1px}
.switch i{position:relative;width:30px;height:17px;border-radius:99px;background:var(--line2);flex-shrink:0;transition:background .15s}
.switch i::after{content:"";position:absolute;left:2px;top:2px;width:13px;height:13px;border-radius:50%;background:#fff;transition:transform .15s}
.switch input:checked+i{background:var(--accent)}.switch input:checked+i::after{transform:translateX(13px)}
.switch input:focus-visible+i{outline:2px solid var(--accent-hi);outline-offset:2px}
.wsteps{margin:8px 0 8px 18px;display:grid;gap:4px}
.widget-status{display:inline-flex;align-items:center;gap:7px;padding:4px 11px;border-radius:99px;border:1px solid var(--line2);background:var(--panel2);font-size:13px;font-weight:600}
.widget-status i{width:7px;height:7px;border-radius:50%;background:var(--faint)}
.widget-status[data-state=confirmed]{color:var(--ok);background:var(--ok-soft);border-color:transparent}.widget-status[data-state=confirmed] i{background:var(--ok)}
.widget-status[data-state=pending]{color:var(--warn)}.widget-status[data-state=pending] i{background:var(--warn)}
.widget-status[data-state=unsupported],.widget-status[data-state=no-browser]{color:var(--bad)}.widget-status[data-state=unsupported] i,.widget-status[data-state=no-browser] i{background:var(--bad)}
.notice-ok{color:var(--ok)}
@media(max-width:1000px){.widgets-layout{grid-template-columns:1fr}.widgets-stage-panel{position:static}}
@media(max-width:600px){.wfields{grid-template-columns:1fr}}
.stat-strip .metric>strong[data-monitor=source]{font-size:15px;line-height:1.35;margin-top:4px}

/* ===== Administração ===== */
.filter-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.filter-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--line2);border-radius:99px;background:var(--panel);color:var(--muted);font-size:13.5px}
.filter-chip strong{color:var(--text);font-variant-numeric:tabular-nums}
.filter-chip:hover{color:var(--text);text-decoration:none;border-color:var(--accent)}
.filter-chip[aria-current=true]{background:var(--accent-soft);border-color:transparent;color:#fff}
.label-badge.warn{background:var(--warn-soft);border-color:transparent;color:var(--warn)}
.row-actions{white-space:nowrap}
.row-actions>.button-link{min-height:30px}
.row-menu{display:inline-block;margin-left:6px;vertical-align:middle}
.row-menu>summary{display:inline-flex;min-height:30px;padding:0 10px;align-items:center;border:1px solid var(--line2);border-radius:var(--rs);background:var(--panel2);font-weight:500;font-size:13.5px;color:var(--text)}
.row-menu>summary::after{display:none}
.row-menu>div{display:grid;gap:6px;margin-top:6px;min-width:150px}
.row-menu .customer-action{margin:0}
.row-menu .customer-action button,.row-menu .button-link{width:100%;min-height:30px}
.attention-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px;margin:0 0 12px}
.attention-card{display:grid;gap:3px;padding:14px;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--warn);border-radius:var(--r);color:var(--text)}
.attention-card:hover{text-decoration:none;border-color:var(--line2);border-left-color:var(--warn);background:var(--panel2)}
.attention-card strong{font-size:26px;line-height:1.1;font-variant-numeric:tabular-nums}
.attention-card span{font-weight:600}
.attention-card small{color:var(--muted);font-size:13px}
.attention-clear{display:flex;flex-direction:column;gap:2px;border-left:3px solid var(--ok)}
.attention-clear span{color:var(--muted);font-size:13.5px}
.attention-done h2{font-size:14px;color:var(--muted);margin:0 0 8px}
.attention-done ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;padding:0;font-size:13.5px}
.attention-done li::before{content:"✓";color:var(--ok);margin-right:6px}
.metric-link{display:block;color:var(--text)}
.metric-link:hover{text-decoration:none;border-color:var(--line2);background:var(--panel2)}
.perf-alert{color:var(--warn);background:var(--warn-soft);font-weight:600}
.perf-alert:empty{display:none}

/* ---- Equipe da conta, operadores e cargos ---- */
.chip-row{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0}
.mini-tag.ok{background:var(--ok-soft);border-color:transparent;color:var(--ok)}
.quiet-link{color:var(--muted);font-size:13px;text-decoration:none;white-space:nowrap}
.quiet-link:hover{color:var(--accent-hi)}
.member-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px}
.member-card{display:grid;gap:10px;padding:14px;background:var(--panel2);border:1px solid var(--line);border-radius:var(--r)}
.member-card[data-status=suspended]{opacity:.78}
.member-card .chip-row{margin:0}
.member-card .action-row{margin:0}
.member-head{display:flex;align-items:center;gap:10px}
.member-head>div{min-width:0;flex:1}
.member-head strong,.member-head small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.member-head small{color:var(--muted);font-size:12.5px}
.member-head .avatar{width:36px;height:36px;font-size:15px}
.member-edit{border-top:1px solid var(--line);padding-top:8px}
.member-edit summary{cursor:pointer;color:var(--muted);font-size:13px}
.member-edit[open] summary{margin-bottom:10px;color:var(--text)}
.preset-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px}
.preset-bar[hidden]{display:none}
.preset-bar button{min-height:32px;padding:0 12px;font-size:13px}
.perm-group{border:1px solid var(--line);border-radius:var(--rs);padding:8px 12px 6px;margin:0 0 10px;min-width:0}
.perm-group legend{padding:0 6px;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
.perm-item{display:flex;align-items:flex-start;gap:10px;padding:7px 0;cursor:pointer;border-bottom:1px solid var(--line)}
.perm-item:last-child{border-bottom:0}
.perm-item input{margin-top:2px}
.perm-item strong{display:block;font-size:13.5px;font-weight:600}
.perm-item small{display:block;color:var(--muted);font-size:12.5px;line-height:1.4}
.perm-item.sensitive strong::after{content:"sensível";margin-left:8px;padding:1px 6px;border-radius:5px;background:var(--warn-soft);color:var(--warn);font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;vertical-align:1px}
.invite-list{list-style:none;margin:0;padding:0}
.invite-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}
.invite-list li:last-child{border-bottom:0}
.invite-list small{display:block;color:var(--muted);font-size:12.5px}
.invite-link{border-color:rgba(122,107,246,.5);background:linear-gradient(180deg,var(--accent-soft),transparent 70%),var(--panel)}
.copy-row{display:flex;gap:8px;align-items:stretch}
.copy-row input{flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}
.inline-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}
.inline-form label{flex:1 1 220px;margin:0}
.inline-form button{flex:0 0 auto}
.plain-list{list-style:none;margin:6px 0 0;padding:0}
.plain-list li{padding:4px 0;font-size:13.5px}
.operator-tag{display:inline-block;margin-top:2px;color:var(--accent-hi)}
.email-change{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
.email-change summary{cursor:pointer;color:var(--accent-hi);font-size:13.5px}
.email-change form{margin-top:10px}
.tidy-list{margin:8px 0 12px;padding-left:18px;color:var(--muted);font-size:13.5px;line-height:1.55}
.tidy-list li{margin:4px 0}

/* ---- Entradas e câmeras ---- */
.input-status{display:flex;align-items:center;gap:12px;padding:12px 16px;margin:0 0 14px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r)}
.input-status>div{flex:1;min-width:0}
.input-status strong{display:block;font-size:14px;font-weight:600}
.input-status small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}
.status-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);flex-shrink:0}
.input-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin:0 0 14px}
.input-main{display:grid;grid-template-columns:minmax(240px,330px) minmax(0,1fr);gap:14px;align-items:start}
.input-body{display:grid;gap:10px;min-width:0}
.input-card{display:grid;gap:10px;padding:14px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r)}
.input-card[data-selected=true]{border-color:rgba(122,107,246,.55);box-shadow:0 0 0 1px rgba(122,107,246,.25)}
.input-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.input-head h2{margin:0;font-size:17px}
.input-head .chip-row{margin-top:6px}
.input-head .ingest-health{margin:0;font-size:12.5px;text-align:right;max-width:55%}
.input-card .camera-live-preview{margin:0}
.input-card details{border:1px solid var(--line);border-radius:var(--rs);padding:8px 12px;background:var(--panel2)}
.input-card details>summary{cursor:pointer;font-size:13.5px;font-weight:600}
.input-card details[open]>summary{margin-bottom:8px}
.input-card details p{margin:6px 0}
.url-row{display:grid;grid-template-columns:64px minmax(0,1fr);gap:6px 10px;align-items:center;padding:6px 0;border-top:1px solid var(--line)}
.url-row:first-of-type{border-top:0}
.url-row label{margin:0;font-size:12px;font-weight:700;letter-spacing:.05em;color:var(--faint)}
.url-row input{min-height:36px;font-size:13px}
.url-actions{grid-column:2;display:flex;flex-wrap:wrap;gap:6px}
.url-actions button,.url-actions a{min-height:32px;padding:0 12px;font-size:13px}
.input-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.input-foot form{margin:0}
.input-manage{flex:1 1 100%}
.input-card .input-manage{background:transparent}
.add-input{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px}
.add-input>div{flex:1 1 220px}
.add-input .inline-form{flex:2 1 360px}
.help-fold>summary{cursor:pointer;font-weight:600}
.help-fold[open]>summary{margin-bottom:6px}
@media (max-width:640px){
 .member-list,.input-grid,.input-main{grid-template-columns:minmax(0,1fr)}
 .input-head{flex-direction:column}
 .input-head .ingest-health{text-align:left;max-width:none}
 .copy-row{flex-direction:column}
 .url-row{grid-template-columns:minmax(0,1fr)}
 .url-actions{grid-column:1}
}

@media (max-width:900px){.input-main{grid-template-columns:minmax(0,1fr)}}
.action-stack{display:grid;gap:10px;margin:0 0 14px}
.action-fold{padding:0}
.action-fold>summary{cursor:pointer;padding:14px 18px;font-weight:600;font-size:15px}
.action-fold>form{padding:0 18px 16px}
.action-fold[open]>summary{border-bottom:1px solid var(--line);margin-bottom:12px}
.section-title{font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin:18px 0 8px}
.input-media{display:grid;gap:8px;min-width:0}
.input-media .camera-live-preview{margin:0}
.input-media>button{width:100%}
.chip-row{align-items:flex-start;align-content:flex-start}

/* ---- Entrar e criar conta ---- */
.auth-shell{min-height:480px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,480px);gap:0;max-width:1040px;margin:28px auto 36px;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--panel);box-shadow:0 30px 80px rgba(0,0,0,.45);position:relative}
.auth-shell.register{grid-template-columns:minmax(0,340px) minmax(0,1fr);max-width:1120px}
.auth-hero{position:relative;display:flex;flex-direction:column;gap:18px;padding:36px 34px;background:radial-gradient(120% 90% at 0% 0%,rgba(122,107,246,.55),transparent 60%),radial-gradient(90% 70% at 100% 100%,rgba(61,214,179,.28),transparent 60%),#0b1020;border-right:1px solid var(--line)}
.auth-hero-mark{display:flex;align-items:center;gap:10px;font-size:16px}
.auth-logo{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,var(--accent),#46dfb1);color:#071018}
.auth-logo .icon{width:20px;height:20px}
.auth-hero h1{font-size:clamp(26px,3.2vw,34px);line-height:1.12;letter-spacing:-.03em;margin:8px 0 0}
.auth-lead{color:#c3c9dc;font-size:15.5px;line-height:1.55;margin:0}
.auth-shell .auth-points{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:12px}
.auth-shell .auth-points li{display:flex;align-items:center;gap:12px;color:#dfe3f2;font-size:14.5px}
.auth-shell .auth-points .icon{flex:0 0 auto;width:30px;height:30px;padding:6px;border-radius:9px;background:rgba(255,255,255,.08);color:#b9b2ff}
.auth-hero-foot{margin:auto 0 0;color:#8a92ad;font-size:12.5px}
.auth-panel{padding:36px 38px 30px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.auth-head h2{font-size:24px;letter-spacing:-.02em;margin:0 0 4px}
.auth-head p{color:var(--muted);margin:0 0 18px}
.auth-form{display:grid;gap:14px}
.auth-form label{margin:0}
.auth-form input:not([type=checkbox]):not([type=radio]){min-height:44px;background:var(--bg)}
.auth-submit{min-height:46px;font-size:15px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:4px}
.auth-switch{margin:18px 0 0;text-align:center;color:var(--muted)}
.auth-notice,.auth-error{margin:0 0 14px;padding:10px 12px;border-radius:var(--rs);font-size:13.5px}
.auth-notice{background:var(--ok-soft);color:var(--ok)}
.auth-error{background:var(--bad-soft);color:var(--bad)}
.pw-field{position:relative;display:block}
.pw-field input{padding-right:84px}
.pw-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);min-height:32px;padding:0 10px;font-size:12.5px;background:transparent;border:0;color:var(--accent-hi)}
.pw-toggle[hidden]{display:none}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;align-items:start}
.form-grid>label{margin:0}
.auth-step{border:0;padding:0;margin:0 0 6px;min-width:0}
.auth-step legend{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:700;padding:0;margin:0 0 12px}
.auth-step legend span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--accent-soft);color:var(--accent-hi);font-size:12.5px}
.auth-panel.wide{padding:30px 34px}
.plan-picks{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}
.plan-pick{position:relative;display:block;margin:0;cursor:pointer}
.plan-pick input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.pick-body{display:grid;gap:3px;padding:14px;border:1.5px solid var(--line2);border-radius:var(--r);background:var(--bg);transition:border-color .15s,box-shadow .15s,background .15s}
.plan-pick:hover .pick-body{border-color:var(--accent)}
.plan-pick input:checked+.pick-body{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px var(--accent-soft)}
.plan-pick input:focus-visible+.pick-body{outline:2px solid var(--accent-hi);outline-offset:2px}
.pick-body strong{font-size:15px}
.pick-price{font-size:20px;font-weight:700;letter-spacing:-.02em}
.pick-price small{margin-left:4px;font-size:12.5px;font-weight:400;color:var(--muted)}
.pick-limits{font-size:12.5px;color:var(--muted)}
.field-help.center{text-align:center}
.auth-step .field-help{margin:10px 0 0}
.mfa-dialog .auth-error{text-align:left;margin:0 0 12px}
.mfa-overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;overflow-y:auto;background:rgba(5,8,16,.72);backdrop-filter:blur(6px)}
.mfa-dialog{width:min(420px,100%);padding:28px 26px 22px;background:var(--panel);border:1px solid var(--line2);border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.6);text-align:center}
.mfa-icon{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--accent-soft);color:var(--accent-hi);margin-bottom:10px}
.mfa-icon .icon{width:24px;height:24px}
.mfa-dialog h2{font-size:20px;margin:0 0 6px}
.mfa-dialog>p{color:var(--muted);font-size:14px;line-height:1.55;margin:0 0 14px}
.mfa-dialog form{display:grid;gap:12px;text-align:left}
.mfa-dialog input[name=mfa_code]{text-align:center;font-size:22px;letter-spacing:.35em;font-weight:700;min-height:52px}
.mfa-dialog input[name=mfa_code]::placeholder{letter-spacing:.35em;color:var(--faint)}
.mfa-help{margin:12px 0 0!important;font-size:13px!important}

/* ---- Módulos, planos e rodapé ---- */
.plan li.off{color:var(--faint);text-decoration:line-through}
.plan li.off::before{content:"✕";color:var(--faint)}
.plan .no-renew{display:inline-block;margin-top:6px;padding:2px 8px;border-radius:999px;background:var(--ok-soft);color:var(--ok);font-size:12px;font-weight:600;letter-spacing:0}
.button-link.disabled{opacity:.6;cursor:default;pointer-events:none}
.lp-faq-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:22px 32px;align-items:start}
.lp-faq{max-width:none}
.lp-faq h3{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin:0 0 4px}
.app-footer{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;justify-content:space-between;padding:18px 24px 26px;margin-top:10px;border-top:1px solid var(--line);color:var(--faint);font-size:12.5px}
.app-footer nav{display:flex;gap:14px}
.app-footer a{color:var(--muted)}
.module-grid{border:1px solid var(--line);border-radius:var(--rs);padding:12px 14px;margin:12px 0}
.module-grid legend{padding:0 6px;font-weight:700;font-size:13px}
.module-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);margin:0}
.module-row:last-child{border-bottom:0}
.module-row strong{display:block;font-size:13.5px}
.module-row small{display:block;color:var(--muted);font-size:12px}
.module-row select{flex:0 0 232px;width:232px}
.plan-admin-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:20px;margin:14px 0;align-items:start}
.plan-admin{display:grid;gap:12px;align-items:start;min-width:0}
.plan-preview{display:grid;gap:6px}
.plan-preview .plan{pointer-events:none}
.plan-lock{text-align:left}
.plan-includes{list-style:none;margin:8px 0 0;padding:0}
.plan-includes li{display:flex;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}
.plan-includes li:last-child{border-bottom:0}
.plan-includes .mark{flex:0 0 22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700}
.plan-includes .on .mark{background:var(--ok-soft);color:var(--ok)}
.plan-includes .off .mark{background:var(--panel2);color:var(--faint)}
.plan-includes .off strong{color:var(--muted)}
.plan-includes small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}
@media (max-width:900px){
 .auth-shell,.auth-shell.register{grid-template-columns:minmax(0,1fr);margin:12px auto 24px;border-radius:16px}
 .auth-hero{padding:24px 22px;border-right:0;border-bottom:1px solid var(--line)}
 .auth-shell .auth-points,.auth-hero-foot,.auth-lead{display:none}
 .auth-hero h1{font-size:22px;margin:4px 0 0}
 .auth-panel,.auth-panel.wide{padding:24px 20px}
 .form-grid{grid-template-columns:minmax(0,1fr)}
 .plan-admin{grid-template-columns:minmax(0,1fr)}
 .module-row{flex-direction:column;align-items:stretch}
 .module-row select{flex:none;width:100%}
}

/* ---- Escolha da plataforma em Destinos ---- */
.destination-add .plan-picks{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.destination-add .auth-step{margin:0 0 14px}
.destination-add .auth-step legend{font-size:14px;font-weight:700;margin-bottom:10px}
.destination-add .platform-hint{margin:12px 0 0;max-width:70ch}
.destination-add .custom-server{margin:12px 0 0}
.destination-add .custom-server[hidden],.destination-add .platform-hint[hidden]{display:none}
.platform-tag{margin-right:6px}
.platform-tag[data-platform=youtube]{color:#ff8a80;border-color:rgba(255,138,128,.4)}
.platform-tag[data-platform=twitch]{color:#c3a6ff;border-color:rgba(195,166,255,.4)}
.platform-tag[data-platform=kick]{color:#7dffa0;border-color:rgba(125,255,160,.4)}
.platform-tag[data-platform=facebook]{color:#8ab4ff;border-color:rgba(138,180,255,.4)}
.destination-add .platform-form>button{margin-top:14px}
.destination-add .platform-form+p{margin-top:12px}

/* Visão geral da administração */
.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin:0 0 16px}
.kpi-grid .metric{display:grid;gap:2px}
.kpi-grid .metric small{font-size:12px}
.validity{color:var(--muted)}
.validity.soon{color:var(--warn,#f0b429)}
.validity.expired{color:var(--bad)}

/* ===== Administração: peças compartilhadas (cabeçalho, fichas, filtros, avatar) ===== */
.a-head{margin:0 0 22px}
.a-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px 20px;flex-wrap:wrap}
.a-head h1{font-size:26px}
.a-sub{margin-top:4px;color:var(--muted);font-size:14px;max-width:62ch}
.a-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.a-back{display:inline-flex;align-items:center;gap:6px;margin:0 0 10px;color:var(--muted);font-size:13px}
.a-back:hover{color:var(--text);text-decoration:none}
.a-back .icon{width:15px;height:15px}
.a-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:99px;font-size:12.5px;font-weight:600;line-height:1.5;background:var(--panel2);border:1px solid var(--line2);color:var(--muted);white-space:nowrap}
.a-pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.9}
.a-pill.ok{background:var(--ok-soft);border-color:transparent;color:var(--ok)}
.a-pill.warn{background:var(--warn-soft);border-color:transparent;color:var(--warn)}
.a-pill.bad{background:var(--bad-soft);border-color:transparent;color:var(--bad)}
.a-pill.info{background:var(--accent-soft);border-color:transparent;color:var(--accent-hi)}
.a-av{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:linear-gradient(145deg,var(--accent-soft),rgba(61,214,179,.13));border:1px solid var(--line2);color:var(--accent-hi);font-weight:700;font-size:14px;letter-spacing:.02em;flex-shrink:0}
.a-av.lg{width:64px;height:64px;font-size:22px}
.a-meter{height:6px;border-radius:99px;background:var(--panel2);overflow:hidden}
.a-meter i{display:block;height:100%;border-radius:inherit;background:var(--ok)}
.a-meter.warn i{background:var(--warn)}
.a-meter.bad i{background:var(--bad)}
.a-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 12px}
.a-toolbar select{width:auto;min-width:150px}
.a-search{position:relative;flex:1 1 280px;margin:0;display:block}
.a-search input{padding-left:40px}
.a-search-ico{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--faint);pointer-events:none}
.a-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.a-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 13px;border:1px solid var(--line2);border-radius:99px;background:var(--panel);color:var(--muted);font-size:13.5px;font-weight:500}
.a-chip b{font-variant-numeric:tabular-nums;font-weight:600;color:var(--text)}
.a-chip:hover{color:var(--text);border-color:var(--accent);text-decoration:none}
.a-chip[aria-current=true]{background:var(--accent-soft);border-color:transparent;color:#fff}
.a-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0 0}
.a-empty{display:grid;justify-items:center;gap:6px;text-align:center;padding:44px 18px;border:1px dashed var(--line2);border-radius:var(--r);color:var(--muted)}
.a-empty strong{color:var(--text);font-size:15.5px}
.a-kv{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.a-kv:last-child{border-bottom:0}
.a-kv dt{color:var(--muted)}
.a-kv dd{margin:0;text-align:right;font-weight:600;overflow-wrap:anywhere}
.a-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:20px;margin:0 0 14px}
.a-card>h2{display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:16px}
.a-card>.a-hint{margin:0 0 14px;color:var(--muted);font-size:13px}
.a-card>:last-child{margin-bottom:0}
.a-choice{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:0 0 14px}
.a-choice.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.a-choice.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.a-opt{position:relative;display:block;margin:0;cursor:pointer}
.a-opt input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.a-opt>span{display:grid;gap:2px;height:100%;padding:11px 13px;border:1px solid var(--line2);border-radius:var(--rs);background:var(--bg);transition:border-color .12s,background .12s}
.a-opt strong{color:var(--text);font-size:13.5px}
.a-opt small{color:var(--muted);font-size:12.5px;line-height:1.35}
.a-opt:hover>span{border-color:var(--faint)}
.a-opt input:checked+span{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}
.a-opt input:focus-visible+span{outline:2px solid var(--accent-hi);outline-offset:2px}
.a-presets{display:flex;flex-wrap:wrap;gap:6px;margin:-6px 0 14px}
.a-presets button{min-height:30px;padding:0 12px;border-radius:99px;background:var(--panel2);border:1px solid var(--line2);color:var(--text);font-weight:500;font-size:12.5px}
.a-presets button:hover{border-color:var(--accent);filter:none}
.a-row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
.a-row3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 14px}
.a-check{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);list-style:none}
.a-check:last-child{border-bottom:0}
.a-check>span:last-child{display:grid;gap:2px;min-width:0}
.a-check small{color:var(--muted);font-size:12.5px}
.a-check-mark{flex:0 0 24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;background:var(--panel2);color:var(--faint);border:1px solid var(--line2)}
.a-check.ok .a-check-mark{background:var(--ok-soft);border-color:transparent;color:var(--ok)}
.a-check.warn .a-check-mark{background:var(--warn-soft);border-color:transparent;color:var(--warn)}
.a-check.bad .a-check-mark{background:var(--bad-soft);border-color:transparent;color:var(--bad)}
ul.a-checks{margin:0;padding:0}
@media (max-width:760px){.a-row2,.a-row3,.a-choice.two,.a-choice.three{grid-template-columns:1fr}.a-head h1{font-size:22px}}

/* ===== Ativar acesso / pagamentos do cliente ===== */
.bill{max-width:1040px;margin:0 auto}
.bill-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start}
.bill-grid.is-single{grid-template-columns:minmax(0,640px)}
.bill-alert{margin:0 0 14px;padding:11px 14px;border-radius:var(--rs);background:var(--accent-soft);border:1px solid transparent;color:var(--text);font-size:13.5px}
.bill-alert.bad{background:var(--bad-soft);color:#ffd9dd}
.bill-step{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:20px;margin:0 0 14px}
.bill-step h2{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:16px}
.bill-n{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--accent-soft);color:var(--accent-hi);font-size:12.5px;font-weight:700}
.bill-plans{display:grid;gap:10px}
.bill-plan{position:relative;display:block;margin:0;cursor:pointer}
.bill-plan input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.bill-plan-body{position:relative;display:grid;gap:3px;padding:14px 16px 14px 48px;border:1px solid var(--line2);border-radius:var(--rs);background:var(--bg);transition:border-color .12s,background .12s}
.bill-plan-body::before{content:"";position:absolute;left:16px;top:17px;width:18px;height:18px;border-radius:50%;border:2px solid var(--line2);background:var(--bg)}
.bill-plan:hover .bill-plan-body{border-color:var(--faint)}
.bill-plan input:checked+.bill-plan-body{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}
.bill-plan input:checked+.bill-plan-body::before{border-color:var(--accent);background:radial-gradient(circle,var(--accent) 0 4px,var(--bg) 5px)}
.bill-plan input:focus-visible+.bill-plan-body{outline:2px solid var(--accent-hi);outline-offset:2px}
.bill-plan.is-off,.bill-plan input:disabled+.bill-plan-body{opacity:.55;cursor:not-allowed}
.bill-plan-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.bill-plan-top strong{font-size:15.5px}
.bill-price{font-size:17px;font-weight:700;font-variant-numeric:tabular-nums}
.bill-plan-line{color:var(--muted);font-size:13px}
.bill-plan-desc{color:var(--muted);font-size:12.5px;margin-top:3px}
.bill-coupon{display:flex;gap:8px}
.bill-coupon label{flex:1;margin:0}
.bill-coupon input{text-transform:uppercase;letter-spacing:.06em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.bill-coupon-msg{min-height:20px;margin:8px 0 0;font-size:13px;color:var(--muted)}
.bill-coupon-msg.ok{color:var(--ok)}
.bill-coupon-msg.bad{color:var(--bad)}
.bill-payer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
.bill-sum{position:sticky;top:20px;padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r)}
.bill-sum h2{margin:0 0 10px;font-size:16px}
.bill-sum dl{margin:0}
.bill-sum dl>div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;font-size:13.5px}
.bill-sum dt{color:var(--muted)}
.bill-sum dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums;text-align:right}
.bill-sum dd.ok{color:var(--ok)}
.bill-total{position:relative;display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:16px -20px 16px;padding:18px 20px 0;border-top:2px dashed var(--line2)}
.bill-total::before,.bill-total::after{content:"";position:absolute;top:-9px;width:16px;height:16px;border-radius:50%;background:var(--bg);border:1px solid var(--line)}
.bill-total::before{left:-9px;clip-path:inset(0 0 0 50%)}
.bill-total::after{right:-9px;clip-path:inset(0 50% 0 0)}
.bill-total span{color:var(--muted);font-size:13.5px}
.bill-total strong{font-size:28px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.bill-sum #pay-button{width:100%;min-height:50px;font-size:15.5px}
.bill-fine,.bill-warn{margin:12px 0 0;font-size:12.5px;color:var(--muted);line-height:1.45}
.bill-warn{color:var(--warn)}
.bill-help{display:block;margin-top:12px;font-size:13px;text-align:center}
.bill-open{display:grid;gap:10px;padding:20px;margin:0 0 16px;border:1px solid var(--line2);border-left:4px solid var(--warn);border-radius:var(--r);background:var(--panel)}
.bill-open h2{margin:0}
.bill-open p{margin:0}
.bill-open-head{display:flex;gap:14px;align-items:center}
.bill-open-ico{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--warn-soft);color:var(--warn)}
.bill-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:2px 0 0}
.bill-history{margin-top:26px}
.bill-history h2{margin:0 0 10px;font-size:16px}
.bill-history ul{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--r);background:var(--panel)}
.bill-order{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 18px;border-bottom:1px solid var(--line)}
.bill-order:last-child{border-bottom:0}
.bill-order small{display:block;color:var(--muted)}
.bill-order-end{display:flex;align-items:center;gap:12px}
.bill-order-end b{font-variant-numeric:tabular-nums}
@media (max-width:900px){.bill-grid{grid-template-columns:1fr}.bill-sum{position:static}.bill-payer{grid-template-columns:1fr}.bill-order{flex-wrap:wrap}}

/* ===== Administração: seletor de cliente, interruptores e campo de senha ===== */
.a-toggle{position:relative;display:block;margin:0 0 10px;cursor:pointer}
.a-toggle input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.a-toggle>span{display:grid;gap:2px;padding:11px 13px 11px 52px;border:1px solid var(--line2);border-radius:var(--rs);background:var(--bg);position:relative;transition:border-color .12s,background .12s}
.a-toggle>span::before{content:"";position:absolute;left:13px;top:50%;width:28px;height:16px;margin-top:-8px;border-radius:99px;background:var(--panel2);border:1px solid var(--line2)}
.a-toggle>span::after{content:"";position:absolute;left:16px;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:var(--faint);transition:transform .15s,background .15s}
.a-toggle input:checked+span{border-color:var(--accent);background:var(--accent-soft)}
.a-toggle input:checked+span::before{background:var(--accent);border-color:var(--accent)}
.a-toggle input:checked+span::after{background:#fff;transform:translateX(12px)}
.a-toggle input:focus-visible+span{outline:2px solid var(--accent-hi);outline-offset:2px}
.a-toggle strong{color:var(--text);font-size:13.5px}
.a-toggle small{color:var(--muted);font-size:12.5px}
.a-picker{position:relative;margin:0 0 14px}
.a-picker>label{margin:0}
.a-picker-list{position:absolute;z-index:20;left:0;right:0;top:100%;margin:4px 0 0;padding:4px;list-style:none;background:var(--panel2);border:1px solid var(--line2);border-radius:var(--rs);box-shadow:0 12px 30px rgba(0,0,0,.45);max-height:290px;overflow:auto}
.a-picker-list li{display:grid;padding:8px 10px;border-radius:7px;cursor:pointer}
.a-picker-list li small{color:var(--muted)}
.a-picker-list li:hover,.a-picker-list li[aria-selected=true]{background:var(--accent-soft)}
.a-picker-list li.empty{color:var(--muted);cursor:default}
.a-picker-note{margin:6px 0 0;min-height:18px;font-size:12.5px;color:var(--ok)}
.a-foot{margin-top:18px}

/* ===== Assinaturas (lista) ===== */
.ac-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ac-row{display:grid;grid-template-columns:minmax(220px,1.6fr) minmax(110px,.8fr) minmax(150px,1fr) minmax(170px,1fr) auto;gap:14px 18px;align-items:center;padding:14px 18px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);transition:border-color .12s}
.ac-row:hover{border-color:var(--line2)}
.ac-who{display:flex;align-items:center;gap:12px;min-width:0}
.ac-who>div{min-width:0}
.ac-who strong,.ac-plan strong,.ac-valid strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ac-row small{display:block;color:var(--muted);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ac-state{display:flex;flex-wrap:wrap;gap:6px}
.ac-valid .a-meter{margin-top:6px;max-width:170px}
@media (max-width:1080px){.ac-row{grid-template-columns:1fr 1fr;}.ac-who{grid-column:1/-1}.ac-go{grid-column:1/-1}.ac-go .button-link{width:100%}}

/* ===== Configurar acesso ===== */
.ax-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}
.ax-main{display:block}
.ax-side{position:sticky;top:20px}
.ax-now-top{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:8px 0 12px}
.ax-now .a-meter{margin:0 0 10px}
.ax-now dl{margin:0}
.ax-catalog{margin:0 0 12px}
.ax-submit{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:6px}
.ax-orders{list-style:none;margin:0 0 10px;padding:0}
.ax-orders li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.ax-orders li:last-child{border-bottom:0}
.ax-orders small{display:block;color:var(--muted);font-size:12.5px}
.ax-orders li>div:last-child{text-align:right}
.ax-danger{border-color:rgba(244,112,124,.28)}
.ax-timeline{list-style:none;margin:6px 0 0;padding:0 0 0 6px}
.ax-timeline li{position:relative;display:grid;grid-template-columns:18px 1fr;gap:10px;padding:0 0 18px}
.ax-timeline li:not(:last-child)::before{content:"";position:absolute;left:5px;top:16px;bottom:0;width:1px;background:var(--line2)}
.ax-dot{width:11px;height:11px;margin-top:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
.ax-timeline small{display:block;color:var(--muted);font-size:12.5px}
.ax-timeline p{margin:4px 0 0}
.ax-timeline details{margin-top:4px;font-size:13px}
.ax-timeline summary{color:var(--accent-hi);font-weight:500;font-size:13px}
@media (max-width:980px){.ax-grid{grid-template-columns:1fr}.ax-side{position:static}}

/* ===== Novo cliente ===== */
.nc{max-width:1060px;margin:0 auto}
.nc-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}
.nc-side{position:sticky;top:20px}
.nc-sub{margin:6px 0 10px;font-size:14px}
.nc-pass{display:flex;flex-wrap:wrap;gap:8px}
.nc-pass input{flex:1 1 220px;width:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.03em}
.nc-sum-line{margin:8px 0 14px;font-size:14px;line-height:1.5}
.nc-side button{width:100%;min-height:46px}
@media (max-width:980px){.nc-grid{grid-template-columns:1fr}.nc-side{position:static}}
.a-sub-h{margin:6px 0 8px;font-size:13px;font-weight:600;color:var(--muted)}

/* ===== Cupons: cartões em forma de ingresso ===== */
.cp{max-width:1180px;margin:0 auto}
.cp-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(440px,1fr));gap:14px}
.cp-ticket{--tone:var(--accent);position:relative;display:grid;grid-template-columns:132px minmax(0,1fr);background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:border-color .12s}
.cp-grid>li:hover .cp-ticket{border-color:var(--line2)}
.cp-stub{position:relative;display:grid;align-content:center;justify-items:center;gap:4px;padding:18px 10px;text-align:center;background:linear-gradient(160deg,var(--accent-soft),transparent 85%);border-right:2px dashed var(--line2)}
.cp-stub::before,.cp-stub::after{content:"";position:absolute;right:-9px;width:16px;height:16px;border-radius:50%;background:var(--bg);border:1px solid var(--line)}
.cp-stub::before{top:-9px}
.cp-stub::after{bottom:-9px}
.cp-big{font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.1;color:var(--tone);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.cp-small{font-size:12px;line-height:1.3;color:var(--muted)}
.cp-body{display:grid;gap:8px;padding:16px 18px;min-width:0;align-content:start}
.cp-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.cp-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:16px;font-weight:700;letter-spacing:.06em;overflow-wrap:anywhere}
.cp-copy{min-height:26px;padding:0 10px;border-radius:99px;background:var(--panel2);border:1px solid var(--line2);color:var(--muted);font-size:12px;font-weight:500}
.cp-copy:hover{color:var(--text);border-color:var(--accent);filter:none}
.cp-top .a-pill{margin-left:auto}
.cp-name{margin:0;font-weight:600;font-size:14.5px}
.cp-use{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--muted)}
.cp-use .a-meter{flex:1;min-width:60px}
.cp-use span{white-space:nowrap;font-variant-numeric:tabular-nums}
.cp-rules,.cp-for{margin:0;font-size:12.5px;color:var(--muted);line-height:1.45}
.cp-for:empty,.cp-rules:empty{display:none}
.cp-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.cp-actions form{margin:0}
.cp-actions .button-link,.cp-actions button{min-height:32px;padding:0 12px;font-size:13px}
.cp-ticket[data-state=expired] .cp-big,.cp-ticket[data-state=archived] .cp-big,.cp-ticket[data-state=exhausted] .cp-big{color:var(--faint)}
.cp-ticket[data-state=expired],.cp-ticket[data-state=archived]{opacity:.78}
.cp-ticket[data-state=active] .cp-big{color:var(--ok)}
.cp-ticket[data-state=active] .cp-stub{background:linear-gradient(160deg,var(--ok-soft),transparent 85%)}
.cp-ticket[data-state=scheduled] .cp-big{color:var(--accent-hi)}
.cp-ticket[data-state=exhausted] .cp-stub{background:linear-gradient(160deg,var(--warn-soft),transparent 85%)}
@media (max-width:560px){.cp-grid{grid-template-columns:1fr}.cp-ticket{grid-template-columns:104px minmax(0,1fr)}.cp-big{font-size:21px}}

/* ===== Cupons: formulário ===== */
.cpf{max-width:1060px;margin:0 auto}
.cpf-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:20px;align-items:start}
.cpf-side{position:sticky;top:20px}
.cpf-side .cp-ticket{grid-template-columns:112px minmax(0,1fr);margin:0 0 14px}
.cpf-side .cp-big{font-size:22px}
.cpf-code{display:flex;gap:8px;align-items:flex-end}
.cpf-code label{flex:1;margin:0}
.cpf-code input{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.06em;text-transform:uppercase}
.cpf-code button{min-height:42px;white-space:nowrap}
.cpf-save{width:100%;min-height:48px;font-size:15px}
.cpf-main .a-hint{margin:6px 0 12px;color:var(--muted);font-size:13px}
@media (max-width:980px){.cpf-grid{grid-template-columns:1fr}.cpf-side{position:static;order:-1}}

/* ===== Ficha do cliente e revisão ===== */
.bill-alert.ok{background:var(--ok-soft);color:#c9f6ea}
.fx,.rv{max-width:1180px;margin:0 auto}
.fxo{max-width:760px;margin:0 auto}
.fx-mailline{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fx-hero{display:flex;align-items:center;flex-wrap:wrap;gap:16px 18px;margin:0 0 16px;padding:20px 22px;background:linear-gradient(120deg,var(--accent-soft),transparent 60%),var(--panel);border:1px solid var(--line);border-radius:var(--r)}
.fx-who{flex:1;min-width:240px;display:grid;gap:8px}
.fx-who h1{margin:0;font-size:26px;letter-spacing:-.01em;overflow-wrap:anywhere}
.fx-hero .a-actions{display:flex;flex-wrap:wrap;gap:8px}
.fx-mailline{margin:0;color:var(--muted);font-size:14px}
.fx-pills{display:flex;flex-wrap:wrap;gap:8px}
.fx-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}
.fx-kpi{display:grid;gap:4px;align-content:start;padding:15px 18px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);min-width:0}
.fx-kpi span{color:var(--muted);font-size:12.5px}
.fx-kpi strong{font-size:20px;letter-spacing:-.01em;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fx-kpi small{color:var(--muted);font-size:12.5px}
.fx-kpi .a-meter{margin-top:6px}
.fx-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}
.fx-main,.fx-side{min-width:0}
.fx-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 6px}
.fx-card-head h2{margin:0}
.fx-card-links{display:flex;gap:14px;font-size:13px}
.fx-card dl{margin:4px 0 12px}
.fx-form .a-sub-h{margin:16px 0 8px}
.fx-form .a-sub-h:first-of-type{margin-top:6px}
.fx-form textarea{width:100%;min-height:96px;resize:vertical}
.fx-opt{display:inline;color:var(--faint);font-weight:400;font-size:12px;margin-left:4px}
.fx-save{display:flex;justify-content:flex-end;margin-top:6px}
.fx-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.fx-links .button-link{min-height:34px;padding:0 14px;font-size:13px}
.fx-people{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:8px}
.fx-people li{display:flex;align-items:center;gap:10px}
.fx-people .a-av{width:30px;height:30px;font-size:12px}
.fx-people li>span:nth-child(2){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.fx-mail{margin:0 0 8px;font-weight:600;overflow-wrap:anywhere}
.fx-danger{margin-top:12px;border:1px solid rgba(244,112,124,.28);border-radius:var(--rs);background:rgba(244,112,124,.05)}
.fx-danger summary{padding:10px 14px;color:var(--bad);font-weight:600;font-size:13.5px;cursor:pointer}
.fx-danger form{padding:0 14px 14px}
.fx-danger p{margin:0 0 10px;color:var(--muted);font-size:13px}
.fx-card details:not(.fx-danger){margin-top:10px}
.rv-score{margin:0 0 6px;color:var(--muted);font-size:13.5px}
.rv-score b{color:var(--text);font-size:18px}
.rv-state{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0 12px}
.rv-note{margin:0 0 14px;padding:11px 14px;border-radius:var(--rs);background:var(--warn-soft);color:#ffe3ad;font-size:13.5px;line-height:1.45}
.rv-decision form{margin-top:4px}
.rv-go{width:100%;min-height:48px;font-size:15px}
@media (max-width:1080px){.fx-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:980px){.fx-grid{grid-template-columns:1fr}.rv .fx-side{order:-1}}
@media (max-width:560px){.fx-hero{align-items:flex-start;padding:18px}.fx-kpis{gap:10px}.fx-kpi{padding:13px 14px}.fx-kpi strong{font-size:17px}}
.rv-decision>p,.rv-decision form{margin-top:0}
.rv-decision>p{margin-bottom:12px}

/* ===== Cadastro de novos clientes (chave) ===== */
.regbar{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:10px 14px;border:1px solid var(--line2);border-radius:var(--rs);background:var(--panel);color:var(--text);font-size:13.5px}
.regbar:hover{border-color:var(--accent);text-decoration:none}
.regbar-dot{width:9px;height:9px;border-radius:50%;background:var(--bad);box-shadow:0 0 0 4px var(--bad-soft);flex-shrink:0}
.regbar.is-open .regbar-dot{background:var(--ok);box-shadow:0 0 0 4px var(--ok-soft)}
.regbar-go{margin-left:auto;color:var(--accent-hi);font-weight:600}
.reg{max-width:1060px;margin:0 auto}
.reg-lead{margin:6px 0 4px;font-size:16px;line-height:1.5}
.reg-status form{margin-top:16px;display:grid;gap:12px;max-width:460px}
.reg-status.is-closed{border-color:rgba(244,112,124,.3)}
.reg-status.is-open{border-color:rgba(61,214,179,.3)}
.reg-list{margin:8px 0 0;padding-left:18px;display:grid;gap:8px;color:var(--muted);font-size:13.5px;line-height:1.45}
.lp-soon{display:inline-block;margin:0 0 14px;padding:9px 14px;border-radius:var(--rs);background:var(--warn-soft);color:#ffe3ad;font-size:14px}
.auth-closed{margin:0 0 18px;padding:12px 14px;border-radius:var(--rs);background:var(--accent-soft);line-height:1.5}
