:root{--bg:#eef5e8;--panel:#fffcf5;--ink:#1a2e14;--muted:#5a6e52;--line:#c9dbc0;--green:#1f6b2a;--green-2:#2f8a3a;--green-deep:#143814;--soil:#6b4f2a;--sun:#e8b923;--accent:#e8b923;--danger:#b42318;--shadow:0 12px 28px #1438141a;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--font-ui:"Nunito", "Segoe UI", system-ui, sans-serif;--font-brand:"Fraunces", Georgia, "Times New Roman", serif;font-family:var(--font-ui);color:var(--ink);background:var(--bg);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;line-height:1.45}*{box-sizing:border-box}html,body{max-width:100%;overflow-x:hidden}body{background:radial-gradient(ellipse 80% 50% at 10% -10%, #c8e6c9 0%, transparent 55%), radial-gradient(ellipse 70% 45% at 100% 0%, #fff3c4 0%, transparent 50%), radial-gradient(ellipse 60% 40% at 50% 100%, #d7ccc8 0%, transparent 45%), linear-gradient(180deg, #f4faf0 0%, var(--bg) 40%, #e7f0df 100%);background-attachment:fixed;min-width:320px;min-height:100dvh;margin:0}a{color:var(--green);text-decoration:none}img,svg,video{max-width:100%;height:auto}button,input,select,textarea{font:inherit;max-width:100%;font-size:16px}button,.btn,.nav a,.chip,.tabs button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.topbar{padding:calc(.85rem + var(--safe-top)) calc(1.25rem + var(--safe-right)) .85rem calc(1.25rem + var(--safe-left));color:#eef7ee;z-index:10;border-bottom:3px solid var(--sun);background:linear-gradient(135deg,#0f2a10 0%,#1b4d14 45%,#244f1c 100%);justify-content:space-between;align-items:center;gap:1rem;display:flex;position:sticky;top:0;box-shadow:0 8px 24px #0f2a1059}.brand{align-items:center;gap:.75rem;min-width:0;display:flex}.brand>div{min-width:0}.brand.center{text-align:center;flex-direction:column}.brand p,.brand-tagline{color:#b7cbb8;margin:0;font-size:.85rem}.brand-name{font-family:var(--font-brand);letter-spacing:.02em;font-weight:700}.brand-logo{border-radius:.7rem;flex-shrink:0;width:2.35rem;height:2.35rem;box-shadow:0 4px 12px #00000040}.brand-logo.lg{border-radius:.9rem;width:3.6rem;height:3.6rem}.nav{flex-wrap:wrap;gap:.45rem;display:flex}.nav a{color:#d7e8d8;border-radius:.85rem;align-items:center;gap:.4rem;min-height:2.5rem;padding:.45rem .75rem;font-size:.92rem;font-weight:700;display:inline-flex}.nav a.active,.nav a:hover{color:#fff;background:#ffffff24}.nav-ico{flex-shrink:0;width:1.05rem;height:1.05rem}.userbox{flex-shrink:0;align-items:center;gap:.6rem;display:flex}.user-meta{flex-direction:column;align-items:flex-end;line-height:1.2;display:flex}.user-meta small{color:#a8c4aa;font-size:.75rem}.center-text{text-align:center}.alert.ok{color:#1b5e20;background:#e8f5e9;border:1px solid #a5d6a7;border-radius:.75rem;padding:.75rem 1rem}.main{width:min(1100px,100%);padding:1.25rem calc(1.25rem + var(--safe-right)) 1.25rem calc(1.25rem + var(--safe-left));flex:1;margin:0 auto}.footer{text-align:center;color:var(--muted);padding:1rem calc(1rem + var(--safe-right)) calc(1rem + var(--safe-bottom)) calc(1rem + var(--safe-left));flex-wrap:wrap;justify-content:center;align-items:center;gap:.45rem;font-size:.85rem;display:flex}.footer-leaf{background:linear-gradient(135deg,#8bc34a,#2e7d32);border-radius:60% 0;width:.85rem;height:.85rem;display:inline-block;transform:rotate(-25deg)}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.page-head h1{word-break:break-word;font-family:var(--font-brand);color:var(--green-deep);margin:0 0 .2rem;font-weight:700}.page-head p{color:var(--muted);margin:0}.actions{flex-wrap:wrap;gap:.5rem;display:flex}.btn{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:.85rem;justify-content:center;align-items:center;min-height:2.75rem;padding:.65rem .95rem;font-weight:700;display:inline-flex}.btn:hover{background:#f7fbf4;border-color:#8fbf88}.btn.primary{background:linear-gradient(160deg, var(--green-2), var(--green));border-color:var(--green);color:#fff;box-shadow:0 6px 14px #1f6b2a47}.btn.primary:hover{filter:brightness(1.05)}.btn.ghost{background:0 0}.topbar .btn.ghost{color:#e8f5e9;border-color:#ffffff40}.btn.block{width:100%}.btn.tiny{min-height:2.25rem;padding:.4rem .65rem;font-size:.85rem}.btn.danger{color:var(--danger);border-color:#ef9a9a}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.kpi{background:linear-gradient(180deg, #fffef8 0%, var(--panel) 100%);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:1.1rem;padding:.95rem;position:relative;overflow:hidden}.kpi:before{content:"";background:radial-gradient(circle,#e8b92359,#0000 70%);border-radius:50%;width:2.4rem;height:2.4rem;position:absolute;top:-.4rem;right:-.4rem}.kpi span{color:var(--muted);font-size:.85rem;font-weight:700;display:block}.kpi strong{word-break:break-word;font-size:1.6rem;font-family:var(--font-brand);color:var(--green-deep)}.split{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.85rem;display:grid}.panel{background:linear-gradient(180deg, #fffef9, var(--panel));border:1px solid var(--line);box-shadow:var(--shadow);border-radius:1.15rem;padding:1rem}.panel h2{font-size:1.08rem;font-family:var(--font-brand);color:var(--green-deep);margin:0 0 .75rem}.muted{color:var(--muted)}.bars{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.bars li{grid-template-columns:1fr 1.4fr auto;align-items:center;gap:.5rem;display:grid}.bar{background:#e4eedf;border-radius:999px;height:.55rem;overflow:hidden}.bar i{background:linear-gradient(90deg, var(--green), var(--sun));height:100%;display:block}.search,.form-panel input,.form-panel select,.form-panel textarea,.login-card input,.login-card select{border:1px solid var(--line);background:#fff;border-radius:.85rem;width:100%;min-height:2.75rem;padding:.7rem .75rem}.form-panel textarea,.login-card textarea{resize:vertical;min-height:5rem}.search{margin-bottom:.85rem}.table-wrap{-webkit-overflow-scrolling:touch;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:1.1rem;max-width:100%;overflow:auto}table{border-collapse:collapse;width:100%;min-width:520px}th,td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:.7rem .8rem}th{z-index:1;background:#e8f3e4;font-size:.85rem;position:sticky;top:0}.row-actions{flex-wrap:wrap;gap:.35rem;display:flex}.login-page{min-height:100dvh;padding:calc(1rem + var(--safe-top)) calc(1rem + var(--safe-right)) calc(1rem + var(--safe-bottom)) calc(1rem + var(--safe-left));place-items:center;display:grid}.login-page.agro-scene{background:linear-gradient(#0f2a1047 0%,#0f2a101f 35%,#eef5e8eb 70%),radial-gradient(90% 60% at 50% 100%,#6b4f2a 0%,#0000 55%),radial-gradient(50% 35% at 80% 15%,#f4c430 0%,#0000 50%),linear-gradient(#87a96b 0%,#4a7c3f 40%,#2e5a1c 100%)}.login-card,.login-card.agro-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffcf5f5;border:1px solid #c9dbc0e6;border-radius:1.35rem;gap:.85rem;width:min(440px,100%);padding:1.55rem;display:grid;box-shadow:0 18px 40px #0f2a1047}.login-card h1,.login-card .brand-name{font-family:var(--font-brand);color:var(--green-deep);margin:.4rem 0 0}.login-card label{gap:.35rem;font-size:.92rem;font-weight:700;display:grid}.hint{color:var(--muted);margin:0;font-size:.88rem}.tabs{flex-wrap:wrap;gap:.4rem;margin-bottom:.85rem;display:flex}.tabs button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;min-height:2.5rem;padding:.55rem .85rem;font-weight:700}.tabs button.active{background:var(--green);color:#fff;border-color:var(--green)}.form-panel{background:linear-gradient(180deg, #fffef9, var(--panel));border:1px solid var(--line);box-shadow:var(--shadow);border-radius:1.1rem;padding:1rem}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.grid-2 label,.form-panel label{gap:.35rem;font-size:.9rem;font-weight:700;display:grid}.grid-2 .full{grid-column:1/-1}.inline-actions{flex-wrap:wrap;gap:.5rem;display:flex}.inline-actions input{flex:1;min-width:140px}.check-row{border:1px solid var(--line);border-radius:.8rem;flex-wrap:wrap;gap:.75rem;padding:.75rem;display:flex}.check-row legend{padding:0 .3rem}.inline{align-items:center;gap:.35rem;font-weight:500!important;display:inline-flex!important}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.alert{background:#fff3e0;border:1px solid #ffcc80;border-radius:.8rem;margin-bottom:.85rem;padding:.8rem 1rem}.alert.error{color:var(--danger);background:#fdecea;border-color:#ef9a9a}.alert ul{margin:0;padding-left:1.1rem}.repeat-section{margin-bottom:1rem}.repeat-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.6rem;display:flex}.repeat-head h2{margin:0;font-size:1rem}.repeat-card{border:1px solid var(--line);border-radius:.85rem;margin-bottom:.65rem;padding:.85rem;position:relative}.repeat-card>.btn.tiny{position:absolute;top:.6rem;right:.6rem}.stack-form{gap:.85rem;display:grid}.stack-form>label{gap:.35rem;font-size:.9rem;font-weight:700;display:grid}.preguntas-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.preguntas-head h2{font-size:1.05rem;font-family:var(--font-brand);margin:0}.preguntas-list{gap:.75rem;display:grid}.pregunta-card{border:1px solid var(--line);background:#f7fbf4;border-radius:.95rem;gap:.65rem;padding:.85rem;display:grid}.pregunta-top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.check-inline{align-self:end;align-items:center;gap:.45rem;font-weight:500!important;display:inline-flex!important}.chip-fieldset{border:1px solid var(--line);background:#fbfdf8;border-radius:.95rem;padding:.75rem}.chip-fieldset legend{padding:0 .35rem;font-weight:700}.chips{flex-wrap:wrap;gap:.45rem;display:flex}.chip{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:.35rem;min-height:2.4rem;padding:.45rem .75rem;font-size:.88rem;font-weight:600;display:inline-flex}.chip input{margin:0}.chip.on{color:var(--green);background:#e8f5e9;border-color:#81c784}.gps-box{border:1px solid var(--line);background:#f3f9ef;border-radius:.9rem;gap:.35rem;padding:.75rem .85rem;display:grid}.gps-box strong{color:var(--green-deep)}.pill.log-audit{background:#e8f5e9}.pill.log-info{background:#e3f2fd}.pill.log-warn{background:#fff8e1}.pill.log-error{color:var(--danger);background:#fdecea}.pill{border:1px solid var(--line);background:#eef5ee;border-radius:999px;padding:.15rem .55rem;font-size:.8rem;font-weight:700;display:inline-block}.pill.estado-borrador{background:#fff8e1}.pill.estado-publicada{color:var(--green);background:#e8f5e9}.pill.estado-cerrada{background:#eceff1}.tiny{font-size:.82rem}.lead{color:var(--muted);margin:0 0 1rem}.bar.tall{height:.9rem;margin:.5rem 0}.reach-progress{margin-bottom:.85rem}.pregunta-analisis{gap:.85rem;display:grid}.pregunta-stat{border:1px solid var(--line);background:#f7fbf4;border-radius:.9rem;padding:.75rem}.pregunta-stat header{flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin-bottom:.45rem;display:flex}.pregunta-field{gap:.45rem;display:grid}.pregunta-label{font-size:.92rem;font-weight:700}.pregunta-flags{flex-wrap:wrap;gap:.85rem;display:flex}.opciones-editor{gap:.45rem;display:grid}.opcion-row{align-items:center;gap:.45rem;display:flex}.opcion-row input{border:1px solid var(--line);border-radius:.7rem;flex:1;min-width:0;padding:.55rem .75rem}.opcion-letra{min-width:1.4rem;color:var(--muted);font-weight:700}.opciones-cerradas{flex-wrap:wrap;gap:.45rem;display:flex}.otro-detalle{gap:.3rem;width:100%;margin-top:.35rem;font-size:.88rem;font-weight:700;display:grid}.otro-detalle input{border:1px solid var(--line);border-radius:.7rem;padding:.55rem .75rem}.table-wrap.flat{box-shadow:none;background:0 0;border:0;border-radius:0}.share-box{border:1px solid var(--line);background:#f3f9ef;border-radius:.95rem;gap:.55rem;margin-bottom:.85rem;padding:.85rem;display:grid}.share-box.on{background:#eef8ee;border-color:#81c784}.share-box.off{opacity:.92}.consulta-resultado{margin-top:.25rem}.consulta-resultado h2{margin:0 0 .65rem;font-size:1rem}.consulta-lista{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.consulta-lista li{border:1px solid var(--line);background:#f7fbf4;border-radius:.75rem;justify-content:space-between;align-items:baseline;gap:.75rem;padding:.55rem .7rem;display:flex}.consulta-lista li span{color:var(--muted);white-space:nowrap;font-weight:700}.share-box strong{margin-bottom:.15rem;display:block}.share-row{flex-wrap:wrap;gap:.5rem;display:flex}.share-row input{border:1px solid var(--line);background:#fff;border-radius:.7rem;flex:1;min-width:160px;padding:.55rem .75rem}.share-row input.disabled-link{color:var(--muted);background:#f3f3f3}.public-page{min-height:100dvh;padding:calc(1.25rem + var(--safe-top)) calc(1.25rem + var(--safe-right)) calc(1.25rem + var(--safe-bottom)) calc(1.25rem + var(--safe-left));background:radial-gradient(ellipse 80% 50% at 10% -10%, #c8e6c9 0%, transparent 55%), radial-gradient(ellipse 70% 45% at 100% 0%, #fff3c4 0%, transparent 50%), linear-gradient(180deg, #f4faf0, var(--bg));place-items:start center;display:grid}.public-card{width:min(640px,100%);margin:.5rem auto 1.5rem}.center-hint{text-align:center}.env-banner{color:#1b2a1c;text-align:center;letter-spacing:.02em;background:linear-gradient(90deg,#f4c430,#e8b923);padding:.45rem .75rem;font-size:.82rem;font-weight:800}.env-banner.fixed-top{z-index:20;width:100%;position:sticky;top:0}@media (width<=900px){.topbar{flex-direction:column;align-items:stretch;gap:.75rem}.brand p,.brand-tagline{display:none}.nav{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;width:100%;padding-bottom:.15rem;overflow-x:auto}.nav a{flex-shrink:0}.userbox{justify-content:space-between;width:100%}.user-meta{align-items:flex-start}}@media (width<=720px){.main{padding:1rem}.page-head{flex-direction:column}.actions{width:100%}.actions .btn{flex:auto}.grid-2,.bars li{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi strong{font-size:1.35rem}.split{grid-template-columns:1fr}.login-card{border-radius:1rem;padding:1.15rem}.share-row .btn{width:100%}table{min-width:480px}}@media (width<=420px){.kpi-grid{grid-template-columns:1fr}.brand-name{font-size:1rem}}
