:root{--tinta:#13233F;--ambar:#F0A030;--ambar-t:#9A5500;--papel:#F5F1E8;--grafite:#5B6475;--borda:#DDD5C4;--t2:#3E4757;--ok:#1F7A52;--erro:#B3261E;--info:#EEF2F8;--aviso:#7A4300;--ambar-c:#FDF1DC;--ambar-b:#E8C98F}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--papel);color:var(--tinta);font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;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;background:var(--papel);padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}
button,input{font-family:inherit;font-size:inherit;color:inherit}
a{color:var(--ambar-t)}
.disp{font-weight:800;letter-spacing:-.02em;line-height:1.15}
.mono{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace}
h1,h2,h3,p{margin:0}
h1{font-size:22px}h2{font-size:19px}
.top{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 8px}
.brand{display:flex;align-items:center;gap:8px}
.brand img{width:36px;height:36px;border-radius:10px;display:block}
.brand b{font-size:21px}
.tag{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:10px;font-weight:600;background:var(--ambar);color:var(--tinta);padding:3px 7px;border-radius:6px;letter-spacing:.05em}
.pill{display:inline-flex;align-items:center;background:var(--tinta);color:var(--papel);border:0;border-radius:999px;height:36px;padding:0 14px;font-size:12.5px;font-weight:600;cursor:pointer}
.body{flex:1;display:flex;flex-direction:column;gap:16px;padding:12px 20px 28px}
.card{background:#fff;border:1px solid var(--borda);border-radius:20px;padding:18px 20px;display:flex;flex-direction:column;gap:12px}
.dark{background:var(--tinta);color:var(--papel);border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:10px}
.lbl{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;font-weight:600;letter-spacing:.05em;color:var(--grafite);text-transform:uppercase}
.dark .lbl{color:#8E97A8}
.sub{font-size:14px;line-height:1.5;color:var(--t2)}
.dark .sub{color:#C9CFDB}
.sub.peq{font-size:12.5px;color:var(--grafite)}
.btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;border-radius:14px;border:0;background:var(--ambar);color:var(--tinta);font-weight:700;font-size:14.5px;text-decoration:none;cursor:pointer;width:100%;padding:0 16px}
.btn.sec{background:#fff;border:1.5px solid var(--tinta)}
.btn.dk{background:var(--tinta);color:var(--papel)}
.btn.link{background:none;color:var(--ambar-t);min-height:44px;font-weight:600}
.btn[disabled]{opacity:.5;cursor:default}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:12.5px;font-weight:600;color:var(--t2)}
input.in{height:52px;border:1.5px solid var(--borda);border-radius:14px;background:#fff;padding:0 14px;width:100%;outline:0}
input.in:focus{border-color:var(--tinta)}
input.cod{font-size:26px;letter-spacing:.35em;text-align:center}
.msg{border-radius:12px;padding:10px 14px;font-size:13.5px;line-height:1.45}
.msg.erro{background:#FBE9E7;color:var(--erro)}
.msg.ok{background:#E6F4EC;color:var(--ok)}
.msg.info{background:var(--ambar-c);color:var(--aviso);border:1px solid var(--ambar-b)}
.aviso-versao{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--ambar-c);border:1px solid var(--ambar-b);color:var(--aviso);padding:6px 16px;font-size:13px}
.aviso-versao .btn{width:auto;min-height:36px}

.area-planos{display:flex;flex-direction:column;gap:16px}
.linha{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;background:none;border:0;border-top:1px solid #EDE7DA;padding:12px 0;text-align:left;cursor:pointer;min-height:56px}
.linha:first-of-type{border-top:0}
.linha-t,.linha-v{display:flex;flex-direction:column;gap:3px;min-width:0}
.linha-v{align-items:flex-end}
.linha small{font-size:12px;color:var(--grafite)}
.st{font-weight:700;font-size:11.5px}
.st-vencida{color:var(--erro)}.st-vence_hoje{color:var(--ambar-t)}.st-paga{color:var(--ok)}.st-a_vencer{color:var(--grafite)}.st-cancelada,.st-renegociada{color:var(--grafite)}
.erro-t{color:var(--erro)}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{min-height:44px;padding:0 14px;border-radius:999px;border:1.5px solid var(--borda);background:#fff;font-weight:600;font-size:13px;cursor:pointer}
.chip.on{background:var(--tinta);color:var(--papel);border-color:var(--tinta)}
select.in,textarea.in{width:100%;border:1.5px solid var(--borda);border-radius:14px;background:#fff;padding:0 14px;outline:0}
select.in{height:52px}
textarea.in{padding:12px 14px;line-height:1.45;resize:vertical}
input.data{height:44px;width:auto;min-width:150px}
.linha-prev{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #EDE7DA;padding:8px 0}
.check{display:flex;align-items:center;gap:8px;font-size:14px;min-height:44px}
.check input{width:20px;height:20px}
.h2{font-size:19px}
.riscado{text-decoration:line-through;opacity:.6}
.rm-forma{padding-left:10px}
input[type=search].in{-webkit-appearance:none}
.linha-prev b.mono,.linha-v .mono{white-space:nowrap}
.qr-caixa{display:flex;justify-content:center;padding:12px 0}
canvas.qr{max-width:100%;height:auto;image-rendering:pixelated;background:#fff;border-radius:8px;border:1px solid #EDE7DA}
.pix-codigo{font-size:11px;line-height:1.35;resize:none;word-break:break-all}
.oculto{position:fixed;left:-9999px;top:0}
.card-int{display:flex;flex-direction:column;gap:10px}
#cb-texto{min-height:150px;font-size:14px;line-height:1.45}
.faixa b{font-size:15px}
.faixa-bk{border:1.5px solid var(--ambar)}
.med-aviso{position:fixed;left:12px;right:12px;bottom:12px;z-index:50;max-width:520px;margin:0 auto;background:#fff;border:1.5px solid var(--borda);border-radius:20px;padding:16px;box-shadow:0 8px 28px rgba(19,35,63,.18);display:flex;flex-direction:column;gap:10px}
.med-aviso p{margin:0}
.med-link{font-size:13px;color:var(--ambar-t);text-decoration:underline;min-height:44px;display:inline-flex;align-items:center}
.med-bt{display:flex;gap:10px}.med-bt .btn{flex:1}
