:root{
  --bg:#0a0c0f;
  --surface:#14161c;
  --surface-2:#1b1e26;
  --line:rgba(255,255,255,.1);
  --line-strong:rgba(255,255,255,.2);
  --text:#f4f4f4;
  --muted:#9aa0a8;
  --faint:#646a73;
  --accent:#e30613;
  --accent-soft:rgba(227,6,19,.13);
  --accent-grad:radial-gradient(89% 85% at 17% 78%,#ff8a8a 0%,#f23a3a 38%,#e30613 76%,#a3060f 100%);
  --green:#25d366;
  --green-soft:rgba(37,211,102,.12);
  --amber:#f5b942;
  --amber-soft:rgba(245,185,66,.12);
}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{background:var(--bg)}
body{min-height:100vh;color:var(--text);background:radial-gradient(120% 50% at 50% -10%,rgba(227,6,19,.12),transparent 60%),var(--bg);background-attachment:fixed;font-family:Montserrat,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
button,input{font:inherit;color:inherit}
svg.i{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* Login */
.login{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px 20px}
.login-box{width:100%;max-width:340px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.login-mark{width:64px;height:64px;filter:invert(1);margin-bottom:4px}
.login h1{font-size:24px;font-weight:800;letter-spacing:-.02em}
.login p{color:var(--muted)}
.login .input{text-align:center;letter-spacing:.3em;font-weight:700;margin-top:8px}
.erro{min-height:20px;font-size:14px;color:#ff6b6b}

.input{width:100%;height:56px;padding:0 18px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--text);outline:none;font-size:16px;transition:border-color .15s,box-shadow .15s}
.input::placeholder{color:var(--faint);letter-spacing:normal;font-weight:500}
.input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
.btn{width:100%;min-height:56px;border:0;border-radius:16px;background:var(--accent-grad);color:#fff;font-weight:800;font-size:15px;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;box-shadow:0 10px 30px -12px rgba(227,6,19,.75),inset 0 1px 0 rgba(255,255,255,.18)}
.btn:disabled{opacity:.6;cursor:wait}

/* App */
.app{max-width:760px;margin:0 auto;padding:calc(14px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) calc(32px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left))}
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:11px;letter-spacing:.26em;text-transform:uppercase}
.brand img{width:24px;height:24px;filter:invert(1)}
.top-actions{display:flex;gap:6px}
.icon-btn{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--muted);cursor:pointer;text-decoration:none;transition:color .15s,border-color .15s}
.icon-btn:hover{color:var(--text);border-color:var(--line-strong)}
.icon-btn.girando svg{animation:gira .8s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}
.page-title{font-size:24px;font-weight:800;letter-spacing:-.02em;margin:22px 0 14px}

.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-bottom:18px}
.stat{padding:14px 14px 12px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.stat b{display:block;font-size:26px;font-weight:800;letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums}
.stat span{display:block;margin-top:4px;font-size:12px;color:var(--muted);line-height:1.3}
.stat.sim b{color:var(--green)}
.stat.nao b{color:var(--amber)}

.tools{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;min-height:38px;padding:8px 14px;border:1px solid var(--line);border-radius:9999px;background:var(--surface);color:var(--muted);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}
.chip small{margin-left:6px;color:var(--faint);font-weight:700;font-variant-numeric:tabular-nums}
.chip.on{background:var(--text);border-color:var(--text);color:var(--bg)}
.chip.on small{color:#555}
.search{display:flex;align-items:center;gap:10px;height:48px;padding:0 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--faint)}
.search:focus-within{border-color:var(--line-strong)}
.search input{flex:1;min-width:0;height:100%;border:0;background:none;outline:none;color:var(--text);font-size:16px}
.search input::placeholder{color:var(--faint)}

.lista{display:flex;flex-direction:column;gap:8px}
.card{border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow:hidden}
.card-head{width:100%;display:flex;align-items:center;gap:12px;padding:14px 14px 14px 16px;border:0;background:none;text-align:left;cursor:pointer}
.card-main{flex:1;min-width:0}
.card-nome{font-weight:700;font-size:16px;overflow-wrap:anywhere}
.card-meta{font-size:12px;color:var(--muted);margin-top:2px}
.card-head svg.i{color:var(--faint);transition:transform .2s}
.card.open .card-head svg.i{transform:rotate(180deg)}
.badge{display:inline-block;margin-top:8px;padding:5px 10px;border-radius:9999px;font-size:11px;font-weight:700;letter-spacing:.02em;white-space:nowrap}
.badge.sim{background:var(--green-soft);color:var(--green)}
.badge.nao{background:var(--amber-soft);color:var(--amber)}
.badge.parou{background:var(--surface-2);color:var(--muted)}
.card-body{display:none;padding:2px 16px 16px;border-top:1px solid var(--line)}
.card.open .card-body{display:block}
.dl{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;padding-top:14px}
.dl div{min-width:0}
.dl .full{grid-column:1/-1}
.dl dt{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin-bottom:3px}
.dl dd{font-size:14px;color:var(--text);overflow-wrap:anywhere}
.dl ul{list-style:none;display:flex;flex-direction:column;gap:3px}
.dl li::before{content:"·";color:var(--accent);font-weight:800;margin-right:6px}
.vazio{padding:40px 20px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:16px}
