/* Visual do menu do app: fundo escuro, cartões, Inter. Cores em /brand.css (brand.json). */
@font-face{font-family:Inter;font-weight:400;font-display:swap;src:url(../fonts/Inter-Regular.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:600;font-display:swap;src:url(../fonts/Inter-SemiBold.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:700;font-display:swap;src:url(../fonts/Inter-Bold.woff2) format("woff2")}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.55 Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{line-height:1.2;margin:0 0 .6em;font-weight:700;letter-spacing:-.01em}
h1{font-size:clamp(1.7rem,4vw,2.6rem)}
h2{font-size:1.3rem;font-weight:600}
h3{font-size:1rem;font-weight:600}
p{margin:0 0 .8em}
code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;background:var(--surface2);padding:.1em .35em;border-radius:4px;word-break:break-all}
img{max-width:100%;height:auto}
:focus-visible{outline:3px solid var(--primary);outline-offset:2px}
.wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 16px}
@media(min-width:720px){.wrap{padding:0 32px}}
section.wrap{margin-top:40px}
.narrow{max-width:520px}
.muted{color:var(--muted)}
.small{font-size:.875rem}
.warn{color:var(--accent);font-weight:600}
.inline{display:inline}

/* topo */
.top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px;position:sticky;top:0;z-index:10;background:rgba(27,28,30,.86);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.04)}
@media(min-width:720px){.top{padding:16px 32px}}
.logo{display:flex;align-items:center}
.logo img{height:30px;width:auto;display:block}
.pill-beta{font-size:.72rem;font-weight:600;color:var(--muted);border:1px solid var(--line);padding:2px 8px;border-radius:99px;white-space:nowrap}
.topnav{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.langs{display:flex;gap:2px;margin-right:4px}
.langs a{color:var(--muted);font-size:.8rem;font-weight:600;padding:4px 6px;border-radius:6px}
.langs a.on{color:var(--text);background:var(--surface)}
.langs a:hover{text-decoration:none;color:var(--text)}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font:600 .95rem/1 Inter,sans-serif;color:var(--text);background:var(--surface2);border:1px solid transparent;border-radius:8px;padding:11px 18px;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn:hover{filter:brightness(1.15);text-decoration:none}
.btn.primary{background:var(--primary);color:var(--on-primary)}
.btn.ghost{background:transparent;border-color:var(--line)}
.btn.danger{background:transparent;border-color:var(--danger);color:var(--danger)}
.btn.sm{padding:7px 12px;font-size:.82rem;border-radius:7px}
.btn.lg{padding:14px 24px;font-size:1.02rem;border-radius:10px}
.btn.disabled{opacity:.6;cursor:default;filter:none}

/* hero */
.hero{position:relative;min-height:min(78vh,640px);display:flex;align-items:flex-end;overflow:hidden}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}
.hero-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(27,28,30,.25) 0%,rgba(27,28,30,.55) 45%,var(--bg) 100%),linear-gradient(90deg,rgba(27,28,30,.85) 0%,rgba(27,28,30,0) 70%)}
.hero-in{position:relative;padding-top:120px;padding-bottom:48px}
.hero h1{max-width:16em;font-size:clamp(2rem,5.5vw,3.4rem)}
.lead{max-width:40em;font-size:1.08rem;color:#d7dbe0}
.cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:24px}

/* cartões */
.card{background:var(--surface);border-radius:12px;padding:20px;margin-bottom:16px}
@media(min-width:720px){.card{padding:24px}}
.card.hl{border:1px solid var(--primary)}
.card.risk{border-left:4px solid var(--accent)}
.grid2{display:grid;gap:16px;grid-template-columns:1fr}
.grid2>.card{margin-bottom:0}
@media(min-width:860px){.grid2{grid-template-columns:1fr 1fr}}
.grid3{display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:720px){.grid3{grid-template-columns:1fr 1fr 1fr}}
section.grid2{margin-top:40px}

.row-scroll{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;-webkit-overflow-scrolling:touch}
.shot{margin:0;flex:0 0 min(84%,560px);scroll-snap-align:start;border-radius:10px;overflow:hidden;background:var(--surface)}
.shot img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}

ul.checks,ol.steps{margin:0;padding:0;list-style:none}
ul.checks li{padding:8px 0 8px 30px;position:relative;border-bottom:1px solid var(--line)}
ul.checks li:last-child{border:0}
ul.checks li::before{content:"";position:absolute;left:4px;top:15px;width:12px;height:12px;border-radius:50%;border:3px solid var(--primary)}
ol.steps{counter-reset:s}
ol.steps li{counter-increment:s;padding:8px 0 8px 40px;position:relative}
ol.steps li::before{content:counter(s);position:absolute;left:0;top:7px;width:28px;height:28px;border-radius:50%;background:var(--surface2);color:var(--primary);font-weight:700;display:flex;align-items:center;justify-content:center;font-size:.9rem}

.video{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:var(--surface)}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--muted);max-height:360px}
.video.empty img{opacity:.5}

.faq details{padding:0;margin-bottom:10px}
.faq summary{cursor:pointer;padding:16px 20px;font-weight:600;list-style:none;position:relative;padding-right:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:20px;top:12px;font-size:1.4rem;color:var(--primary)}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 20px 16px;margin:0;color:#d0d4d9}

.foot{margin-top:64px;padding-top:24px;padding-bottom:32px;border-top:1px solid var(--line);display:flex;gap:14px;align-items:flex-start;color:var(--muted);font-size:.82rem}
.foot img{flex:0 0 auto;opacity:.8}

/* formulários */
.form{display:flex;flex-direction:column;gap:14px;margin-top:8px}
.form.row{flex-direction:row;flex-wrap:wrap;align-items:flex-end}
.form.row label{flex:0 1 180px}
.form.row label.grow{flex:1 1 240px}
label{display:flex;flex-direction:column;gap:6px;font-size:.88rem;font-weight:600;color:#d7dbe0}
label.check{flex-direction:row;align-items:flex-start;gap:10px;font-weight:400}
label.check input{margin-top:4px;width:18px;height:18px;flex:0 0 auto;accent-color:var(--primary)}
input,select,textarea{font:400 1rem Inter,sans-serif;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px 12px;width:100%;min-width:0}
input[type=file]{padding:8px}
input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:none}
.pair{display:flex;gap:6px}
.pair input{width:90px}
.errors{background:rgba(255,90,95,.12);border:1px solid var(--danger);border-radius:8px;padding:10px 14px;margin:10px 0;color:#ffc9cb}
.errors p{margin:0}
.flashes{margin-top:16px}
.flash{background:var(--surface2);border-left:4px solid var(--primary);padding:12px 16px;border-radius:8px;margin-bottom:8px}

/* área */
.keybox{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:6px 0 12px}
.betakey{font-size:1.6rem;font-weight:700;letter-spacing:.08em;padding:8px 14px;background:var(--bg);border:1px solid var(--primary);color:var(--text)}
code.link{font-size:.85rem;padding:8px 10px}
.hash{font-size:.75rem}
.notes{white-space:pre-wrap;color:#d0d4d9}
.qr{background:#fff;border-radius:10px;padding:10px;width:max-content;margin:12px 0}
.qr img{display:block}
.list{display:flex;flex-direction:column}
.rep header{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.rep .desc{white-space:pre-wrap;word-break:break-word}
.rep .note{background:var(--surface2);border-radius:8px;padding:10px 12px}
.thumbs{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 12px}
.thumbs img{height:96px;width:auto;border-radius:6px;display:block}
.tag{display:inline-block;font-size:.75rem;font-weight:600;padding:3px 9px;border-radius:99px;background:var(--surface2);color:var(--text);white-space:nowrap}
.tag.on{background:var(--primary);color:var(--on-primary)}
.st-new{background:rgba(56,182,255,.18);color:var(--primary)}
.st-needs_info{background:rgba(255,107,61,.18);color:var(--accent)}
.st-confirmed,.st-in_progress{background:rgba(255,200,80,.16);color:#ffd27a}
.st-fixed{background:rgba(76,208,125,.16);color:var(--ok)}
.st-wontfix,.st-duplicate{background:var(--surface2);color:var(--muted)}
.inv-pending{background:rgba(56,182,255,.18);color:var(--primary)}
.inv-used{background:rgba(76,208,125,.16);color:var(--ok)}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.chips a:hover{text-decoration:none;filter:brightness(1.2)}

/* admin */
.tabs{display:flex;gap:4px;overflow-x:auto;margin-top:20px;padding-bottom:4px}
.tabs a{padding:9px 14px;border-radius:8px;color:var(--muted);font-weight:600;white-space:nowrap}
.tabs a.on{background:var(--surface);color:var(--text)}
.tabs a:hover{text-decoration:none;color:var(--text)}
.admin section.wrap{margin-top:16px}
.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:16px}
.stat{display:flex;flex-direction:column;gap:4px;margin:0}
.stat b{font-size:2rem;line-height:1.1}
.stat b.sm{font-size:1.1rem}
.stat span{color:var(--muted);font-size:.85rem}
.bar{display:grid;grid-template-columns:minmax(80px,38%) 1fr auto;gap:10px;align-items:center;padding:5px 0;font-size:.88rem}
.bar .lbl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bar .val{color:var(--muted);font-size:.8rem;white-space:nowrap}
meter{width:100%;height:10px}
meter::-webkit-meter-bar{background:var(--surface2);border:0;border-radius:6px;height:10px}
meter::-webkit-meter-optimum-value{background:var(--primary);border-radius:6px}
meter::-moz-meter-bar{background:var(--primary);border-radius:6px}
.tablewrap{overflow-x:auto;background:var(--surface);border-radius:12px}
table{width:100%;border-collapse:collapse;font-size:.88rem}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
th{color:var(--muted);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
tr.off td{opacity:.55}
td.actions{display:flex;gap:6px;flex-wrap:wrap}
pre.log,pre.cmd{background:#111214;border-radius:10px;padding:14px;overflow:auto;font:400 .8rem/1.45 ui-monospace,Menlo,Consolas,monospace;color:#d5d9de;white-space:pre}
pre.log{max-height:75vh}
dl.meta{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;font-size:.88rem}
dl.meta dt{color:var(--muted)}
dl.meta dd{margin:0;word-break:break-all}
