:root{--g:#2f7d32;--gd:#1f4d22;--bg:#f1f5f0;--bd:#dbe5da;--tx:#1b2a1c;--mut:#667a67}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--tx);font-size:16px}
header.top{position:sticky;top:0;z-index:5;background:var(--gd);color:#fff;display:flex;justify-content:space-between;align-items:center;padding:calc(12px + env(safe-area-inset-top)) 16px 12px}
header.top span{font-size:.85rem;opacity:.9}header.top a{color:#fff}
main{padding:14px 14px calc(90px + env(safe-area-inset-bottom));max-width:640px;margin:0 auto}
.tabs{position:fixed;bottom:0;left:0;right:0;display:flex;background:#fff;border-top:1px solid var(--bd);padding-bottom:env(safe-area-inset-bottom);z-index:6}
.tabs a{flex:1;text-align:center;padding:8px 2px;font-size:.75rem;color:var(--mut);text-decoration:none}
.tabs a i{display:block;font-style:normal;font-size:1.35rem}.tabs a.on{color:var(--g);font-weight:700}
.card{background:#fff;border:1px solid var(--bd);border-radius:14px;padding:16px;margin:10px 0}
h3{margin:18px 0 8px;font-size:1rem}.big{font-size:1.15rem;font-weight:700;margin:0 0 4px}
label{display:block;font-weight:600;font-size:.85rem;margin:10px 0}
input,select,textarea{display:block;width:100%;margin-top:4px;padding:12px;border:1px solid #c5d3c4;border-radius:10px;font:inherit;font-weight:400;background:#fff}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.btn{display:block;width:100%;background:var(--g);color:#fff;border:0;border-radius:12px;padding:14px;font-size:1rem;font-weight:700;margin-top:12px;cursor:pointer}
.btn.sec{background:#e3ece2;color:var(--gd)}.btn.danger{background:#b3261e}.btn:disabled{opacity:.6}
.lnk{display:block;margin-top:10px;color:#1565c0;font-weight:400;font-size:.9rem;text-align:center}
.oc{display:flex;gap:12px;background:#fff;border:1px solid var(--bd);border-radius:14px;overflow:hidden;margin:10px 0;cursor:pointer}
.oc img,.noimg{width:96px;height:96px;object-fit:cover;flex:none;background:#e3ece2;display:grid;place-items:center;font-size:2rem}
.ob{padding:10px 10px 10px 0;flex:1;min-width:0}.ob b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ob small,small{color:var(--mut)}.row{display:flex;justify-content:space-between;align-items:center;margin-top:6px;gap:8px}
.val{font-weight:800;color:var(--gd);font-size:1.1rem}
.b{padding:2px 9px;border-radius:99px;font-size:.72rem;font-weight:700;background:#eee;white-space:nowrap}
.b-aberta{background:#fff3cd;color:#7a5b00}.b-aceita{background:#dbeafe;color:#1e40af}.b-validacao{background:#fde0c8;color:#8a4300}.b-concluida{background:#d7f0d9;color:#1b6b22}.b-cancelada{background:#eee;color:#666}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.gal img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px}
.thumbs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.thumbs img{width:72px;height:72px;object-fit:cover;border-radius:8px}
.note{background:#e3f4e4;border:1px solid #b9dcbb;padding:10px 12px;border-radius:10px;margin:10px 0}.note.warn{background:#fff3cd;border-color:#ecd68a}.note.ok{background:#d7f0d9}
.empty,.hint{color:var(--mut);text-align:center;padding:14px;font-size:.9rem}.center{text-align:center}
.stack{margin-top:10px}.pick{background:#fff;border:1px solid var(--bd);border-radius:10px;padding:10px;margin:6px 0;cursor:pointer}.pick b,.pick small{display:block}
details{margin:12px 0}summary{cursor:pointer;font-weight:600;color:var(--gd)}
.wallet{background:linear-gradient(135deg,#2f7d32,#1f4d22);color:#fff;border-radius:16px;padding:22px;margin:6px 0}
.wallet small{color:#cfe5cf}.wallet b{display:block;font-size:2rem;margin-top:4px}
.tx{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #e3ece2}.tx small{display:block}.pos{color:#1b6b22}.neg{color:#b3261e}
.auth{max-width:380px;margin:0 auto;padding:40px 18px}.auth h1{text-align:center;font-size:1.4rem}.logo{text-align:center;font-size:3rem;margin-top:10px}
#toast{position:fixed;left:50%;bottom:90px;transform:translate(-50%,20px);background:#222;color:#fff;padding:12px 18px;border-radius:12px;opacity:0;pointer-events:none;transition:.25s;max-width:90vw;z-index:20;text-align:center}
#toast.show{opacity:1;transform:translate(-50%,0)}#toast.err{background:#b3261e}
.warnlink{display:inline-block;margin-top:4px;color:#b45309;font-weight:700}
.doc{width:100%;height:55vh;border:1px solid var(--bd);border-radius:10px;background:#fff}
