:root{--fundo:#081F33;--cartao:#0D2943;--campo:#0B243C;--tinta:#FEF1E0;--sec:rgba(254,241,224,.62);--linha:rgba(254,241,224,.14);--claro:#123250;
  --laranja:#F2910A;--escuro:#0A2438;--ok:#7FD39B;--erro:#FF8A70;
  --serif:Sora,system-ui,sans-serif;--sans:Geist,system-ui,sans-serif;--topo:env(safe-area-inset-top,0px);--base:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{overscroll-behavior-y:contain;margin:0;background:var(--fundo);color:var(--tinta);font-family:var(--sans);font-size:15px}
body{min-height:100vh;min-height:100dvh}
#app{max-width:480px;margin:0 auto;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
button,input,select,textarea{font-family:var(--sans);font-size:15px;color:var(--tinta)}
::placeholder{color:rgba(254,241,224,.35)}
button{cursor:pointer}
a{color:var(--tinta)}
:focus-visible{outline:2px solid var(--laranja);outline-offset:2px}

.tela{flex:1;display:flex;flex-direction:column;padding:calc(16px + var(--topo)) 24px calc(24px + var(--base))}
.barra{display:flex;align-items:center;gap:12px;min-height:44px}
.barra .meio{flex:1;text-align:center;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--laranja);font-weight:500}
.voltar{width:44px;height:44px;margin-left:-12px;display:grid;place-items:center;background:none;border:0;color:var(--tinta)}
.vazio{width:44px}
.passos{display:flex;gap:6px;margin:14px 0 26px}
.passos i{flex:1;height:3px;background:var(--linha)}
.passos i.on{background:var(--laranja)}
h1{font-family:var(--serif);font-weight:700;font-size:30px;line-height:1.05;letter-spacing:-.025em;text-transform:uppercase;margin:0 0 18px}
.destaque{color:var(--laranja)}
h2{font-family:var(--serif);font-weight:700;font-size:20px;text-transform:uppercase;letter-spacing:-.02em;margin:28px 0 12px}
.marca{display:flex;align-items:center;gap:10px}
.marca .logo{height:30px;width:auto;display:block}
.marca span{font-size:10px;letter-spacing:.34em;color:var(--laranja);font-weight:600;padding-left:10px;border-left:1px solid var(--linha);line-height:22px}
.sec{color:var(--sec);font-size:13px;line-height:1.55;margin:0}
.rotulo{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--sec);margin:0 0 7px;display:block}
.espaco{flex:1;min-height:24px}

.campo{margin-bottom:16px}
.campo input,.campo select,.campo textarea{width:100%;height:48px;padding:0 14px;border:1px solid var(--linha);background:var(--campo);border-radius:0;appearance:none}
.campo textarea{height:88px;padding:12px 14px;resize:vertical}
.campo select{background:var(--campo) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23F2910A' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--laranja)}
.campo select option{background:var(--fundo)}
.campo.erro input{border-color:var(--erro)}
.dupla{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dupla .campo{margin-bottom:16px}

.btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:54px;border:0;background:var(--laranja);color:var(--escuro);font-weight:600;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none}
.btn:disabled{opacity:.3;cursor:default}
.btn.linha{background:transparent;color:var(--tinta);border:1px solid rgba(254,241,224,.4)}
.btn.leve{background:transparent;color:var(--tinta);border:1px dashed rgba(254,241,224,.3);font-weight:500;letter-spacing:.06em;text-transform:none;font-size:14px}
.alternar{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--linha);margin-bottom:12px}
.alternar button{height:44px;border:0;background:transparent;font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--sec)}
.alternar button.on{background:var(--laranja);color:var(--escuro)}

.contador{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--linha);background:var(--cartao);padding:8px 8px 8px 16px;margin-bottom:26px}
.contador b{font-family:var(--serif);font-size:30px;font-weight:700;min-width:40px;text-align:center}
.contador button{width:44px;height:44px;border:1px solid var(--linha);background:transparent;font-size:22px;color:var(--laranja)}
.contador button:disabled{opacity:.3}

.grade{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.grade.l5{grid-template-columns:repeat(5,1fr)}
.layout{position:relative;padding:0;border:2px solid transparent;background:none;text-align:left}
.layout img{width:100%;aspect-ratio:9/16;object-fit:cover;display:block;background:var(--claro)}
.layout span{display:block;font-size:10px;color:var(--sec);margin-top:4px;line-height:1.2}
.layout.sel{border-color:var(--laranja)}
.layout .ck{position:absolute;top:6px;right:6px;width:22px;height:22px;background:var(--laranja);display:grid;place-items:center}
.layout:disabled{cursor:not-allowed}
.titulo-grupo{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--laranja);margin:18px 0 8px}

.midias{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:16px 0}
.midia{position:relative;aspect-ratio:1;background:var(--claro);overflow:hidden}
.midia img,.midia video{width:100%;height:100%;object-fit:cover;display:block}
.midia .tipo{position:absolute;left:6px;bottom:6px;background:var(--laranja);color:var(--escuro)!important;font-weight:600;color:#fff;font-size:10px;padding:2px 6px;letter-spacing:.06em}
.midia .tirar{position:absolute;top:4px;right:4px;width:30px;height:30px;border:0;background:rgba(8,31,51,.8);color:#fff;display:grid;place-items:center}
.escolher-arq{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;height:150px;border:1px dashed rgba(242,145,10,.6);background:var(--cartao);color:var(--laranja);text-align:center;padding:16px;cursor:pointer}
.escolher-arq input{display:none}
.resumo-arq{display:flex;justify-content:space-between;font-size:13px;color:var(--sec);margin-top:10px}

.musica{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--linha)}
.musica .play{width:40px;height:40px;border-radius:50%;border:1px solid var(--laranja);background:transparent;color:var(--laranja);display:grid;place-items:center;flex:none}
.musica .play.on{background:var(--laranja)}
.musica .info{flex:1;min-width:0}
.musica .info p{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.musica .info p+p{font-size:12px;color:var(--sec);margin-top:2px}
.musica .marcar{width:36px;height:36px;border:1px solid var(--linha);background:var(--campo);display:grid;place-items:center;flex:none}
.musica .marcar.on{background:var(--laranja);border-color:var(--laranja)}
.musica .marcar:disabled{opacity:.3}
.enviada{display:flex;align-items:center;gap:12px;padding:14px;background:var(--cartao);border:1px solid var(--linha);margin-top:12px}
.enviada .ok{width:32px;height:32px;border-radius:50%;background:var(--laranja);display:grid;place-items:center;flex:none}
.enviada .info{flex:1;min-width:0}
.enviada .info p{margin:0;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.enviada .info p+p{font-size:12px;color:var(--sec);margin-top:2px}
.enviada button{border:0;background:none;width:36px;height:36px;color:var(--tinta)}

.resumo{background:var(--cartao);border:1px solid var(--linha);display:flex;gap:14px;padding:12px;margin-bottom:18px}
.resumo .foto{width:88px;height:88px;object-fit:cover;background:var(--claro);flex:none}
.resumo p{margin:0 0 3px;font-size:13px;color:var(--sec)}
.resumo p.forte{font-family:var(--serif);font-size:18px;font-weight:700;text-transform:uppercase;color:var(--tinta)}
.resumo p.valor{color:var(--laranja);font-weight:600}
.linhas a,.linhas div{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--linha);text-decoration:none;font-size:14px;color:var(--tinta)}
.linhas span+span{color:var(--sec);text-align:right}

.cards{display:flex;flex-direction:column;gap:12px;margin-top:22px}
.card{display:flex;gap:14px;align-items:center;background:var(--cartao);color:var(--tinta);border:1px solid var(--linha);padding:10px;text-align:left;width:100%}
.card img,.card .semfoto{width:72px;height:72px;object-fit:cover;background:var(--claro);flex:none}
.card p{margin:0;font-size:12px;color:var(--sec)}
.card p.forte{font-size:14px;font-weight:600;color:var(--tinta);margin-bottom:3px}
.card .situacao{margin-top:6px;color:var(--laranja);font-weight:500}
.card .etiqueta{display:inline-block;margin-top:5px;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--linha);padding:2px 6px;color:var(--tinta)}
.card .situacao.ok{color:var(--ok)}
.card .situacao.erro{color:var(--erro)}

.etapas{margin:22px 0 8px}
.etapa{display:flex;gap:14px;position:relative;padding-bottom:20px}
.etapa:not(:last-child)::before{content:'';position:absolute;left:11px;top:26px;bottom:2px;width:1px;background:var(--linha)}
.etapa .bola{width:23px;height:23px;border-radius:50%;border:1px solid var(--linha);background:var(--fundo);display:grid;place-items:center;flex:none}
.etapa.feito .bola{background:var(--laranja);border-color:var(--laranja)}
.etapa.agora .bola{border-color:var(--laranja);border-width:2px}
.etapa.agora .bola::after{content:'';width:9px;height:9px;border-radius:50%;background:var(--laranja);animation:pulso 1.4s infinite}
@keyframes pulso{50%{opacity:.25}}
.etapa p{margin:2px 0 0;font-size:14px;color:rgba(254,241,224,.4)}
.etapa.feito p,.etapa.agora p{color:var(--tinta)}
.etapa.agora p{font-weight:600}
.etapa small{display:block;color:var(--sec);font-size:12px;margin-top:3px;font-weight:400}

.pronto{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--linha)}
.pronto img,.pronto .semfoto{width:54px;height:96px;object-fit:cover;background:var(--claro);flex:none}
.pronto .info{flex:1}
.pronto .info p{margin:0;font-size:14px;font-weight:600}
.pronto .info p+p{font-size:12px;color:var(--sec);font-weight:400;margin-top:3px}
.pronto button,.pronto a{width:42px;height:42px;border:1px solid var(--laranja);background:transparent;color:var(--laranja);display:grid;place-items:center;flex:none}
.pronto button.cheio{background:var(--laranja)}

.barra-prog{height:3px;background:var(--linha);margin:18px 0 8px}
.barra-prog i{display:block;height:100%;background:var(--laranja);transition:width .3s}
.caixa{background:var(--cartao);border:1px solid var(--linha);padding:16px;margin:16px 0}
.caixa.erro{border-color:var(--erro)}
.caixa p{margin:0;font-size:13px;line-height:1.55}

.entrada{flex:1;display:flex;flex-direction:column}
.entrada .capa{background:radial-gradient(120% 90% at 85% 0%,rgba(242,145,10,.28),transparent 60%),var(--fundo);padding:calc(28px + var(--topo)) 24px 0;display:flex;gap:8px;justify-content:center;overflow:hidden;height:40vh;min-height:280px;align-items:flex-end}
.entrada .capa img{width:30%;aspect-ratio:9/16;object-fit:cover;transform:translateY(18%)}
.entrada .capa img:nth-child(2){transform:translateY(6%)}
.entrada .corpo{padding:30px 24px calc(28px + var(--base));display:flex;flex-direction:column;flex:1}
.entrada h1{font-size:38px;margin:22px 0 12px}
.google{background:var(--tinta);color:var(--escuro)}

.topo-conta{display:flex;justify-content:space-between;align-items:center;min-height:44px}
.conta{width:40px;height:40px;border-radius:50%;background:var(--laranja);color:var(--escuro);border:0;font-size:13px;font-weight:600;overflow:hidden;padding:0}
.conta img{width:100%;height:100%;object-fit:cover}
.menu{position:absolute;right:24px;top:calc(64px + var(--topo));background:var(--cartao);border:1px solid var(--linha);min-width:220px;z-index:5;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.menu p{margin:0;padding:12px 16px;font-size:12px;color:var(--sec);border-bottom:1px solid var(--linha)}
.menu button{display:block;width:100%;text-align:left;padding:14px 16px;border:0;background:none;color:var(--tinta)}
.seletor{margin-top:16px}

#aviso{position:fixed;left:50%;bottom:calc(24px + var(--base));transform:translateX(-50%);background:var(--tinta);color:var(--escuro);padding:12px 18px;font-size:13px;max-width:90vw;z-index:20}
.carregando{display:grid;place-items:center;flex:1;color:var(--sec);font-size:13px}
.giro{width:26px;height:26px;border:2px solid var(--linha);border-top-color:var(--laranja);border-radius:50%;animation:giro 0.9s linear infinite;margin:0 auto 12px}
@keyframes giro{to{transform:rotate(360deg)}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* tipo de vídeo */
.formatos{display:flex;flex-direction:column;gap:10px}
.formato{display:flex;flex-direction:column;gap:6px;text-align:left;padding:16px;background:var(--cartao);border:1px solid var(--linha);color:var(--tinta);position:relative}
.formato.sel{border-color:var(--laranja);box-shadow:inset 3px 0 0 var(--laranja)}
.formato:disabled{opacity:.5;cursor:default}
.formato .fx{display:flex;justify-content:space-between;align-items:center;gap:10px}
.formato b{font-family:var(--serif);font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:-.01em}
.formato em{font-style:normal;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--linha);padding:3px 7px;color:var(--sec)}
.formato .fd{font-size:13px;line-height:1.5;color:var(--sec)}
.formato .fp{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--laranja)}

/* Móveis com IA: uma foto por ambiente */
.ambs{display:flex;flex-direction:column;gap:10px;margin:16px 0}
.amb{background:var(--cartao);border:1px solid var(--linha);padding:12px}
.amb.falta{border-color:rgba(242,145,10,.7)}
.amb-topo{display:flex;gap:12px;align-items:flex-start;position:relative}
.amb-topo img{width:96px;height:72px;object-fit:cover;flex:none}
.amb-campos{flex:1;min-width:0;padding-right:34px}
.amb-campos .rotulo{margin-bottom:6px}
.amb input,.amb textarea{width:100%;padding:10px 12px;border:1px solid var(--linha);background:var(--campo);color:inherit;border-radius:0;font:inherit;font-size:16px}
.amb input{height:44px}
.amb textarea{resize:vertical;min-height:64px}
.amb input:focus,.amb textarea:focus{outline:none;border-color:var(--laranja)}
.amb .tirar{position:absolute;top:0;right:0;width:30px;height:30px;border:0;background:rgba(8,31,51,.8);color:#fff;display:grid;place-items:center}
