/* Identidade compartilhada MultiFlix. Estados e permissões continuam nos módulos existentes. */
:root { color-scheme: dark; --bg:#090909; --bg-sidebar:#0d0d0d; --bg-card:#171717; --bg-input:#101010; --borda:#303030; --accent:#e50914; --accent-texto:#fff; --texto:#f5f5f5; --texto-secundario:#a8a8ad; --perigo:#ff737b; }
body { background:#090909; color:#f5f5f5; font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.5; }
h1,h2,h3,.logo-texto { font-family:inherit; letter-spacing:-.035em; }
button,input,select,textarea { font-family:inherit; }
button { min-height:42px; transition:background .18s,border-color .18s; }
button:disabled { cursor:wait; opacity:.55; }
input:not([type=checkbox]):not([type=radio]),select,textarea { border-radius:9px; border-color:#383838; background:#111; color:#f5f5f5; font-size:16px; }
input::placeholder,textarea::placeholder { color:#85858b; }
:is(button,a,input,select,textarea,[role=button]):focus-visible { outline:2px solid #ff6169; outline-offset:3px; }
button.principal,button[type=submit],#btnEntrar,#btnEntrarPin { background:#e50914; color:#fff; border-color:#e50914; }
button.principal:hover,button[type=submit]:hover,#btnEntrar:hover { background:#b90710; }
.card { background:#171717; border:1px solid #2b2b2b; border-radius:16px; box-shadow:0 8px 28px #0002; animation:none; opacity:1; transform:none; }
.card:hover { transform:none; }
.mf-wordmark { width:174px !important; height:44px !important; object-fit:contain; object-position:left; margin:0 !important; }
.mf-eyebrow { display:block; color:#c4c4c9; font-size:10px; font-weight:700; letter-spacing:2px; margin-bottom:12px; }
.app-shell { max-width:1920px; margin:auto; }
.sidebar { width:236px; padding:28px 18px 20px; position:sticky; top:0; height:100dvh; overflow-y:auto; border-color:#262626; }
.sidebar .logo { margin:0 0 34px; padding:0 10px 25px; border-bottom:1px solid #292929; }
.nav-item { display:flex; align-items:center; gap:12px; min-height:48px; border:1px solid transparent; color:#aaaab0; font-size:13px; margin-bottom:6px; padding:12px; border-radius:10px; }
.nav-item::before { content:''; display:block; width:18px; height:18px; flex:none; background:currentColor; mask:var(--mf-icon) center/contain no-repeat; }
.nav-item:hover { color:#fff; background:#1d1d1d; }
.nav-item.ativa { background:linear-gradient(100deg,#a90912,#e50914); color:#fff; border-color:#f43d4640; box-shadow:0 5px 20px #e5091422; }
.sidebar-rodape { border-color:#292929; display:grid; gap:8px; }
.sidebar-rodape button { min-height:44px; border-color:#343434; color:#bbb; }
.conteudo { width:100%; min-width:0; max-width:1440px; padding:32px 40px; }
.mf-page-header { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:30px; padding-bottom:24px; border-bottom:1px solid #262626; }
.mf-page-header .mf-eyebrow { margin-bottom:6px; color:#ed6269; }
.mf-page-header h1 { font-size:28px; font-weight:750; line-height:1.2; }
.mf-workspace { color:#b6b6bc; font-size:12px; border:1px solid #333; border-radius:30px; padding:8px 14px; }
.mf-welcome { position:relative; overflow:hidden; display:flex; align-items:center; justify-content:space-between; min-height:224px; background:radial-gradient(ellipse at 90% 50%,#9b091755,transparent 65%),linear-gradient(115deg,#211113,#121212); border:1px solid #592126; border-radius:18px; padding:32px; margin-bottom:24px; }
.mf-welcome h2 { font-size:clamp(27px,3.2vw,40px); line-height:1.1; margin-bottom:14px; }
.mf-welcome p { color:#bdb3b5; font-size:14px; max-width:380px; }
.mf-welcome-mark { font-weight:900; letter-spacing:-16px; font-size:130px; font-style:italic; color:#e50914; line-height:1; transform:rotate(-8deg); padding-right:20px; text-shadow:8px 8px #5c070d; }
.mf-welcome-mark span { color:#f63740; }
.dashboard-grid { grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:16px; }
.dashboard-card { background:linear-gradient(145deg,#1e1e1e,#151515); border:1px solid #303030; padding:22px; border-radius:14px; }
.dashboard-card .numero { color:#fff; font-size:32px; font-weight:750; }
.dashboard-card .rotulo { color:#a6a6ae; margin-top:10px; font-size:12px; }
.dashboard-card.alerta .numero { color:#ff7079; }
.linha-topo-clientes { flex-wrap:wrap; gap:12px; }
.linha-topo-clientes > input { min-width:140px; }
.tabela-clientes { border-collapse:separate; border-spacing:0; font-size:13px; }
.tabela-clientes th { font-size:11px; text-transform:uppercase; letter-spacing:.7px; color:#aaaab0; background:#202020; padding:14px 12px; }
.tabela-clientes td { padding:16px 12px; border-color:#303030; }
.tabela-clientes tbody tr:hover { background:#ffffff04; }
.link-acao { min-height:36px; padding:7px 11px; border-radius:7px; }
.link-acao.acao-ver { color:#e7e7e7; border-color:#555; }
.link-acao.acao-renovar { background:#e50914; color:white; }
.modal-conteudo { background:#171717; border-color:#353535; border-radius:16px; max-height:90dvh; overflow-y:auto; }
.modal-overlay { background:#000c; backdrop-filter:blur(5px); }
.campo-resultado .valor { background:#101010; border-color:#333; }
.mf-index { padding:0; display:block; }
.mf-login-layout { min-height:100dvh; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr); align-items:center; gap:5vw; max-width:1500px; margin:auto; padding:60px 7vw; }
.mf-login-story { position:relative; min-width:0; }
.mf-original-art { width:100%; max-height:440px; object-fit:cover; display:block; object-position:center; border-radius:20px; }
.mf-story-copy { padding:0 24px; }
.mf-story-copy .mf-eyebrow { color:#f16e75; }
.mf-story-copy h1 { font-size:clamp(25px,2.8vw,40px); line-height:1.15; margin-bottom:18px; }
.mf-story-copy p { font-size:14px; line-height:1.8; color:#a9a9af; max-width:420px; }
.mf-index .mf-login-card { width:100%; max-width:440px; margin:0; padding:38px; background:#161616; border-top:3px solid #e50914; }
.mf-login-card .logo { margin-bottom:28px; }
.mf-login-card h2 { font-size:26px; margin-bottom:10px; }
.mf-login-card input { min-height:50px; margin-bottom:20px; }
.mf-login-card button { min-height:50px; margin-top:6px; }
.mf-login-footer { text-align:center; color:#85858b; font-size:11px; margin-top:28px; }
.mf-cliente .container { max-width:640px; }
.mf-cliente .faixa-catalogo { background:linear-gradient(#270c0e,#090909); padding:24px 0; }
.mf-cliente .poster { background:linear-gradient(145deg,#5d1a20,#211316); border:1px solid #96303a55; box-shadow:0 8px 20px #0008; }
.mf-cliente .logo { margin-bottom:20px; }
.mf-cliente .logo img { display:block; margin:auto !important; }
.mf-cliente .card { padding:28px; }
.mf-admin,.mf-gerar { padding:48px 20px; background:radial-gradient(ellipse at top,#310b0e,#090909 55%); }
.mf-admin .card,.mf-gerar .card,.mf-gerar .topo { max-width:640px; }
.mf-admin #painelPin { max-width:400px; padding:34px; }
.mf-admin #painelPin .mf-wordmark { margin-bottom:18px !important; }
.mf-gerar .topo h1 { margin-top:14px; font-size:24px; }
#painelAtivacoes { --ativacao-muted:#b0adb2; }
#painelAtivacoes .ativacao-etiqueta { color:#ff777f; }
#painelAtivacoes :is(input:not([type=checkbox]),select,textarea) { background:#111; border-color:#3b3b3b; }
#painelAtivacoes button { background:#252525; border-color:#414141; color:#eee; }
#painelAtivacoes button:hover { border-color:#e75c64; }
#painelAtivacoes .ativacao-principal { background:#e50914; border-color:#e50914; color:#fff; }
#painelAtivacoes :is(button,input,select,textarea,summary):focus-visible { outline-color:#ff6169; }
#painelAtivacoes .ativacao-preco { background:#291214; border-color:#67252b; }
#painelAtivacoes .ativacao-preco span { color:#c1b5b8; }
#painelAtivacoes .ativacao-pedido { border-color:#333; }
#painelAtivacoes .ativacao-modal { background:#171717; border-color:#444; }
#painelAtivacoes #avisoAtivacao { background:#2b181b; }
#painelAtivacoes #listaAplicativosAdmin { border-color:#444; }
@media(min-width:801px) { .mf-clientes .botao-menu-mobile { display:none; } }
@media(max-width:1100px) { .conteudo { padding:28px 24px; } .sidebar { width:210px; padding-inline:12px; } .mf-workspace { display:none; } }
@media(max-width:800px) {
 .sidebar { position:fixed; width:248px; height:100dvh; padding:24px 18px; }
 .botao-menu-mobile { position:sticky; top:0; z-index:280; background:#0d0d0def; backdrop-filter:blur(12px); min-height:64px; border-color:#303030; }
 .mf-mobile-brand { width:122px; height:32px; }
 .conteudo { padding:22px 16px; }
 .mf-page-header { margin-bottom:22px; padding-bottom:18px; }
 .mf-page-header h1 { font-size:25px; }
 .mf-welcome { padding:24px; min-height:195px; }
 .mf-welcome-mark { font-size:88px; letter-spacing:-10px; padding-right:10px; opacity:.5; }
 .mf-welcome p { max-width:260px; font-size:12px; }
 .card { padding:20px; }
 .dashboard-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .dashboard-card { padding:18px 14px; }
 .dashboard-card .numero { font-size:27px; }
 .mf-login-layout { display:block; padding:30px 20px; max-width:500px; }
 .mf-login-story { display:none; }
 .mf-index .mf-login-card { margin:30px auto; padding:30px 24px; }
 .mf-index { background:radial-gradient(ellipse at top,#410b10,#090909 70%); }
 .mf-cliente .card { padding:22px; }
 .mf-clientes .card:has(> .tabela-clientes) { overflow-x:auto; }
 .tabela-clientes { min-width:620px; }
 #painelClientes .tabela-clientes { min-width:0; width:100%; }
 #painelClientes .tabela-clientes thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 #painelClientes .tabela-clientes > tbody:not(#corpoTabelaClientes) { display:none; }
 #corpoTabelaClientes { display:block; }
 #corpoTabelaClientes tr { display:grid; grid-template-columns:1fr 1fr; gap:0 12px; padding:14px; border:1px solid #333; border-radius:12px; margin-bottom:14px; }
 #corpoTabelaClientes td { display:block; min-width:0; border:0; padding:8px 0; overflow-wrap:anywhere; }
 #corpoTabelaClientes td::before { display:block; font-size:10px; color:#aaa; margin-bottom:4px; text-transform:uppercase; letter-spacing:.7px; }
 #corpoTabelaClientes td:nth-child(1) { grid-column:1/-1; }
 #corpoTabelaClientes td:nth-child(2)::before { content:'Usuário'; }
 #corpoTabelaClientes td:nth-child(3)::before { content:'Nome'; }
 #corpoTabelaClientes td:nth-child(4)::before { content:'Fornecedor'; }
 #corpoTabelaClientes td:nth-child(5)::before { content:'Tipo'; }
 #corpoTabelaClientes td:nth-child(6)::before { content:'Vencimento'; }
 #corpoTabelaClientes td:last-child { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:8px; }
 #corpoTabelaClientes .link-acao { min-height:44px; flex:1 0 auto; }
 .modal-conteudo { width:calc(100% - 20px); padding:22px; }
}
@media(max-width:420px) { .mf-welcome-mark { display:none; } .mf-welcome h2 { font-size:28px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }

