@font-face { font-family:'Neue Machina'; font-weight:400; font-display:swap;
  src:local('Neue Machina Regular'), local('NeueMachina-Regular'), local('PP Neue Machina'),
      url('fonts/NeueMachina-Regular.woff2') format('woff2'), url('fonts/NeueMachina-Regular.otf') format('opentype'), url('fonts/NeueMachina-Regular.ttf') format('truetype'); }
@font-face { font-family:'Neue Machina'; font-weight:700; font-display:swap;
  src:local('Neue Machina Ultrabold'), local('NeueMachina-Ultrabold'), local('Neue Machina Bold'), local('NeueMachina-Bold'),
      url('fonts/NeueMachina-Ultrabold.woff2') format('woff2'), url('fonts/NeueMachina-Ultrabold.otf') format('opentype'), url('fonts/NeueMachina-Ultrabold.ttf') format('truetype'); }
:root { --fundo:#0b0b0c; --painel:rgba(18,18,20,.86); --painel2:rgba(32,32,36,.9); --linha:#2a2a2e; --texto:#f3f3f1; --suave:#a2a2a8;
        --vermelho:#d3202e; --vermelho2:#bd1622; --ok:#3fb67a; --amarelo:#f2c36b; --display:'Neue Machina','Arial Black',system-ui,sans-serif;
        --base:env(safe-area-inset-bottom,0px); }
* { box-sizing:border-box; margin:0; padding:0; -webkit-tap-highlight-color:transparent; }
html { background:var(--fundo); -webkit-text-size-adjust:100%; }
body { color:var(--texto); font:16px/1.5 'Neue Machina',system-ui,-apple-system,'Segoe UI',sans-serif; min-height:100vh; }
body::before { content:''; position:fixed; inset:0; z-index:-1; background:#0b0b0c url('MDV.jpg') center/cover no-repeat; }
button, input, select, textarea { font:inherit; color:inherit; } button { cursor:pointer; }
[hidden] { display:none !important; }
.wrap { max-width:640px; margin:0 auto; padding:0 16px; }

.btn { min-height:44px; padding:9px 16px; border:1px solid var(--linha); background:var(--painel2); border-radius:4px; font-weight:600; font-size:14.5px; display:inline-flex; align-items:center; justify-content:center; gap:8px; text-decoration:none; color:var(--texto); text-align:center; }
.btn:hover { border-color:#4a4a50; } .btn:active { transform:scale(.98); } .btn:disabled { opacity:.45; cursor:not-allowed; }
.btn.pri { background:var(--vermelho2); border-color:var(--vermelho); } .btn.pri:hover:not(:disabled) { background:var(--vermelho); }
.btn.peq { min-height:34px; padding:5px 12px; font-size:13px; } .btn.perigo { color:#ff9aa2; } .btn.larg { width:100%; }
.card { background:var(--painel); border:1px solid var(--linha); border-radius:6px; padding:16px; backdrop-filter:blur(6px); }
.tag { font-size:11px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; padding:3px 9px; border-radius:3px; background:var(--painel2); color:var(--suave); white-space:nowrap; }
.tag.whatsapp { background:#12301f; color:#6fdca0; } .tag.feed { background:#2c1b3a; color:#d4a3f2; } .tag.stories { background:#33260f; color:#f2c36b; }
.tag.agora { background:#3b1418; color:#ff9aa2; }
.e-rascunho, .e-convidado { background:#33260f; color:var(--amarelo); } .e-pronto, .e-ativa, .e-ativo { background:#12301f; color:#6fdca0; } .e-publicado { background:#1b2a3d; color:#8ec2ff; } .e-encerrada { background:#26262a; color:var(--suave); }
input[type=text], input[type=email], input[type=password], input[type=date], input[type=time], select, textarea { width:100%; background:rgba(0,0,0,.4); border:1px solid var(--linha); border-radius:4px; padding:12px; font-size:16px; }
textarea { resize:vertical; min-height:96px; line-height:1.5; } select option { background:#151517; }
input:focus, select:focus, textarea:focus { outline:2px solid var(--vermelho); border-color:transparent; }
label.campo { display:block; margin-bottom:14px; } label.campo > span { display:block; font-size:12px; color:var(--suave); letter-spacing:.06em; text-transform:uppercase; margin-bottom:6px; font-weight:700; }
.erro { color:#ff9aa2; font-size:14px; margin-top:10px; } .suave { color:var(--suave); }
h1, h2, h3 { font-family:var(--display); text-transform:uppercase; line-height:1.1; font-weight:700; }
h2.t { font-size:28px; } .sub { color:var(--suave); margin-top:6px; font-size:15px; }
.toast { position:fixed; left:50%; bottom:calc(84px + var(--base)); transform:translate(-50%,20px); background:#fff; color:#111; padding:11px 20px; border-radius:4px; font-weight:600; font-size:14px; opacity:0; pointer-events:none; transition:.25s; z-index:90; max-width:90vw; text-align:center; }
.toast.on { opacity:1; transform:translate(-50%,0); }

/* ---------- login ---------- */
.entrada { min-height:100vh; display:grid; place-items:center; padding:24px 20px; }
.entrada .caixa { width:100%; max-width:380px; padding:30px 24px; background:rgba(8,8,9,.78); border:1px solid var(--linha); border-radius:6px; backdrop-filter:blur(8px); }
.entrada .logo { display:block; width:80%; margin:0 auto 24px; }
.entrada h1 { font-size:22px; text-align:center; } .entrada .sub { text-align:center; margin:8px 0 20px; }
.entrada .btn { width:100%; min-height:50px; margin-top:12px; font-size:15px; }
.missao-item { width:100%; text-align:left; padding:14px; margin-top:10px; background:var(--painel2); border:1px solid var(--linha); border-radius:5px; display:block; }
.missao-item:hover { border-color:var(--vermelho); } .missao-item { display:flex !important; gap:12px; align-items:center; } .missao-item .foto-emp { width:54px; flex:none; border-radius:3px; padding:0; } .missao-item > div { min-width:0; }
.missao-item b { display:block; font-family:var(--display); text-transform:uppercase; font-size:15px; } .missao-item small { color:var(--suave); }

/* ---------- corretor ---------- */
.cabeca { text-align:center; padding:14px 16px 6px; position:relative; }
.cabeca img { width:min(78vw,300px); height:auto; }
.cabeca .camp { line-height:1.2; margin-top:6px; } .cabeca .camp small { display:block; color:var(--suave); font-size:11px; letter-spacing:.06em; text-transform:uppercase; }
.cabeca .camp b { font-family:var(--display); font-size:15px; letter-spacing:.04em; text-transform:uppercase; }
.cabeca .sair { position:absolute; top:12px; right:12px; background:none; border:0; color:var(--suave); font-size:13px; padding:6px; }
main.app { padding:14px 0 calc(96px + var(--base)); }
.dias { display:flex; gap:8px; overflow-x:auto; padding:2px 16px 14px; margin:0 -16px; scrollbar-width:none; }
.dias::-webkit-scrollbar { display:none; }
.dia { flex:0 0 auto; width:74px; padding:9px 4px; background:var(--painel); border:1px solid var(--linha); border-radius:4px; text-align:center; }
.dia span { display:block; font-size:10.5px; color:var(--suave); letter-spacing:.08em; text-transform:uppercase; }
.dia b { font-family:var(--display); font-size:17px; line-height:1.3; display:block; }
.dia i { display:flex; align-items:center; justify-content:center; gap:3px; font-style:normal; font-size:11px; color:var(--suave); }
.dia i svg { width:11px; height:11px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.dia.hoje { background:var(--vermelho2); border-color:var(--vermelho); } .dia.hoje span, .dia.hoje i { color:#ffd9dc; }
.dia.bloq { opacity:.5; cursor:not-allowed; }
.missao { background:linear-gradient(135deg,#7d0f18 0%,#16161a 75%); border:1px solid #4a2226; border-radius:6px; padding:22px 20px; margin-bottom:16px; }
.missao h3 { font-size:40px; margin:0 0 8px; } .missao small { display:block; color:#ffb3b9; letter-spacing:.1em; font-size:13px; text-transform:uppercase; font-weight:700; margin-bottom:16px; }
.conceito { border-top:1px solid rgba(255,255,255,.14); padding-top:12px; } .conceito b { display:block; font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; color:#ffb3b9; margin-bottom:4px; } .conceito p { color:#f0dcde; font-size:15.5px; white-space:pre-line; }
.falta { display:inline-block; margin-top:14px; background:rgba(0,0,0,.35); border:1px solid rgba(255,255,255,.16); border-radius:4px; padding:5px 12px; font-size:13px; }
.acao { background:var(--painel); border:1px solid var(--linha); border-radius:6px; padding:16px; margin-bottom:14px; }
.acao.agora { border-color:var(--vermelho); box-shadow:0 0 0 1px var(--vermelho) inset; }
.acao-topo { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:10px; } .janela { margin-left:auto; color:var(--suave); font-size:13px; font-variant-numeric:tabular-nums; }
.acao h4 { font-size:18px; margin-bottom:10px; line-height:1.25; font-family:var(--display); text-transform:none; }
.msg { background:var(--painel2); border:1px solid var(--linha); border-radius:4px; padding:14px; white-space:pre-line; font-size:15px; color:#e6e6e4; }
.msg.toque { cursor:pointer; } .msg.toque:active { background:#26262a; border-color:#4a4a50; }
.dica { color:var(--suave); font-size:12.5px; margin:8px 2px 0; }
.arte { position:relative; display:block; width:100%; aspect-ratio:4/5; margin-top:14px; border:1px solid var(--linha); border-radius:4px; overflow:hidden; cursor:pointer; padding:0; background:var(--painel2); }
.arte img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.arte .dica { position:absolute; left:10px; right:10px; bottom:10px; margin:0; background:rgba(11,11,12,.85); backdrop-filter:blur(6px); border-radius:4px; padding:10px; text-align:center; font-size:13.5px; font-weight:600; color:var(--texto); }
.aviso-vazio { text-align:center; padding:44px 22px; background:var(--painel); border:1px dashed #3a3a40; border-radius:6px; }
.aviso-vazio h3 { font-size:24px; } .aviso-vazio p { color:var(--suave); margin-top:8px; }
nav.menu { position:fixed; left:0; right:0; bottom:0; z-index:20; display:grid; grid-template-columns:repeat(4,1fr); background:rgba(15,15,17,.97); backdrop-filter:blur(12px); border-top:1px solid var(--linha); padding-bottom:var(--base); }
nav.menu button { background:none; border:0; padding:9px 4px 10px; color:var(--suave); font-size:11.5px; font-weight:700; display:flex; flex-direction:column; align-items:center; gap:3px; min-height:56px; }
nav.menu svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
nav.menu button.on { color:#fff; } nav.menu button.on svg { stroke:var(--vermelho); }
.grupo { margin-top:24px; } .grupo:first-of-type { margin-top:16px; }
.grupo h3 { font-size:15px; letter-spacing:.06em; margin-bottom:12px; display:flex; align-items:baseline; gap:10px; } .grupo h3 small { font-family:system-ui; font-weight:500; font-size:12.5px; letter-spacing:0; color:var(--suave); text-transform:none; }
.fotos { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.foto { position:relative; aspect-ratio:1/1; padding:0; border:1px solid var(--linha); border-radius:4px; overflow:hidden; background:var(--painel2); }
.foto img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.foto span { position:absolute; left:6px; right:6px; bottom:6px; background:rgba(11,11,12,.85); border-radius:3px; padding:6px 8px; font-size:12.5px; font-weight:600; text-align:left; line-height:1.25; }
.docs { display:grid; gap:8px; }
.doc { display:flex; align-items:center; gap:14px; width:100%; min-height:64px; padding:12px 14px; text-align:left; background:var(--painel); border:1px solid var(--linha); border-radius:6px; text-decoration:none; color:var(--texto); }
.doc .tipo { flex:none; width:44px; height:52px; display:grid; place-items:center; border-radius:3px; background:var(--painel2); border:1px solid var(--linha); font-size:11px; font-weight:700; color:#ffb3b9; }
.doc b { display:block; font-size:15px; line-height:1.3; } .doc small { color:var(--suave); font-size:12.5px; }
.chips { display:flex; gap:8px; overflow-x:auto; margin:0 -16px 16px; padding:0 16px; scrollbar-width:none; } .chips::-webkit-scrollbar { display:none; }
.chip { flex:0 0 auto; background:var(--painel); border:1px solid var(--linha); border-radius:4px; padding:9px 16px; font-size:14px; color:var(--suave); } .chip.on { background:var(--texto); color:#111; border-color:var(--texto); font-weight:700; }
.item { background:var(--painel); border:1px solid var(--linha); border-radius:6px; padding:16px; margin-bottom:12px; } .item h4 { font-size:16.5px; margin:8px 0 10px; line-height:1.3; font-family:var(--display); text-transform:none; }

/* ---------- administração ---------- */
.adm-topo { display:flex; align-items:center; gap:14px; flex-wrap:wrap; padding:12px 20px; background:rgba(11,11,12,.92); border-bottom:1px solid var(--linha); }
.adm-topo img { height:52px; width:auto; } .adm-topo .abas { display:flex; gap:4px; margin-left:8px; } .adm-topo .dir { margin-left:auto; display:flex; gap:10px; align-items:center; }
.abas button { background:none; border:0; padding:10px 14px; color:var(--suave); font-weight:700; font-size:13px; border-bottom:3px solid transparent; } .abas button.on { color:var(--texto); border-bottom-color:var(--vermelho); }
.adm { max-width:1500px; margin:0 auto; padding:20px 20px 60px; }
.cab { display:flex; align-items:flex-start; gap:12px; flex-wrap:wrap; margin-bottom:18px; } .cab .dir { margin-left:auto; display:flex; gap:8px; flex-wrap:wrap; }
.grade { display:grid; grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); gap:14px; }
.camp-card { display:flex; flex-direction:column; gap:10px; }
.foto-emp { position:relative; width:100%; aspect-ratio:3/4; border-radius:4px; overflow:hidden; background:repeating-linear-gradient(135deg,#2a2a2e 0 14px,#222226 14px 28px); border:1px solid var(--linha); display:grid; place-items:center; color:var(--suave); font-size:13px; text-align:center; padding:8px; }
.foto-emp img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.foto-emp .sobre { position:absolute; top:8px; left:8px; z-index:2; backdrop-filter:blur(6px); }
.player { position:relative; width:100%; aspect-ratio:16/9; background:#000; border:1px solid var(--linha); border-radius:4px; overflow:hidden; }
.player iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.aula { display:flex; align-items:center; gap:14px; width:100%; text-align:left; padding:14px; margin-bottom:10px; background:var(--painel); border:1px solid var(--linha); border-radius:6px; color:var(--texto); }
.aula:hover { border-color:#4a4a50; }
.aula .n { flex:none; width:44px; height:44px; border-radius:50%; display:grid; place-items:center; background:var(--painel2); border:1px solid var(--linha); font-family:var(--display); font-size:15px; }
.aula.feita .n { background:var(--ok); border-color:var(--ok); color:#06150d; }
.aula b { display:block; font-size:15.5px; line-height:1.3; } .aula small { color:var(--suave); font-size:13px; display:block; margin-top:2px; }
.aula .seta { margin-left:auto; color:var(--suave); font-size:20px; flex:none; }
.aula-det h3 { font-size:22px; margin:16px 0 8px; } .aula-det p { color:#dcdcda; white-space:pre-line; }
.aula-det .acoes { display:grid; gap:10px; margin-top:18px; }
.chave { display:flex; align-items:center; gap:16px; padding:16px; margin-bottom:20px; border:1px solid var(--linha); border-radius:6px; background:rgba(0,0,0,.25); }
.chave.on { border-color:#244a38; background:rgba(63,182,122,.08); }
.chave .txt { flex:1; } .chave b { display:block; font-size:16px; } .chave small { color:var(--suave); font-size:13.5px; }
.interruptor { position:relative; flex:none; width:62px; height:34px; border-radius:17px; border:1px solid #4a4a50; background:#26262a; padding:0; transition:background .2s; }
.interruptor::after { content:''; position:absolute; top:3px; left:3px; width:26px; height:26px; border-radius:50%; background:#fff; transition:transform .2s; }
.interruptor[aria-checked="true"] { background:var(--ok); border-color:var(--ok); } .interruptor[aria-checked="true"]::after { transform:translateX(28px); }
.interruptor:focus-visible { outline:2px solid var(--vermelho); outline-offset:2px; }
.foto-conf { display:flex; gap:16px; align-items:flex-start; flex-wrap:wrap; } .foto-conf .foto-emp { width:150px; flex:none; } .foto-conf .col { flex:1; min-width:200px; } .camp-card h3 { font-size:17px; } .camp-card .emp { color:var(--suave); font-size:13.5px; }
.camp-card .linha { display:flex; gap:18px; flex-wrap:wrap; font-size:13px; color:var(--suave); } .camp-card .linha b { color:var(--texto); display:block; font-size:16px; }
.barra { height:6px; background:var(--painel2); border-radius:6px; overflow:hidden; } .barra i { display:block; height:100%; background:var(--ok); }
.nova { display:grid; place-items:center; min-height:190px; border:1.5px dashed #4a4a50; background:rgba(0,0,0,.25); text-align:center; color:var(--suave); } .nova:hover { border-color:var(--vermelho); color:var(--texto); } .nova b { display:block; font-size:34px; line-height:1; color:var(--texto); }
.sub-abas { display:flex; gap:4px; margin-bottom:18px; border-bottom:1px solid var(--linha); flex-wrap:wrap; }
.layout { display:grid; grid-template-columns:250px minmax(0,1fr) 340px; gap:18px; align-items:start; }
@media (max-width:1100px) { .layout { grid-template-columns:230px minmax(0,1fr); } .previa-col { grid-column:1 / -1; } }
@media (max-width:760px) { .layout { grid-template-columns:1fr; } .adm { padding:14px 12px 60px; } }
.lista-dias { display:grid; gap:8px; }
.item-dia { text-align:left; width:100%; padding:12px; border:1px solid var(--linha); background:var(--painel); border-radius:4px; display:grid; grid-template-columns:1fr auto; gap:2px 8px; align-items:center; }
.item-dia:hover { border-color:#4a4a50; } .item-dia.sel { border-color:var(--vermelho); background:linear-gradient(135deg,#3a1015,#151517); }
.item-dia b { font-family:var(--display); font-size:14px; text-transform:uppercase; } .item-dia small { grid-column:1 / -1; color:var(--suave); font-size:12.5px; }
.estado { font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:3px 8px; border-radius:3px; white-space:nowrap; }
.lote { margin-top:14px; border:1.5px dashed #4a4a50; border-radius:6px; padding:14px; text-align:center; background:rgba(0,0,0,.25); cursor:pointer; font-size:13px; } .lote.sobre, .zona.sobre { border-color:var(--vermelho); background:rgba(189,22,34,.12); } .lote b { display:block; font-size:14px; } .lote small { color:var(--suave); }
.relato { margin-top:10px; font-size:13px; } .relato .ok { color:#6fdca0; } .relato .no { color:#ff9aa2; margin-top:6px; }
.topo-edit { display:flex; align-items:flex-start; gap:12px; flex-wrap:wrap; margin-bottom:14px; } .topo-edit h2 { font-size:24px; } .topo-edit .est { margin-left:auto; }
.dois { display:grid; grid-template-columns:1fr 1fr; gap:12px; } @media (max-width:560px) { .dois { grid-template-columns:1fr; } }
.acao-ed { margin-top:18px; padding-top:16px; border-top:1px solid var(--linha); }
.acao-cab { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:12px; } .acao-cab h4 { font-family:var(--display); font-size:15px; text-transform:uppercase; }
.horas { margin-left:auto; display:flex; align-items:center; gap:6px; font-size:13px; color:var(--suave); } .horas input { width:112px; padding:6px 8px; font-size:14px; }
.corpo-acao { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:14px; } @media (max-width:760px) { .corpo-acao { grid-template-columns:1fr; } }
.contador { text-align:right; font-size:12px; color:var(--suave); margin-top:4px; }
.zona { position:relative; min-height:160px; border:1.5px dashed #4a4a50; border-radius:6px; display:grid; place-items:center; text-align:center; padding:12px; cursor:pointer; background:rgba(0,0,0,.25); overflow:hidden; }
.zona:hover { border-color:#6a6a70; } .zona p { font-size:13.5px; color:var(--suave); } .zona p b { display:block; color:var(--texto); font-size:14px; }
.zona img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; } .zona .acoes-img { position:absolute; left:8px; right:8px; bottom:8px; display:flex; gap:6px; justify-content:center; z-index:2; }
.falta-msg { color:var(--amarelo); font-size:12.5px; margin-top:6px; } .ok-msg { color:#6fdca0; font-size:12.5px; margin-top:6px; }
.rodape { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:20px; padding-top:16px; border-top:1px solid var(--linha); } .rodape .nota { color:var(--suave); font-size:13px; flex:1; min-width:200px; }
.previa-col { position:sticky; top:16px; }
.celular { width:100%; max-width:340px; margin:0 auto; border:8px solid #1c1c1f; border-radius:22px; background:#0b0b0c; overflow:hidden; box-shadow:0 20px 50px rgba(0,0,0,.5); }
.tela { height:600px; overflow-y:auto; padding:12px; background:#0b0b0c url('MDV.jpg') center/cover; font-size:13px; scrollbar-width:none; } .tela::-webkit-scrollbar { display:none; }
.tela .logo { display:block; width:60%; margin:2px auto 10px; }
.tela .missao { padding:14px; margin-bottom:10px; } .tela .missao h3 { font-size:21px; } .tela .missao small { font-size:10.5px; margin-bottom:10px; }
.tela .acao { padding:11px; margin-bottom:10px; } .tela .acao h4 { font-size:13px; } .tela .msg { padding:9px; font-size:12.5px; } .tela .arte { margin-top:8px; } .tela .conceito p { font-size:12.5px; }
.modal { position:fixed; inset:0; background:rgba(0,0,0,.78); z-index:80; display:none; place-items:center; padding:16px; overflow-y:auto; } .modal.on { display:grid; }
.modal .card { width:100%; max-width:600px; margin:auto; background:#141416; } .modal h3 { font-size:20px; margin-bottom:16px; } .modal .acoes { display:flex; gap:10px; justify-content:flex-end; margin-top:8px; flex-wrap:wrap; }
.modal .celular { max-width:390px; } .modal .tela { height:min(78vh,720px); }
.opcoes { display:grid; gap:8px; margin-bottom:14px; } .opcao { display:flex; gap:12px; align-items:flex-start; padding:12px; border:1px solid var(--linha); border-radius:4px; cursor:pointer; background:rgba(0,0,0,.25); } .opcao input { margin-top:4px; accent-color:var(--vermelho); width:auto; } .opcao b { display:block; font-size:14.5px; } .opcao small { color:var(--suave); } .opcao:has(input:checked) { border-color:var(--vermelho); background:rgba(189,22,34,.12); }
.tabela { width:100%; border-collapse:collapse; } .tabela th, .tabela td { padding:12px 14px; text-align:left; border-bottom:1px solid var(--linha); font-size:14px; } .tabela th { font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--suave); } .tabela td small { color:var(--suave); } .tabela tr:last-child td { border-bottom:0; } .rolagem { overflow-x:auto; }
.add { display:grid; grid-template-columns:1fr auto; gap:10px; margin-top:16px; align-items:start; } @media (max-width:600px) { .add { grid-template-columns:1fr; } }
.nota-box { margin-top:14px; padding:12px 14px; border-left:3px solid var(--amarelo); background:rgba(242,195,107,.08); color:#e8d6ae; font-size:13.5px; border-radius:3px; }
.mat-grupo { margin-bottom:20px; } .mat-lista { display:grid; gap:8px; }
.mat-item { display:flex; align-items:center; gap:12px; padding:10px 12px; background:var(--painel2); border:1px solid var(--linha); border-radius:4px; } .mat-item b { flex:1; font-size:14.5px; word-break:break-word; } .mat-item small { color:var(--suave); }

/* ---------- visão do corretor no computador ---------- */
@media (min-width: 900px) {
  #app { display:flex; flex-direction:column; }
  .cabeca { order:0; padding:22px 16px 10px; } .cabeca img { width:260px; }
  nav.menu { order:1; position:static; display:flex; justify-content:center; gap:6px; background:transparent; backdrop-filter:none; border-top:0; border-bottom:1px solid var(--linha); padding:0 16px; }
  nav.menu button { flex-direction:row; gap:10px; font-size:14px; min-height:0; padding:14px 24px; border-bottom:3px solid transparent; }
  nav.menu button.on { border-bottom-color:var(--vermelho); }
  main.app.wrap { order:2; max-width:1180px; width:100%; padding:24px 24px 56px; }
  .toast { bottom:28px; }

  .dias { justify-content:safe center; margin:0 -24px; padding:2px 24px 18px; gap:10px; }
  .dia { width:96px; padding:12px 6px; } .dia b { font-size:19px; }

  /* Hoje: faixa da missão em cima e as três ações lado a lado */
  #conteudoDia { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:18px; align-items:start; }
  #conteudoDia > .missao, #conteudoDia > .aviso-vazio { grid-column:1 / -1; }
  .missao { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); column-gap:40px; align-items:start; padding:28px 32px; margin-bottom:0; }
  .missao h3 { grid-column:1; font-size:46px; } .missao small { grid-column:1; margin-bottom:12px; }
  .missao .conceito { grid-column:2; grid-row:1 / span 3; border-top:0; padding-top:0; border-left:1px solid rgba(255,255,255,.16); padding-left:40px; }
  .missao .conceito p { font-size:17px; } .missao .falta { grid-column:1; justify-self:start; margin-top:4px; }
  .acao { margin-bottom:0; }

  /* Treinamentos */
  .lista-aulas { display:grid; grid-template-columns:1fr 1fr; gap:12px; } .lista-aulas .aula { margin-bottom:0; }
  #aulas .player, #aulas .aula-det { max-width:980px; }

  /* Materiais */
  .fotos { grid-template-columns:repeat(5, 1fr); gap:12px; }
  .docs { grid-template-columns:1fr 1fr; }

  /* Biblioteca */
  #busca { max-width:560px; } .chips { margin:0 0 18px; padding:0; flex-wrap:wrap; overflow:visible; }
  #biblioteca { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:14px; align-items:start; } #biblioteca .item { margin-bottom:0; } #biblioteca > p { grid-column:1 / -1; }
}
@media (min-width: 1280px) {
  #biblioteca { grid-template-columns:repeat(3, minmax(0, 1fr)); }
  .fotos { grid-template-columns:repeat(6, 1fr); }
}

/* =====================================================================
   Textura e detalhes visuais (inspirados em plantas de operação):
   grade fina, grão, marcas de canto, fita vermelha e preta, carimbo e rótulos em fonte técnica.
   Só aparência: nenhum texto de tela foi alterado.
   ===================================================================== */
:root { --mono:'JetBrains Mono', ui-monospace, 'Cascadia Mono', 'SFMono-Regular', Consolas, monospace; --canto:rgba(255,255,255,.3); }

/* grade fina + grão + vinheta por cima do papel de parede */
body::after { content:''; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.09'/%3E%3C/svg%3E"),
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px) 0 0 / 56px 56px,
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px) 0 0 / 56px 56px,
    radial-gradient(ellipse at center, transparent 35%, rgba(0,0,0,.6) 100%); }

/* fita vermelha e preta no topo da tela */
html::before { content:''; position:fixed; top:0; left:0; right:0; height:5px; z-index:100; pointer-events:none;
  background:repeating-linear-gradient(135deg, #d3202e 0 10px, #0b0b0c 10px 20px); }

/* rótulos e metadados em fonte técnica (os títulos continuam em Neue Machina) */
.tag, .estado, .janela, .dia span, .dia i, .missao small, .conceito b, .dica, .falta, .contador, .toast,
label.campo > span, .camp small, .cabeca .camp small, .camp-card .linha, .opcao small, .grupo h3 small, .doc small, .aula small, .missao-item small, .tabela th {
  font-family:var(--mono); }
.tag, .estado { letter-spacing:.08em; font-weight:700; }
.dia span, .missao small, .conceito b, label.campo > span, .cabeca .camp small { letter-spacing:.14em; }

/* marcas de canto, como enquadramento de mira */
.missao, .acao, .item, .aviso-vazio, .camp-card, .entrada .caixa, #editor { position:relative; }
.missao::after, .acao::after, .item::after, .aviso-vazio::after, .camp-card::after, .entrada .caixa::after, #editor::after {
  content:''; position:absolute; inset:6px; pointer-events:none; z-index:2;
  background:
    linear-gradient(var(--canto), var(--canto)) top left / 14px 1px no-repeat,
    linear-gradient(var(--canto), var(--canto)) top left / 1px 14px no-repeat,
    linear-gradient(var(--canto), var(--canto)) top right / 14px 1px no-repeat,
    linear-gradient(var(--canto), var(--canto)) top right / 1px 14px no-repeat,
    linear-gradient(var(--canto), var(--canto)) bottom left / 14px 1px no-repeat,
    linear-gradient(var(--canto), var(--canto)) bottom left / 1px 14px no-repeat,
    linear-gradient(var(--canto), var(--canto)) bottom right / 14px 1px no-repeat,
    linear-gradient(var(--canto), var(--canto)) bottom right / 1px 14px no-repeat; }
.missao, .acao.agora { --canto:rgba(211,32,46,.95); }

/* carimbo discreto no painel da missão */
.missao::before { content:'CONFIDENCIAL'; position:absolute; right:18px; bottom:16px; z-index:2; pointer-events:none;
  font:700 10.5px/1 var(--mono); letter-spacing:.3em; color:rgba(211,32,46,.85); border:1px solid rgba(211,32,46,.6); padding:5px 8px 5px 10px; transform:rotate(-3deg); opacity:.9; }

/* fita fina na operação do horário atual */
.acao.agora::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; border-radius:6px 6px 0 0; pointer-events:none;
  background:repeating-linear-gradient(135deg, #d3202e 0 8px, #0b0b0c 8px 16px); }

/* divisores técnicos: linha tracejada fina */
.conceito { border-top-style:dashed; } .foto-conf + hr, hr { border-top-style:dashed !important; }
.missao h3 { text-shadow:0 2px 0 rgba(0,0,0,.35); }

/* ---------- texto formatado dos scripts ---------- */
.msg.rico { white-space:normal; line-height:1.55; }
.t-p { font-size:.85em; } .t-g { font-size:1.3em; line-height:1.25; } .t-gg { font-size:1.75em; line-height:1.2; }
.rbarra { display:flex; flex-wrap:wrap; gap:6px; align-items:center; padding:8px; background:rgba(0,0,0,.4); border:1px solid var(--linha); border-bottom:0; border-radius:4px 4px 0 0; }
.rbarra button { min-width:38px; height:36px; padding:0 10px; background:var(--painel2); border:1px solid var(--linha); border-radius:4px; font-size:14px; color:var(--texto); }
.rbarra button:hover { border-color:#4a4a50; } .rbarra button:active { background:#2c2c31; }
.rbarra .sep { width:1px; height:22px; background:var(--linha); margin:0 4px; }
.rich { min-height:170px; max-height:420px; overflow:auto; background:rgba(0,0,0,.4); border:1px solid var(--linha); border-radius:0 0 4px 4px; padding:12px; font-size:16px; line-height:1.55; outline:none; }
.rich:focus { outline:2px solid var(--vermelho); outline-offset:-1px; }
.rich:empty::before { content:attr(data-vazio); color:var(--suave); }

/* interruptor pequeno (acesso do corretor) */
.interruptor.mini { width:46px; height:26px; border-radius:13px; }
.interruptor.mini::after { top:2px; left:2px; width:20px; height:20px; }
.interruptor.mini[aria-checked="true"]::after { transform:translateX(20px); }
tr.sem-acesso td:not(:last-child) { opacity:.5; }
