*{box-sizing:border-box}
:root{
  --green:#08783f;--green2:#0c9b50;--lime:#8bdc16;--yellow:#f4c400;
  --ink:#173126;--muted:#6b7b73;--bg:#f4f8f5;--card:#fff;--line:#dfe9e3;
}
body{margin:0;background:#dfe8e2;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
#app{width:100%;max-width:520px;min-height:100vh;margin:auto;background:var(--bg);box-shadow:0 0 30px #0002;position:relative;padding-bottom:74px}
.topbar{height:68px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:8px 14px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.icon-btn{border:0;background:transparent;font-size:23px;padding:8px}
.brand-mini{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--green)}
.brand-mini img{width:42px;height:42px;object-fit:contain}
.screen{padding:16px}
.hero{border-radius:20px;overflow:hidden;background:linear-gradient(135deg,#075e35,#159b4e);color:#fff;padding:22px 18px;position:relative}
.hero:after{content:"";position:absolute;right:-40px;top:-50px;width:180px;height:180px;border-radius:50%;background:#d5ff3c33}
.hero h1{margin:0 0 6px;font-size:27px}.hero p{margin:0;opacity:.92}
.logo-hero{width:82px;height:82px;object-fit:contain;float:right;margin:-10px -5px 0 10px;background:#0000}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px}
.stat{min-height:100px}.stat b{display:block;font-size:25px;color:var(--green)}.stat span{color:var(--muted);font-size:13px}
.section-title{display:flex;justify-content:space-between;align-items:center;margin:20px 2px 10px}.section-title h2{font-size:18px;margin:0}
.link{color:var(--green);font-weight:700;font-size:13px}
.actions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.action{border:0;border-radius:15px;padding:15px;color:#fff;font-weight:800;text-align:left;min-height:88px}
.action.green{background:var(--green)}.action.blue{background:#079bd2}.action.yellow{background:#efaa00}.action.purple{background:#7042b7}
.crop-list{display:grid;gap:10px}
.crop{display:flex;align-items:center;gap:12px}.crop-icon{font-size:30px}.crop h3{margin:0;font-size:16px}.crop p{margin:3px 0 0;color:var(--muted);font-size:13px}
.form-card{background:#fff;border-radius:18px;padding:18px;border:1px solid var(--line)}
h1.page-title{font-size:23px;margin:4px 0 16px}
label{display:block;font-weight:750;font-size:13px;margin:13px 0 7px}
input,select,textarea{width:100%;border:1px solid #cddbd3;border-radius:12px;padding:13px;background:#fff;color:var(--ink);outline:none}
textarea{min-height:90px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #08783f18}
.primary{width:100%;border:0;border-radius:13px;background:var(--green);color:#fff;font-weight:850;padding:15px;margin-top:18px}
.secondary{width:100%;border:1px solid var(--green);border-radius:13px;background:#fff;color:var(--green);font-weight:800;padding:13px;margin-top:10px}
.back{border:0;background:none;color:var(--green);font-weight:800;padding:0 0 10px}
.progress{display:flex;gap:5px;margin:4px 0 18px}.progress span{height:5px;flex:1;border-radius:5px;background:#d9e5de}.progress span.on{background:var(--green)}
.empty{padding:28px;text-align:center;color:var(--muted)}
.bottom-nav{position:fixed;bottom:0;width:min(100%,520px);height:70px;background:#fff;border-top:1px solid var(--line);display:flex;justify-content:space-around;z-index:10}
.bottom-nav button{border:0;background:none;color:#63726b;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:21px}.bottom-nav small{font-size:10px}.bottom-nav button.active{color:var(--green);font-weight:800}
.notice{background:#fff5cf;border:1px solid #f0d36b;border-radius:14px;padding:12px;font-size:13px;margin-top:12px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.summary{background:#eff9f0;border:1px solid #cde8d1;border-radius:14px;padding:14px;margin-top:14px}
@media(max-width:380px){.actions{grid-template-columns:1fr}.brand-mini span{font-size:13px}}

/* Gestão de culturas por machamba */
.farm-card{cursor:pointer}
.farm-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.farm-card-head h1,.farm-card-head h3{margin:0 0 4px}
.chevron{font-size:34px;line-height:1;color:#0b7d4b}
.farm-crop-count{margin-top:12px;padding-top:10px;border-top:1px solid #e7eee9;color:#0b7d4b;font-weight:700}
.farm-detail-header{margin-bottom:16px}
.eyebrow{font-size:12px;font-weight:800;letter-spacing:.08em;color:#0b7d4b;margin-bottom:4px}
.farm-big-icon{font-size:42px}
.farm-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.farm-info-grid>div{background:#f3f8f5;border-radius:12px;padding:11px}
.farm-info-grid span{display:block;font-size:12px;color:#68756f;margin-bottom:4px}
.farm-info-grid b{font-size:14px;color:#17352a}

.topbar{padding-top:calc(8px + env(safe-area-inset-top,0px));height:auto;min-height:68px}.bottom-nav{padding-bottom:env(safe-area-inset-bottom,0px)}
.badge{position:absolute;top:2px;right:0;background:#d62828;color:#fff;border-radius:9px;font-size:10px;min-width:16px;height:16px;line-height:16px;font-weight:700}.badge:empty{display:none}
.row-actions{display:flex;gap:8px;margin-top:8px}.small{flex:none;padding:6px 12px;border-radius:8px;border:1px solid var(--line);background:#fff;font-weight:600}.danger{color:#b3261e;border-color:#f0c7c4}
.late{color:#b3261e;font-weight:700}.soon{color:#a86b00;font-weight:700}

/* Nuvem */
.nv-estado{font-size:12px;padding:5px 14px;background:#eff9f0;color:#0b6b3a;border-bottom:1px solid var(--line)}.nv-estado:empty{display:none}
.nv-estado.off{background:#fff5cf;color:#7a5600}.nv-estado.wait{background:#eef6fb;color:#0b5f86}
.fora .bottom-nav,.fora #menuBtn,.fora #bellBtn{visibility:hidden}
.leitor .ed,.leitor .row-actions,.leitor .actions{display:none!important}
.por{display:block;color:var(--muted);font-size:11px;margin-top:4px}
.ajuda{color:var(--muted);font-size:12px;display:block;margin-top:10px}
button:disabled{opacity:.6}
